Chapter 9 软件体系结构评估
1. 质量属性:
●性能:系统的响应能力。
●可靠性:软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。通常用平均失效等待时间或平均失效间隔时间来衡量。
(1)容错:在错误发生时确保系统正确的行为,并进行内部“修复”。
(2)健壮性:保护应用程序不受错误使用和错误输入的影响,在遇到意外错误事件时确保应用系统处于已经定义好的状态。
●可用性:系统能正常运行时间的比例。
●安全性:系统在向合法用户提供服务的同时能够阻止非授权用使用的企图或拒绝服务的能力。
●可修改性:能快速地以较高的性能价格对系统进行变更的能力。
(1)可维护性:问题的修复
(2)可扩展性:使用新特性来扩展软件系统。
(3)结构重组:重新组织软件系统的构件及构件的关系。
(4)可移植性:使软件系统适用于多种硬件平台、用户界面、操作系统、编程语言……
●功能性:系统所能完成所期望的工作的能力。
●可变性:体系结构经扩充或变更而成为新体系结构的能力。
●集成性:系统能与其他系统协作的程度。
●互操作性:与其他系统或自身环境相互作用。
2. 几个概念:
●敏感点:一个或多个构件的特性。
●权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。
●风险承担者:系统体系结构的利益涉及者。
●场景:场景是从风险承担者的角度对与系统的交互的简短描述。
(1)刺激:场景中解释或描述风险承担者怎样引发与系统交互的部分。
(2)环境:刺激发生时的情况
(3)响应:系统如何通过体系结构对刺激做出反应。
3. 软件系统结构评估的主要方式:
(1)基于调查问卷/检查表的评估方式
(2)基于场景的评估方式:ATAM、SAAM、ARID
(3)基于度量的评述方式
4. ATAM评估方法:
●目标:理解体系结构关于软件系统的质量属性需求决策的结果。
●步骤:描述ATAM方法、描述商业动机、描述体系结构、确定体系结构方法、生成质量属性效用树、分析体系结构方法、讨论和分级场景、分析体系结构方法、描述评估结果。
●质量属性效用树
(1)输出结果是对具体质量属性需求优先级的·确定,可使质量属性需求具体化,使评估小组和客户能精确地定义自己的需求。
(2)“效用”是树的根结点,代表了系统的整体质量。质量属性构成了效用树的二级结点,典型的质量属性构成效用的子结点。(A,B):A是优先级,B是实现的难易程度。
5. SAAM评估方法:
●与ATAM相比,SAAM比较简单,易学易用,进行培训和准备的工作量都比较少。
●步骤:形成场景、描述体系结构、对场景进行分类和确定优先级、对间接场景进行单个评估、评估场景的相互作用、形成总体评估。