一、评估人员关注的系统质量属性
1.性能
系统的响应能力
经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数
2.可靠性
软件系统在应用或系统错误面前,在意外或错误使用的情况下维持功能特性的基本能力(容错,健壮性)
3.可用性
系统能够正常运行的时间比例
4.安全性
系统在向合法用户提供服务的同时能够组织非授权用户使用的企图或拒绝服务的能力
5.可修改性
能够快速的用高性价比对系统进行变更的能力。
6.可维护性
在错误发生后“修复”软件系统
7.功能性
系统所能完成所期望的工作的能力
8.可变性
体系结构经扩充或变更而成为新体系结构的能力
9.互操作性
经常与其他系统或自身环境互相作用
10.可测试性
软件发现故障并隔离,定位其故障的能力特性
二、架构策略对应实现属性
1.性能——增加计算资源,减少计算开销,引入并发机制,采用资源调度(队列调度)
2.可靠性——主动冗余
3.可用性——心跳,Ping/Echo,主动冗余,被动冗余,选举
4.安全性——侵入检测,用户认证,用户授权,追踪审计,限制访问
5.可修改性——软件模块泛化,限制模块之间通信,使用中介和延迟绑定,运行时注册,接口实现分离,信息隐蔽
6.可维护性——局部性修改
7.功能性——构件协作
8.可变性——预先定义规则,作为相关产品基础
9.互操作性——交互作用
10.可测试性——记录回放
三、体系结构决策
敏感点:一个或多个构件的特性
权衡点:影响多个质量属性的特性,是多个质量属性的敏感点
风险点:某个问题影响到系统的某种质量属性
非风险点:在一个范围内可接受的影响某个质量属性
四、评估方法:SAAM,ATAM
(一)SAAM Scenarios-based Architecture Analysis Method
特定目标:描述应用程序属性的文档,验证基本的体系结构假设和原则
评估技术:场景技术
质量属性:可修改性主要分析
方法活动:输入问题是问题描述,需求声明,体系结构描述
过程:场景开发,单个场景评估,场景交互,总体评估
(二)ATAM Architecture Tradeoff Analysis Method
特定目标:多个互相影响的属性下,从原则上提供一种理解软件体系结构的能力的方法。
质量属性:可修改性,安全性,性能,可用性
,,,,
总结:
体系结构评估可以针对一个体系结构或一组。评估人员需要重点关注以上属性,才能做出适当的评估。学会上面的,5,6分没问题。