09软件项目配置管理计划.doc

上传人:s9****2 文档编号:543254856 上传时间:2023-12-19 格式:DOC 页数:40 大小:501.50KB
返回 下载 相关 举报
09软件项目配置管理计划.doc_第1页
第1页 / 共40页
09软件项目配置管理计划.doc_第2页
第2页 / 共40页
09软件项目配置管理计划.doc_第3页
第3页 / 共40页
09软件项目配置管理计划.doc_第4页
第4页 / 共40页
09软件项目配置管理计划.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《09软件项目配置管理计划.doc》由会员分享,可在线阅读,更多相关《09软件项目配置管理计划.doc(40页珍藏版)》请在金锄头文库上搜索。

1、韩万江 姜立新,软件项目管理案例教程,机械工业出版社 ,2005-02 【丛书名】 国家示范性软件学院系列教材 9软件项目配置管埋计划29.1软件配置管理概述29.1.1配重管理定义29.1.2配重管理的目标39.1.3配置管理在软件开发中的怍用39.2配置管理的相关概念49.2.1配重项49.2.2基线69.2.3配置控制委员会69.3配置管理过程79.3.1配重顶标识、跟踪79.3.2配重管理环虎的建立89.3.3墓线变更管理119.3.4配置审核149.3.5配置状态统计149.3.6配重营理的真他怍用159.4配置管理工具169.5配置管埋计划179.5.1配重管理计划过程179.5.

2、2配萱营理计划的主要内容189.5.3uaE管理建议199.6案例说明209.7小结239.8习题249 软件项目配置管埋计划第8章介绍了质量管理计划可以帮助提高产品的质量,而软件配置管理也可以辅助提高项目的质量管理。同时,有效的配置管理还可以提高开发团队的工作效率。本章就进入路线图的第8站:配置计划,如图9-1所示。图2-1路线图第8站:配置计划9.1 软件配置管理概述试想:在软件项目开发过程中可能会存在如下的情况:1)找不到某个文件的历史版本,而这个版本又是非常重要的,因为目前版本无法恢复正确运行。2)开发人员使用错误的版本修改程序,导致错上加错。3)开发人员未经授权修改代码或文档,或修改

3、的结果不能及时反映到各个相关部分,导致开发过程的不一致。4)人员流动、交接工作不彻底造成关键软件部件遗失。5)已修复的错误在新版本中出现。6)由于没有保存历史版本的相关文件,无法重新编译某个历史版本,使维护工作十分困难。7)因协同开发或者异地开发,版本变更混乱导致整个项目失败。发生这些现象说明项目管理过程中没有很好的配置管理过程。软件项目进行过程中面临的一个主要问题是持续不断的变化、变化是多方面的,包括项目本身的版本升级,项目的不同阶段,以及需求、设计、技术实施等的变化。有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标;无效的项目管理则被变化所控制。而配置管理是有效管理变

4、化的重要手段。软件配置管理是SW-CMM中的一个重要的关键过程域。9.1.1 配重管理定义随着软件开发规模的不断增大,一个项目的中间软件产品的数目也越来越多,中间软件产品之间的关系也越来越复杂,对中间软件产品的管理也越来越困难,有效的软件配置管理则有助于解决这一问题。软件配置管理(Software configuration Management,SCM),是指一套管理软件开发和软件维护以及各种中间软件产品的方法和规则。中间软件产品和用于创建中间软件产品的信息都应处子软件配跟管理控制之下。软件配置管理是控制软件系统演变的学科。软件配置管理包括标识在给定时间点上软件的配置(即选定的软件工作产品及

5、其描述),系统地控制对配置的更改,并维护在整个软件生存周期中配置的完整性和可追溯性。置于软件配置管理之下的工作产品包括交付给顾客的软件产品(例如软件需求文档和代码),以及与这些软件产品等同的产品项或生成这些软件产品所要求的产品项(例如编译程序),在配置管理过程中需要建立一个软件基线库,当软件基线形成时就将它们纳入该库。通过软件配置管理的变更控制和配置审计功能,系统地控制基线的更改和那些利用软件基线库构造成的软件产品的发行。软件配置管理贯穿于软件生存期的全过程,目的是建立和维护软件产品的完整性和可追溯性。软件配置管理是一组追踪和控制活动,它开始于软件项目开始之时,结束于软件被淘汰之时。9.1.2

6、 配重管理的目标配置管理是在整个系统周期中对一个系统中的配置项进行标识和定义的过程,这个过程是通过控制某个配置项及其后续变更,通过记录并报告配置项的状态以及变更要求,证明配置项的完整性和正确性实现的。配置管理相当于软件开发的位置管理,它回答了下面的问题:l 我是谁?(Who am I?)l 为什么我在这里?(Why am I here?)l 为什么我是某某?(Why am I who I am?)l 我属于哪里?(Where do I belong?)配置管理目标是:l 标识变更。l 控制变更。l 确保变更正确实现。l 向有关的人员报告变更。l 保证软件开发全过程的完整性和可追溯性。9.1.3

7、 配置管理在软件开发中的怍用软件配置管理在软件项目管理中有着重要的地位,软件配置管理工作是以整个软件流程的改进为目标,为软件项目管理和软件工程的其他领域打好基础,以便于稳步推进整个软件企业的能力成熟度。软件配置管理的主要思想和具体内容在于版本控制。版本控制是软件配置管理的基本要求,是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变化的管理。版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地记录下来。每一次文件的改变,文件的版本号都将增加,比如V1.0、1.1、V2.1等。它可以保证任何时刻恢复任何一个配置项的任何一个版本。版本控制还记录了每个

8、配置项的发展历史,这样就保证了版本之间的可追螓性,也为查找错误提供了帮助。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作战,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。许多人将软件的版本控制和软件配置管理等同起来,这是非常错误的观念。版本控制虽然在软件配置管理中占据非常重要的地位,但它并不是软件配置管理的全部,对开发者工作空间的管理等都是软件配置管理不可分割、不可或缺的部分。而且,简单地使用版本控制,并不能解决开发管理中的深层问题。软件配置管理给开发者带来的好处是显而易见的,但对干项目管理者来说,他所关心的角度与开发者

9、是不一样的,他更关注项目的进展情况,这不是简单的版本控制能够解决的项目管理者从管理者的角度去运用软件配置管理中的各种记录数据,将有巨大的收获。从这些记录数据中,我们也可以了解到谁在什么时候改了些什么、为什么改;我们也可以了解到开发项目进展得如何、完成了多少工作量;我们还可以了解到开发工程师的资源是否充分使用、工作是否平衡等。现在人们逐渐认识到,软件配置管理是软件项目管理中的一种非常有效和现实的技术,它能非常有效地适应软件开发需求。配置管理对软件产品质量和软件开发过程的顺利进行和可靠性有着重要的意义。图9-2说明了配置管理在软件开发过程中的作用,从图中可以看出配置管理相当于软件开发生产线中的仓库

10、和调度。图9-2配置管理在软件开发过程中的作用软件配置管理的目的是建立和维护整个生存期中软件项目产品的完整性和可追溯性。合理的实施配置管理,软件产品的质量会得到提高,开发团队也能够工作在一个有助子提高整体工作效率的配置管理平台上。如果没有很好地进行配置管理,将会影晌成本、进度和产品的规格,没有变更管理,项目就会无限大。有效的配置管理可以不断命中移动的目标。配置管理是对工作成果的一种有效保护。软件配置管理是软件开发环境管理部分的核心,有些管理功能(比如过程管理)在最初并不属于软件配置管理,但随着软件配置管理的不断发展,也逐渐成为软件配置管理的一部分。9.2 配置管理的相关概念在介绍配置管理过程之

11、前,先介绍一下配置管理中的几个重要概念:配置项、基线以及软件配置控制委员会。9.2.1 配重项软件配置项(Software configuration Item,SCI)是项目定义其受控于软件配置管理的项。一个软件配置项是一个特定的、可文档化的工作产品集,这些工作产品是生存期中产生或者使用的。每个项目的配置项也许会不同。所有源代码,包括构成文件及其他所有制作软件产品所需的文件,都可能在软件配置管理控制之下。软件产品某一特定版本的源代码及其相关的工具,都可能受控于软件配置管理。也就是说,在取出软件产品某一版本时,同时也可以取出与此版本相关的工具。所有需要被及时更新的文件,都必须在软件配置管理控制

12、之下。例如-下面的列表可以作为软件配置管理的一些SCI:l 系统规格说明书l 软件项目规划l 需求分析结果l 软件需求规格说明书l 系统原型l 设计规格说明书l 数据设计描述l 总体结构设计描述l 模块设计描述l 界面设计描述l 对象描述(若采用面向对象技术)l 源代码清单l 测试规格说明书l 测试计划和过程l 测试用例与实验结果l 操作和安装手册l 可执行程序l 每个模块的可执行代码l 链接到一起的代码l 用户手册l 维护文档除此之外,有时把软件工具和中间产生的文件也列入配置管理的范畴,即把软件开发中选用的编辑器、编译器和其他一些CASE工具固定地作为软件配置的一部分,当配置项发生变化时,应

13、该考虑这些工具是否与之适应和匹配。配置项也有不同的版本,这里类似地将面向对象的类和实例类比成配置项和配置项的版本。配置项可以看成是面向对象的类,版本可以看成是类的实例,例如,图9亏3表示的需求规格配置项,需求规格的不同版本类似于需求规格配置项的实例,配置项的不同版本是从最原始的配置项(类似于配置项类)演变出的不同情况,尽管每个都是不同的,但是它们具有相关性。图9.3配置项类及实例9.2.2 基线软件的开发过程是一个不断变化着的过程,由子各种原因,可能需要变动需求、预算、进度和设计方案等,尽管这些变动请求中绝大部分是合理的,但在不同的时机做不同的变动,难易程度和造成影响差别甚大。为了有效地控制变

14、动和在不严重阻碍合理变化的情况下来控制变化,软件配置管理引入了“基线”(Basic Line)这一概念。IEEE对基线的定义是这样的:“已经正式通过复审和批准的某规约或产品,它因此可作为进一步开发的基础,并且只能通过正式的变化控制过程改变。”所以,根据这个定义,我们在软件的开发流程中把所有需加以控制的配置项分为基线配置项和非基线配置项两类。例如:基线配置项可能包括所有的设计文档和源程序等;非基线配置项可能包括项目的各类计划和报告等。基线是一个或者多个配置项的集合,它们的内容和状态已经通过技术的复审,并在生存期的某一阶段被接受了。对配置项复审的目标是验证它们被接受之前的正确性和完整性,一旦配置项

15、经过复审,并正式成为一个初始基线,那么该基线就可以作为项目生存期下面开发活动的起始点。基线标志软件开发过程的各个里程碑,它标志开发过程中一个阶段的结束。对于已成为基线的配置项,虽然可以修改,但必须接照一个特殊的、正式的过程进行评估,确认每一处修改。相反,对于未成为基线的配置项,可以进行非正式修改。虽然基线可在任何级别上定义,但一般最常用的软件基线如图9-4所示。基线提供了软件生存期中各个开发阶段的一个特定点,其作用是把开发阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。在交付项中确定一个一致的子集!作为软件配置基线,这些版本一般不是同一时间产生的,但具有在开发的某一特定步骤上相互下致的性质,例如系统的一致、状态的一致。基线可以作为一个检查点,正式发行的系统必须是经过控制的基线产品。图9.4基线图示9.2.3 配置控制委员会配置管理的目标之一是有序、及时和正确地处理对软件配置项的变更,而实现这一目标的基本机制是通过配置控制委员会的有效管理。配置控制委员会(Software configuration Control Board,SCCB)可以是一个人也可以是一个小组,基本是由项目经

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号