《软件体系结构》第二章 软件体系结构建模

 

  研究软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。可以将软件体系结构的模型分为5种:结构模型、框架模型、动态模型、过程模型、功能模型

一、4+1视图模型

1.定义

“4+1”视图模型从5个不同的视角包括逻辑视图、进程视图、物理视图、开发视图和场景视图来描述软件体系结构。

《软件体系结构》第二章 软件体系结构建模_第1张图片

2.逻辑视图 logic view

       逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。

       在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图(class diagram)来描述逻辑视图。

3.开发视图 development view 又称模块视图(module view)

        开发视图也称模块视图,主要侧重于软件模块的组织和管理

        开发视图要考虑软件内部的需求,如软件开发的容易性、软件的重用和软件的通用性,要充分考虑由于具体开发工具的不同而带来的局限性。

        开发视图通过系统输入输出关系的模型图和子系统图来描述。

   在开发视图中,最好采用4-6层子系统,而且每个子系统仅仅能与同层或更低层的子系统通讯

4.进程视图 process view

       进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。例如系统的性能和可用性。

       进程视图强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。它也定义逻辑视图中的各个类的操作具体是在哪一个线程中被执行的。

5.物理视图 physical view

        物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。解决系统拓扑结构、系统安装、通讯等问题。

6.场景视图 scenarios

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

        场景可以用文本表示,也可以用图形表示。

7.总结

        逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。

        对于不同的软件系统来说,侧重的角度也有所不同。例如,对于管理信息系统来说,比较侧重于从逻辑视图和开发视图来描述系统,而对于实时控制系统来说,则比较注重于从进程视图和物理视图来描述系统。

二、软件体系结构的核心模型

  体系结构的核心模型由5中元素组成:构件、连接件、配置(configuration)、端口(port)、角色(role)。其中构件、连接件、配置是最基本的元素

 

(1)构件:具有某种功能的可重用的软件模板单元,表示系统中主要的计算元素和数据存储。

(2)连接件:表示构件之间的交互,如:管道、过程调用、事件广播、客户-服务器通信协议、数据库和应用之间的SQL连接等。

(3)配置:表示构件和连接件的拓扑逻辑和约束。

(4)端口:构件的接口由一组端口组成,每个端口表示构件和外部环境的交互点。

(5)角色:连接件的接口由一组角色组成,每一个角色定义了该连接件表示的交互的参与者。

 

你可能感兴趣的:(本科课程)