· UML 初览
本章使用一个简单的例子对 UML 中所使用的概念和视图进行初览。本章的目的是要将高层 UML 概念组织成一系列较小的视图和图表来可视化说明这些概念,说明如何用各种不同的概念来描述一个系统以及如何将各种视图组织在一起。概括性的说明不可能面面俱到,其中省略了许多概念。要想得到更详细的说明,可参见下一章对 UML 各视图的说明和本书大全部分的有关细节。
本章使用的例子是计算机管理的戏院售票系统。这是一个精心设计的例子,目的是用少量篇幅来强调说明 UML 的各个组件。这是一个经过有意简化的例子,忽略了有关细节。除非进行大量的反复说明,否则一个实际系统的完整模型不可能用这么少的篇幅来对 UML 中使用的每种组件进行介绍。
· UML 视图
UML 中的各种组件和概念之间没有明显的划分界限,但为方便起见,我们用视图来划分这些概念和组件。视图只是表达系统某一方面特征的 UML 建模组件的子集。视图的划分带有一定的随意性,但我们希望这种看法仅仅是直觉上的。在每一类视图中使用一种或两种特定的图来可视化地表示视图中的各种概念。
在最上一层,视图被划分成三个视图域:结构分类、动态行为和模型管理。
结构分类描述了系统中的结构成员及其相互关系。类元包括类、用例、构件和节点。类元为研究系统动态行为奠定了基础。类元视图包括静态视图、用例视图和实现视图。
动态行为描述了系统随时间变化的行为。行为用从静态视图中抽取的瞬间值的变化来描述。动态行为视图包括状态机视图、活动视图和交互视图。
模型管理说明了模型的分层组织结构。包是模型的基本组织单元。特殊的包还包括模型和子系统。模型管理视图跨越了其他视图并根据系统开发和配置组织这些视图。
UML 还包括多种具有扩展能力的组件,这些扩展能力有限但很有用。这些组件包括约束、构造型和标记值,它们适用于所有的视图元素。
表 3–1 列出了 UML 的视图和视图所包括的图以及与每种图有关的主要概念。不能把这张表看成是一套死板的规则,应将其视为对 UML 常规使用方法的指导,因为 UML 允许使用混合视图。
表 3–1 UML 视图和图
主要的域 | 视图 | 图 | 主要概念 |
结构 |
静态视图 |
类图 |
类、关联、泛化、依赖关系、实现、接口 |
用例视图 |
用例图 |
用例、参与者、关联、扩展、包括、用例泛化 |
|
实现视图 |
构件图 |
构件、接口、依赖关系、实现 |
|
部署视图 |
部署图 |
节点、构件、依赖关系、位置 |
|
动态 |
状态机视图 |
状态机图 |
状态、事件、转换、动作、 |
活动视图 |
活动图 |
状态、活动、完成转换、分叉、结合 |
|
交互视图 |
顺序图 |
交互、对象、消息、激活 |
|
|
协作图 |
协作、交互、协作角色、消息 |
|
模型管理 |
模型管理视图 |
类图 |
报、子系统、模型 |
可扩展性 |
所有 |
所有 |
约束、构造型、标记值 |