评价软件的质量通常可以从产品运行、产品修改和产品转移三个不同角度来进行。除了软件应满足产品规格说明的正确性和保证运行效率以外,(52)和(53)也是产品运行期间影响软件质量的两个质量因素,其中(52)是指在遇到意外时系统能做出适应反应的程度。可维护性是影响

admin2019-04-08  47

问题 评价软件的质量通常可以从产品运行、产品修改和产品转移三个不同角度来进行。除了软件应满足产品规格说明的正确性和保证运行效率以外,(52)和(53)也是产品运行期间影响软件质量的两个质量因素,其中(52)是指在遇到意外时系统能做出适应反应的程度。可维护性是影响产品修改的一个质量因素,它主要包括可理解性、可修改性和(54)。一般认为,(55)是影响产品转移的一个质量因素。为了保证软件质量,在开发过程的各阶段进行(56)是一个重要的手段。

选项 A、验收测试
B、用户培训
C、软件评审
D、文件修改

答案C

解析 软件质量保证是指为保证软件系统或软件产品最大限度地满足用户要求而进行的有计划、有组织的活动,其目的是生产高质量的软件。有多种软件质量模型来描述软件质量特性,著名的有ISO/IEC 9126软件质量模型和McCall软件质量模型。
   软件系统主要的软件质量属性有:
   (1)性能(performance)  系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理事件的个数。经常用单位时间内所处理事务的数量或系统完成某个事务处理所需的时间来对性能进行定量的表示。性能测试经常要使用基准测试程序。
   (2)可靠性(reliability)  软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。可靠性通常用平均失效等待时间MTTF(Mean Time To Failure)和平均失效间隔时间MTBF(Mean Time Between Failure)来衡量。
   可靠性可以分为两个方面:容错性(fault-tolerant)和健壮性(robustness)。其中:
   容错性是在错误发生时确保系统正确的行为,并进行内部“修复”。例如,在一个分布式软件系统中失去了一个与远程构件的连接,接下来恢复了连接。在修复这样的错误之后,软件系统可以重新或重复执行进程间的操作直到错误再次发生。
   健壮性是指保护应用程序不受错误使用和错误输入的影响,在遇到意外错误事件时确保应用系统处于已经定义好的状态。和容错性相比,健壮性并不是说在错误发生时软件可以继续运行,它只能保证软件按照某种已经定义好的方式终止执行。
    (3)有效性(availability) 系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。
   (4)安全性(security)  指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。安全性是根据系统可能受到安全威胁的类型来分类的。安全性又可划分为机密性、完整性、不可否认性及可控性等特性。其中:
   机密性  保证信息不泄露给未授权的用户、实体或过程;
   完整性  保证信息的完整和准确,防止信息被非法修改;
   可控性  保证对信息的传播及内容具有控制的能力,防止为非法者所用。
   (5)可修改性(modifiability)  指能够快速地以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量可修改性。可修改性包含4个方面:可维护性、可扩展性、结构重组、可移植性。其中
   可维护性(maintainability)  表明在软件中纠正一个缺陷或做一次更改的难易程度。主要体现在问题的修复上:在错误发生后“修复”软件系统。
   可扩展性(extendibility)  关注的是使用新特性来扩展软件系统,以及使用改进版本来替换构件并删除不需要或不必要的特性和构件。为了实现可扩展性,软件系统需要松散耦合的构件。其目标是实现一种体系结构,它能使开发人员在不影响构件客户的情况下替换构件。支持把新构件集成到现有的体系结构中也是必要的。
   结构重组(reassemble)  重新组织软件系统的构件及构件间的关系。例如,通过将构件移动到一个不同的子系统而改变它的位置。为了支持结构重组,软件系统需要精心设计构件之间的关系。理想情况下,它们允许开发人员在不影响实现主体部分的情况下灵活地配置构件。
   可移植性(portability)  把软件系统从一个系统平台移到另一个平台的难易程度。
   (6)功能性(functionality)  系统完成所期望工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。
   (7)互操作性(interoperability) 指系统能与其他系统协作的程度。
   软件质量保证环节包括的主要功能有:制定和展开质量方针;制定质量保证方针和质量保证标准;建立和管理质量保证体系;明确各阶段的质量保证业务;坚持各阶段的质量评审;确保设计质量;提出与分析重要的质量问题;总结实现阶段的质量保证活动;整理面向用户的文档、说明书等;鉴定产品质量,鉴定质量保证体系:收集、分析和整理质量信息。
   根据ISO/IEC 9126,软件质量由三个层次组成,第一层是质量特性,第二层是质量子特性,第三层是度量指标。    质量属性分为功能性、可靠性、可维护性、效率、易使用性和可移植性6个,21个质量子特性如下。
   (1)功能性  包括适合性、准确性、互用性、依从性、安全性:
   (2)可靠性  包括成熟性、容错性、易恢复性;
   (3)易使用性  包括易理解性、易学性、易操作性;
   (4)效率  包括时间特性、资源特性;
   (5)可维护性  包括易分析性、易改变性、稳定性、易测试性。
   (6)可移植性  包括适应性、易安装性、一致性、易替换性。
   软件质量特性度量有两类:预测度量和验收度量。预测度量是利用定量或定性的方法,估算软件质量的评价值,以得到软件质量比较精确的估算值。验收度量是在软件开发各阶段的检查点,对开发过程中的预测进行评价得到软件的要求和质量进行确认性检查的具体评价值。
   预测度量有两种,第一种叫做尺度度量,这是一种定量度量。它适用于一些能够直接度量的特性,例如,出错率定义为:错误数/KLOC/单位时间。第二种叫做二元度量,这是一种定性度量。它适用于一些只能间接度量的特性,例如,可使用性、灵活性等。
   评价软件的质量通常可以从产品运行、产品修改和产品转移三个不同角度来进行。如图9-12所示。
   软件的可维护性通常包括可理解性、可修改性和可测试性。为了保证软件质量,在开发过程的各阶段进行软件评审是一个重要的手段。
转载请注明原文地址:https://kaotiyun.com/show/ufLZ777K
0

最新回复(0)