首页 > 其他分享 >【配置管理】1、配置管理概述

【配置管理】1、配置管理概述

时间:2024-09-22 14:23:04浏览次数:3  
标签:管理 配置管理 软件配置管理 开发 概述 软件 变更

  随着现代软件技术的发展,对于软件项目的需求日益复杂而且变更频繁,项目的开发模式已经由昔日的手工作坊式的开发转变为规模化、团队式的开发,当开发团队发展到一定规模时,会越来越强调开发过程规范化和成熟度。软件项目的成败在很大程度上取决于对其开发过程的控制,这包括对质量、源代码、进度、资金、人员等的控制。要进行有效的过程控 制,仅仅依靠人的力量是不够的,还需要有相应的管理工具。"软件配置管理"是一套规范、高效的软件开发管理方法,同时也是提高软件质量的重要手段,软件配置管理可以帮助开发团队对软件开发过程进行有效的变更控制,高效地开发高质量的软件。在质量体系的诸多支持活动中,配置管理处在支持活动的中心位置,它有机地把其它支持活动结合起来,形成一 个整体,相互促进,相互影响,有力地保证了质量体系的实施。
  配置管理的概念源于美国空军,为了规范设备的设计与制造,美国空军1962年制定并发布了第一个配置管理的标准“AFSCM375-1,CM During the Development & Acquisition Phases”。
配置管理最早应用制造系统,通过物料清单有效识别复杂系统的各个组成部分,这些材料不能随便组装,需要进行配置管理。随着软件日益复杂,也需要类似物料清单的概念
  而软件配置管理概念的提出则在20世纪60年代末70年代初。当时加利福利亚大学圣巴巴拉分校的Leon Presser教授在承担美国海军的航空发动机研制合同期间,撰写了一篇名为“Change and Configuration Control”的论文,提出控制变更和配置的概念,这篇论文同时也是他在管理该项目(这个过程进行过近一千四百万次修改)的一个经验总结。
Leon Presser在1975年成立了一家名为SoftTool的公司,开发了配置管理工具:Change and Configuration Control(CCC),这是最早的配置管理工具之一。
  随着软件工程的发展,在国外成熟的软件企业中逐渐得到重视和普及,在一些国外的大中型软件企业中,不仅设置专职的配置管理人员,而且有些公司还设有公司级的变更控制委员会(CCB:Change Control Board)对公司的软件配置管理工作进行统一的管理,配置管理对于软件开发的重要性由此可见一斑。
  软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到提供工作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理能力,已经形成了一个完整的理论体系。同时在软件配置管理的工具方面,也出现了大批的产品,如:ClearCase、CVS、SVN、GIT等。
  国内的企业真正认识到配置管理的重要性,却是在21世纪开始。随着CMM(Capability Maturity Model)的概念和理论的普及,配置管理作为CMM 2 级的一个关键过程域,其重要性逐渐为人们认同。我们感受到,国内的软件配置管理已经取得了迅速发展,并得到了软件公司的普遍认可。
  "进行管理和控制"意味着在给定时间(过去或现在)使用的工作产品的版本是已知的(即版本控制),而且以受控的方式引进变更(即变更控制)。如果希望有比"进行管理和控制"所蕴含的更高程度的控制,则工作产品可置于配置管理的完备的纪律之下。  
  其实在日常的开发中,我们已经在自觉或不自觉的进行着软件配置管理的工作。最简单的如使用软件开发集成环境提供的Backup 功能,它可以使我们回溯到最近的修改;再进一步,就是使用文件夹或者压缩工具,把实现了一定功能的程序版本按日期进行备份,这也已经实践了配置管理的部分必要功能,但这仅仅是配置管理众多功能重的一小部分。真正的配置管理系统应该具有以下功能:

  • 1)并行开发支持:因开发和维护的原因,要求能够实现开发人员同时在同一个软件模块上工作,同时对同一个代码部分作不同的修改,即使是跨地域分布的开发团队也能互不干扰,协同工作,而又不失去控制;
  • 2) 修订版管理:跟踪每一个变更的创造者、时间和原因,从而加快问题和缺陷的确定;
  • 3)版本控制:能够简单、明确地重现软件系统的任何一个历史版本;
  • 4)产品发布管理:管理、计划软件的变更,与软件的发布计划、预先定制好的生命周期或相关的质量过程保持一致;项目经理能够随时清晰地了解项目的状态 ;
  • 5)建立管理:基于软件存储库的版本控制功能,实现建立(build)过程自动化;
  • 6)过程控制:贯彻实施开发规范,包括访问权限控制、开发规则的实施等;
  • 7)变更请求管理:跟踪、管理开发过程中出现的缺陷(Defect)、功能增强请求(RFE)或任务(Task),加强沟通和协作,能够随时了解变更的状态;
  • 8)代码共享:提供良好的存储和访问机制,开发人员可以共享各自的开发资源。

  配置管理离不开“人、工具、规范”三要素,我们若把软件项目比喻成隆隆向前的战车的话,配置人员便是战车的机械师,负责及时通报战车的性能、方位,排除系统故障;配置工具则是战车的传送带,平稳而准确地推动着战车前进的步伐,确保它到达一个又一个新的目标;配置规范就是润滑油,有它在,战车的各个部件才能精确地耦合运转。配置管理对项目是如此重要,没有它的保障,项目“战车”便是一堆废铁。
  在软件开发过程自动化的今天,没有工具的支持而实施配置完整的配置管理是不能想象的,因此选择一个符合公司或项目的工具至关重要。

标签:管理,配置管理,软件配置管理,开发,概述,软件,变更
From: https://blog.csdn.net/weixin_43606948/article/details/142431864

相关文章

  • 第01章_Java语言概述
    1Java语言概述1.1Java概述是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以在Web浏览器中运行。这些Java程序被称为Java小程序(applet),内嵌在......
  • MySQL数据库概述与基础
    存储数据的方式在数据库领域,存储数据的方式多种多样,主要包括以下几种:变量和列表:变量:在编程语言中用于存储单个数据项。列表(或数组):用于存储一系列有序的数据项。文件:将数据以文本或二进制形式存储在文件中,如CSV、JSON、XML等格式。数据库:数据库是专门用于存储、......
  • 什么是反应? Reactjs 概念和术语概述
    什么是react?react是一个javascript库,用于构建用户界面,特别是单页应用程序(spa)。它允许开发人员创建可重用的组件来管理其本地状态并处理用户交互。react遵循单向数据流,这意味着数据从父组件流向子组件,从而促进更好地管理数据和ui状态。关键react术语和概念......
  • 什么是 Cloudflare? Web 性能和安全公司概述
    在快节奏的数字世界中,网站的速度、安全性和可靠性对于企业和用户都至关重要。Cloudflare已成为确保网站平稳、安全和高效运行的基石。但Cloudflare到底是什么?为什么它成为网站所有者如此重要的工具?让我们深入了解它的作用和产品。Cloudflare简介Cloudflare是一家全球......
  • Nodemailer 概述:在 Nodejs 中轻松发送电子邮件
    nodemailer是一个用于发送电子邮件的node.js模块。这是一个快速概述:transporter:定义电子邮件的发送方式(通过gmail、自定义smtp等)。consttransporter=nodemailer.createtransport({...});登录后复制消息对象:指定电子邮件详细信息,如发件人、收件人、主题和内容(文本/ht......
  • 华为仓颉语言入门(1):仓颉概述
    解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界仓颉编程语言是一种专门为应用开发设计的通用语言。与现代编程语言类似,它以高效、稳定和功能强大为核心,确保安全且易于上手。仓颉不仅适用于各种应用场景,还展示了其在扩展性方面的广阔前景。仓颉的潜力巨大,非常值......
  • Java反射概述
    反射Java反射(Reflection)是一种允许程序在运行时动态地获取有关类、方法和属性的信息,甚至可以对它们进行操作的机制。通过反射,程序可以在编译时并不知道一个类的具体信息的情况下,运行时获取该类的结构,并进行相应的操作。反射的核心是在运行时操作类和对象的元信息,这为开发提......
  • Spark(一)概述
    基本概念Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎SparkvsHadoopSpark和Hadoop的根本差异是多个作业之间的数据通信问题:Spark多个作业之间数据通信是基于内存,而Hadoop是基于磁盘HadoopSpark类型分布式基础平台,包含计算,存储,调度分......
  • 南大通用GBase 8s 集群网络交互信息概述(上)
    在当今数据驱动的商业环境中,数据库的性能和可靠性是企业成功的关键。GBase8s作为一款的国产数据库系统,其SSC集群架构通过优化网络交互,显著提升了性能和可用性。本文将分两部分聚焦于GBase8sSSC集群的网络交互信息概述和网络吞吐量计算。在GBase 8sSSC集群中,主节点向从节点只传......
  • 南大通用GBase 8s 集群网络交互信息概述(下)
    在上篇文章中,我们了解了GBase8sSSC集群的网络交互机制。本文将聚焦于网络吞吐量的计算,分析SSC集群在不同业务场景下的表现,并与HAC和RHAC集群进行对比。一、无业务场景下的网络吞吐量在无业务时,网络上只有每秒发送的心跳包和心跳包的ACK,则网络吞吐量极低,具体为(114+86)/(1024*1024......