软件质量因素

影响软件的各种因素被称为软件因素。它们大致可分为两类。第一类因素是可以直接测量的因素,例如逻辑错误的数量,第二类因素是只能间接测量的因素。例如可维护性,但每个因素都需要测量以检查内容和质量控制。

多年来,人们提出了几种软件质量因素及其分类模型。McCall 提出的经典软件质量因素模型由 11 个因素组成(McCall 等人,1977 年)。同样,Deutsch 和 Willis(1988 年)以及 Evans 和 Marciniak(1987 年)提出了由 12 到 15 个因素组成的模型。

所有这些模型与 McCall 的模型没有太大区别。 McCall 因子模型提供了一种实用的、最新的软件需求分类方法 (Pressman, 2000)。

McCall 因子模型

该模型将所有软件需求分为 11 个软件质量因子。这 11 个因子分为三类 - 产品操作、产品修订和产品转换因子。

  • 产品操作因子 − 正确性、可靠性、效率、完整性、可用性。

  • 产品修订因子 − 可维护性、灵活性、可测试性。

  • 产品转换因子 −可移植性、可重用性、互操作性。

产品操作软件质量因素

根据 McCall 模型,产品操作类别包括五个软件质量因素,它们处理直接影响软件日常运行的需求。它们如下 −

正确性

这些要求处理软件系统输出的正确性。它们包括 −

  • 输出任务

  • 输出所需的准确性,不准确的数据或不准确的计算可能会对其产生负面影响。

  • 输出信息的完整性,不完整的数据可能会对其产生影响。

  • 信息的最新性,定义为事件与软件系统响应之间的时间。

  • 信息的可用性。

  • 软件系统的编码和文档标准。

可靠性

可靠性要求处理服务故障。它们决定了软件系统的最大允许故障率,可以指整个系统,也可以指其一个或多个独立功能。

效率

它涉及执行软件系统不同功能所需的硬件资源。它包括处理能力(以 MHz 为单位)、存储容量(以 MB 或 GB 为单位)和数据通信能力(以 MBPS 或 GBPS 为单位)。

它还涉及系统便携式单元(例如,位于便携式计算机中的信息系统单元或放置在室外的气象单元)的充电间隔时间。

完整性

该因素涉及软件系统的安全性,即防止未经授权的人员访问,也区分被授予读取和写入许可的人群。

可用性

可用性要求涉及培训新员工和操作软件系统所需的人力资源。

产品修订质量因素

根据 McCall 模型,产品修订类别中包含三个软件质量因素。这些因素如下 −

可维护性

该因素考虑用户和维护人员需要付出的努力,以确定软件故障的原因、纠正故障以及验证纠正是否成功。

灵活性

该因素涉及支持软件自适应维护活动所需的能力和努力。这些包括使当前软件适应其他情况和客户而不更改软件。该因素的要求还支持完善的维护活动,例如对软件进行更改和添加,以改进其服务并使其适应公司技术或商业环境的变化。

可测试性

可测试性要求涉及软件系统的测试及其操作。它包括预定义的中间结果、日志文件,以及软件系统在启动系统之前执行的自动诊断,以确定系统的所有组件是否正常工作并获得有关检测到的故障的报告。这些要求的另一种类型涉及维护技术人员应用的自动诊断检查,以检测软件故障的原因。

产品转换软件质量因素

根据 McCall 的模型,产品转换类别中包含三个软件质量因素,涉及软件对其他环境的适应及其与其他软件系统的交互。这些因素如下 −

可移植性

可移植性要求倾向于将软件系统适应由不同硬件、不同操作系统等组成的其他环境。软件应该能够在不同情况下继续使用相同的基本软件。

可重用性

此因素涉及最初为一个项目设计的软件模块在当前正在开发的新软件项目中的使用。它们还可以使未来的项目能够使用当前开发的软件的给定模块或一组模块。软件的重用有望节省开发资源,缩短开发周期并提供更高质量的模块。

互操作性

互操作性要求侧重于创建与其他软件系统或其他设备固件的接口。例如,生产机械和测试设备的固件与生产控制软件接口。