学习笔记:4+1视图的UML描述

4+1视图是对逻辑架构进行描述,最早由Philippe Kruchten提出,现在已经成为架构设计的结构标准。

该模型五个主要的视图:

  • 逻辑视图(Logical View),设计的对象模型(使用面向对象的设计方法时)。
  • 进程视图(Process View),捕捉设计的并发和同步特征。
  • 物理视图(Physical View),描述了软件到硬件的映射,反映了分布式特性。
  • 开发视图(Development View),描述了在开发环境中软件的静态组织结构。
  • 架构的描述,即所做的各种决定,可以围绕着这四个视图来组织,然后由一些用例(use cases)或场景(scenarios)来说明,从而形成了第五个视图。

每一个视图只关心系统的一个侧面,五个视图结合在一起才能反映系统的软件体系架构的全部内容。
学习笔记:4+1视图的UML描述_第1张图片
4+1视图模型实际上使得有不同需求的人员能够得到他们对于软件体系结构想要了解的东西。

  • 系统工程师先从物理视图,然后从过程视图靠近体系结构;
  • 最终使用者、客户、数据专家从逻辑视图看体系结构;
  • 项目经理、软件配置人员从开发视图看体系结构。

4+1视图的UML描述:

  • 逻辑视图:用例图、交互图、时序图

逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图。

  • 开发视图:组件图、包图

开发视图也称模块视图,主要侧重于软件模块的组织和管理。开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。开发视图通过系统输入输出关系的模型图和子系统图来描述。

  • 进程视图:活动图

进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。进程视图可以描述成多层抽象,每个级别分别关注不同的方面。在最高层抽象中,进程结构可以看作是构成一个执行单元的一组任务。它可看成一系列独立的,通过逻辑网络相互通信的程序。它们是分布的,通过总线或局域网、广域网等硬件资源连接起来。

  • 物理视图:部署图

物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。当软件运行于不同的节点上时,各视图中的构件都直接或间接地对应于系统的不同节点上。因此,从软件到节点的映射要有较高的灵活性,当环境改变时,对系统其他视图的影响最小。

  • 场景视图:用例图、活动图

场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。在开发体系架构时,它可以帮助设计者找到体系架构的构件和它们之间的作用关系。同时,也可以用场景来分析一个特定的视图,或描述不同视图构件间是如何相互作用的。

你可能感兴趣的:(软件工程)