已阅读5页,还剩46页未读, 继续免费阅读
(计算机软件与理论专业论文)面向中小软件企业的软件配置管理研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文独创性声明 本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中 依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上 已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成 果。 本人如违反上述声明,愿意承担由此引发的一切责任和后果。 论文作者签名: 勋多 r 期:哆年月? f 1 学位论文知识产权权属声明 本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。 学校享有以任何方式发表、复制、公丌阅览、借阅以及申请专利等权利。本人离校 后发表或使用学位沦文或与该论文直接相关的学术论文或成果时,署名单位仍然为 青岛大学。 本学位论文属于: 保密口,在年解密后适用于本声明。 不保密吼 ( 请在以上方框内打“”) 论文作者签名:渗拆 胁 导师签名: 苟蜘f 秒 r 期: p 7 年 面年 占月? 同 6 冠- d 日 ( 本声明的版权归青岛大学所有,未经许可,任何单位及任何个人不得擅自使用) 摘要 软件配置管理是软件丌发与维护过程中的一项基本支持活动,它包括一整套的 方法、工具和过程。目前,软件配置管理已经成为软件项目丌发中的一个重要环节, 成为许多软件工程标准中不可或缺的组成部分。软件配置管理通过标识、记录、控 制、跟踪等方式,管理和控制整个的软件丌发与维护过程。 近年来软件项目的规模越来越大,复杂性越来越高,使人们不得不更加重视软 件配置管理问题。软件配置管理已经成为现代软件管理的重要内容。现有的软件配 置管理主要以理论研究为主,缺乏针对中小规模的软件企业实际实施配置管理的具 体方法研究,增加了软件配置管理的实施难度。 本文分析了当前中小型软件企业的发展现状,面临的挑战;以配置管理理论为 基础,与中小软件企业具体丌发特点相结合,建立了改进企业配置管理的软件配置 管理方案:方案制定了在中小规模软件项目中实现配置管理的流程、规范和操作方 法:方案引进了软件配置管理工具c v s ( t h ec o n c u r r e n tv e r s i o ns y s t e m ) 帮助管 理软件开发中繁杂的工作;在企业的一个具体项目开发中成功实施了该软件配置管 理方案。本方案可以帮助中小型企业实施功能较齐全、花费低廉的软件配置管理, 在较短的时间内,以较低的代价,提高软件企业的软件丌发和管理水平。 关键词:软件配置管理:版本控制;变更控制;c v s a b s t r a c t b e i n gab a s i cs u p p o a i n gm e t h o d o l o g yo fs o f t w a r ed e v e l o p m e n ta n dm a i n t e n a n c e ,s o f t w a r e c o n f i g u r a t i o nm a n a g e m e n t ( s c m ) i n c l u d e sas e r i e so fm e t h o d s ,t o o l sa n dp r o c e s s e s a tp r e s e n t , s c mh a sb e c o m ea ni m p o r i a n ts t e pi ns o f t w a r ep r o j e c t i ta l s oh a sb e c o m ean e c e s s i t yi nm a n y s o f t w a r ep r o j e c ts t a n d a r d s t h r o t l g ht h ew a y so fi d e n t i f y i n g , r e c o r d ,c o n t r o la n dt r a c k i n ge t c , s c mm a n a g e sa n dc o n t r o l st h ew h o l ep r o c e s so fs o f t w a r ed e v e l o p m e n ta n dm a i n t e n a n c e p r o j e c to ft h es o f t w a r ei sl a r g e ra n dl a r g e ri nr e c e n ty e a r s ,c o m p l e x i t yi sh i g h e ra n d h i g h e r ,p e o p l eh a v et op a ym o r ea t t e n t i o nt ot h es c m s c mh a sb e c o m ea ni m p o r t a n t c o n t e n to ft h es o f t w a r em a n a g e m e n t t h eb a s i ct h e o r yo fs c mh a sb e c o m em a t u r i t y c o m p a r a t i v e l y ,b u tw h e ns o f t w a r ee n t e r p r i s e sd e c i d et oc a r r yi to u t ,n o n eo ft h ee x i s t i n g t h e o r i e sc o u l dt e l lt h e mh o w t h e ya l w a y sf o u n di td i f f i c u l tt op r a c t i c es c m i nt h i st h e s i s ,t h ep r e s e n ts t a t u so ft h es o f t w a r ee n t e r p r i s ea n dt h ec h a l l e n g e c o n f r o n t e da r ea n a l y z e d b a s e do nt h et h e o r yo fs c ma n dc o m b i n e dw i t ht h ep r a c t i c eo f t h es o f t w a r ee n t e r p r i s e ,w ep r e s e n tap r a c t i c a ls o l u t i o no fs c mf o rd e v e l o pt e a mo f m e d i u mo rl e s ss c a l e i nt h i s s o l u t i o n ,w em a k et h ew o r kf l o w ,s p e c i f i c a t i o n sa n d o p e r a t i o nm e t h o d sf o rc o n f i g u r a t i o nm a n a g e m e n t i ns o f t w a r ed e v e l o p m e n t i nt h i s s o l u t i o n ,av e r s i o nc o n t r o ls y s t e mb a s e do nc v si si n t r o d u c e dt oh e l pt om a n a g et h e c o m p l e xt a s k s f i n a l l yw ec a r r yo u tt h es o l u t i o nw i t hat y p i c a lp r o j e c tc a s e w i t ht h eh e l p o ft h es o l u t i o nw ei m p l e m e n ta l te c o n o m i cs c mw h i c hi m p r o v e st h es o f t w a r e d e v e l o p m e n ta n dm a n a g e m e n to ft h es o f t w a r ee n t e r p r i s eo b v i o u s l yw i t hl e s sc o s ta n dl e s s t i m e - s p e n d i n g k e y w o r d s :s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n t ;v e r s i o nm a n a g e m e n t :c h a n g e m a n a g e m e n t ;c v s 2 第一章绪论 第一章绪论 1 1 论文研究的背景与动机 软件配置管理( s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n t ) 简称s c 也就是管理软 件的变化。它应用于整个软件工程过程,通常由相应的工具、过程和方法学组成。 许多软件工程标准中都对软件配置管理作了明确的规定。软件配置管理现在是现代 软件工程的一个重要的组成部分,是c m l 2 级的一个关键过程域。随着软件工程的发 展,软件配置管理越来越成熟,从最初的仅仅实现版本控制,发展到现在的提供工 作空间管理、并行开发支持、过程管理、权限控制、变更管理等一系列全面的管理 能力,已经形成了一个完整的理论体系。在软件配置管理的工具方面,也出现了大 批的产品,如:著名的c l e a n s e ;开源产品c v s ;入门工具m i c r o s o f t 的v s s 等。 在国外已经有3 0 多年历史的软件配置管理,在国内的发展却是近几年的事。中 小型软件企业是我国软件丌发队伍中一支重要的技术力量。出于我国软件产业起步 晚。很多中小型软件企业目前还没有实施软件配置管理,或者仅仅实施了非常简单 的代码管理,管理方法落后。即使是实施了软件配置管理的企业,也没有把它放在 一个重要的位置,部分人甚至从思想上、行为上不愿意接受软件配置管理。另一方 面随着软件团队人员的增加,软件项目的规模增大,软件版本的变化,多平台丌 发环境的采用,使得中小软件企业软件开发面临越来越多的问题,如:如何应对用 户的需求变更、如何确定产品版本等。由此带来的管理上的失误给我们的教训越束 越深刻,使得企业不得不重视软件配置管理。 为了在激烈的市场竞争中生存下来我国的中小型软件企业也_ 丌始注重软件项 目管理的问题,并尝试将软件配置管理引入自己的软件项目管理中,希望借此提高 自己的软件开发管理水平。然而,失败的情况却比比皆是,原因很多,如:对s c m 缺乏正确全面的认识;缺少软件配置管理过程中具体的行动上和方法上的指导;不 能根据企业流程特点建立配置管理系统;不能把握好流程、人员、工具三者之阳j 的 关系等,这些都为中小型软件企业在实施软件配置管理过程设置了障碍,最终导致 配冕失败,给企业带来不同程度的损失。 目前软件配置管理方面的研究注重于理论方面,着眼点面向大中型软件企业, 立足于商业化的功能全面的软件配置管理工具能提供给我国中小规模软件企业实 施配置管理的资料很少;关于如何将配置管理与中小企业开发过程特点结合起来, 实施经济有效的软件配置管理这方面资料更是少之又少。这些都增加了中小规模 软件企业实施配置管理的难度。由于处于企业发展初期我国中小型软件企业,人 员和资金十分有限而相关知识对企业的软件配置管理建设又指导不足;因此,我 国中小企业迫切希望在建设企业软件配置管理方面得到理论和方法指导。符合企业 青岛 学硕士学位论文 业务特点、经济有效的软件配置管理更成为我国中小规模软件企业所追求的目标, 企业希望通过有限的投入,在较短的时问内改变企业项目管理水平。 本文系统研究我国中小规模软件企业的业务特点、开发流程、管理现状、人员 配置情况;比较分析目前主要的软件配置管理工具;在此基础上,制定适合中小规 模软件企业项目开发特点的软件配置管理方案。该方案为企业实施软件配置管理提 供行动上和方法上的指导。只有在诈确的配置管理方案的指导下,辅之以配置管理 工具的有效支持中小规模企业才能真正在项目丌发中实施配置管理。才能保证所 开茇软件产品的质量,保护企业自己的软件丌发资源,为企业的良性发展打下曝实 的基础。 1 2 国内外研究现状 根据i e e e 的定义,软件配置管理( s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n ts c m ) 是 一门技术、管理和监督相结合的学科,通过标识和用文档束记录配置项的功能和物 理特性、控制这些特性的变更、记录和报告变更的过程和状态,并验证它们与需求 是否一致。 几十年柬,软件配置管理问题一直是软件工程中的经典管理问题,也是软件丌 发管理的一个重要组成部分。早在七十年代初期加利福利亚大学的l e o np r e s s e r 教 授就撰写了一篇论文,提出控制变更和配胃韵概念。l e o np r e s s e r 在1 9 7 5 年成 立了一家名为s o f t t o o l 的公司,丌发了自己的配置管理工具:c c c ,这是最早的配 置管理工具之一u ”,。 截至目前,配置管理方法的发展主要经历了以下三个时代”。第代,基于文 件( f i l eb a s e d ) 的软件配置管理:这一时代的软件配置管理工具咀版本控制为主要 特征,支持c h e c k o u t c h e c k i n 模型以及简单分支,但所有配置项及元数据的存储 主要以文件形式存放。第二代,上个世纪七十年代未八十年代初,随着软件规模越 来越大,复杂度变得越来越高,丌始出现了基于项目库( p r o j e c tb a s e d ) 的将元数 据与配置项分开存储管理,即所有配置项的元数据存放在一个数据库中,与存放配 置项的文件存档相分离,从而更好地支持并行开发以及团队协作,并且提供了实现 过程管理的良好基础。第三代,第二代配置管理面临的一个挑战是不能从其他工具 直接访问受控配置项,而只能将配置项从库中复制到工作目录中,这导致了同一配 置项多个副本地扩散,增加了管理成本。第三代的软件配置管理是基于文件访问透 明( f i l et r a n s p a r e n c yb a s e d ) 的,它在保持了所有第二代配置管理特征的前提下, 提供了更多的特性,通过专有的多版本文件系统所提供的对文件访问的透明性,丌 发人员可以在不保留本地副本的情况下直接访问受控配置项。同时更加强调软件配 置管理和软件变更管理、软件系统分析设计以及软件测试等各个软件开发环节的结 合,从而形成了更加全面完整的软件开发管理方案。 第一章绪论 随着计算机程序的复杂性加大,系统更加难于管理,项目开发组人员逐渐增多 并且越来越分散,已经不可能再依靠几个人控制和管理开发过程。并且开发人员之 间的信息沟通、资源共享等问题也丌始在项目中出现。美国国防部和几个国际性组 织包括i e e e ( i n s t i t u t eo fe l e c t r i c a la n de l e c t r o n i ce n g i n e e r s ,美国电器和电 子工程师协会) 、a n s i ( a m e r i c a nn a t i o n a ls t a n d a r d si n s t i t u t e ,美国国家标准协 会) 和i s o ( i n t e r n a t i o n a ls t a n d a r d so r g a n i z a t i o n ,国际标准化组织) 开始着手解 决软件开发过程中配置管理的问题,最终形成了他们自己的标准。其中最为普遍使 用的是a n s i i e e e 标准。 随着软件开发规模的逐渐增大,越来越多的公司和团队意议到了软件配雹管理 的重要性,而相应的软件配置管理工具也纷纷涌现,比较有代表性的有:m a r c r o c h k i n d 的s c c s ( s o u r c ec o d ec o n t r o ls y s t e m ) 和w a l t e rt i e h y 的r c s ( r e v i s i o n c o n t r o ls y s t e m ) ,这两种工具对闩后的配置管理工具的发展做出了重大贡献侧。目 前绝大多数广泛使用的配置管理工具基本上都是基于这两者的设计思想和体系架 构。 目前国内具有代表性的软件配置管理工具主要有r a t i o n a l 的c l e a r c a s e 、 m i c r o s o f t 的v i s u a ls o u r c es a f e 、开源产品c v s ( c o n c u r r e n tv e r s i o n ss y s t e m ) 、 北大膏鸟配置管理系统( j b c m ) 等,现分别介绍如下。 r a t i o n a l 公司推出的软件配置管理工具c l e a r c a s e ,提供了比较全面的配置管理 支持,包括版本控制、工作空间管理、建立管理和过程控制,而且无需软件开发人 员改变他们现有的环境、工具和工作方式。在支持模型上,c l e a r c a s e 主要支持检入 检出模型。在存储上,数据存储在一个可访问的版本对象库中( v e r s i o no b j e c t b a s e sv o b ) 。 m i c r o s o f t 公司的配置管理系统v i s u a ls o u r c e s a f e 是一个小型的配置管理工 具,它同该公司的v i s u a lc + + 。v i s u a lb a s i c 编程环境共同工作。因此s o u r c e s a f e 适合在局域网范围内的,以w i n d o w s 平台为主的中、小项目,以文件管理为主要功能, 使用方便。 c v s 是开放源代码软件世界的一个杰作,由于其简单易用、功能强大,跨平台, 支持并发版本控制,而且免费,它在国外中小型软件企业中已经得到了广泛使用。 北大软件工程研究所推出的青鸟配胃管理系统j b 咖是基于构件的新一代软件配 置管理工具。该系统面向软件企业丌发、管理相关资源的需求支持基于构件的软 件开发方法,可以有效地改善软件企业的丌发过程。它己应用于国内一些企业中。 i 3 本文研究的内容、目标、方法和解决的主要问题 1 3 1 内容和目标 青岛大学硕i j 学位论文 本文针对中小型软件企业在配置管理过程中所产生的大量信息、文档和数据, 研究了该领域内普遍运用的管理方法和规则,软件配置管理的具体方法和流程;制 定符合中小企业软件项目丌发特点的软件配置管理过程。为我国中小软件企业提高 软件管理能力和生产能力服务。 研究并分析了常用的配置管理工具,以m i c r o s o f t 的v s s 、r a t i o n a l 公司的 c l e a r c a s e 、丌源产品c v s 为主,并对他们进行了具体的比较。 在静面工作的基础上面向中小软件企业项目开发实际制定一个面向中小型 软件企业的软件配置管理方案,并且要在企业具体开发项目中实施。为我国中小型 软件企业提供一个功能适中、方便实旌和低成本的软件配置管理模型。 1 3 2 方法和解决的主要问题 本文研究当前主要的软件配置管理理论,中小规模企业配置管理方案的建立、 实施过程,软件企u k 的关键配置管理活动等;尤其是系统研究软件配置管理方案的 建立和实施部分。联系中小型软件企业中的业务特点、人员情况、项目丌发特点、 企业资源情况、软件配置管理工具的现状等,完成软件配置管理方案的建立。 在方案中,首先要研究并再造符合中小型企业项目开发特点的软件开发流程。 软件配置管理的实旌首先需要有一个规范的软件开发流程,好的流程可以使软件企 业达到包括版本控制、变更控制、过程管理等配嚣管理的较高水平。离丌了余业软 件开发流程改造,软件配置管理就变成了一句空话。 在方案中,配置管理工具的选择是一项重要工作。中小型软件企业人员和资 金都十分有限,对于昂贵的商业性的成熟配置管理工具,一般无力采用;因此根据 企业实际引进开源产品c v s ,实施功能适用的、符合软件企业实际需要的软件配 置管理。 在建立了符台中小型企业项日开发特点、覆盖各主要软件开发环节的软件配置 管理解决方案后;引进开源产品c v s 作为配置管理工具;并在具体的企业开发项目 中实施该软件配置管理方案。从具体的实践中,总结经验,发现不足,为企业更好 的实旌软件配置管理奠定颦实基础。 1 4 论文结构安排 本论文共分为六章: 第一章,绪论 第二章,软件配置管理理论 第三章,软件配置管理工具 第四章,面向中小型软件企业软件配置管理方案的设计 第五章,面向中小型软件企业软件配胃管理方案的实现 第一章绪论 第六章,总结与展望。 9 青岛上学硕 :学位论立 第二章软件配置管理理论 2 1 软件配置管理的定义 软件配置管理在软件工程领域有着广泛的成用,许多专家学者从不同角度和不 同侧面对它进行了刻画,较为典型的定义有; 在1 9 8 6 年出版的w a y n eb a b i c h 的s o f t w a r ec o n f i g u r a t i o nm a n a g e m e n t : c o o r d i n a t i n gf o rt e a mp r o d u c t i v i t y 一书中把软件配置管理描述为“对软件开 发组所建立的软什的修改进行标识、组织和控制的艺术,其目标是减少错误,提高 生产率”。”。 1 9 9 3 年出版的s t e v em c c o n n e l l 的c o d ec o m p l e t e 一书中,从另一个角度对 软件配置管理进行了定义:“配胃管理能够系统地处理变更,从而使得软件系统可以 随时保持其完整性。配置管理又可称为。变更控制,可以用束评估提出的变更请 求,跟踪变更,并保存系统在不同时间的状态”“。 i s o i e c1 2 2 0 7 ( 1 9 9 5 ) 信息技术一软件生存期过程:配置管理过程是在 整个软件生存期中实施管理和技术规程的过程,它标识和定义系统中软件项并制定 基线;控制软件项的修改和发行;记录和报告软件项的状态和修改申请;保证软件 项的完整性,协调性和正确性以及控制软件项的储存、装载和交付。 g b t 1 1 4 5 7 ( 1 9 9 5 ) 软件工程术语;软件配置管理是标识和确定系统中配置 项的过程,在系统整个生存周期内控制这些项的更动记录并报告配置的状志和更 动要求,验证配置项的完整性和而确性。 22 软件配置管理的基本概念 2 21 软件配置项 软件配置是指一个软件产品在软件生命周期各个阶段所产生的各种形式和各种 版本的文档、程序及其数据的集合。而软件配置项就是该集合寸l 的一个元素,它可 以是与合同、计划、丌发过程、软件产品有关的文档、数据、源程序、目标代码、 可执行代码:还可以是软件开发工具、管理工具、第三方代码等。软件a d 置项是软 件配置管理的对象。 2 2 2 配置标识 配置标识是一个配置项的选择、命名和描述的过程。配置标识的主要活动是: 选择配置项、制定配置项标识方案和存取方案的制定。 2 2 3 基线 0 第二章软件配置管理理论 基线是软件开发过程中的一个里程碑,具体标志是有一个或一批软件配置项的 交付,并且这些软件配置项已经通过相关技术审核。基线的作用是把各阶段的工作 划分得更加明确,使得本来连续的开发工作在这些点上断开,使之便于检验和确认 每一阶段的开发成果。 基线具有以下属性: i 、必须通过j 下式的评审过程建立。 2 、基线存在于基线库中,对摹线的变更接受高级别权限的控制。 3 、基线是进一步开发和修改的基准和出发点。 2 2 4 变更控制 变更控制指在整个软件生命周期中控制软件的变化,主要是进行基线的管理以 及对基线的更改控制过程的处理。 软件的变更通常有两种不同的类型:功能变更和错误修补变更。 2 2 5 版本 版本,即某一配置项的已标识了的实例。版本用来定义一个具体实例应该具有 什么样的内容和属性。随着软件的开发进展,版本也在不断的演变,这些不同的配 置项的不同版本构成了一个复杂的版本空削。 版本的演变一般有两种方式:串行演变和并行演变。在实际应用中,版本的这两 种演变形式通常都结合在一起,形成更为普通的带分支的版本国,也称为版本树。 版本树反映了项目开发演变的历史。 2 2 6 版本控制 版本控制是对系统不同版本进行标识和跟踪的过程。它是全面实旅软件配置管 理的基础,可以保证软件技术状态的一致性。 对版本的控制就是对版本的各种操作控制,主要包括检入检出控制、版本的分 支和合并、版本的历史记录等。 2 2 7 增量 当一个新版本被创建时新版本与以前版本之侧的不同叫做“增量”。使用存 储一个版本和它的增量的方法取代存储所有版本的拷贝,就可以节省存储空问。 软件配置管理有两种增量存储方式:t f 向增量和逆向增量。配置管理中逆向增量 存储更通用。 2 2 8 配置状态报告 配置状态报告是软件配置管理的一项基本任务,其目的是记录配置的状态和 青岛大学碗i :学位论文 基线产品及其变更的历史,并使相关人员了解配置现状和基线状况。它主要描述软 件配置项的状态、变更的执行情况等。 22 9 配置审核 确定变更是否j 下确实施有j 下式技术审核和软件配置审核两种措施。正式技术审 核关注已变更的配置对象的技术正确性、审核者评估软件配置项的一致性、遗漏及 潜在的副作用。软件配置审核关注的是正式技术审核中未考虑的因素,作为技术审 核的补充措施。 2 3 软件配置管理主要活动 软件配置管理活动主要包括标识软件工作产品、配置控制、配置状念统计和配 置审核;四项活动贯穿于软件开发活动的始终,覆盖了丌发活动的各个环节。 l 、配置标识是配置管理的基础,任何纳入配置管理范围的配置项,首先要被唯 一标识。只有在标识的# f 提下才能对被标识内容作进一步的处理。 2 、配置控制是配最管理的核心工作,其主要内容包括存取控制、版本控制、变 更控制、产品发布控制等几个方面。存取控制设定了项目丌发人员、项目管理人员 对软件基线库、产品库的操作权限,通过权限设定来控制各种人员对配置库的访问, 束保证软件产品( 包括中间产品) 的安全。版本控制是指对软件产品版本的操作控 制,使得开发人员任何时刻都能获得软件产品的任一版本。变更控制对软件产品变 更处理提供了一个确定的处理流程,要求任何针对纳入配置管理范畴的软件产品的 变更都要经过相应的审批、授权,然后才能实施,阻此控制变更带束的影响,保证 变更后工作产品的一致性。发布控制保证提交给客户的软件产品是完整的、j 下确的。 3 、配置状态统计是通过及时记录配置管理状念信息并发却,保证丌发人员及时 了解配置项的历史及当前状态,保证软件开发产品版本的一致性。 4 、配置审核用于保证软件丌发过程中所进行的各项配置管理活动,遵循了组织 制定的软件配置管理方针、规程:配置审核的具体内容包括功能配置审核和物理配 置审核。用于保证发布产品的完整性。 2 4 软件配置管理中的主要角色 软件配置管理过程中主要涉及到的角色包括项目经理、配置控制委员会、配置 管理员、系统集成员和开发人员,不同的角色担负着不同的丌发与管理职责,具有 相应的权限。 l 、项目经理是整个项目开发活动的负责人。主要的职责包括:制定和修改项目 的配置管理策略,批准和发布配置管理实施计划,审阅配置控制委员会的报告等。 2 、配黄控制委员会负责指导和控制配置管理的各项具体活动的进行,并且为项 第二章软件配置管理理论 目经理的决策提供建议。主要职责包括:审核变更申请,根据配置管理员的报告制 定相应的对策,协助项目经理制定访问控制和常用策略等。 3 、配置管理员根据配置管理计划执行各项具体的配置管理任务,并定期向配置 控制委员会提交相蓑报告。主要职责包括:配置管理工具的只常管理与维护,提交 项目配置管理计划,完成配置项的管理与维护,完成配置状卷统计并发布,协助管 理人员完成审计工作并提交审计报告,完成对丌发人员的培训等。 4 、系统集成员根据配置管理计划执行具体的集成工作,生成项目的内部和外部 发靠版本。主要职责包括;集成修改和构建系统,完成对版本的r 常维护,建立外 部发布版本等。 5 、开发人员主要职责包括:根掘项e l 配置管理计划和组织的开发规程,根据各 人所获得的开发任务和授权在配置管理工具和丌发工具的支持下完成开发任务。 2 5 软件配置管理基本目标 实施软件配置管理的目的是保证软件项目的工作产品在整个项目周期中的“完 整性。所谓完整性是指,工作产品要求有完整的变更历史记录要求有正式的变 更过程而且还要求保证工作产品能和需求以及变更保持一致性。实施软件配置管 理应达到以下几个目标: 软件配置管理活动是有计划的。 选定的软件工作产品是己标识的、受控制的和适用的。 己标识的软件工作产品的变更是受控的。 受影响的组织和个人得到软件基线的状各和内容的通知 软件配置管理的实质是进行版本控制、变更控制和过程支持的一系列活动。 在软件配置管理中,对于影响软件可靠性的技术状态的变更管理是最主要的,是软 件配鼍管理的重点。 2 6 产品配置库结构 为了体现对配置项的分层控制,将配置库在逻辑上划分为三类:开发库,基线 库,产品库。 l 、基线库:保存通过评审的各类基线。 2 、开发库:是开发人员的具体工作空白】,为某一阶段开发服务,最终通过正式 的评审过程将工作成果归并到某个基线进入基线库。 3 、产品库:保存各基线的静悉拷贝,进入发布阶段后由基线库内容形成产品库。 在产品数据库中形成相应的拷贝。 2 7 软件配置管理的意义 青岛人学碗,i 学位论文 软件配置管理逐渐成为软件生存周期中的重要控制过程,在软件开发过程中扮 演着越来越重要的角色。一个好的软件配置管理过程能覆盖软件开发和维护的各个 方面。具体说来,可以为软件组织带来以下好处: 版本得到好的控制。 变更的处理更规范。 保证产品的一致性和完整性。 保护企业软件资源,为资源复用打下良好的基础。 软件配置管理工作正受到各种规模软件企业越来越多的关注和重视。 第三章较件配置管理工具 第三章软件配置管理工具 3 1 软件配置管理工具的产生和发展 l 、第一代配置管理工具 软件配置管理工具的发展经历了三个发展阶段。 第一代的配置管理工具仅是处理文件版本的工具,它们是基于单一文件的工具, 将各单独文件存储在特殊的文档当中,它们一般支持恢复一提交模式,并提供分支。 最早的这类工具是s c c s 和r e v i s i o nc o n t r o ls y s t e m ( r c s ) 。许多配置管理都使用 它们作为文档归档工具。r c s 是w 8 i t e r ,p t i c h y 于1 9 8 0 年开发的基于u n i x 的、简单的 软件配置管理工具,提供了版本控制功能。 r c s 最显著的特征是检入检出控制和基线。r c s 库的概念和库的组织形式受到了 当时技术因素的制约,与后来采用数据库技术的配黄管理工具在功能上和效率上相 距甚远。r c s 没有提供对于配置的管理而仅仅是依赖m a k e 来组织配置。m a k e 最显著的 特点是为支持版本控制而采用软件结构标识机制。在m a k e 中,系统被分解成子系统, 存储在系统目录下的子目录中1 。 第一代软件配箕管理工具是一种基于稳健的、简单的版本管理工具,对于除版 本管理之外的其它功能并不提供支持。 2 、第二代配置管理工具 第二代的配胃管理工具是基于项目的数据库的,其特点是所有软件开发项目的 元数据信息和它们的文档文件分离,而存储在一十数据库中,该数据库称为项目数 据库。它将重点从文件一级转到了项目一级,对整个项目有一个统一的视图。这一 代工具有基于变动请求的i b m 的c m v c ,以及s q l 公司的p c m s s ,a p o l l o 公司在2 0 世纪8 0 年代后期开发d o m a i ns o f t w a r e e n g i n e e r i n ge n v i r o n m e n t ( d s e e ) 。 d s e e 是为管理大规模软件开发而设计的。在这种大规模软件开发中,数掘通常 分布在许多不同的地方。d s e e 不仅实现了版本控制、系统建模等功能,而且还能提 供需要完成的任务的清单以及已经完成的任务的清单,并且还能将特殊事件通知相 关用户。为了支持分布式网络计算环境,d s e e 提供配置管理( 系统创建) 和历史管 理( 即源代码控制) 来满足并行环境下的大规模编程。另外,d s e e 对于变更后系统 重建提供了预警机制m 。 3 、第三代配置管理工具 第三代配置管理工具在保留项目数据库的优势的基础上增加了“文件透明”的 特性。这一代工具中晟有名的是r a t i o n a l 公司的c l e a r c a s e t 具。它使用文件系统 t j i v f s 完成“文件透明”。c l e a r c a s e 是按照d s e e 的韧始构架设计的,c l e a r c a s e 的核 心功能是版本管理,除此之外,c l e a r c a s e 还提供了工作区管理、建立管理和过程 青岛大学硕士学位论文 控制等功能。 工作区管理即保证软件开发人员捌有自己独立的工作环境,同时也可以访问成 员间的共享信息。c l e a r c a s e i 作区管理采用一。种称为视图( v i e w ) 的新技术,通过 设定不同的配置规格,帮助程序员选择特定任务的每一个文件或目录的适当版本, 并显示所选择的文件或者目录。 建立管理是指:c l e a r c a s e 构造软件的处理过程可以使用c l e a r c a s e 自身提供的 构造工具c l e a r m a k e ( 支持u n i x ) 和o m a k e ( 支持n t ) 。 过程控制是指:c l e a r c a s e 为团队通信、质量保证、变更管理提供了非常有效的 过程控制和策略控制机制,例如历史记录、访问控制等。 c l e a r c a s e 支持并行丌发:它对将个人的工作与其他人员相隔离、多个团队并行 丌茇多个版本、远距离分布的团队之自j 共享同一个源代码库都提供了支持。 c l e a r c a s e 家族的产品包括多种工具,例如:c l e a r c a s em u l t i s i t e 、c l e a r d d t s , c l e a r g u i d e 等。 c l e a r c a s e 版本管理的对象可以是文件或目录。e l e a r c a s e 的显著特点是它的过 程控制。 3 2 软件配置管理工具的主要功能。1 软件配置管理工具主要提供权限控制、版本控制、工作区管理等,支持用户对 源代码清单的更新管理,支持用户在不同文档相关内容之间进行检索,同时还支持 软件配置管理小组对软件配置更改进行的管理。从软件配置管理工具的发展来看, 越柬越多的软件配置管理工具开始集成变更管理的功能。目前软件配置管理工具的 主要功能包括: 1 、权限控制 权限控制对软件配置管理工具来说至关重要。一方面,既然是团队开发,就需 要针对小同的角色分配权限;对于大项目来说,更需要权限管理。另一方面,权限 控制相对减小了误操作的可能,间接提高了软件配置管理工具的可用性。现有的 s c m 工具,在权限控制方面各有很大的不同。 2 、版本控制 软件配置管理工具记录项目和文件的修改轨迹,跟踪修改信息,使软件开发工 作以基线渐进方式完成,从而避免了软件开发不受控制的局面,使开发状态变得有 序。 软件配置管理工具对用户提供了多种途径来标识版本,被广泛应用的有版本号、 标签、时阃戳。多样灵活的标识手段,为用户提供了方便。 3 、增强的版本控制 快照和分支以基本的版本控制功能为基础,使版本控制的功能又进一步得到增 青岛太掌硕士学位论文 强 快照是比版本高一缴的概念,它是项目中多个文件各自的当前版本的集合。快 照使恢复项目的早期版本变得方便,它还支持批量检入、批量检出和批量加标签等 操作。总之,快照是版本控制的一种增强,使敝本控制更加方便高效。 分支允许用户创建独立的丌发路径,分支的主要用途是支持并行开发和支持多 版本开发。分支是版本控制的另一种增强。 4 、变更管理 软件配置管理工具提供有效的问题跟踪和系统变更请求管理。通过对软件生命 周期各阶段所有的问题和变更请求进行跟踪记录,来支持团队成员报告、抓取和跟 踪与软件变更相关的问题,以此了解谁改变了什么改变的原因。变更管理有效地 支持了开发人员之问、客户和开发人员之自j 的交流,避免了变更无序状卷。 5 、工作区管理 工作区管理是指为每个丌发人员提供独立的工作区,开发人员可以互不干扰地 进行工作,也可以选择某个时机向其他开发人员提供自己的最新修改结果或接受其 他开发人员的修改结果。 6 、报告查询 报告功能使项目经理能够随时了解项目进展情况;通过图形化的报告丌发的 瓶颈可以一目了然地被发现,对发生的问题迅速做出反应。 7 、过程自动化 软件配雹管理工具使用事件触靛机制,即让一个事件触发另一个事件产生行为, 来实现过程自动化。 8 、管理项目的整个生命周期 从开发、测试、发布到发布后的维护,软件配置管理工具都应该提供相应的支 持。 9 、与主流开发环境的集成 将版本控制功能与主流集成丌发环境集成,极大地方便了软件开发过程。从集 成开发环境的角度看,版本控制是其一项新功能;从软件配置管理工具的角度看, 集成丌发环境充当了个人工作区的角色。 3 3 几种典型的软件配置管理工具 l 、版本控制工具v i s u a l s o u r c e s a f e 版本控制工具v i s u a l s o u r c e s a f e ( v s s ) 是微软公司丌发的管理软件代码的产 品。它同本公司的v b 、v c 等编程环境共同工作,能够实现配置项的结构化存储和版 本控制,可以定义用户权限。v s s 主要功能包括创建目录、添加文件、检入,检出、 查看版本等。 青岛大学硕i :学位论文 v s s 是微软公司设计用于w i n d o w s 操作系统环境下进行文件版本管理的软件,所 管理的文件只能是w i n d o w s 系统下的文件。v s s 采用逆向增量技术确保一个文档的 所有版本是可用的。对于文本文件和二进制文件,v s s 使用不同的机制存储。v s s 提 供了在系统开发中的文件共享和锁定特性,即基于l o c k m o d i f y u n l o c k 的锁定机制 确保团队开发中代码的完整和一致。v s s 可以使丌发人员对本地源代码和由v b 、v c 、 v f 等工具丌发的软部件进行统一管理。 因此v s s 适合在局域网范罔内的,以w i n d o w s 平台为主的小项目,以文件管理为 主要功能,安装、配置、使用简单,“一学就会”。学习成本低,对服务器要求不 高,受到部分小公司的青睐。 2 、r a t i o n a l 公司功能强大的c l e a r c a s e 。3 c l e a rc a s e 是r a t i o n a l 公司推出的软件配置工具,它主要基于w i n d o w s 和u n i x 的开发环境,提供了比较全面的配景管理功能,而且无需软件开发人员改变他们现 有的环境、工具和工作方式,给进行复杂项目开发的团队带来了巨大效益。 c l e a r c a s e 主要支持c i c o 模型,c l e a r c a s e 把所有版本控制的数据存放在一永久、 安全的存储区中,即版本对象库中。c l e a r c a s e 不仅可以对软件组件的版本进行维护 和控制,也可对一个非文本文件、目录的版本进行维护。 c l e a r c a s e 的先进功能直接解决了原束丌发团队所面临的一些难吼处理的问题, 并且通过资源重用使开发的软件更加可靠。c l e a r c a s e 作为规范的软件配置管理工 具,满足了软件丌发人员的大部分需求 3 、丌源产品c v s c v s 是c o n c u r r e n tv e r s i o n ss y s t e m 的缩写,也就是并行版本系统。c v s 是开放 源代码世界的杰作,是一个强大而复杂的现代版本控制系统。在丌放源代码世界几 乎成为版本控制系统的标准。 c v s 的基本工作思路是:在一台服务器上建立一个仓库,仓库里可以存放许多不 同项目的源程序,由配置管理员统一管理这些源程序。每个用户在使用仓库之前, 首先要把仓库罩的项目文件下载到本地。用户做的任何修改首先都是在本地进行, 然后用c v s 命令进行提交,将个人的修改保存到仓库中。并可以做到跟踪文件变化、 控制冲突等。 4 、三种软件配置管理工具的简单比较 c v s ,v s s 和c l e a rc a s e 是版本控制工具中比较典型的三种工具。c v s 是开放源代 码世界的经典。是一个功能比较全面的现代版本控制系统,在u n i x l i d u x 平台和 w i n d o w s 平台都有一定的应用。v s s 是m i c r o s o f t 公司开发的、基于w i n d o w s 平台的、 面向小型丌发项目的版本控制系统,使用方便,受到小型团队的欢迎;c l e a r c a s e 是目前世界上最好的功能强大的商用版本控制系统,受到了大型开发团队的追捧; 在大型项目的开发管理中表现优异。下面,从各个方面对三种工具进行简单的比较。 第三牵软件配置管理工具 n ) 功能的比较:v s s 的功能相对简单,其主要功能是创建目录、添加文件、检 入、检出、查看版本等。c v s 功能除了具有v s s 的全部功能外,具有支持并发的版 本管理、自动探测冲突,自动融合非冲突修改等许多功能。c l e a r c a s e 功能最全面, 支持从项目管理到版本管理的许多功能。 ( 2 垲能的比较:v s s 只能支持十几人以下的团队,随着人员的增加,性
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石家庄医学高等专科学校《中医骨伤》2025-2026学年期末试卷
- 四平职业大学《大学生职业生涯规划》2025-2026学年期末试卷
- 上海海关学院《新编中国秘书史》2025-2026学年期末试卷
- 徐州工程学院《国际金融学(姜波克版)》2025-2026学年期末试卷
- 太原学院《中西医结合外科学》2025-2026学年期末试卷
- 上海现代化工职业学院《古希腊罗马神话》2025-2026学年期末试卷
- 沈阳体育学院《国际结算实务》2025-2026学年期末试卷
- 山西卫生健康职业学院《现代公司管理》2025-2026学年期末试卷
- 上海师范大学《临床医学实践技能》2025-2026学年期末试卷
- 乌兰察布职业学院《口腔临床药物学》2025-2026学年期末试卷
- 2026年马鞍山师范高等专科学校单招职业适应性测试题库含答案详解(研优卷)
- (新教材)2026年部编人教版二年级下册语文 第7课 我不是最弱小的 课件
- 2026广东清远市清城区医疗卫生共同体总医院招聘编外工作人员42人笔试参考题库及答案解析
- 园林绿化工国家职业技能标准
- 智联招聘考试题库及答案
- 2025-2030中国风能回收市场投资建议及重点企业发展调研研究报告
- 2025上半年湖南能源集团招聘322人笔试历年常考点试题专练附带答案详解2套试卷
- 前程无忧在线测试题库及答案行测
- 第15课+列强入侵与中国人民的反抗斗争(教学设计)-中职历史(高教版2023基础模块)
- HG-T 2521-2022 工业硅溶胶介绍
- 无跨越架封网装置计算程序(直接求解)
评论
0/150
提交评论