软件工程与项目管理第9章软件质量管理.docVIP

软件工程与项目管理第9章软件质量管理.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

TOC\o1-3\h\z第9章软件质量管理 2

9.1软件的质量属性和质量要素 2

9.2商业目标决定质量目标 3

9.3质量保证能够保证质量吗 4

9.4质量人员的状况 6

9.4.1郁闷的质量人员 6

9.4.2路在何方 7

9.4.3赞美诗 8

9.5全面软件质量管理 9

9.5.1模型 9

9.5.2质量人员的职责 10

9.5.3制定质量计划 11

9.5.4技术评审 13

9.5.5软件测试 16

9.5.6过程检查 16

9.5.7缺陷跟踪工具 17

9.6小结 19

第9章软件质量管理

软件质量管理是充满争论的话题。被人们奉为软件质量管理圣经的CMM和ISO9001似乎并不奏效,现实和理想之间的差距太大。

本章树立一个重要的理念:商业目标决定质量目标。提高软件质量的最终目的是为了赢利,而不是创造完美无缺的产品。因此对于普通商业软件而言,并不是“质量越高越好”,而是恰好让广大用户满意,并且将提高质量所付出的代价控制在预算之内。

经典软件工程教科书以及CMM和ISO9001总是抛开商业目标谈质量管理,本末倒置,纸上谈兵,误导了大量读者,所以质量管理才变得那么艰辛。本章给出了一套实用主义的“全面软件质量管理”方法。

质量人员在全面软件质量管理中发挥重要作用,本章探讨了质量人员的工作状况,给他们一些声援,并提出了改善工作状况的建议。

9.1软件的质量属性和质量要素

在讲述软件质量管理方法之前,我们首先要搞清楚什么是软件质量。

词典对质量的定义是:①典型的或本质的特征;②事物固有的或区别于其他事物的特征或本质;③优良或出色的程度。

CMM对质量的定义是:①一个系统、组件或过程符合特定需求的程度;②一个系统、组件或过程符合客户或用户的要求或期望的程度。

上述定义很抽象,人们看了准会一脸迷惘。就让我们用“人的健康”来类比解释软件质量吧。

古时候人们以为长得结实、饭量大就是健康,这显然是不科学的。现代人总是通过考察多方面的生理因素来判断是否健康,如测量身高、体重、心跳、血压、血液、体温等。如果上述因素都合格,那么表明这人是健康的。如果某个因素不合格,则表明此人在某个方面不健康,医生会对症下药。

通过类比,我们这样理解软件质量:

软件质量是许多质量属性的综合体现,各种质量属性反映了软件质量的方方面面。人们通过改善软件的各种质量属性,从而提高软件的整体质量(否则无从下手)。

软件的质量属性很多,如正确性、精确性,健壮性、可靠性、容错性、性能、易用性、安全性、可扩展性、可复用性、兼容性、可移植性、可测试性、可维护性、灵活性等。表9-1是常见质量属性的描述,先让读者对软件质量属性有个初步的了解。

质量属性

描述

正确性

正确性是指软件按照需求正确执行任务的能力。“正确性”的语义涵盖了“精确性”。正确性无疑是第一重要的软件质量属性。

健壮性

健壮性是指在异常情况下,软件能够正常运行的能力。正确性与健壮性的区别是:前者描述软件在需求范围之内的行为,而后者描述软件在需求范围之外的行为。健壮性有两层含义:一是容错能力,二是恢复能力。

可靠性

可靠性是一个与时间相关的属性,指的是在一定环境下,在一定的时间段内,程序不出现故障的概率,因此是一个统计量,通常用平均无故障时间来衡量。软件可靠性问题通常是由于设计中没有料到的异常和测试中没有暴露的代码缺陷引起的。

性能

性能通常是指软件的“时间—空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。

易用性

易用性是指用户使用软件的容易程度。软件的易用性要让用户来评价。

清晰性

清晰意味着工作成果易读、易理解,开发人员只有在自己思路清晰的时候才可能写出让别人易读、易理解的程序和文档。

安全性

安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。一般地,如果黑客为非法入侵花费的代价(考虑时间、费用、风险等因素)高于得到的好处,那么这样的系统就可以认为是安全的。

可扩展性

可扩展性反映了软件适应“变化”的能力。在软件开发过程中,“变化”是司空见惯的事情,如需求、设计的变化,算法的改进、程序的变化等。可扩展性是系统设计阶段重点考虑的质量属性。

兼容性

兼容性是指两个或两个以上的软件相互交换信息的能力。兼容性的商业规则是:弱者设法与强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将被瓜分。

可移植性

软件的可移植性指的是软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、OS和编译器)的能力,主要体现为代码的可移植性。

表9-1常见质量属性的描述

什么是软件质量要素?它是指:

文档评论(0)

yzs890305 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档