11章软件质量管理与配置管理_第1页
11章软件质量管理与配置管理_第2页
11章软件质量管理与配置管理_第3页
11章软件质量管理与配置管理_第4页
11章软件质量管理与配置管理_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第11章软件质量管理

与软件配置管理

(参考第24章、第25章)软件质量管理

◆软件质量◆软件质量标准◆复查与审查软件配置管理◆有关概念◆变更管理◆版本管理◆系统构建◆发布版本管理1软件质量量管理就就是确保保软件有有较少的的缺陷数数,并达达到可维维护性、、可靠性性、可移移植性、、效率等等既定标标准。质量管理理是对软软件开发发过程进进行的独独立的检检查活动动(如图图所示))。应有有独立的的团队专专门负责责质量管管理。D1D2D3D4D5软件开发发过程质量管理理过程标准和规规程质质量规划划质质量量评审报报告…软件质量量管理与与软件开开发的并并行过程程11.1软件质量量管理2软件质量量管理由由以下三三个主要要活动构构成:•质量保证证定义和选选择应用用于软件件开发过过程和软软件产品品的标准准,建立立起机构构质量规规程和质质量标准准的整体体框架,,•质量规划划从这个框框架中选选择适当当的规程程和标准准,为某某一软件件项目制制定质量量计划。。•质量控制制定义并实实施质量量管理过过程,确确保开发发团队严严格遵守守项目质质量规程程和标准准。3软件质量量保证(SoftwareQualityAssurance,SQA))活动为达达到高质质量软件件提供了了一个框框架。该该活动包包括:•制定软件开发发过程标标准或软软件产品品标准•采用用有效的软软件工程程方法和和工具•过程中采采用的正正式技术术评审•一种种多层次的的测试策策略•对软件文文档及其其修改的的控制•保证规程程和标准准被严格格执行•软件度量量及报告告机制等方面的的内容。。4质量规划划在软件过过程的早早期阶段段进行。。规划说说明产品品的质量量要求以以及产品品质量的的评定方方法(规规范)。。具体内内容包括括:•产品介绍绍:产产品品的性质质、意向向市场•产品计划划:发发布布日期、、销售及及服务计计划•过程描述述:产产品品开发和和管理中中应采用用的标准准•质量目标标:鉴鉴定定和验证证产品的的关键质质量属性性•风险和风风险管理理:主主要要风险及及应对措措施质量控制制就是监督督检查整整个软件件开发过过程,确确保质量量保证过过程和标标准被严严格执行行。511.1.1软件质量量1.软件质量量定义软件质量量是软件产产品和过过程的一一组固有有特性满满足用户户和其他他相关方方要求的的程度。。2.软件质量量的特性性(属性性):在教材P415图24-2列出的质质量属性性有:安全性、、信息安安全性((保密性性)、可可靠性、、可调节节性、鲁鲁棒性、、可理解解性、可可测视性性、适用用性、模模块化、、复杂度度、可移移植性、、可用性性、复用用率、效效率、可可学习性性等。63.过程质量量对产品品质量的的作用软件开发发过程的的质量直直接影响响产品的的质量,,过程相相对易于于标准化化和监控控。过程程质量的的管理和和改进能能减少软软件开发发中产生生的缺陷陷。但软件开开发是创创造性活活动,人人的技能能和经验验对软件件质量影影响很大大。过程质量量管理包包括:•制定过程程标准,,包括如如何进行行评审、、何时进进行评审审等。•对开发过过程进行行监控,,确保过过程标准准的贯彻彻执行。。•向项目管管理层和和客户报报告软件件过程的的进展情情况。7软件标准准是对成功功实践的的认同。。标准为为开发一一个优秀秀质量的的软件提提供了坚坚实的基基础。软件标准准在软件件质量管管理中扮扮演着重重要的角角色,因因为:1.标准封装装了成功功的实践践经验,,可以避避免重犯犯错误。。2.有助于控控制软件件质量。通过使用用标准,,为判断断软件是是否达到到要求的的质量水水平建立立了基础础。3.有助于开开发工作的连连贯性。。都采用用相同的的做法。。11.1.2软件标准准8在质量管理中。。有两类类可以定定义和使使用的的的标准:•产品标准准包括文档档标准((如需求求文档结结构)、、文档编编写标准准(如注注释的标标准写法法)、编编码标准准等。•过程标准准定义软件件开发必必须遵循循的过程程(封装装良好的的开发方方法)。。如描述述、设计计和有效效性验证证过程、、软件变变更控制制过程、、版本发发布过程程等。911.1.3复查与审审查复查(review))和审查((inspection)是检查查项目可可交付文文档的质质量的QA活动,和和软件测测试一样样,作为为软件检检验和有有效性验验证(V&V)过程的的一部分分。质量复查查基于软软件开发发中产生生的文档档来进行行。软件件描述、、设计、、代码、、过程模模型、测测试计划划、配置置管理规规程、过过程标准准以及用用户指南南等都被被复查,,还应当当检查文文档和代代码的一一致性、、完整性性,确保保遵循质质量标准准。10复查不仅仅仅是检检验与标标准的一一致性,,还帮助助发现软软件和项项目文档档中的问问题和遗遗漏。复复查的结结果作为为质量管管理过程程的一部部分被正正式记录录。复查与审审查的目目的是提提升软件件的质量量.质量复查查不同与与管理过过程复查查。过程复查查是将软软件开发发的实际际过程与与计划对对比,主主要关注注点是工工程是否否能够按按时并在在预算范范围内提提交有用用的软件件,同时时将外部部环境因因素考虑虑在内。。111.复查过程程复查过程程分为3各阶段:1)复查前前活动::建建立复查查团队,,安排时时间,分分发复查查文档。。复查团团队成员员需阅读读并理解解软件、、文档及及相关标标准。2)复查会会议:文文档或程程序的作作者和复复查团队队成员一一起讨论论,并记记录复查查决议和和要采取取的行动动。3)复查后后活动::解决提提出的问问题,修修复漏洞洞,重构构软件使使它与质质量标准准相一致致。进一一步检查查是否覆覆盖了所所有的复复查意见见。规划团队准备备个人准备备复查会议议错误改正正重构跟踪复查查意见复查前活活动复查后活活动软件复查查过程活活动图12敏捷开发发中的复复查过程程是非正正式的,,如Scrum方法,在在每次的的软件迭迭代完成成后有一一个复查查会议;;极限编编程方法法中的结结对编程程。敏捷方法法依赖于于个人主主动性来来提升和和重构代代码,通通常不考考虑标准准一致性性的问题题。132.程序审查查程序审查查是“同同行评审审”,开发团队队成员合合作来发发现程序序中的漏漏洞。不不执行程程序,所所以与测测试互补补。程序审查查涉及不不同背景景的团队队成员,,他们需需详细检检查设计计模型和和代码。。审查时,,需使用用一份常常见错误误的检查查表(来来自书本本的实例例和应用用领域的的错误经经验,见见下页表表),该该表由机机构根据据部门标标准和实实践自己己开发,,并应经经常更新新。Fagan(1986)和McConnell(2004)都报告告了通过过程序审审查错误误检测率率可以达达到60%以上。1411.2软件配置置管理软件配置置管理(SoftwareConfigurationManagement,SCM)是应用用于整个个软件过过程中的的庇护性性活动。。软件配置是一一个软件件产品在在生存期期各个阶阶段的不不同形式式和不同同版本的的程序、、文档及及相关数数据的集集合。SCM是对软件开发发过程中中的各阶段段产品和和最终产产品的演演化与变变更以及及版本与与发布管管理。是是CMMI第二级中中的关键键过程域域。它的的主要目目的是对对变更加加以控制制,将变变更对成成本、进进度和质质量影响响降到最最小。15软件配置置管理的的活动系统构建建版本管理理变更管理理发布管理理组件版本本系统版本本系统发布布版本变更提议议SCM中四个相相关的活活动161.变更管理理:评评估来自自客户和和开发者者的软件件变更请请求,分分析变更更的影响响,估算算变更的的费用,,决策是是否变更更,何时时变更。。2.版本管理理:跟踪系系统组件件的多个个版本,,确保不不同开发发者对组组件做出出的变更更不会彼彼此影响响。3.系统构建建:将系统统组件装装配成可可执行程程序的过过程。4.发布管理理:决定发发布或提提交一个个系统的的时间,,准备好好所有待待发布的的信息((可执行行文件、、数据文文件、配配置文件件和文档档等),,并为每每个系统统发布版版本编制制好文档档。17配置管理理需要工工具的支支持,工工具用来来追踪变变更提议议,存储储系统组组件的多多个版本本,从这这些组件件中构建建系统,,并跟踪踪系统版版本的实实际发布布。SCM中的有关关术语::术语解释软件配置项(SCI)程序、文档、数据、组件等,是软件工程过程中创建的信息。配置项会存在多个不同的版本。每个配置项都有一个唯一的名字。配置控制对系统和组件的版本进行记录、识别、储存和维护的过程,确保变更得到管理。版本配置项的一个实例。有一个唯一的标示符(如名字+版本号)18基线开发各阶段不能轻易改变的软件版本(底线)。基线是受控的,即构成系统的软件版本是不能轻易改变的。基线作用用于控制变更,禁止开发人员随便修改一个“已冻结”的工作成果。代码线软件组件以及组件所依赖的其它配置项的集合。主线系统不同版本的基线的序列。工作空间一个私有的工作空间中,对软件的修改不会影响其他开发者对该软件的使用。分支从现存的代码线版本中创建一个新的代码线,新代码线和已存在的代码线可以并行开发。合并通过合并在不同代码线中的单独版本来创建软件的新版本。这些代码线可能由某个代码线先前存在的分支所创建。系统构建通过链接组件和库中适当版本创建一个可执行的系统版本。IEEE对基线的定定义:已已经通过过正式评评审和批批准的规规约或产产品,可可以作为为进一步步开发的的基础,,并且只只能通过过正式的的变更控控制规程程才能改改变它。。19SCISCISCISCISCI配置项库库基线:软件需求求规约软软件设计计规约源源代码测试规程程/用例可运行的的系统存储提取软件工程程任务修改正式技术术评审批准SCM控制基线化的的SCI和项目数数据库((参考教教材1)20

AA1.1A1.2A1.3

BB1.1B1.2B1.3

CC1.1C1.2C1.3

L1

L2EX1EX2代码线((A)代码线((B)代码线((C)库和外部部组件

AB1.2C1.1

L1

L2EX1基线-V1A1.3B1.2C1.2

L1

L2EX1基线-V2代码线、、基线、、主线主线(基基线的序序列)2111.2.1变更管理理变更管理理的任务务•分析变更更请求::研究变变更的必必要性、、经济可可行性((成本--效益比比,是否否合理))和技术术可行性性。•记录和追追踪变更更、评估估变更的的影响。。•采取措施施保证变变更在受受控状态态下进行行。变更管理理过程见下图::22变更管理理过程((参考教教材1)23变更管理理过程从从分析变变更请求求开始,,处于开开发状态态的配置置项尚未稳定定下来,,不受SCM的控制,,对配置置项的变变更不受受限制。。当开发人人员认为为工作已已告完成成,可供供其他配配置项使使用时,,配置项项进入评评审状态态,若通通过评审审就作为为基线允允许进入入配置项项数据库库(check-in),,配置项处于受控控状态,,开发人人员不允允许随便便对其做做任何修修改。配置项的的状态变变化见下下图。对配置项项的变更更控制24两个主要要的变更更控制因因素:•访问控制制:管理哪哪个程序序员有权权访问和和修改SCI。•同步控制制:保证两两个不同同人员完完成的并并行变更更不会相相互覆盖盖。访问控制制与同步步控制流流程如下下图所示示:配置项的的状态变变化评审状态态受控状态态工作状态态开发人员员满意通过评审审checkin未通过评评审checkout25配置对象象的同步步存取控控制流程程加锁:使得当前前被提取取的版本本在放回回之前别别人不能能对它作任何修修改(同同步控制制)。解锁:在经过过SQA和测试后后,提交交修改后后的版本本(新的的基线对象象)并被被解锁。。(该变更更管理的的模式为为Lock-Modify-Unlock模式)2611.2.2..版本管理理版本管理理是跟踪踪软件组组件或配配置信息息由于变变更而产产生的不不同版本本的过程程。一个系统统版本就就是一个个系统的的具体实实例。版版本有内内部版本本和发布布版本。。一个系系统的内内部版本本要比发发布版本本多得多多。系统统的内部部版本是是为内部部开发或或测试而而创建,,内部版版本趋于于稳定后后,才决决定产生生发布版版本。版本管理理也包括括确保由由不同开开发者做做出的变变更不会会彼此影影响,因因此也看看做是管管理代码线和基线的过程。。27基线很重重要,开开发者常常常不得得不重建建一个完完整系统统的特定定版本。。如,一一个产品品线需要要实例化化为不同同客户产产生不同同的个人人系统版版本。假假如客户户报告了了系统中中的错误误,开发发者不得得不重建建这个版版本。为了支持持版本管管理,使使用版本本管理工工具(或或称版本本管理系系统)。。提供以以下功能能或特征征(1-5):28有以下基基本的标标识模式式:•版本编号号每一个版版本或组组件对应应一个明明确的、、唯一的的编号,,如V1.0、V1.1、V1.2…。优点是是简单。。•基于属性性的标识识每个版本本或组件件由名字字和相关关属性共共同标识识。如::V(Language=Java,Platform=WinNT,Date=Jan1999))优点是便便于属性性上的多多种查询询,如查查询“最最新创建建的版本本”。•面向变更更的标识识关联到一一个或多多个变更更。如::V1.0-bugfix表示版本本V1.0的缺陷修修复版本本;V1.0-build-003表示版本本V1.0开发过程程中生成成的第3次构建。。V1.0-rel01表示版本本V1.0的第1个发布版版本。V1.0-rel01-p001表示发布布版本V1.0-rel01的第001号补丁。。1.版本识别别:给版版本分配配标识符符。292.存储管理理:为了了减少只只有少许许差异的的不同版版本所占占存储空空间,版版本管理理系统提提供存储储管理工工具。系系统只存存储每个个版本不不同之处处的列表表(增量量),而而不是每每个版本本的副本本。将这这个列表表应用到到源版本本上(通通常是被被完整地地存储的的最近的的版本)),就能能重建目目标版本本。V1.0V1.1V1.2V1.3D1D2D3V1.2源代码最近版本本创建日期期使用增量量备份的的存储管管理增量备份份存储变变更代码码行,并并封装重重建系统统版本的的指令自动创建建303.变更历史史记录::记录并并列出所所有对系系统或组组件做出出的变更更。可以以利用这这些有标标记的变变更选择择一个特特殊的系系统版本本。4.独立开发发:不同同的开发发者可能能在同一一时间正正在相同同的组件件上工作作。版本本管理系系统能跟跟踪检出出的组件件,确保保由不同同开发者者对组件件做出的的变更不不会彼此此影响。。5.项目支持持:版本本管理系系统可以以支持共共享组件件的多个个项目的的开发。。如CVS(ConcurrentVersionsSystem)中,可可以检入入和检出出所有与与项目相相关的文文件,而而不是一一次只能能在一个个文件上上工作。。31软件开发发是一个个团队活活动,会会有不同同的团队队在同一一时间开开发同一一组件的的情况。。如果一一个开发发者从项项目容器器中检出出一个正正在被开开发的组组件时,,版本管管理系统统会通知知警告其其他开发发者该组组件已被被取出;;当放回回的组件件被修改改,系统统对不同同的版本本给出不不同的标标识符并并分开存存放。如如下图::ABCXYCAlice工作空间间Bob工作空间间XYABCRQY2.1A1.1PC1.1C2.1项目容器器检出检入检出检入版本管理理系统对对独立开开发的支支持32相同组件件独立开开发的一一个后果果是可能能会出现现几个独独立的版版本序列列。如果变更更发生在在代码完完全不同同的部分分,版本本管理系系统会应应用代码码的增量量备份使使组件版版本自动动合并。。所做的的变更可可能有重重叠,开开发者必必须检查查冲突并并修改变变更使它它们相兼兼容。V1.0V1.1V1.0V2.0V2.1V2.2V2.1.1V2.3V2.1.2V2.4合并代码线1分支代码线2分支代码线2.1分支与合合并33系统开发发中经常常是同一产品品不同版版本之间间的并行行开发,,即不同的开开发者独独立地在在不同的的源代码码版本上上工作并并以不同同的方式式做出改改变。3.0FCS当前发布布版本3.0版本维护护分支3.0FCS3.0PBL1维护工作作基线3.0PBL2可作补丁丁程序发发布3.0FCS4.0版本开发发分支4.0BL0开发工作作基线4.0BL14.0BL2Merge使用版本本管理系系统自动动合并,,达到““同一缺缺陷一次次修复,,永不重重现”4.0BL3Createprojects例:对于于同一产产品的维维护与开开发3411.2.3..系统构建建系统构建建是将系系统组件件装配成成一个在在目标计计算机上上的可执执行程序序的过程程。系统统构建可可能有3种不同的的系统平平台:开发工具具私有工作作空间可执行系系统目标平台台版本管理理系统构建服务务器检入检出开发系统统目标系统统构建平台台构建可执执行的系系统版本本。与版版本管理理系统有有交互35系统构建建将软件件有关的的大量信信息与它它的运行行环境组组装起来来。如图所示示:自动构建建系统源代码文文件数据文件件外部的组组件库组装的配配置文文件可执行的的测试可执行的的目标系系统测试结果果编译器和和其他工工具系统构建建的环境境36一个构建建系统((构建工工具)提提供以下下部分或或全部功功能(特特征)::1.构建脚本本生成::解析待待构建的的程序,,给出组组件的信信息以及及它们之之间的依依赖关系系,指定定编译和和连接的的工具,,自动生生成构建建脚本((配置文文件)。。构建系系统应支支持手工工创建和和编辑构构建脚本本。2.版本管理理系统集集成:从从版本管管理系统统中(项项目容器器)检出出需要的的组件版版本。3.编译量最最小化::为减小小编译量量,需检检索是否否存在可可用的已已编译版版本。分分析哪些些组件的的源代码码需要再再编译,,然后才才进行编编译。目目标文件件一般通通过名字字和源代代码文件件联系起起来(后后缀不同同)。374.创建可执执行系统统:将编编译后的的目标代代码文件件以及其其它需要要的文件件(如外外部库文文件、配配置文件件)链接接起来,,创建可可执行的的系统。。5.测试自动动化:能能够使用用工具进进行自动动化测试试,检查查构建是是否被变变更所破破坏。6.报告:提提供关于于构建的的运行和和测试是是否成功功的报告告。7.文档生成成:能够够生成关关于构建建和系统统帮助页页面的版版本注释释。38敏捷方法法中的持续集成成敏捷方法法使用自自动测试试(“烟烟雾测试试”)执执行频繁繁的系统统构建,,是持续续集成的的过程。。步骤::1.将主线系系统从版版本管理理系统检检出到开开发人员员的私有有空间。。2.构建主线线并运行行自动测测试确保保所构建建的系统统能够通通过所有有测试。。若没通通过,构构建终止止。通知知最后提提交主线线的开发发人员,,负责修修复问题题。3.完成系统统组件的的变更。。4.在私有空空间构建建系统并并重新运运行测试试。若测测试失败败,继续续编辑。。395.一旦系统统通过测测试,将将它检入入到构建建平台。。6.在构建服服务器上上构建系系统

温馨提示

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

评论

0/150

提交评论