![基于软件体系结构的版本管理模型的研究_第1页](http://file4.renrendoc.com/view/aa148ac16da686bd582b53a1935bf161/aa148ac16da686bd582b53a1935bf1611.gif)
![基于软件体系结构的版本管理模型的研究_第2页](http://file4.renrendoc.com/view/aa148ac16da686bd582b53a1935bf161/aa148ac16da686bd582b53a1935bf1612.gif)
![基于软件体系结构的版本管理模型的研究_第3页](http://file4.renrendoc.com/view/aa148ac16da686bd582b53a1935bf161/aa148ac16da686bd582b53a1935bf1613.gif)
![基于软件体系结构的版本管理模型的研究_第4页](http://file4.renrendoc.com/view/aa148ac16da686bd582b53a1935bf161/aa148ac16da686bd582b53a1935bf1614.gif)
![基于软件体系结构的版本管理模型的研究_第5页](http://file4.renrendoc.com/view/aa148ac16da686bd582b53a1935bf161/aa148ac16da686bd582b53a1935bf1615.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Evaluation Warning: The document was created with Spire.Doc for .NET.第一章 引言 传统的软件配置管理建立在文件版本控制的基础之上,现代大型软件系统的开发要求在更大粒度上进行版本控制。同时,基于软件体系结构的软件开发是当前的发展趋势,也需要适应其特点的版本管理模型的支持。1.1 版本管理模型概述1.1.11 配置置管理概概念随着软件开开发规模模的不断断增大,一一个项目目中的中中间软件件产品的的数目也也越来越越大,中中间软件件产品之之间的关关系也越越来越复复杂,对对中间产产品的管管理也越越来越困困难,有有效的配配置管理理则有助助
2、于解决决这一问问题。现现在人们们逐渐认认识到,配配置管理理是适应应软件开开发需求求的一种种非常有有效和现现实的技技术11。配置管理是是软件过过程的关关键要素素。它是是一种按按规则实实施的管管理软件件开发和和维护过过程及其其软件产产品的方方法。软软件配置置管理系系统在软软件质量量管理中中也起着着重要作作用,它它不仅是是CMMM的核心心内容之之一,是是绝大多多数软件件过程工工程和管管理过程程不可缺缺少的部部分,也也是国际际标准化化组织IIS0990000质量管管理体系系的核心心内容之之一。IIEEEE定义了了软件配配置管理理(SCCM)的的标准2,在这这个标准准中,SSCM应应该定义义四个主主要方
3、面面:1)配置标标识(cconffiguurattionn iddenttifiicattionn):产产品、产产品结构构和产品品中组件件的标识识及其类类型;2)配置控控制(cconffiguurattionn coontrrol):控制配配置项及及其组件件的演化化;3)配置状状态统计计(coonfiigurratiion staatuss acccouuntiing):记录报报告产品品状态和和变更请请求,收收集组件件统计信信息;4)审计、审审查(aaudiits andd reevieews):维护产产品完整整性和一一致性。后来,随着着异质平平台开发发、团队队协作的的出现,配配置管理理的定义
4、义得到进进一步的的扩展。SSCM还还包括:5)生产(mmanuufaccturre):管理产产品组装装和构建建;6)过程管管理(pproccesss maanaggemeent):执行组组织的过过程、策策略和生生命周期期模型;7)团队合合作(tteamm woork):支持开开发者间间的协作作。1.1.22 版本本管理概概念版本管理是是SCMM的核心心功能3,版版本管理理的基本本任务就就是同时时管理一一个数据据元素的的多个版版本44。版版本管理理应该具具备以下下的基本本功能:1)创创建新本本版;22)通过过某种选选择机制制来访问问特定的的版本;3)对对版本添添加用户户定义的的名字或或标识;4)
5、删删除版本本;5)维维护版本本间的关关系;66)修改改已存在在的版本本,这个个操作一一般是不不允许的的,至少少不能是是直接的的;7)锁锁定特定定版本;8)版版本合并并;9)赋赋给版本本状态值值和属性性值;110)允允许用户户自定义义数据对对象间的的关系。为支持版本本管理,需需要一个个合适的的版本模模型。该该模型需需要定义义进行版版本化的的元素,版版本的标标识及其其组织,版版本的查查询,版版本的创创建等等等。版本本模型可可因版本本化的元元素,版版本的组组织结构构、版本本的粒度度、面向向状态的的版本或或者面向向变更的的版本、版版本的选选择规则则的不同同而不同同。55中定定义了组组成版本本模型的的基
6、本术术语,如如图1.1所示示:图1.1 版本模模型基本本术语1)版本、版版本元素素、配置置项版本v代表表着演化化元素ii的某一一个状态态。版本本v可以通通过表达达式v = (pss, vss)来表表示,pps、vs分别别代表版版本v在产品品空间和和版本空空间中的的状态。版版本元素素指由版版本库维维护其演演化的元元素。配配置是指指一个复复杂对象象的某一一版本,例例如:软软件系统统的一个个配置是是由需求求文档、软软件体系系结构、程程序源代代码的某某一版本本组成。2)增量两个版本之之间的差差别称之之为增量量。一个个版本通通过对基基版本使使用一组组变更来来创建新新版本就就是直接接增量存存储。而而对于内
7、内嵌增量量和选择择增量存存储,某某一元素素的所有有的版本本是存储储在一起起的,因因此各版版本间的的共同部部分可以以共享。内内嵌增量量方式通通过指针针指向其其片断来来组成一一个版本本,选择择增量方方式通过过可见性性表达式式来决定定一个版版本。3)版本演演化各版本沿着着时间轴轴方向顺顺序演化化称之为为修订。这这样的演演化一般般是指修修改前一一版本的的错误。而而对于各各版本需需要并行行演化的的称之为为分支。4)版本描描述面向状态的的版本管管理是指指只关心心版本元元素的状状态的版版本管理理。面向向状态的的版本管管理通过过修改和和分支来来描述一一个版本本。面向向变更的的版本管管理通过过对基线线版本使使用
8、一组组变更来来描述一一个版本本。这样样就可以以跟踪每每个版本本到底执执行了那那些变更更。面向变更的的版本管管理有许许多的优优点:允许基于规规则的版版本查询询,而非非以枚举举的方式式浏览版版本树;可以容易的的获取各各文件的的一致性性版本,而而无须以以手工的的方式创创建;非常容易比比较两个个版本间间的差别别。但面向变更更的版本本管理也也存在问问题:变更的选项项是线性性增长的的。当选选项的数数量超过过一定值值时,用用户将面面对繁多多的选项项而无法法进行选选择;选项的命名名一旦被被确定将将无法改改变,这这将导致致以后若若有类似似的选项项将非常常难于命命名;例例如:假假设已经经存在一一个“filll”的
9、选项项,如果果以后需需要增加加一个新新的“filll”选项,其其命名可可能就只只能是“newwfilll”;由于选项是是属于布布尔型的的,其取取值只能能是TRRUE,FFALSSE和UUNSEET。则则在某些些情况下下,会导导致大量量的选项项出现。例例如:若若需要管管理一个个操作系系统的属属性,则则对每种种操作系系统都需需要增加加一个选选项(DDOS,WWINDDOWSS,UNNIX等等等);面向变更的的版本管管理中版版本之间间没有什什么明显显的关系系,每个个版本都都可以作作为一个个分支,缺缺乏一个个版本的的演化历历史。选项间并不不是独立立的,有有可能存存在多种种关系;例如:互斥关关系,一一组
10、选项项中只有有一个能能取值为为TRUUE;依依赖关系系,选项项的设置置依赖于于其他选选项的设设置,比比如我们们不会设设置SuunOSS选项,除除非我们们已经将将UNIIX选项项设置为为TRUUE;面向状态的的版本模模型的优优点:可以清楚地地看到版版本的演演化历史史;完整的保存存各版本本实体的的内容;可以容易的的创建基基线,配配置等等等。面向状态的的版本模模型存在在的问题题:每个版本只只代表一一个状态态信息,所所以不能能确定每每个版本本具体进进行了哪哪些修改改。对一个版本本描述一一般来说说只包含含该版本本与其父父版本之之间的差差别,这这样的描描述既不不精确也也不全面面。版本之间的的差别不不能量化
11、化,难以以实现自自由版本本查询。版本选择大大体是通通过手工工的方式式进行。5)版本空空间 分分支和修修订来组组成一个个版本图图来代表表一个版版本空间间。而网网格通过过将版本本放置入入一个nn维的空空间中来来代表一一个版本本空间,空空间中每每一维代代表了一一个需要要选择的的属性。6)版本集集 一一个版本本元素的的所有版版本定义义为集合合V。V可以通通过精确确(枚举举)或隐隐含(版版本谓语语)方式式来定义义。对于于外延版版本,VV通过枚枚举方式式进行定定义:VV = v1,vn。基基于外延延版本的的版本管管理支持持检出之之前创建建的版本本vi,然后后再检入入新版本本vi+11。内沿沿版本支支持灵活
12、活的创建建一致的的版本。对对于内延延版本,V通过一个逻辑的约束进行定义:V = v|con(v)。所有满足约束con的版本都属于V。通过一个选择谓语evd来选择集合V中的一个特定版本:evd(v)con(v),然后创建新版本。7)版本规规则 内内沿版本本是建立立在版本本规则的的基础上上。约束束定义了了合法性性规则,偏偏好定义义了用户户优先选选择的规规则,默默认定义义了在没没有指定定的情况况下的规规则。8)粒度从用户的角角度,版版本的粒粒度可以以是组件件、完全全、产品品粒度:对于组组件粒度度,只有有原子组组件是在在版本管管理之下下的,每每个原子子组件都都有其自自身的版版本空间间,可以以将组件件的
13、特定定版本组组合成配配置;对对于完全全粒度,不不仅仅是是原子组组件,而而是所有有的组件件包括配配置都是是在版本本管理之之下的;对于产产品粒度度,所有有组件包包括配置置都在一一个统一一的全局局的版本本空间之之下,例例如:所所有的面面向变更更的版本本模型都都采用这这种版本本粒度。9)工作区区 为为进行开开发和维维护工作作,用户户必须在在版本库库之外建建立一个个工作区区,在工工作区可可以进行行编辑、编编译操作作。工作作区可以以通过检检出版本本库中的的数据至至文件系系统来创创建,也也可以通通过选择择谓语eevd选选择某一一版本来来提供一一个虚拟拟的工作作区。1.2 版版本管理理模型分分类1.2.11
14、按术术语集分分类使用1.1节中中定义的的术语,可可以对现现有的配配置管理理工具的的版本模模型进行行分类。图图1.22中将113种配配置管理理工具的的版本模模型按照照版本描描述和版版本粒度度分为四四类。该该分类从从术语的的角度进进行分类类,而不不关心每每个术语语功能的的实现程程度。每每一类中中各个配配置管理理工具按按照出现现的年代代及其继继承关系系排列。图1.2 基于术术语的分分类1)面向状状态-组组件粒度度版本模模型SCCS6是是一个简简单的管管理文本本文件的的配置管管理工具具,版本本通过版版本树的的形式进进行存储储。用户户将一个个版本检检出到工工作区中中,当完完成变更更任务后后,他将将修改后
15、后的版本本检入到到SCCCS版本本库中。在在SCCCS中,文文件的组组织结构构是不可可见的。RCS77继承承于SCCCS,在在许多方方面进行行了改进进。RCCS使用用直接增增量进行行存储,主主分支上上的最新新版本可可以直接接访问,其其他版本本通过向向后和向向前增量量进行创创建。此此外,RRCS提提供一组组内嵌的的属性集集用以标标记版本本状态和和助记名名,助记记名可以以用来标标记一个个由所有有组件的的一致性性版本组组成的配配置。RRCS还还能简单单的支持持内延版版本(检检出操作作中可以以包含属属性规则则)。但但操作时时RCSS还是必必须要先先选择产产品结构构,并且且不能对对产品结结构的版版本进行
16、行建模。2)面向状状态-完完全粒度度版本模模型DSEE8整合合了Maake和和SCCCS/RRCS的的功能,支支持基于于规则的的配置创创建和网网络的并并行开发发。DSSEE使使用一个个系统模模型来描描述配置置,系统统模型描描述了软软件系统统中的对对象及其其它们之之间的关关系。系系统模型型中不包包含各实实体的版版本,它它们是通通过配置置规则来来进行选选择的。用用户首先先选择系系统模型型中的产产品结构构,然后后再通过过配置规规则选择择进行版版本的绑绑定。ClearrCasse99继承承于DSSEE,它它不仅对对文件进进行版本本化,也也对目录录进行版版本化,所所有版本本对象都都统一称称为元素素。与D
17、DSEEE不同,CCleaarCaase像像访问其其他元素素一样访访问系统统模型。3)面向变变更-产产品粒度度版本模模型Aide-de-Cammp110通过过一组变变更集和和基线来来描述产产品的版版本。全全局变更更可以同同时影响响多个文文件。在在Aidde-dde-CCampp中,变变更集是是完全顺顺序的,如如果变更更集c1先于变变更集cc2创建。则则某一个个产品的的版本如如果包含含c2,则首首先必须须先包含含c1。每一一个变更更集可以以看作一一个开关关:或者者开或者者关。但但Aidde-dde-CCampp不支持持关系。在COV4中中,版本本数据库库由一组组片断组组成,而而每个片片段都有有一
18、个逻逻辑的表表达式称称之为可可见性(vvisiibillityy)。可可见性是是一组全全局的布布尔选项项(opptioon),这这组布尔尔选项组组成了nn-维的的版本网网格。CCOV通通过选择择(chhoicce)和和目标(aambiitioon)规规则来进进行版本本的读取取和修改改,选择择中指定定了所要要选择版版本的选选项绑定定,而目目标通过过选项绑绑定决定定了修改改会影响响到的版版本空间间。4)面向变变更-完完全粒度度版本模模型 AAsgaard11实实现在CCleaarCaase之之上,在在版本图图之上提提供了面面向变更更的版本本管理。每每一个组组件的版版本通过过活动(aactiivit
19、ty)进进行标记记,工作作区通过过基线和和一组活活动进行行定义。从上面的比比较可以以看出,版版本模型型从面向向状态向向面向状状态和面面向变更更相结合合的方向向发展;从面向向组件的的粒度向向面向完完全的粒粒度方向向发展。同同时还可可以看出出虽然很很多的版版本管理理模型实实现的功功能是相相似的,但但实现的的程度却却相差非非常之大大。因此此在本文文中实现现的版本本管理模模型应该该从实现现功能的的通行性性方面和和实现的的程度方方面来增增强改进进。1.2.22 按概概念集分分类还可以从版版本管理理模型提提供的概概念集,将将版本管管理模型型分为以以下四类类12:检入/检出出模式(CChecckInn/Ch
20、heckkOutt Moodell)这个模式提提供单系系统组件件的版本本管理。这这样版本本管理模模型有两两个独立立的工具具组成:版本库库工具和和创建工工具。版版本库工工具负责责存储文文件的各各个版本本以及提提供创建建新版本本的机制制。创建建工具提提供一个个文件描描述用于于生成应应用及自自动生成成导出文文件。在版本库中中的文件件不能直直接访问问,只能能通过检检出操作作,检出出后的文文件被保保存至文文件系统统,从而而能对其其进行读读写。版版本库的的并发控控制机制制可以协协调多用用户的读读写活动动。文件件系统是是用户真真正的工工作区。版版本库工工具没有有提供对对工作区区的支持持,而是是依赖于于文件系
21、系统来提提供用户户一个互互斥的写写访问工工作区。用用户按照照寻常方方式来使使用创建建工具等等工具,文文件的版版本对于于这些工工具来说说是透明明的。创创建工具具通过解解释文件件系统中中的文件件描述来来创建一一个系统统。这些些文件描描述可以以存储在在仓库中中并像一一般文件件那样进进行版本本化。RCS113就就属于这这种类型型的版本本管理模模型。组合模式(CCompposiitioon MModeel)组合模式通通过版本本选择来来创建系系统配置置,组合合模型是是检入/检出模模式的发发展,它它同样采采用了版版本库和和工作区区的概念念,使用用文件锁锁来进行行并发控控制。其其主要的的改进是是支持创创建配置
22、置,维护护配置的的历史。在该模式中中,配置置作为版版本管理理模型的的实体。一一个配置置由一个个系统模模型和版版本选择择规则组组成。系系统模型型列出了了组成系系统所需需的所有有组件,版版本选择择规则指指明每个个组件的的版本。组组合和选选择的过过程可以以通过一一个ANND/OOR图来来表示。首首先将组组件组合合成一个个配置(AAND节节点),然然后为每每个元素素选择合合适的版版本(OOR节点点),当当然这个个元素还还可以是是一个配配置。DSEE14是属属于这种种类型的的版本管管理模型型。长事务模式式(Loong Traansaactiion Moddel)长事务模式式将系统统的演化化描述为为一系列
23、列的配置置项版本本和一系系列并发发的活动动。系统统的演化化过程一一系列原原子变更更的过程程,通过过开发者者来协调调系统的的这些变变更。开发者对配配置进行行操作而而不是对对单个组组件。选选择一个个配置作作为变更更的起点点,对该该配置所所进行的的修改外外界是看看不到的的直到该该事务提提交。多多个事务务间通过过并发控控制进行行协调。一一系列变变更的结结果是一一组顺序序的配置置版本,称称之为开开发路径径。配置置版本可可以从已已有的开开发路径径分支。在在长事务务模型中中,开发发者首先先选择系系统配置置的一个个版本,然然后再关关注系统统的结构构。组件件的版本本隐含的的由配置置决定。长事务由两两个基本本的概
24、念念组成:工作区区和并发发控制模模式。工工作区取取代了文文件系统统,支持持开发者者在工作作区内执执行变更更活动序序列。通通过将工工作区中中的配置置进行提提交,从从而使得得变更变变得可见见,同时时这个配配置将会会添加到到最初的的配置版版本之后后。此时时一个事事务结束束。NSE115是属属于这种种类型的的版本管管理模型型。变更集模式式(Chhangge SSet Moddel)变更集模式式关注于于版本的的逻辑变变更,对对于文件件而言,变变更集代代表两个个文件版版本间的的差别。对对于配置置而言,变变更集代代表两个个配置间间的差别别。在这这种模式式中,配配置由基基线和变变更集共共同组成成。如对对系统发
25、发布版本本的补丁丁程序就就可以看看成是一一种变更更集。变变更集用用来对逻逻辑变更更进行跟跟踪,通通过在逻逻辑变更更的基础础上定义义新的配配置。变变更集模模式本身身不提供供锁机制制来进行行并发控控制,而而是通常常与检入入/检出模模式共同同使用。Aide-De-Cammp116就就是属于于这种类类型的配配置管理理系统。 但但以这种种方式进进行的分分类存在在一个缺缺点就是是各种分分类不是是正交的的,其中中的某一一分类可可能同时时也属于于另一分分类。本本文中的的版本管管理模型型的目标标应该在在概念集集上包含含以上各各种分类类,因此此在版本本模型的的设计上上应该从从不同的的层次上上对以上上的概念念集进行
26、行支持。1.3 软软件体系系结构概概述1.3.11 软件件复用复用是成熟熟的工程程领域的的一个基基本特征征,例如如,土木木工程、化化学工程程、计算算机硬件件工程等等,通过过大量复复用经过过实践检检验的系系统体系系结构和和标准化化的构件件,使得得对于常常规的设设计问题题都可以以直接利利用现成成的解决决方案,避避免了系系统开发发时不断断地重复复设计,从从而可以以大幅度度地降低低开发成成本、提提高生产产效率和和产品质质量。同同样,复复用也是是软件工工程走向向成熟的的必由之之路,将将为软件件危机的的解决提提供一条条现实可可行的途途径。基于构件的的软件复复用作为为一种提提高软件件生产率率和软件件质量的的
27、有效途途径,是是近几年年软件工工程界研研究的重重点之一一,被认认为是继继面向对对象方法法之后的的一个新新的技术术热潮17。通过过基于构构件的软软件复用用,在应应用系统统开发中中可以充充分地利利用已有有的构件件,消除除了在分分析、设设计、编编码、测测试等方方面的许许多重复复劳动,可可以提高高软件开开发的效效率;同同时,通通过复用用高质量量的已有有的构件件,避免免了重新新开发可可能引入入的错误误,可以以提高软软件的质质量。因因此,基基于构件件的软件件复用可可以大大大降低软软件开发发的费用用,并显显著地提提高生产产率和产产品质量量。与软件复用用相关的的两个基基本开发发活动是是面向复复用的构构件开发发
28、和基于于构件复复用的开开发,前前者是生生产可复复用构件件的过程程,后者者是利用用现有的的可复用用构件生生产新系系统的过过程。可可复用构构件为有有计划地地、系统统地进行行复用提提供了手手段,是是实现软软件复用用的基石石。软件件复用最最终体现现为在软软件体系系结构的的指导下下对可复复用构件件的组装装。1.3.22 软件件体系结结构概念念自20世纪纪90年代代初期开开始,软软件体系系结构(sofftwaare arcchittectturee,简称称SA)的研究究受到了了广泛的的关注和和重视,并并被认为为将会在在软件开开发中发发挥十分分重要的的作用。它它将大型型软件系系统的总总体结构构作为研研究的对
29、对象,认认为系统统中的计计算元素素和它们们之间交交互的高高层组织织是系统统设计的的一个关关键方面面18。其研研究和实实践旨在在将一个个系统的的体系结结构显式式化,以在高高抽象层层次处理理诸如全全局组织织和控制制结构、功功能到计计算元素素的分配配、计算算元素间间的高层层交互等等设计问问题19。SA是对软软件总体体结构的的描述,即即对其构构件和构构件间交交互的高高层组织织的描述述188。它它作为一一种高层层的设计计,对系系统开发发发挥着着重要的的影响,基基于构件件的SAA的设计计已成为为软件系系统设计计中的核核心问题题。一个个好的SSA设计计成为大大型软件件系统成成功的重重要因素素。SAA的最重重
30、要的一一个贡献献是将构构件之间间的交互互显式的的表示为为连接器器(Coonneectoor),并并将连接接器视为为和构件件同等重重要的一一阶实体体。构件件通过接接口定义义了同外外界的信信息传递递以及所所承担的的系统责责任,构构件接口口包括了了构件同同周围环环境的全全部交互互内容,也也是构件件同外界界唯一的的交互途途径。除除此之外外,环境境不应对对构件作作任何其其他与接接口无关关的假设设,例如如实现细细节等。连连接器在在构件请请求接口口与其他他构件提提供的接接口之间间搭建一一座桥梁梁,起到到了代理理作用。在SA的设设计过程程中,人人们针对对不同的的需求采采用了不不同的软软件构架架风格。体体系结构
31、构风格定定义了一一系列系系统的结结构组织织的模式式20,它是是对一类类具有相相似结构构的系统统体系结结构的抽抽象。体体系结构构风格既既定义了了构件及及连接方方式的各各种属性性, 又规规定了它它们的组组合规则则和限制制18。近十十年中人人们设计计了许多多SA风风格:1)管道-过滤器器风格每个过滤器器都有输输入端口口和输出出端口,从从输入端端口读入入数据流流,进行行局部的的数据变变换(计算或或处理) 以后后,在输输出端口口输出新新生成的的数据;管道则则负责数数据的传传输,把把数据从从一个过过滤器的的输出端端口传送送到另一一个过滤滤器的输输入端口口。这个个过程是是顺序渐渐增的过过程,而而且过滤滤器必
32、需需是相互互独立的的实体。这这里的过过滤器是是指体系系结构中中的构件件,管道道是体系系结构中中的连接接器。2)面向抽抽象和面面向对象象组织风风格这种风格中中,数据据表示和和与之相相连的原原语操作作被封装装在一个个抽象数数据类型型或对象象中。这这种风格格的构件件是对象象,也可可称为抽抽象数据据类型的的实例。对对象通过过函数和和过程调调用进行行交互。这这种风格格可以细细分为三三种风格格:对象连接式式风格:在这种种类型的的体系结结构中,构件的的接口只只定义了了其对外外提供的的服务,而而没有定定义构件件对外要要求的服服务,其其中以面面向对象象中的对对象接口口为典型型代表。这这种接口口定义的的非对称称性
33、使得得构件在在集成时时,构件件对外要要求的服服务被隐隐藏在代代码的实实现细节节中,即即构件之之间的连连接关系系无法直直接在接接口处定定义,只只能是从从一个构构件的实实现到另另一个构构件的接接口。接口连接式式风格:在这种种类型的的体系结结构中,构构件的接接口不但但定义了了其对外外提供的的功能,而而且定义义了其要要求的外外部功能能,从而而显式地地表达了了构件对对环境的的依赖,提提高了构构件接口口规约的的表达能能力。构构件的接接口定义义了所有有对外交交互的信信息,构构件在实实现时不不是直接接使用其其他构件件提供的的功能,而而是使用用它在接接口处定定义的对对外要求求的功能能。构件件之间的的连接是是在所
34、要要求的功功能和所所提供的的功能之之间进行行匹配,因因此,通通过接口口就可以以定义系系统中构构件之间间的所有有连接。插头插座式式体系风风格:当当接口定定义的功功能数量量很大时时,带来来了规模模上的问问题。在在这种体体系结构构风格中中,通过过把这样样的彼此此间关系系紧密的的功能(包括提提供的功功能和要要求的功功能)组组织成组组,并封封装为服服务,使使得接口口中直接接包含的的内容减减少,降降低了接接口中功功能的规规模。3)基于事事件的隐隐式调用用风格这种风格与与面向对对象结构构风格类类似,不不同的是是,在这这种风格格中,部部件之间间的交互互不是直直接调用用,而是是通过一一种称之之为“隐式调调用(i
35、implliciit iinvoocattionn) ”的方式式来实现现的,每每个部件件提供若若干进程程及它感感兴趣的的事件,并并把每个个事件与与一个过过程联系系在一起起,当某某个部件件产生一一个事件件时,若若其它部部件定义义了这个个事件,那那么与该该事件联联系在一一起的过过程将被被自动调调用,从从而间接接地完成成了过程程的调用用。4)分层系系统风格格 一个分层层系统就就是把整整个系统统组织成成层次结结构,每每一层都都提供若若干服务务给上一一层使用用,并且且它也使使用其下下一层所所提供的的服务。可可以将这这种风格格细分为为两种:基于层次消消息总线线的结构构风格:消息总总线是系系统的连连接器,负
36、负责消息息的分派派、传递递和过滤滤以及处处理结果果的返回回。各个个构件挂挂接在消消息总线线上,向向总线登登记感兴兴趣的消消息类型型,构件件根据需需要发出出消息,由由消息总总线负责责把该消消息分配配到系统统中所有有对此消消息感兴兴趣的构构件,消消息是构构件之间间通讯的的唯一方方式。构构件接收收到消息息后,根根据自身身状态对对消息进进行响应应,并通通过总线线返回处处理结果果。C2风格:C2构架架中的基基本元素素是构件件、连接接器。每每个构件件定义有有一个顶顶端接口口和一个个底端接接口,构构件通过过这两个个接口连连接到构构架中,这这使得构构架中构构件的增增加、删删除、重重组更为为简单方方便。每每个连
37、接接器也定定义有顶顶端接口口和底端端接口,但但接口的的数量与与连接在在其上的的构件和和连接器器的数量量有关,这这也有利利于实现现在运行行时的动动态绑定定。构件件之间不不存在直直接的通通信手段段,构架架中各元元素构件件、连接接器之间间的通信信只有通通过连接接器传递递消息来来实现。处处于低层层的构件件向高层层的构件件发出服服务请求求消息,消消息经由由连接器器送到相相应的构构件。各种不同的的SA风风格的设设计均是是基于不不同类型型的连接接器220。文文献221中中,连接接器被划划分成88种类型型:过程程调用类类型(PProccesss Caall)、事件件类型(Eveent)、流类类型(SStree
38、am)、分布布者类型型(Diistrribuutorr)、数数据接入入类型(Datta AAcceess)、仲裁裁者类型型(Arrbittrattor)、适配配器类型型(Addapttor)、联接接类型(Linnkagge)。文文献222中中,非功功能属性性(如保保密性,服服务质量量等)被被认为是是连接器器描述中中的重要要组成部部分。1.4 软软件体系系结构描描述语言言1.4.11 软件件体系结结构描述述语言概概述SA研究的的主要成成果表现现为体系系结构描描述语言言(arrchiiteccturre ddesccripptioon llangguagge,简简称ADDL)。从从构件组组装的角角
39、度来看看,ADDL可以以视为对对构件描描述语言言(CDDL)的的进一步步扩展。构构件描述述语言的的基本思思想是将将构件看看成是一一个黑盒盒,通过过描述构构件接口口的语法法和语义义,使得得复用者者不必过过多地涉涉及构件件代码细细节,就就可以在在构件描描述这一一抽象层层次之上上进行构构件组装装。而AADL除除了描述述构件接接口的语语法和语语义之外外,还负负责描述述:系统统中包括括的构件件和连接接子以及及它们之之间的交交互关系系、构件件的非功功能类性性质以及及构件间间协议,从从而为构构件组装装提供了了更为有有力的支支持。体系结构描描述语言言(ADDL) 是为软软件系统统的体系系结构提提供具体体的语法
40、法和概念念框架的的一种形形式化符符号。迄迄今为止止,研究究者已经经从不同同的角度度出发,针针对不同同的目标标,提出出了各种种通用的的和专用用的ADDL:1)Rappidee233224:一种事事件驱动动的ADDL,它它以体系系结构定定义作为为开发框框架,支支持基于于构件的的开发。该该语言提提供了建建模、分分析、仿仿真和代代码生成成的能力力,但是是没有将将连接器器显式化化为一阶阶实体。2)Wriightt255:具具有代表表性的AADL之之一。其其主要特特点是将将通信顺顺序进程程266(CCommmuniicattingg Seequeentiial Proocesssess,简称称CSP)用用
41、于不同同风格软软件体系系结构的的描述,从从而完成成对体系系结构描描述的某某些形式式化推理理(包括相相容性检检查和死死锁检查查等)。3)UniiConn277:将将一组预预定义的的连接器器映射到到具体实实现,从从而提供供了从模模块到可可执行代代码、从从体系结结构设计计生成应应用的可可能性。但但是目前前它只支支持一组组已选定定的连接接器,存存在一定定的局限限。4)Aessop28:支支持精确确的编码码并能够够定义一一个新的的体系结结构的风风格,然然后通过过加上某某些约束束和利用用它们的的所有性性质来使使用这个个风格。5)xArrch29:一一种基于于XMLL的ADLL。它使使用XMML 定定义了描
42、描述体系系结构的的核心元元素,可以作作为其他他更高级级的基于于XMLL的ADLL的基础础。也可可以用做做体系结结构描述述的交换换机制。6)ACMME30:支持AADL之之间映射射及工具具集成的的体系结结构互交交换语言言。其目目标是作作为体系系结构设设计的一一个共同同的互交交换格式式,将现有有的各种种ADLL在这个个框架下下统一起起来。1.4.22 Wrrighht构架架描述语语言Wrighht AADL是是基于CCSP的的形式化化构架描描述语言言。CSSP226中中使用的的基本记记号如下下所示:1)进程(pproccesss):使使用一系系列事件件序列来来表示一一个进程程实体,例例如上文文中提
43、到到的各个个rolle、pportt均是一一个进程程。STTOP是是一个特特殊进程程,表示示什么事事都不做做的进程程。2)字母表表(allphaabett):进进程所能能执行的的事件的的总和;特殊事事件:事事件“”代表进进程成功功结束。进进程P的的字母表表表示为为P。3)前缀(ppreffix):设有一一事件为为x,有有一进程程为P,则则另一进进程先执执行事件件x,然然后按照照进程PP的说明明进行动动作;用用(xP)表表示。4)非确定定性选择择(noon-ddeteermiinissticc chhoicce):进程AA或者按按照P动动作,或或者按照照Q动作作,而这这种选择择是进程程自发做做出
44、的。用用PQ表表示。5)确定性性选择(ddeteermiinissticc chhoicce):进程AA或者按按照P动动作,或或者按照照Q动作作,而这这种选择择是环境境做出的的。用PPQ表示示。6)通信(ccommmuniicattionn):使使用二元元对c.v来描描述的一一个事件件,c是是发生通通信的通通道(cchannnell)的名名字,vv是通道道传递的的消息(mmesssagee)。使使用“?”表示接接受消息息,“!”表示发发送消息息。7)屏蔽(cconcceallmennt):设C是是进程PP需要屏屏蔽掉的的事件的的集合,用用PCC表示,它它代表了了一个似似P动作作的进程程,只是是
45、在C中中的任何何事件的的发生都都被屏蔽蔽掉了。8)并发(pparaalleel):进程PP和Q的的并发表表示为PP|QQ,它代代表P,QQ字母表表中共有有的事件件需要同同步执行行,非共共有事件件不需要要同步。9)进程标标记(pproccesss laabellingg):标标记为ll的进程程P表示示为l:P。则则进程中中所有的的事件也也标记上上与其所所属进程程相同的的名字。在进程表达达式中的优先先级高于于,|操作符符。所以以efP|gQ=(eefP)|(ggQ)。对对于其他他操作符符,未定定义显示示的优先先级,所所以在使使用时用用括号来来确定优优先级。有有了CSSP的基基本记号号,我们们就可以
46、以对客观观事物描描述其动动态行为为,从而而为推理理、验证证事物行行为提供供了强有有力的工工具。如图1.33所示,WWrigght ADLL描述的的软件体体系结构构一共由由三部分分组成:1)构件及及连接器器类型定定义:构构件类型型由一组组端口(pportt)描述述和构件件功能描描述组成成,每一一个端口口是构件件与其他他构件交交互的逻逻辑单位位;连接接器类型型由一组组角色(rrolee)和一一个粘接接器组成成,角色色描述了了连接器器所期待待构件的的行为,粘粘接器描描述了各各角色行行为之间间的同步步。图1.3 Wriightt构架描描述语言言2)一组构构件和连连接器的的实例定定义。3)构件实实例与连
47、连接器实实例间交交互定义义,将构构件实例例的端口口绑定到到连接器器实例的的角色上上,从而而完成构构件间的的交互。图1.4 仓库风风格的WWrigght ADLL描述图1.5 管道过过滤器风风格的WWrigght ADLL描述Wrighht AADL可可以用来来描述各各种软件件体系风风格的软软件构架架。如图图1.44所示的的仓库风风格,图图1.55所示的的管道过过滤器风风格。1.5 相相关工作作配置管理中中的版本本管理模模型一直直是软件件工程界界研究的的热点。在在311中提提出了版版本管理理模型的的基本概概念:软软件对象象、版本本图、系系统创建建、基于于ANDD/ORR图的版版本选择择,并试试图
48、统一一版本模模型术语语。之后后版本模模型不仅仅仅支持持保存单单文件的的版本,而而且支持持创建一一致性的的配置32。随着着不同版版本模型型的不断断出现,12中根根据版本本模型概概念集将将版本管管理模型型分为四四类:检检入/检检出模型型、组合合模型、长长事务模模型、变变更集模模型,但但是这四四种分类类结果并并不是正正交的,一一般的版版本模型型包含一一个或多多个以上上的模型型。在33中将版版本管理理模型分分为以下下几个方方面:版版本集的的组织、动动态配置置机制、层层次组合合、版本本族机制制、变更更传播、对对象共享享。但这这些版本本管理模模型缺乏乏一个高高层视图图的支持持,虽然然在版本本模型中中可以用
49、用户自定定义配置置,但所所有的配配置按照照何种规规格以及及以何种种规则进进行组织织在这些些版本模模型中都都没有讨讨论。随着软件工工程技术术的不断断发展,新新技术不不断的涌涌现,人人们将配配置管理理技术同同其他技技术结合合,从而而发展出出新的版版本管理理模型。软软件过程程建模技技术33435366同传传统版本本管理模模型结合合产生支支持过程程建模的的版本管管理模型型377338,该该版本模模型中定定义的产产品空间间被扩展展用以包包含过程程建模,同同时须对对产品空空间与过过程建模模间的交交互进行行设计。将将基于构构件的软软件开发发技术同同传统的的版本管管理模型型结合,发发展为基基于构件件的软件件版
50、本管管理模型型399440。但但当前的的基于构构件的版版本管理理模型主主要关心心的是原原代码模模块间的的依赖关关系,缺缺乏管理理软件对对象间关关系的能能力。同同时基于于构件的的开发没没有在一一个软件件构架的的支持下下进行。1.5 存存在的问问题随着CBSSE的发发展,当当前CBBSE的的版本管管理模型型中存在在如下问问题:未能与CBBSE结结合,对对基于构构件开发发的支持持非常有有限,很很多系统统只是简简单的将将构件作作为一系系列文件件的集合合,而对对于构件件拥有的的语义、构构件间的的依赖关关系、构构件中各各组成部部分的依依赖关系系的定义义非常不不足,未未有支持持SA的的版本管管理模型型;在粒
51、度管理理方面只只是通过过简单的的组合来来创建一一个版本本管理的的粒度,未未能按照照用户的的自定义义来定制制版本管管理的粒粒度;未能将版本本模型和和数据模模型分开开,所有有功能模模块交错错在一起起。为此,本文文提出一一个分层层的基于于构架的的版本管管理模型型SAVVM,在在版本模模型层上上,同时时支持面面向状态态和面向向变更的的版本操操作,以以统一的的方式对对待所有有的数据据元素,从从而实现现了一个个通用的的版本引引擎;在在版本引引擎之上上,将数数据模型型层分为为两个子子层,一一个子层层实现数数据元素素及数据据元素间间关系的的组合,一一个子层层负责基基于软件件体系结结构的数数据模型型,使得得版本
52、管管理模型型能够支支持基于于软件体体系结构构的开发发。在数数据模型型层之上上进行事事务管理理和过程程管理,从从而为软软件组织织提供了了并行开开发的控控制和支支持软件件开发模模型的支支持。第二章 SSAVMM的体系系结构版本管理模模型SAAVM针针对上面面的这些些问题提提出了解解决方法法,它是是一个主主要实现现了版本本管理、数数据管理理、过程程管理、并并发控制制以及支支持基于于软件体体系结构构面向构构件的软软件开发发方法等等功能,从从而实现现了比较较全面的的软件版版本管理理模型。2.1 SSAVMM设计的的基本要要求作为一个基基于软件件体系结结构的版版本管理理模型应应该具备备两个方方面的功功能:
53、11)通用用版本管管理模型型所拥有有的功能能;2)支支持基于于软件体体系结构构的开发发所拥有有的功能能。因此此在设计计该模型型时,需需对这两两方面功功能的要要求进行行定义。2.1.11 基本本要求根据1.1.22节中对对版本管管理模型型术语的的一个分分类,可可以对SSAVMM所要满满足的要要求定义义如下:1)一般性性要求:SAVVM必须须满足版版本空间间和产品品空间的的基本要要求。用用户可以以在产品品空间中中自由的的设定需需进行版版本管理理的版本本元素;也可以以自由的的设定版版本元素素的版本本空间。从从而为用用户提供供一个足足够通用用的版本本引擎,使使得用户户可以自自定义的的将其转转化为任任何
54、一种种特定的的版本模模型。2)增量的的选择要要求:在在增量的的选择上上,需要要对存储储效率和和执行效效率进行行考量。由由于这属属于物理理实现层层面上,因因此SAAVM版版本模型型不对此此进行设设计。3)版本演演化的要要求:版版本的演演化应该该同时支支持分支支和修订订,而且且分支和和修订对对于不同同粒度的的版本元元素应该该按照一一个统一一的方式式进行,即即在版本本空间中中,应该该统一对对待所有有的数据据元素。4)版本描描述的要要求:需需要同时时支持面面向状态态和面向向变更的的版本管管理方式式。面向向状态和和面向变变更这两两种方式式间应该该是正交交的,即即它们之之间不存存在互相相的关系系。5)版本
55、空空间表示示的要求求:对于于面向变变更的版版本管理理适用于于使用nn维网格格进行表表示,而而面向状状态的版版本管理理适合使使用版本本图来进进行描述述,因此此需要将将这两种种描述方方式有机机的结合合在一起起。6)版本集集定义的的要求:面向状状态的版版本管理理自然的的支持外外延版本本,而面面向变更更的版本本管理自自然的支支持内延延版本;但面向向状态的的版本管管理应该该同时能能支持内内延版本本,而面面向变更更的版本本管理也也能支持持外延版版本。7)版本规规则的要要求:对对于内延延版本而而言,需需要有版版本规则则的支持持。而对对于外延延版本而而言,使使用版本本规则可可以定义义基线、配配置等概概念。8)
56、选择粒粒度的要要求:版版本模型型应该能能够提供供产品、各各组成成成分的选选择粒度度,以满满足用户户在不同同时刻的的不同要要求。9)工作区区管理的的要求:工作区区应该同同外部工工具版本本在一起起,从而而实现版版本模型型与工具具间的集集成。2.1.22 基于于SA的的要求SAVM是是支持基基于软件件体系结结构开发发的版本本管理模模型,因因此在版版本模型型中需要要对SAA的基本本概念提提供支持持,并且且支持基基于构件件的软件件开发方方法。版版本模型型应满足足的要求求如下:1)支持构构件定义义:构件件包括构构件接口口和构件件实体两两部分。同同时构件件接口同同构件实实体间存存在着互互相依赖赖关系,一一方
57、的改改变可能能导致另另一方的的改变。而而且构件件接口中中应该包包含语义义信息用用以描述述构件的的行为,接接口类型型可以根根据SAA风格的的不同而而不同。构构件实体体可以是是一组相相关的目目录、文文件,文文件间存存在着依依赖关系系、包含含关系等等多种关关系。2)支持连连接器定定义:连连接器包包括角色色和粘接接器两部部分组成成。连接接器作为为构件实实体间的的连接代代理,连连接器的的角色和和构件的的端口应应该满足足相容的的关系25。角色色和端口口都应该该包含语语义信息息。3)支持SSA定义义:SAA由构件件、连接接器以及及它们之之间的连连接关系系组成。版版本管理理模型不不仅需要要将构件件、连接接器作
58、为为实体来来对待,而而且需要要将连接接关系作作为实体体来看待待。SAA是版本本管理模模型中的的最大粒粒度,用用户可以以根据不不同的需需求按照照各种不不同的粒粒度来查查看整个个SA。这这里不仅仅需要设设计构件件、连接接器、SSA版本本演化规规则,而而且需对对它们之之间在演演化过程程中的相相互影响响进行定定义。4)支持基基于软件件体系结结构的软软件开发发方法:17中提出出了一个个基于体体系结构构、面向向构件的的软件开开发方法法,方法法中定义义了一个个开发的的流程。版版本管理理模型中中需要设设计一个个新型的的过程管管理定义义语言对对所有通通用的软软件开发发模型进进行定义义,从而而支持基基于构件件的软
59、件件开发的的过程管管理。5)支持基基于软件件体系结结构的并并行开发发:当前前的软件件开发的的规模已已经不是是仅仅靠靠一个人人就能完完成的了了的,需需要一个个团队合合作完成成。版本本管理模模型需要要提供并并发控制制机制和和用户权权限管理理功能。以上SA中中的所有有元素将将通过WWrigght描描述语言言定义,版版本模型型应该提提供将描描述语言言自动的的转化为为适合版版本管理理模型管管理的实实体的能能力,同同时不应应丢失语语言中描描述的任任何信息息。2.2 SSAVMM结构设设计根据2.1节中中定义的的SAVVM的基基本要求求,我们们可以看看到SAAVM版版本管理理模型涉涉及版本本空间、产产品空间
60、间和过程程管理。首首先遇到到的问题题是如何何将版本本空间、产产品空间间、过程程管理这这些概念念有机的的组合在在一起来来提供一一个高效效、通用用的版本本管理模模型。我我们可以以正交的的对待版版本、产产品和过过程,从从而实现现一个分分层的版版本管理理模型。这这样有利利于对版版本模型型的修改改和扩展展,当发发生修改改时也可可以使修修改范围围定位的的足够小小;同时时当版本本模型需需要进行行扩展功功能时,非非常容易易定位增增加功能能所处的的层次,只只需扩展展该层就就可实现现整体功功能的扩扩展。为决定一个个系统的的构架,并并按分层层的方式式把以上上三个概概念组合合起来,SSAVMM版本模模型必须须对以下下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年嘉兴智慧产业创新园高端酒店健身中心设施供应合同
- 2025年度企业公关活动赞助合同范本
- 2025年度国际贸易融资借款合同十四期
- 红河云南红河个旧市人民医院党委办公室需招聘干事1名(2024年第28期)笔试历年参考题库附带答案详解
- 红河2025年云南红河县人民医院第一次自主招聘20人笔试历年参考题库附带答案详解
- 烟台2025年山东烟台龙口市结合事业单位招聘征集本科及以上学历毕业生入伍笔试历年参考题库附带答案详解
- 漯河2024年河南漯河市委社会工作部所属事业单位人才引进4人笔试历年参考题库附带答案详解
- 2025年中国双向手动打气筒市场调查研究报告
- 2025年中国R134a制冷压缩机市场调查研究报告
- 2025至2031年中国铸造平台行业投资前景及策略咨询研究报告
- 四川省自贡市2024-2025学年上学期八年级英语期末试题(含答案无听力音频及原文)
- 2025-2030年中国汽车防滑链行业竞争格局展望及投资策略分析报告新版
- 2025年上海用人单位劳动合同(4篇)
- 二年级上册口算题3000道-打印版让孩子口算无忧
- 高中英语北师大版必修第一册全册单词表(按单元编排)
- 新教科版科学小学四年级下册全册教案
- 2024中考语文试卷及答案长沙
- 2024年高考生物总复习高中生物必修一全册重点知识梳理笔记(全册完整版)
- 商业综合体物业运营方案
- 2025年生物安全年度工作计划
- 乡镇卫生院2025年度工作计划
评论
0/150
提交评论