软件配置管理计划_第1页
软件配置管理计划_第2页
软件配置管理计划_第3页
软件配置管理计划_第4页
软件配置管理计划_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

第10章软件配置管理计划软件项目中可能遇到的问题开发人员使用错误的版本修改程序开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;人员流动,交接工作不彻底造成软件关键部件遗失;已修复的Bug在新版本中出现;找不到某个文件的历史版本;无法重新编译某个历史版本,使维护工作十分困难;因协同开发中,或者异地开发,版本变更混乱导致整个项目失败;……如何有效的进行软件项目管理软件项目进行中面临的一个主要问题是持续不断的变化。有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标。10.1概述软件配置管理概述指一套管理软件开发和软件维护以及各种中间软件产品的方法和规则。记录软件产品的演化过程确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。最终保证软件产品的完整性、一致性、追朔性、可控性主要思想和具体内容在于版本控制,版本控制注意功能是追踪变更配置管理定义软件配置管理,缩写为SCM(SoftwareconfigurationManagement),是一套规范、高效的软件开发管理方法,同时也是提高软件质量的重要手段,它帮助开发团队对软件开发过程进行有效的变更控制,高效地开发高质量的软件。配置管理的使用取决于项目规模和复杂性以及风险水平。软件配置管理是一套管理软件开发和维护以及其中各种中间软件产品的方法和规则,配置管理通过在特定的时刻选择软件配置,系统地控制对配置的修改,并在整个软件生命周期中维护配置的完整性和可追踪性。中间软件产品和用于创建中间软件产品的控制信息都应处于配置管理的控制下。配置管理的目标配置管理是对系统中配置项进行标识和定义的过程,通过控制某个配置项及其后续变更,记录并报告配置项的状态和变更要求,证明配置项的完整性和正确性实现。软件配置的目标:软件配置管理的各项工作是有计划进行的。被选择的项目产品得到识别,控制并且可以被相关人员获取。已知别出项目产品的更改得到控制。使相关组别和个人及时了解软件基线的状态和内容。配置管理的作用我(他)是谁?为什么我(他)在这里?为什么我(他)是某某?我(他)属于哪里?配置管理主要功能支持并行开发。因开发和维护的原因,要求能够实现开发人员同时在同一个软件模块上工作,同时对同一个代码部分作不同的修改,即使是跨地域分布的开发团队也能互不干扰,协同工作,而又不失去控制。修订版管理。跟踪每一个变更的创造者、时间和原因,从而加快问题和缺陷的确定。版本控制。能够简单、明确地重现软件系统的任何一个历史版本。产品发布管理。管理、计划软件的变更,与软件的发布计划、预先定制好的生命周期或相关的质量过程保持一致;项目经理能够随时清晰地了解项目的状态。建立(build)管理。基于软件存储库的版本控制功能,实现建立过程自动化。过程控制。贯彻实施开发规范,包括访问权限控制、开发规则的实施等。变更请求管理。跟踪、管理开发过程中出现的缺陷、功能增强请求或任务,加强沟通和协作,能够随时了解变更的状态。代码共享。提供良好的存储和访问机制,开发人员可以共享各自的开发资源。软件配置管理的主要活动配置识别;变更控制;状态报告;配置审计;10.2配置管理的相关概念配置项配置项(ConfigurationItem,CI)指一个配置中的实体,它满足一项最终使用功能,并能在给定的参考点上单独标识。产品配置项(ProductConfigurationItem,

PCI)是指一个产品在其生命周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件以及数据的集合。该集合中每一个元素成为该产品的一个配置项。属于该产品组成部分的工作成果;属于项目管理和机构支撑过程域产生的文档;软件配置项软件配置项(SoftwareConfigurationItem,SCI)是项目定义其受控于软件配置管理的项。每个项目的配置项也许会不同。一个软件配置项是一个特定的、可文档化的工作产品集,这些工作产品是生存期中产生或者使用的。常见配置项示例项目计划书系统规格说明书软件需求规格说明书设计规格说明书源代码清单测试规格说明书版本、版本控制与配置管理版本软件的每一个版本都是源代码、文档及数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。版本控制与配置管理版本控制是CM(ConfigurationManagement)的关键部分版本控制不等同于配置管理版本控制是软件配置管理重要部分,但不是配置管理的全部。配置项版本需求规格需求规格V1.1需求规格V1.2需求规格V1.3配置项类配置项实例基线定义基线提供了软件生存期中各个开发阶段的一个特定点一个(些)配置项形成并通过审核,即形成基线基线标志开发过程一个阶段的结束和里程碑基线修改需要执行正式的程序(IEEE)基线已经正式通过复审和批准的某规约或产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程改变。基线/基准配置项----成为基线的配置项,也就是经过正式评审和认可的一组软件配置项,是后续工作的基础,例如:经过批准的设计报告可作为软件基准配置项,是编码工作的基础。非基线/基准配置项----没有成为基线的配置项,也就是没有正式评审认可的一组软件配置项,例如设计报告的某一个版本,但是其不是最终批准的版本。基线由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中配置项不能随意修改。基线通常对应开发过程中的里程碑(Milestone)基线的本质软件工程活动从一个环节转入另外一个环节时对阶段产品或组件的标识。一个软件项目需要建立的基线:需求基线。设计基线。开发基线。测试基线。发布基线。软件开发各个阶段基线图示系统工程需求分析软件设计程序编写测试系统提交系统规格说明软件需求规格说明软件设计说明源代码测试计划、过程、数据可运行系统基线的作用把开发阶段的工作划分更明确,使连续的工作在这些点上断开,以便于检查和肯定阶段成果。属性名称;标识符;版本;日期;ReleaseBuild软件项目配置角色配置控制委员会SCCB评估变更批准变更申请在生存期内规范变更申请流程对变更进行反馈与项目管理层沟通项目经理制定项目的组织结构和配置管理策略。批准、发布配置管理计划。决定项目起始基线和软件开发工作里程碑。接受并执行配置控制委员会的报告内容。软件项目配置角色配置管理员软件配置管理工具的日常管理与维护。提交配置管理计划。各配置项的管理与维护。执行版本控制和变更控制方案。完成配置审计并提交报告。对开发人员进行相关的培训。识别开发过程中存在的问题并制定解决方案。开发人员开发人员的职责就是根据项目组织确定的配置管理计划和相关规定,按照配置管理工具的使用模型来完成开发任务。软件项目配置角色系统集成员(SyslemIntegrationOfficer)集成修改。构建系统。完成对版本的日常维护。建立外部发布版本。QA人员QA人员需要对软件配置管理有较深的认识,其主要工作是跟踪当前项目的状态,测试,报告错误,并验证其修复结果。配置管理员分类全职配置管理员开发员、配置管理员、测试员、项目经理等这些角色都在一个小组内,配置管理角色会和其他角色由同一个员工兼任。兼职配置管理员一个新的项目时,项目经理来申请一个配置管理员负责支持其项目的配置管理,但是这个配置管理员也会兼职从事其他项目的配置管理。10.3配置管理过程配置管理基本的活动配置标识审核状态统计变更控制配置管理的基本过程1)配置项标识、跟踪2)配置管理环境建立3)基线变更管理4)配置审计5)配置状态统计6)配置规划识别配置项识别配置项识别将置于配置管理之下的配置项和有关的工作产品。包括:交付给顾客的产品;制定内部工作产品;采办的产品、工具;其他用于创建和描述这些工作的实体;配置项标识识别产品的结构、产品的构件及其类型,并为其分配唯一的标识符。提供存取控制。同时找出需要跟踪管理的中间产品,并维护其关系。配置项识别1识别过程描述;需求;设计;测试计划和规程;测试结果;代码;工具;接口描述;2分配唯一的标识号3确定每个配置项的重要特征4确定进入配置管理的时间5确定每个配置项的拥有者的责任6填写配置项管理表7审批配置项管理表配置项标识、跟踪将软件项目中需要进行控制的部分拆分成基本单位。因为项目中要生成很多的过程文件。建立唯一的标识。建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致。配置项拆分示例设计规格说明书

a.数据设计描述

b.总体结构设计描述

c.模块设计描述

d.界面设计描述界面设计1界面设计2,。。。。

e.对象描述配置项拆分示例项目名称_所属阶段_产品名称_版本标识版本标识以V开头版本号分三部分:主版本号、次版本号、内部版本号QTD-School–RM–SRS-v1.0公司:3个字符项目:最长10个字符类型:最长5个字符编号:最长8位数字版本号:Vm.n配置项的跟踪建立配置管理方案的步骤1组建配置管理方案构造小组;2对目标机构进行了解评估;3配置管理工具及其提供商评估;4制定实施计划;5定义配置管理流程;6试验项目的实施;7全面实施;创建基线并发行基线构造基线或发行基线的步骤1获得CCB授权;2创建构造基线或发行基线;3形成文件;4使基线可用;配置管理环境建立软件管理环境是为了更好地进行软件配置管理的系统环境。软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。软件配置管理库的作用记录与配置相关的信息;利用库中信息评价变更后果;从库中提取配置管理过程的管理信息软件配置库的组成开发库开发周期的某个阶段,存放与该阶段工作有关系的信息受控库开发周期的某个阶段结束时,存放做为该阶段产品及其相关的信息,配置管理对其中的信息进行管理,也称配置库产品库存放最终产品的软件库配置库的建库模式按配置项类型分类建库;适用于通用的应用软件开发;按任务建库;适用于专业软件研发组织;受控操作包括建立控制点和建立报告与审查制度变更控制要素:同步控制和存取控制评审/验证新版本变更控制流程CheckinCheckout受控库配置库例子版本控制版本控制是软件配置管理的核心功能。所有置于配置库中的元素都应自动予以版本标识,并保证版本命名的唯一性。配置项状态草稿Draft正式发布Released正在修改Changing版本号规则0.YZ草稿X.Y正式X.YZ正在修改版本图V1.0V1.2V1.1V1.3V1.4V2.02.1V1.1.1V1.1.2配置项版本控制流程1创建配置项2修改处于草稿状态的配置项3技术评审或领导审批4正式发布5变更变更控制变更是信息系统的最普遍的特点配置管理的主要任务是对变更加以有效控制和管理,防止软件在多变的情况下失控。项目变更的不可避免性用户开发人员无序变更可能导致:基准失效;项目干系人冲突;资源浪费;项目执行情况混乱;软件项目变更的复杂性规模、版本;牵延性;内部人员沟通协调;项目变更的分类按性质:重大变更、重要变更、一般变更;按迫切性:紧急变更、非紧急变更;按发生的领域和阶段:进度变更、成本变更、设计变更、范围变更;按发生的空间:内部环境变更、外部环境变更;项目变更产生的原因由于项目渐进明细的特性;常见变更原因:产品范围定义过失或疏忽;项目范围定义过失或疏忽;增值变更;应对风险紧急计划或回避计划;执行中与基准不一致导致;外部事件;变更管理的基本原则建立项目基准、变更流程和变更控制委员会;基准管理;建立变更控制流程;明确组织分工;完整体现变更的影响;妥善保存变更产生的文档,确保其完整、及时、准确、清晰,适当时候引入配置管理工具;变更控制流程变更控制流程变更控制流程直接实现变更挂起或延迟变更拒绝变更批准变更尽可能快的实现变更:期望的变更是修改开发基线中的一个配置项,只有解决了这个变更其他的工作才能展开。按照一个特定的日期实现变更:考虑项目内或者项目外的事件,确定合适的日期实现变更。在另外的版本中实现,出于技术或者运行等原因,期望与另外的变更一起发布。配置审计配置审计的任务是验证配置项对配置标识的一致性;对配置项处理是否背离初始的规格说明;配置标识的准则是否得到遵循;变更控制规则是否已遵循;规格说明、项目产品和变更请求之间是否保持可追溯性;配置管理活动审计确保项目组成员所有的配置管理活动,符合软件配置管理方针和规程。基线审计保证基线化软件产品的完整性和一致性。配置审计的意义确保项目管理的有效性防止出现向用户提交不适合的产品;确认记录、文档可追溯性;确认配置项在所要求的质量控制下作为基线入库保存……如何实施配置审计时机:产品交付或产品发布前;开发的阶段工作结束之后;维护工作中;实施:项目经理决定何时进行工作;指定配置审核人员;确定审核范围;准备配置审核检查单;审核文档和记录;发现不一致;记录;消除问题;配置状态报告有效的记录和报告管理配置所需要的信息,目的是及时、准确的给出配置项的当前状况,供相关人员了解,以加强配置管理工作。配置状态统计记录并报告配置项和修改请求的状态,并收集关于产品构件的统计信息。检查配置管理系统以及内容检测配置项变更历史配置状态统计IEEE标准828-1998规定用于计算配置状态的最小数据集包括:被批准的配置项配置项的所有请求的变化状态配置项所有被批准的变更实现状态配置状态报告的内容配置库结构和相关说明;开发起始基线的构成;当前基线位置及状态;各基线配置项集成分支的情况;各私有开发分支类型的分布情况;关键元素的版本演进记录;其他应予报告的事项。评估配置系统状态需要的信息变更请求的数量,当然可以按照类别进行分类,例如:需求变更、文档变更、设计变更、源码变更等。变更请求的历史报告,包括从编写请求、请求复审、请求批准、请求实现、请求测试、请求接受等一系列活动所花费的时间和每个单项活动所花费的时间。配置管理系统以及SCCB在运作中发生异常的次数等。10.4配置管理计划配置管理计划过程形成配置管理计划规划配置管理任务计划入库评审配置计划参加项目规划配置管理计划大纲基线定义版本控制定义变更控制过程变更委员会的管理变更控制纪录制定配置管理计划的步骤1建立并维护配置管理的组织方针2确定配置管理需要使用的资源配置管理工具;数据管理工具;归档和复制工具;数据库程序;3分配责任配置管理人员的责任4培训计划5确定配置管理的项目干系人建立基线;审查配置管理系统报告和解决问题;评估配置项变更的影响;进行配置审核;6制定识别配置项的原则制定配置管理计划的步骤7制定配置项管理表标号;名称;特征;进入时间;8确定配置管理的软硬件资源VSS;CVS;CLEARCASE;9制定基线计划10制定配置库备份计划11制定变更控制规程申请人提出变更;配置管理员受理;配置管理员评估影响;CCB审批;实施变更;CCB审批变更结果;12制定审批计划实施配置管理的建议对于小的企业或者小的项目,可以通过制定配置管理的过程规则,可以不使用配置管理工具,实现版本管理的功能。当然如果条件允许,使用工具更好。对于中小企业或者中小项目,可以通过制定过程规则,同时使用简单的版本管理工具,实现部分配置管理功能。对于大企业或者大项目或者异地开发模式,必须配备专门的配置管理人员,同时,需要制定配置管理严密的过程规则和配置管理工其,尽可能多的实现配置管理功能。(模板)10.5配置管理工具配置管理工具必须认识到CM首先是一个方法,其次是一个过程,第三才是一系列的工具工具应具有的功能版本管理变更管理问题追踪建立管理状态统计(查询和报告)配置审核访问控制和安全控制配置管理工具应具备的功能并行开发支持:要求能够实现开发人员同时在同一个软件模块上工作,同时对同一个代码部分作不同的修改,即使是跨地域分布的开发团队也能互不干扰,协同工作,而又不失去控制。(对于这一点来说可能CVS比VSS做的更好,如果VSS不使用辅助工具SOS(SourceOffSite)的话,那个公司或者是团队会把自己的VSS库共享到Internet上)。履历管理:也就是修改的历史记录的可追踪性。能够明确地知道什么时候,谁作了什么,为什么怎么做。从而达到管理和追踪开发过程中危害软件质量以及影响开发周期的缺陷和变化。配置管理工具应具备的功能版本控制:能够简单、明确地取得软件开发期间的任何一个历史版本。过程控制:能够贯彻、实施开发规范,包括访问权限控制、开发规则的实施等。产品发布管理:软件开发过程中的一个关键活动是提取工件的相关版本,以形成软件系统的阶段版本或发布版本,我们一般将其称为稳定基线。一个稳定基线代表新开发活动的开始,而一系列定制良好的活动之后又会产生一个新的稳定基线。有效地利用此项功能,在项目开发过程中可以至始至终管理、跟踪工件版本间的关联。建库要考虑的内容所支持的组件类型;版本策略;SCM模型;数据管理;系统生成的报告;用户界面和查询能力;可追溯性;自动构建方法;安全性;测试管理;定制化管理;集成;RationalClearCaseRational公司开发功能最强大、价格最昂贵的产品适用于复杂的并行开发、发布和维护。功能包括版本控制、工作空间管理、构造管理、过程控制。RationalClearCaseIBMRationalClearCase®

可为中型和大型团队提供软件资产管理(SAM)。管理从设计、编码到测试的整个开发过程中的所有工件。统一变更管理(UnifiedChangeManagement)提供了开箱即用的过程支持。提供以下提高开发人员工作效率的特性:支持并行开发支持动态视图的高级工作空间管理。与WebSphere®Studio和Microsoft®.NET等IDE的紧密集成出色的构建管理功能,并提供对主机开发的支持。支持多种平台:WindowsUNIXLinuxMainframeHanskyFirefly做为Hansky

公司软件开发管理套件中重要一员的Firefly,可以轻松管理、维护整个企业的软件资产,包括程序代码和相关文档。Firefly是一个功能完善、运行速度极快的软件配置管理系统,可以支持不同的操作系统和多种集成开发环境。Firefly基于真正的客户/服务器体系结构,不依赖于任何特殊的网络文件系统,可以平滑地运行在不同的LAN、WAN环境中。项目管理人员使用Firefly可以有效

温馨提示

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

评论

0/150

提交评论