McCall软件质量模型将软件需求按照3个维度对11个质量要素进行分类。
正确性需求定义在软件系统所需的输出清单中。
产品的输出是多维的,某种常见的维度包括:
可靠性同提供的服务失效有关。他们决定允许的最大软件系统,软件的一个/多个功能失效率。
1988年IEEE指出“软件可靠性”的定义包括两方面的含义:
效率同所需要的硬件资源有关,这些硬件资源和所需其他需求一致,他们是实现所有软件系统所必须的。
考虑的硬件资源主要是计算机的处理能力,储存器的数据服务能力,磁盘容量,通信通路的通信能力,还包括软件系统或固件使用的硬件资源的最大值等。
另一类效率需求同系统可移植部件的重装时间有关。
完整性需求同软件系统的保密性有关,即防止非授权人员访问等。
实用性同员工培训的操作软件系统所需的人力资源范围有关。
例如,由一个家庭用品公司启动的一个新服务系统的软件实用性需求文档列出了下列规格:
一位员工应当一天至少能处理60个服务电话:
训练-一个新雇员不超过两天,训练完毕后受训者立即能够每天处理45个服务电话。
●可维护性需求确定用户和维护人员识别软件失效的原因、失效的改正、验证改正成功与否等工作。该因素的需求要参考软件的模块结构、内部程序文档和程序员手册及其文档。
例:
●软件模块大小不超过30条语句;
●编码遵守公司的编码标准和指南。
灵活性需求覆盖了支持性维护,适应性维护所需的能力和工作。这些能力和工作包括使一个软件包括适用于统一行当的各种顾客,活动的各种程度,产品的不同范围等所需资源等方面。
灵活性还支持完善性维护活动。
可测试性需求同信息系统的测试以及它的运行有关。
可测试性需求同程序中那些帮助测试人员的专门特性关联;软件可测试性需求还包括在启动系统前由软件进行自动诊断,以发现是否软件系统的所有部件都符合工作要求,并得到以份关于检验故障的报告。
可测试性需求的另一类同由维护人员使用的自动诊断检查有关,他们用以监测软件失效的原因。
可移植性需求关注的是软件系统对由不同硬件、不同操作系统等组成的其他环境的适应。这些需求使得有可能在形形色色的情况下继续使用统一基本软件,或在形形色色硬件或操作系统下同时使用它。
可重用性需求同原先为一个项目设计的软件模块在当前正开发的新项目中的使用有关。他们还可以使未来的项目使用当前正在开发的软件中的一个模块或组模块。软件的可重用性是为了节省开发资源、缩短开发成本并提供更高质量的软件。
互操作性需求关心建立同其它软件系统或其他设备固件的接口。互操作性需求规定那些需要接口的软件或固件的名字。他们还能够规定已经被接受为特定行业或应用领域标准的输出结构。
例如,要求医学实验室的设备固件根据标准数据结构处理其结果(输出),然后可以做许多实验室信息系统的输入。
分3个层次(质量特性,质量子特性,度量指标),包括6大特性,共27个子特性。
指产品满足需求文档和相关标准的能力
软件产品为指定的任务和用户目标提供一组合适功能的能力。
(1.软件提供了用户所需要的功能:2.软件提供的功能是用户所需要的)。
软件提供给用户动能的精确度是否符合目标。
(如:运算结果的准确,数字发生偏差,多个0或少个0)
软件与其它系统进行交互的能力。
(如: PC机中WORD和打印机完成打印互通;接口调用)
软件保护信息和数据安全的能力。(权限\密码)
遵循相关标准(国际标准、国内标准、行业标准企业内部规范)
产品在规定的条件下,在规定的时间内完成规定功能的能力。
软件产品为避免软件内部的错误扩散而导至系统失效的能力( 主要是对内错误的隔离)。
软件防止外部接口错误护散而导致系统失效的能力(主要是对外错误的隔离)。
系统失效后,重新恢复原有的功能和性能的能力。
遵循相关标准。
在指定使用条件下,产品被理解、学习使用和吸引用户的能力
软件交互给用户的信息时,以要清晰,准确,且要易懂,使用户能够快速理解软件。
软件使用户能学习其应用的能力。
软件产品使用户能易于操作和控制它的能力。
遵循一定的标准。
在规定的条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。
软件处理特定的业务请求所需要的响位时间。
软件处理特定的业务请求所消耗的系统资源。
遵循一定的标准。
是指软件产品从一种环境迁移到另一种环境的能力。
软件产品无需作相应变动就能适应还同环境的能力。
尽可能少的提供选择,方便用户直接安装。
软件产品在公共环境中与其它软件分享公共资源共存的软件。
软件产品在同样的环境下,替代另一个相同用途的软件产品的能力。
遵循相关的标准。
软件产品可被修改的能力,修改可能包括修正改进或软件适应环境、需求和功能规格说明中的变化。
软件提供辅助手段帮助开发人员定位缺陷产生的原因,判断出修改的地方。
软件产品使得指定的修改容易实现的能力。(降低修复问题的成本)
软件产品避免由于软件修改而造成意外结果的能力。
软件提供辅助性手段帮助测试人员实现其测试意图。
遵循相关标准。
1.测试纸杯盛水时,是否有漏水的情况。根据ISO/IEC 9126,.上面的测试针对水杯的哪一个质量特性:
功能性
2.测试纸杯时,将液体倒出后,测试纸杯能否恢复。根据ISO/IEC 9126,上面的测试十对水杯的哪-个质量特性:
可靠性
3.测试纸装水后是否烫手,是否容易杯滑落。根据ISO/IEC 9126,.上面的测试针对水杯的哪一个质量特性:
可用性
4.测试纸杯装水一整天后,是否软化。根据ISO/IEC 9126,.上面的测试针对水杯的哪个质量特性:
效率