系统架构设计师—系统架构设计篇—架构设计与生命周期
文章目录
- 需求分析阶段
- 设计阶段
- 软件架构模型描述(Software Architecture,SA)
- SA的基本概念
- 体系结构描述语言(Architecture Description Language,ADL)
- 软件架构模型的多视图表示
- 实现阶段
- 构件组装阶段
- 体系结构失配问题类型
- 部署阶段
- 后开发阶段
需求分析阶段
从软件需求模型向软件架构模型的转换主要关注两个问题:
- 如何根据需求模型构建软件架构模型
- 如何保证模型转换的可追踪性
设计阶段
- 软件架构模型的描述
- 软件架构模型的设计与分析方法
- 对软件架构设计经验的总结与复用
软件架构模型描述(Software Architecture,SA)
SA的基本概念
传统的设计概念只包括构件(组件、模块),以及一些基本的模块互联机制。
对着研究的深入,构件间的互联机制逐渐独立出来,成为与构件同等级别的实体,称为连接子(连接件)。
体系结构描述语言(Architecture Description Language,ADL)
支持构件、连接子及其配置的描述语言,就是如今所说的体系结构描述语言。
软件架构模型的多视图表示
从不同的视角描述特定系统的体系结构,从而得到多个视图,并将这些视图组织起来以描述整体的软件架构模型。
典型的包括4+1视图。
名称 | 基本内容 | 图类型 |
---|---|---|
逻辑视图(Logical View) | 设计的对象模型(使用面向对象的设计方法时)。 | 系统架构图 |
过程视图(Process View) | 捕捉设计的并发和同步特征。 | 时序图 |
物理视图(Physical View) | 描述了软件到硬件的映射,反映了分布式特性。 | 部署图 |
开发视图(Development View) | 描述了再开发环境中软件的静态组织结构。 | 类图 |
场景视图(Scenarios View) | 围绕上述4个视图来组织,然后由一些用例(Use Case)或者场景(Scenarios)来说明,从而形成了第五个视图。 | 用例图 |
实现阶段
- 研究基于软件架构的开发过程支持,如项目组织结构、配置管理等。
- 寻求从软件架构向实现过渡的途径,如将程序设计语言元素引入软件架构阶段、模型映射、构件组装、复用中间件平台等。
- 研究基于软件架构的测试技术。
构件组装阶段
- 如何支持可复用构件的互联,即对SA设计模型中规约的连接子的实现提供支持。
- 组装过程中,如何检测并消除体系结构失配问题。
体系结构失配问题类型
- 由构件引起的失配,包括由于系统对构件基础设施、构件控制模型和构件数据模型的假设存在冲突引起的失配。
- 由连接子引起的失配,包括由于系统对构件交互协议、连接子数据模型的假设存在冲突引起的失配。
- 由于系统成分对全局体系结构的假设存在冲突引起的失配等。
- 架构设计中对业务的理解,同实际情况存在偏差。
要解决失配问题,首先要检测出失配问题,并在此基础上通过适当的手段消除检测出的失配问题。
部署阶段
部署阶段的软件架构对软件部署作用如下:
- 提供高层的体系结构视图描述部署阶段的软硬件模型(部署图)。
- 基于软件架构模型可以分析部署方案的质量属性,从而选择合理的部署方案。
后开发阶段
后开发阶段是指软甲部署安装之后的阶段。
这一阶段的软件架构研究主要围绕维护、演化、复用等方面来进行。
典型的研究方向包括动态软件体系结构、体系结构恢复与重建等。