质量属性
- 性能
- 可靠性
- 可用性
- 安全性
- 可修改性
生命周期
- 开发期质量属性
- 运行期质量属性
开发期
- 易理解性
- 可扩展性
- 可重用性
- 可测试性
- 可维护性
- 可移植性
运行期
- 性能
- 安全性
- 可伸缩性
- 互操作性
- 可靠性
- 可用性
- 鲁棒性
软件架构评估方法
概念
- 风险点:架构设计中潜在的、存在问题的架构决策所带来的隐患
- 非风险点:不会带来的隐患,如xxx 要求可以接受
- 敏感点:一个或多个构件的特性,它能影响系统的某个质量属性
- 权衡点:影响多个质量属性的特性,是多个质量属性的敏感点
架构分析方法(SAAM)
flowchart TD A[问题描述] --需求分析--> B[需求说明] B --架构设计--> C[架构描述] B --> D[SAAM] A --> D C -->D
架构权衡分析法
主要针对性能、实用性、安全性和可修改性,在系统开发前对这些质量属性进行评估和折中
第一阶段:场景和需求收集
- 收集场景
- 收集需求/约束/环境
第二阶段:架构视图和场景实现
- 描述架构视图
- 实现场景
第三阶段:属性模型构造和分析
- 特定属性分析(优秀的单一理论)
第四阶段:折中
- 标志折中
- 标志敏感度
质量效用树
结构
- 树根
- 质量属性
- 质量分类
- 质量属性场景 先对场景重要性定优先级 再按场景实现的难易度定优先级