A. CMMI中的的配置管理是什么
配置管理是CMMI模型中一个支撑过程域。
配置管理是指:应用技术和管理手段来识别和记录配置项的功能和物理特性,控制其变更,记录和报告变更的过程和实现状态,并检查与项目需求之间的符合度;通过配置管理可以有效的管理工作产品与工作产品之间的一致性,合理的控制和实施变更以维护对项目范围与边界条件的一致的理解。
一般CM过程描述了配置管理活动的内容、规范和方法,以建立和维护软件开发过程中各种产品的完整性和一致性。
CM使用到以下几个重要的术语:
配置项:处于配置管理之下的软件或/和硬件的集合体。这个集合体在配置管理过程中作为一个实体出现。
基线: 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式变更控制过程来改变;基线有一组配置组成,这些配置构成了一个相对稳定的状态,不能再被任何人随意修改。
配置标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。
状态统计:记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。
配置审计:通过第三方(例如:软件质量保证工程师)来确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合;
配置管理员:根据本过程的规定,在本公司内部具体实施与操作本过程的人员/角色。根据实施的层级的不同,配置管理员可以区分为“产品配置管理员”和“项目配置管理员”两个角色,一般产品配置管理员是专职的,项目配置管理员有项目成员兼职。
B. 关于项目管理中配置管理的实现过程,配置项的知识请教以及相比版本管理的差异
你的理解更多是“产品集成”的概念,即怎么把几个产品模块或构件组合成一个产品,但这不是配置管理的概念。
配置管理:简称CM(Configuration Management的缩写),标识、控制和管理变更的一种管理活动。它控制配置项的修改和发行;记录和报告配置项的状态和变更;保证配置项的完整性、一致性和正确性;以及控制配置项的储存、装载和交付。
根据这个定义,配置管理的主要工作包括:
1)配置库的管理活动。配置库现在工具非常多,例如GIT、SVN、CVS、VSS等等。通常会根据开发所处的阶段,设立开发库、受控库与产品库。
2)标识配置项,即需要定义如何去标识配置项。配置管理中受控制的对象被称为配置项,是生命周期中创建的信息,包含程序、数据、文档,分基线配置项和非基线配置项两类。特别是你的产品最终是如何标识的,比如怎样定义V1.0.0的规则。
3)基线的管理。是一组经过正式审查并且达成一致的规范或工作产品,是下一阶段工作的基础。怎样确定、发布基线,怎样管理基本的变更。
4)配置项变更管理。可以根据不同的配置项、不同的开发周期,明确变更的管理规则。
5)配置项状态管理与配置审计 。
而产品集成是如何把一个产品逐步的从一个个模块或组件,最后组合成一个产品的过程。
1)首先产品的技术结构上要能够支持,如果模块不能相互独立和拆解,谈不上灵活的组合。
2)在开发实现上,需要有一个集成的策略,哪些先实现,哪些后实现,哪些可以先进行集成
3)需要建立 集成的环境,使开发好的模块可以在集成环境中进行调试
4)通常开发完成后,需要进行源代码的编译,并打包成一个测试包,然后装在集成环境中,进行调试,以确认各个模块之前是否可以兼容和运转,这时通常会进行测试工作。
5)如果你想进行ABC组合,或者AC组合,那么都需要进行相应的编译、打包(例如形成EXE)过程,然后在集成环境中进行联调和测试。
C. 什么是项目配置管理的周期
制定配置管理计划的步骤如下:
(1)建立并维护配置管理的组织方针。
(2)确定配置管理需使用的资源。包括软件和硬件资源,例如配置管理工具、数据管理工具、归档和复制工具、数据库程序等。
(3)分配责任。确定配置管理的总负责人及其责任和权限,确定其他人员的责任和权限。
(4)培训计划。包括过程和产品质量保证的概念培训和专题培训。
(5)确定配置管理的项目干系人,并确定其介入时机。
(6)制定识别配置项的准则。
(7)制定配置项管理表。包括标识号、配置管理名称、重要特征、预计进入配置管理的时间、实际进入配置管理的时问、拥有者及责任。拥有者的责任通常有保证配置项的正确性、遵守关于配置项的安全保密规定、保证配置项的完整性。
(8)确定配置管理软硬件资源。
(9)制定基线计划。确定每个基线的名称及主要配置项,估计每个基线建立的时间。
(10)制定配置库备份计划。指明何人在何时将配置库备份到何处。
(11)制定变更控制规程。
(12)制定审批计划。
件配置管理计划的目的在于对所开发的软件规定各种必要的配置管理条款,从而使所交付的软件能够满足任务书中规定的各种需求,能够满足经批准的软件需求规格说明书中规定的各项具体要求。
软件配置管理计划的作用在于使软件开发单位在开发项目所属的各子系统(其中包括为该项目研制或选用的各种支持软件)时,都应该执行配置管理计划中的有关规定。认真执行一个完善的软件配置管理计划,必定能提高软件的质量,最终满足用户的需求。
D. 啥是配置管理
配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在 软件生命周期 中各个阶段都能得到精确的产品配置。
配置控制重点关注可交付成果及各个过程的技术规范,而变更控制则着眼于识别、记录、批准或否决对项目文件、可交付成果或基准的变更。
配置管理可以分为三步:
一、识别配置项。找到是哪些功能有改动?
二、记录并报告配置项状态。记录并报告那些功能现在的状态。
三、配置项核实与审计。用那些因素现在的状态和以前的状态进行对比,确定原本计划调整的功能否有更改、是否落实。
软件配置管理 的最终目标是管理软件产品。由于软件产品是在用户不断变化的需求驱动下不断变化,为了保证对产品有效地进行控制和追踪,配置管理过程不能仅仅对静态的、成形的产品进行管理,而必须对动态的、成长的产品进行管理。由此可见,配置管理同软件开发过程紧密相关。配置管理必须紧扣软件开发过程的各个环节:管理用户所提出的需求,监控其实施,确保用户需求最终落实到产品的各个版本中去,并在产品发行和用户支持等方面提供帮助,响应用户新的需求,推动新的开发周期。
配置管理通俗点说就是:你要变更,好,你变哪了咋变的,你万一骗我呢。我要去查查看看你说的和你做的一致么。
配置管理系统和变更管理系统之间的关系如下图:
E. 项目配置管理方案在什么阶段产生
PMP中没有明确提出项目配置管理计划在那个过程中做,但是配置管理计划是项目管理计划的主要内容之一,因此它作为制定项目管理计划的输入,应该在制定项目管理计划之前就完成。个人认为做好范围管理计划,制定出WBS之后就可以制定项目配置管理方案乐。
F. 配置管理的实施
实施配置管理系统,一般的步骤和需要考虑的问题如下:
1.规划、调整网络开发环境
一个规划良好的开发环境,是实施配置管理系统的前提。在此阶段,要对配置管理系统做出规划,主要考虑以下问题: 网络的带宽、拓扑结构 服务器的选择、命名规范 存储区的定位 开发人员及组的命名规约等 2.设计配置管理库
根据项目开发的要求,设计开发资源的存储模式,良好的存储模式有利于减轻管理上的负担,增强配置管理库的访问性能,同时便于控制访问权限,保护软件资产。
3.定义配置管理系统的角色
在此阶段,需要确定与配置管理相关的所有角色,包括他所有角色相应的活动。在开发过程中,一个开发人员可能兼任多种角色,但一项任务在同一时刻只能由一个角色来执行。
一般配置管理中的角色主要包括: 项目经理:项目经理在配置管理方面的职责是依靠配置管理员、系统管理员和系统体系结构设计人员的帮助,制定项目的组织结构和配置管理策略。这些工作包括:定制开发子系统,定制访问控制,制定常用策略,制定集成里程碑,以及进行系统集成。 配置管理员:配置管理员的职责是根据项目经理制定的开发组织结构和策略,实施、维护配置管理的环境。其主要职责如下:创建配置管理库,对存储库进行日常备份和恢复,维护配置管理环境,及管理配置管理相关的用户。 软件开发人员:软件开发人员依据项目的开发和配置管理策略,创建、修改和测试开发工件。 集成人员:对软件进行归并,形成相应的基线或发布版本。 QA人员:需要对软件配置管理有较深的认识,其主要工作是跟踪当前项目的状态,测试,报告错误,并验证其修复结果。 4.制定配置管理流程
这是配置管理实施的一个重要阶段,其主要目的是根据项目开发的需要,制定相应的配置管理流程,以更好地支持开发,主要活动包括: 定制并行开发策略:合理的并行开发策略应该具有以下特点:协调项目的复杂性和需求,统一创建分支类型和元数据,为开发过程中的变更集成制定有效的规范,适时反映开发过程中方法和需求的变化。 发布版本管理:软件开发过程中的一个关键活动是提取工件的相关版本,以形成软件系统的阶段版本或发布版本,我们一般将其称为稳定基线。一个稳定基线代表新开发活动的开始,而一系列定制良好的活动之后又会产生一个新的稳定基线。有效地利用此项功能,在项目开发过程中可以自始至终管理、跟踪工件版本间的关联。 一般来讲,实施配置管理系统,相关人员需要接受以下培训: 管理员培训:针对配置管理员,主要学习配置管理工具管理相关内容。 开发人员培训:针对开发人员,主要学习配置管理工具与开发相关的常用操作。 管理流程培训:针对全体人员,目的是了解配置管理策略和流程,以及如何与开发管理、项目管理相结合。
G. 软件配置管理的过程描述
一个软件研发项目一般可以划分为三个阶段:计划阶段、开发阶段和维护阶段。然而从软件配置管理的角度来看,后两个阶段所涉及的活动是一致,所以就把它们合二为一,成为“项目开发和维护”阶段。 一个项目设立之初PM首先需要制定整个项??研发计划之后,软件配置管理的活动就可以展开了,因为如果不在项目开始之初制定软件配置管理计划,那么软件配置管理的许多关键活动就无法及时有效的进行,而它的直接后果就是造成了项目开发状况的混乱并注定软件配置管理活动成为一种“救火”的行为。所以及时制定一份软件配置管理计划在一定程度上是项目成功的重要保证。
在软件配置管理计划的制定过程中,它的主要流程应该是这样的:
CCB根据项目的开发计划确定各个里程碑和开发策略;
CMO根据CCB的规划,制定详细的配置管理计划,交CCB审核;
CCB通过配置管理计划后交项目经理批准,发布实施。 这一阶段是项目研发的主要阶段。在这一阶段中,软件配置管理活动主要分为三个层面:
⑴主要由CMO完成的管理和维护工作;
⑵由SIO和DEV具体执行软件配置管理策略;
⑶变更流程。这三个层面是彼此之间既独立又互相联系的有机的整体。
在这个软件配置管理过程中,它的核心流程应该是这样的:
⑴CCB设定研发活动的初始基线;
⑵CMO根据软件配置管理规划设立配置库和工作空间,为执行软件配置管理计划做好准备;
⑶开发人员按照统一的软件配置管理策略,根据获得的授权的资源进行项目的研发工作;
⑷SIO按照项目的进度集成组内开发人员的工作成果,并构建系统,推进版本的演进;
⑸CCB根据项目的进展情况,审核各种变更请求,并适时的划定新的基线,保证开发和维护工作有序的进行。
这个流程就是如此循环往复,直到项目的结束。当然,在上述的核心过程之外,还涉及其他一些相关的活动和操作流程,下面按不同的角色分工予以列出:
各开发人员按照项目经理发布的开发策略或模型进行工作;
SIO负责将各分项目的工作成果归并至集成分支,供测试或发布;
SIO可向CCB提出设立基线的要求,经批准后由CMO执行;
CMO定期向项目经理和CCB提交审计报告,并在CCB例会中报告项目在软件过程中可能存在的问题和改进方案;
在基线生效后,一切对基线和基线之前的开发成果的变更必须经CCB的批准;
CCB定期举行例会,根据成员所掌握的情况、CMO的报告和开发人员的请求,对配置管理计划作出修改,并向项目经理负责。
综上所述,配置管理的工作流程如图1所示:
H. 在实施阶段配置管理主要包括哪些过程
楼主说的是软件项目?
如果是的话,实施的时候会涉及到软件的发布,各个服务器中服务、任务的启动,以及将整个项目运行起来以后的调试,包括权限分配、账号、数据的添加等等。
配置管理就是按照上述的操作内容把各个环节、步骤需要用到的代码、文档、配置都准备好。到时候按照配置说明可以正常发布项目,按照回滚步骤,可以将项目恢复到发布之前的状态。