美文网首页
UML与面向对象的前世今生

UML与面向对象的前世今生

作者: Macwen | 来源:发表于2020-02-21 22:18 被阅读0次

     前面讲了面向对象的概念,相信大家对面向对象有了一定的认识,这里我们再来唠一唠UML的前世今生

【为什么要发明UML,UML用来解决什么问题】

从20世纪70年代,随着面向对象编程思想的兴起,大家越来越发现原来以结构化的面向过程的分析设计方法没办法推导和指导面向对象编程,面向过程的分析设计还是第一步做什么,第二步做什么,但是面向对象却是以看起来没有太大关系的对象为中心,面向过程的连续性和过程化结构设计与事件驱动型的离散对象结构编程脱钩,为了解决面向对象编程的分析与设计问题,一批面向对象的设计方法(OOD)开始出现,比如Booch86,GOOD(通用面向对象开发),HOOD(层次化面向对象设计),OOSE(面向对象结构设计),这些方法虽然各不同,但是理念却非常相似,为了方便使用和推广,三位面向对象大师(Booch, Jacobson, Rumbaugh)决定将各自的方法进行统一,在1995年10月推出“Unified Method”,后来提交到对象管理组织(OMG),正式命名为“UML”,即Unified Modeling Languange,UML就由此诞生了

【UML分析设计如何指导面向对象编程】

1. 可视化

UML用各类元模型(图标)将各类信息需求进行转换,使得各种文字可见或者不可见的内容更便捷的展示和传递,使信息接受者更容易接收理解,比如参与者(执行者)、用例图、时序图、状态图、类图等等等等,下面是简单的例子

2. 从现实世界到业务模型

UML通过人、事、物来抽象现实世界,人是一切的中心,人有需求,就会去做事情满足需求,做事就会使用一些物,并产生一些物,同时遵循相应的社会规则,人驱动系统,做事体现过程,物记录结果,规则是控制。通过定义人、事、物之间的规则,现实世界就可以建模起来了。UML通过执行者/参与者(Actor,也就是上面那个小人)来代表现实世界的“人”。再通过用例来表示执行者想做什么,有什么需求,这个就是现实世界中的“事”(也就是上面图中的椭圆),再通过用例场景和业务场景来描述做事的规则。最后,通过业务对象模型视图(可以理解为一个图)来说明在做事的过程中涉及到的物,并定义他们之间的关系,这样,人、事、物、规则就被模型化了

3. 从业务模型到概念模型

通过上面的业务模型,现实世界被模拟记录下来了,但是还是指导不了编程的工作,需要将业务模型转化成一种可以指导开发的表达方式,这个时候UML通过概念模型来建立适合计算机理解和实现的模型(也行分析模型),UML通过以下几个元模型来进行概念模型建模:

PS:所谓的概念模型可以认为是建立计算机编程的概念

4. 从概念模型到设计模型

   概念模型基本上描绘了面向对象编程所需要的对象组成了,在设计模型中,边界类可以转化成操作界面或者接口了,控制类可以转化成计算机逻辑代码,实体类可以理解为实体对象,数据表之类的

最后,用下面一张图解释UML分析设计是如何推导指导面向对象编程的

相关文章

  • UML与面向对象的前世今生

    前面讲了面向对象的概念,相信大家对面向对象有了一定的认识,这里我们再来唠一唠UML的前世今生 【为什么要发明U...

  • UML概述

    1.1 为什么需要UML 1.2 UML是个啥 1.3 UML前世今生 1.4 UML特点 1.5 UML都有什么...

  • 来学一下UML

    来学一下UML 一、UML简介 UML是面向对象分析与设计时的行业标准,全称为Unified Modeling ...

  • 从Kylin入门到大数据老司机

    一、UML基础 为什么要使用UML 对象是面向对象世界的核心。面向对象软件分析和设计,最基本的需求是高效的识别对象...

  • 软件设计

    知识点分数说明比例面向对象12面向对象基本概念、面向对象分析与设计、UML、设计模式16.00%软件工程基础知识1...

  • UML图系列——用例图

    UML图系列文章目录 UML图系列——UML概要 UML图系列——建模和面向对象 UML图系列——UML模型图的构...

  • 一篇看懂UML

    UML概述 1 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统...

  • iOS 工厂模式的面向协议编程思想

    UML概述 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统一的...

  • UML入门

    UML概述 UML简介 UML (Unified Modeling Language)为面向对象软件设计提供统一的...

  • 《Thinking in UML》笔记

    ?最后更新:20180815 UML —— 统一建模语言 面向对象编程 面向对象( Object Oriented...

网友评论

      本文标题:UML与面向对象的前世今生

      本文链接:https://www.haomeiwen.com/subject/efzhqhtx.html