清华软件工程ppt课件09_第1页
清华软件工程ppt课件09_第2页
清华软件工程ppt课件09_第3页
清华软件工程ppt课件09_第4页
清华软件工程ppt课件09_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件质量概念软件质量保证软件可靠性软件配置管理软件质量管理1软件质量量概念软件质量量的定义义软件质量量特性软件质量量模型软件质量量的度量量和评价价2软件质量量的定义义ANSI/IEEEStd 729-1983定义软件件质量为为“与软件产产品满足足规定的的和隐含含的需求求的能力力有关的的特征或或特性的的全体”。M.J. Fisher定义软件件质量为为“所有描述述计算机机软件优优秀程度度的特性性的组合合”。3质量特性性及其组组合,是是软件开开发与维维护中的的重要考考虑因素素为满足软软件的各各项精确确定义的的功能、性能需需求,符符合文档档化的开开发标准准,需要要相应地地给出或或设计一一些质量量特性及

2、及其组合合。如果这些些质量特特性及其其组合都都能在产产品中得得到满足足,则这这个软件件产品质质量就是是高的。4软件需求求是度量量软件质质量的基基础。不符合合需求的的软件就就不具备备质量。标准定义义了一组组开发准准则,用用来指导导软件人人员用工工程化的的方法来来开发软软件。如果不不遵守这这些开发发准则,软件质质量就得得不到保保证。软件质量量是各种种特性的的复杂组组合。它它随着应应用的不不同而不不同,随随着用户户提出的的质量要要求不同同而不同同。5软件质量量特性软件质量量特性,反映了了软件的的本质。讨论一一个软件件的质量量,问题题最终要要归结到到定义软软件的质质量特性性。定义一个个软件的的质量,就

3、等价价于为该该软件定定义一系系列质量量特性。人们通常常把影响响软件质质量的特特性用软软件质量量模型来来描述。6软件质量量模型软件质量量特性定定义成分层模型型最基本的的叫做基本质量量特性,它可以以由一些些子质量量特性定定义和度度量。二次特性性在必要时时又可由由它的一一些子质质量特性性定义和和度量。1976年Boehm质量模型型1979年McCall质量模型型1985年ISO质量模型型78ISO的软件质质量评价价模型按照ISO/TC97/SC7/WG3/1985-1-30/N382,软件质量量度量模模型由三三层组成成软件质量量需求评评价准则则(SQRC)软件质量量设计评评价准则则(SQDC)软件质

4、量量度量评评价准则则(SQMC)高层和中中层建立立国际标标准,低低层可由由各使用用单位视视实际情情况制定定9Boehm质量模型型10111991年ISO质量特性性国际标标准(ISO/IEC9126)质量特性性:功能性、可靠性、可维护性性、效率、可使用性性、可移植性性推荐21个子特特性:适适合性准准确性互互用用性依依从从性安安全全性成成熟熟性容容错性性可可恢复复性可可理理解性易易学习性性操操作性性时时间特特性资资源源特性可可分析性性稳稳定性性可可变更更性可可测测试性可可安装性性可可替换性性适适应性性一一致致性1213软件质量量的度量量和评价价软件质量量特性度度量有两两类:预测型和验收型。预测度量

5、量是利用定定量或定定性的方方法,估估算软件件质量的的评价值值,以得得到软件件质量的的比较精精确的估估算值。验收度量量是在软件件开发各各阶段的的检查点点,对软软件的要要求质量量进行确确认性检检查的具具体评价价值,它它是对开开发过程程中的预预测进行行评价。14预测度量量有两种。第一种叫叫做尺度度量量,这是一一种定量度量量。它适用用于一些些能够直直接度量量的特性性,例如,出出错率定定义为:错误数数KLOC单位时间间。第二种叫叫做二元度量量,这是一一种定性度量量。它适用用于一些些只能间间接度量量的特性性,例如,可可使用性性、灵活活性等等等。15尺度度量量检查表表16二元度量量检查表表17通过对照照检查

6、项项目,确确定一种种质量特特性的有有无。例如,在在设计和和编码阶阶段的复复杂性度度量,利利用尺度度量量方法来做。对对模块复复杂性的的度量采采用McCabe环路度量量。对于二元度量量,可针对对检查表表中每一一项都应应给以记记分,指指定信息息存在时时记“1”,否则记记 “0”。表表中所有有各项的的分数相相加,即即得度量量结果。18软件的质质量保证证质量保证证的概念念软件质量量保证的的主要任任务质量保证证与检验验软件质量量保证体体系质量保证证的实施施软件的质质量设计计19质量保证证的概念念什么是质质量保证证,它是是为保证产产品和服服务充分分满足消消费者要要求的质质量而进进行的有有计划、有组织织的活动

7、动。质量保证证是面向消费费者的活活动,是为了了使产品品实现用用户要求求的功能能,站在在用户立立场上来来掌握产产品质量量的。软件的质质量保证证就是向向用户及及社会提提供满意意的高质质量的产产品。20软件的质质量保证证活动也也和一般般的质量量保证活活动一样样,是确保软件件产品从从诞生到到消亡为为止的所所有阶段段的质量量的活动动。即为了确定定、达到到和维护护需要的的软件质质量而进进行的所所有有计计划、有有系统的的管理活活动。21软件质量量保证的的主要任任务为了提高高软件的的质量和和软件的的生产率率,软件件质量保保证的主主要任务务大致可可归结为为8点。221.用户户要求定定义熟练掌握握正确定义义用户要

8、要求的技技术熟练使用用和指导导他人使使用定义软件件需求的的支持工工具重视领导全体体开发人人员收集集和积累累有关用用户业务务领域的的各种业业务的资资料和技技术技能。232.力力争不重重复劳动动考虑哪些些既有软件件可以复复用在开发过过程中,随时考虑所生生产软件件的复用用性。243.掌掌握开发发新软件件的方法法在开发新新软件的的过程中中大力使使用和推推行软件件工程学学中所介介绍的开开发方法法和工具具。使用先进进的开发发技术:如结构化技技术、面向对象象技术使用数据据库技术术或网络络化技术术应用开发发工具或或环境改进开发发过程254.组组织外部部力量协协作的方方法一个软件件自始至至终由同同一个软软件开发

9、发单位来来开发,也许是是最理想想的。但但在现实实中常常常难以做做到。改善对外外部协作作部门的的开发管管理。必必须明确规定定进度管理理、质量管理理、交接检查查、维护体制制等各方面面的要求求,建立跟踪检查查的体制。265.排排除无效效劳动最大的无无效劳动动就是因需求规规格说明明有误、设计有误误而造成的的返工。定量记记录返工工工作量量,收集和分分析返工工劳动花花费数据据较大的无无效劳动动是重复劳动动,即相似似的软件件在几个个地方同同时开发发建立互相相交流、信息往往来通畅畅、具横横向交流流特征的的信息流流通网276.发发挥每个个开发者者的能力力软件生产产是人的的智能生生产活动动,它依赖于人人的能力力和

10、开发组织织团队的的能力。开发者必须有学习各专专业业务务知识、生产技术术和管理技术术的能动性性。管理者或产品服务务者要制定技术术培训计计划、技术水平平标准,以及适用于将将来需要要的中长长期技术术培训计计划。287.提提高软件件开发的的工程能能力要想生产产出高质质量的软软件产品品必须有有高水平平的软件工程程能力。在软件开开发环境境或软件件工具箱箱的支持持下,运用先进进的开发发技术、工具和管管理方法法开发软软件的能能力。298.提提高计划划和管理理质量能能力项目开发发初期计划阶段段的项目目计划评评价计划执行行过程中中及计划划完成报报告的评评价将评价、评审工工作在工工程实施施之前就就列入整整个开发发工

11、程的的工程计计划中提高软件件开发项项目管理理的精确确度30质量保证证与检验验其一是切实搞好好开发阶阶段的管管理,检查各各开发阶阶段的质质量保证证活动开开展得如如何;其二是预先防止止软件差差错给用用户造成成损失。为了确保每个个开发过过程的质质量,防止把把软件差差错传递递到下一一个过程程,必须须进行质质量检验验。31质量检验验的原则则用户要求求的是产产品所具具有的功功能,这这是“真真质量”。靠质量检检验,一一般检查查的是“真质量量”的质质量特性性。能靠质量量检验的的质量特特性,即使全数数检验,也只是是代表产产品的部部分质量量特性。必须在各开发发阶段对对影响产产品质量量的因素素进行切切实的管管理,认

12、真检检查实施施落实情情况。32当开发阶阶段出现现异常时时,要从质量量特性方方面进行行检验,看是否否会给后后续阶段段带来影影响。虽然各开开发阶段段进展稳稳定,但但由于工工程能力力不足,软件产产品不能能满足用用户要求求的质量量。这时时可通过检检验对该该产品做做出评价价,判断断是否能能向用户户提供该该产品。要以一定定的标准准检验产产品,根根据产品品的质量量特性,检查各各个过程程的管理理状态。33软件质量量保证体体系软件的质质量保证证活动,是涉及及各个部部门的部部门间的的活动。例如,如如果在用用户处发发现了软软件故障障,产品服务务部门就应听取取用户的的意见,再由检查部门门调查该产产品的检检验结果果,进

13、而而还要调调查软件件实现过过程的状状况,并并根据情情况检查查设计是是否有误误,不当当之处加加以改进进,防止止再次发发生问题题。34为了顺利利开展以以上活动动,事先明确确部门间间的质量量保证业业务,确立部门门间的联联合与协协作的机机构十分重要要,这个机构构就是质质量保证证体系。必须明确反馈馈途径。必须明确各部部门的职职责。必须确定保证证系统运运行的方方法、工具、有关文档档资料,以及系统管理理的规程程和标准准。35必须明确决定定是否可可向下一一阶段进进展的评评价项目目和评价价准则。必须不断地总总结系统统管理的的经验教教训,能够修改改系统。制定质量量保证计计划,在计划划中确定质量目标标确定在每个阶阶

14、段为达达到总目目标所应应达到的的要求确定进度安排排确定所需人力力、资源源和成本本等。36软件质量量保证规规程和技技术准则则规定在项目的的哪个阶阶段进行行评审及及如何评评审;规定在项目的的哪个阶阶段应当当产生哪哪些报告告和计划划;规定产品各方方面测试试应达到到的水平平。在每次评审审和测试试中发现现的错误误如何修修正;37描述希望得到到的质量量度量;说明各种软件件人员的的职责,规定为为了达到到质量目目标他们们必须进进行哪些些活动。建立在各阶段段中执行行质量评评价的质量评价价和质量量检查系系统有效运用用质量信信息的质量信息息系统,并使其其运行。38质量保证证的实施施软件质量量保证的的实施需需要从纵纵

15、向和横横向两个个方面展展开。要求所有有与软件件生存期期有关的的人员都都要参加加要求对产产品形成成的全过过程进行行质量管管理这要求整整个软件件部门齐齐心协力力,不断断完善软软件的开开发环境境。此外外还需要要与用户户共同合合作。39质量目标标与度量量为了开发发高质量量的软件件,需要要明确软件件的功能能,明确软件件应达到到什么样样的质量量标准,即质量目标标。为了达到到这个目目标,在开发过过程中的的各个阶阶段进行行检查和和评价。在做质量量评价时时,需要有对对质量进进行度量量的准则则和方法法。需要有在在软件生生存期中中如何使使用这些些准则和和方法的的质量保证证步骤,以及提提高该项项作业效效率的工具40软

16、件质量量度量和和保证的的条件适应性:适应各种种用户、软件类类型易学性:不需要特特殊技术术,易掌掌握可靠性:同个软件件的评价价结果一一致针对性:设计阶段段就确立立质量目目标,在在各个阶阶段实施施落实。客观性:经济性:41质量保证证活动的的实施步步骤:Target:以用户要要求和开开发方针针为依据据,对质质量需求求准则、质量设设计准则则的各质质量特性性设定质质量目标标。Plan:设定适合合于被开开发软件件的评测测检查项项目(质质量评价价准则)。研讨讨实现质质量目标标的方法法或手段段。Do:制作高质质量的规规格说明明和程序序。在接接受质量量检查前前先做自自我检查查。42Check:以Plan阶段设定

17、定的质量量评价准准则进行行评价。计算结果果用质量量图的形形式表示示出来。比比较评价价结果的的质量得得分和质质量目标标,看其其是否合合格。Action:对评价发现现的问题题进行改改进活动动,如果实实现并达达到了质质量目标标就转入入下一个个工程阶阶段。这样重复复“Plan”到“Action”的过程,直到整整个开发发项目完完成。43444546软件的质质量设计计质量特性性转换为为软件的的内部结结构在软件定义义阶段,必须定义义对软件件的质量量需求。即确定定软件的的质量特特性及必必需的评评价准则则,并定定量地设设定其必必须达到到的质量量水平在以后软软件开发发的每一一阶段结结束时,要算出出评价的的分数,然

18、后与与目标值加加以对照照,以评估估在这一一阶段开开发的软软件质量量是否达达到要求求。47为了实现现规定的的质量特特性,就就需要把把这些质量特性性转换为为软件的的内部结结构的特特性。例如,软软件质量量需求中中的“性能”,可以以转换成成软件内内部结构构中的构构成元素素,即每一个程程序模块块和物理理数据各各自应具具有的性性能特性性。这些性能能特性的的累积就就形成外外部规格格中的性性能特性性。48软件的结结构特性性与评价价标准结构特性性逻辑数据据层次评价标准准全部数据据元素定定义完毕毕所有层次次的操作作符定义义完毕结构特性性功能层次次评价标准准全部功能能元素定定义完毕毕所有层次次的操作作符定义义完毕4

19、9结构特性性逻辑数据据与功能能的对应应关系评价准则则所有数据据都与功功能对应应所有功能能元素都都与数据据对应逻辑数据据与功能能的相互互关系个个数(局局部)50结构特性性物理数据据层次评价准则则全部数据据元素定定义完毕毕物理数据据之间的的所有指指针定义义完毕上述指针针都具有有层次性性51结构特性性模块层次次评价准则则所有模块块定义完完毕模块之间间所有控控制关系系定义完完毕上述关系系都是标标准过程程调用形形式各层次上上的模块块大小适适当52结构特性性物理数据据与模块块的对应应关系评价准则则所有物理理数据都都与模块块对应所有模块块都与物物理数据据对应对应于一一个物理理数据的的模块数数(以一一对一为为

20、好)53结构特性性逻辑数据据与物理理数据的的对应关关系评价准则则所有逻辑辑数据都都与物理理数据对对应对应于一一个物理理数据的的逻辑数数据数(以一对对一为好好)54结构特性性功能与模模块的对对应关系系评价准则则所有功能能都与模模块对应应对应模块块的功能能个数(以一对对一为好)55软件可靠靠性软件生存存期与软软件寿命命的关系系在软件工工程中常常用的定定义软件可靠靠性定义义测试中的的可靠性性分析测试精确确度和测测试覆盖盖度的评评价56软件生存存期与软软件寿命命的关系系一切有生生命的东东西都有有一个“寿命”这个概念念也可以以延伸到到对非生生命产品品的质量量评价上上来。例例如一个个电子产产品的寿寿命就是

21、是指该产产品从出出厂直到到丧失使使用价值值的持续续时间。从软件工工程的角角度来说说,软件产品品的寿命命是指软软件的整整个生存存期。57从软件用用户的角角度来看看,更关关心的是是软件在交交付使用用后的情情况如何何。希望用一一个指标标平均失效效间隔时时间MTBF(MeanTimeBetween Failure)来表明,在规定定的要求求和条件件下,能能在多大大的程度度上依赖赖这个软软件来完完成任务务。我们把在使用期期间软件件能够正正常工作作的持续续时间叫叫做软件件的使用用寿命。58软件的使用寿命命与输入入环境有有关。例如,有有一个存存在缺陷陷的编译译程序,当用于于学生做做简单练练习时,MTBF可能很

22、长长。而做做一个大大的课题题时,由由于程序序连续出出错,MTBF就会变得得很短。MTBF可以看做做是对软软件可靠靠性做估估计的样样本数据据,但不不能看做做是依据据。59“错误”这一术术语。在在没有特特别加以以说明的的情况下下,这是是一个泛泛用的、模糊的的概念。它指的可可能是bug(设计中的的差错)、fault(故障)、error(错误)、failure(失效)、crash(重大事故故)、problem(疑问)等等。在汉译中中,这些些术语的的使用更更加混乱乱。60在软件工工程中常常用的定定义故障(fault):软件的内内在缺陷陷。这些缺缺陷可在在生存期期各个阶阶段被引引入。错误(error):故

23、障在一一定的环环境条件件下的暴暴露,导致系系统在运运行中出出现了不不正常、不正确确、不按按规范执执行的状状态,称称为软件件出错。失效(failure):对错误不不做任何何修正和和恢复, 导致致系统的的输出不不满足用用户要求求,称为软软件的一一次失效效。61以上定义义的故障障、错误误和失效效,分别别代表了了广义的“错误”在不同的的条件下下所对应的的术语。它们可以以理解为为:设计计者的失失误导导致系统统中留有有错误的的设计缺陷陷或“故障”(fault),这些故障导致系统统的错误误执行错误(error),由于错误导致系统统的错误误输出失效(failure)。62故障是物物理地或或静态地地存在的的失误

24、、错错误和失失效都是是系统的的一种动动态的转转瞬即逝逝的现象象软件发生生失效标标志着软软件一次次使用寿寿命的结结束发生过失失效的软软件通常常仍然是是可用的的。只有有当软件件频繁失失效,或或者公认认已经“过时”了的时时侯,软软件才被被废弃,意味着当当前这一一版本软软件使用用寿命的的终结。63软件故障障产生原原因支持软件件工作的的基本条条件(除除硬件外外的操作作系统、数据库库管理系系统、编编译程序序、微代代码等)的缺陷陷软件设计计不当加入了允允许范围围之外的的输入64软件可靠靠性的定定义软件可靠靠性是软软件在给定的时时间间隔隔及给定的环环境条件件下,按设计要要求,成功地运运行程序序的概率。环境条件

25、件指的是是软件的使使用环境境。无论是是什么软软件,如如果不对对它的使使用环境境加以限限制,都都是会失失效的。这种失失效的数数据,不不能用来来度量软软件的可可靠性。65规定的时时间在定义义中,一一般采用用“运行时时间”t作为时间间的尺度度。因具体要处处理的问问题是多多种多样样的其对应的的输入环环境是随随机程序中相相应程序序路径的的选取也也是随机机的软件的失失效也是是随机的的应当把运运行时间间t当作随机机变量来来考虑。66规定的功功能在考虑虑软件可可靠性时时,首先先应当明明确软件的功功能是什什么,哪些功能能是主要要的,哪些功能能是次要要的。一般从从软件需需求分析析说明书书和设计计说明书书中可以以了

26、解这这些情况况。由于功能能不同,失效带带来的损损失就不不一样。因此,还要明明确哪些失效效是致命命的,哪些失效效是非致致命的,哪些又是是容易修修复的。此外,还要明明确,怎样才算算是完成成了一个个规定的的功能。67成功地运运行程序序是指不不仅程序序能正确确地运行行,满足足用户对对它的功功能要求求,而而且当程程序一旦旦受到意意外的伤伤害,或或系统故故障时,能尽快快恢复,仍能正正常地运运行。68测试中的的可靠性性分析在软件开开发的过过程中,利用测试试的统计计数据,估算软软件的可可靠性,以控制制软件的的质量是是至关重重要的。推测错误误的产生生频度,即推测测错误产产生的时时间间隔隔推测残留留在程序序中的错

27、错误数评价测试试的精确确度和覆覆盖率69推测错误误的产生生频度估算错误误产生频频度的一一种方法法是估算算平均失失效等待待时间MTTF(Mean TimeToFailure)MTTF估算公式式(Shooman模型)70故障累积积指数曲曲线模型型71估算软件件中故障障总数ET的方法利用Shooman模型估算程序序中原来来错误总总量ET瞬间估算算72解此方程程组73利用最小小二乘法法进行程程序原有有错误数数ET及K的估算由失效率率整理得若对程序序进行若若干次不不同的功功能测试试,可得得到一系系列实验验数据74Ec(ti),(ti),i= 1, 2, ,n令 有75用最小二二乘法解解此方程程组,可可解

28、出a、b的估计值值最后得到到K,ET的估计值值利用植入入故障法法估算程程序中原原有故障障总数ET捕获再再捕获抽抽样法76设Ns是在测试前前人为地地向程序序中植入入的故障障数,ns是经过一段段时间测测试后发发现的播播种故障障数目,n是在测试中中又发现现的程序序原有故故障数。设测试用例例发现植植入故障障和原有有故障的的能力相相同,则程序中原原有故障障总数N( =ET)估算值为为77Hyman分别测试试法由两个测测试员同同时互相相独立地地测试同同一程序序的两个个副本,用t表示测试时间间,记t0时,程序中原原有故障障总数是是B0;tt1时,测试员甲甲发现的的故障总总数是B1;测试员乙乙发现的的故障总总

29、数是B2;其中两人人发现的的相同故障障数目是是bc;两人发现现的不同故障障数目是是bi。78在大程序序测试时时,头几几个月两两个测试试员测试试的结果果应当比比较接近近,bi不是很大大。这时有有如果bi比较显著著,应当每隔隔一段时时间,由两个测测试员再再进行分分别测试试,分析测测试结果果,估算算B0。如果bi减小,或或几次估估算值的的结果相相差不多多,则B0作为原有有错误总总数的估估算值。79测试精确确度和测测试覆盖盖度的评评价在软件测测试过程程中累积积发现的的故障数数,可用带有有平均值值函数m(t)的非齐次次泊松过过程(NHPP)来描述:其中,N是在测试试中可能能发现的的故障总总数,b是故障发

30、发现率。当N一定时,b越大,在在短期内内发现的的故障越越多。8081N可以认为为是当测试时时间无限限延长时时估计可能能发现的的故障总总数。由于测试的不不完全,在某些些很难发发现的故故障未发发现前就就可能结结束测试试若程序中中潜在的的故障较较少,则则参数N的估计误误差较大大因此,只只用测试试中累积积发现的的故障数数来评价价测试是是不够的的。需要要从测试试的量的方面面和质的方面面,全面地地评价测测试。82SPQL(SoftwareProduct QualityLevel)用如下公公式度量量:SPQL AcCv其中,Ac(Test Accuracy)是测试的精精确度,它反映映了测试试的质量量;Cv(

31、TestCoveragy)是测试的覆覆盖度,它反映映了测试试的数量量。测试结束束时软件件产品质质量水准准83测试质量量的度量量可以靠靠测试的故故障捕捉捉率和遗遗漏率来衡量。测试数量量的度量量指标是是执行的测测试用例例数、确认的程程序路径径数等等;84测试精确确度Ac表明在测测试的过过程中以以多大的的把握捕捕捉了软软件中潜潜在的故故障。测定Ac,需要预先先植入播播种故障障,然后后通过测测试,根根据播种种故障的的捕捉率率来推测测原有故故障的捕捕获率。85用ns表示经过相当当长时间间测试可可能发现现的播种种故障数数,用Ns表示测试试对象软软件内预先埋设设的播种种故障总总数,用平均均值为m(t)的NH

32、PP模型描述测试试时发现现播种故故障的过过程m(t)的收敛值值m()N测试精确确度Ac的推测值值:86若设测试试过程中中到时刻刻ti能发现的的累积播播种故障障总数为为yi,则在测试试期间可可得到一一连串数数据(t0, 0),(t1,y1),(tm,ym)可得到一一组方程程:应用最小小二乘法法可得到到参数N与b的估计值值,并得得到测试试精确度度Ac。87测试覆盖盖率Cv表明在整整个测试试期间发发现软件件内潜在在故障的的可能性性有多大大。可通过被被测试对对象软件件内潜在在的原有有故障的的捕捉率率来测定定的。88测试过程程中已发现原原有故障障总数为n0(实测值),经过过相当长长时间测测试后可能发现现

33、的原有有故障总总数为N0,采用平均均值函数数m(t)的NHPP模型描述测试试发现原原有故障障的过程程m(t)的收敛值值m()Nc测试覆盖盖率Cv的推测值值:89测试开始始后,由由于测试试员对程程序和测测试环境境不熟悉悉,造成成拖期。为描述这这种情形形,对原原来NHPP的指数型型平均值值函数加加以改造造:它是把原来的的指数型型平均值值函数在在时间轴轴上平移移而得到到的结果果,是具有时时间延迟迟的NHPP模型。9091测试员从从发现错错误征兆兆到确认认错误,需要反反复执行行程序,以再现现错误,造成时时间拖延延。因此,在在使用测测试结果果进行软软件质量量评价时时,只用指数数型的NHPP的平均值值曲线

34、(A)是不够的的。实测结果果多是如如(B)所示的S型曲线。92实验表明明:对于一般般功能单单纯的小小规模的的程序模模块,具具有时间间延迟的的NHPP模型比较较合适;对于功能能比较复复杂的程程序模块块,S型NHPP模型比较较合适;对于80000行以上上的程序序,最基基本的指指数型NHPP模型比较较合适。93软件配置置管理在软件建建立时变更是不不可避免免的,因为在在进行变变更前没没有仔细细分析,或没有有进行变变更控制制,变更加剧剧了项目目中软件件人员之之间的混混乱。协调软件件开发使使得混乱乱减到最最小的技技术叫做做配置管管理。配置管理理是一组组标识、组织和和控制修修改的活活动,目目的是使使错误达达

35、到最小小并最有有效地提提高生产产率。94软件配置置管理的的概念软件配置置管理,简称SCM,是一种“保护伞伞”活动动,它应用于整整个软件件工程过过程。SCM活动的目目标是为为了(1)标标识变变更;(2)控控制变变更;(3)确确保变变更正确确地实现现;(4)向向其他他有关的的人报告告变更。95在软件工工程过程程中产生生的所有有信息项项(文档档、报告告、程序序、表格格、数据据)构成了软软件配置置。软件配置置是软件件的具体体形态在在某一时时刻的瞬瞬时影像像。随着软件件工程过过程的进进展,软件配置置项(SCI)数目快速速增加。系统规规格说明明可繁衍衍出软件件项目实实施计划划和软件件需求规规格说明明。它们

36、们又依次次繁衍出出建立信信息层次次的其它它文档。96基线(Baseline)基线是软软件生存存期中各各开发阶阶段末尾尾的特定定点,又又称里程程碑。由正式的的技术评评审而得得到的SCI协议和软软件配置置的正式式文本才才能成为为基线。基线的作用是把把各阶段段工作的的划分更更加明确确化,以便于于检验和和肯定阶阶段成果果。97软件开发发各阶段段的基线线98项目数据据库一旦一个SCI成为基线线,就把它存存放到项项目数据据库中。当软件组组织成员员想要对基线SCI进行修改改时,把它从项项目数据据库中复复制到该该工程师师的专用用工作区区中。例如,把把一个名为B的SCI从项目数数据库复复制到工工程师的的专用工工

37、作区中中。工程师在在B(B的副本)上完成成要求的的变更,再用B来更新B。99有些系统统中把这这个基线线SCI锁定。在变更完完成、评评审和批批准之前前,不许许对它做做任何操操作。100基线SCI和项目数数据库101软件配置置项SCI软件配置置管理的的对象就就是SCI软件配置置项。系统规格格说明软件项目目实施计计划软件需求求说明可执行的的原型初步的用用户手册册设计规格格说明102源代码清清单测试计划划和过程程、测试试用例和和测试结结果记录录操作和安安装手册册可执行程程序(可可执行程程序模块块、连接接模块)数据库描描述(模模式和文文件结构构、初始始内容)正式的用用户手册册维护文档档(软件件问题报报告

38、、维维护请求求、工程程变更次次序)103软件工程程标准项目开发发总结除以上所所列SCI以外,许许多软件件工程组组织还把把配置控制制之下的的软件工工具列入其中中,即编辑程序序、编译程序序、其它CASE工具的特特定版本本。因为要要使用这这些工具具来生成成文档、程序和和数据,如果编编译程序序的版本本不同,可能产产生的结结果也不不同。104配置对象象在实现SCM时,把SCI组织成配配置对象象,在项目目数据库库中用一一个单一的名名字来组组织它们们。一个配置置对象有有一个名字和一组属性,并通过过某些联联系“连连接”到到其它对对象。每个对象象与其它它对象的的联系用用箭头表表示。箭箭头指明明了一种种构造关关系

39、。105配置对象象106双向箭头头则表明明一种相相互关系系。如果对对“源代代码”对对象作了了一个变变更,软软件工程程师就可可以根据据这种相相互关系系确定,其它哪哪些对象象(和SCI)可能受到到影响。107软件配置置管理的的任务软件配置置管理(SCM)的任务是是:标识单个个的SCI标识和管管理软件件各种版版本控制变更更审查软件件配置报告所有有加在配配置上的的变更。108配置标识识一方面随随着软件件生存期期的向前前推进,SCI的数量不不断增多多。整个软件件生存期期的软件配置置就象一一部不断断演变的的电影,而某一一时刻的的配置就就是这部部电影的的一个片片段。为了方便便对软件配配置的各各个片段段(SC

40、I)进行控制制和管理理,不致造造成混乱乱,首先先应给它它们命名。109对象类型型基本对象象:是由软件件工程师师在分析析、设计计、编码码和测试试时所建建立的文本单元元。例如,基本对对象可能能是需求求规格说说明中的的一节,一个模模块的源源程序清清单、一一组用来来测试一一个等价价类的测测试用例例。复合对象象:是基本对对象或其其它复合合对象的的一个收集集。110对象标识识:(名字、描述、资源、实现)对象的名字明确地标标识对象象。对象描述包括:SCI类型(如文档档、程序序、数据据)、项目标识识、变更和或版本信息息。资源包括由对对象产生的、处理的、引用的或其它需要要的一些实体体。基本对象象的实现现是指向文

41、本单元元的指针,复合对对象的实实现为null。111命名对象象之间的的联系对象的层层次关系系:一个对象象可以是是一个复复合对象象的一个个组成部部分,用用联系标识。E-Rdiagram1.4data model;data model DesignSpecification;就可以建建立SCI的一个层层次。112对象的相相互关联联关系:对象跨越越对象层层次的分分支相互互关联。这些交交叉的结结构联系系表达方方式如下下:data model dataflowmodel;(两个复合合对象之之间的相相互联系系)data model testcaseclassm;(一个复合合对象与与一个特特定的基基本对象象

42、之间的的相互联联系)113演变图整个软件件工程过过程中所所涉及的的软件对对象都必必须加以以标识。在对象成成为基线线以前可可能要做做多次变变更,在在成为基基线之后后也可能能需要频频繁地变变更。对于每一一配置对对象都可可以建立立一个演演变图,用演变变图记叙叙对象的的变更历史史。114演变图115在某些工工具中,当前保保持的只是最后后版本的的完全副副本。为了得到到较早时时期(文文档或程程序)的的版本,可以从从最后版版本中“提取”出(由由工具编编目的)变更,使得当前配置置直接可可用,并使得得其它版本本也可用用。116版本控制制版本控制制是SCM的基础,它管理理并保护护开发者者的软件件资源。版本控制制管

43、理在在软件工工程过程程中建立立起配置对象象的不同同版本。版本管理理可以把把一些属性性结合到到各个软软件版本本上。通过描述所希希望的属属性集合合来确定(或构造)所想要的的配置。使用演变图来表示系系统的不不同版本本。117118图中的各各个结点点都是聚合对象象,是一个个完全的软软件版本本。软件的每每一版本本都是SCI(源代码、文档、数据)的一个收收集,且各个个版本都都可能由由不同的的变种组组成。例如,一一个简单单的程序序版本由由1、2、3、4和5等部件件组成。其中部件4在软件使用彩色色显示器器时使用,部件5在软件使用单色色显示器器时使用。因此,可以定定义版本本的两个个变种。119版本管理理的主要要

44、任务集中管理理档案,安全授授权机制制:版本管理理的操作作将开发组组的档案案集中地地存放在在服务器器上,经系统管管理员授授权给各各个用户户。用户通过过登入(checkin)和检出(checkout)的方式访访问服务务器上的的文件,未经授授权的用用户无法法访问服服务器上上的文件件。120121软件版本本升级管管理:每次登入入时,在在服务器器上都会会生成新新的版本本。任何版本本都可以以随时检检出编辑辑,同一一应用的的不同版版本可以以像树枝枝一样向向上增长长。122123加锁功能能:目的是在文件更更新时保保护文件件,避免不同同用户更更改同一一文件时时发生冲冲突。某一文件件一旦被被登入,锁即被解解除,该

45、文件件可被其其它用户户使用。在更新一个个文件之之前锁定定它,避免变变更没有有锁定的的项目源源文件。124在文件登登入和检检出时,需要注注意登入入和检出出的使用用:当需要修修改某个个小缺陷陷时,应应只检出完完成工作作必需的的最少文文件;需要对文文件变更更时,应应登入它它并加锁,保留对每每个变更更的记录录;应避免长长时间地地锁定文文件。如如果需要要长时间间工作于于某个文文件,最最好能创建一个个分支,并在分分支上做做工作。125如果需要要做较大大的变更更,可有有两种选选择:a.将需要的的所有文文件检出出并加锁锁,然后后正常处处理;b.为需要修修改的所所有分支支创建分分支,把把变更与与主干“脱机”,然

46、后后把结果果合并回回去。126变更控制制软件生存存期内全全部的软软件配置置是软件件产品的的真正代代表,必须使使其保持持精确。软件工程程过程中中某一阶段段的变更更,均要引起软件件配置的的变更,这种变变更必须须严格加加以控制和管理,保持修修改信息息。变更控制制包括建立控制制点和建立报告告与审查查制度。127变更控制制过程128129在此过程程中,首首先用户户提交书书面的变变更请求求,详细细申明变变更的理理由、变变更方案案、变更更的影响响范围等等。然后由变变更控制制机构确确定控制制变更的的机制、评价其其技术价价值、潜潜在的副副作用、对其它它配置对对象和系系统功能能的综合合影响以以及项目目的开销销、并把把评价的的结果以以变更报报告的形形式提交交给变更更控制负负责人(最终决决定变更更状态和和优先权权的某个个人或小小组)。130对每个批批准了的的变更产产生一个个工程变变更顺序序(ECO),描述进行行的变更更、必须须考虑的的约束、评审和和审计的的准则等等。要做变更更的对象象从项目目数据库库中检出出(checkout),对其做出出变更,并实施施适当的的质量保保证活动动。然后后再把对对象登入入(checkin)到数据库库中并使使用适当当的版本本控制机机制建立立软件的的下一版版本。131软件变更更有两类类不同情情况:为改正小小错误需需要的变变更。它是必必须进行行的,通通常不需需要从管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论