一、质量属性

1. 性能 performance

    性能是指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段事件内系统所能处理的事件的个数.

2. 可靠性 reliability

    可靠性是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。分为两个方面:

    容错:

    健壮性:

3. 可用性 availability

    可用性是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。

4. 安全性 security

    安全性是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到的安全威胁的类型来分类的。分为:机密性、完整性、不可否认性、可控性。

5. 可修改性 modifiability

    能够快速以较高的性价比对系统进行变更的能力。

    (1)可维护性 maintainability 问题修复

    (2)可扩展性 extendibility 新特性来扩展软件系统

    (3)结构重组 reassemble 重新组织软件系统构件以及构件的关系

    (4)可移植性 portability   适用于多种硬件平台、用户界面、操作系统、编程语言或编译器

6.  功能性 functionality

    系统完成所期望工作的能力

7.  可变性 changeability

    经过扩充或者变更成为新体系结构的能力

8.  集成性 integrability

    与其他系统协作的程度

9.  互操作性 interoperation

    为外部可视的功能特性和数据结构提供精心设计的软件入口。

二、基本概念

1.敏感点

   一个或多个构件(和/或构件之间的关系)的特性。研究敏感点可使设计人员或分析员明确在搞清楚如何实现质量目标时应注意什么。

2.权衡点

   影响多个质量属性的特性,是多个质量属性的敏感点。例如,改变加密级别可能会对安全性和性能产生非常重要的影响。提高加密级别可以提高安全性,但可能要耗费更多的处理时间,影响系统性能。如果某个机密消息的处理有严格的时间延迟要求,则加密级别可能就会成为一个权衡点。

3.风险承担者

    系统的体系结构涉及到很多人的利益,这些人都对体系结构施加各种影响,以保证自己的目标能够实现。

    系统的生产者、系统的消费者、系统服务人员、接触系统或者与系统交互的人

4.场景

    在进行体系结构评估时,一般首先要精确地得出具体的质量目标,并以之作为判定该体系结构优劣的标准。我们把为得出这些目标而采用的机制叫做场景。场景是从风险承担者的角度对与系统的交互的简短描述。在体系结构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。

       刺激:风险承担者怎样引发与系统的交互部分

       环境:刺激发生时的情况

       响应:系统如何通过体系结构对刺激做出反应

三、软件体系结构评估的主要方式

1.三类主要的评估方式

       基于调查问卷或检查表的方式

       基于场景的方式 ATAM SAAM

       基于度量的方式

2.ATAM评估方法

目标:理解体系结构关于软件系统的质量属性决策的结果

步骤:

        描述ATAM方法

        描述商业动机

        描述体系结构

        确定体系结构方法

        生成质量属性效用树

        分析体系结构方法

        讨论和分级场景

        分析体系结构方法

        描述评估结果

质量属性效用树(掌握概念)

3.SAAM评估步骤(课本P272)

       形成场景

       描述体系机构

       对场景进行分类和确定优先级

       对间接场景进行单个评估

       评估场景的相互作用

       形成总体评估