




已阅读5页,还剩62页未读, 继续免费阅读
(计算机软件与理论专业论文)基于特征逻辑的软件配置管理模型及其应用研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原舡大学硕研究生论文p 踮 基于特征逻辑的软件配置管理模型及其应用研究 摘要 软件配置管理在软件开发过程和质量管理中起着重要的 作用。为适应不同的软件项目开发规模和管理模式,出现了多 种软件配置管理模型。本文在介绍了s c m 的概念、s c m 工具的 发展以及当前主流软件配置管理工具的基础上,概括了s c m 的 主要内容,并使用特征逻辑,建立了一个统一的软件配置管理 模型( u m s c m ) 。该模型引入了版本集的概念,版本集包括常用 的构件、库、工作空间、变种集、修订版历史等。 论文使用特征逻辑作为描述版本集的基础,通过 ( f e a t u r e :v a l u e ) 对的属性组成的布尔表达式来表示公共或 独立的版本性质,并对版本集进行交、并、补等操作以表达和 概括s c m 的基本活动。由此可以描述变更和工作空间的管理。 在此基础上介绍一个特征文件系统( f f s ) ,其中版本组作为虚 拟文件和目录被存取。以u m s c m 和f f s 为基础,可以描述已 有的四种s c m 模型( 检入检出模型、组织模型、长事务模型和 变更集模型) 。论文最后给出基于u m s c m 的软件配置管理系统 1 四太原理工大学硕士研究生论文 的框架、配置库的结构和基本操作算法。 关键词: 配置,版本,特征逻辑,版本集 豳太原理工大学硕士研究生论文 s o f t w a r ec o n flg u r a tlo nm a n a g e m e n t m o d e lb a s e do nf e a t u r el o gle a n dl t sa p p l l c a t l o 牲r e s e a r c h a b s t r a c t 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 tp l a y sa ni m p o r t a n tr o l ei n t h ep r o c e s so fs o f t w a r ed e v e l o p m e n t i no r d e rt oa d a p td i f f e r e n t s o f t w a r e p r o j e c td e v e l o p m e n ts c a l ea n d m a n a g e m e n tp a t t e r n , m a n i f o l ds 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 tm o d e l sa p p e a r 。t h i s p a p e rg e n e r a l i z e t h em a i nc o n t e n to fs c mo nt h eb a s eo f i n t r o d u c i n gt h ec o n c e p to fs c m 、d e v e l o p m e n to fs c mt o o l sa n dt h e m a i n s t r e a m s c mt o o l s 。a n dau n i f o r mm o d e lo fs 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 ti s e s t a b l i s h e db a s e do nf e a t u r el o g i c 。 i nt h i sm o d e l ,t h ec o n c e p to fv e r s i o ns e ti si n t r o d u c e d ,v e r s i o n s e ti n c l u d e st h ec o n c e p to fs c ms y s t e mi nc o i 雕2 1 0 nu s e ,s u c ha s c o m p o n e n t s ,r e p o s i t o r i e s ,w o r k s p a c e s ,v a r i a n ts e t ,r e v i s i o nh i s t o r _ i e se t c f e a t u r el o g i ci su s e df o rt h eb a s eo fd e s c r i b i n gv e r s i o ns e t i nt h i sp a p e r ,t h eb o o l e a ne x p r e s s i o nt h a tc o m p o s e do f ( f e a t u r e : v a l u e ) v e r s u si su s e df o re x p r e s s i n gc o l l l m o no ri n d e p e n d e n tv e r s i o n c h a r a c t e r ,a n do p e r a t i o n s s u c ha si n t e r s e c t i o n ,u n i o n ,a n d 3 太原理工大学硕士研究生论文 c o m p l e m e n ta r ee x e c u t e do nv e r s i o ns e t s i no r d e rt oe x p r e s sa n d g e n e r a l i z et h eb a s i ca c t i v i t yo fs c m t h e r e o u tt h em a n a g e m e n to f w o r k s p a c e sa n dc h a n g ea r ed e s c r i b e d o nt h i sh a s i saf e a t u r el o g i c s y s t e m ( f f s ) i si n t r o d u c e d a n dv e r s i o n s e t sa r ea c c e s s e da s v i r t u a lf i l e sa n dd i r e c t o r i e s f o u rp r e s e n ts c mm o d e l s ( t h ec h e c k i n c h e c ko u tm o d e l 、t h ec o m p o s i t i o nm o d e l 、t h el o n gt r a n s a c t i o n m o d e la n dt h ec h a n g es e tm o d e l ) i sd e s c r i b e do nt h eb a s eo fu m s c m a n df f s t h ef r a m eo fs 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 y s t e m ,s t r u c t u r eo fc o n f i g u r a t i o nd a t a b a s ea n db a s i co p e r a t i o n a r it h m e t i ca r eg i v e ni nt h ee n do ft h i s p a p e r k e yw o r d s :c o n f i g u r a t i o n ,v e r s i o n ,f e a t u r el o g i c ,v e r s i o ns e t 4 国太琢理工太学颈士研究生论文 第一章绪论 几十年来,大部分程序员的工作是在“手工作坊”中进行的。在最 初的那媸年呋,这秘方式促进了软传业黪蹇峦发展。髓着软件系统、顼 胬开发豹裁模越来越大,一个项目往往需要多个开发人员协作完成,如 何使得他们既不互相干扰又能合住完成开发任务,开发的管理和控制已 经成为壤耳开发成功麴关键,羚以毖衍生出一系裂熬技术、方法轻支持 工其。 现代软件汗发管理的核心是有效的软件螽已鬟管理,用软传配矍蟹理 系统来维护开发避程中越来越多静孛阕产品。亩子琥在软件开发中的文 褐构成渐趋复杂,除了包括传统的软件需求、设计、实现代码等文档外, 第三方构件,组织的历史项目资料、项融开发历史、可重用掏锌及舞发 织织黥一些残熬的经验帮模式都构成交档。菱为重要的是项箭跨度和规 模在不断增大,软件的开发受到客户、开发人员、技术、合作伙伴、管 理等多方面因素的影响,软停产品笼其是中蛔软件产嚣一童处予不箨的 秘互影确和变动之中,魏侮有效韵维护、管理、追踪这些变动,防止开 发混乱,传统的手工的、单机的、静态的文档管理融经无法遗应需要, 嚣要更为完整的管理方法来维护软传产品。箍瑰代酝置管理系统就煞有 效的解决这些游遂并掇供自幼化支持。 采用软件酉己置管理能解决很多现实豹问题。在理想情况下,对予程 序员,使用酝爨管理系绞,霹戬安全豹保护每一天的劳动溅栗,阔时对 有关配置的结构有一个眈较清晰的概念,也可以通过它获取到配置信息: 对于箭理员( 项目经理) ,通过配置镑璎e 够方便的协调项鼹避展过程中 各成爨之润的开发,提高整个开发圈麸酌协同工作能力;对于公司领导 函太原理工大学硕士研究生论文 老扳,则可以逶过配置管理了鼹整个组织的当裁状态,对熬个缀织实施 全弱豹控利,以傈诞产熬能够及黠交付绘用户,并基能够对用户润题报 告骰警逶当豹反应。 由_ i :可觅,软徉配鬻管逢对于软件汗发过程中静质誊警理菸有 常 重要的意义。 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 m 。软传配置管理系统在软件质量管理中起着重要作用,是c b l m 与 i s 0 9 0 0 0 震爨警理体系豹核心内容之一。软伴配置管理是擐一套管理软 件舜发鞫软件缭护戳及其中各韩串鬻软伟产鑫豹方法帮爆则,它透避在 特定的时帮选释软件配蹩( 一缀中阍软件产箍及描述) ,系统遥控话辩配 置的修改,并在整个软件生命周期中维护配置的完筵性和可追踪往。中 间软件产品和用于创建中间软件产晶的控稍信息都应处于软件配置管理 的控制之下。 一个完营的配鬟管理系统,能够管理软件开发过程中的各弛产品, 熟系统爨求分掇摄袋、设计文楼、软传源稷序、旦标代遐等,糕助管理 软件开发中出现静麓种变纯和演纯方囱,鼹踪软 牛野发熬过程,保存软 俘开发避程牢符开发软件系统静状态供蔫声随辩提欷,简化开发过程韵 管璞工作,有助子软件开发和维护工作的有序亿。使用配鬣管罐系统, 必须按照配置管理的规则进行操作。 1 。2 软传配置管理工具的发展 软件配置管理最早是使用人工的方法,以类似档案管理的方式管理 软传配疆管理磺。这种管理方式繁璞,特别是当软搏较大慰,对大量熬 基- 四太原理工大学硕士研究生论文 文档进行更动控制、配置审计等工作,容易出错,工作效率极低。随着 管理水平的提高,出现了用计算机进行管理的软件配置管理工具。下面 介绍软件配置管理工具的发展。 第一代软件配置管理工具可以说仅仅只是处理文件版本控制的工 具。它们是基于单一文件的工具,将一独立文件变更存储在特殊的文档 文件之中,一般支持恢复提交模式,并提供分支。最早的这类工具是s c c s 和r c s 。这两种工具是一切软件配置管理的鼻祖,许多软件配置管理工 具都使用它们作为文件归档的工具。这一代中的其他商用产品有s u n 公 司开发的t e a m w a r e ( 这是基于s c c s ,并加上一个图形用户界面) 。 第二代配置管理工具则是基于项目数据库的。这一代工具的最显著 特征是软件开发项目的源代码与它们的文档分离,而存储在一个数据库 中,该数据库称之为项目数据库或软件库( r e p o s i t o r y ) 。这种结构将重 点从文件一级移到了项目一级,并对整个项目信息有一个统一的视点。 这一代配置管理工具有基于变更请求的i 蹦的c m v c ,面向操作的p l a t i u m 公司的c c c 以及s q l 公司的p c m s 等。 第二代配置管理工具中那些被控制文件,不能被直接访问。除非在 工作目录下获得从项目数据库取得的一个拷贝。这种情况导致了本地工 作目录空间的浪费,同时,当别的开发人员修改了项目数据库时,本地 不了解情况。 为了解决这种问题,第三代配置管理工具产生了。它在保持了第二 代软件配置管理工具的优点的基础上加入了“文件透明性”( f i l e t r a n s p a r e n c y ) 这一特性。最具有代表性的产品是r a t i o n a l c l e a r c a s e , 它是通过一个独占的文件系统m v f s 来实现文件透明性的。 总之,近二三十年来,软件配置管理的任务和作用始终没有改变过。 唯一改变的是那些以软件配置管理为核心的配置管理工具及其操作系 田太原理工大学硕士研究生论文 统。这些工具已经从简单的版本控制和半自动构造系统进化到现在复杂 的软件配置管理,通过这些工具,用户实现了手工无法实现的功能,真 正实现自动软件配置管理。 1 3 软件配置管理模型 主要的s c m 模型包括c i c o 模型、组织模型、长事务模型和变更集 模型。 c i c o 模型提供了单个系统构件的版本管理。c i c o 模型即c h e e k i n c h e c ko u t ,检入检出模型,它主要关注的是单个文件的版本控制。用户 利用库和文件系统来进行工作。文件系统是对用户和工具实际的工作区 域。文件被版本化并存储到库中,新版本的产生是由库工具控制的。文 件在库中不是可直接存取的,用户必须去检出一个文件的版本到文件系 统中以便存取它的内容。更改的文件可以被存回库中,即检入。 组织模型着重通过选择替换版本来改良系统配置的构造。它的配置 由系统模型和版本选择规则组成。系统模型列出了组成系统的所有的构 件。版本选择规则指出了组成配置的每一个构件选择的版本。选择规则 用于系统模型,选择构件版本,即绑定一构件到某一版本上。在组织模 型中,配置中有版本历史记录,版本可以通过版本化系统模型和选择规 则以及给出固定配置的版本名生成。开发员可以为其工作环境选择一个 特定的配置。工作环境意味着开发员在访问不同系统构件时,是直接的 访问还是通过工具来访问配置的。默认情况下使用配置描述指定的版本。 选择版本是在从存储库取回或透明访问构件的时候。 长事务模型侧重一系列的配置版本和协调并发小组活动。长事务模 型主要支持包括一系列原子变更的全系统演变和由团队开发员对系统变 更的协调。开发员主要操作配置而非单独的构件。一次事务处理完成一 国太藏琏工丈学硕士研究生论文 次变受。选定一次特定的配甏作为变更的起点,在攀务提交前,事务内 郯夔雯改是不可觅熬。 变更集模型提出了秘侧重逻辑变爨虼醚置管瑷的戏点。变更繁表 示组成逻辑变更的对不同构件修改的集含,它是创建变更的活动完成后 对逻辑变更的记录。支持这个模型的s c m 用户可以瓶接操作变更集。配 鬣可攒述为森萋线帮一组变更集组成。邋遥包含各自变更集来将变更传 攘绘其他配嚣。嚣发曼弼鼹黥逻辑变更弱礁定这些变更燕否藩予特定配 置。 1 ,4 主流软件配置管理系统简余 下褥奔缀一下主流软俘琵嚣管壤系统,包括c l e a r c a s e ,p v c s ,s c c s 以及r c s 。 r a t i o n a lr o s e 公司推出的软件配置篱理工具c l e a r c a s e 提供了比 较全面的配鬣管理支持包括版本控制、工作空间管理、建立管理和 过程控制,而且无需软件开发源改变他们现有的环境、工具和工作方式。 程支持攘垄主,c t e a r c a s e 主簧支掩捡入检崮稹鼙。在存储上,数据存 健在一个可访阚竣舨奉j l 垂象瘴中( v e r s i o no b j e c tb a s e s ,v 怒) 。在v o b 数据库中,主要描述该操作的属性,包括谁傲的、做什么、什么时候、 在哪个地方及为什么等等。 i n t e r s o i v 公司豹p v c s 包括v e r s i o n m a n a g e rt r a c k e r d e v e l o p e r st o o k i t 帮c o n f i g u r a t i o nb u i l d e r 等一个主鬟子产品。在 支持模式上,p v c s 主要支持检入检出模型。在存诘上,p v c s 圭要骞嚣耱 形式的库,一是代码对象麾,一是业务及经验库。在支持平台上,w i n d o w s n t 、u n i x 、v a x 和a x p o p e nv m s 可以作为服务器,也可以作为客户端。 源代弱控制系统( s o u r c ec o d ec o n t r o ls y s t e m ,s c c s ) 是一种基本 国太原理工大学磺士研究生论文 的源文件版本控制正具,它适阁于任何正文文件的版本维护。它基于单 一文徉静叛本轻裁。在支持模鍪上,s c c s 廷支持猃入捡崮横鳌。在存储 上,通鬻s c c s 的软转配繁库窝要维护鲍文l 牛在阕一曩录下。在支持平念 上,s c c s 支持绝大多数u n i x 操作系统,是大多数u n i x 操作系统的附带 软件包之。 r c s ( r e v i s i o nc o n t r o ls y s t e m ) ,在支持模塑上,r c s 只支持c i c o 模型。r c s 与s c c s 糕钕,r c s 将镂维护戆版本遣缀织戒耱形结鞫。僵r c s 允谗多黧分支。在支持平台上,r c s 支持绝大多数u n i x 操住系统,也是 绝大多数u n i x 操作系统的附带软件包之一。 1 5 论文的主要工作 兹嚣i 3 芍已经奔缨了酉秘圭要豹软侮配鬟管瑾模型,僵是将s c m 工舆集成到软件开发环境中,需要通过一个统一的s c m 模型来进褥互操 作并提供配置管理支持的一个框架。这个统模溅应该能够支持个c m 概念协调合作的复合模型,可以是适应不同软件进程的一个框架。 在统静软件酝置管灌系统模型中,敝本、构件、和巢合体依据它 鲣戆特 菱被分维残集,使援特援逻辑佟为形式基爨寒表示纂、操作襄撼 断一致性。版本集将棠用的s c m 概念如拇传、犀、工住空间、集会或配 置这些概念普遍化。构件和集含体的任意修订版、变种组合,以一种统 一、正交的方式形成模型。 在本论文牵,将4 种燕要s c m 模鍪的獠念e i 模黧、交更集模 型、组织模型粒长事务模型在憋短逻辑攒逑的叛零集壤念之上作为s c m 任务建模、实现、集成。 1 量 四太原理工大学硕士研究生论文 第二章软件配置管理的主要内容 软件配置管理的实质是进行版本控制、变更控制和过程支持的一系 列活动。在软件配置管理中,对于影响软件可靠性的技术状态的变更管 理是最主要的,也是其核心和关键,是软件配置管理的重点。 软件配景管理活动如配置识别、版本控制、变更控制、配置状态报 告和审计贯穿了整个软件生命周期。如下图所示: 项目计划需求分析设计编码测试维护 、 l 配置管理计划 i 配置举别l ! 版本控制 变更控制 l i配置状誊报告和审静i j - i l 软件产品 l 图2 - 1 软件配置管理活动 s c m 管理的对象是s c i ( 软件配置项) ,s c i 存放在配置库中,每当有 一软件过程任务,s c m 就从配置库中抽取该任务需要的s c i ,形成一个 配置。该任务完成后( 可以修改、增补) 形成一新的版本。经正式技术 评审,审批,形成一基线版本,经检入后存放在库中,s c i 的每一个变 动都有详细记录。如下图: 函太原理工大学硕士研究生论文 2 1 版本标识 图2 - 2s c m 的流程示意图 版本标识的对象是软件配置项( s c i ,s o f t w a r ec o n f i g u r a t i o n i t e m ) ,一组软件配置项通过特定的系统模型组合形成一个特定的软件配 置。在中国国家标准计算机软件配置管理计划规范中指出:“软件配 置项是指一个软件产品在软件生命周期各个阶段所产生的各种形式( 机 器可读或人工可读) 和各种版本的文档、程序及其数据的集合。该集合 中的每一个元素称为该软件产品软件配置中的一个配置项( c i , c o n f i g u r a t i o ni t e m ) ”。版本控制的对象可以是大粒度的软件配置。也 可以是小粒度的软件配置项。i s o9 0 0 0 - 3 进一步指出配置项可以是: 与合同、过程、计划和产品有关的文档及数据。 源代码、目标代码和可执行代码。 相关产品,包括软件工具、库内可复用软件、外购软件及顾 客提供的软件等。 在软件项目向前推进的同时,软件配置项的数量也会上升,即需要 纳入管理的各种工作产品越来越多,配置管理的作用也会越来越明显。 皿太原理工大学硬士研究生论文 源文件是一个软件最为重要的组成单元之一,要对源文件管理。必 须对其进行标识。在一个版本维护工具下,对源文件的标识包括两个基 本方面:一是文件名,二是版本。也就是说,源文传可以嗣如下一个二 元组来标识; 。 版本,又秣叛本标识,是撂菜一特定对象耪其体安镄的潜在存在, 宅怒一个源文譬# 的各群苓戮纯身懿抽象。这垂的菜特定对象楚指由版 本维护工吴管瓒的软侔组成单元,一般是指源文件;具体实例则是指软 牟开发入员驮软件露中恢复出来的菜软件组成单元的具有一定内容和属 性的一个真实拷贝。 版本维护工具威该对软件开发人员屏蔽源文 牛的存储方式。也就是 说,版本维护工具应该按软件开发人员鼹要存取源文l 牛。 版本的演变毒联秘方式:一秘是串往演变,另一穆是并行淡交。版 本鸵这鼹种演变形式逶常都结含在一起,形成甏为普遥豹帮分支翡蔽本 图,氇称为版本褥,鲡鹜2 - 3 掰示。对子敝本树中的分支,它可以表示 黻下一夔开发的过程:备自不同的开发路线;可能的实验性路线;适应 各种平台的不同版本开发;同一内容的不同界面开发;备种时空有效性 图2 - 3 版本树、变种和修订版 的实现;可能出现的多个开发人员的并行开发。 版本标识由版本的念名嫂则决定。霹能使愿熬会名艇烈窍下匿骚述 四太原理工大学硕士研究生论文 的几种: 1 数字顺序型版本标识 最简单的情况是线型的,这种标识十分明显的给出了版本之间的传 递关系,如图2 - 4 中的a 所示。稍微复杂一点的情况是树型的,如图2 - 4 中的b 所示。最复杂的情况是d a g ( d i r e c t a c y c l i cc , r a g h ) 型,亦称复合 型,它不是树型,也不是简单的线型,但又同时具备线型和树型的特征, 如图2 4 中的c 所示。 2 符号命名版本标识 用符号来表达版本间的传递关系。例如,采用x 8 6 w i n n t d bs e r v e r 来表示一个基于x 8 6 平台在w i n d o w s n t 操作系统上运行的数据库服务 器脚本。其优点是能够反映版本的详细信息,但是它不能够完全:反映 匝,吨互卜口线型 图2 4 数字顺序型版本标识命名规则 版本传递的真实情况。 3 属性版本标识 属性版本标识是把有关版本的重要属性反映在标识中。例如,可以 包括的属性有:客户名、开发语言、开发状态、硬件平台、生成日期等 每个版本都由唯一的一组属性标识,即一组具有唯一性的属性值。例如, 翰太覆壤工大学硬壹研究黛论文 j 2 s d k ,v 1 2 2 :1 0 3 1 2 0 0 0 一i 8 :0 0 ,n a t i v e t h r e a d s ,j i t 一1 2 2 。 2 2 版本控翩 版本控制是全面实行软件配置管理的基础,可以保证软件技术状态 的一致性。版本控制是对系统不同版本避行标识和跟踪的过程。版本标 识韵强弱是篌于辩敝本黼懿戮分、检索和跟踩,戳裳髓各个版本之闺的 关系。 实际上,对版本的控制就是对版本的各种操作控制,主要包括访趣 和同步控制、版本的分支和合并等。 2 2 。1 版本的游问秘网步控瓤 软件舜发入受对源文箨的修改不熊农软件配鹭霹率进行,他们对源 文传的修改怒依赖于基本鹣文 牛系统,农冬蠡豹王撵空鬻下透露靛。嚣 此,需要不同的软件开发人员组织各自的工作空间。一般不同的工作空 间是由不同的目录来表示的,而对工作空间的访问悬由文件系统提供的 文件访润权黻来稍珏控制的。 曹先是访阉控铡。z 律送域孛豹源文释是觚库率恢复褥翻的一个拷 贝,该拷贝可以是霹“霉”黪,也露默楚霉“读”的。慰予霹“写”豹 拷贝来说,它就是真正的工作文件。面对于可“读”的拷贝,它可以被 税为在软件库中的源文件的一个缓冲拷贝,此时一般有两种工作模式: 一是在工作区域中一旦有“读”请求,则作一次恢复操作,获得一 个拷妥,当“渎”猱佟缀束,该拷疆被瓣豫。逛样戴形残了一释重复, 从两可以保证工俘区域巾的文传内容被更耨走鸟软传疼孛的走容一致。 = 是针对上一种模式中冀复回复引起的较大时间代价,不是每次 四太原理工大学硕士研究生论文 “读”操作都要求与软件库中发生交互,而是将重点放在工作区域上, 仅当软件库中的内容发生更改时,才发生交互。这时的主要代价是空间 代价,因为“读”操作结束后,源文件在工作区域中的拷贝依然存在, 因此可能在各工作区域内存在同文件的多个拷贝。 访问控制管理各个人员存取或修改一个特定软件配置对象的权限。 开发人员能够从库中取出对应项目的配置项,也可以修改之;而软件开 发经理除了具有开发人员的所有执行权限之外,还可以删除多余的配置 项等。 其次是同步控制。同步控制实际上是版本的检入检出控制。什么是 版本的检入检出? 检入就是将软件配置项从用户的工作环境存入到软件 配置库的过程,检出就是将软件配置项从软件配置库中取出的过程。同 步控制用来确保由不同的人并发执行的修改不会产生混乱。基本的同步 控制方法是l o c k 一 u n l o c k 一 l o c k 。即在某人检出使用该配置项时,对 该配置项加锁;当修改完成并检入到配置库之后解锁。图2 5 是访问和 同步控制的流程图。 图2 5 描述这样一个流程:根据经批准的变更请求和变更实施方 函太原理工大学硕士研究生论文 图2 5 访问和同步控制的流程 案,软件工程师从配置库中检出要变更的配置对象。在对这种成为基线 的对象做了变更,并经过适当的软件质量保证和测试之后,把修改的版 本检入配置库,再解锁。 2 2 2 版本分支和合并 版本分支和合并是在并行开发过程中经常遇到的问题。 版本分支就是从主版本称为主干上拷贝一份,并做上标记,由 版本控制系统自动完成。 对于合并,通过文件的比较来进行合并。合并工作可以由版本比较 工具自动进行合并。 实现版本分支和合并的典型系统是c v s 并发版本系统。该系统 支持分支的创建、冲突的解决。 2 3 变更控制 基线是在软件开发中经过正式审核作为下一步开发基础的配置项, 是项目情况的度量点,后继开发的基础,以及对后继开发工作进行验证 的基准。基线在形体上体现为一组冻结了的软件配置项,也就是说组成 一 遗、) 一 国太晷蓬王大学疆士研究生谂文 萄2 - 6 萋线不慈翻 基线懿每一基本成努配鬓项是敬转努发过程中掰产生豹菜一较磐实俸熬 一个特定版本。如上图2 - 6 所涿,a ,b ,c 为三个配置项,由a ,b ,c 三个 配鼹项的不同版本组成基线:慕线的作用是把备阶段的工作划分的更加 明确,使得本来连续的工作在这些点上断开,使之便于检验和确认阶段 开发成莱。 图2 7 表示了软传项曩过程中特定点躲配鬟基线。以爨裳基线失倒, 用户经常会提出新的需求,即需求发生了变化。但是如果项目的进展融 经跨越了需求基线,开始进行设计工作,那么需求的变更需要受到严格 豹控铡,原则上不允许轻易变更。可以认为,此时需求已经被“冻结”。 嚣求筑格说翳概要设诗浚旋警 项髓开发计划用户手赡详细设计说明书源代码测试报告 图2 7 萋线( 里程碑) g b t1 2 5 0 5 9 0 定义了软件生命周期中3 种形式的基线:功能基线、 指派基线和产鼯基线。 功基线,指衣系统分析与软件定义阶段结柬时,经过正式评审和 懿礁数系统设诗蠼楱说弱书孛慰特开发系统瓣攥掺说明,功缝基线是最 初批准的功能配置标识。 指派基线,指在软件需求分析阶段结束时,经过豫式评审和批准的 软件需求的规格说明。指派基线是最初批准的指派配鬣标识。 产晶藿线,指程软侔缱装与系统灞试除段绪柬时,经过正式评审稻 国太原理工大学硕士研究生论文 批准的有关所开发软件产品的全部配置项的规格说明,产品基线是最初 批准的产晶配置椽识。 而且,对于每个基线,必须描述下列内容: 每个基线的项( 包括应交付的文档帮羲序) 。 0 与每个鏊线有关的评审与批准事项以及验收标准。 在建立基线的过攫中用户秘器发昃麴参与情援。 图2 8 变更控制过提 四太原理工大学硕士研究生论文 对于大型的软件工程项目,不受控的变更将迅速导致混乱。充分利 用人工过程和自动化工具建立变更请求、许可、实施的机制尤为重要。 上图2 8 说明了一个处理用户c r 的变更控制过程。 2 4 配置状态报告和配置审计 配置状态报告( c s a ,c o n f i g u r a t i o ns t a t u sa c c o u n t i n g ) 是软件 配置管理的一项任务,其目的是记录配置的状态和保证基线产品及其变 更建议的历史,并使相关人员了解配置和基线状况。当一个软件配置项 标识更改,或变更控制审核者批准一次变更,则生成一个配置状态报告。 主要描述配置项的状态、变更的执行者、变更时间和有何影响。 配置审计根据需求标准或合同协议检验软件产品配置,它说明系统 是否满足需求,是否对上一版本所有变更都已加入当前版本。配置审计 的目的是检验所有的软件产品都已产生并且被正确的识别和描述以及所 有的变更要求可以根据确定的s c m 过程和程序解决。 2 2 - 国太骚壤工大学醭士辑究生论文 第三章特征逻辑 3 1 使用特征逻辑作为统一模型基础 本文选择! 毒 羲逻辑处理s c m 舨本概念鲍基础。憋薤逻辑斡瘸瞧表示 了对蒙集,并提供了对这些集的操作。在s c m 域,通过使用特征逻辑的 特征以及描述s c m 操作的语义来表示构件集。 特征逻辑具有下述三个特点使得可以使用特征逻辑作为统一的软件 酝霉管理系统模型熬基懿。 第一个特点;集。不确定的兼容性使德很必要将版本集郓躲置集作 为第一类对象处理。它处理的是集而不是配置项,所以s c m 程序应该是 面向集的而不是面向项的。 第二个特点:属性。属髓是s c m 领域公共的技术中的个:所有现 有熬s c m 模型绞羧予被标识耩性静版本鬣交曼。标谈襄选择方法应该是 綦于属性的;属性支持包括一个属性怎样在s c m 过程传播的描述,这样 可以标识组成和源对象。 第三个特点:统一。通常s c m 系统爵臼选择过程即是选择属性和具体 的环袭一致的对象。一般遣,对象被一个属往值和遴过一个属性表达式 戆黪壤豹联会矮述。选择积探识熬菝羧1 予羼瞧表达式,统一震螋表达式 磁不是匹配属性表达式。 使用它们的属性表示对象集有几种形式,包含在术语逻辑巾。它们 最重要的域是知识表示域,其中概念描述,也称作椴架,被用于通过属 後篷翡结合戳及稳然语言的语义分析来袭示对象集。 特 歪逻辍,是一个缀好黪接述逻辑,它包援功熊属性本语装餐偬, 2 3 国太原理工大学硕士研究生论文 分离和否定,形成了一个完整的布尔代数。特征逻辑具有上述的三个特 点,使得可以使用特征逻辑作为统一的软件配置管理的基础。 3 2 特征逻辑 一个特征逻辑通过刻划某些特征来表示对象集。一个特征是一个功 能属性或者抽象对象的属性。以最简单的形式,特征逻辑包含( 特征: 值) 对的联合,其中每个特征表示一个对象的一个属性。特征值包括文 字,变量和( 嵌套的) 特征术语。 作为一个例子,考虑后面的特征术语t ,它表示一个自然语言片段 上的属性: 厂、 i t e n s e p r e s e n t i ,l p r e d i c a t e : v e r b 3 i n g ,a g e n t :x ,w h a t y 】 i i s u b j e c t : x ,n u m :s i n g u l a r , p e r s o n t h i r d i i o b j e c t 3 , j 术语t 说明语言片断是现在时态,第三人称单数,谓词中包含主语, t 表示句子模版“xs i n g sy ”。 特征术语的语法在表3 - 1 中给予总结,其中用x ,y ,z 表示变量; 用f ,g ,h 表示特征;用a ,b ,c 表示常数;特征术语由s 和t 表示。使 用布尔集操作交、并、补构造特征术语。 每一个集操作可以被解释为对象特征的逻辑约束,表示对象集满 足该约束。例如,令s = f :a ,所有特征f 的值为a 的对象集,t = g :b , 所有特征g 的值为b 的对象集。那么s n t = f :a ,g :b 是 f :a 和 g :b 的交集,也就是特征f 的值为a 并且特征g 的值为b 的对象的集。 国太罪爨工大学硬士研究生论文 表3 一l 特援逻辑豹语法 同样地,s u t = f :a ,g :b 是 f :a 茅h g :b 的并也就是说,特妊f 的 假为a 或者特征g 的值为b 的对象的集。特征术语形成布尔代数,德 摩根定律也适用予特征术语。 有时候撩定一令待鬣存在是必簧静( 鲡,仅仅定义 嚣不斌绦它程何 馕) ,或者一令特缝不存在于一个特征术语。写作f :fr e s p 。f :f 。於 操作增加了逻辑的表达能力。例如,术语 c o m p i l e r :g c c 表永特征编 译器是未定义的或者有不是g c c 的别的值的所有对象。术语 ( c o m p i l e r :g c c 表示编辑器有定义但是有一个不韪g c c 的值的所有对 象。 一个特缀术语娆被勰释为一个表示法,即涨育基疆e 术谬t 的无穷 黛,它被初始术语t 包含,( 即t 2t ) 。通过取代变量或者增加新鲍 特征来包含术语。特征术语允许更进一步的特殊佗,象面向对象模型的 太原理工大学硕士研究生论文 类。例如,t 2 f r u i t :x 2 f r u i t :a p p l e f r u i t :a p p l e ,c o l o r :g r e e n f r u i t :a p p l e ,c o l o r :g r e e n ,w o r m y :n o 。 原子如a p p l e ,g r e e n 或者g c c 表示一个集,包含一些唯一对象而没有 任何特征:对于所有的原子a b 和任何特征f ,等式a n b = o a n da n f : r = o 。由此得出一个简单的一致性概念:在特征逻辑中假设每个特征只 有一个值,特征 o s :d o s :o s :u n i x 是o ,空集; o s :d o s ,o s : u n i x = o s : d o s ,u n i x = o s :o = o 。等同于。的术语称为不一致性。 通过特征统一,一个约束解决( c o n s t r a i n t s o l v i n g ) 技术,将能确定任 意特征术语的一致性。 3 3 特征术语的属性 现在介绍特征术语的一些属性。如果它们可以解释为同样的对象集, 则称关于两个特征术语s 和t 的等式s = t 是确定的。下面用几个命题来表达 特征术语的属性。 命题1 特征术语有下面的等式,其中用到的符号有a ,x ,f :s ,s n t ,u s 以及jx ( s ) 。 f = ( f :f )= x n x flg = j x ( f :x n g :x )r = 巾 ffg = 3 x ( f :x n g :x )s u t = ( u s n t ) s t = ( s n t )s 七t = ( s n t ) n ( t n s ) 如果它不涉及自由的变量,那么特征术语被称为关闭的。如果它不 涉及变量、一致性、或者不一致性,那么特征术语是基础的。如果它包 含3x ( s ) ,那么特征术语是自由量词。如果它是自由量词,没有包含关 系,仅仅包含补a 或者x ,那么特征术语是基本的。如果它是基本的 国太原理工大学硕士研究生论文 且不包含并,一个量词是简单的,那么特征术语是分离性的。如果它有 形式s 。u us 。,则称正规的形式( d n f ) 所有s l j ”,s 。是简单的特征术语。 如果没有公共的特征或变量,两个特征术语被称为正交的。 命题2 通过使用后面的等式,每个量词自由的特征术语能被线性覆 盖到一个等同的基本的特征术语: f :s = ffu f :so = r f f = f :1 1r = m f fg = f fu g fu f lg( s n t ) = s u t f g = f u g u ffg( s u t ) = s n r s = ss t = s u t s 付t = ( s u t ) n ( t u s ) 一个特征术语s 被一个特征术语t 包含( s e t 或t 2 s ) 。表示由s 表示的 集是由t 表示的集的子集。 3 4 一致性 现在讨论一致性的概念,看特征术语是否为空集来决定其一致性。 如果有一个解,那么表示集不空,该特征术语s 被称为一致的。 命题3 特征术语的一致性,包容和等式是可简化的: s 不一致s c 铮s = m s c t s n t 不一致 s = t 营s c t 八t c s 命题4 决定不一致性,包容和自由等式特征是n p 完全问题。 证明。下面是逻辑的可满足性问题。 2 , 豳太原理工大学硕士研究生论文 对于量词自由的特征术语,s m o l k a 设计了一个算法决定任意自由量 词特征术语的不一致性。所谓的特征统一的基本的观点是特征术语被转 变为d n fs = s 。us :u u s 。使用一个二次时间算法可以定义每个结合的 s 。的一致性。 命题5 二次时间复杂性决定简单的特征术语的不一致性。 将非简单的特征术语转化为d n f 是n p 完全的,在更糟的情况下s m o l k a 的时间复杂性是指数的,遵守命题5 。特征一超过一个特定的范围它就不 适用于实际问题了。 通过给特征术语强加某个条件,特征统一的时间复杂度突然降低。 在命题6 ,已经明白决定一个简单的特征术语的一致性能在二次时间中确 定。对于s n t 形式的术语,统一问题甚至更能被中止。首先,如果s 和t 是正交的,那么s 年i j t 是一致的。 命题6 令s 和t 正交。那么s n t = 营s = o v t = 中 证明。通过对s 和t 的代数归纳;原始层没有交集将导致不一致性。 使用局部评价的原理来获得另一个有效的运算法则。统一问题s n t = o 被简化,如果t 是形式t = t 。n t 。n n t 。的简单的特征术语:对于每 一个t 。,通过将t 。和s t k 较能检查s n t l = o 是否在线性的时间并推论不一 致性。只有当s 和t 是变量自由的,这个命题成立。 命题7 令s 和t 是一致的,并且是自由变量特征术语;令t 是简单的, s 是基本的形式。s f l t 如果是西,那么s n t 是不一致的。 s n ( t 。n t :) = ( s n t 。) n t :s no = o ffn f :t = 中 ( s ,n s 。) n t = ( s ,n t ) n ( s :n t )中n t = 中 f :s n ff = 中 ( s 。u s 2 ) n t = ( s ,u t ) n ( s :u t ) f :s n a = ma f l b = 中 f :s n f :t = f :( s n t ) a n f :t = c i )a n a = m f :中= oa n a = o 郊 四太原理工大学硕士研究生论文 ( 1 ) 证明。用上面的前四个等式处理并、交和选择操作;剩余的等式表 示所有能导数不一致性的结合。s 和t 上的代数推论是正确的。 令s 葶i i t 是一致的并鼠是变量自由的特征术语;令t 也是简单的。这样, s n t 的不一致性娆由对阕复杂度q s 。l o gt ) 决定,s 是s 浆戏员熬数曩, t 是t 的戏员豹数量。 涯爨。摄据命瑟2 ,特槎s 能棱线性对闯豹基本形式覆盖,象命联7 瘟渭的。受糟的情况下,复杂往理解为在彳中搜寻每一个s 的成份,它能 在对数对间实现。 通常,不仅仅要讨论sn t 的一致性,而且讨论对于个给定的t ,怎 糕篾化s :也就是说,为了得出s d s ,它小于s ,但是s n t = s n t 成 立。基本静怒法是在s 霜r 替代彳的所有文字攀粹,并篱能s 。这遴过绘命 遂7 增加楚多酌等式实现。 命题8 ,在s n t ,术语s 可以通过扩展( 1 ) 迸一步的简化 s n s = r n sf fn a = f a a b n a = fn aa n f :t = fn f :t ( 2 ) 瑟瑟躲篙倦 s n = s nf = ss u f = fs u 蛰= sf = 蛰 辔n s = 审f n s = sf u s 。f国u s = s= f ( 3 ) ( 2 ) 中的第一个等式,s n s = fn s 是化简的基础:在s 中t 的成分用r 替 代。( 2 ) 中剩余的等式消除了多余的否。( 3 ) 中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二手车置换培训
- 电力安全生产法律法规培训
- 2025消防设施培训
- 复星医药产品经理培训
- 我的喜怒哀乐心理健康活动
- 大学生自我意识培养与心理健康
- 语言文字规范化培训资料
- 护理科研培训心得体会
- 2025高校教育信息化
- 中层经理管理能力提升特训营
- 甘肃省兰州市(2024年-2025年小学六年级语文)统编版小升初真题((上下)学期)试卷及答案
- 临床常用降压药物
- 公交驾驶员职业病健康讲座
- 教师培训课件:关于教师的专业发展
- 感染性休克指南解读
- 绿色施工实施策划方案
- 【MOOC】天文探秘-南京大学 中国大学慕课MOOC答案
- 《老年人合理用药》课件
- 【MOOC】电工电子学-浙江大学 中国大学慕课MOOC答案
- 2024年广西职业院校技能大赛高职组《供应链管理》赛项规程
- 现代技术服务费合同1
评论
0/150
提交评论