软件项目的配置管理课件_第1页
软件项目的配置管理课件_第2页
软件项目的配置管理课件_第3页
软件项目的配置管理课件_第4页
软件项目的配置管理课件_第5页
已阅读5页,还剩221页未读 继续免费阅读

下载本文档

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

文档简介

第八章软件项目的配置管理11/1/20221第八章软件项目的配置管理10/23/202218.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/202228.1软件配置及其管理的概念第八章•目录10/23/28.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/202238.1软件配置及其管理的概念第八章•目录10/23/28.1.1CMM2的配置管理概念8.1.2IEEE的配置管理定义8.1.3配置管理概述8.1.4配置管理活动的作用8.1软件配置及其管理的概念11/1/202248.1.1CMM2的配置管理概念8.1软件配置及其管理的配置的概念配置的概念来自硬件软件工程师是如何处理接口的?广而言之:软件的变化可以发生在一秒钟内软件的变化可以发生在每一秒钟软件开发过程下一秒钟是不确定的情况将会怎样?怎么办?11/1/20225配置的概念配置的概念来自硬件10/23/20225软件项目开发管理的新需求你在一家小公司做软件工程师,开始的时候,你只有一个人,配了2个助手。你们研究了一种算法(例如:图象压缩、数据加密等),编写了一个实现模块。有一天老板看到了你的演示,认为很有市场潜力,可以结合进公司正在给某行业用户正在准备开发的系统中,成为该系统的核心技术或一个别人没有的卖点。下一周,你的队伍增加到14(你的老板准备就此豪赌一把了),与你3个人的小组不同的是,公司从其他部门为你配备了系统分析师,还有文档编制员、测试员。你的核心模块已经被大量的用户功能所包装,成为一个行业应用系统,并开始给用户试用,这是你的系统的第一版。3个月后,公司决定把系统升级到第二版,除增加了许多新的功能外,公司决定支持多平台,同时,为了提高系统的性能和效率,准备采用第三方厂家的中间件,取代自己做的接口。第一版的缺陷修改,也要反映到第二版中。第2版经过2个多月的开发,最终推向了市场。公司的这个产品不但被用户所欢迎,也被一家大公司所看中(就像IBM收购了Lotus和Rational、Informix一样),你们的产品,正好可以填补这家大公司产品线的空缺,你所在的公司被这家公司买去了。

11/1/20226软件项目开发管理的新需求你在一家小公司做软件工程师,开始的时公司为你的项目组派来了产品经理、项目经理。公司决定这个产品的测试,由公司总部独立的测试部门承担。同时,公司决定把项目组增加到50人,其中有20多人并不在你所在的城市。在新公司里,产品管理、项目管理、测试、质量等等,都与你过去的环境和做法不同,特别不同的是,公司准备开发的第3版系统与公司原有的产品要进行融合,使他们看上去是一家出来的不同的兄弟和姐妹。与软件的第1版、第2版相比,你的项目管理有什么不同?

随着这个产品的演变,项目发生了四个变化:(1)系统的复杂性发生了很大变化;(2)

用于开发该系统的项目环境发生了很大变化;(3)在不同的项目生命周期内,项目控制本身的要求和力度发生了很大变化;(4)由于组织的变化,管理流程、人员、方式发生了很大变化。前二类变化要求项目的组织和管理适应系统扩展的需要,后二种变化则要求项目管理具有适应性和灵活性。11/1/20227公司为你的项目组派来了产品经理、项目经理。公司决定这个产品的缺乏管理所造成的问题软件开发人员之间缺乏必要的交流产品升级和维护所必需的程序和文档非常混乱开发过程中的人员流动经常发生因管理不善致使未经测试的软件加入到产品中项目开发状态不清楚软件生产达不到规模化

11/1/20228缺乏管理所造成的问题软件开发人员之间缺乏必要的交流10/23软件配置管理

SCM(SoftwareConfigurationManagement)

软件配置管理(SCM)是指在开发过程中各阶段,管理计算机程序演变的学科,它作为软件工程的关键元素,已经成为软件开发和维护的重要组成部分……SCM提供了结构化的,有序化的,产品化的管理软件工程的方法。它涵盖了软件生命周期的所有领域并影响所有数据和过程。配置管理是指用于控制系统一系列变化的学科。通过一系列技术,方法和手段来维护产品的历史,鉴 别和定位产品独有的版本,并在产品的开发和发布阶段 控制变化。通过有序管理和减少重复性工作,配置管理保证了生 产的质量和效率。11/1/20229软件配置管理

SCM(SoftwareConfigurat我们知道,在软件建立时,变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。因此,从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。SCM通过以下方法,强化软件的可靠性和质量:(1)提供用于识别和控制文档、代码、接口、数据库的结构框架,适用于软件开发生命周期的所有阶段;(2)全面支撑某一特定开发及维护工作方法,能够适应各种类型的需求、标准、政策、组织机构以及相关的管理策略;(3)针对特定的基线状态、变更控制、测试、发布版本或审查活动,生成相应的管理信息和产品信息。因此,从某种意义上讲,SCM本质上是变更的管理。SCM使软件产品和过程的变更变为受控的和可预见的,它要求并在适当的工具支持下能够做到这样几点:(1)谁做的变更?(2)软件有什么变更?(3)什么时间做的变更?(4)为何要变更?

11/1/202210我们知道,在软件建立时,变更是不可避免的,而变更加剧了项软件项目的配置管理随着计算机软件的发展,软件开发已由最初的“程序设计阶段”经历了“软件系统阶段”进而演变为后来的“软件工程阶段”,软件的复杂性日益增大。此时,如果仍然把软件看成一个单一的个体,就无法解决所面临的问题,于是配置的概念逐渐引入软件领域,人们越来越重视软件配置的管理工作。

不懂软件项目的配置管理,就不懂软件开发管理不对软件项目进行配置管理,就没有进行软件项目开发管理11/1/202211软件项目的配置管理随着计算机软件的发展,软件开发已由最初的“软件配置管理是CMM2中6个关键过程域的第6个关键域。CMM2认为,SCM的目的是为了建立和维护软件开发过程中各种制品的完整性和一致性,包括以下内容:对软件产品配置的标志和识别系统地控制对处于配置管理下的各种软件制品的修改和更新维护软件开发过程中的各种制品的一致性和可跟踪性8.1.1CMM2的配置管理概念

11/1/202212软件配置管理是CMM2中6个关键过程域的第6个关键域。CMMSCM的目标目标1:软件配置管理活动被定义和计划目标2:软件开发过程中的制品被识别、控制和管理目标3:对于处于配置管理下的软件制品的修改被控制目标4:与软件制品相关的项目组和成员应该被通知制品的目前状态和被修改的信息

从对配置目的的定义可以看出,CMM2的配置管理应包括这样一些活动:标识给定时间点的软件配置(即所选择的工作产品及其描述),系统地控制这些配置的更改,并在软件生命周期中保持这些配置的完整性和可跟踪性。CMM2认为,受控于配置管理的工作产品,包括交付给用户的软件产品(如:代码等),以及生成软件产品所需要的有关项(如:项目管理文件)。CMM2的配置管理活动最主要的内容是:建立软件基线库,该库存储开发的软件基线。通过软件配置管理的更改控制和配置审核功能,系统地控制基线变更和由软件基线库生成的软件产品版本。11/1/202213SCM的目标目标1:软件配置管理活动被定义和计划从对配置要达到CMM规定的SCM要求所需具备的能力具有对软件基线产品有管理权限的组织已经建立,例如:软件配置管理委员会;协调和实现软件配置管理的组织已经建立;为进行软件配置管理所需要的各项资源已经分配;软件配置管理组织里的成员已经接受了软件配置目标、流程、方法方面的培训;软件项目组或是其他的相关的部门经过培训,可以执行他们的软件配置管理活动;11/1/202214要达到CMM规定的SCM要求所需具备的能力10/CMM中对SCM规定的活动根据文档化的流程,项目软件配置管理计划已准备完毕;文档化的已获批准的软件配置管理计划可用作以后软件配置管理活动的基础;软件配置管理库已经创建,并可用作进入基线的软件制品的存贮库;处于软件配置管理下的软件制品被标志和识别;对于配置项的变更请求和问题报告被初始化、计划、评审、批准并根据文化化的流程对其进行跟踪;11/1/202215CMM中对SCM规定的活动根据文档化的流程,项目软件配置对于进入基线的制品的修改必须遵循文档化的流程;发布的产品必须从软件配置库中取出,并且产品发布的流程须依照文档化的流程和规定;根据文档化的流程和规定,软件配置项的状态被记录和跟踪;记录软件配置管理活动和软件基线内容的报告被建立,并通知受到影响的项目组和个人;根据文档化的流程进行软件制品基线的评审;CMM中对SCM规定的活动11/1/202216对于进入基线的制品的修改必须遵循文档化的流程;CMM中对S组织规定和相关责任项目级配置管理项目配置经理(ProjectConfigurationManager)与软件配置管理计划变更控制委员会(ChangeControlBoard)组织级配置管理组织配置管理库(OrganizationalConfigurationManagementCell)负责项目完成后的软件配置管理活动管理组织级的文档11/1/202217组织规定和相关责任10/23/202217IEEE标准729-1983就配置管理的内容进行了规范的定义:

(1)标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。

(2)控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。例如,它将解决哪些修改会在该产品的最新版本中实现的问题。

(3)状态统计:记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。例如,它将解决修改这个错误会影响多少个文件的问题。

(4)审计和审查:确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合。例如,它将解决目前发布的产品所用的文件的版本是否正确的问题。

(5)生产:对产品的生产进行优化管理。它将解决最新发布的产品应由哪些版本的文件和工具来生成的问题。

(6)过程管理:确保软件组织的规程、方针和软件周期得以正确贯彻执行。它将解决要交付给用户的产品是否经过测试和质量检查的问题。

(7)小组协作:控制开发统一产品的多个开发人员之间的协作。例如,它将解决是否所有本地程序员所做的修改都已被加入到新版本的产品中的问题。8.1.2IEEE的配置管理定义

11/1/202218IEEE标准729-1983就配置管理的内容进行了规范的定义CMM2的定义比较抽象,IEEE的定义就比较具体。结合各体系的定义和要求,我们下面具体来讨论配置管理的概念。8.1.3配置管理功能概述

11/1/202219CMM2的定义比较抽象,IEEE的定义就比较具体。结合各体系配置标识或者又称为配置需求,包括标识软件系统的结构,标识独立部件,并使它们是可访问的。配置标识的目的,是在整个生命周期中标识系统各部件并提供对软件过程及其软件产品的跟踪能力。它回答:什么是受控的?

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

SCM的四大功能领域11/1/202220配置标识或者又称为配置需求,包括标识软件系统的结构,标识独立SCM从应用层次上可以从低到高分为三级:版本控制、以开发者为中心、过程驱动。版本控制主要应用于个人独立开发或小组开发,它可以控制任何文件的版本、实现分支和归并功能、进行文本比较、标记注释和版本报告信息,主要工具有MS的VisualSourceSafe及IntersolvPVCS。

以开发者为中心主要应用于部门级开发,它可用于软件维护、不断增加的开发任务、并行开发、QA及测试,它面向大型团队、利于交流、能最大限度地利用人力资源,主要工具为RationalClearCase及MKSSourceIntegrity。过程驱动主要使用于企业级开发,着重解决新的工具引入、IT审核、管理报告、复杂的生命周期、应用工具包、集成解决方案、资料库等问题,实现真正规范的团队开发,主要工具为PlatinumTechnologyCCC/Harvest。SCM的三个应用层次11/1/202221SCM从应用层次上可以从低到高分为三级:版本控制、以开发者为SCM中的专业术语配置(Configuration)与配置项(ConfigurationItem)在软件开发过程中生成各种制品的总和叫做这个项目的软件配置[RogerS.Pressman,1997]计算机程序,包括源代码和可执行程序与计算机程序相对应的各种文档计算机数据,包括计算机程序中包含的数据和系统初始化数据11/1/202222SCM中的专业术语配置(Configuration)与配SCM中的专业术语基线项目开发过程的制品经过正式评审并被相关人员一致同意,可以作为以后项目开发的基础。对已经确定为基线的制品的修改必须要通过正式的变更控制流程。在软件工程环境中,基线是指在软件开发过程中的里程碑,这些里程碑的标志是一项或多项经过正式的技术评审并一致认同的软件制品的提交。11/1/202223SCM中的专业术语基线10/23/202223SCM中的专业术语配置数据库(软件制品基线库)项目建立和访问软件制品库,这个制品库主要用来对保存配置项和一些与软件配置管理相关的记录。目前比较好的配置管理工具:Clearcase(Rational),Notes/Domino(Lotus),PVCS(Merant)andVSS(Microsoft).11/1/202224SCM中的专业术语配置数据库(软件制品基线库)10/23/配置管理库(1)基线库的结构(VOB) ProjectRootDirectoryProjectPlanningPhaseDocumentsRequirementsAnalysisPhaseDocumentsDesignPhaseDocumentsCode,UnitTest&IntegrationPhaseDocumentsSystemTestPhaseDocumentsPhaseDeliverablesPhaseDeliverablesProductSoftwareTestSoftwareProductSoftwareRelatedTestSoftwareRelatedSourceCodeObjectiveCodeExecutiveCodeDOCDATAABBBBCode11/1/202225配置管理库(1)基线库的结构(VOB) ProjectRo配置管理库的具体实现——项目文件夹项目文件件是项目开发过程中由项目组创建和维护的制品归档库。软件配置管理负责管理和控制项目文件夹,并对文件夹中的内容进行评审;项目经理负责监督项目的软件配置管理执行;软件质量工程师负责对项目文件夹的内容进行评审;配置管理库11/1/202226配置管理库的具体实现——项目文件夹配置管理库10/23/20配置管理库项目文件夹的内容项目开发过程中的所有信息,包括文档、工作制品和各种周报、月报、评审等;与外部的交流信息,例如与客户、第三方的通讯交流记录等;其他交流会议记录,例如:重要的Email,传真,信件等;11/1/202227配置管理库项目文件夹的内容10/23/202227配置管理库权限管理

项目组内部的权限管理与分配对其他项目组的开放权限管理与分配对其他用户或是第三方的权限管理与分配11/1/202228配置管理库权限管理10/23/2022288.1.4配置管理活动的作用配置管理与质量管理

在质量体系的诸多支持活动中,配置管理处在支持活动的中心位置。质量管理虽然也有过程的验证,但配置管理只要定义的配置项够细,则它可以管理软件开发的全过程,细到每一个模块、每一个文档、每一条工程记录的变化。因此,配置管理从基础层开始,有机地把其它支持活动结合起来,形成一个整体,相互促进,相互影响,有力地保证了质量体系的实施。

11/1/2022298.1.4配置管理活动的作用配置管理与质量管理10/23/配置管理给项目组带来的好处(1)节约费用

缩短开发周期

减少施工费用

(2)有利于知识库的建立

代码对象库业务及经验库

(3)规范管理

量化工作量考核

规范测试

(4)加强协调与沟通

11/1/202230配置管理给项目组带来的好处(1)节约费用

缩短开发周期8.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/2022318.1软件配置及其管理的概念第八章•目录10/23/28.2.1主要配置管理活动8.2.2项目经理的配置管理流程8.2配置管理活动和流程11/1/2022328.2.1主要配置管理活动8.2配置管理活动和流程10/8.2.1主要配置管理活动

标志配置项变更控制版本控制评审统计软件编译、连接和发放管理11/1/2022338.2.1主要配置管理活动标志配置项10/23/2022RUP描述的配置管理的主要活动如下图所示:对于一个软件项目组来说,开展一个项目组的配置管理,大致可以分为以下步骤:对于一个软件项目组来说,开展一个项目组的配置管理,大致可以分为以下步骤:(1)拟订项目的配置管理计划;(2)创建项目的配置管理环境;(3)进行项目的配置管理活动,包括:标识配置项;管理基线和发布活动;监测与报告配置状态;管理变更请求。(1)和(2)可以看成配置管理的准备,(3)是配置管理的具体实施。配置管理的具体实施,在RUP定义为四个管理活动。

11/1/202234RUP描述的配置管理的主要活动如下图所示:对于一个软件项目组配置项(SoftwareConfigurationItem,SCI)识别

对于配置项,可以给出一个比较简单的定义,既软件过程的输出信息可以分为三个主要类别:(1)计算机程序(源代码和可执行程序)(2)描述计算机程序的文档(针对技术开发者和用户)(3)数据(包含在程序内部或外部)。这些项包含了所有在软件过程中产生的信息,总称为软件配置项。”

在CMM2中,除上述3个配置项以外,还包括项目管理的有关文件、信息记录等。

由此可见,配置项的识别是配置管理活动的基础,也是制定配置管理计划的重要内容。

11/1/202235配置项(SoftwareConfigurationIte配置项(SoftwareConfigurationItem,SCI)识别

软件配置管理认为软件的开发过程是一个不断变化着的过程,为了在不严重阻碍合理变化的情况下来控制变化,软件配置管理引入了“基线(BaseLine)”这一概念。

IEEE对基线的定义是这样的:“已经正式通过审核批准的某规约或产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程改变。”

所以,根据这个定义,我们在软件的开发流程中,也可以把所有需要加以控制的配置项分为基线配置项和非基线配置项两类,例如:基线配置项可能包括所有的设计文档和源程序等;非基线配置项可能包括项目的各类计划和报告等。

有关配置项的内容,我们将在后面,专门花一节的篇幅,进行讨论。11/1/202236配置项(SoftwareConfigurationIte配置项的标识和控制

所有配置项都应按照相关规定统一编号,按照相应的模板生成,并在文档中的规定章节(部分)记录对象的标识信息。在引入软件配置管理工具进行管理后,这些配置项都应以一定的目录结构保存在配置库中。

所有配置项的操作权限应由配置管理员严格管理,基本原则是:基线配置项向软件开发人员开放读取权限;非基线配置项向项目经理、配置控制委员会及相关人员开放。

11/1/202237配置项的标识和控制所有配置项都应按照相关规定统一编工作空间管理

在引入了软件配置管理工具之后,所有开发人员都会被要求把工作成果存放到由软件配置管理工具所管理的配置库(存储池)中去,或是直接工作在软件配置管理工具提供的环境之下(根据配置管理构架提供的控制方式不同而不同)。每个开发人员按照任务的要求,在不同的开发阶段,工作在不同的工作空间上。比较理想的情况是把整个配置库视为一个统一的工作空间,然后再根据需要把它划分为个人(私有)、团队(集成)和全组(公共)这三类工作空间(分支),从而更好的支持将来可能出现的并行开发的需求。

11/1/202238工作空间管理在引入了软件配置管理工具之后,所有开发版本控制版本控制是软件配置管理的核心功能。所有置于配置库中的元素都应自动予以版本的标识,并保证版本命名的唯一性。版本在生成过程中,自动依照设定的使用模型自动分支、演进。除了系统自动记录的版本信息以外,为了配合软件开发流程的各个阶段,我们还需要定义、收集一些元数据来记录版本的辅助信息和规范开发流程,并为今后对软件过程的度量做好准备。当然如果选用的工具支持的话,这些辅助数据将能直接统计出过程数据,从而方便我们软件过程改进(SoftwareProcessImprovement,SPI)活动的进行。对于配置库中的各个基线控制项,应该根据其基线的位置和状态来设置相应的访问权限。一般来说,对于基线版本之前的各个版本都应处于被锁定的状态,如需要对它们进行变更,则应按照变更控制的流程来进行操作。

11/1/202239版本控制版本控制是软件配置管理的核心功能。所有置变更控制变更管理的一般流程是:(1)(获得)提出变更请求;(2)由CCB审核并决定是否批准;(3)(被接受)分配请求,修改人员提取配置项,进行修改;(4)复审变化;(5)提交修改后的配置项;(6)建立测试基线并测试;(7)重建软件的适当版本;(8)复审(审计)所有配置项的变化;(9)发布新版本。

在这样的流程中,配置管理员通过软件配置管理工具来进行访问控制和同步控制,而这两种控制则是建立在前面所描述的版本控制和分支策略的基础上的。

11/1/202240变更控制变更管理的一般流程是:10/23/202240状态报告配置状态报告应该包括下列主要内容:

(1)配置库结构和相关说明;(2)开发起始基线的构成;(3)当前基线位置及状态;(4)各基线配置项集成分支的情况;(5)各私有开发分支类型的分布情况;(6)关键元素的版本演进记录;(7)其它应报告的事项。

11/1/202241状态报告配置状态报告应该包括下列主要内容:10/23/20配置审计

配置审计的主要作用是作为变更控制的补充手段,来确保某一变更需求已被切实实现。在某些情况下,它被作为正式的技术复审的一部分,但当软件配置管理是一个正式的活动时,该活动由SQA人员单独执行。

总之,软件配置管理的对象是软件研发活动中的全部开发资产。所有这一切都应作为配置项纳入管理计划统一进行管理,从而能够保证及时的对所有软件开发资源进行维护和集成。因此,软件配置管理的主要任务也就归结为以下几条:(1)制定项目的配置计划;(2)对配置项进行标识;(3)对配置项进行版本控制;(4)对配置项进行变更控制;(5)定期进行配置审计;(6)向相关人员报告配置的状态。

11/1/202242配置审计配置审计的主要作用是作为变更控制的补充手8.2.2项目经理的配置管理流程项目经理的工作是:(1)确定项目配置管理策略(2)确定用于控制产品变更的策略和流程(3)在配置管理计划(是软件开发计划的一部分)中记录此信息11/1/2022438.2.2项目经理的配置管理流程项目经理的工作是:10/配置管理策略

软件配置管理策略是指能够确定、保护和报告已经批准用于项目中的工件的能力。通过正确的标注来实现确定操作。对项目工件的保护是通过归档、建立基线和报告等操作而得以实现的。使用标准的、已记录下来的变更控制流程的目的是:确保项目中所做的变更保持一致,并将产品的状态、对其所做的变更以及这些变更所耗费的成本及对时间表的影响通知给有关的涉众。

软件配置管理计划说明在产品/项目生命周期中要执行的所有与配置管理相关的活动。它记录如何计划、实施、控制和组织与产品相关的配置管理活动。

11/1/202244配置管理策略软件配置管理策略是指能够确定、保护和报告已配备人员配置管理人员的选择和配备,是软件项目经理最主要的工作。在一个比较理想的软件开发团队中,需要哪些角色呢?

负责软件项目组的项目经理 负责SCM计划和策略的配置经理 负责软件产品开发与维护的软件工程人员 负责验证产品正确性的测试人员 负责确保产品高质量的质量保证经理 使用产品的用户。

11/1/202245配备人员配置管理人员的选择和配备,是软件项目配置经理

配置经理的目标是确保用来建立、变更及编码测试的计划和策略得以贯彻执行,同时使有关项目的信息容易获得。为了对编码更改形成控制,配置经理引入规范的请求变更的机制,评估更改的机制(通过变更控制机构CCB,由它负责批准对软件系统的变更),和批准变更的机制。

配置经理负责为工程人员创建任务单,交由项目经理对任务进行分配,创建项目的框架。同时,配置经理还收集软件系统中构件的相关数据,比如说用以判断系统中出现问题的构件的信息。

11/1/202246配置经理配置经理的目标是确保用来建立、变更及编码测试的计8.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/2022478.1软件配置及其管理的概念第八章•目录10/23/28.3.1配置管理的对象8.3.2最基本的配置管理项——文档8.3.3UCM目录结构下的配置管理对象8.3配置管理需求11/1/2022488.3.1配置管理的对象8.3配置管理需求10/23/28.3.1配置管理对象配置管理的第一个基本活动是配置标识,通俗地讲,也就是查询、识别和确定配置管理对象——配置项。在生产的软件产品和软件的生产过程中,那些是配置管理的对象呢?配置管理对象呈现为一种层次结构,因此,为了标识配置管理的对象,我们需要对软件系统进行分解:目前,用于分解软件系统的术语有多种多样,没有被标准化。1989年Humphery定义了5个层次:系统、子系统、产品、构件和模块。1991年Whitgift定义了3个层次:系统、子系统和元素。IEEE定义了3个层次:计算机配置项、计算机软件构件和计算机软件单元。RUP定义了4个层次:系统、实施(或构件)子系统、构件和文件(RUP5.51999)。

11/1/2022498.3.1配置管理对象配置管理的第一个基本活动是配置标识,配置管理对象

在RUP的概念里,最底层的元素是处于版本控制下的文件和目录,构件的层次要高于元素(文件和目录),构件把元素组织起来。一个版本控制的构件是一个具体的物理的对象,就是一个根目录。这个根目录,以及从根目录下所属的所有目录和文件,是系统的一个子系统。大的系统有多个根目录(子系统),小系统则可能只有一个根目录。产品目录结构为所有可具有版本号的、与产品相关的工件提供逻辑嵌套的占位符。工件是开发流程生命周期的结果,用于开发整个系统的各组成部分(构件)。11/1/202250配置管理对象在RUP的概念里,最底层的元素是处于版本控制下配置管理对象

首先我们从根目录开始(假设是只有一个根目录的小)系统,讨论软件系统架构:软件项目通过一系列的生命阶段,将建立或者已经建立起一个体系构架。软件的体系构架在软件工程时代被称为系统结构。在UML中,被称为构架。

UML对构架的定义是:(1)一组有关软件系统组织结构的重要决定;(2)结构要素和接口的选取,确保它们的行为能满足这些要素之间的协作关系;(3)结构要素和行为要素以一种渐进的方式被组装成子系统,能够指导这种组织结构的结构风格,要素的内容,它们的接口、它们的协作和它们的组合。系统或系统构架是由子系统(构件)组成的。11/1/202251配置管理对象首先我们从根目录开始(假设是只有一个根目录的小UML进一步把构件划分成三种构件:部署型构件、工作产品型构件和执行构件。

(1)部署型构件:是指那些被部署到目标机中的元素,例如:可执行程序、库以及其他支持系统运行的文件。(2)工作型构件:是构成开发环境的元素,例如:源文件、头文件以及其他用于导出或构建部署型构件的文件。(3)可执行型构件:是指由运行于目标机的系统生成的内容,例如:数据等。从SCM的角度看系统架构,我们主要关注的是在开发环境中以及将来部署到目标系统中的系统的物理层面的文件和目录结构、分组和版本化。这种关注决定了配置管理的对象以及对象的“粒度”。现在,有些项目使用高层次的设计文档来描述架构,例如:模型、视图等。在高层架构描述中,逻辑上的“类”,可影射对应为物理层面的文件和目录。作为软件产品和软件过程,这些文件和目录是SCM控制的对象,即他们是配置项。在我们现在的讨论中,有时,我们说明这些文件是用于管理和设计系统的内容(包括:项目计划、设计模型、测试报告)等,有些是实现系统设计的文件(包括:源代码、库、执行文件等),有时,把它们不加区别地看成为构件。11/1/202252UML进一步把构件划分成三种构件:部署型构件、工作产品型构件CMM2的配置管理对象

CMM2把配置管理对象,称之为软件工作产品,在CMM2配置管理定义中,对应置于配置管理下的软件工作产品,是这样定义的:可作为配置项/单元标识的软件工作产品实例有:与过程相关的文档(例如:计划、标准或规程) 软件需求 软件设计 软件代码单元 软件测试规程 为软件测试活动建立的软件系统 交付给客户或最终用户的软件系统 编译程序 其他支持工具 不论各体系是如何定义的,我们基本可以认为,配置管理的对象,主要地可以分为二类:软件产品和文档。软件产品比较容易标识,而文档相对比较复杂。我们将重点进行讨论。

11/1/202253CMM2的配置管理对象CMM2把配置管理对象,称之为软件工8.3.2最基本的配置管理项——文档文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间,起到了多种的桥梁作用。软件开发人员在软件生命的各个阶段中,以文档作为前阶段工作成果的体现和后阶段工作的依据,这个作用是显而易见的。这部分文档通常称为开发文档。软件开发过程中软件开发人员需制定一些工作计划或工作报告,这些计划和报告都要提供给管理人员,并得到必要的支持。管理人员则可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。这部分文档通常称为管理文档,或称为项目文档。软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料。这部分文档通常称为用户文档。11/1/2022548.3.2最基本的配置管理项——文档文档在软件开发人员、软我们把这三种文档所包括的内容列在下图中。其中列举了十三个文档,这里对它们做一些简要说明:

文档用户文档用户手册操作手册维护修改建议软件需求(规格)说明书开发文档软件需求(规格)说明书数据要求说明书概要设计说明书详细设计说明书可行性研究报告项目开发计划管理文档项目开发计划测试计划测试报告开发进度月报开发总结报告11/1/202255我们把这三种文档所包括的内容列在下图中。其中列举了十三个文档文档的生成阶段

阶段文档

可行性研究与计划需求分析设计代码编写测试运行与维护可行性研究报告

项目开发计划

软件需求说明

数据要求说明

概要设计说明

详细设计说明

测试计划

用户手册

操作手册

测试分析报告

开发进度月报

项目开发总结

维护修改建议

11/1/202256文档的生成阶段可行性研究与计划需求分析设计代码编写测试运行文档的作用

所提问题文档

什么何处何时谁如何为何可行性研究报告√

√项目开发计划√

√√

软件需求说明√√

数据要求说明√√

概要设计说明

详细设计说明

测试计划

√√√

用户手册

操作手册

测试分析报告√

开发进度月报√

项目开发总结√

维护修改建议√

√11/1/202257文档的作用什么何处何时谁如何为何可行性研究报告√

8.3.3UCM目录结构下的配置管理UCM(统一变更管理)的发展沿革

第一代UCM:第二代UCM:第三代UCM:

第三代UCM引进了一些新的概念:(1)活动(Activity):(2)构件(Component):(3)工作流(Stream):(4)项目(Project):

11/1/2022588.3.3UCM目录结构下的配置管理UCM(统一变更管理8.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/2022598.1软件配置及其管理的概念第八章•目录10/23/28.4.1版本管理的必要性8.4.2此前的版本管理8.4.3元素、分支与版本8.4.4构件、基线与存储池8.4.5现代版本管理活动8.4版本管理11/1/2022608.4.1版本管理的必要性8.4版本管理10/23/208.4.1版本管理的必要性在软件开发过程中,由于软件开发所固有的特征,可能会形成众多的软件版本,而且我们并不能保证不出现错误的修改,而这样的一个困难局面却又非常现实地摆在项目开发管理者的面前,他/她该如何有效地解决这些问题,具体地说就是如下一些问题:(1)怎样对研发项目进行整体管理;(2)项目开发小组的成员之间如何以一种有效的机制进行协调;(3)如何进行对小组成员各自承担的子项目的统一管理;(4)如何对研发小组各成员所作的修改进行统一汇总;(5)如何保留修改的轨迹,以便撤销错误的改动;(6)对在研发过程中形成的软件的各个版本如何进行标识,管理及差异识辨等等。一个非常直接的反应是,我们必须要引进一种管理机制,一个版本管理机制,而且是广义上的版本管理,它不仅需要对源代码的版本进行管理,而且还要对整个项目进行管理。11/1/2022618.4.1版本管理的必要性在软件开发过程中,由于软件开发8.4.2早前的版本管理

在软件工程时代,面对这样的问题,我们通过以往的那种被誉建立具有良好的编程风格的做法,诸如在编程或对他人的源程序进行修改时,注释修改原因,修改人和日期。如果是多个成员同时进行了修改,那么可能出现一个库管理员,由他来控制什么人在访问哪个源代码,修改的人向他报告做了什么改动。如果有几个人同时改动,库管理员或者限定同时只能有一个人做修改,他记住这人是谁,或者他自己来做同时修改的人工的差异比较和综合,以便形成一个统一的新版本。在3-5人小组,这个库管理员还能胜任,但这种做法在当前的大型软件的开发中已经越来越困难了,因为靠人工的操作、靠个人的自觉、靠库管理员的维护,充其量是一种以小作坊的形式来面对软件的社会化大生产,再也不可能行得通了。基于共享文件目录的版本管理

在版本控制工具出现之前,或者,现在国内很多的软件企业,并不用什么版本控制工具。他们也做一些简单的版本控制工作。他们是怎么做的?最简单的办法是使用文件拷贝支持不同的版本。具体地讲,就是项目组在项目组的文件共享服务器上,建立一个项目组文件系统,在文件系统下,对涉及到的文件,建立不同的版本目录,从个人工作区到系统发布版,包括中间结果,甚至可能是所有文件。库管理员不断地增加目录的标签,以标识历史前进的步伐。11/1/2022628.4.2早前的版本管理在软件工程时代,面对这样的问题,我8.4.2早前的版本管理

早期的版本管理工具

(1)通过存储池机制来维护文件库; (2)创建和存放文件的多个版本; (3)提供一种或几种锁定装置,强制对文件的修改顺序; (4)标识文件的版本; (5)从历史目录中找回旧版本。这些工具基本上能帮助库管理员从手工的管理中解脱出来,开发人员不需要库管理员的介入,可以自己从库中检入和检出文件,当文件被检出后,其他人暂时不能再检出此文件。同时,在必要的时候,文件的一个新版本被创立。11/1/2022638.4.2早前的版本管理早期的版本管理工具10/23/28.4.2早前的版本管理

例如:MS的VSS版本控制是通过以下方式实现的:VSS提供版本控制和历史服务,以保证一个文件的每个版本都是可恢复的。VSS用日期/时间戳来记录文件是何时被Check-out或是何时被修改的,它主要有三种方法来跟踪文件和项目的版本:(1)版本号:这是由VSS维护的内部数码,用户对它没有控制权。每个文件和项目的每个版本都有一个版本号,这些版本号总是一个整数且是递增的。(2)标签:这些是用户赋给某个项目或文件的某个版本的一个字符串,可以是任何格式的长度不超过31字符的字符串。(3)日期/时间戳:它给出了一个文件何时最后被修改的信息,或者是一个文件何时被Check-in。VSS同时支持12小时和24小时的时间格式。11/1/2022648.4.2早前的版本管理例如:MS的VSS版本控制是通过以8.4.3元素、分支与版本

原子对象

在ClearCase的概念中,置于版本控制下的原子对象被称为“元素”(element),元素是文件系统对象:文件和目录。每个元素记录了它所代表的文件和目录的版本。所以,当用户检入文件时,就创建了那个元素的新版本。元素被组织成不同的分支。分支是线形的版本序列,版本序列构成的是并行开发的项目或基于统一基线开始的不同的系统。元素都被保存在存储池(VOB)中。下图是存储池、元素、分支、版本之间的关系:在ClearCase中,每一个元素都以一个主分支(mainbranch)和一个不包含任何内容的零版本序列开始,称为“/main/0”。每一次新版本检入,在主分支上创建版本111/1/2022658.4.3元素、分支与版本原子对象10/23/20226SCM的版本树左图的版本树中,长方形表示一个分支,圆形表示检入的时间排序的版本号,箭头表示从一个分支到另一个分支的变更回归(归并)。“发布版本1.0/1.1”是这个版本上的标签。目录是元素,也是版本对象。ClearCase对目录与文件一样,也进行版本管理。为了能在前一个版本中修复BUG,或者从新版本退回到就版本,就有必要恢复一个旧的版本。目录被修改,在检入的时候,也要进行记录。对目录进行版本管理的目的,还可以借助目录机制,重建或构造软件系统的前一个版本。343210Release1.0\main2103\rel1_bugfix2\rel210Release1.111/1/202266SCM的版本树左图的版本树中,长方形表示一个分支,圆形表示元素类型

在ClearCase中,存放在存储池中的元素都被赋予特定的类型,使之可以用于多种目的。类型可以帮助系统决定对该元素的操作。包括: l

确定元素可以使用的存储/增量机制 l

决定版本选择的范围,例如:设计文档版本、项目管理文档版本等 l

适用于不同的配置管理策略 l

决定比较、归并等的机制

ClearCase已经预先定义了的元素类型,它们主要和存储机制有关。 文件(完全备份) 文本文件(同轴增量备份) 压缩文本文件(与文本文件相同,但进行压缩) 压缩文件(完全备份,仅进行压缩) 二进制文件(差异增量保存) 目录(直接保存)11/1/202267元素类型在ClearCase中,存放在存储池中的元素8.4.4构件、基线与存储池构件将把被一起开发、集成和发布的文件和目录聚集在一起。聚集成ClearCase构件的文件和元素通常可以实现系统构架中的一个可重用的部分。构件通过标识一个根目录来定义,这个目录与所有的文件和子目录都被看作是这个构件的一个部分。构件的一个版本就是一个基线。构件基线标识了构件中包含的每一个元素或一个版本,构件的基线用来配置工作流,为各种视图提供信息,以便决定文件和目录的什么版本被显示。就像元素有版本一样,构件有基线。当修改一个元素时,你创建了这个元素的一个版本,当你修改构件中的一个元素时,你也创建了这个构件的一个新基线。工作流把一组构件基线聚集在一起。然而,这不是项目范围的基线概念,更恰当的讲,当你在项目的集成流上完成一个基线操作时,你创建了一组被修改构件的基线。11/1/2022688.4.4构件、基线与存储池构件将把被一起开发、集成和发根据一个产品的质量标准要求和需求的不同,可以定义一个项目的不同基线。也就是说,一个公司可以定义不同的测试、功能、版本基线。另一个项目组可以根据自己的需要,选择某特定构件,确定自己的基线。

下图表明构件和基线之间的关系:任何UCM的核心最后将归结到存储池,存储池也被称为“VersionedObjectBase”,或简称为VOB。VOB是用于存储文件、目录和元数据的永久数据存储池。VOB必须能够支持可扩展的、容错的、分布式的可复制的性能。

项目的VOB包含与项目环境有关的对象,如:项目、构件、活动以及基线,这些构成了一个正在开发的项目的所有信息,包括项目的组织和管理信息。11/1/202269根据一个产品的质量标准要求和需求的不同,可以定义一个项目的不8.4.5现代版本管理活动

现代版本管理活动围绕以下展开: l

支持多人同时修改同一文件;

l

支持多个小组在同一时间修改同一个软件系统;

l

现代的工作空间管理;

l

现代的构建和发布管理。11/1/2022708.4.5现代版本管理活动现代版本管理活动围绕以下展开:并行开发的版本控制并行开发3210\main2103\Bugfix4210\main3432\Telecom10Release1.0Telecom1.011/1/202271并行开发的版本控制并行开发3210\main2103\Bug

版本控制的好处使混乱的开发状态变得有序!SCM的主要技术——版本控制11/1/202272版本控制的好处使混乱的开发状态变得有序!SCM的主8.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/2022738.1软件配置及其管理的概念第八章•目录10/23/28.5.1基于基线的变更管理8.5.2变更请求管理过程8.5.3变更请求管理活动8.5.4变更请求的状态转移8.5变更管理11/1/2022748.5.1基于基线的变更管理8.5变更管理10/23/2可以了解谁改了什么、为什么正确及时的项目状态报告最大限度的利用你的工程师资源利于团队交流是团队开发过程中的通讯基础11/1/202275可以了解谁改了什么、为什么是团队开发过程中的通讯基础10/28.5.1基于基线的变更管理

l

变更管理下的基线概念 l

建立基线的意义 l

建立基线的时机

11/1/2022768.5.1基于基线的变更管理10/23/2022768.5.2变更管理流程变更管理流程:变更管理流程包括提出请求、对请求进行评估、同意请求和实现对已经进入基线库的配置项进行修改。CCB(ChangeControlBoard),由项目经理、系统分析员、项目配置经理和软件质量工程师组成,负责评估变更请求,提出同意或不同意对已进入基线库的配置项的变更;TAF:test,analyzeandfix;11/1/2022778.5.2变更管理流程变更管理流程:变更管理流程包括提出请变更管理流程(1)与变更管理流程相关的表格软件问题报告表SoftwareProblemReportForm(SPRF)软件变更请求表SoftwareChangeRequestForm(SCRF)软件问题解决细节SoftwareProblemResolutionDetails(SPRD)11/1/202278变更管理流程(1)与变更管理流程相关的表格10/23/202变更管理流程(2)由用户提出的变更请求由项目主提出的变更请求问题评估PAT由用户在产品发布前发现的问题由项目组自身发现的问题系统分析员软件问题报告表问题处理NOYES软件变更请求表软件变更请求表系统分析员由于升级而进行的变更对问题不予接受告知问题提出者问题被拒绝11/1/202279变更管理流程(2)由用户提出的变更请求由项目主提出的变更请求变更管理流程(3)11/1/202280变更管理流程(3)10/23/2022808.5.3变更请求管理活动

11/1/2022818.5.3变更请求管理活动10/23/2022818.5.4变更请求的状态转移

11/1/2022828.5.4变更请求的状态转移10/23/2022828.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测、报告与评审8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/2022838.1软件配置及其管理的概念第八章•目录10/23/28.6.1配置状态监测与报告8.6.2配置评审8.6配置状态监测、报告与评审11/1/2022848.6.1配置状态监测与报告8.6配置状态监测、报告与评8.6.1配置项状态统计配置项状态统计,由项目配置经理定期地对项目配置项的状态进行收集和统计,主要包括以下统计信息:项目制品进入基线库的创建时间变更请求的详细描述所有问题(ProblemReport)报告的描述变更请求的状态BaselineStatusAccountingForm(BSAF)ArchiveStatusAccountingForm(ASAF)Change/ProblemStatusAccountingForm(C/PSAF)11/1/2022858.6.1配置项状态统计配置项状态统计,由项目配置经理定期提供图形化的项目状况11/1/202286提供图形化的项目状况10/23/202286SCM的度量和度量准则SCM提供软件产品的状态统计。统计包括寻找软件开发的瓶颈和解决办法,并据此衡量软件产品的成熟度。度量准则:平均严重程度,严重程度级的分布,平均关闭时间,严重程度的图示,各配置项或子系统的图示11/1/202287SCM的度量和度量准则SCM提供软件产

SCM的度量和度量准则软件产品成熟度数据要求:软件变更(问题)数量描述计算机软件配置项标识(CSCI)严重程度级打开变更的日期(或发现问题)关闭变更(问题)和实施日期11/1/202288SCM的度量和度量准则软件产品成熟度数据要求:10/23/软件变更统计

SCM的度量和度量准则图表分析软件剩余问题剩余变更和错误密度11/1/202289软件变更统计SCM的度量和度量准则图表分析软件剩余问题剩余8.6.2配置评审配置评审:配置评审通过对配置管理流程的各种制品进行审核,来判断软件配置管理流程被正确的执行。配置评审包括功能评审和物理评审。功能配置评审(FunctionalConfigurationAudit,FCA),功能配置评审是通过对软件产品的功能和性能的审核,以及与需求说明的一致性来对软件制品的评估。

由项目经理提出请求由软件质量工程师计划并实施对评审过程和标准有专门的文档规定11/1/2022908.6.2配置评审配置评审:配置评审通过对配置管理流程的各功能评审功能审核的目标是核实软件配置项的实际性能是否符合它的需求。以下各项说明从配置管理角度来看支持功能审核所需要做的工作。(1)准备一个验证表,列出所有功能方面的需求,而且对每个需求都引用测试过程、测试行为的实例(时间戳或其他测试实例标识符)、相应的测试结果和/或完整记录需求验证情况的分析和/或演示报告。(2)核实是否已正确实施了所有变更请求。(3)核实是否已对软件正确应用了所有更改。(4)文档差异、建立纠正操作和完成日期。11/1/202291功能评审功能审核的目标是核实软件配置项的实际性能是否符合它的物理评审物理配置评审PhysicalConfigurationAudit(PCA):物理配置评审主要验证软件的功能是否与其设计一致,是否可以发布。物理配置评审跟随在功能配置评审之后;由项目经理提出请求;由软件质量工程师和项目配置经理计划和实施;对于物理配置评审过程和标准,有专门的文档规定;

物理评审的主要工作是:(1)创建应该出现在配置管理中的项目列表。(2)检查在配置管理中维护的项目。(3)创建一个“差异列表”,表示已在配置管理中维护的项目以及应该在配置管理中维护的项目之间的差异。11/1/202292物理评审物理配置评审PhysicalConfigurati8.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/2022938.1软件配置及其管理的概念第八章•目录10/23/28.7.1角色职责8.7.2配置管理计划8.7.3项目经理的阶段工作要点8.7.4配置管理实施的若干问题8.7基于配置管理的软件项目管理11/1/2022948.7.1角色职责8.7基于配置管理的软件项目管理10/8.7.1角色职责

项目经理(ProjectManager,PM)

配置控制委员会(ConfigurationControlBoard,CCB)

配置管理员(ConfigurationManagementOfficer,CMO)

系统集成员(SystemIntegrationOfficer,SIO)

开发人员(Developer,DEV)

11/1/2022958.7.1角色职责项目经理(ProjectManage8.7.2配置管理计划肩负对项目成功负责的重要职责

评估开发团队当前配置管理现状定义实施的范围计划资源要素

11/1/2022968.7.2配置管理计划肩负对项目成功负责的重要职责10/8.7.3项目经理的阶段工作要点

11/1/2022978.7.3项目经理的阶段工作要点10/23/2022978.7.4配置管理实施的若干问题

SCM的启动时机

SCM的控制水平

过程与产品的区分

SCM自动化水平

11/1/2022988.7.4配置管理实施的若干问题SCM的启动时机10/

可以不必去熟悉过程,也不必知道团队开发的模式可以延续你一贯的工作程序和处理办法将变更流程化自动处理业务SCM的过程驱动PRODUCTIONCODINGTESTINGREPORTINGPROJECTUPROJECTVPROJECTYPROJECTXPROJECTZPROJECTWAPPROVENOTIFYNOTIFY11/1/202299可以不必去熟悉过程,也不必知道团队开发的模式SCM的过程SCM的过程改进SCM为变更和过程改进提供基本结构第一步,了解产品是怎样生产的第二步,培养一个好的变更环境改进要构造的也就是改进怎样构造--SEI1998年主题SCM的过程驱动11/1/2022100SCM的过程改进SCM为变更和过程改进提供基本结构改进要构造过程驱动的好处真正规范团队开发!SCM的过程驱动11/1/2022101过程驱动的好处真正规范团队开发!SCM的过程驱动10/238.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/20221028.1软件配置及其管理的概念第八章•目录10/23/2VSS的简单工作原理VSS中的几个重要概念VSS6.0的一些新增的特征和功能VSS6.0解决方案

MicrosoftVSS6.0介绍

11/1/2022103VSS的简单工作原理MicrosoftVSS6.0介绍特点:功能:

PVCS介绍

11/1/2022104特点:PVCS介绍10/23/2022104特点:推进并行开发强有力的版本控制透明的工作区管理有效的build管理有弹性的流程管理

功能:1.版本控制2.工作空间管理3.建立管理

4.过程控制

RationalClearCase介绍

11/1/2022105特点:RationalClearCase介绍10/23/新代码源存储库简单的版本控制评估Client/Server环境的配置管理工具新开发11/1/2022106新代码评估Client/Server环境的配置管理工具新开新代码源存储库简单的版本控制新开发PVCS系列VSS评估Client/Server环境的配置管理工具11/1/2022107新代码新开发PVCS系列评估Client/Server环境维护模式增加的开发人员当前的开发QA&测试新代码源存储库简单的版本控制新开发PVCS系列VSS部门级开发评估Client/Server环境的配置管理工具11/1/2022108维护模式新代码新开发PVCS系列部门级开发评估Cl维护模式增加的开发人员当前的开发QA&测试ClearCaseContinuusSourceIntegrityPVCS新代码源存储库简单的版本控制新开发PVCS系列VSS部门级开发评估Client/Server环境的配置管理工具11/1/2022109维护模式ClearCaseContinuus新新代码源存储库简单的版本控制维护模式增加的开发人员当前的开发QA&测试新开发工具IT审核管理报告复杂的生命周期企业级开发ClearCaseContinuusSourceIntegrityPVCS新开发PVCS系列VSS部门级开发评估Client/Server环境的配置管理工具11/1/2022110新代码维护模式新开发工具企业级开发ClearCaseCCC/Harvest新代码源存储库简单的版本控制维护模式增加的开发人员当前的开发QA&测试新开发工具IT审核管理报告复杂的生命周期企业级开发ClearCaseContinuusSourceIntegrityPVCS新开发PVCS系列VSS部门级开发评估Client/Server环境的配置管理工具11/1/2022111CCC/Harvest新代码维护模式新开发工具企业级

维护模式增加的开发人员当前的开发QA&测试

新开发工具IT审核管理报告复杂的生命周期CCC/Harvest应用工具包集成解决方案数据仓库开放的企业级开发CCC/Harvest

新代码源存储库简单的版本控制企业级开发ClearCaseContinuusSourceIntegrityPVCS

新开发PVCS系列VSS部门级开发评估Client/Server环境的配置管理工具11/1/2022112维护模式新开发工具CCC/Harvest应用工具包开放问题?11/1/2022113问题?10/23/2022113谢谢!

KeepConnectingInTheFuture

11/1/2022114谢谢!KeepConnectingInTheFut第八章软件项目的配置管理11/1/2022115第八章软件项目的配置管理10/23/202218.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/20221168.1软件配置及其管理的概念第八章•目录10/23/28.1软件配置及其管理的概念8.2配置管理活动和流程8.3配置管理需求8.4版本管理8.5变更管理8.6配置状态监测与报告8.7基于配置管理的软件项目管理8.8配置管理的技术手段和工具第八章•目录11/1/20221178.1软件配置及其管理的概念第八章•目录10/23/28.1.1CMM2的配置管理概念8.1.2IEEE的配置管理定义8.1.3配置管理概述8.1.4配置管理活动的作用8.1软件配置及其管理的概念11/1/20221188.1.1CMM2的配置管理概念8.1软件配置及其管理的配置的概念配置的概念来自硬件软件工程师是如何处理接口的?广而言之:软件的变化可以发生在一秒钟内软件的变化可以发生在每一秒钟软件开发过程下一秒钟是不确定的情况将会怎样?怎么办?11/1/2022119配置的概念配置的概念来自硬件10/23/20225软件项目开发管理的新需求你在一家小公司做软件工程师,开始的时候,你只有一个人,配了2个助手。你们研究了一种算法(例如:图象压缩、数据加密等),编写了一个实现模块。有一天老板看到了你的演示,认为很有市场潜力,可以结合进公司正在给某行业用户正在准备开发的系统中,成为该系统的核心技术或

温馨提示

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

评论

0/150

提交评论