已阅读5页,还剩67页未读, 继续免费阅读
(计算机软件与理论专业论文)基于uml的文件的版本管理工具的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 软件配置管理是高质量软件开发过程不可缺少的组成部分。软件配置管理在 软件开发的后期,特别是编程和集成阶段得到广泛的应用。但是在软件开发的早 期,例如软件分析和设计阶段,软件配置管理的应用比较少。一方面的原因是开 发早期的文档不会有太多的版本,偶尔备份一下就足够了,配置管理就更加没有 了;另一方面的原因是通常的软件配置管理系统不适用于早期文档的文件管理。 然而面向对象方法的成熟和广泛应用大大增加了软件开发早期的文件的版本 和复杂性,使得对于软件开发早期文件的版本管理和配置管理成为必要。软件分 析和没计阶段的文件是含有大量的图结构化文件,目前大多数的软件配置管理工 具都是基于文本文件的,不应用于软件分析和设计阶段的文件的管理。 目前普遍使用统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 进行面向对 象的系统分析和设计,其输出为基于u m l 的图形文件。本论文主要内容是软件 配置管理中基于u m l 的文件的版本管理工具的研究与设计。本文设计了一个用 于基于u m l 的文件的版本管理模型已经相应的版本管理、文件内容和逻辑变更 管理、差异表示、差异计算和差异合并方法的设计。最后是实现以上方法的版本 管理工具的原型设计。使用c 语言实现三层体系结构的版本管理工具。这个工具 能够把基于u m l 的设计文档的信息版本化,能够进行版本管理的基本的操作, 如榆入、检出,d i f f 和合并等。要求这个工具能够很好的支持面向对象开发方法 对软件配置管理的要求,支持构件技术和复用技术对软件配置管理的要求。 论文首先分析了软件配置管理工具发展的历史和趋势,分析了基于u m l 的 文件的特点,为了适应今后软件配置管理发展的需要提出了一个基于u m l 的文 件的版本管理模型。在这个模型中,所有的u m l 图元都是独立的对象,对象的 版本标识由系统自动完成,通过配置的概念实现变更和执行该变更的对象之削的 关联,并确保对象的一致性。这个模型能够同时支持对文件内容和文件逻辑变更 的管理追踪。 接着讨论了基于u m l 的文件的差异计算、可视化和合并问题,以及基于u m l 的文件的版本管理的基本过程。由于基于u m l 的文件的特殊性,直接在版本管 理工具内部显示可视化差异并进行合并会大大增加工具的复杂性,因此引入了统 一文件的概念,统一文件包含了差异信息,通过统一文件可以在u m l 工具进行 差异的可视化显示,以了解不同版本之问的差异和进行合并。 最后是基于u m l 的版本管理工具的原型设计和本文结沦。 关键字:软件配置管理;版本管理;i j m i 。 华南理工大学硕七学位论文 a b s t r a c t 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 sa ni n d i s p e n s a b l ep a r t o f h i g h q u a l i t ys o f t w a r ed e v e l o p m e n tp r o c e s s e s s c mi sw e l le s t a b l i s h e da n dc o m m o n p r a c t i c ei nt h el a t ep h a s e so fs o f t w a r ed e v e l o p m e n t ,n o t a b l yd u r i n gp r o g r a m m i n ga n d i n t e g r a t i o n i ti sl e s sc o m m o n l yp r a c t i c e di nt h ee a r l yp h a s e s ,i e a n a l y s i sa n dd e s i g n o n eo ft h er e a s o n si st h a tt h e r ea r eu s u a l l yn o tm a n yv e r s i o n s ( a n dh a r d l ya n y c o n f i g u r a t i o n s ) o fa n a l y s i sa n dd e s i g nd o c u m e n t s t h u s ,o c c a s i o n a l l ym a k i n gb a c k u p c o p i e si so f t e ns u f f i c i e n t as e c o n dr e a s o ni st h a tu s u a ls c ms y s t e m sa r en o tw e l l a d a p t e dt ot h en e e d sa n dc i r c u m s t a n c e so fd o c u m e n tm a n a g e m e n ti nt h ee a r l yp h a s e s , t h em a t u r i t ya n dp o p u l a r i t yo fo b j e c t o r i e n t a t e dm e t h o dg r e a t l yi n c r e a s e st h e v e r s i o na n dc o m p l e x i t yo fd o c u m e n t si na n a l y z ea n dd e s i g np h a s e ,a n dm a k e st h e v e r s i o na n dc o n f i g u r a t i o nm a n a g e m e n to ft h e mn e c e s s a r y d o c u m e n t si na n a l y z ea n d d e s i g np h a s ea r es t r u c t u r a ld o c u m e n t sc o n t a i n i n gl o t so fd i a g r a m s m o s to fc u r r e n t s c mt o o l sw o r ko nt e x tf i l e s ,d o n tw o r kr i g h t l yo nt h e m s i n c eu m li sw i d e l yu s ei na n a l y z ea n dd e s i g np h a s e ,m o s to fd o c u m e n t si n t h e s ep h a s e sa r eu m lb a s e dd o c u m e n t s t h ek e yf o c u so ft h i sp a p e ri st h ev e r s i o n m a n a g e m e n ti ns c mo ff i n e g r a i n e du m lb a s e dd o c u m e n ti na n a l y z ea n dd e s i g n t h e h i s t o r ya n dt r e n do fs c mt o o la r ef i r s ts t u d i e d f e w s t r u c t u r a ld o c u m e n to r i e n t e d v e r s i o nm a n a g e m e n tt o o l sw a si n t r o d u c e d ,t h e n a n dt h e na n a l y z et h ec h a r a c t e r i s t i c s o fu m ld i a g r a m a c c o r d i n g l y ,a f i n e g r a i n e d v e r s i o nm o d e lf o ru m lb a s e d d o c u m e n t si sd e s i g n ,w h i c hs a t i s f i e st h er e q u e s to fs c md e v e l o p i n gt r e n d i nt h i s m o d e l ,a l lu m lm e t em o d e l sa r ei n d e p e n d e n to b j e c t s ,v e r s i o n i n go ft h e ma r e a u t o m a t i c a l l y f i n i s h e d b yt h es y s t e m t h i sm o d e lo f f e r sam e t h o dt oc r e a t e c o n f i g u r a t i o n so fo b j e c tv e r s i o n sb e l o n g i n gt o g e t h e ra n dam e t h o dt or e l a t ec h a n g e s a n dp h a s e so fap r o j e c t t h es t o r a g ea n dm a n a g e m e n to fv e r s i o n e du m lm o d e li nt h e r e p o s i t o r yf o l l o wt h eu m lm e t am o d e li n t e r c h a n g em e c h a n i s mo f f e r e db yt h eu m l s p e c i f i c a t i o n ,u s i n gf i n e g r a i n e dx m if i l e st or e p r e s e n tu m lm e t am o d e l s b u th i g h e r a b s t r a c tl e v e li so f f e r e df o ru s e r st oo p e r a t eu m lm o d e l sl i k eo b j e c t ,i n s t e a do fl i n e s o f t e x t f o l l o w i n gt o p i ci st h ec o m p u t i n g ,v i s u a l i z i n g ,a n dm e r g i n gt h ed i f f e r e n c eo f u m lb a s e dd o c u m e n t sa m o n gd i f f e r e n tv e r s i o n s t h em e t h o d sw o r ko nt e x tf i l e s d o n tw o r k ax m i u m l 】f o r m a tu n i f i e dd o c u m e n tw a sd e s i g nt oc o n t a i nt h e i i a b s t r a c t d i f f e r e n c em e s s a g e ,t h e nt h ev i s u a l i z a t i o na n dm e r g eo fd i f f e r e n c ec a nb ed o n ei na x m is u p p o r t e du m lt o o l ,t h eu n i f i e dd o c u m e n ti sc r e a t eb yt h ev e r s i o nm a n a g e m e n t t o o la f t e rd i f f e r e n tc o m p u t i n g t h el a s tt o p i ci st h ed e s i g no ft h ei m p l e m e n t a t i o no ft h ef i n e g r a i n e du m lb a s e d d o c u m e n t sv e r s i o nm a n a g e m e n tt 0 0 1 t h ep r o t o t y p es y s t e mi si m p l e m e n t e dw i t hc p r o g r a m m i n gl a n g u a g ea n dm o d e l e da n dl a y e r e dc l i e n t s e r v e ra r c h i t e c t u r e b u ti ti s o n l yam i n i m i z e ds y s t e mw i t ht h em o s tb a s i c a l l yf u n c t i o n s ,s u c ha sl o gi n ,c h e c ko u t , u p d a t e ,m e r g e ,a n dc h e c ki n v e r i f i e db yt h ep r o t o t y p es y s t e m ,t h ef i n e g r a i n e d v e r s i o nm o d e lt h er e l a t e dv e r s i o nm a n a g e m e n tm e t h o d sd e s i g n e dh e r ew o r k sw e l l w i t hu m lb a s e dd o c u m e n t s i ta l s os u p p o r t st h es c m r e q u e s ti n0 0m e t h o d ,a n dt h e r e q u e s ti nc o m p o n e n to r i e n t e dd e v e l o p m e n tt e c h n o l o g y k e yw o r d s :s c m ;v e r s i o nm a n a g e m e n t ;u m l i 【i 华南理工大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研 究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文 不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研 究做出重要贡献的个人和集体,均己在文中以明确方式标明。本人完 全意识到本声明的法律后果由本人承担。 作者签名鸶振反 日期:孙i 年j 月多】日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许沦文被查阅和借阅。本人授权华南理工大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密曰,在l 一年解密后适用本授权书。 本学位论文属于 不保密乙。 ( 请在以上相应方框内打“”) 竺煮蓑童t 瓣 刷磁名荔翰艺 移r ,、” l t 期:伽s 年r 月弓j 日 日期拙谚戽月f 日 第一章绪论 第一章绪论 软件配置管理是软件工程中比较成功的分支之一。在国际上有一个非常活跃 的研究软件配置管理的团队。软件配置已经是有上十亿美元市场规模的产业。几 乎所有企业或者政府的软件项目都会使用一些软件配置管理工具。 软件配置管理是事实上公认的软件项目开发取得成功的必不可少的工具,也 是达到c m m 二级的必要条件。配置管理工具是越来越稳定、成熟,功能也越来 越强大,所以,软件配置管理市场的增长也非常快。 软件配置管理的有些基本技术已经在许多工具中广泛采用,从中也可以看出 它的成功。现在所有的第四代语言工具,大部分的丌发环境工具,甚至文本编辑 工具都具有基本的版本管理功能。在一些新兴的领域,例如网络内容管理也应用 了软件配置管理的技术,如新的网络协议w e b d a v d e l t a v 。 软件配置管理是关于专业软件开发和维护的重要学科。虽然软件的规模的增 加,开发周期的增长,软件重要性的增加,以及对丌发时间的要求越来越严格, 软件配置管理的重要性也不断的增加。 1 1 研究背景 本节对软件配置管理的发展历史及其和软件工程发展的关系以及软件配置管 理的研究领域作简单的介绍,分析了软件配置管理今后发展的趋势。 1 1 1 软件工程和软件配置管理的发展及其相互关系 说软件配置管理要从配置管理说起。配置管理起源于十九世纪五卜年代的航 天工业,当时航空产品正遭遇由于工程变更文档不足而引起的种种困难。十几年 以后,软件的变更管理遇到了类似的挑战。很明显,类似的技术可以用来管理任 何“文本的”软件系统。首先,例如类似利用彩色的穿孔卡片来表示变更的方法, 在上个世纪的六十年代末,u n i v a c 1 1 0 0e x e c 8 操作系统中采用了特殊的“改 正卡片”的方法。幸运的是,软件可以很快变成在线实体,利用软件配置管理系 统进行专用的和自动的控制。不幸的是,很多关于早期软件配置管理的知识已经 消失了。那时候软件配置管理很多都是集成在操作系统中( 现在已经没有这种做 法了) ,任何关于! ! ;= j 期关键配置管理描述的文档都已经很难找到了。 在上世纪七十年代末,随着一些工具的出现,例如s c c s 1 1 、r c s z l 和m a k e 3 】 等,软件配置管理开始成为一门独立的学科。每个系统的力图实现一些特定的功 能,专著于版本控制,或者高效的构建过程,从而是源代码产生可执行的程序。 华南理工大学硕士学位论文 那时候这些功能都集成在一个单一的软件配置管理系统中,这些功能主要包括:1 、 管理软件产品相关的文档;2 、通过版本的形式追踪这些文档的变更;3 、支持通 过这些文档构建一个可执行程序。基本卜,这些重点直到今天都没有改变。 由于软件开发和维护的复杂性不断增加,计算机软件和硬件的技术不断发展, 以及其他软件工程工具的需求和持续变化的商业环境的压力,软件配置管理的功 能也在不管的变化。例如,在二十世纪八十年代,关于高效存取机制的争辩导致 了大量基于文本的差异算法的出现。在上世纪九十年代,非文本对象变得越来越 普遍,使得对这些对象的存取算法变得越来越重要。到了2 0 0 0 年前后,存储设备 越来越便宜,c p u 越来越快,非文本对象越来越普遍,使得差异算法显得并不那 么重要,新的工具只是简单的应用压缩技术。 从上世纪七十年代第一个软件配置管理工具s c c s 的诞生到现在的近四十年 时间里,软件配置管理已经取得了长足的发展,巨大的成就,概括起来可以划分 为三个阶段: 第一代,基于文本文件的软件配置管理:这个时期的配置管理只是组织内部 的一个独立的活动。由于软件复用程度较低,而且也没有第三方的工具支持,配 置管理解决方案一般使用操作系统自带的版本控制工具( 例如u n i x 的s c c s ) 以及一些创建支持( 像任务控制脚本或m a k e ) ,偶尔有少量变更控制。软件组织 简单的依赖于操作系统厂商的配置工具或者是自己的开发工具。这一时期的配置 管理工具以版本控制为主要特征,支持检入检出模型以及简单分支但所有配置项 及元数据的存储:主要以文件形式存放,主要的功能是为版本控制、编译代码、 追踪和处理错误提供一个良好的基础;管理的主要内容为程序代码。代表工具有 s c c s ,r c s ,p v c s 等。在流程管理上基本上以作业任务单等手工方式为主。 第二代,上个世纪七十年代末八十年代初,随着软件项目规模越来越大,复 杂度变得越来越高,开始出现了基于项目库的将元数据,如用户、标签、分支以 及其他管理信息均放在一个数据空中,与存放配置项的文件存档相分离,从而更 好地支持并行歼发以及团队协作,并且提供了实现过程管理的良好基础,这一代 的工具覆盖了较多的功能,实现形式多样,如从简单直观的m i c r o s o f tv s s ,到基 于变更请求的i b mc m v c 以及p l a t i n u m c a c c c h a r v e s t 等。 第三代,第二代配置管理面临的一个挑战时不能从其他工具( 如文本编辑器、 i b mw e b s p h e r e 及m sv i s u a ls t u d i o 等) 直接访问受控配置项,而只能将配置项 从库中复制到工作用录中,这导致了剧一配置项多个本地副本的扩展,增加了管 理成本。第三代的软件配置管理是基于文件访问透明的,代表产品是r a t i o n a l c l e a r c a s e ,它在保持了所有第二代配置管理特征的前提下,提供了更多的特性, 通过专有的多版本文件系统m v f s 所提供的对文件访问的透明性,开发人员可以 在不保存本地副本的情况下直接访问受控制配置项。同时这一代的产品更加强调 2 第一章绪论 软件配置管理和软件变更管理、软件系统分析设计以及软件测试等等各个软件开 发环节的结合,从而形成了更加全面完整的软件开发管理方案。 1 1 2 软件配置管理的研究领域 软件工程强调过程、方法和工具,以提供可控制的软件丌发过程,为软件技 术人员开发低成本、高质量的软件提供基础h j 。由于没有考虑软件工程的实用目 的,一些研究成果不能为软件产业带来效益,或者提高软件的质量,研究人员因 而受到非议 5 1 6 1 1 7 1 。这就说明了软件工程的研究应该基于产业组织的问题和需求, 研究的目的是为了提供实际问题的解决方案。这是问题驱动的研究方法,它的基 础是对应用环境的深入理解,以及同时考虑软件过程的技术和非技术因素。 s u s a nd a r t 认为理想的软件配置管理系统应该提供组件控制、配置支持、构 造支持、审计、统计报告、变更控制、过程支持和团队支持等八大功能1 8 1 。虽然 d a r t 在1 9 9 1 年就提出了这个分类,但是知道最近高端的软件配嚣管理系统才能 为每个功能都提供很好的支持。从技术的角度来说,这八个功能中的某些功能是 很容易实现的,例如审计和统计报告,因为很少有人在上面进行研究。人们研究 的比较多的是那些技术要求较高或者问题较多的功能的实现技术,例如组件控制、 配置支持和过程支持等。 软件配置管理技术方法的研究可以分为三大类:产品支持、工具支持和过程 支持。这个分类粗略描述了软件配置管理的整个演变过程。最先只是提供文件管 理支持,然后是集成对各种工具的支持,最后加入高级的过程控制支持。每个支 持领域都可以细分为若干的技术研究领域,下面将作详细的介绍: l 、产品支持 产品管理是软件配置管理的核心功能。从软件配置管理的诞生开始,软件配 置管理系统的基本功能之一就是管理构成软件的人量文件,以及众多由于变更造 成的那些文件的版本。 根据管理文件的粒度的不同,产品支持可以分为以下两种: - 版本管理:版本管理主要考虑各种部件经历各种变更时的历史文档的维 护,以及软配置管理中所有配罱项的组织。 - 系统模型和选择:随着项目规模的扩大,对大量文件一个个的进行管理, 无论从效果还是从效率来说都越来越困难。因此需要提高管理的粒度,把 具有相互关系和共同属性的文件汇集成更高粒度的对象来进行管理,从而 提高大型项目的连续性。系统模型就是能够实现这个功能的技术。它提供 了配置的概念,一个配置就是一个自身可以版本化的配置项的集合。有了 系统模型,就必须提供支持使得使用者可以根据给定的时间点选择组成这 个集合的各个组成部分及其版本。 华南理t 大学硕士学位论文 2 、工具支持 作为软件丌发过程中的重要角色,软件配置管理系统应该能够让其他工具( 或 者使用者) 能够很方便的访问和操作特定的组件。在过程支持方面主要有工作空 间控制和构建两个技术。工作空间控制主要复杂对组件访问权限的控制,构建时 。一个扩展的工具,不过通常都是软件配置管理的内部集成部件。 _ 工作空间控制:软件配置管理系统为使用者提供了一个独立的区域来迸行 自己的日常工作,例如编辑和利用外部工具操作一系列的组件。工作空间 技术要特别考虑的是工作空间是否支持分布式用户,以及互相独立的工作 空间里面的活动最后怎么合并回系统库。 - 构建:构建的任务就是利用一组源文件产生一个可执行的程序。构建工具 最初是和关键配置管理系统相互独立的。但是用来构建的组件和源文件一 样需要能够精确的控制。高效的构建同样需要考虑组件的变更信息。因此, 软件配置管理系统最终集成了对构建的支持。 3 、过程支持 虽然发展缓慢,但是毫无疑问,随着软件配置管理系统的发展,它将从紧对 文件的管理转化到对开发人员协同工作的支持以及软件的维护。最初,软件配置 管理系统只是提供变更控制过程的支持。但是最近软件配置管理系统开始加入对 所有过程的支持。 通过预先定义组件操作的方法,早期的软件配置管理系统已经能够提供过程 支持。通常这个过程是固化在工具里面的,不能加强或者改变,除非在工具的顶 端扩展其脚本。这就是c v s 刚开始时的做法。在r c s 的顶端通过一组脚本来改 变过程,使得可以对组件进行保守上锁、乐观合并的操作。由于这种方法的不足, 加上希望可以支持捕获变更之间的关系,软件配置管理系统开始加入管理变更全 过程的功能。 现代的高端软件配置管理系统能够提供更广泛的过程支持。它们不但支持变 更控制,而且能够让组织根据自己的经验设计和实施开发过程支持。 1 1 3 软件配置管理今后的发展 目前软件配置管理的应用已经趋向成熟,解决了许多工程实践中的问题,建 立了软件配置管理的原理、概念和技术体系。现在高级的软件配置管理系统已经 基本卜实现了s u s a nd a r t 提出的八大功能。但还有很多问题有待解决,这些问题 既有配置管理自身的技术问题,也有新的需求、新的开发模式带来的其它应用和 集成问题。对这些问题的解决将形成软件配置管理下一步发展的趋势。可以将这 些方向分为三方面: 1 、传统的配置管理技术将继续发展 4 第一章绪论 传统的配置管理的很多问题并没有完全解决,目前的成功很多只是直接来自 于工程实践,软件配置管理的进一步发展必须寄希望一些关键技术的解决。 数据模型问题:软件配置管理目前使用的数据模型非常欠缺,软件配置管理 总是避免与实际的编程语言和软件产品的语意相联系,这既是软件配置管理取得 成功的因素,同时也是软件配置管理在很多地方表现得无能为力的原因。配置管 理系统的数据模型很多是在文件系统上加上一些属性( 通常还是预定义的) ,这是 很刻板的。这种简单的即用式数据模型所导致的一个主要后果是它限制了软件配 置管理其它方面功能的扩展。 分布开发支持问题:目前的软件配置管理方案并不能完全适合分布式丌发, 跨越不同地点的位置的分布开发支持虽然目前在c l e a r c a s e 和c o n t i n n u s c m 上已 经有所体现,但还没有真正意义上的分布式软件配置管理方案的出现,分布开发 支持仍然将是今后几年的一个趋势。 2 、配置管理将与其它c a s e 工具进行集成 配置管理从来都不是一个独立的领域,它与其它c a s e 工具密切相关共同构 成软件开发的工程环境,和其它工具一样,一旦自身开始成熟,就开始面对越来 越多的问题,需要提供更多的服务,涉及到更多的领域。如何实现其它c a s e 工 具的互操作性同样是配置管理发展所面对的问题。 3 、新的开发模式将对配置管理提出新的需求 在配置管理厂商致力于解决传统软件开发中的配置需求时,新的丌发模式新 的应用需求已经开始出现,i n t e r n e t 给软件配置管理带来的深刻的影响。一方面, 它模糊了本地、分布和远程开发的界限,提供了良好的位置无关和信息交互接口, 软件配置管理与w e b 集成已经成为必然;另外一方面是i n t e r n e t 带来了新的软件 开发的组织模式和胁作模式,给软件配置管理带来了新的问题;还有就是w e b 本 身对配置管理的需求。 w e b 支持:软件配置管理提供w e b 支持有两方面的含义, 足为传统的配置 管理系统提供w e b 方式的访问接口,一是基于w e b 构造软件配置管理系统。为 传统的配置管理系统提供w e b 访问方式是现实可行的方式,w e b 方式固有的信息 表达能力可以为配置工具展示配置信息提供很大的余地。目前的配置管理工具都 是基于c s 结构,有一个中央的仓储库来维护所有的配置信息,在实现w e b 集成 时可能存在渚如对象拷贝的一致性问题、格式定义问题等。另外一种方式是实现 以w e b 为中心的配置管理方案,i n t e r n e t 将把目前的配置管理工具从以文件和项 目为中心改为以信息和1 竽取为中心。 虚拟开发企业和新的开发模式的支持:i n t e r n e t 带来了新的协作方式,每天全 世界的丌发者都在为开放源码在: 作,类似的趋势是一些大公司的创建一些分散 的团队为同一个项目而工作。跨组织的项目同样开始成为趋势,如很多子合同承 华南理工大学硕士学位论文 包商与主要的系统集成承包商协同为一个大的项目工作。为适应竞争,快速的组 织变更,公司组织变得更为扁平、分散和全球化,更依赖于信息技术来进行内部 和外部协调以及决策,公司必须要使得所有的企业数据为每个员工共享。 新的开发模式带来的问题是:如何在i n t e r n e t 环境下的自治分布的开发小组 之间实现信息对象、工具、工作流程和协作支持。这种环境下没有一个共享的中 央仓储库,也没有一个全局的协调机构。传统的配置管理方案已经不能解决这种 问题,必须寄希望于新的概念和思想。 w e b 开发的配置支持:w e b 也为配置带来了一个新的应用领域,即w e b 本身 开发的配置,w e b 页面也是不断在演进的产品。w 曲开发的配置管理有不同于传 统软件开发的需求,与传统的代码文件或者软件文档相比,w e b 页面数目巨大而 且变化的速度更快,其次是w e b 页面间存在着高度的相关性,而且这种相关性并 不局限在本地的w e b ,而是与整个w e b 存在着千丝万缕的联系,即这种配置可能 是需要整个w e b 进行配置协调的,解决这些问题必须要引入新的技术开发新的工 具。 1 。2 问题的提出及其研究意义 那种带领一群分工不明的编程高手去完成一个大型系统的时代己经结束了。 尽管那些组织项目开发的方式快速,但与此相应带来的恶果常常是混乱和持续不 断的危机,并使开发人员的热情迅速消耗殆尽。随着计算机系统功能的日益强大, 有两种趋势值得我们关注: 对那些需要程序员团队丌发的日益庞大、复杂的系统需求的增加; 用于编写较高级程序语言的自动化工具以良好设计软件包形式开发出来。 面向对象技术就是在这些趋势的需求驱动下产生的。u m l 是综合早期对象设 汁语言而产生的一种语言。它结合了b o o t h 符号、对象建模技术和面向对象的软 件工程,目前它已经成为用于定义对象设计的首选标准方法。u m l 主要的作用是 定义系统需求和设计并将其文档化。因此,u m l 可以在初始和细化阶段发挥重要 作用。但由于需求与测试计划紧密相关,而且代码直接反映了设计,所以在整个 开发过程中持续使用u m l 是很重要的。目前已经有很多优秀的支持u m l 正向工 程和逆向工程的工具,使得持续使用u m l 成为可能。这就使得对于u m l 文档的 管理在软件配置管理中变得越来越重要。 随着基于部件和构件的开发方法的成熟,也许会出现高级语言代替汇编语言 的类似现象,建模语言代替高级语言成为系统开发的主要语言。 然而月前的绝大部分以版本管理为核心的配置管理工具都主要集中在对代码 和文档的管理。这些软件配置管理工具都是基于两个观点:一是专著于软件实现 6 第一章绪沧 的管理;二是和编程语言及应用程序独立。为了适应当前软件工程理论和实践新 发展的需要,新一代的软件配置管理工具必须突破这两个观点的限制。如果突破 第个观点,就需要仔细管理软件生命周期开始阶段( 如需求分析和设计) 和最 后阶段( 如部署、动态修改和再配置) 的文档资料。突破第二个观点就可以把软 件配置管理功能融入到具体的环境( 如集成开发环境) 或表示方法( 如产品线架 构) 中。 因此本论文提出了软件分析和设计文档的配置管理的研究问题,既有现实的 意义,也是新一代软件配置管理发展的方向之一。 1 3 研究的主要内容和相关研究 1 3 1 研究的主要内容 使用面向对象的软件开发方法,软件分析和设计阶段的文件主要是利用统 建模语言u m l 进行系统分析和设计所产生的文档。这些文档包含了大量的u m l 图。因此研究软件分析和设计阶段文件的版本管理,主要就是研究基于u m l 的 图形文件的版本管理。 因此本论文的主要内容是在软件配置管理中基于u m l 的图形文件的版本管 理工具的研究与设计。在本论文中,基于u m l 的图形文件就是应用统一建模语 言u m l 进行系统建模、软件分析和设计而得到的图形文件。文件格式为x m l 格 式或者各种专用的可打印的图形存储格式( 根据u m l 工具的不同而不同) 。版本 管理是软件配置管理的基础功能,主要负责文件的标识,存储组织,并且支持对 文件的控制和状态管理。因此本沦文研究的主要内容包括: 1 、基于u m l 的图形文件的版本管理模型设计 2 、版本管理系统中u m l 模型对象的组织,文件内容和逻辑变更的管理,变 更的识别、计算、表示和合并的方法设计 3 、基于u m l 的图形文件的表示和存储方法 4 、实现以上设计的基于u m l 的图形文件的版本管理工具的原型设计 1 3 2 相关研究 几乎所有的版本管理系统都是基于文本文件的,只有少数能够支持结构化的 文件的版本管理。i p s e n1 9 1 就是其中的一个例子:所有版本化的文件都抽象为一 个语义图。在i p s e n 中文件的任何修改都会使整个文件产生一个新的版本,这就 导致了相当大数量的版本对象。u n i f i e dm o d e l 1 0 l 是i p s e n 的改进,它是基于变 更集模型的( 关于变更集模型的概念见第二章2 3 4 变更集模型) 。但是u n i f i e d m o d e l 导致了大量无用的版本对象,而且不支持细粒度数据模型 ”l 。除了产生 大量无用的版本对象之外,这两个系统还有一些共同的局限。首先是在文件逻辑 7 华南理1 _ 大学硕士学位论文 变更方面,两个系统都没有和语义树中的每个节点或者对象相对应的版本树;其 次是在两个系统中文件版本为组织为一个很大的版本树,这样设计人员不能根据 相关的活动来找到相应对象的版本。 而e n s e m b l e 【1 3 4 j 使用另外一种方法来实现结构化文件的细粒度版本管理: 所有的对象都拥有自己的版本树,叫做本地版本树。不同对象的版本的一致性通 过全局版本树来确保,全局版本树指向每个文件中的对象版本。如果两个文件互 相有对象关联到对方,那么在全局版本树中两个文件都包含了指向对方的指针。 e n s e m b l e 的主要改进是采用了增量算法。这个模型不支持不同版本的文件的差异 的合并,也不支持基于任务的变更。 前面介绍的几个系统都是面向认识的结构化文件的。r h oa n dw u 引介绍的版 本模型d i v e r s 是面向软件图的版本管理。它假设文件足使用细粒度模型,因此 图的每个节点都用一个对象来表示。作者建议使用变更操作同志代替变更扩散。 但是他们没有提供创建在同一环境下产生的对象版本的配置的方法,也没有提供 把变更和特定的项目阶段联系起来的方法。而且访问旧版软件图的效率也非常底, 需要搜索编辑操作口志束逆向推算。 1 4 本文结构 第一章:介绍论文的研究背景、论文题目的提出及其研究意义,和主要的研 究内容。分析了软件配置管理的发展历程及其和软件工程理论、实践发展之问的 关系;介绍了软件配置管理的研究领域;分析了软件配置管理今后发展的方向。 根据软件配置管理当前存在的问题及其发展趋势提出了软件分析和设计文档的配 置管理的研究问题。 第二章:介绍了软件配置管理的基本概念和理论。包括软件配置管理的定义、 基本概念、软件配置管理的基本模型以及版本管理的一些基本概念。 第三章:本章分析了基于u m l 的图形文件的特点,为了适应今后软件配置 管理发展的需要提出了一个基于u m l 的图形文件的版本管理模型。在这个模型 中,所有的u m l 图元都是独立的对象,对象的版本标识由系统自动完成,通过 配置的概念实现变更和执行浚变更的对象之间的关联,并确保对象的一致性,通 过没计事务( d e s i g nt r a n s a c t i o n ,d t a ) 的概念实现文件逻辑变更的管理。u m l 模型在版本库中的存贮和管理根据u m l 规范中原因u m l 图形交换的机制,使用 细粒度的x m i 格式文件末存储,并且通过映射可以让用户在较高的抽象层次( 对 象) 上进行操作。最后介绍了基于u m l 的文件的细粒度版本管理模型的实现。 第四章:首先分析基于u m l 的图形文件的差异识别、显示和合并中存在的 问题,u m l 图的特点,从而得出u m l 差异的表示方法,并设计了如何利用基于 第一章绪论 u m l 的图形文件的版本管理模型提供的信息来进行差异的表示和合并的方法。最 后是基于u m l 的图形文件的版本管理过程的设计。 第五章:本章介绍了以基于u m l 的图形文件的版本管理模型为基础的基于 u m l 的图形文件的版本管理系统f u d v 的原型设计。f u d 系统是用c 浯言实现 的c s 三层体系结构的系统。版本库层提供了版本项的版本存储和报告机制。版 本库访问控制层由版本库层的程序l i b u v sr a 和驻留在各客户端的l i b u v sr al o c a l 两个 部分组成。两个部分互相配合,实现从客户端和版本库层之间的通信。客户端层的主 要功能就是对工作拷贝的管理以及版本管理操作的实现。 9 华南理工大学硕士学位论文 第二章软件配置管理的基本理论 经过三十多年的研究和实践,软件配置管理已经成功的解决了软件开发和管 理中的许多不同的问题,建立了基本的概念、原理和技术体系。本章将简单介绍 软件配置管理的基本概念和关键技术方法。首先通过几个软件配置管理定义的介 绍,从不同的角度说明软件配置管理的主要内容和功能。接着介绍软件配置管理, 特别是版本管理方面的基本技术。这些技术或者是在本论文设计中直接应用,或 者是根据更加需求的变化重新设计改进以后应用。 2 1 软件配置管理的定义 定义是对一种事物的本质特征或者一个概念的内涵和外延所做的简要而准确 的描述。在科学和技术领域的定义是随着对事物认识的深入而不断发展的。软件 配置管理的定义也一样。下面通过对几个标准中软件配置管理的定义的介绍和分 析来说明软件配置管理的一些基本内容。 2 1 1i e e e7 2 9 标准中的定义 在i e e e7 2 9 标准中给出的软件配置管理定义:软件配置管理是识别和定义系 统中配置项的过程,通过配置管理可以在生存周期中控制配置项的变更,记录并 报告配置项及变更需求的状态,检验配置项的完整性和正确性。 i e e 7 2 9 1 9 8 3 标准对软件配置管理的内容进行了规范的定义。在这个标准中, 软件配置管理的内容包括: 标识( i d e n t i f i c a t i o n ) - - - - 识别产品的结构、产品的部件及其类型,为其分配 唯一的标识符,并以某种形式提供对它们的存取。 一控制( c o n t r o i ) 一一通过建立产品基线,控制软件产品的发布和在整个软件 生存周期种对软件产品的修改。例如,它将解决哪些修改会在该产品的最 新版本中实现的问题。 一状态统计( s t a t u sa c c o u n t i n g ) 一一对部件和修改请求的状态记录并报告,并 收集关于产品部件的重要统计信息。例如,它将解决修改这个错误会影响 多少个文件的问题。 _ 审计和审查( a u d i ta n dr e v i e w ) 一一确认产品的完整性并维护部件间的一 致性,即确保产品是一个严格定义的部件集合。例如,它将解决目前发布 的产品所用的文件的版本是否正确的问题。 l o 第二章软什配置管理的基本理论 生产( m a n u f a c t u r e ) 一一对产品的生产进行优化管理。例如,它将解决最 新发布的产品应由那些版本的文件和工具来生产的问题。 _ 过程管理( p r o c e s sm a n a g e m e n t ) 一一确保软件组织的规程、方针和软件 周期得以正确贯彻执行。例如,它将解决要交付给用户的产品是否经过测 试和质量检查的问题。 小组协作( t e a mw o r k ) 一一控制开发统一产品的多个开发人员之间的协 作。例如,它将解决是否所有本地程序员所做的修改都己被加入到新版本 的产品中的问题。 由此可见,i e e e 中将软件配置管理定义为一个准则,应用技术和管理对项目 进行指导和临督,标识和归档配置项的功能和物理特性、控制这些特性的变更、 记录和报告变更过程以及实现状态,检查对指定需求的评价和意见。 2 1 2i s 0 9 0 0 0 3 标准中的定义 在i s 0 9 0 0 0 3 9 7 质量管理和质量保证标准一一i s 0 9 0 0 l :1 9 9 4 在计算机软 件开发、供应、安装和维护中的使用指南标准中,软件配置管理是一门管理学 科,它对配置项的开发和支持生命周期给予技术上和管理上的指导。软件配置管 理的应用取决于项目的规模、复杂程度和风险大小。该标准除对软件生命周期的 各个阶段做了严格的规定外,还在其质量系统中规定了与阶段无关的支持活动, 其中软件配置管理被放在首位。 由此可见,软件配置管理设计软件生命周期过程中的文档组织、管理、更改 控制等一系列活动。i s 0 9 0 0 0 3 标准定义了支持活动的系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育法律法规试题及答案
- 2025 年大学化学工程与工艺(化工工艺与设备)试题及答案
- 月嫂考试试题及答案
- 机电一体化试题及答案-图文
- 档案职称考试《档案事业概论》模拟真题四
- 母婴资格证考试题及答案
- 铲冰除雪响应应急预案(3篇)
- 工匠精神人物介绍
- 经营管理犯罪的
- 2025年企业年度工作总结报告(7篇)
- 深度股权置换与债权债务切割协议
- 药理学 课件 11-4-1 性激素类药及抗生育药
- 危重患者的风险评估及护理安全
- 小区监控方案(3篇)
- 主动配电网中分布式电源的虚拟同步发电机控制技术:原理、应用与展望
- T/GXSXFS 006-2021肉牛全混合日粮
- T/CIES 002-2016照明工程设计收费标准
- 《广告概述》课件
- 脑器质性精神障碍患者的护理
- 做账实操-食品加工生产企业的账务处理流程
- 小学生心理健康与辅导(第4版) 课件 第十二章 小学生心理健康的测量与评价
评论
0/150
提交评论