统一建模语言 (UML)
什么是模型
模型是一个系统的完整的抽象。人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴含在模型中。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。
为什么要建造模型
建造传统模型的目的
- 为了证明某件事物能否工作
- 前提:建造模型的成本远远低于建造实物的成本
- 造飞机
- 造高楼
建造软件模型的目的
- 为了与他人沟通
- 为了保存软件设计的最终成果
- 前提:除非模型比代码更说明问题
通用模型元素
模型元素是UML构造系统的各种元素,是UML构建模型的基本单位。
基元素
是由UML定义的模型元素,如:类、结点、构件、注释、关联、依赖和泛化(继承)等
关联关系分类:
泛化(继承) - 类与类,接口与接口的关系
实现 - 是一种类与接口的关系
组合 - 是整体与部分,是“has-a”关系,但部分不能离开整体而单独存在
- 公司和部门是整体和部分的关系,没有公司就不存在部门
- 也是一种关联关系,比聚合更强关联
聚合 - 是整体与部分,是“contains-a”关系,且部分可以离开整体而单独存在
- 车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在
- 也是一种关联关系,是强关联
关联 - 是一种拥有的关系,它使一个类知道另一个类的属性和方法,
- [代码表现] 成员变量
依赖 - 是一种使用的关系,即一个类的实现需要另一个类的协助,尽量不要双向依赖
- [代码表现] 局部变量、方法的参数或者对静态方法的调用
各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
构造型元素
在基元素的基础上增加了新的定义而构造的新的模型元素,允许用户自定义
构造型元素用括在双尖括号《 》中的字符串表示
目前UML提供了40多个预定义的构造型元素,如包含《include》、扩展《 Extend 》
什么是UML
是一种对软件系统(架构)进行==可视化建模==的语言,以图形的方式描述了软件的概念。
UML有什么作用
描述某个问题领域
描述构思中的软件设计
描述已经完成的软件实现
UML图的分类
静态图
通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。
用例图(Use Case Diagrams)
对象图(Object Diagrams)
类图(Class Diagrams)
组件图(Component Diagrams)
包图(Package Diagrams)
部署图(Deployment Diagrams)
动态图
通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程。
协作图(Collaboration Diagrams)
序列图(Sequence Diagrams)
活动图(Activity Diagrams)
状态图(State Diagrams)
版权声明: 本文为 InfoQ 作者【leo】的原创文章。
原文链接:【http://xie.infoq.cn/article/60ef51cfdf48b1b992e945688】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论 (1 条评论)