热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[项目管理]项目管理之配置管理

一、什么是配置管理软件配置管理是对软件修改进行标识、组织和控制的技术,用来协调和控制整个过程。是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一

一、什么是配置管理

软件配置管理是对软件修改进行标识、组织和控制的技术,用来协调和控制整个过程。是通过技术或行政手段对软件产品及其开发过程和生命周期进行控制、规范的一系列措施。

配置管理的主要目标是,建立和维护产品的完整性,有效跟踪和控制配置项的变更,确保项目可以回溯到过去的状态中。

 


二、配置管理的基本要求

对配置管理的基本要求包括:

    1)有明确的配置管理负责人

    2)配置管理计划被明确实施

    3)明确的命名规则和版本号规则

    4)所有配置项都被明确标识

    5)配置项的状态信息被明确记录

    6)变更请求被有效记录、跟踪和控制

    7)基线有明确的计划

    8)定期备份配置库

 


三、配置项

配置项是配置管理的对象,配置项可以是一个模块,一个子系统,甚至可以是整个系统。每个项目的配置项的粒度都不同。配置项的粒度由项目的特点所决定,比如,在一个大系统中,组成系统的文件有成千上万,如果以每个文件为单位进行配置管理,将是一件工作量浩大的任务,所以应将整个模块或子系统作为一个配置管理单元(配置项)进行管理。

根据配置项选取标准,一个包含软硬件开发的复杂项目中,其配置项的种类可能包括:

     1)各类技术文档(用户需求说明书,系统需求说明书,系统测试案例等)

     2)各类项目管理文档(项目计划,项目配置管理计划,项目状态报告等)

     3)源代码(使用各种语言编写的源代码,脚本等)

     4)二进制文件(可执行文件,系统安装包,补丁程序(Patch)等)

     5)硬件设备(如嵌入式系统的硬件部分等)

     6)系统环境(如系统的编译环境,运行环境等)

     7)基线(基线本身也是配置项)

 


四、基线

在配置管理系统中,基线就是一个配置项或一组配置项在其生命周期的不同时间点上通过正式评审而进入正式受控的一种状态,这些配置项构成了一个相对稳定的逻辑实体,而这个过程被称为“基线化”。

每一个基线都是其下一步开发的出发点和参考点。基线只包含配置项的一个版本。一般情况下,基线在指定的里程碑(Milestone)处创建,并与项目中的里程碑保持同步。基线创建后作为后续工作的基础,不可以被修改。对基线中所包含配置项的修改将严格按照变更控制要求的过程进行。在一个软件开发阶段结束时,上一个基线加上增加和修改的基线内容形成下一个基线。

配置项是配置管理的基本单位,但是以配置项为单位进行管理很难维护配置项之间的一致性。为提高管理效率,项目通常会建立基线来将所有相关的配置项集成在一起,并以基线为基础进行有效的配置管理。

 


五、配置库

配置库用于存取配置项,管理项目成员对各种配置项的访问权限。

配置管理员在项目初期,根据配置管理计划,创建配置库。配置库中包括了动态库、受控库、静态库三个逻辑库,受控级别逐次提高。配置库中虽然包含三种类型的库,但只有受控库属于配置管理的范畴,需要受到严格的配置管理。

 


六、配置管理工具

项目可以使用以下几种常用的配置管理工具。每种工具都有不同的特点,适合于不同类型的项目。下表简要说明了每种工具的特点,和适用范围。

 


工具

特点

使用范围

CVS

开源产品;与WinCVS同时使用时,操作比较简单;与其它开发环境的协作性强,如Eclipse提供了直接从开发环境中操作CVS的插件;支持同步修改,有较好的分支和合并功能

源代码,文本文件

SVN

CVS类似。比CVS速度稍快。

源代码,文本文件,二进制文件

VSS

微软公司产品;交互界面简单易用;采用独占方式管理文件,不支持同步修改;不支持复杂配置管理活动。

源代码,文本文件,二进制文件

ClearCase

RATIONAL公司开发的配置管理工具,可以与WINDOWS资源管理器集成使用,并且还可以与很多开发工具集成在一起使用。

源代码,文本文件,二进制文件

 

---------------------------------------------------------------------------

http://blog.csdn.net/arui319

《Android应用开发精解》已出版,欢迎购买阅读。

本文可以转载,但是请保留以上作者信息。

谢谢。

---------------------------------------------------------------------------


推荐阅读
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
author-avatar
小娟2502895183
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有