什么是配置管理报告
A. 配置管理的起源、发展历程和主要作用是什么
1 “配置”的意思:配置,是一个很洋化的词汇,在汉语的本土词汇中,没有很好的对应概念。所以,要解释“配置是什么”,比较费劲。在英文字典中,configuration的解释是“A configuration is an arrangement of a group of things”(配置是指一组事物的组合排列)。
这个定义有三层含义
(1)如果说到“某个事物(例如产品)的配置”,那么这个事物必定是由具有相互关系的若干其他事物(例如零部件)构成的集合,只有集合性的事物才有配置一说,单个的、不可拆分的事物是不存在配置的;
(2)配置,并非指这个集合事物的本身(“产品”与“产品配置”是两码事);
(3)配置是指参与构成集合事物的那些众多“小”事物之间的组合状态、排列状态,或者是指集合事物的内部组成。
2 企业为什么要管产品配置
“产品是由哪些单元构成”与“产品是由这些单元如何构成”,设计部门设计成什么样就是什么样,把图纸保管好就行了。图纸当然是要存档的,但配置管理不是把图纸管好这么简单。如果,设计部门能够一帆风顺地将产品设计出来,工艺部门能够一帆风顺地做好工艺文件,然后将设计文件和工艺文件都保管好,并将副本交给生产部门去照着做就行了,那么再复杂的产品都不需要配置管理工作了。
3 配置管理的起源和发展简史是怎样的
前文简述过,配置管理起源于1960年代的美国国防工业。这一行业有一个特点:产品的研发是由政府出资的,而且政府拥有产品研发成果的所有权。随着武器装备的复杂程度越来越高,对配置的管理要求也越来越严格。很多情况下,企业好不容易才做出一个样机,通过测试证明是符合军方需求的。但做到这一点需要花费大量的成本和时间。军方意识到需要对需求进行管理,不仅要管理总体需求,而且还要管理需求的细化过程。就算花了很大代价做出了一个合格的样机,也很难保证后续的产品也都是合格的。原因就在于变更。由于武器系统太复杂,牵一发而动全身,任何一处变更都有可能引发产品在其他方面出现差错。为此,美国政府在1960年代开始组织力量研究这个问题,并提出了一系列关于配置管理的规则,有些规则还上升成为了标准。这些规则和标准,就逐渐从国防工业扩散到各行各业,被广为接受。
不仅是离散制造业,而且软件行业也非常重视配置管理。让需求始终保持清晰、简洁、有效的能力,以及适应变更的能力,对于软件企业也非常重要。虽然软件产品并非由实物零部件所构成,但从管理的角度来看,构成软件产品的模块、函数等单元和零部件是一样的。有趣的是,软件行业普遍比离散制造业更重视配置管理工作。我个人认为这可能是因为软件行业比较年轻,包袱少、过去的习惯思维的禁锢少吧。
1980~1990年代,配置管理的思想开始被引入到中国的国防工业,并且有一个专有名词:技术状态管理;但在民品工业中,人们习惯使用“配置管理”这种译法。
关于配置管理的思想和方法,最权威的机构是美国的Institute of Configuration Management(ICM,配置管理学会),他们将他们的研究成果称为“CMII”。按照CMII的观点,配置管理工作应该让企业具备两项重要的能力,即“让需求保持清晰、简洁、有效的能力”和“适应变更的能力”。按照CMII的观点,配置管理的目标是“实现最终产品相对需求的自始至终一致性,并将干预资源降低到零”(干预资源就是花费在改错型变更活动上的资源)。
现在,随着PLM软件在中国民品工业中的普及,国内从事制造业的企业中,接触过配置管理思想的人也开始多了起来。
B. 简述什么是软件配置管理
软件配置管理(Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。软件配置管理应用于整个软件工程过程。我们知道,在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
C. 什么是配置管理
配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。
配置管理过程是对处于不断演化、完善过程中的软件产品的管理过程。其最终目标是实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需求相吻合。它通过控制、记录、追踪对软件的修改和每个修改生成的软件组成部件来实现对软件产品的管理功能。
D. 软件开发过程中配置管理的精髓在于哪些方面
配置管理包含如下内容:
标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
控制:通过一定的机制控制对配置项的修改。
状态报告:记录并报告配置项以及元数据的状态。
配置审计:确认产品的完整性并维护配置项间的一致性。 从上面的描述知道,配置管理的基本单位是配置项。
E. CMMI中的的配置管理是什么
配置管理是CMMI模型中一个支撑过程域。
配置管理是指:应用技术和管理手段来识别和记录配置项的功能和物理特性,控制其变更,记录和报告变更的过程和实现状态,并检查与项目需求之间的符合度;通过配置管理可以有效的管理工作产品与工作产品之间的一致性,合理的控制和实施变更以维护对项目范围与边界条件的一致的理解。
一般CM过程描述了配置管理活动的内容、规范和方法,以建立和维护软件开发过程中各种产品的完整性和一致性。
CM使用到以下几个重要的术语:
配置项:处于配置管理之下的软件或/和硬件的集合体。这个集合体在配置管理过程中作为一个实体出现。
基线: 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能通过正式变更控制过程来改变;基线有一组配置组成,这些配置构成了一个相对稳定的状态,不能再被任何人随意修改。
配置标识:识别产品的结构、产品的构件及其类型,为其分配唯一的标识符,并以某种形式提供对它们的存取。
控制:通过建立产品基线,控制软件产品的发布和在整个软件生命周期中对软件产品的修改。
状态统计:记录并报告构件和修改请求的状态,并收集关于产品构件的重要统计信息。
配置审计:通过第三方(例如:软件质量保证工程师)来确认产品的完整性并维护构件间的一致性,即确保产品是一个严格定义的构件集合;
配置管理员:根据本过程的规定,在本公司内部具体实施与操作本过程的人员/角色。根据实施的层级的不同,配置管理员可以区分为“产品配置管理员”和“项目配置管理员”两个角色,一般产品配置管理员是专职的,项目配置管理员有项目成员兼职。
F. 什么是配置项管理
按管理的严格程度,配置项一般分3个等级:
(1)纳入基线管理的配置项
纳入基线管理的配置项是指变化时要走严格变更手续的配置项,需要做变更申请,要审批。审批一般分2种严格程度:
i) 项目经理或分CCB审批就可以,一般是局部的小的变更。
ii)变更控制委员会(CCB)审批
纳入基线前,一般要经过评审或测试(称为验证)和质量保证。
(2) 没有纳入基线但是也不能随意变更的配置项,一般称为受控项
这类配置项不需要变更申请,但是要经过配置管理员或项目经理的允许才可以变更。
基线项与受控项写的权限要唯一,一般是CM或PM有唯一的写权限。
(3)非受控项
对变更不做控制。
拟纳入基线管理的配置项状态变化一般是先非受控,然后受控,最后基线化。变更时,先检出(checkou)进行修改,修改完毕后再检入(checki)转为受控,等待验证(测试或评审),通过验证后进行基线化。
拟纳入受控而不入基线的配置项状态变化一般是先非受控,然后受控。变更时,检出进行修改,修改完毕后再检入提交受控。
纳入基线管理的时机是管理平衡问题,一般是当配置项基本稳定后才纳入基线管理,如果处与频繁的变动之中,纳入基线后会增加管理成本,如单元测试通过后一般不形成基线,因为此时代码并不稳定,但是可以作为受控项,也不能任意变化。这个问题的判断也和项目组的规模有关系,如果规模很大,涉及到的人员很多,也可能需要建立基线。在系统测试后要形成基线,一般称为产品基线,此时系统基本稳定了,可以对外发布,为更多的人所了解和使用了。代码在没有纳入基线但是受控后(提交测试人员测试了),也不能随便变更了,要经过配置管理员的批准,并通知测试人员。
G. 配置管理的起源、发展历程和主要作用是什么
一、起源
19世纪70年代初期加利福利亚大学的Leon Presser教授就撰写了一篇论文,提出控制变更和配置的概念。
二、发展历程
在1975年,Leon Presser成立了一家名为SoftTool的公司,开发了自己的配置管理工具:CCC,这也是最早的配置管理工具之一。
之后,随着软件开发规模的逐渐增大,越来越多的公司和团队意识到了软件配置管理的重要性,而相应的软件配置管理工具也如雨后春笋一般,纷纷涌现,比较有代表性的有:Marc Rochkind的SCCS(Source Code Control System)和Walter Tichy的RCS(Revision Control System)。
这两种工具对日后的配置管理工具的发展做出了重大的贡献,目前绝大多数广泛使用的配置管理工具基本上都是基于这两者的设计思想和体系架构。
三、主要作用
好的配置管理过程有助于规范各个角色的行为,同时又为角色之间的任务传递提供无缝的接合,使整个开发团队像是一个交响乐队一样和谐而又错杂地行进。正因为配置管理过程直接连接产品开发过程、开发人员和最终产品,这些都是项目主管人员所关注的重点,因此配置管理系统在软件项目管理中也起着重要作用。配置管理过程演化出的控制、报告功能可帮助项目经理更好地了解项目的进度、开发人员的负荷、工作效率和产品质量状况、交付日期等信息。同时配置管理过程所规范的工作流程和明确的分工有利于管理者应付开发人员流动的困境,使新的成员可以快速实现任务交接,尽量减少因人员流动而造成的损失。
衍生知识点:
1、配置管理的定义
配置管理(Configuration Management,CM)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。
2、配置管理的应用
云安全措施中最重要的要素就是配置管理。
在SaaS环境中,配置管理是完全由云供应商负责处理的。如有可能,客户可通过鉴证业务准则公告(SSAE)第16号、服务组织控制(SOC)报告或ISO认证以及云安全联盟的安全、信任和保证注册证明向供应商提出一些补丁管理和配置管理实践的要求。
在PaaS环境中,平台的开发与维护都是由供应商来负责的。应用程序配置与开发的库和工具可能是由企业用户管理的,因此安全配置标准仍然还是属于内部定义范畴。然后,这些标准都应在PaaS环境中被应用和监控。