本节书摘来自华章计算机《软件建模与设计: UML、用例、模式和软件体系结构》一书中的第1章,第1.7节,作者:(美)Hassan Gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1.7 软件体系结构的多视图
软件体系结构可以从不同的角度进行考虑,称为不同的视图。Kruchten(Kruchten 1995)提出了软件体系结构的4+1视图模型,提倡软件体系结构的多视图建模方法,其中用例视图位于中心位置(4+1视图中的1)。这些视图包括:逻辑视图,一种静态建模视图;进程视图,一种并发进程或任务视图;开发视图,一种子系统和构件设计视图;物理视图,一种反映物理拓扑结构及连接关系的视图。Hofmeister et al.(2000)描述了工业界对于软件体系结构的一种观点,包括四个视图:一个概念视图,描述主要的设计元素及其间的关系;一个代码视图,将源代码组织为对象代码、函数库和目录;模块视图,由子系统和模块组成;执行视图,描述了并发和分布式执行方面。
在本书中,我们将描述UML中不同的软件体系结构建模视图。这些视图包括:
用例视图。该视图是一种功能性需求视图,是软件体系结构设计的输入。每个用例描述了一个或多个参与者(外部用户)与系统之间的交互序列。
静态视图。该视图用类以及类间关系描述体系结构,其中的关系包括关联、整体/部分(组合或聚合)、泛化/特化关系。表示为UML类图。
动态交互视图。该视图通过对象以及对象间的消息通信来描述体系结构。该视图也可以用来描述特定场景的执行序列。表示为UML通信图。
动态状态机视图。一个控制构件的内部控制和定序可以用状态机来描述。表示为UML状态图。
结构构件视图。该视图用构件来描述软件体系结构,构件间通过端口互联,支持供给接口和请求接口的描述。表示为UML结构化类图。
动态并发视图。该视图将软件体系结构描述为在分布式结点上执行并且通过消息进行通信的并发构件。表示为UML并发通信图。
部署视图。该视图描述分布式体系结构中构件如何分配到不同硬件结点上的特定配置。表示为UML部署图。