软考高级系统架构设计师:软件架构设计
一、软件架构的概念
1.软件架构的定义
软件体系结构是指系统的一个或多个结构,这些结构包括软件的构件(可能是程序模块、类、中间件)、构件的外部可见属性及其之间的相互关系。
- 体系结构的设计包括数据设计和体系结构设计
- 体系结构设计主要关注软件构件的结构、属性和交互作用
2.软件架构设计与生命周期
- 需求阶段:有利于各阶段参与者的交流,也易于维护各阶段的可追踪性
- 设计阶段:关注的最早和最多的阶段
- 实现阶段:有效实现从软件架构设计向实现的转换
- 构件组装阶段:可复用构件组装的设计能够提高系统实现的效率
- 部署阶段:组织和展示部署阶段的软硬件架构、评估分析部署方案
- 后开发阶段:维护、演化、复用
3.体系结构描述语言
体系结构描述语言(ADL)用于描述软件体系架构的语言,与其他建模语言最大的区别在于其更关注构件间互联机制。
4.多视图
- 多视图反映的是一组系统的不同方面,体现了关注点分散的思想,通常与ADL结合起来描述系统的体系结构。