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

  文件类别:质量管理

  文件格式:文件格式

  文件大小:871K

  下载次数:166

  所需积分:4点

  解压密码:qg68.cn

  下载地址:[下载地址]

清华大学卓越生产运营总监高级研修班

综合能力考核表详细内容

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

目录
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. 细说软件质量
3.6 性能
性能通常是指软件的“时间-空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。
性能优化的关键工作是找出限制性能的“瓶颈”
可以通过优化数据结构、算法和代码来提高软件的性能。
3.7 易用性
易用性是指用户使用软件的容易程度。
现代人的生活节奏快,干啥事都想图个方便。所以把易用性作为重要的质量属性对待无可非议。
导致软件易用性差的根本原因 :
理工科大学教育存在缺陷:没有开设人机工程学、美学、心理学这些必修课,大部分开发人员不知道如何设计易用的软件产品。
开发人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也就会满意。
软件的易用性要让用户来评价。当用户真的感到软件很好用时,一股温暖的感觉油然而生,于是就用“界面友好”、“方便易用”等词来评价软件产品。

3. 细说软件质量
3.8 清晰性
清晰意味者所有的工作成果易读、易理解,可以提高团队开发效率,降低维护代价。
开发人员只有在自己思路清晰的时候才可能写出让别人易读、易理解的程序和文档。
可理解的东西通常是简洁的。一个原始问题可能很复杂,但高水平的人就能够把软件系统设计得很简洁。如果软件系统臃肿不堪,它迟早会出问题。所以简洁是人们对工作“精益求精”的结果,而不是潦草应付的结果。
千万不要把在学校里“造文章”的手法用于开发产品!
3.9 安全性
这里安全性是指信息安全,英文是Security而不是Safety。
安全性是指防止系统被非法入侵的能力,既属于技术问题又属于管理问题。
“道高一尺,魔高一丈” ,绝对安全的信息系统几乎不存在。
开发商和客户愿意为提高安全性而投入的资金是有限的,他们要考虑值不值得。
究竟什么样的安全性是令人满意的呢?
一般地,如果黑客为非法入侵花费的代价(考虑时间、费用、风险等因素)高于得到的好处,那么这样的系统可以认为是安全的。

3. 细说软件质量
3.10 可扩展性
可扩展性反映软件适应“变化”的能力。
在软件开发过程中,“变化”是司空见惯的事情,如需求、设计的变化,算法的改进,程序的变化等等。由于软件是“软”的,是否它天生就容易修改以适应“变化”?关键要看软件的规模和复杂性。
现代软件产品通常采用“增量开发模式”,不断推出新版本,获取增值利润。可扩展性越来越重要。可扩展性是系统设计阶段重点考虑的质量属性。
3.11 兼容性
兼容性是指两个或两个以上的软件相互交换信息的能力。
兼容性的商业规则:弱者设法与强者兼容,否则无容身之地;强者应当避免被兼容,否则市场将被瓜分。示例:
中国联通和中国移动的手机互联互通问题
金山软件公司的WPS与微软的Word之争
3.12 可移植性
可移植性是指软件运行于不同软硬件环境的能力
编程语言越低级,其程序越难移植,反之则容易。软件设计时应该将“设备相关程序”与“设备无关程序”分开,将“功能模块”与“用户界面”分开。
4. 高质量软件开发理念
4.1 质量与缺陷
质量的死对头是缺陷(defect,bug…),消除缺陷就是提高质量。
中国郎中看病的故事
消除软件缺陷的3种方式:
预防工作成果产生缺陷。
工作成果刚刚完成时立即进行质量检查,如技术评审,测试,质量保证。
软件交付给用户后,发现错误再补救。
4.2 高质量软件开发理念
遵循软件过程规范,在开发过程之中内建高质量,而非事后修补质量。

5. 现场交流

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

[下载声明]
1.本站的所有资料均为资料作者提供和网友推荐收集整理而来,仅供学习和研究交流使用。如有侵犯到您版权的,请来电指出,本站将立即改正。电话:010-82593357。
2、访问管理资源网的用户必须明白,本站对提供下载的学习资料等不拥有任何权利,版权归该下载资源的合法拥有者所有。
3、本站保证站内提供的所有可下载资源都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
4、未经本网站的明确许可,任何人不得大量链接本站下载资源;不得复制或仿造本网站。本网站对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

 我要上传资料,请点我!
人才招聘 免责声明 常见问题 广告服务 联系方式 隐私保护 积分规则 关于我们 登陆帮助 友情链接
COPYRIGT @ 2001-2018 HTTP://WWW.QG68.CN INC. ALL RIGHTS RESERVED. 管理资源网 版权所有