UML核心视图包括两类。
静态视图:用例图、类图、包图
动态视图:活动图、状态图、时序图、协作图
4.1 静态视图
表达静态事务,描述事物的静态结构,而不是描述其动态行为。
4.1.1 用例图
用例图采用参与者和用例作为基本元素,以不同的视角展现系统的功能性需求。
4.1.1.1 业务用例视图
业务用例视图使用业务主角和业务用例展现业务建模的结果。
从业务主角和业务模块两个视角进行展示。
业务主视角
业务模块视角
其他视角
4.1.1.2 业务用例实现视图
展现业务用例有哪些实现途径。
4.1.1.3 概念用例视图
展现从业务用例中经过分析分解出来的关键概念用例,并表示概念用例和业务用例之间的关系。
一般这些关系有:扩展、包含和精化。
4.1.1.4 系统用例视图
展现系统范围,将业务用例进行分析后得到的系统用例展现出来。
4.1.1.5 系统用例实现视图
系统用例多种实现方式。
4.1.2 类图
展示系统中的类及其相互之间的关系。
面向对象对方法中对类理解的三个层次:概念层、说明层和实现层。
4.1.2.1 概念层类图
着重于对问题领域的概念化理解,而不是实现。
位于业务建模阶段。
4.1.2.2 说明层类图
考察的是类的接口而不是实现。表达的是接口层面的抽象描述。
类图是以分析类和分析模型图来表示的。
4.1.2.3 实现层类图
类是实现代码的描述,类图中的类直接映射到可执行代码。
位于设计阶段。类图可视为伪代码。
4.1.3 包图
包图一般用来展示高层次的观点。
通过包这种容器来从大到小,从粗到细地建立关系。
4.2 动态视图
描述事物动态行为的。
4.2.1 活动图
两个层面的活动图。
描述用例场景
描述对象交互
争议:
面向对象的眼中是没有业务流程这种东西的,活动图描述的是业务流程,是一种过程化的分析方法。
4.2.1.1 用例活动图
用来描述用例场景,也就是通常所说的业务流程。
关键元素:
起始点
活动
判断
同步
结束点
基本流
支流
异常流
组合活动
4.2.1.2 对象活动图
用于展示对象的交互。
4.2.1.3 泳道
执行业务流程的职责。
4.2.1.4 业务场景建模
从业务流程角度
帮助发现业务用例
帮助检查业务用例粒度
帮助检查业务主角
帮助检查业务用例
4.2.15 用例场景建模
通过用例场景来说明如何达到业务目标
帮助发现概念用例
帮助发现角色
帮助发现业务实体
帮助建立领域模型
4.2.2 状态图
状态图显示一个状态机。
用于对魔性元素的动态行为进行建模。对系统中受事件驱动的方面进行建模。
状态图通常只用于描述单个对象的行为,如果要描述对象之间的交互,最好采用时序图或协作图。
状态图的关键元素:
初始状态
状态
复合状态
转移
事件
条件
最终状态
4.2.3 时序图
用于描述按时间顺序排列的对象之间的交互模式。
官方定义:
时序图描述了在参与交互的对象中所发生的事件,以及这些对象如何通过相互发送消息通信。
也可以在三个层次(概念层、说明层和实现层)上分别对业务实体对象、分析类对象和设计类对象绘制时序图。
4.2.3.1 业务模型时序图
用于为领域模型中的业务实体交互建模,其目标是实现业务用例。
常用的UML元素:
对象
生命周期线
消息
会话
销毁
4.2.3.2 概念模型时序图
采用分析类来绘制,目标同样是实现业务用例。
由于分析类本身代表了系统原型,所以这个阶段的时序图已经带有计算机的理解。
4.2.3.3 设计模型时序图
使用设计类作为对象绘制。目标是实现概念模型中的某个事件。
4.2.4 协作图
协作图描述了对象间交互的一种模式;它通过对象之间的连接和它们相互发送的消息来显示参与交互的对象。
通常也使用协作图来描述用例实现。
4.2.4.1 业务模型协作图
协作图更在意的是对象的结构及其相互的影响。
主要的UML元素:
对象
对象关联
消息
消息序号
4.2.4.2 概念模型协作图
用分析类来绘制,目标是实现业务用例。
4.2.4.3 设计模型协作图
使用设计类来绘制,目标是实现概念模型中的某个事件流。