高质量软件开发之道——内建高质量而非修补质量的理念与方法.ppt

高质量软件开发之道——内建高质量而非修补质量的理念与方法.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 1. IT企业面临的软件工程难题与对策 2. 软件过程改进:理念与解决方案 3. 细说软件质量 4. 高质量软件开发的理念:内建质量而非修补质量 5. 现场交流 1. IT企业长期面临的软件工程难题 1.1 企业的目的 根本目的:合法地赚钱,获取尽可能多的利润。 第一推论:为了使利润最大化,产品开发应当“做得好、做得快并且少花钱” 软件工程学科的目的:提高软件产品质量、提高生产率并且降低开发成本 质量、生产率、成本之间的复杂关系 成本重要还是Time to Market 重要? 1.2 企业长期面临的软件工程难题 产品质量低下、进度延误、费用超支…(软件工程学科发展30年尚未彻底解决) 经典软件工程:研究需求分析、系统设计、编程、测试、维护等领域的方法、技术和工具 问题之源:人们逐渐意识到,由于企业管理软件过程的能力比较弱,常常导致项目处于混乱状态。过程混乱使得新技术、新工具的优势难以体现。经典的软件工程不是不好,而是不够用。 用于提高软件过程能力的实践通称为软件过程改进。 2. 软件过程改进:理念与解决方案 2.1 软件过程改进理念 提高软件过程能力可以比喻为“练内功”,“练内功”没有捷径可走,唯有走“规范化”之路,即“制定适合于本企业的软件过程规范,并按照此规范执行”。 “规范化”不会抑止人们的创造力,相反地,它使得团队可以大规模地复用前人积累的智慧和财富。这种方法非常适合于现代的工业化生产。 (麦当劳与中餐馆对比) 业界实践已经证明,走“规范化”之路是“成本最 低、见效最快、能持续发展”的软件过程改进方法,犹如人类的“养生之道”。任何IT企业(不论大小),都有办法以其承受得起的代价“走规范化之路”,从而有效地提高软件过程能力。 2.2 IT企业软件过程改进的需求 首先制定适合于本企业的软件过程规范。 对员工们进行培训,指导他们依据规范来开发产品。 购买一些软件工程和项目管理工具,提高员工们的工作效率 。 2.3 CMMI 3级软件过程改进解决方案 通用的CMMI 3级软件过程改进方法与规范,命名为“精简并行过程”(SPP)。 与SPP配套的软件工程和项目管理培训教材。 一套基于Web的集成化软件项目管理工具,主要功能包括项目规划、项目监控、质量管理、配置管理、需求管理、工作流管理等,命名为Future。 3. 细说软件质量 3.1 如何描述质量 用人的健康做类比 如何判断人是否健康?体检因素:身高、体重、心跳、血压、血液、体温等 运行正确的软件就是高质量的软件吗?不贪污的官就是好官吗? 3.2 十大软件质量因素 功能性质量因素:正确性,健壮性,可靠性 非功能性质量因素:性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性 为什么是“十大” 质量因素 ? 逐一解释“十大” 质量因素(参见《高质量程序设计指南——C++/C语言》) 3.3 正确性 正确性是指软件按照需求正确执行任务的能力。 “正确性”的语义涵盖了“精确性”。 正确性无疑是第一重要的软件质量属性。 技术评审和测试的第一关都是检查工作成果的正确性。 机器不会主动欺骗人,软件运行出错通常都是人造成的,所以不要找借口埋怨机器有毛病。 3. 细说软件质量 3.4 健壮性 健壮性是指在异常情况下,软件能够正常运行的能力。 正确性描述软件在需求范围之内的行为,而健壮性描述软件在需求范围之外的行为。 开发者往往把异常情况错当成正常情况而不作处理,结果降低了健壮性。 用户才不管正确性与健壮性的区别,反正软件出了差错都是开发方的错。所以提高软件的健壮性也是开发者的义务。 健壮性有两层含义:一是容错能力,二是恢复能力。 3.5 可靠性 可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。 可靠性本来是硬件领域的术语。比如某个电子设备在刚开始工作时挺好的,但由于器件在工作中其物理性质会发生变化(如发热),慢慢地系统的功能或性能就会失常。所以一个从设计到生产完全正确的硬件系统,在工作中未必就是可靠的。 软件在运行时不会发生物理性质的变化,人们常以为如果软件的某个功能是正确的,那么它一辈子都是正确的。可是我们无法对软件进行彻底地测试,无法根除软件中潜在的错误。平时软件运行得好好的,说不准哪一天就不正常了,如有千年等一回的“千年虫”问题,司空见惯的“内存泄露”问题、“误差累积”问题等等。 时隐时现的错误一般都属于可靠性问题,纠错的代价很高。 3. 细说软件质量 3.6 性能 性能通常是指软件的“时间-空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。 性能优化的关键工作是找出限制性能的“瓶颈” 可以通过优化数据结构、算法和代码来提高软件的

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档