欢迎来到天天文库
浏览记录
ID:43535454
大小:899.50 KB
页数:104页
时间:2019-10-10
《软件项目管理第9章软件项目质量保证》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章软件项目质量保证9.1软件质量管理基础9.2软件质量保证9.3软件质量控制9.4软件质量度量9.5软件质量体系9.6小结9.1软件质量管理基础随着软件的发展,开发平台越来越庞大,需求越来越复杂,涉及人员越来越多,软件的质量问题变得越来越突出。一个软件项目的主要内容是成本、进度和质量。优秀的软件项目就是要在预算的成本和进度下满足用户的需求(范围),即达到软件的质量,这与前面所说的成本、进度和范围三要素并不矛盾。良好的项目管理就是综合这三方面的因素,平衡这三方面的目标,最终完成任务。项目的这三个方面是相互制约和相互影响的。有时,对这三个方面的平
2、衡策略会成为企业级的要求。例如IBM的软件就是以质量为最重要目标的,微软的策略是开发足够好的软件,这些质量目标其实都是立足于企业的战略目标。所以,对整个项目来说,质量保证是项目管理的最高统一,如图9.1所示。图9.1质量目标是最高的统一(这三个方面相互制约和相互影响,良好的项目管理就是综合这三方面的因素,平衡这三方面的目标,最终完成任务)9.1.1软件质量1.软件质量的定义质量是产品的固有属性,软件作为一种特殊的产品,与传统意义上的质量概念是一样的。从用户角度来说,好的软件质量是软件运行可靠、界面友好、结果正确、产品交付及时、以及良好的服务;从软
3、件开发人员角度来说,质量好的软件是技术上没有差错、符合标准及规范的要求、技术文档齐全正确、系统容易维护。由此可见,从不同的角度看,软件质量反映了不同的多种属性。CMM对软件质量的定义是一个系统、组件或过程符合特定需求的程度或符合客户、用户的要求、期望的程度。ANSI/IEEEStd729-1983对软件质量的定义是与软件产品满足规定的和隐含的需要的能力有关的特征或特性的组合。软件质量是许多质量属性的综合体现。这些质量属性是为了满足软件各项精确定义的功能和性能的需求,为了符合文档化的开发标准而设计的一些质量特征及其组合,反映了软件质量的各方面。如
4、果这些质量属性都能在软件产品中得到满足(即一致性),则这个软件的质量就是高的。人们通过改善软件的各种质量属性,从而提高软件的整体质量。软件的质量属性是多方面的,至少包括下面4项内容:(1)必须要与明确规定的功能和性能需求具有一致性,能满足给定的全部需要;(2)与明确成文的开发标准具有一致性。如果不遵循专门的开发标准,将导致软件质量低劣;(3)与所有专业开发的软件所期望的隐含特性具有一致性。如果忽视软件的一些隐含需求,软件质量将不可信;(4)用户认为软件在使用中能满足其预期要求的程度,即软件的组合特性,确定了软件在使用中将满足用户预期要求的程度。软
5、件质量反映了下面3个方面的问题:(1)软件需求是度量软件质量的基础,不满足需求的软件就不具备质量;(2)在各种标准中定义了一些开发准则用来指导软件人员用工程化的方法来开发软件。如果不遵循这些开发规则,软件质量就得不到保证;(3)往往会有一些隐含的需求没有明确提出来。如果软件只满足明确定义的需求,而没有满足应有的隐含需求,软件质量也得不到保证。而且,在很多情况下隐含需求是引起用户不满意的主要原因,经常有用户没有表示出来想当然的需求,而开发人员认为并不在需要的范围中。总之,质量合格的软件产品必须满足需求。软件质量是软件满足软件需求规格中明确说明的以及
6、隐含的需求的程度,其中,明确说明的需求是指在合同环境中用户明确提出的需求或需要,通常是合同、标准、规范、图纸、技术文件中做出的明确规定;隐含的需求则应加以识别和确定,具体来说是用户或者社会对需求的期望,或者是指人们所公认的、不言而喻的、不需要做出规定的需求。2.软件质量的重要性除了丹佛机场自动行李系统外,再来看几个案例:(1) 1981年由计算机程序改变而导致的1/67的时间偏差,使航天飞机上的5台计算机不能同步运行。这个错误导致了航天飞机发射失败。(2)某银行一个晚上从10多万位顾客账户上错误地扣除了大约1500万美元的存款。这是银行历史上最大
7、的软件错误之一。这个问题是由一个最新计算机程序的一行独立代码产生的,它导致银行在处理自动取款机自动提款和转账业务时,将一笔业务重复记录两次。(3)在21世纪初建立电子商务网站如雨后春笋,其中英国Boo.com网站商店专营服装,由于系统设计问题,一开始网站就不太对劲,网页充斥着Java脚本和Flash,在那个尚有拨号上网的时代,网页打开的速度非常缓慢。它在全球范围内进行营销,不得不面对复杂的语言、定价和税务问题。因系统质量问题引起它的销售收入从未达到过预期。它烧掉了1.6亿美元,于2000年5月倒闭。 像这样的例子还有很多,通过这些例子可以看出
8、软件质量的重要性是不言而喻的。如今社会是一个信息社会、网络社会,越来越多的系统是依赖于软件的,软件的不正确运行可能会导致灾难性的后果,例
此文档下载收益归作者所有