第13章 软件质量管理.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第13章 软件质量管理.ppt》由会员分享,可在线阅读,更多相关《第13章 软件质量管理.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第13章 软件质量管理n 从质量保证到质量认证n 质量保证n 软件可靠性n 程序正确性证明n CMM 软件能力成熟度模型n ISO9000 国际标准n 软件度量1从软件质量保证到质量认证 n 质量管理的三个阶段n 质量检验n 全面质量管理TQC n 质量认证n CMM 软件能力成熟度模型 n ISO 9000 国际标准 2 质量是产品的生命,不论生产什么产品,质量都是极端重要的。软件产品开发周期长,耗费巨大的人力和物力,更必须特别注意保证质量。一、软件质量 软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。更具体地说,软件质量是软件符合明确地叙述的功能和性能需求、文档中明确描述的开发
2、标准、以及所有专业开发的软件都应具有的隐含特征的程度。上述定义强调了下述的三个要点。13.1 质量保证3软件需求是度量软件质量的基础,与需求不一致就是质量不高。指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致质量不高。通常,有一组没有显式描述的隐含需求(例如,期望软件是容易维护的)。如果软件满足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。4图13.1软件质量因素与产品活动的关系 影响软件质量的主要因素从管理角度对软件质量的度量。可以把这些质量因素划分成三组,它们分别反映用户在使用软件产品时的三种不同倾向或观点。McCall的软件质量要素5一
3、、软件质量(续)6二、软件质量保证措施软件质量保证(Software Quality Assurance,SQA)的措施主要有:基于非执行的测试(也称为复审):用于保证软件在编码之前各阶段产生的文档的质量基于执行的测试:在程序编写出来之后进行,是保证软件质量的最后一道防线程序正确性证明:用数学方法来严格验证程序是否与对它的说明完全一致13.1 质量保证7参加软件质量保证的人员分为:软件工程师:通过采用可靠的技术方法和度量、进行正式的技术复审以及完成计划周密的测试保证软件质量SQA小组:辅助软件工程小组以获得高质量的软件产品,包括计划、监督、记录、分析和报告。二、软件质量保证措施(续)8质量保证
4、的活动内容 复审:计划与开发方法:设计、编码控制:软件配置软件测试开发方法符合“软件开发规范”计划、开发等各阶段均需要复审确保各阶段要产生完整、正确的配置项91、技术复审的必要性 正式技术复审的明显优点是,能够较早地发现错误,防止错误被传播到软件过程的后续阶段。正式技术复审实际上是一类复审方法,包括走查(Walkthrough)和审查(Inspection)等具体方法。走查的步骤比审查少,而且没有审查那样正规。二、软件质量保证措施(续)102、走查(1)参与者驱动法 参与者按照事先准备好的列表,提出他们不理解的术语和认为不正确的术语。文档编写组的代表必须对每个质疑做出回答,要么承认确实有错误,
5、要么对质疑做出解释。(2)文档驱动法 文档编写者向走查组成员仔细解释文档。走查组成员在此过程中不时针对事先准备好的问题或解释过程中发现的问题提出质疑。这种方法可能比第一种方法更彻底,往往能检测出更多错误。经验表明,采用文档驱动法时许多错误是由文档讲解者自己发现的。二、软件质量保证措施(续)113、审查 审查的范围要比走查广泛得多,它的步骤也比较多。一般来说,审查有5个基本步骤。(1)综述:由负责编写文档的一名成员向审查组成员综述该文档。综述会议结束时把文档分发给每位与会者。(2)准备:评审员仔细阅读文档。最好列出在审查中发现的错误的类型,并按发生频率把错误类型分级,以辅助审查工作的进行。这些列
6、表有助于评审员们把注意力集中到最常发生错误的区域。二、软件质量保证措施(续)12(3)审查:评审组仔细走查整个文档。和走查一样,这一步的目的也是找出文档中的错误,而不是改正它们。审查组组长必须在一天之内写出一份关于审查的报告。通常每次审查会不超过90分钟。(4)返工:文档的作者负责解决在书面报告中列出的所有错误及问题。(5)跟踪:组长必须确保所提出的每个问题都得到了圆满的解决(要么修正了文档,要么澄清了被误认为是错误的条目)。必须检查对文档所做的每个修正,以确保没有引入新的错误。如果在审查过程中返工量超过5%,则应该召集审查组再对文档全面地审查一遍。3、审查(续)13可用错误检验表辅助发现错误
7、或对错误进行发分类。二、软件质量保证措施(续)144、程序正确性证明 正确性证明的基本思想是证明程序能完成预定的功能。因此,应该提供对程序功能的严格数学说明,然后根据程序代码证明程序确实能实现它的功能说明。如果在程序的若干个点上,设计者可以提出关于程序变量及它们的关系的断言,那么在每一点上的断言都应该永远是真的。假设在程序的P1,P2,Pn等点上的断言分别是a(1),a(2),a(n),其中a(1)必须是关于程序输入的断言,a(n)必须是关于程序输出的断言。为了证明在点Pi和Pi+1之间的程序语句是正确的,必须证明执行这些语句之后将使断言a(i)变成a(i+1)。如果对程序内所有相邻点都能完成
8、上述证明过程,则证明了输入断言加上程序可以导出输出断言。如果输入断言和输出断言是正确的,而且程序确实是可以终止的(不包含死循环),则上述过程就证明了程序的正确性。二、软件质量保证措施(续)1513.2 配置管理 软件配置管理的主要目的就是控制在软件开发过程中的各种变化、修改的管理,从某种意义上是软件质量保证的一部分,但专注于软件各个成份的变化和修改的控制,从而保证各个成份之间的一致性。软件配置管理从总的来说包括识别软件变化、控制变化、保证变化正确进行以及向感兴趣的其他人员报告变化。16软件配置管理活动,包括:识别软件成份,并具体确定软件配置管理的对象软件成份的版本控制(versioncontr
9、ol),维持各个成份之间一致的版本变化控制(changecontol):以严格的过程控制软件成份的变化配置审核(configurationauditing):保证所要进行的变化正确地实现报告(reporting):向其他相关成员报告软件成份的变化13.2 配置管理(续)17 软件配置管理不同于软件维护。维护是在软件交付给用户使用后才发生的,而软件配置管理是在软件项目启动时就开始,并且一直持续到软件退役后才终止的一组跟踪和控制活动。软件配置管理的目标是,使变化更容易被适应,并且在必须变化时减少所需花费的工作量。13.2 配置管理(续)18一、软件配置1、软件配置项 软件过程的输出信息可以分为三类
10、:(1)计算机程序(源代码和可执行程序);(2)描述计算机程序的文档(供技术人员或用户使用);(3)数据(程序内包含的或在程序外的)。上述这些项组成了在软件过程中产生的全部信息,我们把它们统称为软件配置,而这些项就是软件配置项。可以把软件配置管理看作是应用于整个软件过程的软件质量保证活动,是专门用于管理变化的软件质量保证活动。13.2 配置管理(续)192、基线 基线是一个软件配置管理概念,它有助于我们在不严重妨碍合理变化的前提下来控制变化。IEEE把基线定义为:已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。一、软件配置(续)20
11、 基线就是通过了正式复审的软件配置项。在软件配置项变成基线之前,可以迅速而非正式地修改它。一旦建立了基线之后,虽然仍然可以实现变化,但是,必须应用特定的、正式的过程(称为规程)来评估、实现和验证每个变化。一、软件配置(续)基线成分1、系统规格说明2、软件项目计划3、软件需求规格说明4、初步的用户手册5、设计规格说明6、源代码清单7、测试规格说明8、操作和安装手册9、可执行程序10、数据库描述11、联机用户手册12、维护文档13、软件工程的标准和规程21二、软件配置管理过程 软件配置管理是软件质量保证的重要一环,它的主要任务是控制变化,同时也负责各个软件配置项和软件各种版本的标识、软件配置审计以
12、及对软件配置发生的任何变化的报告。具体来说,软件配置管理主要有五项任务:标识、版本控制、变化控制、配置审计和报告。13.2 配置管理(续)221、标识软件配置中的对象 为了控制和管理软件配置项,必须单独命名每个配置项,然后用面向对象方法组织它们。可以标识出两类对象:基本对象和聚集对象(可以把聚集对象作为代表软件配置完整版本的一种机制)。每个对象都有一组能惟一地标识它的特征:名字、描述、资源表和“实现”。其中,对象名是无二义性地标识该对象的一个字符串。二、软件配置管理过程(续)232、版本控制 版本控制联合使用规程和工具,以管理在软件工程过程中所创建的配置对象的不同版本。借助于版本控制技术,用户
13、能够通过选择适当的版本来指定软件系统的配置。实现这个目标的方法是,把属性和软件的每个版本关联起来,然后通过描述一组所期望的属性来指定和构造所需要的配置。二、软件配置管理过程(续)24图13.2 演化图2、版本控制(续)253、变化控制 对于大型软件开发项目来说,无控制的变化将迅速导致混乱。变化控制把人的规程和自动工具结合起来,以提供一个控制变化的机制。需建立统一的变化控制授权(change ontrol authority)机构,由该机构负责控制进入基线后的所有软件成份的变化。二、软件配置管理过程(续)26 变化控制过程:识别变化提交变化报告变化控制授权机构审查审查通过,将变化要求插入到工程变
14、化序列当处理这个变化时确定该变化所涉及的软件配置管理对象将这些软件配置管理对象退出基线实施真正的变化测试和评审变化被正确实现将变化后的软件配置管理对象加入基线建立软件配置管理对象的新的版本评估这种变化对其他软件配置管理对象的影响建立整个软件新的版本发布软件新的版本3、变化控制(续)2713.3 软件可靠性一、基本概念1、软件可靠性的定义 软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。28可靠性1.R(t)=e-t=故障率,即单位时间内程序运行失败的次数。T=程序运行时间2.直接计算系统的平均无故障时间MTTF,在故障率为常量的情况下,MTTF=1/3.sys=s+h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第13章 软件质量管理 13 软件 质量管理
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内