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

上传人:牧羊曲112 文档编号:1433645 上传时间:2022-11-24 格式:PPT 页数:52 大小:1.27MB
返回 下载 相关 举报
第5讲 配置管理与变更管理ppt课件.ppt_第1页
第1页 / 共52页
第5讲 配置管理与变更管理ppt课件.ppt_第2页
第2页 / 共52页
第5讲 配置管理与变更管理ppt课件.ppt_第3页
第3页 / 共52页
第5讲 配置管理与变更管理ppt课件.ppt_第4页
第4页 / 共52页
第5讲 配置管理与变更管理ppt课件.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《第5讲 配置管理与变更管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《第5讲 配置管理与变更管理ppt课件.ppt(52页珍藏版)》请在三一办公上搜索。

1、作业布置情况与上节回顾,第5讲配置管理与变更管理,涉及教材内容:第12章 配置管理;概要:,什么是软件配置项?软件配置项主要有几类?分别包含哪些内容?基线的概念是什么?在实施阶段配置管理主要包括哪些活动?目前配置管理工具分为哪几个级别?,内容提要,5.2 软件项目配置管理过程,5.3 配置管理组织与实施,5.1 软件项目配置管理概念,5.1 软件项目配置管理概念,配置的概念来自硬件,例如,计算机系统的CPU、磁盘以及外设配置等等 配置管理(Configuration management)是指用于控制系统一系列变化的学科。通过一系列技术,方法和手段来维护产品的历史,鉴别和定位产品独有的版本,并

2、在产品的开发和发布阶段控制变化通过有序管理和减少重复性工作,配置管理保证了生产的质量和效率。,软件领域引入配置的原因,随着计算机软件的发展,软件开发已由最初的“程序设计阶段”“软件系统阶段”“软件工程阶段”。软件的复杂性日益增大,软件项目开发中可能会遇到如下问题:开发人员使用错误的版本修改程序开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;,5.1 软件项目配置管理概念,软件领域引入配置的原因-2,人员流动,交接工作不彻底造成软件关键部件遗失;已修复的Bug在新版本中出现找不到某个文件的历史版本;无法重新编译某个历史版本,使维护工作十分困难;因协同开发或者异地开发,版本

3、变更混乱导致整个项目失败; ,5.1 软件项目配置管理概念,软件领域引入配置的原因-3,随着软件团队人员的增加,软件版本不断变化,开发时间的紧迫以及多平台开发环境的使用,使得软件开发面临越来越多的问题。解决这些问题的唯一途径是加强管理,配置管理是有效管理变更的手段,它是软件开发管理的核心。软件配置管理是软件项目运作的一个支撑平台,这种支撑贯穿着几乎软件的整个生命周期。人们越来越重视软件配置的管理工作。,5.1 软件项目配置管理概念,软件配置管理作为支撑平台,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求,你在一家小公司做软件工程师,开始的时候,你只有一个人,配了2个助手。你们研究

4、了一种算法(例如:图象压缩、数据加密等),编写了一个实现模块。有一天老板看到了你的演示,认为很有市场潜力,可以结合进公司正在给某行业用户正在准备开发的系统中,成为该系统的核心技术或一个别人没有的卖点。下一周,你的队伍增加到14(你的老板准备就此豪赌一把了),与你3个人的小组不同的是,公司从其他部门为你配备了系统分析师,还有文档编制员、测试员。你的核心模块已经被大量的用户功能所包装,成为一个行业应用系统,并开始给用户试用,这是你的系统的第一版。,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求-1,3个月后,公司决定把系统升级到第二版,除增加了许多新的功能外,公司决定支持多平台,同时

5、,为了提高系统的性能和效率,准备采用第三方厂家的中间件,取代自己做的接口。第一版的缺陷修改,也要反映到第二版中。第2版经过2个多月的开发,最终推向了市场。公司的这个产品不但被用户所欢迎,也被一家大公司所看中(就像IBM收购了Lotus和Rational、Informix、Visio一样),你们的产品,正好可以填补这家大公司产品线的空缺,你所在的公司被这家公司买去了。,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求-2,公司为你的项目组派来了产品经理、项目经理。公司决定这个产品的测试,由公司总部独立的测试部门承担。同时,公司决定把项目组增加到50人,其中有20多人并不在你所在的城市

6、。在新公司里,产品管理、项目管理、测试、质量等等,都与你过去的环境和做法不同,特别不同的是,公司准备开发的第3版系统与公司原有的产品要进行融合,使他们看上去是一家出来的不同的兄弟和姐妹。与软件的第1版、第2版相比,你的项目管理有什么不同?,5.1 软件项目配置管理概念,实例:软件项目开发管理的新需求-3,随着这个产品的演变,项目发生了四个变化:系统的复杂性发生了很大变化;用于开发该系统的项目环境发生了很大变化;在不同的项目生命周期内,项目控制本身的要求和力度发生了很大变化;由于组织的变化,管理流程、人员、方式发生了很大变化。前二类变化要求项目的组织和管理适应系统扩展的需要,后二种变化则要求项目

7、管理具有适应性和灵活性。,5.1 软件项目配置管理概念,软件配置管理概念,软件配置管理(Software Configuration Management,SCM)是对产品进行标志、存储和控制,以维护其完整性、可追溯性以及正确性,它为软件开发提供了一套管理办法和活动原则。SCM提供了结构化的,有序化的,产品化的管理软件工程的方法。它涵盖了软件生命周期的所有领域并影响所有数据和过程。,5.1 软件项目配置管理概念,软件配置管理的目的,它是一种标识、组织和控制修改的技术,目的是记录软件产品的演化过程确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。最终保证软件产品的完整性、一致性、追

8、朔性、可控性使错误达到最小并最有效地提高生产效率。,5.1 软件项目配置管理概念,软件配置管理的目标,SCM活动的目标是为了:标识变更;控制变更;确保变更正确地实现;向其他有关的人员报告变更。在软件工程过程中产生的所有信息项(文档、报告、程序、表格、数据)构成了软件配置。,5.1 软件项目配置管理概念,软件配置管理的主要功能,版本管理变更管理其它(过程管理),5.1 软件项目配置管理概念,软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,支持和控制着整个软件生命周期。若要有效地实施软件配置管理,除了培养软件开发者的管理意识外,更重要的是使用优秀的软件配置管理工具。,配置管理给项目组带

9、来的好处-2,造成项目周期拖延或费用超过预算的原因很多,但没有好的阶段和里程碑划分无疑是其中最重要的原因。,5.1 软件项目配置管理概念,内容提要,5.2 软件项目配置管理过程,5.3 配置管理组织与实施,5.1 软件项目配置管理概念,5.2 软件项目配置管理过程,配置管理过程围绕配置管理的5项活动进行,软件项目配置的基本活动,配置管理过程 配置项标识、跟踪配置管理环境建立基线变更管理基线审核配置状态统计配置管理计划,配置项标识、跟踪配置项的概念,软件配置项(Software Configuration Item,SCI)凡是纳入配置管理范畴的工作成果统称为配置项。以下包含了所有在软件过程中产

10、生的信息的工作成果总称为软件配置项:计算机程序(源代码和可执行程序)描述计算机程序的文档(针对技术开发者和用户)数据(包含在程序内部或外部)。项目管理的有关文件、信息记录等。软件配置管理的对象就是软件配置项(SCI)。,5.2 软件项目配置管理过程,配置项标识、跟踪软件配置项的类型及属性,配置项主要有两大类:属于产品组成部分的工作成果,即软件产品,例如源代码、需求文档、设计文档、测试用例等等。在管理过程中产生的文档,例如各种计划、状态报告等等,这些文档虽然不是产品的组成部分,但是值得保存。 每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。所有配置项都被保存在配置库里,确保不

11、会混淆、丢失;配置项及其历史记录反映了软件的演化过程。,5.2 软件项目配置管理过程,配置项标识、跟踪软件配置项的状态变迁,配置项的状态有三种:“草稿”(Draft)、“正式发布”(Released)和“正在修改”(Changing)。配置项刚建立时其状态为“草稿”;配置项通过评审(或审批)后,其状态变为“正式发布”;此后若更改配置项,必须依照“变更控制流程”执行,其状态变为“正在修改”。当配置项修改完毕并重新通过评审(或审批)时,其状态又变为“正式发布”,如此循环。,5.1 软件项目配置管理概念,配置项标识、跟踪软件部件分解图,配置标识就是查询、识别和确定配置管理对象。,配置管理对象呈现为一

12、种层次结构,因此,为了标识配置管理的对象,我们需要对软件系统进行分解。,5.2 软件项目配置管理过程,配置项标识、跟踪配置项标识的主要任务,将软件项目中需要进行控制的部分拆分成软件配置项。对所有配置项都应按照相关规定建立唯一的标识。建立相互间的对应关系,进行系统的跟踪和版本控制,以确保项目过程中的产品与需求和规格的要求相一致。在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。 最终可根据要求将配置项组合生成适用于不同应用环境的正确的软件产品评估版本。,5.2 软件项目配置管理过程,配置项标识、跟踪配置项的拆分例子,设计规格说明书 数据设计描述 总体结构设计描述 模

13、块设计描述 界面设计描述界面设计1界面设计2 对象描述,(某医疗网站)需求规格SCI辅助功能.doc性能.doc产品目录.doc医务管理.doc医疗专业区.doc首页.doc,5.2 软件项目配置管理过程,最基本的配置项管理文档,软件产品比较容易标识,而文档相对比较复杂。开发文档文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间,起到了多种的桥梁作用。软件开发人员在软件生命的各个阶段中,以文档作为前阶段工作成果的体现和后阶段工作的依据,这个作用是显而易见的。管理文档或项目文档软件开发过程中软件开发人员需制定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。

14、管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。用户文档软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料。,5.2 软件项目配置管理过程,文档分类,5.2 软件项目配置管理过程,文档,用户文档,用户手册操作手册维护修改建议软件需求(规格)说明书,开发文档,软件需求(规格)说明书数据要求说明书概要设计说明书详细设计说明书可行性研究报告项目开发计划,管理文档,项目开发计划测试计划测试报告开发进度月报开发总结报告,文档的生成阶段,5.2 软件项目配置管理过程,配置管理环境建立,建立配置管理库,简称配置库。软件配置管理库是用来存储所有基线配置项及相关文件的等内容的系统

15、,是在软件产品的整个生存期中建立和维护软件产品完整性的主要手段。开发库开发周期的某个阶段,存放与该阶段工作有关系的信息;开发库也称为工作空间 受控库开发周期的某个阶段结束时,存放做为该阶段产品及其相关的信息,配置管理对其中的信息进行管理,也称配置库产品库存放最终产品的软件库,5.2 软件项目配置管理过程,配置管理环境建立受控操作,配置库是集中控制的文件库,提供对所存储文件的版本控制。从受控库导出的文件自动被锁定直到文件重新被导入,一个版本号自动与新版本文件相关联。配置库中文件不能更改,任何更改都被视为创建了一个新版本文件。文件的所有配置管理信息和文件的内容都存储在配置库中。,5.2 软件项目配

16、置管理过程,版本与版本控制概念、目的,版本与版本控制软件的每一个版本都是源代码、文档、数据以及相关的系统环境的一个收集,且各个版本都可能由不同的变种组成。版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,并且可以快速准确地查找到配置项的任何版本。版本控制是SCM的基础,它管理并保护开发者的软件资源。使混乱的开发状态变得有序!,5.2 软件项目配置管理过程,版本与版本控制版本控制规则,处于“草稿”状态的配置项的版本号格式为:0.YZ YZ数字范围为01-99。随着草稿的不断完善,“YZ”的取值应递增。“YZ”的初值和增幅由用户自己把握。 处于“正式发布”状态的配置

17、项的版本号格式为:X.Y X为主版本号,取值范围为1-9。Y为次版本号,取值范围为1-9。 配置项第一次“正式发布”时,版本号为1.0。 如果配置项的版本升级幅度比较小,一般只增大Y值,X值保持不变。只有当配置项版本升级幅度比较大时,才允许增大X值。 处于“正在修改”状态的配置项的版本号格式为:X.YZ 配置项正在修改时,一般只增大Z值,X.Y值保持不变。 当配置项修改完毕,状态重新成为“正式发布”时,将Z值设置为0,增加X.Y值。,5.2 软件项目配置管理过程,版本与版本控制版本图,版本控制管理在软件工程过程中建立起配置对象的不同版本。使用演变图来表示系统的不同版本。版本管理可以把一些属性结

18、合到各个软件版本上。,5.2 软件项目配置管理过程,版本与版本控制配置项的版本,版本控制工具Rational ClearCaseMicrosoft Visual SourceSafeMicrosoft Project 2000Sybase ObjectCycle Manager,5.2 软件项目配置管理过程,变更管理,是团队开发过程中的通讯基础可以了解谁改了什么、为什么正确及时的项目状态报告 最大限度的利用你的工程师资源利于团队交流软件工程过程中某一阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息。变更控制包括建立控制点和建立报告与审查制度。,5.2 软件项目配

19、置管理过程,变更管理变更控制过程,5.2 软件项目配置管理过程,加强团队间的沟通,真正掌握开发状态!,变更管理变更的两种情况,为改正小错误需要的变更。为了增加或者删掉某些功能、或者为了改变完成某个功能的方法而需要的变更。如果变更的代价比较小且对软件系统其它部分没有影响,或影响很小,通常应批准这个变更。如果变更的代价比较高,或者影响比较大,则必须权衡利弊,以决定是否进行这种变更。如果同意这种变更,需要进一步确定由谁来支付变更所需要的费用。如果是用户要求的变更,则用户应支付这笔费用;否则,必须完成某种成本效益分析,以确定是否值得做这种变更。,5.2 软件项目配置管理过程,基线变更管理基线的概念,基

20、线(Baseline)是软件生存期中各开发阶段末尾的特定点,又称里程碑。基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。基线由一组配置项组成,一个(些)配置项形成并通过审核,即形成基线,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被随意修改。基线标志开发过程一个阶段的结束和里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基线。,5.2 软件项目配置管理过程,基线变更管理软件项目形成的基线,基线的主要属性有:名称、标识符、版本、日期等。通常将交付给客户的基线称为一个“Release”;为内部开发用的基线则称为一个“Build”

21、。,5.2 软件项目配置管理过程,基线变更管理基线变更系统,项目基线(配置项)可能由于种种原因会发生变更,如:客户需求变化、进度变更、成本变更、产品环境变化等。基线修改(变更)应受到控制,变更管理也称为配置控制,这种变化要经SCCB授权,按正式的程序进行控制并记录基线修改的过程。,5.2 软件项目配置管理过程,基线变更管理变更请求,5.2 软件项目配置管理过程,基线变更管理变更评估,5.2 软件项目配置管理过程,基线变更管理变更批准/拒绝,5.2 软件项目配置管理过程,基线变更管理变更实现,5.2 软件项目配置管理过程,配置审核,配置审核作为变更控制的补充手段,目的是为了确保某一变更请求已被确

22、切实现。配置审核主要包括两方面的内容:配置管理活动审核 确保项目组成员的所有配置管理活动,遵循已批准的软件配置管理方针和规程基线审核 保证基线的配置项(SCI)正确的构造和实现,并满足功能要求,5.2 软件项目配置管理过程,配置状态统计,检查配置管理系统以及内容,检测配置项变更历史的过程称为配置状态统计。 检查配置管理系统以及内容检测配置项变更历史配置状态统计的范围可因项目而不同。IEEE标准828-1998规定用于计算配置状态的最小数据集包括:被批准的配置项 配置项的所有请求的变化状态 配置项所有被批准的变更实现状态,5.2 软件项目配置管理过程,配置管理计划,配置管理计划过程就是确定软件配

23、置管理的解决方案。配置管理计划由配置管理者负责制定,是软件配置管理规划过程的产品,并且在整个软件项目开发过程中作为配置管理活动的依据进行使用和维护。流程通常是首先由项目经理确定配置管理者,配置管理者通过参与项目规划过程,确定配置管理的策略,并制定详细的配置管理计划,交配置管理委员会审核,配置管理委员会通过配置管理计划后交项目经理批准,发布实施。 配置管理计划首先的一个关键任务是确定要控制哪些文档。,5.2 软件项目配置管理过程,内容提要,5.2 软件项目配置管理过程,5.3 配置管理组织与实施,5.1 软件项目配置管理概念,5.3 配置管理组织与实施,配置管理组织的角色项目经理(Project

24、 Manager,PM) 配置控制委员会(Configuration Control Board,CCB) 配置管理员(Configuration Management Officer,CMO) 系统集成员(System Integration Officer,SIO) 开发人员(Developer,DEV),角色的职责肩负对项目成功负责的重要职责 评估开发团队当前配置管理现状定义实施的范围计划资源要素,配置管理组织角色具体职责,5.3 配置管理组织与实施,配置管理组织与实施配置管理工具的功能,SCM首先是一个方法,其次是一个过程,第三才是一系列的工具。工具应具有的功能:版本管理变更管理问题追

25、踪建立管理状态统计(查询和报告)配置审核访问控制和安全控制,5.3 配置管理组织与实施,常用配置管理的工具ClearCase&ClearQuestPVCSHarvestCVSVSS,配置管理组织与实施配置管理工具的级别,常用配置管理工具 分为3个级别第一个级别 版本控制工具,是入门级的工具。例如,CVS、Visual Source Safe。第二个级别 项目级配置管理工具,适合管理中小型的项目,在版本管理的基础上增加变更控制、状态统计的功能。例如ClearCase、ClearQuest 、PVCS。 第三个级别 企业级配置管理工具,在实现传统意义的配置管理的基础上又具有比较强的过程管理功能。例如, Harvest,5.3 配置管理组织与实施,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号