UML对个人而言,只在程序设计阶段用过类图,其他类型的只是简单的在书本上看过,了解了一下概念和图形的样式,没有实际应用过。现将之前学习过程中记录的笔记通过电子表格形式汇总。
组成(常用视图)
序号 | 名称 | 描述 | 备注 | 动静 |
1 | 类图 | 把现实事物抽象出来,用图来表示 | 类名、属性、事件 | 静 |
7 | 用例图 | 从用户的观点对系统行为的一个描述 | 需求分析阶段 | 动 |
9 | 状态图 | 描述一个实体基于事件反应的动态行为 | 状态机事件和条件操作 | 动 |
10 | 时序图 | 类角色、生命线、激活期、消息 |
| 动 |
13 | 协作图 | 强调发送和接收消息的对象之间的组织结构 |
| 动 |
8 | 活动图 | 显示工作步骤,判定点和分支 | 比状态图多,带泳道 | 动 |
4 | 构件图 | 描述各种软件构件之间的依赖关系 | 物理方面,构件接口关系 | 静 |
5 | 部署图 | 描述了一个运行时的硬件结点以及在这些结点上运行的软件组件的静态视图 | 物理方面,系统硬件的物理拓扑结构 | 静 |
2 | 对象图 | 一组对象及它们之间的关系 | 对象是类的实例 | 静 |
3 | 复合结构图 | 结构化类的内部结构,包括结构化类与系统共享部分的交互点 |
| 静 |
6 | 包图 | 由模型本身分解而成的组织单元以及它们之间的依赖关系 |
| 静 |
11 | 通信图 | 收发消息的对象或参与者的结构组织 |
| 动 |
12 | 定时图 | 消息跨越不同对象或参与者的实际时间 |
| 动 |
14 | 制品图 | 描述计算机中一个系统的物理结构 |
| 动 |
| 交互概览图 | 活动图与顺序图的混合物 |
|
|
类与类之间的关系
泛化=实线>组合>聚合>关联>依赖
名称 | 描述 | 符号 | 备注 |
泛化(generalization) | 继承 | 空三角+实线 | 指向父类 |
实现(realization) | 类与接口 | 空三角+虚线 | 指向接口 |
关联(association) | 对象实例间存在固定对应关系 | 箭头+实线 | 指向被拥有者,一个类知道另一个类的属性和方法 |
依赖(dependency) | 一个对象负责构造另一个对象的实例 | 箭头+虚线 | 使用---->被使用者 |
聚合(aggregation) | 整体与部分 | 空菱形+实线箭头 | 菱形整体,部分箭头 |
组合(composition) | 整体和部分不可独立存在 | 实菱形+实线箭头 | 菱形整体,部分箭头 |