软件质量因素


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

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

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

麦考尔的因素模型

该模型将所有软件需求分为 11 个软件质量因素。这11个因素分为三类——产品运营因素、产品改版因素和产品转型因素。

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

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

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

产品运营软件质量因素

根据McCall的模型,产品运营类别包括五个软件质量因素,涉及直接影响软件日常运营的需求。它们如下 -

正确性

这些要求涉及软件系统输出的正确性。它们包括 -

  • 输出任务

  • 所需的输出精度可能会受到不准确的数据或不准确的计算的负面影响。

  • 输出信息的完整性,可能会受到不完整数据的影响。

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

  • 信息的可用性。

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

可靠性

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

效率

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

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

正直

这个因素涉及到软件系统的安全性,即防止非授权人员的访问,同时区分哪些人要给予读和写的许可。

可用性

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

产品修订质量因素

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

可维护性

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

灵活性

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

可测试性

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

产品转换软件质量因素

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

可移植性

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

可重复使用性

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

互操作性

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