软件质量因素
影响软件的各种因素被称为软件因素。它们可以大致分为两类。第一类因素是可以直接测量的因素,例如逻辑错误的数量;第二类因素是只能间接测量的因素。例如,可维护性,但每个因素都需要进行测量以检查内容和质量控制。
多年来,人们提出了许多软件质量因素及其分类的模型。麦卡尔提出的软件质量因素经典模型包括 11 个因素(McCall 等人,1977)。类似地,德意志和威利斯(1988)以及埃文斯和马西尼亚克(1987)提出了包含 12 到 15 个因素的模型。
所有这些模型与麦卡尔模型并没有实质性的差异。麦卡尔因素模型为软件需求的分类提供了一种实用且最新的方法(Pressman,2000)。
麦卡尔因素模型
该模型将所有软件需求分类为 11 个软件质量因素。这 11 个因素分为三类:产品操作、产品修订和产品转换因素。
产品操作因素 - 正确性、可靠性、效率、完整性、可用性。
产品修订因素 - 可维护性、灵活性、可测试性。
产品转换因素 - 可移植性、可重用性、互操作性。
产品操作软件质量因素
根据麦卡尔模型,产品操作类别包括五个软件质量因素,这些因素处理直接影响软件日常操作的需求。它们如下:
正确性
这些需求处理软件系统输出的正确性。它们包括:
输出任务
所需输出的准确性,可能会受到不准确数据或不准确计算的负面影响。
输出信息的完整性,可能会受到不完整数据的影响。
信息的最新程度,定义为事件与软件系统响应之间的时间。
信息的可用性。
软件系统编码和文档的标准。
可靠性
可靠性需求处理服务故障。它们确定软件系统的最大允许故障率,并且可以指整个系统或其一个或多个独立功能。
效率
它处理执行软件系统不同功能所需的硬件资源。它包括处理能力(以 MHz 为单位)、存储容量(以 MB 或 GB 为单位)和数据通信能力(以 MBPS 或 GBPS 为单位)。
它还处理系统便携式单元(例如,位于便携式计算机中的信息系统单元或放置在室外的气象单元)的充电间隔时间。
完整性
此因素处理软件系统安全性,即防止未经授权的人员访问,以及区分应授予读写权限的人员群体。
可用性
可用性需求处理培训新员工和操作软件系统所需的人员资源。
产品修订质量因素
根据麦卡尔模型,产品修订类别包括三个软件质量因素。这些因素如下:
可维护性
此因素考虑用户和维护人员识别软件故障原因、纠正故障以及验证更正成功所需的工作量。
灵活性
此因素处理支持软件的自适应维护活动所需的功能和工作量。这些包括使当前软件适应其他情况和客户而无需更改软件。此因素的需求还支持完善性维护活动,例如更改和添加软件以改善其服务并使其适应公司技术或商业环境的变化。
可测试性
可测试性需求处理软件系统的测试及其操作。它包括预定义的中间结果、日志文件,以及软件系统在启动之前执行的自动诊断,以找出系统的所有组件是否正常工作并获取有关检测到的故障的报告。这些需求的另一种类型涉及维护技术人员应用的自动诊断检查,以检测软件故障的原因。
产品转换软件质量因素
根据麦卡尔模型,产品转换类别包括三个软件质量因素,这些因素处理软件对其他环境的适应及其与其他软件系统的交互。这些因素如下:
可移植性
可移植性需求倾向于使软件系统适应其他环境,包括不同的硬件、不同的操作系统等。软件应该能够在不同的情况下继续使用相同的基本软件。
可重用性
此因素处理在当前正在开发的新软件项目中使用最初为一个项目设计的软件模块。它们还可以使未来的项目能够利用当前开发的软件的给定模块或一组模块。预期软件的重用将节省开发资源、缩短开发周期并提供更高质量的模块。
互操作性
互操作性需求侧重于与其他软件系统或其他设备固件创建接口。例如,生产机械和测试设备的固件与生产控制软件接口。