添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

软件配置管理

标识、组织和控制修改的技术
展开 3个同名词条
收藏
0 有用+1
0
软件配置管理 (Software Configuration Management,SCM)是一种标识、组织和控制修改的技术。 软件配置 管理应用于整个 软件工程过程 。在软件建立时变更是不可避免的,而变更加剧了项目中软件开发者之间的混乱。SCM活动的目标就是为了标识变更、控制变更、确保变更正确实现并向其他有关人员报告变更。从某种角度讲,SCM是一种标识、组织和控制修改的技术,目的是使错误降为最小并最有效地提高生产效率。
中文名
软件配置管理
外文名
Software Configuration Management,SCM
概    念
标识、组织和控制修改的技术
目    的
使错误降为最小,提高 生产效率
学    科
软件工程
领    域
软件工程

简介

软件配置 管理(Software Configuration Management),又称软件形态管理、或软件建构管理,简称软件形管(SCM)。界定软件的组成项目,对每个项目的变更进行管控( 版本控制 ),并维护不同项目之间的版本关联,以使软件在开发过程中任一时间的内容都可以被追溯,包括某几个具有重要意义的数个组合。 [1]
软件配置管理,贯穿于整个 软件生命周期 ,它为软件研发提供了一套管理办法和活动原则。软件配置管理无论是对于 软件企业 管理人员还是研发人员都有着重要的意义。软件配置管理可以提炼为三个方面的内容:
VersionControl-版本控制;
ChangeControl-变更控制;
ProcessSupport-过程支持。
关键活动包括:配置项、工作空间管理、版本控制、变更控制、状态报告、配置审计等。

发展历史

而软件配置管理概念的提出则在20世纪60年代末70年代初。当时 加利 福尼亚大学圣巴巴拉分校的Leon Presser教授在承担美国海军的 航空发动机 研制合同期间,撰写了一篇名为“Change and Configuration Control”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。
Leon Presser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:Change and Configuration Control(CCC),这是最早的配置管理工具之一。
随着 软件工程 的发展,软件配置管理越来越成熟,从最初的仅仅实现 版本控制 ,发展到21世纪初提供 工作空间 管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:最著名的ClearCase;有将近二十年历史的 Perforce ;开源产品CVS;入门级工具Microsoft VSS;新秀Hansky Firefly。
在国外已经有30多年历史的软件配置管理,但在国内的发展却是在21世纪这几年的事。但是通过专家们的介绍,可以感受到,国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。

目的

  • 配置控管:导入变更控管流程。该流程通常由变更控制委员会来运行,其主要的职责是核准或拒绝有悖任何基准的所有变更请求。
  • 配置状态报告:记录和呈报与开发过程状态相关的所有必要信息。
  • 配置审核:确保这些配置包含所有预期内容,且备有完整的规定文件(包括要求、结构规范和用户手册)。
  • 建构管理:管理用于建构的流程和工具。
  • 流程管理:确保遵循企业组织的开发流程。
  • 环境管理:管理承载系统的软硬件。
  • 团队合作:促进流程中团队彼此间的交互。
  • 缺陷追踪:确保可溯及每个缺陷的源头。
随着云计算的引进,SCM工具的用途有时已互相集成。SCM工具本身转变为虚拟设施,可以在虚拟机上运行并保存状态和版本。这些工具能管理并为云端虚拟资源(包括虚拟设备、存储设备和软件包)创建模型。如今,因为现在已经可以动态的激活 虚拟服务器 和相关资源,SCM管理人员的角色和职责已经与开发人员合并。

管理方针

为了达到上述目标, 如下的方针应该得到贯彻执行:
技术部门经理和具体项目主管应该使用和遵循XSSC的 OSSP 中所描述的软件配置管理的工作过程。施行软件配置管理的职责应被明确分配。相关人员得到软件配置管理方面的培训。技术部门经理和具体项目主管应该明确他们在相关项目中所担负的软件配置管理方面的责任。软件配置管理工作应该享有足够的资金支持,这需要在客户,技术部门经理和具体项目主管之间协商。软件配置管理应该实施于如下产品:对外交付的软件产品,以及那些被选定的在项目中使用的支持类工具等。软件配置的整体性在整个 项目生命周期 中得到控制。 软件质量保证 人员应该定期审核各类软件基准以及软件配置管理工作。使软件基准的状态和内容能够及时通知给相关组别和个人。

工具软件

过程描述

CCB根据项目的开发计划确定各个里程碑和开发策略;
⑵CMO根据软件配置管理规划设立配置库和 工作空间 ,为执行软件配置管理计划做好准备;
⑶开发人员按照统一的软件配置管理策略,根据获得的授权的资源进行项目的研发工作;
⑷SIO按照项目的进度集成组内开发人员的工作成果,并构建系统,推进版本的演进;
⑸CCB根据项目的进展情况,审核各种变更请求,并适时的划定新的基线,保证开发和维护工作有序的进行。
这个流程就是如此循环往复,直到项目的结束。当然,在上述的核心过程之外,还涉及其他一些相关的活动和操作流程,下面按不同的角色分工予以列出:
各开发人员按照项目经理发布的开发策略或模型进行工作;
SIO负责将各分项目的工作成果归并至集成分支,供测试或发布;
SIO可向CCB提出设立基线的要求,经批准后由CMO执行;
CMO定期向项目经理和CCB提交 审计报告 ,并在CCB例会中报告项目在 软件过程 中可能存在的问题和改进方案;在基线生效后,一切对基线和基线之前的开发成果的变更必须经CCB的批准;
CCB定期举行例会,根据成员所掌握的情况、CMO的报告和开发人员的请求,对配置管理计划作出修改,并向项目经理负责。