软件质量属性
1 性能(Performance)
指系统的响应能力,既要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。
(经常用单位时间内所能处理的事务的数量或系统完成某个事务处理所需要的时间来定量表示。性能测试经常要使用基准测试程序。)
2 可靠性(Reliability)
指软件系统在应用或错误面前,在意外或错误面前使用的情况下维持软件系统功能特性的基本能力。
(是重要的软件特性之一,通常用它衡量在规定的条件和时间内,软件完成规定功能的能力。通常是MTBF-平均失效间隔时间和MTTF-
、平均失效等待时间来衡量。)
3 可用性(Availability)
指系统能够正常运行的时间比例。
(经常用两次故障之间时间的长度或者出现故障时系统能够恢复正常的速度来表示。)
4 健壮性(Robustness)
是指在处理或环境中,能够承受的压力或变更的能力。
(健壮性并不是说再系统发生错误时能继续运行,而是指系统按照事先定义好的方式运行-事务处理速度)
5 安全性
指系统向合法用户提供服务的同时阻止非法用户的使用的企图或拒绝对其服务。
(根据系统可能受到的安全威胁可分为机密性、完整性、不可否认性和可控性等特性。)
6 可修改性
只能够快速地以较高的性能价格比对系统进行变更的能力。
(通常以某些具体的变更为基准,通过考察这些变更的代价来衡量。可修改性包含可维护性、可扩展性、结构重组和可移植性等方面。)
7 可变性
指体系结构经扩充或变更为新体系结构的能力。
(这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个体系结构作为一系列相关产品的基础
时,可变性尤为重要。)
8 易用性
衡量用户使用一个软件完成指定任务的难易程度。
(用户对软件的易使用性、质量、效率以及效果的感觉,是交互的适应性、功能性和有效性的集中体现。)
9 可测试性
指软件发生故障并隔离、定位其故障的能力特性,以及在一定的时间和成本前提下,进行测试设计和测试执行
能力。
(通常,可测试性很好的软件必然是一个强内聚、弱耦合、接口明确、意图明细的软件,而不具有可测试性的
软件往往是具有很强的耦合和混乱的逻辑。)
10 功能性
指系统所能完成期望工作的能力。
(一项任务的完成需要系统中的一个或多个模块协作来完成)
11 互操作性
指系统与外界或系统与系统之间的相互作用能力。
(这就是软件体系结构必须为外部可视的功能特性和数据结构提供精细的软件入口。程序和用其他编程语言编写的软件系统
的交互作用就属于互操作性问题。)