ImageVerifierCode 换一换
格式:PPT , 页数:55 ,大小:1.18MB ,
资源ID:13798738      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13798738.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(如何提高软件质量.ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

如何提高软件质量.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,如何提高我们的软件质量,研发中心软件室王丁,2008-6,主题,什么是软件质量?,软件质量的过去和将来!,我们遇到了什么?或者即将遇到什么?,怎么办?,参考资料,什么是质量?,质量具有三个维度:,符合目标。目标是客户所定义的,符合目标即判断我们是不是在做需要做的事情。,符合需求。即产品是不是在做让它做的事情。,符合实际需求。实际的需求包括用户明确说明的和隐含的需求。,ISO,关于质量的定义表示如下:,“一个实体(产品或服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。”,什么是软件质量?,外部用户要

2、求,:,正确,高效,健壮,易用和可靠,内部维护人员要求,:,可维护,(,代码易读,易读,易,Debug,注释清晰,容易扩展,),内部测试人员要求,:,可测试,易用,易理解,企业产品化要求,:,可扩展,可移植,可配置,灵活,重用性高,模块和组件化,代码大全怎么说,因此,代码大全,将软件质量特征分为内部质量特征和外部质量特征,:,外部质量特征包括,:,+,正确性。整个系统受说明、设计和实现的错误影响程度。,+,可用性。用户学会和使用系统的难易程度。,+,效率。对系统资源的最小利用,包括存储和执行时间。,+,可靠性。在一定条件下执行特定功能的能力。,+,完整性。防止非法或不适当地访问。完整性思想包括

3、限制非法用户访问,同时确保证数据恰当访问;并行数据表进行并行修改;数据段仅含有有效数据等等。,+,适应性。系统在应用或其它环境下不作修改就能使用的能力。,+,精确性。系统不受错误影响的程度,尤其是数据输出方面。精确性和正确性是不同的。精确性是对系统完成其工作性能良好的衡量,而不是它设计得是否正确。,+,坚固性。系统对无效输入或压力环境中能继续执行其功能的能力。,代码大全怎么说,内部质量特征包括,:+,可维护性。修改一个软件系统,提高其性能或修正其错误的能力。,+,灵活性。修改系统使其能适应于不同的用途或环境的能力,而不必对系统进行特定的设计。,+,可移植性。能修改所设计的某一系统使其能在其它

4、环境下运行的能力。,+,可重用性。能将系统的一部分用于其它系统的难易程度。,+,可读性。能读懂或理解系统源代码的能力,尤其是在细节说明这一级上。,+,可测试性。对整个系统进行单元或系统测试以证实其满足所有需求性能的测试难易程度。,+,可理解性。能从整个系统水平或细节说明这一级上理解整个系统的难易程度。可理解性要比可读性从更一般的水平上讨论系统的紧密性。,我们把影响软件质量的因素分成三组,分别反映用户在使用软件产品时的三种不同倾向或观点。这三种倾向是:产品运行、产品修改和产品转移。信息系统作为一个产品,也可以参照这三种倾向来定义。,我们需要注意的几个数据,1,、在项目发布后发现和修复,Bug,的

5、成本是需求和设计阶段所需的一百倍!,2,、,80%,可避免的重复劳动源自于,20%,的缺陷,其中两大主要来源包括草率的需求定制和象征性的案例设计和开发。,3,、大约,80%,的缺陷来自,20%,的模块,而约半数的模块是几乎没有缺陷。,4,、,90%,的软件的停工期最多来自于,10%,的缺陷。,总结一下,上面四条原则说明了两个问题,,一是错误越早发现成本越低,而且大部分的错误都是在软件开发的前面阶段引入的。,二是大部分的错误都集中在少数的模块。,缺陷代价曲线,软件质量的过去,20,世 纪,60,年代中期,美国的首次金星探测计划,因为在,FORTRAN,语言程 序 的,D O,语 句 中漏掉一个逗

6、号,惨遭失败。,1996,年,欧洲航天局首次发射阿丽亚娜,5,号火箭失败,其直接原因是火箭控制系统的软件故障,导致直接经济损失,5,亿美元,还使耗资,80,亿美元的开 发 计 划 延迟了三年。,1986,年,3,月到,1987,年,1,月,由加拿大原子能有限公司生产的,Therac,25,放射治疗机 造 成 两人死亡、数人受伤。,软件质量的过去,1992,年,法国伦教由于救护派遗系统全部崩溃,导致多名病人因为抢救不及时而失去生命。,1991,年海湾战争期间,美国爱国者导弹由于软件计时系统累计误差造成拦截失败,造 成人员无辜伤亡。,1990,年美国电话系统中新投入使用的软件发生失效,导致主千线远

7、程网大规模崩溃,给运营商造成了重大的经济损失。,1991,年,由于一系列局域电话网因软件错误而中断,造成了数以千计依靠电讯公司运营业务的公司遭受巨额的资金损失。,软硬件产品的不同点,特征,软件,硬件,存在形式,虚拟、动态,固化、稳定,客户需求,不确定性,相对清楚,度量性,非常困难,正常,生产过程,逻辑性强,流水线、工序,逻辑关系,复杂,清楚,接口,复杂,多数简单、适中,维护,复杂、新的需求、可以不断打补丁,多数简单、适中、没有新的需求,软硬件开发过程的比较,软件,硬件,54-56%,质量缺陷来自需,求不清楚,需求分析,调研分析,质量控制的主要阶段之一,25%,质量缺陷来自设计和,编程,设计、编

8、程,设计阶段,质量控制的主要阶段之一,测,试,设计审查,发,布,设计完成,这里不是软件质量管理的,主要阶段,软件拷贝,制造、检验,生产的主要过程,质量,控制的重点,不仅支持原有功能,解,决以前就存在的问题,,而且增加新特性、加强,新功能,维,护,维,修,支持原有功能,解决运,行中出现的问题,一般,比较容易预测,我们遇到了什么?,项目没有被很好地理解;计划不周,最终导致进度拖延。,没有充分的文档资料。,人与人的,交流,比写程序困难得多。,软件可靠性缺少度量的标准,质量无法保证。,软件难以维护、不易升级,问题越改越多。,如何改进我们的软件质量的思考,从一个企业的长远发展来看,首先应当从流程抓起,规

9、范软件产品的开发过程。这是一个软件企业从小作坊的生产方式向集成化、规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。,瀑布模型,编程,设计,需求分析,测试,维护,瀑布模型是应用的最为广泛的一种模型,也是最容易理解和掌握的模型,然而它的缺陷也是显而易见的。遗漏的需求或者不断变更的需求会使得该模型无所适从。然而,对于那些容易理解但很复杂的项目,采用瀑布模型会是比较适合的,因为你可以按部就班的去处理复杂的问题。在质量要求高于成本和进度要求的时候,该模型表现的尤其突出。,RAD,模型(,V,模型),螺旋模型,(,1,)制定计划:确定软件目标,选定实施方案,弄清项目开发

10、的限制条件;,(,2,)风险分析:分析评估所选方案,考虑如何识别和消除风险;,(,3,)实施工程:实施软件开发和验证;,(,4,)客户评估:评价开发工作,提出修正建议,制定下一步计划。,螺旋型项目从小的规模开始,然后探测风险,制定风险控制计划,接着确定下一步项目是否还要继续,然后进行下一个螺旋的反复。该模型的最大优点就是随着成本的增加,风险程度随之降低。然而螺旋模型的缺点是比较复杂,且需要管理人员有责任心,专注以及有管理方面经验。,RUP,(,Rational Unified Process,),RUP,工作流程示意图,IPD,(,Integrated Product Development,

11、IPD,流程示意图,目前主要的一些软件开发过程模型,瀑布模型,原型模型,快速应用开发,(RAD),模型,螺旋模型,喷泉模型,增量模型和迭代模型,构件组装模型,并发模型,流程与技术,流程和成功不是等价的。没有流程就成功是不可能得到保证,但有了流程并不意味着肯定能够成功。这恐怕是很多迷信于流程的人所不能接受的。但这的确是个事实。记得有个做了将近,30,多年的需求分析专家说过:即使是一个已经达到,CMM4,级的公司,也完全有可能做不好需求分析。为什么?技术,技术是成功的另外一个必要条件,总之流程很关键,技术也很重要,我的观点是:鱼和熊掌,两者都不能放。,我们的遇到的问题,对于软件开发来说,要保证

12、软件的质量,需要掌握多方面的技术,包括,分析技术,设计技术、,编码技术,测试技术,在国内有一个普遍的非正常现象,就是大家觉得只有编程能力才是玩电脑的真正技能。就好像造一套房子,其它都不重要,只要砖瓦匠有高超的技能就行了。尽管这个比喻会打击很多程序员的自尊心,但这的确是一个事实。我们缺少系统级的工程师,在分析和设计方面的工作做得很不扎实。,我们需要做好的地方,UML,代表软件建模的发展趋势,需求分析的能力,学习好,设计模式,测试技术,程序员也要有扎实的文档编写能力,良好的编程习惯,关于软件测试,软件测试是软件质量控制中的关键活动。业界的统计数据表明,测试的成本大约占软件开发总成本的,50,左右。

13、软件测试的目的是要发现软件中的错误。一个好的测试是发现至今没有被发现的错误。传统的软件测试专注于动态测试范畴,如:单元测试,集成测试和系统测试。而测试工程的发展已经进入到了全流程的测试,包括开发过程前期的静态测试,关于测试的一些介绍,白盒测试,黑盒测试,单元测试,集成测试,系统测试,改善软件质量的技术,软件质量目标,明确定义质量保证工作,测试策略,软件工程指南,非正式技术复查(,review,walk,-through),正式技术复查,外部审查,缺陷检测率,国际上流行的质量标准(,CMM),软件能力成熟度模型是目前国内软件企业中非常受欢迎的一个质量标准。并且该标准已经成为业界一个事实上的标准

14、CMM,为软件组织提供了一个指导性的管理框架。在这个框架的指导下:,软件组织可以对其软件开发、维护过程获得控制。,软件组织可以推进其软件工程更为科学、推进软件过程管理更为卓越。,CMM,通过确定当前软件过程管理的成熟度,通过标识软件的质量和过程改进中关键的、要害的问题,可以指导软件组织选择正确的软件过程改进策略。,CMM,将其焦点,聚焦在一系列具体的软件过程活动上,并以侵略方式(,Aggressively,)达到这些活动。一个软件组织就可以稳定地、持续地改进其整个软件组织过程,使得其软件过程管理能力取得持续地、持久地不断争长提高。,CMM,的五个等级,在,CMM,中,把软件工厂分为五个等级

15、初始级,可重复级,已定义级,管理级,优化级,软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。,初始级,可重复级,人们根据多年的经验和教训,总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,可重复的过程才能逐渐改进和成熟。可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面;其中项目管理过程又分为计划过程和跟踪与监控过程。通过实施这些过程

16、从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。,已定义级,要求制定企业范围的工程化标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程裁剪出与项目适宜的过程,并且按照过程执行。过程的裁剪不是随意的,在使用前必须经过企业有关人员的批准。,CMM,的等级说明,CMM,级别与软件质量关系表格,每千行软件的缺陷数目,软件过程成熟度等级,软件准时提交的百分比,每人每月生产的程序行数,软件需要返工的百分比,平均软件失效时间(近似),大于,10,初始级,=45,2,到,60,分钟,小于,10,可重复级,90,1.5Z,20,1-160,小时,小于,1,已定义级,

17、99,2.5Z,10,不确定,小于,0.1,管理级,降低开发时间到,1/2,5 Z,5,不确定,小于,0.01,优化级,降低开发时间到,1/4,10Z,=2,近似完全可靠,改进我们的软件质量吧,根据不同业务特点可以选择瀑布模型,迭代模型等,并在这些模型上进行适当的变化以适应于短平快的产品开发特点,实施简洁的开发过程体系,提高需求分析和设计方面的技术,例如:原型法技术,分析模式,设计模式,面向对象设计,,UML,等;,提高需求分析和设计方面的技术,改进我们的软件质量吧,加强编程规范工作,进行适当的测试工作,建议进行单元测试和系统测试,实施配置管理工作,加强版本控制,开展走读、评审和检视活动,尤其

18、要加强代码走读,建议进行每日交叉走读活动,进行简单的度量分析获得质量数据,给软件开发人员的一些忠告,我的源代码给猫吃了!?,1,在所有弱点中,最大的弱点就是害怕暴露弱点,2,提供各种选择,不要找蹩脚的理由,不要容忍破窗户,软件的,熵,定期为你的知识资产投资,你的知识资产,交流!,知道你要说什么,了解你听众,选择时机,选择风格,让文档美观,让听众参与,做倾听者,回复他人,重复的危害,强加的重复,无意的重复,无耐性的重复,开发者之间的重复,不要重复你自己,让复用变的更容易,软件的正交性,消除无关事物之间的影响,提示,如果显著的改变某个特定功能背后的需求,有多少模块会受影响?,软件的正交性,让你的代

19、码保持解耦,避免使用全局变量,避免编写相似的函数,单元测试,曳光弹,使用曳光弹找到目标,用户能够及早看到能工作的东西,开发者构建了一个他们能够在其中工作的结构,你有了一个集成平台,你有了可以演示的东西,你将更能够感觉到工作的进展,曳光代码,原型制作,估算,时长,报出估算的单位,1-15,天,天,3-8,周,周,8-30,周,月,30+,周,努力思考一下再回答,检查需求,分析风险,设计,实现,集成,向用户确认,我等会回答你!,源代码控制,总是应该使用源代码控制,按照合约进行设计(,DBC),前条件,后条件,类不变项,死程序不说谎,要崩溃,不要破坏(早崩溃),如果它不可能发生,用断言保证它不会发生

20、这绝不会发生!,接耦和得墨涅尔法则,关注“正交”和“按照合约设计”,如果,N,个对象全都互相了解,那么对一个对象的改动就可能导致其他,n-1,个对象都需要改动,靠巧合编程,它也许不是真的能工作,-,它也许知识看起来能工作,你依靠的边界也许只是一个偶然,在不同的情况下,它的表现或许就不同。,没有计入文档的行为可能会随着库的下一次发布而变化,多余的和不必要的调用会使你的代码变慢,多余的调用还会增加引入他们自己的新,BUG,的风险,重构,在什么时候开始重构?,重复,非正交的设计,过时的知识,性能,早重构,常重构,面向对象设计的原则,单一职责原则(,SRP),开放,-,封闭原则,(OCP),Liskov,替换原则,(LSP),依赖倒置原则,(DIP),接口隔离原则,(ISP),重用发布等价原则,(REP,),共同封闭原则(,CCP),共同重用原则,(CRP),无环依赖原则,(ADP),稳定依赖原则,(SDP),稳定抽象原则,(SAP),易于测试的代码,单元测试,针对合约进行测试(提示:为测试而设计),使用测试装备,测试文化(你的软件可以这样吗?,Make test),全都是写,内部文档(注释),错误的注释比没有还可怕,如果有歧义?代码才最要紧。,参考资料,人月神话,软件测试方法和技术,程序员修炼之道,-,从小工到专家,代码大全,敏捷软件开发,-,原则、模式与实践,谢谢!,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服