SP302-09软件项目配置管理计划_第1页
SP302-09软件项目配置管理计划_第2页
SP302-09软件项目配置管理计划_第3页
SP302-09软件项目配置管理计划_第4页
SP302-09软件项目配置管理计划_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、软件工程项目管理第9章 软件项目配置管理计划北方民族大学 计算机科学与工程学院 陶铮2009年9月1课件 SP302开头的话回顾软件质量计划制定质量计划的依据是:所谓软件质量管理主要是监控项目的交付物和生产交付物的执行过程,目的是确保它们都是符合相关标准的:这叫做质量保证过程;同时,也要按照正确方法来排除那些不合格项能够排除:这叫做质量控制过程。2什么是交付物?交付物怎么管理?我们已经知道:质量管理对象,是针对项目过程中那些对最终产品起着重要的作用的中间产品这就是交付物(最终交付物的前身),主要是:需求规格、设计说明书源程序测试计划测试结果等。3交付物的演变情况试想五个人一起编程开发,各有10

2、个模块任务。一个人一天一个模块,10天完成问:到第10天,每个人的10个模块有多少个版本?10个人开发的100个模块共有多少个版本?集成这100个模块有多少个集成方案?每个集成方案有多少个版本?版本问题从需求描述开始:系统需求在软件开发和使用的过程中总是不断地变化着,我们不得不把这些需求合并到新的系统版本中配置对选定的软件工作产品的新的描述。4配置管理的必要性进化中的系统之所以需要管理,是因为系统在进化时会产生许多不同的版本,这些版本包含了变更建议、错误修正以及对不同硬件和操作系统的适应等诸多内容。对于可能同时开发、同期使用的几个版本,需要跟踪它们,明确已经实现的变更以及这些变更是怎样包含在软

3、件产品中的。5一个软件的系统系列配置管理的必要性-2如果没有有效的配置管理规程,就可能浪费精力修改一个错误的系统版本或发放一个错误版本给用户,甚至不知道系统源代码存放在什么地方。例如,配置管理不善,会导致软件测试陷入“泥潭”:缺陷只能在测试环境出现,但是在开发环境中无法重现; 已经修复的缺陷在测试时又重现; 发布程序在内部确认测试中测试通过,但是发布时却发生系统运行失效的情况。69.1软件配置管理概述79.1.1 配置管理定义软件配置管理(Software configuration Management,SCM),是指一套管理软件开发和软件维护以及各种中间软件产品的方法和规则。特别是:中间的

4、软件产品和用于创建中间软件产品的信息,都应处于软件配跟管理控制之下。信息指文档。软件配置管理是控制软件系统演变的学科。8你是怎样管理自己的文件的?最基本的,文件夹-文件名-保存(修改)的时间高级的,标注版本再高级的呢没了。因为是你自己的,自己管。但是,配置管理是管理大家的工作产品,是必要且复杂的工作。9既然软件配置是管理大家做的软件和文档,所以需要系统化、集成化管理难点就在这里!统一标识在给定时间点上软件的配置;系统地控制对配置的更改;不间断地维护整个软件生存周期中的配置的完整性和可追溯性。10示例:每日构建配置管理1.开发机构规定好系统组件的提交时间比如下午2点此时,如果开发者正在写这些组件

5、的新版本,那么他们必须在规定时间之前提交。组件可能不完备,但是必须具备一些基本的、可以测试的功能。2.规定代码编译和新版本软件的建立通过编译和连接这些组件使之形成一个完整的系统,这样系统的新版本就建立起来了。3.提交测试新版本的系统被提交到测试团队,由他们来完成预先确定好的一组系统测试。注意:在这期间,开发人员仍然在处理他们的组件,或增加组件的功能,或修改测试中发现的错误。4.测试后的工作将系统测试过程中发现的错误编写成文档,交给系统开发人员。他们在这个组件的后续版本中修改这些错误。119.1.2 配置管理的目标配置管理的目标软件配置的完整性和可追溯性。达到这个目标,需要一个过程控制某个配置项

6、及其后续变更,记录并报告配置项的状态以及变更要求。什么是配置项?配置管理的子目标标识变更。控制变更。确保变更正确实现。向有关的人员报告变更。12配置管理是一个复杂的信息管理软件配置管理的主要思想和具体内容在于版本控制。139.1.3 配置管理在软件开发中的作用配置管理是对系统变更所做的管理。在维护一个系统时,配置管理团队的作用是保证变更是在受控状态下完成的。配置管理,是项目经理最费心的事务性管理版本控制管理版本信息对软件开发过程中各种程序代码、配置文件及说明文档等文件变化的管理。最主要的功能就是追踪文件的变更。记录了每个配置项的发展历史,这样就保证了版本之间的可追踪性。并行开发的版本管理解决版

7、本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率14软件配置管理是软件项目管理中的一种非常有效和现实的技术,它能非常有效地适应软件开发需求。版本控制不等于配置管理,版本控制,并不能解决开发管理中的深层问题。项目管理(需求、计划、进度、里程碑、变更)对开发者工作空间的管理(资源、任务分配、绩效)159.2配置管理的相关概念169.2.1 配置项软件配置项(Software Configuration Item,SCI),是项目定义其受控于软件配置管理的项。即标题。示例(本章案例内容):配置项标识命名规范命名规范,适用于过程文档、生存期中各阶段的计划、需求、设计、代码、测试、手册等文件

8、。项目文件命名规范由5个字段组成,从左到右依次为:公司、项目、类型、编号和版本号,如图9A-1所示。这些字段用一横线(-)分隔。1718图9A-1文档命名规范类 型主要配置项/控制项技术合同合同SOW计划项目计划质量保证计划配置管理计划需求需求规格说明书用户DEMO设计总体设计说明书数据库设计详细设计说明书设计术语及规范编程源程序编码规则测试测试计划测试用例测试报告提交运行产品验收报告用户手册19再看配置管理概念图20项目经理关注的信息集合9.2.2 基线基线(Basic Line): “已经正式通过复审和批准的某规约或产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程改变。”

9、IEEE对基线的定义为了管理变更,就要有所区别所有需加以控制的配置项分为基线配置项和非基线配置项两类。基线配置项最重要。21基线配置项可能包括所有的设计文档和源程序等非基线配置项可能包括项目的各类计划和报告等。注意:基线是一个或者多个配置项的集合,因此它的形成往往需要一定的过程。内容和状态已经通过技术的复审,并在生存期的某一阶段被接受了。22关于配置项复审目标是验证配置项被接受之前的正确性和完整性一旦配置项经过复审,并正式成为一个初始基线,那么该基线就可以作为项目生存期下面开发活动的起始点。23基线的图示(1)总体情况24图9.4基线图示(转向)图9.4基线图示基线1基线2基线3基线4思考:怎

10、样得到基线4?基线的图示(2):细节情况25如何规划一个UCM工程/developerworks/cn/rational/r-sunzq/基线的图示(3)产品情况对基线图示(2)的解释26请问:这里的配置项是依据什么确定的?基线的表格描述也是对基线图示(2)的解释27建立基线的好处好处:控制配置项不得随意改动,同时又不过分阻止合理的变化。对于已成为基线的配置项,虽然可以修改,但必须接照一个特殊的、正式的过程进行评估,确认每一处修改。相反,对于未成为基线的配置项,可以进行非正式修改。28基线不是不让变化!变化意味着两个连续的版本之间的不同(如从配置项中添加和去掉的线和图)。不能简单地认为变化就是

11、改变。这里的关键词是“不同”。基线是否可以改变,要看变化本身的特征通常,修复一个系统错误或添加一个功能到系统上,要求对几个配置项做变化形成变化集。如果两个变化集不重叠(即,如果它们用于不同的且无关的配置项集合时),它们能够以任意的顺序应用到同样的基线上,这为选择配置的开发者提供了更多的灵活性。29怎样做到这一点?有变化才有产品的发布309.2.3 配置控制委员会配置控制委员会(Software configuration Control Board,SCCB)可以是一个人也可以是一个小组,基本是由项目经理及其相关人员组成。SCCB承担变更控制的所有责任,具体责任如下:评估变更。批准变更申请。在

12、生存期内规范变更申请流程。对变更进行反馈。与项目管理层沟通。319.3配置管理过程329.3.1 配置项标识跟踪配置项应该被唯一标识,同时应该定义软件配置项的表达约定。通常,一个配置项与其他的配置项存在一定的关系,跟踪配置项之间的关系是很重要的。图9-6是需求规格配置项和系统测试用例配置项的跟踪关系。33349.3.2 配置管理环境的建立配置管理环境配置管理库,简称配置库。是用于更好地进行软件配置管理的系统环境。配置库存储内容所有配置项的集合和配置项修改状态记录的集合配置项(SCI)相应版本修改请求、变化记录等内容只要没有新的版本,配置库中的文件是不会变的(禁止修改)任何更改都被视为创建了一个

13、新版本的文件359.3.3 基线变更管理变更应受到控制,这种变更要经SCCB授权,按照程序进行控制并记录修改的过程。变更管理也就是对配置的控制防止开发人员对软件的随意变更,需要在管理上实施复审和批准过程。36推荐的阅读材料:微软的配置管理与变更管理/china/technet/itsolutions/msit/valuecard/chgconfigmgmt.mspx9.3.4 配置审核配置管理活动审核用于确保项目组成员的所有配置管理活动,遵循已批准的软件配置管理方针和规程,如检入/检出的频度、产品版本升级原则等基线审核保证基线化软件工作产品的完整性和一致性,其目的是保证基线的配置项(SCI)正

14、确地构造并正确地实现,并且满足其功能要求37小知识:检入/检出(签入/签出)这是代码或文档源文件的版本管理术语签出使用户在编辑文件的同时可以将其锁定,从而防止其他人不慎覆盖或编辑它。只有签出文档的用户可以编辑该文档。签入解除对编辑功能的锁定,使其他用户可以查看更新的文件或签出该文件。参考:使用 Rational ClearCase 检出和检入配置项/car/programming/rup/toolment/clearcase/tm_cico.htm基线的完整性和一致性基线的完整性覆盖面问题基线库是否包括所有计划纳入的配置项,基线库中配置项自身的内容是否完整。对于代码,要根据代码清单检查是否所有源文件都已存在于基线库中。编译所有的源文件,检查是否可产生最终产品。基线的一致性检查点问题需求与设计以及设计与代码的一致性如何?在有变更发生时,所有受影响的部分是否都做了相应的变更?审核发现的不符合项要进行记录,并跟踪直到解决。399.3.6 配置管理的其他作用9.3.5 配置状态统计(略)配置管理在产品生成、过程管理、软件的复用、小组协作开发等方面也起着非常重要的作用。向用户交付的软件产品,必须从软件配置管理库中生成。过程管理(质量管理),和配置管理一同解决要交付给用户的产品是否经过测试和质量检查的问题。所以,项目管理计划必须是集成的!

温馨提示

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

评论

0/150

提交评论