计算机的软件质量

【摘 要】要获得一个高质量的软件,就需要提高软件的可靠性和可维护性.软件质量保障不仅需要一定的方法,更重要的是需要科学的管理与组织.本文从软件质量的概念、软件质量的保证和影响软件质量的因素这三个方面对计算机软件质量作了一个较详尽的描述.

【关 键 词】软件质量计算机

一、软件质量的定义

软件质量就是软件符合明确描述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具备的隐含特征的程度.

如何评价软件的质量?随着计算机硬件和软件技术不断发展,软件的质量标准也有所改变.在计算机发展的早期,计算机的内存容量很有限,运行速度很慢,人们设计软件时特别强调时空效率.近20多年来,随着软件规模和复杂性的增加,对软件质量已开始形成较全面的评价.一般来说,应从下面三个方面考虑软件质量.


(一)功能与性能方面.

首先,软件应能够按照既定的要求进行工作,与明确规定的功能和性能需求一致.软件系统能够可靠地工作,不仅表现于合法的输入情况下能够正确运行,而且还能够安全地排除非法的输入和处理意外事件,保证系统不受损害.

(二)开发标准与文档方面.

软件开发应与明确成文的开发标准要一致,遵循一些软件开发准则,软件文档资料必须齐全.如果不按照软件工程方法开发软件,几乎必然会造成软件质量低劣.

(三)软件隐含需求方面.

另外,往往会有一些隐含的需求没有明确地提出,例如,软件应具备良好的结构.一方面要求软件系统的内部结构必须清晰,易于软件人员阅读和理解,从而方便对软件的修改和维护,另一方面要求系统具备友好的人机界面,方面用户使用.与明确规定的功能和性能需求相比,这些需求往往是隐含的.所以,软件的质量不仅应考虑明确的功能和性能要求,还应考虑软件所期望的隐含的需求.

二、软件质量保证

如何在软件开发过程中保证软件的质量呢?软件质量保证(SQA)主要做好以下几方面工作:

(一)应用技术手段.

软件的质量如何是与软件开发的整个过程密切相关的.软件质量保证活动实际上开始于帮助分析员获得高质量的规格说明书和帮助设计员开发高质量的技术方法和工具的应用,并且贯穿开发过程的始终.这些技术与方法就是指软件工程技术和方法.

(二)组织技术评审.

在软件开发过程的每个阶段结束后,都需要组织评审,对质量进行评价.正式技术评审是以揭露质量问题为惟一目的的程式化会议.技术评审可以及早地发现软件开发过程中可能引起软件质量问题的潜在错误.

(三)加强软件测试.

软件测试是软件质量保证的重要手段.一般来说,软件测试可以发现软件中大多数隐蔽的错误,测试越充分,软件中的隐患就有可能暴露得越彻底.

(四)推行软件工程标准.

软件工程的一些正式的标准在具体的软件开发过程中程度可能因开发机构的不同而不同.在大多数情况下,标准是有用户或委托单位确定的,有时标准是自定的.但是,如果标准一旦确定,就应该开展软件质量保证活动,重视标准并在软件开发中得到遵遁.可以将软件规范情况作为软件技术评审的一项内容.

(五)控制软件变更.

软件质量的一个主要威胁来自于对软件的修改和变更.尽管从表面上看,修改总是有理由的和有益的,但是,实践证明,在修改过程中常常会引起一些新的潜在错误.因此,应该严格控制软件的修改和变更.

(六)对软件质量进行度量.

度量是任何工程学科中一个必要的活动.软件质量保证的一个重要目标也是对软件质量进行跟踪,这就需要对软件质量进行度量,并对软件质量情况及时记录和报告.

三、软件质量因素

软件的质量因素基本上一致的,只有个别因素略有差异,下面对这些质量因素给出简单的定义.

(一)质量因素.

可用性:熟悉、操作、准备输入和解释程序输出所需要工作量的程序.正确性:程序满足其规格说明和完成用户任务目标的程度.可靠性:程序在要求的精度,能够完成其规定功能的期望程度.效率:程序完成其功能所需要计算资源和程序代码数量的程度.完备性:对未经授权的人使用软件或数据的行为,系统能够控制的程度.可维护性:诊断和修正程序中一个错误所需要的代价程度.适应性:修改或改进一个运行程序所需要的工作量程度.可测试性:测试一个程序以保证其完成它所规定所需要的工作量的程度.可移植性:把一个程序从一个硬件或软件环境移植到另一硬件或软件环境所需要的工作量程度.可重用性:程序或程序的一部分能够在另一相关应用程序中可重用的程度.可互操作性:将一个系统耦合到另一个系统所需要的工作量的程度.

(二)软件属性与评价标准.

软件因素相应的软件评价准则定义如下.可审计性:检查与标准是否符合额定难易程度.准确性:计算和控制的精确程度.通信共用性:使用标准接口、协议和宽带的程度.完整性:所需功能实现的程度.复杂性:程序结构化、模块化、简明、简洁、清晰和可理解的程度.简明性:程度代码的紧密程度.一致性:在整个软件开发项目中使用统一的设计和文档编制技术的程度.数据共用性:在整个程序中使用标准数据结构和类型的程度.容错性:当程序出错时,造成破坏的程度.执行效率:程序的运行时间.可扩充性:体系结构、数据或过程设计可扩充的程度.通用性:程序构成潜在的应用范围.硬件独立性:软件与运行它的硬件之间的相关程度.工具性:程序监视自身运行和识别出错现象的程度.模块性:程序各构件的功能独立性.可操作性:程序操作的难易程度.安全性:控制或保护程序和数据机制的有效性.自描述性:源代码提供自身描述的程度.简洁性:程序易于理解的程度.软件独立性:程序与非标准编程语言性质、操作系统特性以及其他环境限制的无关程度.可跟踪性:沿一个设计说明或一个实际程序构件返回到需求的能力.可训练性:程序使新用户使用该系统的辅助程度.

类似论文

计算机软件开发中影响软件质量的因素

近几年,我国信息化建设取得较大的进步,信息技术在一定程度上对经济的发展起到极大的促进作用 作为信息化建。
更新日期:2024-5-21 浏览量:71458 点赞量:16601

计算机教学软件在物理模拟实验中的应用

摘 要:本论文通过叙述用计算机教学软件制作物理模拟实验软件的过程,展示了利用几何画板制作物理模拟实验的一些综合技。
更新日期:2024-12-27 浏览量:158789 点赞量:34495

计算机网络软件的应用与功能

摘 要本文简单分析了计算机网络软件的功能,并且针对计算机网络软件的应用进行了有效地探讨 关 键 词计算机;网。
更新日期:2024-7-21 浏览量:94592 点赞量:20867