《配置管理培训》PPT课件.ppt

上传人:小飞机 文档编号:5612804 上传时间:2023-08-02 格式:PPT 页数:63 大小:378.50KB
返回 下载 相关 举报
《配置管理培训》PPT课件.ppt_第1页
第1页 / 共63页
《配置管理培训》PPT课件.ppt_第2页
第2页 / 共63页
《配置管理培训》PPT课件.ppt_第3页
第3页 / 共63页
《配置管理培训》PPT课件.ppt_第4页
第4页 / 共63页
《配置管理培训》PPT课件.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

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

1、软件配置管理,软件配置管理概述软件配置管理的功能软件配置管理过程及其关键活动基于CMMI的软件配置管理配置管理工具介绍,软件项目开发管理的需求,你在一家小公司做软件工程师,开始的时候,你只有一个人,配了2个助手。你们研究了一种算法(例如:图象压缩、数据加密等),编写了一个实现模块。有一天老板看到了你的演示,认为很有市场潜力,可以结合进公司正在给某行业用户正在准备开发的系统中,成为该系统的核心技术或一个别人没有的卖点。下一周,你的队伍增加到14(你的老板准备就此豪赌一把了),与你3个人的小组不同的是,公司从其他部门为你配备了系统分析师,还有文档编制员、测试员。你的核心模块已经被大量的用户功能所包

2、装,成为一个行业应用系统,并开始给用户试用,这是你的系统的第一版。,软件项目开发管理的需求,3个月后,公司决定把系统升级到第二版,除增加了许多新的功能外,公司决定支持多平台,同时,为了提高系统的性能和效率,准备采用第三方厂家的中间件,取代自己做的接口。第一版的缺陷修改,也要反映到第二版中。第2版经过2个多月的开发,最终推向了市场。公司的这个产品不但被用户所欢迎,也被一家大公司所看中(就像IBM收购了Lotus和Rational、Informix一样),你们的产品,正好可以填补这家大公司产品线的空缺,你所在的公司被这家公司买去了。,软件项目开发管理的需求,公司为你的项目组派来了产品经理、项目经理

3、。公司决定这个产品的测试,由公司总部独立的测试部门承担。同时,公司决定把项目组增加到50人,其中有20多人并不在你所在的城市。在新公司里,产品管理、项目管理、测试、质量等等,都与你过去的环境和做法不同,特别不同的是,公司准备开发的第3版系统与公司原有的产品要进行融合,使他们看上去是一家出来的不同的兄弟和姐妹。,软件项目开发管理的需求,与软件的第1版、第2版相比,你的项目管理有什么不同?随着这个产品的演变,项目发生了四个变化:(1)系统的复杂性发生了很大变化;(2)用于开发该系统的项目环境发生了很大变化;(3)在不同的项目生命周期内,项目控制本身的要求和力度发生了很大变化;(4)由于组织的变化,

4、管理流程、人员、方式发生了很大变化。前二类变化要求项目的组织和管理适应系统扩展的需要,后二种变化则要求项目管理具有适应性和灵活性。如果缺乏对软件开发的统一管理,势必造成以下问题的出现:,缺乏管理所造成的问题,开发商开发过程缺乏规范化的管理,即使有源程序文档也由于说明不详细而不能对产品进行进一步的功能扩充,用户不得不再投入大量的经费去开发新产品,浪费大量的人力、物力和时间;由于开发经费及开发时间的限制,不可能一次开发就解决所有问题,许多问题有待维护阶段解决,因此带来的是软件产品的不断升级,而维护和升级所必需的文档往往非常混乱;,缺乏管理所造成的问题,在软件的团队式开发中,人员流动在所难免,如管理

5、不善,有些人员的流动将对开发产生致命的影响。特别是软件开发管理人员或核心成员的流失,有可能造成无法确定软件产品中各模块所处的状态及阶段,使软件产品的版本出现混乱,甚至可能泄漏公司的核心机密;,缺乏管理所造成的问题,管理不善致使没经测试的软件加入到产品中,不但影响产品的质量,有时还会导致致命的错误,造成不可挽回的损失;用户与开发商没有有效的沟通手段,用户投入了开发费用后,得到的是有关可执行程序以及一堆杂乱无章的文档,即使是较好的文档,对不熟悉开发过程的专业人员来说也无从下手,更谈不上日后的维护和升级,用户的利益无法保证;,缺乏管理所造成的问题,软件生产达不到规模化,无法生产出软件企业内部的软件标

6、准构件仓库,使应用软件产品总处于一种低水平、重复开发的状态,不但时间得不到保证,而且成本也无法降低,使产品没有市场竞争力。,如何进行软件开发管理?,缺乏软件开发管理,会导致种种问题的出现,这些问题使得最终开发出来的软件产品的质量难以保证,应用难以稳定。怎样进行软件开发管理才能生产出高质量的软件产品呢?在ISO9000 质量管理和质量保证标准中,制定了在软件开发、供应和维护中的使用指南标准,该标准除对软件生命周期的各个阶段做了严格的规定外,还在其质量体系中规定了与阶段无关的支持活动,其中软件配置管理(Software Configuration Management,简称SCM)被放在首位。,软

7、件配置管理(Software Configuration Management,SCM)是指通过执行版本控制、变更控制等规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。,1、什么是软件配置管理?,什么是配置管理,在软件开发中,变更是不可避免的。从某种角度上讲,软件开发过程就是一个变更的过程。有些变更是有益的,是具有创造性的,但是,也有些变更是有害的,导致混乱的。代码中的一个极小的混乱可能带来产品的大的故障,但是,他也能够修复大的故障或启用奇妙的新能力。如何管理这些变更是一个软件开发能否成功的关键。简言之,软件配置管理就是管理变更的过程,

8、它贯穿着几乎软件的整个生命周期。,什么是配置管理,软件开发过程的输出信息可以分为三个主要的类型:(1)计算机程序(源代码、中间代码和可执行程序),(2)描述计算机程序的文档(针对技术开发者和用户),(3)数据(包含在程序内部或在程序的外部)。这些项包含了所有的在软件过程中产生的信息,总称为软件配置。该集合中每一个元素称为该软件产品软件配置中的一个配置项(CI,Configuration Item)。,什么是配置管理,我们知道一架飞机的构成非常复杂,比如机头、机身、机翼和机尾等。不同型号飞机的各个部分是不能随便组装的。因此,我们只有把相匹配的部件组装在一起,才能构成了一个功能完备的飞机整体。随着

9、技术的提高,各个部件可能还要进行功能改善,我们还要使得不同版本的部件能够正确无误组合在一起。,什么是配置管理,准确地说:配置管理是对产品进行标识、存储和控制,以维护其完整性、可追溯性以及正确性的学科。从上面的描述,我们知道,配置管理的基本单位是配置项。软件配置项可以是:与合同、过程、计划和产品有关的文档和数据 源代码、目标代码和可执行代码 相关产品,包括软件工具、库内的可复用软件、外购软件及用户提供的软件。,随着计算机软件的发展,软件开发已由最初的“程序设计阶段”经历了“软件系统阶段”进而演变为后来的“软件工程阶段”,软件的复杂性日益增大。此时,如果仍然把软件看成一个单一的个体,就无法解决所面

10、临的问题,于是配置的概念逐渐引入软件领域,人们越来越重视软件配置的管理工作。不懂软件项目的配置管理,就不懂软件开发管理。不对软件项目进行配置管理,就没有进行软件项目的开发管理。,软件项目的配置管理,软件配置管理概述基于CMMI的软件配置管理软件配置管理的功能软件配置管理过程及其关键活动配置管理工具介绍,基于CMMI的SCM,CMM(Capability Maturity Model软件能力成熟度模型)软件配置管理是CMM2中6个关键过程域的第6个关键域。CMM2认为,SCM 的目的是为了建立和维护软件开发过程中各种制品的完整性和一致性,包括以下内容:对软件产品配置的标志和识别系统地控制对处于配

11、置管理下的各种软件制品的修改和更新维护软件开发过程中的各种制品的一致性和可跟踪性,SCM的目标,目标1:软件配置管理活动被定义和计划目标2:软件开发过程中的制品被识别、控制和管理目标3:对于处于配置管理下的软件制品的修改被控制目标4:与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息 从对配置目的的定义可以看出,CMM2的配置管理应包括这样一些活动:标识给定时间点的软件配置(即所选择的工作产品及其描述),系统地控制这些配置的更改,并在软件生命周期中保持这些配置的完整性和可跟踪性。,SCM的目标,CMM2认为,受控于配置管理的工作产品,包括交付给用户的软件产品(如:代码等),以及

12、生成软件产品所需要的有关项(如:项目管理文件)。CMM2的配置管理活动最主要的内容是:建立软件基线库,该库存储开发的软件基线。通过软件配置管理的更改控制和配置审核功能,系统地控制基线变更和由软件基线库生成的软件产品版本。,CMMI中对SCM规定的活动,根据文档化的流程,项目软件配置管理计划已准备完毕;文档化的已获批准的软件配置管理计划可用作以后软件配置管理活动的基础;软件配置管理库已经创建,并可用作进入基线的软件制品的存贮库;处于软件配置管理下的软件制品被标志和识别;对于配置项的变更请求和问题报告被初始化、计划、评审、批准并根据文化化的流程对其进行跟踪;,CMMI中对SCM规定的活动,对于进入

13、基线的制品的修改必须遵循文档化的流程;发布的产品必须从软件配置库中取出,并且产品发布的流程须依照文档化的流程和规定;根据文档化的流程和规定,软件配置项的状态被记录和跟踪;记录软件配置管理活动和软件基线内容的报告被建立,并通知受到影响的项目组和个人;根据文档化的流程进行软件制品基线的评审;,软件配置管理概述基于CMMI的软件配置管理软件配置管理的功能软件配置管理过程及其关键活动配置管理工具介绍,SCM的四大功能领域,配置标识或者又称为配置需求,包括标识软件系统的结构,标识独立部件,并使它们是可访问的。配置标识的目的,是在整个生命周期中标识系统各部件并提供对软件过程及其软件产品的跟踪能力。它回答:

14、什么是受控的?配置变更控制包括在软件生命周期中控制软件产品的发布和变更,目的是建立确保软件产品质量的机制。它回答:受控产品怎样变更?谁控制变更?何时接受,恢复,验证变更?,SCM的四大功能领域,配置状态统计包括记录和报告变更过程,目标是不间断记录所有基线项的状态和历史,并进行维护,它解决以下问题:系统已经做了什么变更?此问题将会对多少个文件产生影响?配置变更控制是针对软件产品,状态统计针对软件过程配置审核将验证软件产品的构造是否符合需求、标准、或合同的要求,目的是根据SCM的过程和程序,验证所有的软件产品已经产生并有正确标识和描述,所有的变更需求都已解决。它回答:系统和需求是否吻合?是否所有变

15、更都是在版本控制下?,SCM的三个应用层次,SCM从应用层次上可以从低到高分为三级:版本控制、以开发者为中心、过程驱动。版本控制主要应用于个人独立开发或小组开发,它可以控制任何文件的版本、实现分支和归并功能、进行文本比较、标记注释和版本报告信息,主要工具有MS的Visual SourceSafe及Intersolv PVCS。以开发者为中心主要应用于部门级开发,它可用于软件维护、不断增加的开发任务、并行开发、QA及测试,它面向大型团队、利于交流、能最大限度地利用人力资源,主要工具为Rational ClearCase及MKS Source Integrity。,SCM的三个应用层次,过程驱动主

16、要使用于企业级开发,着重解决新的工具引入、IT审核、管理报告、复杂的生命周期、应用工具包、集成解决方案、资料库等问题,实现真正规范的团队开发,主要工具为Platinum Technology CCC/Harvest。,SCM中的专业术语,基线 项目开发过程的制品经过正式评审并被相关人员一致同意,可以作为以后项目开发的基础。对已经确定为基线的制品的修改必须要通过正式的变更控制流程。在软件工程环境中,基线是指在软件开发过程中的里程碑,这些里程碑的标志是一项或多项经过正式的技术评审并一致认同的软件制品的提交。配置数据库 项目建立和访问软件制品库,这个制品库主要用来对保存配置项和一些与软件配置管理相关

17、的记录。,ClearCase中的基线,SVN中的基线,配置管理活动的作用,配置管理与质量管理 在质量体系的诸多支持活动中,配置管理处在支持活动的中心位置。质量管理虽然也有过程的验证,但配置管理只要定义的配置项够细,则它可以管理软件开发的全过程,细到每一个模块、每一个文档、每一条工程记录的变化。因此,配置管理从基础层开始,有机地把其它支持活动结合起来,形成一个整体,相互促进,相互影响,有力地保证了质量体系的实施。,配置管理给项目组带来的好处,1)节约费用 缩短开发周期 减少施工费用(2)有利于知识库的建立 代码对象库 业务及经验库(3)规范管理 量化工作量考核 规范测试(4)加强协调与沟通,软件

18、配置管理概述基于CMMI的软件配置管理软件配置管理的功能软件配置管理过程及其关键活动配置管理工具介绍,基于配置管理的软件项目角色和职责,软件配置管理过程中主要涉及下列的角色和分工:项目经理(Project Manager,PM):项目经理是整个软件研发活动的负责人,他根据软件配置控制委员会的建议批准配置管理的各项活动并控制它们的进程。其具体职责为以下几项:批准配置管理计划;创建和发布基线;配置控制委员会(Configuration Control Board,CCB):,基于配置管理的软件项目角色和职责,负责指导和控制配置管理的各项具体活动的进行,为项目经理的决策提供建议。其具体职责为以下几项

19、:建立、更改基线的设置,审核变更申请;根据配置管理员的报告决定相应的对策。配置管理员(Configuration Management Officer,CMO):根据配置管理计划执行各项管理任务,定期向CCB 提交报告,并列席CCB的例会。其具体职责为以下几项:软件配置管理工具的日常管理与维护;提交配置管理计划;各配置项的管理与维护;执行版本控制和变更控制方案;,基于配置管理的软件项目角色和职责,完成配置审计并提交报告;对开发人员进行相关的培训;识别软件开发过程中存在的问题并拟就解决方案。系统集成员(System Integration Officer,SIO):系统集成员负责生成和管理项目的

20、内部和外部发布版本,其具体职为以下几项:构建系统;完成对版本的日常维护;集成修改;建立外部发布版本。,基于配置管理的软件项目角色和职责,开发人员(Developer,DEV):开发人员的职责就是根据组织内确定的软件配置管理计划和相关规定,按照软件配置管理工具的使用模型来完成开发任务。,配置管理过程,一个软件研发项目一般可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从软件配置管理的角度来看,后两个阶段所涉及的活动是一致,所以就把它们合二为一,成为“项目开发和维护”阶段。项目计划阶段:一个项目设立之初PM 首先需要制定整个项目的计划,它是项目研发工作的基础。在有了总体研发计划之后,软件配置

21、管理的活动就可以展开了,因为如果不在项目开始之初制定软件配置管理计划,那么软件配置管理的许多关键活动就无法及时有效的进行,而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种“救火”的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。,配置管理过程,在软件配置管理计划的制定过程中,CMO根据项目计划制定详细的配置管理计划,交PM审批,批准后实施。项目开发维护阶段:这一阶段时项目研发的主要阶段。在这一阶段中,软件配置管理活动主要分为三个层面:(1)主要由CMO 完成的管理和维护工作;(2)由SIO和DEV 具体执行软件配置管理策略;(3)变更流程。详细的

22、配置管理流程图如下图所示:,配置管理工作流程,配置管理关键活动,1、配置项识别 软件配置管理认为软件的开发过程是一个不断变化着的过程,为了在不严重阻碍合理变化的情况下来控制变化,软件配置管理引入了“基线(Base Line)”这一概念。IEEE 对基线的定义是这样的:“已经正式通过复审核批准的某规约或产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程改变。”所以,根据这个定义,我们在软件的开发流程中把所有需加以控制的配置项分为基线配置项和非基线配置项两类,例如:基线配置项可能包括所有的设计文档和源程序等;非基线配置项可能包括项目的各类计划和报告等。,配置管理关键活动,2、配置项

23、的标识和控制 所有配置项都都应按照相关规定统一编号,按照相应的模板生成,并在文档中的规定章节(部分)记录对象的标识信息。在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。所有配置项的操作权限应由配置管理员严格管理,基本原则是:基线配置项向软件开发人员开放读取权限;非基线配置项向项目经理、配置控制委员会及相关人员开放。,配置管理关键活动,3、工作空间管理 在引入了软件配置管理工具之后,所有开发人员都会被要求把工作成果存放到由软件配置管理工具所管理的配置库中去,或是直接工作在软件配置管理工具提供的环境之下。所以为了让每个开发人员和各个开发团队能更好的分工合作,同时又互

24、不干扰,对工作空间的管理和维护也成为了软件配置管理的一个重要的活动。每个开发人员按照任务的要求,在不同的开发阶段,工作在不同的工作空间上。,SVN工作空间,Clearcase个人工作空间,配置管理关键活动,比较理想的情况是把整个配置库视为一个统一的工作空间,然后再根据需要把它划分为个人(私有)、团队(集成)和全组(公共)这三类工作空间(分支),从而更好的支持将来可能出现的并行开发的需求。4、版本控制 版本控制是软件配置管理的核心功能。所有置于配置库中的元素都应自动予以版本的标识,并保证版本命名的唯一性。版本在生成过程中,自动依照设定的使用模型自动分支、演进。除了系统自动记录的版本信息以外,为了

25、配合软件开发流程的各个阶段,我们还需要定义、收集一些元数据来记录版本的辅助信息和规范开发流程,并为今后对软件过程的度量做好准备。,SVN版本图,ClearCase版本树,配置管理关键活动,当然如果选用的工具支持的话,这些辅助数据将能直接统计出过程数据,从而方便我们软件过程改进(Software Process Improvement,SPI)活动的进行。对于配置库中的各个基线控制项,应该根据其基线的位置和状态来设置相应的访问权限。一般来说,对于基线版本之前的各个版本都应处于被锁定的状态,如需要对它们进行变更,则应按照变更控制的流程来进行操作。5、变更控制 变更管理的一般流程是:1)(获得)提出

26、变更请求;2)由CCB 审核并决定是否批准;3)(被接受)修改请求分配人员为,提取SCI,进行修改;,配置管理关键活动,4)复审变化;5)提交修改后的SCI;6)建立测试基线并测试;7)重建软件的适当版本;8)复审(审计)所有SCI 的变化;9)发布新版本。在这样的流程中,CMO 通过软件配置管理工具来进行访问控制和同步控制,而这两种控制则是建立在前文所描述的版本控制和分支策略的基础上的。,变更申请审批表变更号:,配置管理关键活动,6、状态报告 配置状态报告就是根据配置项操作数据库中的记录来向管理者报告软件开发活动的进展情况。配置状态报告应该包括下列主要内容:1)配置库结构和相关说明;2)开发

27、起始基线的构成;3)当前基线位置及状态;4)各基线配置项集成分支的情况;5)各私有开发分支类型的分布情况;,配置管理关键活动,6)关键元素的版本演进记录;7)其它应予报告的事项。7、配置审计 配置审计的主要作用是作为变更控制的补充手段,来确保某一变更需求已被切实实现。在某些情况下,它被作为正式的技术复审的一部分,但当软件配置管理是一个正式的活动时,该活动由SQA 人员单独执行。总之,软件配置管理的对象是软件研发活动中的全部开发资产。所有这一切都应作为配置项纳入管理计划统一进行管理,从而能够保证及时的对所有软件开发资源进行维护和集成。因此,软件配置管理的主要任务也就归结为以下几条:,配置管理关键

28、活动,(1)制定项目的配置计划;(2)对配置项进行标识;(3)对配置项进行版本控制;(4)对配置项进行变更控制;(5)定期进行配置审计;(6)向相关人员报告配置的状态。,软件配置管理概述基于CMMI的软件配置管理软件配置管理的功能软件配置管理过程及其关键活动配置管理工具介绍,配置管理工具介绍,1、VSS SourceSafe是Microsoft公司推出的配置管理工具,是VisualStudio的套件之一。SourceSafe的优点可以用8个字来概括“简单易用,一学就会”,SourceSafe的主要局限性:只能在Windows下运行,不能在Unix,Linux下运行。SourceSafe不支持异

29、构环境下的配置管理,适合于局域网内的用户群,不适合于通过Internet连接的用户群,因为SourceSafe是通过“共享目录”方式存储文件的。,配置管理工具介绍,2、CVS CVS 是 Concurrent Version System(并行版本系统)的缩写,它是著名的开放源代码的配置管理工具。与SourceSafe相比,CVS的主要优点是:SourceSafe有的功能CVS全都有,CVS支持并发的版本管理,SourceSafe没有并发功能。CVS可以在任何操作系统和网络环境下运行,还可以与其它开发软件集成进行版本管理。文件存储并不采用SourceSafe的“共享目录”方式,所以不受限于局域

30、网,信息安全性很好。CVS的主要缺点在于客户端软件,真可谓五花八门、良莠不齐。安装和使用WinCVS显然比SourceSafe麻烦不少,这是令人比较遗憾的。,配置管理工具介绍,3、SVN SVN(Subversion)是一个自由的、开放源码的版本控制系统,是继CVS之后的又一个版本管理工具。CVS 只能追踪单独档案的历史,而Subversion能够依时间追踪整个目录的更动,目录和档案都被纳入版本控管,CVS限于记录文件的版本信息,不支持复制、重命名这样的操作,而Subversion中可以添加、删除、复制、重命名文件和目录。4、Clearcase Rational公司的ClearCase是软件行业公认的功能最强大、价格最昂贵的配置管理软件。,配置管理工具介绍,ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和Windows NT平台被共享。我们公司目前使用的配置管理工具是Svn、Clearcase/ClearQuest。,谢谢!,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号