欢迎来到天天文库
浏览记录
ID:28195129
大小:34.00 KB
页数:7页
时间:2018-12-09
《《软件工程》第十章学习辅导.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《软件工程》第十章学习辅导软件质量,是贯穿软件生存期的一个极为重要的问题。是软件开发过程中所使用的各种开发技术和验证方法的最终体现。因此,在软件生存期中要特别重视质量的保证,以生成高质量的软件产品。10.1软件质量的概念10.1.1软件质量的定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。也就是说,为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质
2、量就是高的。软件质量反映了以下三方面的问题:(1)软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。(2)在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。(3)往往会有一些隐含的需求没有明确地提出来。例如,软件应具备良好的可维护性。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。因此,有必要讨论各种质量特性,以及
3、评价质量的准则。10.1.2软件质量特性软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。而定义一个软件的质量,就等价于为该软件定义一系列质量特性。人们通常用软件质量模型来描述影响软件质量的特性。已有多种有关软件质量的模型。它们共同的特点是把软件质量特性定义成分层模型。在这种分层的模型中,最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量。二次特性在必要时又可由它的一些子质量特性定义和度量。下面是几个影响较大的软件质量模型。(1)McCall质量模型这是McCall
4、等人于1979年提出的软件质量模型。其软件质量概念基于11个特性之上。而这11个特性分别面向软件产品的运行、修正、转移。进一步,McCall等给出了一个三层次式模型的框架。McCall等认为,特性是软件质量的反映,软件属性可用做评价准则,定量化地度量软件属性可知软件质量的优劣。McCall等人的质量特性定义如下:正确性在预定环境下,软件满足设计规格说明及用户预期目标的程度。它要求软件没有错误。可靠性软件按照设计要求,在规定时间和条件下不出故障,持续运行的程度。效率为了完成预定功能,软件系统所需的计算机资源的多少
5、。完整性为了某一目的而保护数据,避免它受到偶然的,或有意的破坏、改动或遗失的能力。可使用性对于一个软件系统,用户学习、使用软件及为程序准备输入和解释输出所需工作量的大小。可维护性为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。可测试性测试软件以确保其能够执行预定功能所需工作量的大小。灵活性修改或改进一个已投入运行的软件所需工作量的大小。可移植性将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境中运行时所需工作量的大小。复用
6、性一个软件(或软件的部件)能再次用于其它应用(该应用的功能与此软件或软件部件的所完成的功能有联系)的程度。互连性连接一个软件和其他系统所需工作量的大小。如果这个软件要联网,或与其他系统通信,或要把其他系统纳入到自己的控制之下,必须有系统间的接口,使之可以联结。互连性很重要。它又称相互操作性。通常,对以上各个质量特性直接进行度量是很困难的,在有些情况下甚至是不可能的。因此,McCall定义了一些评价准则,使用它们对反映质量特性的软件属性分级,以此来估计软件质量特性的值。软件属性一般分级范围从0(最低)到10(最高
7、)。各评价准则定义如下。(2)ISO的软件质量评价模型按照ISO/TC97/SC7/WG3/1985-1-30/N382,软件质量度量模型由三层组成:高层、中层和低层。ISO的三层次模型来自McCall等人的模型。高层、中层和低层分别对应于McCall模型中的特性、度量准则和度量。(3)上海软件中心(SSC)的软件质量度量模型在SSC模型中,采用了与ISO/IEC9126相同的6个质量特性,它们分别是功能性(正确性)、可靠性、易使用性、效率、可维护性和可移植性。同时设置了22个质量子特性,是参照McCall模型
8、定义的。包括精确性(准确性)、健壮性(容错性)、安全性、完备性、一致性、通信有效性(在执行功能时,使用最少通信资源的的程度)、设备有效性(为实现某一功能,提供使用最少设备,包括存储设备和外部设备资源的程度)、执行有效性(执行效率)操作性、培训性(易训练性)、可追踪性、可见性(自检性)、硬件系统无关性(机器独立性)、软件系统无关性(软件独立性)、可扩充性、产品文档完备性、公用性(提供使用
此文档下载收益归作者所有