软件体系结构(架构)包含的三大要素

软件体系结构(architecture,也称“架构”)从高层抽象的角度刻画组成目标软件系统的设计元素(包括子系统、构件及类)以及它们之间的逻辑关联和协作关系。它是一个软件系统的基本组织,它体现在构件、构件间的相互关系以及构件与环境的关系中,还包括指导系统设计和进化的原则。软件体系结构并非是可执行的软件,它是一种设计表示,通过该表示使得软件体系结构师能够分析其所完成的设计是否满足软件需求,以减少软件构造过程中存在的风险。

软件体系结构包含三大要素,分别是组件(component)、连接件(connector)和约束(constraints)。组件一般是指类和对象;连接件表示组件之间的连接和交互关系;约束表示组件中的元素应满足的条件,以及组件经由连接件组装成更大模块时应满足的条件。图6-1是个人银行系统警报模块的体系结构简图。

图6-1中涉及组件、连接件和约束,图中将个人银行系统警报模块划分为用户界面、业务逻辑和物理设备接口三个层次。业务逻辑层是核心层,它负责存储所有业务数据并提供业务逻辑处理功能;用户界面层负责向用户呈现系统的操作界面,接收用户界面的输入并将其转换为内部事件传递给核心业务逻辑层;物理设备接口层应核心层的要求向传感器、报警器、报警电话等物理设备发送必要的控制指令,也负责接收来自传感器的监测数据。图中位于较高层次的软件元素可以向低层元素发出服务请求,低层元素完成计算后向高层元素发送服务应答,反之不行;每个软件元素根据其职责位于最恰当的一个层次当中,不可错置(如核心层不能包含界面呈现和界面输入接收职责,也不能直接与物理设备交互);每个层次都可替换,即一个层次可以被能实现同样对外服务接口的层次所替代。

体系结构是以软件需求的实现为目标的软件设计蓝图,软件需求是体系结构设计的基础和驱动因素。软件需求,尤其是非功能需求,对软件体系结构具有关键性的塑形作用。

图6-1 个人银行系统警报模块体系结构简图

体系结构除了和软件需求有上述关系外,与详细设计也有密不可分的关系,软件体系结构必须为详细设计提供可操作的指导和充分的约束。而详细设计是针对软件体系结构中某个未展开模块的局部设计,必须遵循体系结构中规定的原则、接口及约束。另外详细设计只能实现,但不能更改体系结构中规定的模块对外接口和外部行为。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/522.html
返回顶部