收藏 分销(赏)

第5讲配置管理与变更管理.ppt

上传人:精*** 文档编号:14581421 上传时间:2026-10-15 格式:PPT 页数:52 大小:1.27MB 下载积分:10 金币
下载 相关
第5讲配置管理与变更管理.ppt_第1页
第1页 / 共52页
第5讲配置管理与变更管理.ppt_第2页
第2页 / 共52页


点击查看更多>>
资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,作业布置情况与上节回顾,第,5,讲配置管理与变更,管理,涉及教材,内容:,第,12,章,配置管理;,概要,:,什么是软件配置项?软件配置项主要有几类?分别包含,哪些,内容?,基线的概念是什么?,在实施阶段配置管理主要包括哪些活动,?,目前配置管理工具分为哪几个级别,?,内容提要,5.2,软件项目配置管理过程,5.3,配置管理组织与实施,5.1,软件项目配置管理概念,配置管理,跟踪控制,项目,结束,项目,执行控制,项目,计划,项目,初始,5.1,软件项目配置管理概念,配置,的概念来自硬件,,例如,计算机系统的,CPU,、磁盘以及外设配置等等,配置管理,(,Configuration management,),是指用于控制系统一系列变化的学科。,通过一系列技术,方法和手段来维护产品的历史,鉴别和定位产品独有的版本,并在产品的开发和发布阶段控制变化,通过有序管理和减少重复性工作,配置管理保证了生产的质量和效率。,软件领域引入配置的原因,随着计算机软件的发展,软件开发已由最初的“,程序设计阶段,”,“,软件系统阶段,”,“,软件工程阶段,”。,软件的复杂性日益增大,,软件项目开发中可能会遇到如下问题:,开发人员使用错误的版本修改程序,开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;,5.1,软件项目配置管理概念,软件领域引入配置的原因,-2,人员流动,交接工作不彻底造成软件关键部件遗失;,已修复的,Bug,在新版本中出现,找不到某个文件的历史版本;,无法重新编译某个历史版本,使维护工作十分困难;,因协同开发或者异地开发,版本变更混乱导致整个项目失败;,5.1,软件项目配置管理概念,软件领域引入配置的原因,-3,随着软件团队人员的增加,软件版本不断变化,开发时间的紧迫以及多平台开发环境的使用,使得软件开发面临越来越多的问题。,解决这些问题的唯一途径是加强管理,配置管理是有效管理变更的手段,它是软件开发管理的核心。,软件配置管理是软件项目运作的一个,支撑平台,,这种支撑贯穿着几乎软件的,整个生命周期,。,人们越来越重视软件配置的管理工作。,5.1,软件项目配置管理概念,软件配置管理作为支撑平台,5.1,软件项目配置管理概念,实例:软件项目开发管理的新需求,你在一家小公司做软件工程师,开始的时候,你只有一个人,配了,2,个助手。你们研究了一种算法(例如:图象压缩、数据加密等),编写了一个实现模块。有一天老板看到了你的演示,认为很有市场潜力,可以结合进公司正在给某行业用户正在准备开发的系统中,成为该系统的核心技术或一个别人没有的卖点。,下一周,你的队伍增加到,14,(你的老板准备就此豪赌一把了),与你,3,个人的小组不同的是,公司从其他部门为你配备了系统分析师,还有文档编制员、测试员。你的核心模块已经被大量的用户功能所包装,成为一个行业应用系统,并开始给用户试用,这是你的系统的第一版。,5.1,软件项目配置管理概念,实例:软件项目开发管理的新需求,-1,3,个月后,公司决定把系统升级到第二版,除增加了许多新的功能外,公司决定支持多平台,同时,为了提高系统的性能和效率,准备采用第三方厂家的中间件,取代自己做的接口。第一版的缺陷修改,也要反映到第二版中。,第,2,版经过,2,个多月的开发,最终推向了市场。公司的这个产品不但被用户所欢迎,也被一家大公司所看中(就像,IBM,收购了,Lotus,和,Rational,、,Informix,、,Visio,一样),你们的产品,正好可以填补这家大公司产品线的空缺,你所在的公司被这家公司买去了。,5.1,软件项目配置管理概念,实例:软件项目开发管理的新需求,-2,公司为你的项目组派来了产品经理、项目经理。公司决定这个产品的测试,由公司总部独立的测试部门承担。同时,公司决定把项目组增加到,50,人,其中有,20,多人并不在你所在的城市。在新公司里,产品管理、项目管理、测试、质量等等,都与你过去的环境和做法不同,特别不同的是,公司准备开发的第,3,版系统与公司原有的产品要进行融合,使他们看上去是一家出来的不同的兄弟和姐妹。,与软件的第,1,版、第,2,版相比,你的项目管理有什么不同?,5.1,软件项目配置管理概念,实例:软件项目开发管理的新需求,-3,随着这个产品的演变,项目发生了,四个变化:,系统的复杂性发生了很大变化;,用于开发该系统的项目环境发生了很大变化;,在不同的项目生命周期内,项目控制本身的要求和力度发生了很大变化;,由于组织的变化,管理流程、人员、方式发生了很大变化。,前二类变化要求项目的组织和管理适应系统扩展的需要,后二种变化则要求项目管理具有适应性和灵活性。,5.1,软件项目配置管理概念,软件配置管理概念,软件配置管理,(Software Configuration Management,,,SCM),是对产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开发提供了一套管理办法和活动原则。,SCM,提供了结构化的,有序化的,产品化的管理软件工程的方法。它涵盖了软件生命周期的所有领域并影响所有数据和过程。,5.1,软件项目配置管理概念,软件配置管理的目的,它是一种标识、组织和控制修改的技术,目的是,记录软件产品的演化过程,确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。,最终保证软件产品的,完整性、一致性、追朔性、可控性,使错误达到最小并最有效地提高生产效率。,5.1,软件项目配置管理概念,软件配置管理的目标,SCM,活动的目标是为了:,标识变更;,控制变更;,确保变更正确地实现;,向其他有关的人员报告变更。,在软件工程过程中产生的所有信息项,(文档、报告、程序、表格、数据),构成了软件配置。,5.1,软件项目配置管理概念,软件配置管理的主要功能,版本管理,变更管理,其它(过程管理),5.1,软件项目配置管理概念,软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,支持和控制着整个软件生命周期。,若要有效地实施软件配置管理,除了培养软件开发者的管理意识外,更重要的是使用优秀的,软件配置管理工具,。,配置管理给项目组带来的好处,-2,造成项目周期拖延或费用超过预算的原因很多,但没有好的阶段和里程碑划分无疑是其中最重要的原因。,5.1,软件项目配置管理概念,内容提要,5.2,软件项目配置管理过程,5.3,配置管理组织与实施,5.1,软件项目配置管理概念,配置管理,跟踪控制,项目,结束,项目,执行控制,项目,计划,项目,初始,5.2,软件项目配置管理过程,配置管理过程围绕配置管理的,5,项活动进行,软件项目配置的基本活动,配置审计,状态统计,配置标识,变更控制,配置管理过程,配置项标识、跟踪,配置管理环境建立,基线变更管理,基线审核,配置状态统计,配置管理计划,配置项标识、跟踪,配置项的概念,软件配置项,(,Software Configuration Item,,,SCI,),凡是纳入配置管理范畴的工作成果统称为配置项。,以下包含了所有在软件过程中产生的信息的工作成果总称为软件配置项:,计算机程序(源代码和可执行程序),描述计算机程序的文档(针对技术开发者和用户),数据(包含在程序内部或外部)。,项目管理的有关文件、信息记录等。,软件配置管理的对象就是软件配置项(,SCI,)。,5.2,软件项目配置管理过程,配置项标识、跟踪,软件配置项的类型及属性,配置项主要有两大类:,属于产品组成部分的工作成果,即,软件产品,,例如源代码、需求文档、设计文档、测试用例等等。,在管理过程中产生的,文档,,例如各种计划、状态报告等等,这些文档虽然不是产品的组成部分,但是值得保存。,每个配置项的主要属性有:,名称、标识符、文件状态、版本、作者、日期等,。,所有配置项都被保存在配置库里,确保不会混淆、丢失;配置项及其历史记录反映了软件的演化过程。,5.2,软件项目配置管理过程,配置项标识、跟踪,软件配置项的状态变迁,配置项的状态有三种:,“草稿”(,Draft,)、“正式发布”(,Released,),和,“正在修改”(,Changing,),。,配置项刚建立时其状态为“草稿”;配置项通过评审(或审批)后,其状态变为“正式发布”;此后若更改配置项,必须依照“变更控制流程”执行,其状态变为“正在修改”。当配置项修改完毕并重新通过评审(或审批)时,其状态又变为“正式发布”,如此循环。,5.1,软件项目配置管理概念,配置项标识、跟踪,软件部件分解图,配置标识就是查询、识别和确定配置管理对象。,配置管理对象呈现为一种层次结构,因此,为了标识配置管理的对象,我们需要,对软件系统进行分解,。,5.2,软件项目配置管理过程,配置项标识、跟踪,配置项标识的主要任务,将软件项目中需要进行控制的部分,拆分成软件配置项,。,对所有配置项都应按照相关规定,建立唯一的标识,。,建立相互间的对应关系,,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致。,在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构,保存在配置库中,。,最终可根据要求将配置项组合生成适用于不同应用环境的正确的,软件产品评估版本,。,5.2,软件项目配置管理过程,配置项标识、跟踪,配置项的拆分例子,设计规格说明书,数据设计描述,总体结构设计描述,模块设计描述,界面设计描述,界面设计,1,界面设计,2,对象描述,(某医疗网站)需求规格,SCI,辅助功能,.doc,性能,.doc,产品目录,.doc,医务管理,.doc,医疗专业区,.doc,首页,.doc,5.2,软件项目配置管理过程,最基本的配置项管理,文档,软件产品比较容易标识,而文档相对比较复杂。,开发文档,文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间,起到了多种的桥梁作用。软件开发人员在软件生命的各个阶段中,以文档作为前阶段工作成果的体现和后阶段工作的依据,这个作用是显而易见的。,管理文档或项目文档,软件开发过程中软件开发人员需制定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。,用户文档,软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料。,5.2,软件项目配置管理过程,文档分类,5.2,软件项目配置管理过程,文档,用户文档,用户手册,操作手册,维护修改建议,软件需求(规格)说明书,开发文档,软件需求(规格)说明书,数据要求说明书,概要设计说明书,详细设计说明书,可行性研究报告,项目开发计划,管理文档,项目开发计划,测试计划,测试报告,开发进度月报,开发总结报告,文档的生成阶段,5.2,软件项目配置管理过程,阶段,文档,可行性研究与计划,需求分析,设计,代码编写,测试,运行与维护,可行性研究报告,项目开发计划,软件需求说明,数据要求说明,概要设计说明,详细设计说明,测试计划,用户手册,操作手册,测试分析报告,开发进度月报,项目开发总结,维护修改建议,配置管理环境建立,建立配置管理库,简称配置库,。软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。,开发库,开发周期的某个阶段,存放与该阶段工作有关系的信息;开发库也称为工作空间,受控库,开发周期的某个阶段结束时,存放做为该阶段产品及其相关的信息,配置管理对其中的信息进行管理,也称配置库,产品库,存放最终产品的软件库,5.2,软件项目配置管理过程,配置管理环境建立,受控操作,配置库是集中控制的文件库,提供对所存储文件的版本控制。,从受控库导出的文件自动被锁定直到文件重新被导入,一个版本号自动与新版本文件相关联。,配置库中文件不能更改,任何更改都被视为创建了一个新版本文件。,文件的所有配置管理信息和文件的内容都存储在配置库中。,5.2,软件项目配置管理过程,版本与版本控制,概念、目的,版本与版本控制,软件的每一个版本都是源代码、文档、数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。,版本控制的目的是,按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。,版本控制是,SCM,的基础,它管理并保护开发者的软件资源。,使混乱的开发状态变得有序!,5.2,软件项目配置管理过程,版本与版本控制,版本控制规则,处于“草稿”状态的配置项的版本号格式为:,0.YZ,YZ,数字范围为,01-99,。,随着草稿的不断完善,“,YZ”,的取值应递增。“,YZ”,的初值和增幅由用户自己把握。,处于“正式发布”状态的配置项的版本号格式为:,X.Y,X,为主版本号,取值范围为,1-9,。,Y,为次版本号,取值范围为,1-9,。,配置项第一次“正式发布”时,版本号为,1.0,。,如果配置项的版本升级幅度比较小,一般只增大,Y,值,,X,值保持不变。只有当配置项版本升级幅度比较大时,才允许增大,X,值。,处于“正在修改”状态的配置项的版本号格式为:,X.YZ,配置项正在修改时,一般只增大,Z,值,,X.Y,值保持不变。,当配置项修改完毕,状态重新成为“正式发布”时,将,Z,值设置为,0,,增加,X.Y,值。,5.2,软件项目配置管理过程,版本与版本控制,版本图,版本控制管理在软件工程过程中建立起,配置对象的不同版本,。使用,演变图,来表示系统的不同版本。,版本管理可以把,一些属性,结合到各个软件版本上。,V1.0,V1.2,V1.1,V1.3,V1.4,V2.0,V2.1,V1.1.1,V1.1.2,5.2,软件项目配置管理过程,版本与版本控制,配置项的版本,版本控制工具,Rational ClearCase,Microsoft Visual SourceSafe,Microsoft Project 2000,Sybase ObjectCycle Manager,需求规格,V1.1,需求规格,需求规格,V1.2,需求规格,V1.3,配置项类,配置项,实例,5.2,软件项目配置管理过程,变更管理,是团队开发过程中的通讯基础,可以了解谁改了什么、为什么,正确及时的项目状态报告,最大限度的利用你的工程师资源,利于团队交流,软件工程过程中,某一阶段的变更,,均要,引起软件配置的变更,,这种变更必须严格加以,控制,和,管理,,保持修改信息。,变更控制包括,建立控制点,和,建立报告与审查制度,。,5.2,软件项目配置管理过程,变更管理,变更控制过程,5.2,软件项目配置管理过程,加强团队间的沟通,真正掌握开发状态!,变更管理,变更的两种情况,为改正小错误需要的变更。,为了增加或者删掉某些功能、或者为了改变完成某个功能的方法而需要的变更。,如果变更的代价比较小且对软件系统其它部分没有影响,或影响很小,通常应批准这个变更。,如果变更的代价比较高,或者影响比较大,则必须权衡利弊,以决定是否进行这种变更。,如果同意这种变更,,需要进一步确定由谁来支付变更所需要的费用,。如果是用户要求的变更,则用户应支付这笔费用;否则,必须完成某种成本效益分析,以确定是否值得做这种变更。,5.2,软件项目配置管理过程,基线变更管理,基线的概念,基线,(,Baseline,),是软件生存期中各开发阶段末尾的特定点,又称里程碑。,基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。,基线由一组配置项组成,,一个,(,些,),配置项形成并通过审核,即形成基线,,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被随意修改。,基线标志开发过程一个阶段的结束和里程碑,(,Milestone,),,一个产品可以有多个基线,也可以只有一个基线。,5.2,软件项目配置管理过程,基线变更管理,软件项目形成的基线,基线的主要属性有:名称、标识符、版本、日期等。,通常将交付给客户的基线称为一个“,Release”,;为内部开发用的基线则称为一个“,Build”,。,5.2,软件项目配置管理过程,基线变更管理,基线变更系统,项目基线(配置项)可能由于种种原因会发生变更,如:客户需求变化、进度变更、成本变更、产品环境变化等。,基线修改(变更)应受到控制,变更管理也称为配置控制,这种变化要经,SCCB,授权,按,正式的,程序进行控制并记录基线修改的过程。,配置控制,变更请求,变更评估,变更批准,/,拒绝,变更实现,5.2,软件项目配置管理过程,基线变更管理,变更请求,项目名称,变更申请人,提交时间,变更题目,紧急程度,变更具体内容,变更影响分析,变更确认,处理结果,签字,5.2,软件项目配置管理过程,基线变更管理,变更评估,变更评估,软件变更分类,技术影响分析,接口影响分析,进度影响分析,预算影响分析,5.2,软件项目配置管理过程,基线变更管理,变更批准,/,拒绝,批准,/,拒绝变更,(若批准)实施变更,决策,(若批准)验证变更,(若批准)发布、安装变更,(若批准)版本更新,5.2,软件项目配置管理过程,基线变更管理,变更实现,变更实现,变更实现,受控基线出库,实现的测试和验证,实现被承认,受控基线入库,5.2,软件项目配置管理过程,配置审核,配置审核作为变更控制的补充手段,目的是为了确保某一变更请求已被确切实现。,配置审核主要包括两方面的内容:,配置管理活动审核,确保项目组成员的所有配置管理活动,遵循已批准的软件配置管理方针和规程,基线审核,保证基线的配置项,(SCI),正确的构造和实现,并满足功能要求,5.2,软件项目配置管理过程,配置状态统计,检查配置管理系统以及内容,检测配置项变更历史的过程称为配置状态统计。,检查配置管理系统以及内容,检测配置项变更历史,配置状态统计的范围可因项目而不同。,IEEE,标准,828-1998,规定用于计算配置状态的最小数据集包括:,被批准的配置项,配置项的所有请求的变化状态,配置项所有被批准的变更实现状态,5.2,软件项目配置管理过程,配置管理计划,配置管理计划过程就是确定软件配置管理的解决方案。,配置管理计划由配置管理者负责制定,是软件配置管理规划过程的产品,并且在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。,流程通常是,首先,由,项目经理,确定配置管理者,,配置管理者,通过参与项目规划过程,确定配置管理的策略,并制定,详细的配置管理计划,,交配置管理委员会,审核,,配置管理委员会通过配置管理计划后交,项目经理批准,发布实施,。,配置管理计划首先的一个关键任务是确定要控制哪些文档。,5.2,软件项目配置管理过程,内容提要,5.2,软件项目配置管理过程,5.3,配置管理组织与实施,5.1,软件项目配置管理概念,配置管理,跟踪控制,项目,结束,项目,执行控制,项目,计划,项目,初始,5.3,配置管理组织与实施,配置管理组织的角色,项目经理(,Project Manager,,,PM,),配置控制委员会(,Configuration Control Board,,,CCB,),配置管理员(,Configuration Management Officer,,,CMO,),系统集成员(,System Integration Officer,,,SIO,),开发人员(,Developer,,,DEV,),角色的职责,肩负对项目成功负责的重要职责,评估开发团队当前配置管理现状,定义实施的范围,计划资源要素,配置管理组织角色具体职责,组织机构,责 任,具体职责,项目经理,负责整个软件项目的研发活动,根据,SCCB,的建议,批准配置管理的各项活动并控制它们的进程,制定和修改项目的组织结构和配置管理策略,批准、发布配置管理计划,决定项目起始基线和开发里程碑,接收并审阅,SCCB,的报告,软件配置控制委员会(,SCCB,),管理软件基线,承担变更控制的所有责任,授权建立软件基线和标志配置,/,配置单元,代表项目经理和受到基线影响的质量保证组、配置管理组、工程组、系统测试组、合同管理组、文档支持组等小组的利益,审查和审定对软件基线的更改,审定由软件基线数据库中生产的产品和报告,软件配置小组(,SCM,小组),负责协调和实施项目,创建和管理项目的软件基线库,制定、维护和发布,SCM,计划、标准和规程,标志置于配置管理下的软件工作产品集合,管理软件基线的库的使用,更新软件基线,生成基于软件基线的产品,记录,SCM,活动,生成和发布,SCM,报告,开发人员,负责开发任务,根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务,5.3,配置管理组织与实施,配置管理组织与实施,配置管理工具的功能,SCM,首先是一个方法,其次是一个过程,第三才是一系列的工具。,工具应具有的功能,:,版本管理,变更管理,问题追踪,建立管理,状态统计(查询和报告),配置审核,访问控制和安全控制,5.3,配置管理组织与实施,常用配置管理的工具,ClearCase&ClearQuest,PVCS,Harvest,CVS,VSS,配置管理组织与实施,配置管理工具的级别,常用配置管理工具,分为,3,个级别,第一个级别,版本控制工具,是入门级的工具。例如,,CVS,、,Visual Source Safe,。,第二个级别,项目级配置管理工具,适合管理中小型的项目,在版本管理的基础上增加变更控制、状态统计的功能。例如,ClearCase,、,ClearQuest,、,PVCS,。,第三个级别,企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能。例如,,Harvest,5.3,配置管理组织与实施,
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服