- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何提高我们的软件质量 研发中心软件室-王丁 2008-6 主题 什么是软件质量? 软件质量的过去和将来! 我们遇到了什么?或者即将遇到什么? 怎么办? 参考资料 什么是质量? 质量具有三个维度: ?? 符合目标。目标是客户所定义的,符合目标即判断我们是不是在做需要做的事情。 ?? 符合需求。即产品是不是在做让它做的事情。 ?? 符合实际需求。实际的需求包括用户明确说明的和隐含的需求。 ISO 关于质量的定义表示如下: “ 一个实体(产品或服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。 ” 什么是软件质量? 外部用户要求:正确,高效,健壮,易用和可靠 内部维护人员要求:可维护(代码易读,易读, 易Debug,注释清晰,容易扩展) 内部测试人员要求:可测试,易用,易理解 企业产品化要求:可扩展,可移植,可配置,灵活,重用性高,模块和组件化 代码大全怎么说 因此《代码大全》将软件质量特征分为内部质量特征和外部质量特征:外部质量特征包括: +正确性。整个系统受说明、设计和实现的错误影响程度。+可用性。用户学会和使用系统的难易程度。+效率。对系统资源的最小利用,包括存储和执行时间。+可靠性。在一定条件下执行特定功能的能力。+完整性。防止非法或不适当地访问。完整性思想包括:限制非法用户访问,同时确保证数据恰当访问;并行数据表进行并行修改;数据段仅含有有效数据等等。+适应性。系统在应用或其它环境下不作修改就能使用的能力。+精确性。系统不受错误影响的程度,尤其是数据输出方面。精确性和正确性是不同的。精确性是对系统完成其工作性能良好的衡量,而不是它设计得是否正确。+坚固性。系统对无效输入或压力环境中能继续执行其功能的能力。 代码大全怎么说 内部质量特征包括:+可维护性。修改一个软件系统,提高其性能或修正其错误的能力。+灵活性。修改系统使其能适应于不同的用途或环境的能力,而不必对系统进行特定的设计。+可移植性。能修改所设计的某一系统使其能在其它环境下运行的能力。+可重用性。能将系统的一部分用于其它系统的难易程度。+可读性。能读懂或理解系统源代码的能力,尤其是在细节说明这一级上。+可测试性。对整个系统进行单元或系统测试以证实其满足所有需求性能的测试难易程度。+可理解性。能从整个系统水平或细节说明这一级上理解整个系统的难易程度。可理解性要比可读性从更一般的水平上讨论系统的紧密性。 我们需要注意的几个数据 1、在项目发布后发现和修复Bug的成本是需求和设计阶段所需的一百倍! 2、80%可避免的重复劳动源自于20%的缺陷,其中两大主要来源包括草率的需求定制和象征性的案例设计和开发。 3、大约80%的缺陷来自20%的模块,而约半数的模块是几乎没有缺陷。 4、90%的软件的停工期最多来自于10%的缺陷。 总结一下 上面四条原则说明了两个问题, 一是错误越早发现成本越低,而且大部分的错误都是在软件开发的前面阶段引入的。 二是大部分的错误都集中在少数的模块。 缺陷代价曲线 软件质量的过去 20 世 纪60年代中期,美国的首次金星探测计划,因为在FORTRAN语言程 序 的 D O 语 句 中漏掉一个逗号,惨遭失败。 1996年,欧洲航天局首次发射阿丽亚娜5号火箭失败,其直接原因是火箭控制系统的软件故障,导致直接经济损失5亿美元,还使耗资80亿美元的开 发 计 划 延迟了三年。 1986年3月到1987年1月,由加拿大原子能有限公司生产的Therac 25 放射治疗机 造 成 两人死亡、数人受伤。 软件质量的过去 1992年,法国伦教由于救护派遗系统全部崩溃,导致多名病人因为抢救不及时而失去生命。 1991 年海湾战争期间,美国爱国者导弹由于软件计时系统累计误差造成拦截失败 ,造 成人员无辜伤亡。 1990年美国电话系统中新投入使用的软件发生失效,导致主千线远程网大规模崩溃 ,给运营商造成了重大的经济损失。 1991年,由于一系列局域电话网因软件错误而中断,造成了数以千计依靠电讯公司运营业务的公司遭受巨额的资金损失。 软硬件产品的不同点 软硬件开发过程的比较 我们遇到了什么? 项目没有被很好地理解;计划不周,最终导致进度拖延。 没有充分的文档资料。 人与人的交流比写程序困难得多。 软件可靠性缺少度量的标准,质量无法保证。 软件难以维护、不易升级,问题越改越多。 如何改进我们的软件质量的思考 从一个企业的长远发展来看,首先应当从流程抓起,规范软件产品的开发过程。这是一个软件企业从小作坊的生产方式向集成化、规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。 瀑布模型 RAD模型(V模型) 螺旋模型 RUP (
文档评论(0)