8.1软件系统质量属性
8.1软件系统质量属性
8.1.1质量属性概念
8.1.2面向架构评估的质量属性
评估架构,所关心的质量属性:
1.性能:响应能力,性能测试经常要使用集中测试程序
2.可靠性:软件系统在系统错误、意外或错误使用的情况下维持软件系统的功能特性的基本能力。它是最重要的软件特性。
平均失效等等时间Mean Tme To Failure MTTF:从运行直到失效的时间间隔。
平均失效间隔时间(平均故障时间)Mean Time Between Failure MTBF:两次失效间隔时间(含修复时间)。
平均维修时间Mean Time To Repair MTTR:发生故障后修复失效并正常运行的时间间隔。
可修复系统中,修复时间不可忽略的:
MTBF = MTTR + MTTF。
可靠性分2方面:
1).容错:目的是发生错误时确保系统的正确行为,并进行内部修复。
2).健壮性:保护应用程序不受错误使用和错误输入的影响,发生意外错误的时候,确保系统处于预先设定的状态。健壮性不是说错误发生时可继续运行,而是保证软件按照某种定义好的方式终止执行。
3.可用性:系统正常运行的时间比例。常用两次故障间隔时间MTBF和出现故障恢复正常的速度来表示。
4.安全性:向合法用户提供服务的同时阻止非授权用户的企图或拒绝服务的能力。
安全性根据根据安全威胁类型划分:机密性、完整性、不可否认性及可控性等。
- 机密性:信息不泄露给未授权用户、实体、进程。
- 完整性:信息的完整和准确,防止被非法修改。
- 不可否认性:不能否认自己发送和接收的信息的行为。
- 可控性:对信息的传播及内容具有控制的能力,防止非法者所用。
5.可修改性:能够快速地较高性价比对系统进行变更的能力。
一般以具体的变更为基准,可修改性4个方面:
- 可维护性(Maintainability):主要在问题修复上,发生错误后,修复软件系统对其他构件的负面影响尽量小。
- 可扩展性(Extendibility):使用新特性扩展系统以及改进版本替换构件或删除构件,集成新构件
- 结构重组(Rassemble):重新组织软件系统的构件及构件间关系。如将构件移动到另一个子系统,改变了位置,原系统减少了构件,调用它的以及它调用的做成改变,系统解雇发生了变化,同样的增加了构件的系统也发生了变化。原则是不影响主体实现的情况下可灵活配置构件,
- 可移植性(Portability):移植多种平台、环境的能力
6.功能性:完成期望的工作的能力。
7.可变性:架构经扩充或变更成为新架构的能力。这种类型的架构应该符合预先定义的规则,在某些具体方面不同于原有的架构。当这种类型的架构作为一系列相关产品(如软件产品线)的基础时,可变性很重要。
8.互操作性:与其他系统互操作的能力
8.1.3质量属性场景描述
它是一种手段,为了描述质量属性的。
它是一个具体的质量属性需求,是利益相关者与系统的交互的简短陈述。
六部分组成:
- 1.刺激源(Source):生成的实体(人、计算机或其他)
- 2.刺激(Stimulus):刺激到达系统时需要考虑的条件
- 3.