1
 软件工程
1.8.4.4 6.4.4 UML视图

6.4.4 UML视图

UML利用若干视图从不同角度来观察和描述一个软件系统的体系结构,从某个角度观察到的系统就构成系统的一个视图。视图由多个图构成,它不是一个图表,而是在某一个抽象层上对系统的抽象表示。如果要为系统建立一个完整的模型图,需要定义一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。

1.“4+1”视图

“4+1”视图如图6-8所示,其中,用例视图是核心。

img89

图6-8 “4+1”视图

1)用例视图

作用:描述系统的功能需求,即被外部参与者所能观察到的功能,找出用例和参与者。

适用对象:用户、分析人员、设计人员、开发人员、测试人员。

表现图形:用例图、活动图、交互图、状态图。

2)设计视图

作用:表示系统的概念设计和子系统结构等,描述了用例视图中提出的系统功能的实现。它关注系统内部系统的静态结构和系统内部的动态协作关系。

适用对象:分析人员、设计人员、开发人员。

表现图形:类图、对象图、活动图、交互图、状态图。

3)交互视图

作用:描述系统不同部分之间的控制流,包括可能的并发机制和同步机制,主要针对系统性能、可伸缩性和吞吐量。交互视图对应于《UML用户指南》(第1版)中的进程视图(Process View)。

适用对象:开发人员、系统集成人员。

表现图形:与设计视图相同,但是侧重于主动类和它们之间流动的消息。

4)实现视图

作用:描述系统代码构件组织和实现模块及它们之间的依赖关系,即装配和发布系统的物理构件和文件。

适用对象:开发人员、设计人员。

表现图形:构件图、交互图、状态图、活动图。

5)部署视图

作用:描述组成系统的物理部件的分布、交付和安装,包含形成系统物理拓扑结构的节点。

适用对象:开发人员、系统集成人员、测试人员等。

表现图形:部署图、交互图、状态图、活动图。

2.UML视图与图

“4+1”视图最早由Philippe Kruchten提出,并将其作为软件体系结构的表示方法,由于比较合理,因此被广泛接受。但需要说明的是,UML中的视图并不是只有这5个视图,如果认为这些视图不能完全满足需要,用户可以自定义视图。在《UML用户指南》(第2版)中,将UML图划分为四大领域九种视图,如表6-3所示。

表6-3 UML图的四大领域和九种视图

img90

3.UML图形分类

从使用角度可以将UML的13种图划分为结构模型(也称为结构图、静态模型)和行为模型(也称为行为图、动态模型)两大类,如图6-9所示。

img91

图6-9 UML图形分类

就使用频率和重要性而言,类图(Class Diagram)、用例图(Use Case Diagram)和顺序图(Sequence Diagram)是UML图形中最关键的图。