架构设计与生命周期#
需求分析#
需求阶段软件架构研究还处于起步阶段。在本质上,需求和软件架构设计面临的是不同的对象;#
问题空间和解问题空间 .保持二者的可追踪性和转换。是软件工程领域追求的目标。#
从软件需求模型到架构模型需要关注两个问题:#
-
如果根据需求模型构建软件架构模型#
-
如果保证模型转换的可追踪#
设计阶段#
设计阶段是架构研究关注的最早和最多的阶段,这一阶段的主要研究包括:软件架构模型的描述、软件架构模型的设计与分析方法,以及对软件架构设计经验的总结与复用等。#
架构模型描述的研究分为三个层次:#
-
SA的基本概念,即SA模型由哪些元素组成,这些组成元素之间按照何种原则组织。#
-
体系结构描述语言(ADL),支持构件、连接子及其配置的描述语言#
-
软件架构模型的多视图表示,从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的软件架构模型。系统中的每一个不同侧面的视图反映了一组系统相关人员所关注的系统的特定方面【4+1视图】,多视图体现了关注点分离的思想。#
实现阶段#
架构实现三个方面:#
-
研究基于软件架构的开发过程支持#
-
寻求从软件架构向实现过渡的途径#
-
研究基于软件架构的测试技术#
构件组装阶段#
-
如何支持可复用构件的互联,即对SA设计模型中规约的连接子的实现提供支持#
-
组装过程中,如何检测并消除架构失配问题,失配问题如下:#
-
由构件引起的失配#
-
连接子引起的失配#
-
由于系统成分对全局架构的假设存在冲突引起的失配#
部署阶段#
软件架构对软件部署作用如下:#
-
提供高层架构视图来描述部署阶段的软件硬件模型【部署视图】#
-
基于软件架构模型分析部署方案的质量属性,从而选择合适的部署方案#
后开发阶段#
后开发阶段是指软件部署安装之后的阶段。这一阶段的架构研究主要围绕维护、演化、复用等方面来进行。#