十七、统一建模语言 UML
统一建模语言(Unified Modeling Language,UML)是一种通用的建模语言,具有创建系统的静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合于多种多变结构系统的建模。
统一建模语言的特点:
- 统一标准
- 面向对象
- 可视化、表达能力强
- 独立于过程
- 易掌握、易用
一、UML 组成元素
1、事物
1)结构事物
- 类(Class)
- 接口(Interface)
- 协作(Collaboration)
- 用例(User)
- 主动类(Active Class)
- 构件(Component)
- 制品(Arifact)
- 节点(Node)
2)行为事物
- 交互(Interaction)
- 状态机(State Machine)
- 活动(Activity)
3)分组事物:最主要的分组事物就是包
4)注释事物:UML 模型的解释部分
2、关系
1)依赖:实心箭头的虚线
2)关联和聚集:描述一组链,链是对象之间的连接
3)泛化:空心箭头的实线
4)实现:空心箭头的虚线
两种场景会用到实现
- 接口和实现他们之间的类或者构件
- 用例和实现用例的协作
3、图
序号 | 图 | 生命周期阶段 | 涉及角色 |
1 | 用例图 | 需求分析阶段 | 客户、分析者、设计者、开发者、测试者 |
2 | 类图 | 概要设计阶段 | 分析者、设计者、开发者 |
3 | 对象图 | 详细设计阶段 | 分析者、设计者、开发者 |
4 | 包图 | 概要设计阶段 | 分析者、设计者、开发者 |
5 | 构件图 | 概要设计阶段 详细设计阶段 | 分析者、设计者、开发者 |
6 | 配置图 | 概要设计阶段 详细设计阶段 | 分析者、设计者、开发者 |
7 | 活动图 | 详细设计阶段 编码实现阶段 | 设计者、开发者 |
8 | 顺序图 | 详细设计阶段 编码实现阶段 | 设计者、开发者 |
9 | 状态图 | 详细设计阶段 编码实现阶段 | 设计者、开发者 |
10 | 合作图 | 详细设计阶段 编码实现阶段 | 设计者、开发者 |
二、模型图
1、用例图(Use Case Diagram)
用例模型(Use Case Model)描述的是外部执行者所理解的系统功能。主要用于需求分析阶段,是系统开发者和用户反复讨论,对需求规格说明书达成共识。
用例图的组成元素:1)方框符号代表系统;2)椭圆符号代表用例;3)人形符号代表执行者。他们之间的关系用连接线表示,其关系由连接线上的文字标明。
2、类图(Class Diagram)
用类和它们之间的关系描述系统一种图示,展示了系统中类的静态结构和类与类之间的相互联系,表示一个系统的逻辑结构。
类的图符中的属性只注明类型而不能有具体值。
类的图符分为长式和短式:长式由类名、属性和操作组成;短式只有类名。
3、对象图(Object Diagram)
对象是类的实例,及时地反映了系统执行到某处时系统的工作状况。
对象的图符中,也分为长式和短式,对象名加了下划线,对象名后面可以接冒号和类名,用来说明创建该对象的类。
4、包图(Package DIagram)
包是一种组合结构,包由关系密切的一组模型元素组成,还可以由其他包嵌套构成。
包将许多累集合成一个更高层次的单位,形成一个高内聚、低耦合的类集合,降低系统的复杂性。
构件的组成元素:
公有访问(+)
私有访问(-)
保护访问(#)
包之间的关系:泛化和依赖
5、构件图
构件图又称为组件图,显示代码本身的逻辑结构,描述系统中存在的软件结构以及他们之间的依赖关系。