技术开发 频道

基于复用的软件开发过程中的配置管理

【IT168 技术文章】

    软件开发过程中的配置管理 

    配置管理并不是一个新概念,早期的软件工程环境就已经开始考虑配置管理了.现在人们越来认识到配置管理对于提高软件质量和软件开发过程的可靠性有着重要意义。

    配置管理的概念

    配置管理是软件配置管理的简称,它是指一套管理软件开发和软件维护以及其中各种中间软件产品的方法和规则,配置管理通过在特定的时刻选择软件配置(一组中间软件产品及描述),系统地控制对配置的修改,并在整个软件生存周期中维护配置的完整性和可追踪性.中间软件产品和用于创建中间软件产品的控制信息都应处于配置管理控制下。

    配置管理(Configuration Management)是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制,规范的一系列措施.配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。

    配置管理过程是对处于不断演化,完善过程中的软件产品的管理过程.其最终目标是实现软件产品的完整性,一致性,可控性,使产品极大程度地与用户需求相吻合.它通过控制,记录,追踪对软件的修改和每个修改生成的软件组成部件来实现对软件产品的管理功能。

    配置管理对软件开发的重要意义

    随着软件系统的日益复杂化和用户需求,软件更新的频繁化,配置管理逐渐成为软件生命周期中的重要控制过程,在软件开发过程中扮演着越来越来重要的角色.一个好的配置管理过程能覆盖软件开发和维护的各个方面,同时对软件开过程的宏观管理,即项目管理,也有重要的支持作用.良好的配置管理能使软件开发过程有更好的可预测性,使软件系统具有可重复性,使用户和主管部门用软件质量和开发小组有更强的信心。

    由于配置管理对软件开发有着重要意义,配置管理在软件开发环境中的地位也日益提高,软件开发环境主要有两个重点:集成和管理.配置管理是软件开发环境中管理部分的核心,有些管理功能(比如过程管理)最初并不属于配置管理,但随着配置管理的不断发展,也逐渐成为了配置管理的一部分.集成原本是与管理相对独立的另一部分,但人们现在也逐渐认识到,配置管理对于集成也有一定帮助.大多数实现的软件开发环境中也都包含配置管理的功能。

    配置管理的主要活动

    从配置管理的定义中可以看出,配置管理中的活动主要包括:识别配置,变化控制,状态记录和报告以及审计.识别配置是指找出需要管理的中间产品,使其处于配置管理的控制之下,并维护它们之间的相关关系,一般说来,这些中间产品主要是程序和文档;变化控制是指记录变化的有关信息(包括变化的内容,原因和实现者等),用以保障软件产品的质量;状态记录和报告整个软件的变化过程的目的;审计是指利用配置记录验证软件达到了预期的要求。

    配置管理工具的主要功能

    配置管理工具基本上都是围绕上述四种主要活动的,有关这四方面的功能也是配置管理的基本功能,许多配置管理工具还提供一些基于基本功能的软件开发支持,过程管理也逐渐成为配置管理的一项功能.配置管理工具的主要功能如下:

   . 配置支持 配置是一组有共同目的的中间软件产品,其中每一个中间软件产品称为一个配置项.配置管理支持用户建立配置项之间的各种关系,并对这些关系加以维护.维护这些关系有助于完成某些特定任务(比如创建)和标识某一变化对整个系统开发的影响。

   . 版本控制 版本控制是配置管理的基本要求,它可以保证在任何时刻恢复任何一个配置项的任何一个版本.版本控制还记录了每个配置项的发展历史,这样就保证了版本之间的可追踪性,也为查找错误提供了帮助.版本控制也是支持并行开发的基础。

   . 变化控制 变化控制是指在整个软件生存周期中的控制对软件的变化.变化控制系统记录每次变化的相关信息(变化的原因,变化的实施者以及变化的内容等).查看这些记录信息,有助于追踪出现的各种问题.记录正在执行的变化的信息,有助于做出正确的管理决策。
   
   . 创建支持 软件系统往往由许多配置项构成,建立整个系统是个复杂和费时的过程,配置管理工具可以记录和追踪每个配置项信息,帮助用户自动和快速建立系统.和版本控制结合在一起,可以有效地支持同时开发系统的多个版本。

   . 过程支持 过程详细描述了各种人员在整个软件生存周期中如何使用整个系统,过程控制本来是软件开发环境中一个独立的部分,现在配置管理也开始提供这部分功能.目前的配置管理工具对过程的支持还很不够,而且支持方式差别还很大.许多管理只是提供一个预先定义好的生存周期模型,并保证开发的每一步都按照这个模型规定来进行。

   . 团队支持 团队支持是指对多个开发人员同时开发一个软件系统的支持.由于大多数软件系统都需要多个开发人员参与,有效的团队支持对开发人员来说是很有用的.团队支持主要包括:工作区管理,并行开发管理和远程开发管理,某些配置管理工具还包括对开发人员交互的支持,团队支持的基础是版本控制和版本合并.工作区管理是指为每个开发人员提供独立的工作区,开发人员可以互不干扰地进行工作,也可以选择某个时机向其它开发人员提供自己的最新修改结果或接受其它开发人员的修改结果;并行开发管理是指多个开发人员同时进行的修改可以合并,它可以尽可能地自动解决合并中可能出现的冲突;远程开发管理实际上是并行开发管理的特例,是指在广域网上并行开发的管理,许多适合于局域网的方法可能不适合广域网。

   . 报告/查询 配置管理可以向用户提供配置库的各种信息,主要包括:依赖关系报告,变化影响报告,创建报告,配置项状态报告,版本差异报告,历史报告,访问控制报告,冲突检测报告.实际上,在许多配置管理工具中此项功能是分散在各种相应的功能中的。

   . 审计控制 配置管理通过审计控制来验证配置管理过程,以保证配置库中所有配置项的完整性.简单的审计控制是记录配置管理工具执行的所有命令,复杂的审计控制还包括记录每个配置项的状态变化。

    其它功能 除了以上的主要功能外,配置管理还可以提供权限控制,人员管理和配置管理等功能,这些功能主要是为配置管理实现以上功能提供保障。

0
相关文章