Characteristics of Software Quality 软件质量的特性
软件同时拥有外在和内在的质量特性。外在特性指的是该产品的用户所能够感受到的部分,包括下列内容。
正确性(Correctness):指系统规范、设计和实现方面的错误的稀少程度。
可用性(Usability):指用户学习和使用一个系统的容易程度。
效率(Efficiency):指软件是否尽可能少地占用系统资源,包括内存和执行时间。
可靠性(Reliability):指在指定的必需条件下,一个系统完成所需要功能的能力-应该有很长的平均无故障时间。
完整性(Integrity):指系统阻止对程序或者数据进行未经验证或者不正确访问的能力。这里的完整性指出了包括限制未经授权用户的访问外,还包括确保数据能够正常访问。
适应性(Adaptability):指为特定的应用或者环境设计的系统,在不做修改的情况下,能够在其他应用或者环境中使用的范围。
精确性(Accuracy):指对于一个已经开发出的系统,输出结果的误差程度,尤其在输出的是数量值的时候。精确性和正确性的不同在于,前者是用来判断系统完成工作的优劣程度,而后者则是判断系统是否被正确开发出来。
健壮性(Robustness):这指的是系统在接收无效输入或者处于压力环境时继续正常运行的能力。
质量的外在特性是用户关心的唯一软件特性。用户只会关心软件是否容易使用,而不会关心对于程序员来说修改起来是否容易。他们关心软件是否能正常运行,而不关心里面的代码是否可读,或者是否有良好的结构。而程序员除了关心外在特性之外,还要关心他的内在特性。内在特性如下。
可维护性(Maintainability):指是否能够很容易对系统进行修改,改变或者增加功能,提高性能,以及修改缺陷。
灵活性(Flexibility):指假如一个系统是为特定用途或者环境而设计,那么当该系统被用于其它目的或者环境的时候,需要对系统做修改的程度。
可移植性(Portability) :指为了在原来设计的特定环境之外运行,对系统所进行修改的难易程度。
可重用性(Reusability):指系统的某些部分可被应用到其它系统中的程度,以及此项工作的难易程度。
可读性(Readability):指阅读并理解系统代码的难易程度,尤其是在细节语句的层次上。
可测试性(Testability):指的是你可以进行何种程度的单元测试或者系统测试,以及在何种程度上验证系统是否符合需求。
可理解性(Understandability):指在系统组织和细节语句的层次上理解整个系统的难易程度。与可读性相比,可理解性对系统提出了更高的内在一致性要求。
本文转载自《代码大全》第20章