




已阅读5页,还剩82页未读, 继续免费阅读
(计算机科学与技术专业论文)基于构件的分布式软件配置管理系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性( 或创新性) 声明 1 i l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l u l l l l l l l l u l y 17 6 0 3 0 5 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:日期: 2 翌:笸:主z 关于论文使用授权的说明 本人完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校 可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。 本学位论文属于保密论文,在年解密后适用本授权书。 本人签名: 导师签名:日期: , 1 基于构件的分布式软件配置管理系统的设计与实现 摘要 在计算机软件的开发过程中,变更是不可避免并频繁发生的。频 繁复杂的变更极易导致项目开发的混乱,影响项目开发的进度和交付 成果的质量。软件配置管理贯穿计算机软件的整个生命周期,是软件 项目开发管理的重要支持,是包括一系列工具、技术、过程与方法的 软件工程规范。变更管理是软件配置管理的核心所在,其目标就是能 够标识变更、控制变更、保证正确地实现变更、向相关的人员报告变 更。软件配置管理可以被看作是整个软件过程的软件质量保证方法, 对软件开发过程的控制至关重要。 随着软件行业的迅速发展,软件功能越来越复杂,项目规模越来 越大,版本变化越来越快,软件项目对软件配置管理也有了越来越多 的需求。首先,软件配置管理需要提供自动化的工具应对开发过程中 数量巨大的变更数据和细节问题,以实现可靠的变更控制和版本管 理;其次,软件配置管理需要支持软件项目的一般特征和具体特点, 要提供适用的软件配置管理流程体系,支持对项目全面的软件配置管 理;再次,软件配置管理需要提供定制工具,实现对配置管理过程自 身的最大程度的自动化,以避免繁琐、细致的软件配置管理工作步骤 中可能发生的错误,提供高效率的配置管理手段。因此现代的软件配 置管理,需要结合理论方法、过程、工具和技术,实现一个全面的软 件配置管理系统。 本文课题的目的即在于探讨一种先进的现代软件配置管理的解 决方案。课题研究基于一个基于构件的分布式开发的大型软件平台项 目,通过建立系统流程体系,将方法、工具、过程和自动化技术组合 起来,集成在一个通用的软件配置管理环境中,支持软件的整个生命 周期,并支持数据的收集和分析,以实现过程的持续改进,提供一整 套全面的软件配置管理系统实施方案。 本文作者在本课题中承担的任务包括,参与设计整套基于构件的 分布式软件配置管理系统方案、制定软件配置管理过程、划分软件项 目体系结构、选用和部署软件配置管理工具,设计开发系统定制工具; 担任软件平台项目的配置管理员,完成项目软件配置管理任务;对软 件配置管理系统用户进行培训等。 本课题设计实现的软件配置管理系统基于软件业界的良好软件 配置管理实践,具备现代软件配置管理的所有特征,方案不仅实现了 基于构件的分布式开发体系结构,完备的版本管理和变更管理,设计 了一套实用的系统流程,并且在使用自行开发工具实现与版本管理、 变更管理工具相结合的构建请求管理和过程自动化方面,具有一定的 独到之处。本课题研究的软件配置管理实施方案已经在软件平台项目 中得到了成功的应用。本课题成果对于正在或将要实施软件配置管理 的项目,以及己部署软件配置管理的项目的软件配置管理系统改进都 具有参考借鉴的意义。 r l - - 循 关键词:软件配置管理基于构件分布式开发变更管理 p ,毒 u 努 翻 1 匣d e s i g na n dm l e m e n l a t i o no fa c o 口0 n e n tb a s e dd i s t r i b u t e ds o f t 後r e c o n f i g i 瓜a t i o nm a n ag e m 匝n ts y s t e m a b s t r a c t c h a n g e sa r ei n a v o i d a b l ea n dv e r yf r e q u e n td u r i n ga l lt h ep r o c e s so f c o m p u t e rs o f t w a r ed e v e l o p m e n t t h ec o m p l e xc h a n g e sa r eq u i t ep o s s i b l e t or e s u l ti nc o n f u s i o ni np r o j e c td e v e l o p m e n t ,a n di m p a c tt h ep r o g r e s so f t h es o f t w a r ep r o j e c ta n dt h eq u a l i t yo ft h ed e l i v e r a b l e s 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 st h em o s ti m p o r t a n ts u p p o r tp r o c e s s o fs o f t w a r e p r o j e c td e v e l o p m e n tm a n a g e m e n t ,g o e st h r o u g h a l lt h e c o m p u t es o f t w a r el i f ec y c l e ,a n di n c l u d e sas e r i e so ft o o l s ,t e c h n i q u e s , p r o c e s s e sa n dm e t h o d o l o g i e sb e i n gas o f t w a r ee n g i n e e r i n gs t a n d a r d c h a n g em a n a g e m e n ti st h ec o r ec o n t e n to fs c m ,o b j e c tt oi d e n t i f ya n d c o n t r o lc h a n g e s ,e n s u r et h ec h a n g e st ob ei m p l e m e n t e dc o r r e c t l y , a n d r e p o r tc h a n g e st or e l a t e dp e r p o n s s c mc a nb er e g a r d e d a st h em e t h o dt o e n s u r es o f t w a r eq u a l i t yd u r i n gt h ew h o l es o f t w a r ep r o c e s s ,s oi t sak e yt o c o n t r o ls o f t w a r ed e v e l o p m e n tp r o c e s ss u f f i c i e n t l y a l o n gw i t ht h er a p i dd e v e l o p m e n to fs o f t w a r ei n d u r s t r y , s o f t w a r e f u n c t i o n sh a v eb e c o m em o r ea n dm o r ec o m p l e x ,p r o je c t sb e c o m el a r g e r a n dl a r g e r , v e r s i o n sc h a n g e sf a s t e ra n df a s t e r , a n ds os o f t w a r ep r o je c t s g i v em o r ea n dm o r er e q u i r e m e n t sa b o u ts c m f i r s t l y , s c mn e e dp r o v i d e a n t o m a t i ct o o l st od e a lw i t ht h eh u g ea m o u n to fd a t aa n dc h a n g ed e t a i l s t h a ta r em a d ei nt h es o f t w a r ed e v e l o p m e n t ,t oi m p l e m e n tar e l i a b l e c h a n g ec o n t o r la n dv e r s i o nm a n a g e m e n ts y s t e m s e c o n d l ms c mn e e d s u p p o r tb o t ht h ec o m m o nc h a r a t e r i t i c sa n dt h o s es p e c i f i co fs o f t w a r e p r o je c t s ,p r o v i d es u i t a b l es c mp r o c e s s e sa n ds t r a t e g i e s t om a n a g e s o f t w a r ed e v e l o p m e n tf r o mt h e i rs t a r t i n gt ot h ee n d i n g f i n a l l y , s c m s y s t e mn e e dh a v ed e s i r e dt o o l st h a tf i tt h ec u r r e n tp r o j e c tt oa u t o m a t et h e p r o c e s sa sm u c ha si tc a n ,i no r d e rt oa v o i da n yd e f a u l tt h a tm a y o c c u ri n s om a n yd e t a i l e dw o r kp r o c e d u r e s ,a n dt h u st oe n s u r et h ee f f i c i e n c yo f t h ew o r k i naw o r d ,m o d e ms 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 ti sa i n t e g r a t e ds y s t e mt h a tc o m b i n e sm e t h o d o l o g i e s ,p r o c e s s e s ,t o o l sa n da l s o t e c h n i q u e s t h i s p a p e r a i m st or e s e a r c ha na d v a n c e dm o d e ms 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 ts o l u t i o n t h es t u d yb a s e so nal a r g es o f t w a r e p l a t f o r mp r o je c tw h i c hi si nc o m p o n e n tb a s e da r c h i t e c t u r ea n dp a r a l l e l d i s t r i b u t e dd e v e l o p m e n tm o d e w i t ht h eb u i l d i n go fs y s t e mp r o c e s s s t r a t e g i e s ,t h e c o m b i n a t i o na n di n t e g r a t i o no f t h em e t h o d s ,t o o l s , p r o c e s s e sa n da u t o m a t i n gt e c h n i q u e si nac o m m o ns c me n v i r o n m e n t ,i t g i v e saw h o l es e to fs c ms y s t e md e s i g nt h a ti sa b l et os u p p o r ta l lt h e s o f t w a r el i f e c y c l e ,d a t a s c o l l e c t i o na n da n a l y s i s ,a sw e l la st h e c o n t i n u o u si m p r o v e m e n to ft h es o f t w a r ep r o c e s s y f ij t h ea u t h o ro ft h i sp a p e rt a k e so nt h ef o l l o w i n gt a s k si nt h es c m p r o j e c t :t h ep a r t i c i p a t i o ni nt h ed e s i g no ft h ec o m p o n e n tb a s e dd i s t r i b u t e d s c m s y s t e m ,t h ed i s c u s s i o na n d d o c u m e n t a t i o na b o u tt h es c m p r o c e s s e s , t h ei m p l e m e n t a t i o no ft h es o f t w a r ep r o j e c t sa r c h i t e c t u r e ,t h es e l e c t i o n a n dd e p l o y m e n to fs c mt o o l s ,t h ed e s i g na n dd e v e l o p m e n to ft h e c u s t o m i z e ds c ms y s t e mt o o l s ,t h es o f t w a r e p l a t f o r mp r o j e c t c o n f i g u r a t i o nm a n a g e m e n tt a s k sb e i n gt h ep l a t f o r ms c me n g i n e e r , a n d t h et r a i n i n gt ot h eu s e r so ft h es c m s y s t e m t h es c ms y s t e md e s i g n e da n di m p l e m e n t e di nt h i sp a p e ri sb a s e do n a l lt h eg o o ds c m p r a c t i c e so f t h es o f t w a r ei n d u r s t r y , h a sa l lt h ec h a r a t e r s o fm o d e r ns c m t h es o l u t i o ni m p l e m e n t sac o m p o m e n tb a s e dd i s t r i b u t e d d e v e l o p m e n ta r c h i t e c t u r e ,f i n e v e r s i o n m a n a g e m e n t a n d c h a n g e m a n a g e m e n t ,g i v e sas e to fp r a t i c a ls c mp r o c e s s e sa n dp r o c e d u r e s ,a n d s p e c i a l l y , d e v e l o p sab u i l dr e q u e s tm a n a g e m e n ts y s t e mt h a ti sc o m p l e t e l y c o m p a t i b l ew i t ht h ev e r s i o nm a n a g e m e n ta n dc h a n g em a n a g e m e n tt o o l s a n da u t o m a t e st h ep r o c e s sb yp r o v i d i n gt h ec o r r e s p o n d i n gt o o l s t h e s c ms y s t e mh a sb e e ne s t a b l i s h e de x a c t l ya c c o r d i n gt ot h ed e s i g na n d p l a ni nt h i sp a p e r , u s e df o rt h es o f t w a r ep l a t f o r mp r o j e c t ,a n dh a sg i v e n g r e a ts u p p o r tf o rt h ed e v e l o p m e n to ft h es o f t w a r ep r o j e c t i t s n od o u b t t h a tt h i sp a p e ri sm e a n i n g f u lt oa l lt h es o f t w a r ep r o je c t sn om a t t e rw h i c h j u s tp l a n st ob u i l du ps c ms y s t e m so rn e e dm a k ei m p r o v e m e n to nt h e i r e x i s t i n gs c ms y s t e m s i _ k e yw o r d s :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 ) c o m p o n e n tb a s e d d i s t r i b u t e dd e v e l o p m e n t c h a n g em a n a g e m e n t 一j - 1 p l 目录 第一章引言1 1 1 课题背景1 1 1 1 问题的引出1 1 1 2 软件配置管理在国内外的发震现状,3 1 1 3 本课题的意义5 1 2 课题任务6 1 3 论文结构7 第二章软件配置管理理论与方法8 2 1 软件配置管理定义8 2 2 软件配置管理过程1 0 2 3 软件配置管理最佳实践1 1 2 4 软件配置管理常见模式与分析1 1 2 4 1 主线i i 2 4 2 活动开发线1 2 2 4 3 私甬i 作区1 2 2 4 4 储存痒1 2 2 ,4 5 私套系统构建1 3 2 4 6 集成构建1 3 2 4 7 第三方码线1 3 2 4 8 任务级提交1 4 2 4 9 码线策略1 4 2 4 1 0 冒烟测试1 4 2 4 1 1 单元溯试1 5 2 4 1 2 回归溺试1 5 2 4 1 3 私有皈本1 5 2 4 1 4 皈本线1 5 2 4 1 e 皈本预备线1 5 2 4 1 6 任务分支1 6 2 5 术语定义与缩略语1 6 第三章软件配置管理系统需求说明1 9 3 1 项目背景1 9 3 2 软件配置管理系统总体需求2 0 3 3 软件配置管理系统需求分析与规约2 0 3 3 1 软件配置管理系统功能需求分柝2 0 3 。3 2 软件配置管理系统、业务模型2 2 3 3 3 软件配置管理系统对s c mi 其的需求2 4 3 3 4 软件配置管理系统对过程的需求2 4 3 3 5 软件配置管理系统对自动纯方法的需求2 4 第四章软件配置管理系统的设计2 6 4 1 软件体系结构2 6 4 2 软件配置管理工具的选择2 8 4 2 。l 软件配置管理i 具的比较2 8 4 2 2 软件配置管理i 具的选用3 0 4 3 软件配置管理组织机构的设置与权限划分3 1 4 3 i 软件配置管理组3 i g 3 2 软件变更控制委员会( s c c b ) 3 i 4 3 3 项g 经理3 2 4 3 4 配置管理员3 2 4 3 5 集成人员3 2 4 3 6 开发人员3 3 4 4 软件配置项标识3 3 4 5 版本管理3 4 4 5 ,l 存储库规翎3 4 4 5 2 访问控翩3 5 g 5 3 分支策略3 7 4 5 4 基线策略4 0 4 5 5 分布式能力设计4 l 4 6 变更管理4 2 4 6 1 变更管理i 具4 2 4 6 2 变更管理过程4 3 4 7 构建管理4 6 4 7 1 构建管理i 具4 6 4 。7 ,2 构建管理设计4 8 4 8 过程控制5 4 4 9 状态报告和配置审计5 5 4 9 i 状态报告5 5 4 9 2 配置审计6 5 第五章软件配置管理系统的实现5 6 5 1 软件配置管理系统的实现步骤5 6 5 2 软件配置管理计划5 6 5 3 软件体系结构和版本管理的实现5 7 5 4 变更管理的实现5 9 5 5 构建管理的实现6 1 5 6 过程控制的实现6 4 5 7 状态报告和配置审计的实现6 7 5 7 i 状态报告6 7 5 7 2 配置牵计,6 8 第六章结束语6 9 6 1 论文工作总结6 9 6 2 问题和展望7 0 气一 v 0 、 , 1 1 课题背景 1 1 1 问题的引出 第一章引言 计算机软件的影响经过近5 0 年来的发展,已经逐渐渗入到人们生活的各个 方面,包括商业、文化、甚至我们的日常活动。软件作为社会生产发展“驱动力” 的角色,已经体现的愈加明显。正如r o g e rs p r e s s m a n 在上世纪9 0 年代曾预言 的那样:“计算机软件已经成为一种驱动力。它是进行商业决策的引擎;它是现 代科学研究和工程问题寻求解答的基础;它也是鉴别现代产品和服务的关键因 素。它被嵌入在各种类型的系统中:交通、医疗、电信、军事、工业生产过程、 娱乐、办公、难以穷举。软件在现代社会中确实是必不可少的。而且我们进 入2 1 世纪,软件将成为从基础教育到基因工程的所有领域新进展的驱动器。 n 1 软件已经由特殊的问题解决和信息分析的工具演化为一门独立的产业。 随着计算机软件角色在跨越几十年间的巨大变化,硬件性能的极大提高、计 算机体系结构的深远变化、内存和硬盘容量的快速增加、输入输出的多种选择的 发明、以及更重要的,人们对计算机软件的需求越来越多、依赖性越来越强,这 些都促使了基于计算机的软件系统越来越高级和复杂,从而,对于软件系统的研 发构建和管理的难度也越来越大。因此,对于软件开发支持过程的研究在近些年 来逐渐成为软件行业发展中所关注的重要内容,探讨的问题包括:如何开发和利 用计算机辅助软件工程( c a s e ) 工具提高软件生产的效率和质量;如何有效的 在内部管理和控制软件项目;等等。 在软件项目管理所面临的诸多问题当中,显然,如何有效的控制软件项目开 发过程中所产生的繁杂的变更,成为决定软件项目成败的关键性的重要问题之 一o 无论软件的规模大小,软件的生命周期通常包括需求分析、设计、实现、 维护等若干阶段,在各个阶段当中,变更都是必然发生、不可避免的:在初步设 计完成之后需求仍然可能需要进行变更,设计实现阶段更是由一系列持续的对设 计文档和源代码的变更活动组成。在软件生命周期中要进行很多变更以纠正错误 和增强软件,但如果对设计缺乏维护,在进行变更时,无法全面了解设计和遵循 设计的内在逻辑,反而会给软件带来更多的甚至更严重的错误。l e h m a n 和b e l a d y 的“软件进化第二定律”指出,如果不采取措施进行控制,软件系统的熵将会持 续增加。乜1 如果不采取适当的保护措施,熵的增加将导致开发状态混沌加剧和 系统结构的不断恶化。一个未受控制的变更流能非常轻易地将一个本来很好运行 的软件项目带入混乱。 这一问题的严重性在当前的软件行业中体现得尤为突出。随着软件产品的功 能越来越强,结果越来越复杂,项目规模越来越大,软件项目产品的开发和维护 已经不再是一个人或者几个人的“人月神话”,而是必须通过一个团队分工与协 调,有序地合作完成。开发团队的规模也在不断扩大,很多大型项目由跨地域分 布的若干个子团队共同完成,在这种开发模式下,对软件文档、代码的变更是大 量并发进行的,如果对这些变更不能进行有效的管理,对项目无疑会迅速导致混 乱,为产品质量带来严重威胁。 缺乏变更控制,可能导致的典型问题例如: ( 1 )同时更新。当两个或更多的开发人员在同一软件项目中并发变更 时,一个开发人员所做的变更很容易影响到其他人的工作。 ( 2 )共享代码。当代码中的一个错误得到修复时,其他需要共享代码的 人无法及时获取。 ( 3 )版本。开发人员在多个活动版本中进行错误修复和软件增强变更活 动,很容易产生版本冲突和混淆。 为了避免变更可能带来的巨大风险,必须在软件开发过程中建立变更控制活 动支持,有效地管理和控制变更,使变更在合理、有序、有记录、有保证的方式 下进行,这是规范开发过程的一项重要内容,也是软件过程改进的一项基本任务。 软件配置管理( s o r 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 m ) 正是这样一组活 动,它被设计来通过标识可能变更的工作产品、建立它们之间的关系、定义管理 这些工作产品的不同版本的机制、控制施加的变更以及审计和报告所发生的变更 而控制变更。因此,软件配置管理是良好的项目管理和可靠的软件工程实践 的基本构成成分。为了保证软件设计在整个生命周期中的完整性,必须对软件开 发进行软件配置管理控制。 一个全面的软件配置管理系统,将解决软件开发各个阶段的变更控制问题, 例如: ( 1 ) 需求阶段 正式需求描述在哪儿? 对需求描述进行过什么变更,是否经过了批准? 实施过多少变更活动,对设计和开发有何影响? ( 2 ) 设计阶段 该设计所涵盖的特定需求在哪里定义? 2 v 接口当前已批准的规范是什么? 设计的工具和方法是什么? 对应需求的变更对设计有哪些影响? 数据项的格式由谁规定、在哪里由谁使用? ( 3 ) 实现阶段 特定功能如何分配到各个实现领域的? 代码的设计逻辑是什么? 代码变更对设计有何影响? 需求变更对实现产生了哪些影响? 代码使用哪个版本的编译器进行编译? ( 4 ) 测试阶段 验证某功能需求的测试用例在哪里定义? 测试使用的测试数据在哪里得到? 描述测试预期结果的文档在哪里? 测试方案是否经过了更新,是否能够反应当前版本的系统功能特性? 对于某一版本,进行过哪些测试,结果怎样? 测试使用了哪些工具和支持设施? ( 5 ) 维护阶段 某一版本上进行了哪些维护修改活动? 维护的目的是什么? 维护任务由谁确定,是否经过了批准? 由上可以看出,软件配置管理是支持整个软件生命周期的一项关键软件过 程,是规范化软件开发的必要保证。 软件配置管理从本质上说是一种预防问题发生的行为,没有经历过软件项目 灾难的组织往往不会主动实施软件配置管理,而对软件危机有所认识的组织,一 定会认识到必须建立处理这些问题的有效方法一软件配置管理。 、一 1 1 2 软件配置管理在国内外的发展现状 鱼 软件配置管理始于2 0 世纪6 0 年代术。当微处理器开始流行,软件与硬件区 分开来而被看作是独立实体时,就产生了软件配置管理。但在7 0 年代以前,尽 管在系统中也使用软件,但充其量是根据常识、较随意地进行配置管理,而没有 规范化的配置管理过程。 上世纪7 0 年代,美国国防部作为软件配置管理的倡导者之一,制订了 d o d s t d 2 1 6 7 标准,对软件配置管理过程定义与应用进行了规范,要求软件企 3 业采用规范化的开发方法和实旌配置管理。此后,由于随着软件行业的迅速发展, 软件开发规模不断扩大,软件配置管理的重要性日益显现出来,一些商业组织也 参加到软件配置管理方法研究中来,如微软公司、m mr a t i o n a l ( 有理软件) 等。 多年来,国外软件产业界在软件配置管理这个专业学科领域内,通过多年理 论和实践研究的积累,已经建立了若干理论模型,从中总结得出了一系列软件工 程和配置管理的“最佳实践 。尤其是在上世纪9 0 年代,出现了很多著名的讨论 配置管理的软件行业标准和文献著作,对软件配置管理相关的方法、模式理论和 “最佳实践”,进行了详细论述。如d a r t1 9 9 2 标准、i e e e8 2 8 1 9 9 8 标准、i s o9 0 0 0 、 c m m c m m i 、i a ns o m m e r v i l l e ( 英) 的软件工程( 第7 版) 、a n n em e t r ej o n a s s e n h a s s ( 美) 的配置管理原理与实践、b r i a na m i t e ( 美) 的软件配置管理 策略与i b mr a t i o n a lc l e a r c a s e ) ) 等。 在最近的几年里,人们越来越认识到软件开发是相互关联的各种过程的集 合,这个认识也对软件配置管理的研究产生了影响,人们开始从过程和系统的观 点考虑软件配置管理的应用。同时国外商业组织也积极研发、推出了许多软件配 置管理的c a s e 软件。如微软的v i s u a ls o u r c e s a f e ,i b mr a t i o n a l 公司的c l e a r c a s e , p a n t i n u m 公司的c c c h a r v e s t ,m e r a n t 公司的p v c s 等等。同时,还出现了一些 免费的软件配置管理工具,如c v s 、r c s ,以及近几年在开源世界中流行开来的 s u bv e r s i o n 、g i t 等。这些工具软件的出现扩大了软件配置管理工作的范围和功 能,提高了软件配置管理的效率和可靠性,使得软件项目开发工作越来越受益于 软件配置管理、依赖于软件配置管理。目前,软件配置管理已经在国外软件企业 中得到了普遍的应用。软件配置管理在软件生产管理中占据着不可或缺的重要地 位,企业不仅在软件配置管理辅助工具方面进行必要投入,并且配备专门的软件 配置管理部门,建立全面的软件配置管理流程和系统,应用于各个软件项目中。 近年来,随着国内软件行业的蓬勃发展,软件企业的开发模式由起初的“手 工作坊”式逐渐趋于规范化,软件配置管理在规范开发过程中也得到了重视和推 广。许多国内公司,如华为、联想等,都在软件开发项目中实施了基于c a s e 工具的软件配置管理。但由于起步较晚,软件配置管理在国内的发展仍处于“初 级阶段”,在很多企业中,软件配置管理作为软件开发的支持过程,没有引起管 理层的重视,没有为项目的规范、有序、高质量的完成发挥出积极的推进和保障 作用。总体来看,有以下现象: ( 1 ) 国内部分小型软件企业中,软件项目根本没有配备配置管理,开发版 本没有得到管理控制,开发人员仍然依靠原始的给文件按照r 期等自定义的标识 方法命名的方式进行手工不定期备份,软件集成和发布没有系统支持和流程控 制,项目发布的各个版本之间的差异变化根本没有修订记录能够回溯,缺陷修改 4 k 魄 难以跟踪到具体文件的具体版本,代码修改很难得到复用。由于没有版本 制,无法协调和控制多条码线的并行开发,开发往往只有一条码线,开发 行开发、流水作业,项目开发效率低下。 ( 2 ) 软件项目仅配备了基本的版本管理功能,缺乏完备的软件配置 这是由于软件企业管理者虽然意识到了软件配置管理的必要性,但仅将其 件开发的一项支持过程,认识不到它的关键作用,因此不愿在软件配置管 立上进行投入。软件企业仅采用最廉价的版本管理工具,例如m i c r o s o f t s o u r c es a f e 或免费的c v s 等进行版本管理,而忽略了软件配置管理中变更控制、 构建管理、配置标识和审计等其他方面,并且没有专业的软件配置管理人员,版 本管理任务往往由指定的某一两个开发人员兼任。由于工具功能过于简单,人员 对软件配置管理学科知识缺少系统的深入的了解,无法定制出更为自动化、高效 率的开发模式,软件配置管理水平始终滞留在只能支持版本控制的低级阶段。软 件开发的效率和质量仍然无法得到可靠保障。这种现象在国内的中小型软件开发 企业中极其普遍。 ( 3 ) 国内部分大中型软件开发企业虽然已经认识到软件配置管理的重要性, 并且愿意投入大量成本采购软件配置管理工具软件,但却过于迷信工具,认为只 要购买安装了像m mr a t i o n a lc l e a r c a s e 这样强大的软件配置管理工具,就能够 进行全面的成功的软件配置管理,而忽视了软件配置管理人才的重要性。软件企 业往往任命开发能力不够突出、缺少工作经验、甚至是刚刚走出大学校门的毕业 生来担任软件配置管理岗位的工作。由于软件配置管理人员对该学科的认识不 足,不能针对项目的需求特点定制出科学的软件配置管理流程,不能对软件配置 管理工具进行定制和改进,工具的强大功能不能发挥或者被误用甚至滥用,而工 具不能支持的工作内容仍然处于手工处理甚至忽略的水平。这样的软件配置管理 也不能说是成功的。 ( 4 ) 也有国内个别软件企业,已经对软件配置管理形成了系统的认识,在 应用软件配置管理工具的同时,也十分注重对软件配置管理理论的学习和对相关 人才的培养,引入专业咨询指导,对软件配置管理系统进行持续的改进和完善, 从而使软件项目的管理水平、开发效率、产品质量都得到不断的提高。其中比较 典型的企业如华为、用友等。但这样的企业在国内软件行业中仍属少数。 1 1 3 本课题的意义 软件配置管理贯穿软件开发的整个生命周期,是软件项目开发管理的重要支 持,是包括一系列工具、技术、过程与方法的软件工程规范,是软件过程控制的 核心所在。 5 由于软件开发过程涉及大量的变更和细节问题,可靠的变更控制和版本管理 成为软件配置管理成功的关键,为了应对这些数量巨大的变更数据和细节问题, 需要在软件配置管理中引入自动化工具。具备软件配置管理实际需要的全部特征 的配置管理工具,能够使配置管理过程简单、便于遵循。 同时,由于软件项目各自具备不同的特点,开发过程对软件配置管理系统支 持的需求不尽相同,软件配置管理系统需要既能支持企业软件项目的一般特征, 也要能够针对具体项目的特点进行功能定制,因此必须建立适用的软件配置管理 流程体系,支持对各项目全面的软件配置管理。 而由于软件配置管理过程对整个软件生命周期的持续支持工作极为繁琐、细 致,需要基于工具、环境和流程定义进行开发工作,对该过程实现自动化,将工 具不能支持的仍靠手工完成的工作尽量多的自动实现,以改进工作质量和提高生 产率。 本课题的意义即在于探讨一种先进的软件配置管理方法,建立系统流程体 系,将方法、工具、过程和自动化技术组合起来,集成在一个通用的软件配置管 理环境中,支持软件的整个生命周期,并支持数据的收集和分析,以实现过程的 持续改进,提供一整套全面的软件配置管理系统实施方案。该方案可为正在或将 要实施软件配置管理的项目提供参考,以及为已部署软件配置管理的项目的软件 配置管理系统改进提供借鉴。 1 2 课题任务 本课题的任务是为某企业软件研发中心的手机软件平台项目建立一套可行 的适用于大型分布式基于可复用构件体系结构软件丌发的软件配置管理系统,实 现支持该平台及其所支持的各系列产品开发的全面的自动化的软件配置管理,从 中总结出一套理论结合实践、方法结合技术的先进的软件配置管理解决方案。 在本课题中,本文作者承担的任务包括: ( 1 ) 参与制定整套基于构件的分布式软件配置管理系统方案; ( 2 ) 作为软件工程过程组( s e p g ) 的成员之一、软件配置管理过程域负 责人,参与制定软件配置管理过程流程和标准规范; ( 3 ) 参与制定软件平台体系结构的划分; ( 4 ) 参与软件配置管理系统工具软件的选用、部署和系统的二次开发; ( 5 ) 担任软件平台项目的配置管理员,制定该项目的软件配置管理计划, 负责该平台软件的集成和发布工作,和完成项目配置管理审计; ( 6 ) 参与该软件配置管理系统中各产品线的软件配置审核; ( 7 ) 负责对该软件配置管理系统用户进行培训。 6 本课题的目标是,设计软件配置管理过程,全面支持某企业软件平台项目整 个生命周期中的变更控制、版本管理、构建发布管理、配置标识、配置状态记 录和审计,并通过工具、技术和实践,建立一套自动化的有序、可靠、高效、数 据与功能完备的软件配置管理系统。 1 3 论文结构 本文共分六章,内容安排如下: 第一章引言,介绍本课题的背景、意义、任务、预期目标等。 第二章软件配置管理理论与方法,介绍软件配置管理的基本概念、理论方 法、常见技术、应用模式分析等。 第三章软件配置管理系统的需求分析,描述本课题软件配置管理系统的项 目背景,分析和定义系统需求。 第四章软件配置管理系统的设计,阐述本课题软件配置管理系统的能够满 足已定义需求的设计方案。 第五章软件配置管理系统的实现,说明软件配置管理系统的实现过程。 第六章结束语,对本文工作进行全面总结,给出本文所取得的成果,指出 存在的不足和改进方向。 7 第二章软件配置管理理论与方法 2 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 m ) 是一种包括工具 和技术( 过程或方法) 的软件工程规范,软件企业用以管理其软件资产的变化。 w a y n eb a b i c h 对软件配置管理有如下陈述: “协调软件开发使得混乱减到最小程度的技术叫做软件配置管理。它是一种 标识、组织和控制修改的技术,目的是使错误达到最小并最有效地提高生产效 曩家 , 3 】 t o i e e e 8 2 8 1 9 9 8 是这样定义软件配置管理的: 软件配置管理是由所有软件项目的良好工程实践经验所组成,不管这些软件 项目处于任何研制阶段还是维护阶段,也不管是否采
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保采砂船租赁合同范本
- 汽修厂入伙协议合同模板
- 深圳商住楼购买合同范本
- 预制桥梁承包协议书模板
- 自动售药机合作协议合同
- 物业公司合同工合同范本
- 联通终止合同协议书范本
- 珠宝买卖服务合同协议书
- 黄冈还建房卖房合同范本
- 销售网络合作协议书范本
- 关于个人现实表现材料德能勤绩廉【六篇】
- 【吊车租赁合同范本】吊车租赁合同
- 电梯井道脚手架施工方案
- 《游戏力养育》读书笔记PPT模板思维导图下载
- 琦君散文-专业文档
- 企业会计准则、应用指南及附录2023年8月
- 初中数学浙教版九年级上册第4章 相似三角形4.3 相似三角形 全国公开课一等奖
- GA/T 852.1-2009娱乐服务场所治安管理信息规范第1部分:娱乐服务场所分类代码
- DLT 5066-2010 水电站水力机械辅助设备系统设计技术规定
- 测绘生产困难类别细则及工日定额
- 货架的技术说明(一)
评论
0/150
提交评论