《03第三章_软件质量管理》.ppt
文本预览下载声明
3)必须在各开发阶段对影响产品质量的因素进行切实的管理,认真检查实施落实情况。 4)当开发阶段出现异常时,要从质量特性方面进行检验,看是否会给后续阶段带来影响。 5)虽然各开发阶段进展稳定,但由于工程能力不足,软件产品不能满足用户要求的质量。 6)尽管各开发阶段进展稳定,但也要以一定的标准检验产品,使其交付使用后保持稳定的质量水平。 检验的目的有两个。 其一是切实搞好开发阶段的管理,检查各开发阶段的质量保证活动开展得如何; 其二是预先防止软件差错给用户造成损失。 (2)各个开发阶段中的检验 为了切实做好质量保证,要在软件开发工程的各个阶段实施检验。检验的实施有两种形式:实际运行检验和鉴定。 检验的类型有: 1)供货检验:这是指对委托外单位承担开发作业,而后买进或转让的构成软件产品的部件、规格说明、半成品或产品的检查。 2)中间检验/阶段评审;就是在各阶段的中途或向下一阶段移交时进行的检查(叫做中间检验或阶段评审)。 阶段评审的目的:是为了判断是否可以进入下一阶段,避免将差错传播到后续工作中,给后续工作带来不良影响,造成损失。 3)验收检验:确认产品是否已经达到、可以进行“产品检验”的质量要求。 4)产品检验:这是软件产品交付使用前进行的检查。目的是判定向用户提供的软件,作为产品,是否达到了令人满意的程度。 如果认为这种防止损失于未然是有利的话,就需要从经济的观点加以考虑,在全面检验、抽样检验和不检验之间作出抉择。 五、提高软件质量的一般方法 软件的质量是设计出来的,这是公认的一个基本观点。根据这一基本观点,提高软件质量的基本方法应是:培养设计人员,使他们具有良好的技术能力、业务素质、心理素质和职业道德素质(员工泄露公司机密)。身体素质 目前,指导软件开发的工程方法;软件工程工具;软件设计人员的业务技术能力(心理素质和职业道德素质)。 要提高软件的质量只有通过管理来达到: 即对软件设计过程进行控制、约束和规范; 对软件设计人员进行培训,明确他们之间的分工并对存在的问题及时加以协调和解决; 对资源进行合理的分配和对环境进行合理配置等等。 提高软件质量的管理方法,同任何管理方法一样,可分为过程管理和目标管理两大类,一般情况下,只有过程而无目标的管理是盲目的管理,只有目标而无过程控制的管理会使目标成为一句空话(权利和责任相当)。 事实上,两种方法是相辅相存而又不可割裂的一种管理方法体系,只是两者的着重点不同而已。 软件质量原则 软件质量的一般原则归结起来只有一个,那就是在最小费用下开发出满足需求的软件。 要理解并遵照这一原则,应重点考虑如下基本事实: (1)提高开发效率和软件质量的最好方法是减少代码再加工的时间,不论再加工是由于要求的变更、设计的修改或调试。 (2)软件维护费用大约是软件开发费用的两倍。所以,减少软件费用的首要因素是最大限度地提高软件的易维护性。 (3)一个明确的软件质量规程,有助于各种费用的节省。 (4)质量管理和质量保证需要有所花费,但这种花费能换来高质量和高可靠性,它会从后期开发和维护中得到几十倍甚至上百倍的补偿。(美国宇航局软件工程实验室 ) IBM公司的研究也得出了如下结论: 如果不顾质量而只是想用最短的时间将软件开发出来,往往很可能需要较长的时间和较高的花费。 第三章 软件质量管理 一、 软件质量概述 质量管理是企业管理核心内容之一。由于软件产业本身的特殊性,即主要靠脑力劳动,而不是靠设备和材料等的传统工业化生产,因此,软件企业开展质量管理工作就变得十分困难。 什么是软件质量——软件质量的定义 有关于软件质量的定义有很多。例如,ANSI(美国国家标准协会)/IEEE(国际电气和电子工程师学会标准) Std (美国国防部标准)729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。 M.J. Fisher定义软件质量为: “所有描述计算机软件优秀程度的特性的组合”。也就是说——为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地给出或设计一些质量特性及其组合,作为在软件开发与维护中的重点考虑的因素。 如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品质量就是高的。 软件质量反映了三方面的问题: (1)软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。 (2)在各种标准中定义了一些开发准则(模块化原则、抽象原则、分隔原则、严格性原则)用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。 (3)往往会有一些隐含的需求没有明确地提出来。 质量的概念会随着时间响应和环境价值的改变而改变,价值会使人们弄清什么是好的、什么是不好的(电视、空调—绿色、健
显示全部