第11章软件质量透视ppt-PowerPoint演示文精编版

上传人:ahu****ng1 文档编号:143821821 上传时间:2020-09-02 格式:PPTX 页数:43 大小:575.26KB
返回 下载 相关 举报
第11章软件质量透视ppt-PowerPoint演示文精编版_第1页
第1页 / 共43页
第11章软件质量透视ppt-PowerPoint演示文精编版_第2页
第2页 / 共43页
第11章软件质量透视ppt-PowerPoint演示文精编版_第3页
第3页 / 共43页
第11章软件质量透视ppt-PowerPoint演示文精编版_第4页
第4页 / 共43页
第11章软件质量透视ppt-PowerPoint演示文精编版_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《第11章软件质量透视ppt-PowerPoint演示文精编版》由会员分享,可在线阅读,更多相关《第11章软件质量透视ppt-PowerPoint演示文精编版(43页珍藏版)》请在金锄头文库上搜索。

1、第11章 软件质量透视,通过对前面的学习,我们对传统的软件测试有了一个比较全面的认识。我们认识到测试人员需要对产品的质量负责。 那么什么是质量,该如何看待质量? 本章重点讨论: 什么是质量? 如何才能提高软件产品的质量? Deming的14条质量原则是什么? CMM、PSP和TSP之间的关系是什么?,11.1 质量的定义,ISO关于质量的定义表示如下: “ 一个实体(产品和服务)的所有特性,基于这些特性可以满足明显的或隐含的需要。” 我们可以引申出质量的3个维度: 符合目标 目标是客户提出的,符合目标就是判断我们是不是在做我们需要做的事情。在这个维度上用户认为的质量是“产品是否按照用户的需要运

2、行”,11.1 质量的定义,符合需求 检验产品是否在做让它做的事情。 软件产品的需求必须是可度量的,并且产品的需求要么被满足,要么不被满足。根据这种度量,质量也应该是二维的状态,也就是说产品要么是有质量,要么是无质量的。 对于开发者而言,他们认为质量就是满足用户的需求或规格说明书。在此满足规格说明书成为了产品本身的一个终点。,11.1 质量的定义,符合实际需求。 实际的需求包括用户明确说明的和隐含的需求。 而往往我们会忽略隐含的需求。因此控制一个产品的质量的过程中必须关注这些隐含的需求,并给予应有的验证。 产品是为用户提供服务的,凡是不满足客户需求的,我们都认为是一个失效的产品。所以我们的产品

3、必须围绕着客户的需求进行开发和验证。,11.1 质量的定义,“客户”和“用户”的区别: 客户之真正能够决定是否购买你软件的人,而用户是实际使用软件的人。 我们开发软件是应该更多地站在用户的角度去开发,要做到让用户用得方便、舒服、提高了效率。用户的意见能直接反馈到客户那里,作为客户选购软件的依据。 了解两者的区别,在分析需求和进行产品的质量验证时可以做出不同的权衡。,11.1 质量的定义,当每个人提到质量时,经常会遇到下列矛盾,在这些矛盾中隐含着对质量的承诺: 质量需要一个承诺,尤其是高层管理者的承诺。为了得到更高的质量,高层管理者必须和员工进行紧密的合作。 许多相信没有缺陷的产品和服务是不可能

4、的。但是控制在一定级别的缺陷数量是正常的,是可以接受的。,11.1 质量的定义,质量经常是和成本紧密联系在一起的,一个高质量的产品同时也意味着高投入。这是设计的质量和一致性质量的一个矛盾。 一个高的质量要求需求规格说明书足够详细,并根据这些规格说明书可进行定量的分析。然而许多组织没有能力或者不愿意制作如此详细的规格说明书。 技术人员经常相信规范和标准会束缚他们的创造力,因而不愿意遵照标准做事。然而如果要得到高质量的产品,就必须遵循良好定义的标准和过程。,11.2 质量的预防和检测,质量管理可以降低产品的成本,这是因为缺陷发现和修改得越早,所花费的成本就越少。尽管在初期时,其成本投入相当大,但是

5、从长远来看,质量管理将减少后期的维护费用,并最终得到一个高质量的产品。 研究表明:维护阶段发现和修改一个缺陷的成本时需求阶段的70倍甚至更高。 一个有效的质量管理成本包括4个部分:预防成本、检视成本、内部缺陷发现和修改成本、外部缺陷发现和修改成本。,11.2 质量的预防和检测,预防成本包括防止缺陷最初产生的活动的成本。 检视成本包括测量、评价和审计一个产品或服务是否和标准与规格相一致而花费的成本。 内部缺陷发现和修改成本是那些在产品交付之前发现和修改错误所投入的成本。,11.2 质量的预防和检测,外部缺陷发现和修改成本是产品发布之后发现和修改缺陷所花费的成本。外部缺陷有可能是灾难性的,因为它们

6、可能会损害企业的名誉并最终导致销售的下滑。 预防的最大回报是在增加预防成本的同时减少外部缺陷,进而提高产品质量,减少维护成本和产品成本。,11.3 如何提高软件产品的质量,如何提高软件的质量已经不是一个纯粹的技术问题,而是一个工程问题。 自从软件危机产生以来,出现了很多关于提高产品质量方面的理论和方法: 有从技术角度出发的,如面向对象的技术的产生和推广; 有从自动化角度出发的,如CASE工具、过程控制软件、自动化管理平台等; 有从过程模型角度出发,如:迭代模型、螺旋模型等;,11.3 如何提高软件产品的质量,有从管理角度出发的,如:团对管理、责效管理等; 有从测试角度出发的,如: 把Demin

7、g的PDCA循环应用到全流程的测试过程上来; 一些相应的规范和标准也孕育而生,例如:ISO9000系列,CMM等。 然而每一种技术都不是绝对的,软件质量的提高应该是一个综合的因素,需要从各个方面进行改进,同时还需要兼顾成本和进度。,11.3.1 流程对质量的控制,从一个软件企业的长远发展来看,如果要提高产品的质量首先应当从流程抓起,规范软件产品的开发过程。 这是一个软件企业从小作坊的生产方式向集成化规范化的大公司迈进的必经之路,也是从根本上解决质量问题,提高工作效率的一个关键手段。,11.3.1 流程对质量的控制,软件产品的开发同其他产品(如汽车)的生产有着共同特性,即需要按一定的过程来进行生

8、产。 在工业界,流水线生产方式被证明是一种高效的,且能够比较稳定地保证产品质量的一种方式。通过这种方式,不同的人员被安排在流程的不同位置,最终为着一个目标共同努力,这样可以防止人员时间的内耗,极大地提高了工作效率。并且由于其过程来源于成功的案例,因此其最终的产品质量能够满足过程所设定的范围。,11.3.1 流程对质量的控制,软件工程在软件的发展过程中吸取了这个经验并把它应用到了软件开发中,这就形成了软件工程过程,简称开发流程。 开发流程告诉我们该怎样一步一步实现产品,可能会有那些风险,如何避免风险等。由于流程源于成功的经验,因此,按照流程进行开发可以使我们少走弯路,并有效地提高产品质量,提高用

9、户的满意度。,11.3.1 流程对质量的控制,目前流行的流程方法有很多种,不同的流程适合不同类型的项目。 瀑布模型 该模型是应用最为广泛的一种模型,也是最容易理解和掌握的模型,但是它的缺陷也是显而易见的。遗留的需求或者不断变化的需求会使得该模型无所适从。 然而,对于那些容易理解但很复杂的项目,采用瀑布模型比较适合,因为可以按部就班地去处理复杂的问题。在质量要求高于成本和进度时,该模型表现突出。,11.3.1 流程对质量的控制,螺旋模型 是一个经典的模型,它关注于发现和降低项目的风险。螺旋型项目从小的规模开始,探测风险,制定风险控制计划,接着确定下一步项目是否还要继续,然后进行下一步螺旋的反复。

10、 该模型的最大优点是随着成本的增加,风险程度随之降低。缺点是比较复杂,且需要管理人员有责任心,专注以及有管理经验。对管理人员的经验和素质依赖比较大。,11.3.1 流程对质量的控制,RUP模型 该模型是Rational公司提出的一套开发过程模型,它是一个面向对象软件工程的通用业务流程。它描述了一系列相关的软件工程流程,它们具有相同的结构,即相同的流程架构。 RUP为在开发组织中分配任务和职责提供了一种规范方法,其目标是确保在可预计的时间安排和预算内开发出满足最终用户需求的高品质的软件。,11.3.1 流程对质量的控制,RUP有两个轴,一个轴是时间,这是动态的;另一个轴是工作流轴,这是静态的。在

11、时间轴上,RUP分为4个阶段:初始阶段、细化阶段、构造阶段和发布阶段。每个阶段都使用了迭代的概念。 在工作流轴上,RUP设计了6个核心工作流程和3个核心支撑工作流。 核心工作流轴包括:业务建模工作流、需求工作流、分析设计工作流、实现工作流、测试工作流和发布工作流。 核心支撑工作流包括:环境工作流、项目管理工作流和配置与变更管理工作流。,RUP流程示意图,11.3.1 流程对质量的控制,IPD模型 流程是由IBM提出的一套集成产品开发流程,非常适合于复杂的大型开发项目,尤其涉及到软硬件结合的项目。 IPD从整个产品角度出发,流程综合考虑了从系统工程、研发(硬件、软件、结构工业设计、测试、资料开发

12、等)、制造、财务到市场、采购、技术支援等所有流程,是一个端到端的流程。,11.3.1 流程对质量的控制,在IPD流过程中总共划分了6个阶段(概念阶段、计划阶段、开发阶段、验证阶段、发布阶段和生命周期阶段),4个决策评审点(概念阶段决策评审点、计划阶段决策评审点、可获得性决策评审点和生命周期终止决策评审点)以及6个技术评审点。,IPD流程示意图,11.3.1 流程对质量的控制,IPD流程是一个阶段性模型,具有瀑布模型的影子。该模型通过使用全面而且复杂的流程来把一个庞大而又复杂的系统进行分解并降低风险。 一定程度上,该模型是通过流程成本来提高整个产品的质量并获得市场的占有。由于该模型没有定义如何进

13、行流程回退的机制,因此对于需求经常变动的项目,该流程就显得不太适合了。并且对于一些小项目,也不是非常适合使用该模型。,11.3.2流程与技术,流程和成功不是等价的。没有流程,成功就不可能得到保证,但是有了流程并不意味着肯定能够成功。 技术是成功的另外一个必要条件。,11.3.2流程与技术,对于软件开发者来说,要保证软件的质量,需要掌握多方面的技术,包括分析技术,设计技术,编码技术和测试技术等。 在国内有一个普遍的非正常现象,就是大家觉得只有编程才是玩计算机的真正技能。就好像造一套房子,其他都不重要,只要砖瓦匠有高超的技能就行了。 我们缺少系统级的工程师,在分析和设计方面的工作做得很不扎实。,1

14、1.3.2流程与技术,需求是一个项目的灵魂。模棱两可的需求不可避免的后果就是返工重做一些你认为已做好的事情。返工会耗费总开发费用的40,而7085的重做是由于需求方面的错误所导致的。,11.3.2流程与技术,设计是最能体现一个工程师能力的地方。一个好的设计基本上决定了产品的最终质量。 设计是把需求转换成系统的一个关键步骤,它需要从自然语言描述的需求中寻找出设计的基础单元,构建出整个系统的构架。在RUP模型中关于系统架构师和设计师的定位是相当高的。关于设计方面的技能是很广的,包括从系统的结构化设计到面向对象设计。设计人员需要掌握一定的建模技术。,11.3.2流程与技术,UML是国际上比较流行的一

15、种建模语言,在嵌入式方面SDL也是一种很好的建模工具。 设计模式是一本在设计思想方面总结得非常出色得书,作为一个设计人员,必须好好研究一下。,11.3.2流程与技术,现在的程序员热衷于掌握多种编程语言,或者过分讲究语言的技巧化,而往往忽略了编程语言的规范化。不规范的语言应用给程序的可理解性、可维护性以及可测试性带来很大的不便,甚至会损害产品的质量。,11.3.2流程与技术,如果大家是在做研究性的项目和纯粹兴趣性的项目,那么大家充分发挥自己的编程天才是可以的。但是对于一个公司,其产品最终是要交给用户的,需要遵循的是一个软件产品的开发过程。因此这类软件的开发需要遵循一定的编程规范,毕竟开发的软件不

16、是自己用的,还需要和别人集成,还需要给以后版本重用和维护。 总之,流程很关键,技术也很重要,“鱼”和“熊掌”,两者都不能放。,11.3.3全面质量管理,作为全面质量管理的最初倡导者和成功者Deming,其质量理论包括统计理论的使用。 统计有助于我们特别关注于问题的主要因素,当问题改正后能极大地提高产品的质量。,11.3.3全面质量管理,1.Deming的质量原则: 第一个原则: 要有一个坚定不移的目标 为了应用该原则,一个质量保证组织可以: 开发一个质量保证计划,提供一个长期的质量方向; 需要软件测试者为每个项目开发并维护一个一致的测试计划。 鼓励质量分析人员和测试人员遵循具有革新的方法来最大化产品的质量。 致力于不断改进质量过程。,11.3.3全面质量管理,第二个原则:吸收新的哲学 质量必须成为一个新的信仰。根据Deming的理论:“生存的成本和需要花钱购买的商品

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号