软件配置管理 (Software Configuration Management,简称:SCM),又称软件形态管理 、或软件建构管理 ,简称软件形管 。界定软件的组成项目,对每个项目变更进行管控(版本控制 ),并维护不同项目之间的版本关系,以使软件在开发过程中任一时间的内容都可以被追溯,包括某几个具有重要意义的数个组合,例如某一次交付给客户的软件内容。
SCM的简称已经扩展为“源代码配置管理”(source configuration management)以及“软件修改及配置管理”
(software change and configuration management)[1] 。不过,“配置”一词一般还是会指系统管理员 才能进行的变更。
SCM的目标一般包括以下几项:
配置识别:识别配置、配置项目 和基准 。
配置控管:导入变更控管 流程。该流程通常由变更控制委员会 来执行,其主要的职责是核准或拒绝有悖任何基准的所有变更请求。
配置状态报告:记录和呈报与开发过程状态相关的所有必要信息。
配置审核:确保这些配置包含所有预期内容,且备有完整的规定文件(包括要求、结构规范和用户手册)。
建构管理 :管理用于建构的流程和工具。
流程管理:确保遵循企业组织的开发流程。
环境管理:管理承载系统的软硬件。
团队合作 :促进流程中团队彼此间的交互。
缺陷追踪 :确保可溯及每个缺陷的源头。
随着云计算 的引进,SCM工具的用途有时已互相集成。SCM工具本身转变为虚拟设施,可以在虚拟机上执行并保存状态和版本。这些工具能管理并为云端虚拟资源(包括虚拟设备、存储设备和软件包)建立模型。如今,因为现在已经可以动态的激活虚拟服务器和相关资源,SCM管理人员的角色和职责已经与开发人员合并[2] 。
软件配置管理(SCM)在运算领域的应用可以追溯至1950年代。当时,原先用于硬件开发和生产控制的CM(配置管理 )概念,转而应用于软件开发。早期的软件都有实体,如打孔卡 、打孔带 、磁带 和其他介质。第一个软件配置管理需经由人为操作。随着编程语言及其复杂性不断进展,涉及配置管理和其他方法的软件工程 由于时程、预算和质量等因素而成为主要隐忧。多年来的实践经验,为软件开发流程和工具提供定义并奠定基础。而这些工具最终成为管理软件变更的系统[3] 。业界普遍的做法,即是采用开放或专有方式(如修订控制系统 )来作为解决方案。随着电脑的使用越来越普及,可处理大型任务范畴的系统也因应而生,包括需求管理 、设计替代方案、质量控管等。随后,工具均遵循企业组织的守则,如软件工程学院 建立的能力成熟度模型 (CMM)。
参考文献 [ 编辑 ]
延伸阅读 [ 编辑 ]
828-2012 IEEE Standard for Configuration Management in Systems and Software Engineering. 2012. ISBN 978-0-7381-7232-3 . doi:10.1109/IEEESTD.2012.6170935 .
Aiello, R. (2010). Configuration Management Best Practices: Practical Methods that Work in the Real World (1st ed.). Addison-Wesley. ISBN 0-321-68586-5 .
Babich, W.A. (1986). Software Configuration Management, Coordination for Team Productivity . 1st edition. Boston: Addison-Wesley
Berczuk, Appleton; (2003). Software Configuration Management Patterns: Effective TeamWork, Practical Integration (1st ed.). Addison-Wesley. ISBN 0-201-74117-2 .
Bersoff, E.H. (1997). Elements of Software Configuration Management. IEEE Computer Society Press, Los Alamitos, CA, 1-32
Dennis, A., Wixom, B.H. & Tegarden, D. (2002). System Analysis & Design: An Object-Oriented Approach with UML. Hoboken, New York: John Wiley & Sons, Inc.
Department of Defense, USA (2001). Military Handbook: Configuration management guidance (rev. A) (MIL-HDBK-61A) . Retrieved January 5, 2010, from http://www.everyspec.com/MIL-HDBK/MIL-HDBK-0001-0099/MIL-HDBK-61_11531/ (页面存档备份 ,存于互联网档案馆 )
Futrell, R.T. et al. (2002). Quality Software Project Management. 1st edition. Prentice-Hall.
International Organization for Standardization (2003). ISO 10007: Quality management systems – Guidelines for configuration management .
Saeki M. (2003). Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique. CAiSE 2003, 374–389.
Scott, J.A. & Nisse, D. (2001). Software configuration management. In: Guide to Software Engineering Body of Knowledge . Retrieved January 5, 2010, from http://www.computer.org/portal/web/swebok/htmlformat (页面存档备份 ,存于互联网档案馆 )
Paul M. Duvall, Steve Matyas, and Andrew Glover (2007). Continuous Integration: Improving Software Quality and Reducing Risk . (1st ed.). Addison-Wesley Professional. ISBN 0-321-33638-0 .
外部链接 [ 编辑 ]