1. UML简介
统一建模语言UML是一种可视化的标准建模语言,它是一种分析和设计语言,通过它可以构造出软件系统的蓝图。
1.1 UML结构
1. 试图(View)
- 用户试图
以用户观点表示系统的目标,它是所有试图的核心,该试图描述系统的需求
- 结构试图
系统的静态行为,描述系统的静态元素,如包、类与对象以及它们之间的关系
- 行为试图
系统的动态行为,描述系统的组成元素在运行时的交互关系
- 实现试图
系统逻辑元素的分布,描述物理文件以及它们之间的关系。
- 环境试图
表示系统中的物理元素的分布,描述系统中硬件设备以及它们之间的关系
2. 图
- 用例图
又称用况图、对应用户试图
- 类图
对应结构视图
- 对象图
对应结构试图
- 包图
对应结构试图
- 组织结构图
UML2.0新增图,对应结构图
- 状态图
行为视图
- 活动图
行为试图
- 顺序图
时序图或序列图,对应行为试图
- 通信图
UML1.x中称协作图,对应行为试图
- 定时图
UML2.0 新增图,行为试图
3. 模型元素
模型元素包含事物以及事物之间的联系。
4. 通用机制
扩展机制允许用户对UML进行扩展,以便一个特定的方法、过程、组织或者用户来使用。
1.2 UML特点
- 工程化
- 规范化
- 可视化
- 系统化
- 文档化
- 智能化
2. 类图
2.1 类与类图
类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。
UML类图三部分
- 类名
- 属性
- 类的操作
2.2 类之间的关系
1.关联关系
1.1 双向关联
默认情况下,关联是双向的。例如顾客购买商品并拥有商品,反之商品总与某个顾客相关联。
1.2 单向关联
类的关联是单向的,例如我购买了一栋别墅并拥有了别墅的产权,就不表示为别墅拥有我本身。
1.3 自关联
存在一些类的属性对象类型为本身,例如数据结构中的链表。
1.4 多重性关联
多重性表示为一个类对象与另一个类对象连接个数。
1.5 聚合关系
表示整体和部分的关系,成员可以脱离整体对象独立存在,通过构造器、方法注入整体中。
1.6 组合关系
也表示整体和部分之间的关系,但是组合关系中部分和整体有统一的生命周期。
2. 依赖关系
一种使用关系,特定事物的改变可能会影响到使用事物的该事物的其他事物。
使用关系依赖分类
- 局部变量依赖
- 静态函数依赖
- 返回值依赖
- 参数传递依赖
3. 泛化关系
继承关系
4. 接口实现关系
类与接口之间的实现关系用带空心三角形的虚线表示