软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构建集成的模式以及这些模式的约束组成。
解决好软件的复用,质量和维护问题,是研究软件架构的根本目的。
1. 软件架构风格
Garlan和Shaw对通用软件架构风格进行了分类,他们将软件架构分为:
- 数据流风格:
- 调用/返回风格:
- 独立构件风格:
- 虚拟机风格:
- 仓库风格:
2.软件架构评估
三类主要的评估方式,分别是基于
- 调查问卷(或检查表)的方式。
- 基于场景的方式。
- 基于度量的方式。
基于场景的方式。最为常用,主要包括
- 架构权衡分析法(ATAM)
- 软件架构分析法(SAAM)
- 成本效益分析法(CBAM)
在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。