• 1.47 MB
  • 2022-04-22 13:44:02 发布

GBT25644-2010信息技术软件工程可复用资产规范.pdf

  • 37页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'ICS35.080L77a亘中华人民共和国国家标准GB/T25644—2010信息技术软件工程可复用资产规范InfOrmationtechnOlogy—Softwareengineering—Reusableassetspecificati0Ⅱ2010—12—01发布2011一04—01实施丰瞀髁紫瓣警矬瞥霎发布中国国家标准化管理委员会仅19 标准分享网www.bzfxw.com免费下载GB/T25644—2010目次前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯l范围⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-2规范性引用文件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·3术语和定义、缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·3.1术语和定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-3.2缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯4约定⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·4.1文档约定⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·4.2uML建模约定⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·5可复用资产⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·5.1导引⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·5.2RAs的基本模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·5.3默认剖面⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5.4默认构件剖面⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5.5默认WebService剖面⋯⋯⋯⋯⋯⋯⋯⋯·一附录A(资料性附录)资产的打包⋯⋯⋯⋯⋯⋯A.1资产的打包方式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯A.2.ras文件格式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯附录B(规范性附录)默认剖面的xMLschema参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯一I1344"鸲n弘孔筋孙弘 www.bzfxw.com前言GB/T25644—2010本标准的附录A为资料性附录,附录B为规范性附录。本标准由全国信息技术标准化技术委员会提出并归口。本标准主要起草单位:上海计算机软件技术开发中心、上海宝信软件股份有限公司、万达信息股份有限公司、上海市软件行业协会。本标准主要起草人:宗宇伟、张敬周、葛孝垄、冯惠、郑红、丛力群、张纯、朱三元、李光亚、欧阳树生、钱乐秋、王二卫。 www.bzfxw.com标准分享网www.bzfxw.com免费下载信息技术软件工程可复用资产规范GB/T25644—20101范围本标准规定了可复用软件资产的结构、内容和描述方法。本标准适用于可复用软件资产的设计、开发、管理、组装、使用等活动,并适用于从事可复用软件资产管理、开发以及实施基于资产开发方式的各类软件组织。2规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。GB/T18793—2002信息技术可扩展置标语言(xML)1.oIsO/IEc19501—2005开放分布处理统一建模语言(uML)(版本1.4.2)3术语和定义、缩略语下列术语和定义、缩略语适用于本标准。3.1术语和定义3.1.1制品artifact在软件开发或使用过程中所形成的一种信息的物理件。一个物理上的制品对应于文件系统中的一个文件,一个逻辑上的制品是文件系统中若干相关文件的一个集合。制品的实例如模型、实例或二进制可执行文件等。3.1.2问题pmblem在软件开发生存周期中的一个障碍。要满足目标应用的需求,则必须解决(或者避免)开发生存周期中遇到的问题。一个可复用资产完全或部分的解决了软件开发生存周期中遇到的问题。3.1.3资产∞set资产是解决软件开发中某问题的一组制品集合,该问题可与系统制品的演化有关,或直接与所开发系统的领域问题有关。本标准中将资产的制品集合称为解决方案。3.1.4可复用资产reusable∞set可复用资产是对重复出现的问题的解决方案。可复用资产是基于复用思想开发的资产。3.1.5白盒资产whitebox嬲set资产的一种类型,其内部全部可见,并可供查看或修改。3.1.6黑盒资产blackbox∞set资产的一种类型,该类型资产的内部制品对消费者来说是不可见的。 www.bzfxw.comGB/T25644—20103.1.7净盒资产cI%rbox∞∞t资产的一种类型,该类型资产的内部制品对消费者是可见的,但消费者不能对其进行任何方式的改变或修正。对外显示资产内部的目的是帮助消费者理解该资产,以便更好地使用和调试。3.1.8灰盒资产graybox∞s“资产的一种类型,其内部一部分对用户是隐蔽的,另一部分对用户是可见的、并可被更改的。灰盒资产的可变性介于黑盒资产和白盒资产之间。3.1.9构件c岫ponent资产的一种类型。构件是软件系统中具有相对独立功能、可以明确辨识、接口由契约指定、和语境有明显依赖关系、可独立部署的可组装软件实体。3.1.10基于资产的开发(ABD)衄setb嬲eddevelopment(ABD)软件开发过程中的一种方法。基于资产的开发是一套促进资产复用的过程、活动和标准,它没有涵盖软件开发过程的全部。基于资产的开发以体系结构为中心。3.1.11提取harvest一个ABD活动,用于从已有的、未被废弃的系统中创建资产。提取的执行者是资产生产者。提取活动首先是在已有系统中寻找那些有复用价值的组成元素,然后经少量加工将其转换为可复用资产。3.1.12应用资产apply∞set消费者使用可复用资产解决一个问题的ABD活动,资产的应用通常要遵循资产规范中的用法指南。3.1.13生产者prodⅡcerABD中的一个角色,负责可复用资产的创建。生产者可从现有系统中提取资产,或者针对重复出现的问题,从零开始开发可复用资产。3.1.14消费者co璐nmerABD中的一个角色。消费者是一个应用可复用资产的软件开发者。3.1.15目标应用targetapplication带有可复用资产可解决的问题的一个应用或系统。可复用资产的消费者将该资产应用到目标应用中。3.1.16核心RAScoreRAS可复用资产规范(RAs)的基本描述模型。3.1.17剖面pmfjle一组语义约束和一个xMLschema的集合,用以验证一个实体描述文档。剖面定义了特定类型资产的实体描述文档中哪些信息是必需的,哪些是可选的。3.1.18实体描述mⅡif∞t描述可复用资产的结构和组成等信息的一个元信息文档,该文档包含了特定资产的具体描述信息。2 www.bzfxw.com标准分享网www.bzfxw.com免费下载GB/T25644—2010按本标准打包的每个资产必须有一个实体描述文档,它是一个经该资产类型的剖面验证有效的xML文档。3.1.19描述子d∞criptor描述资产信息的一个键/值对。描述子名称是键,通常是人易理解的一两个关键词。值是人易理解的一个句子或一两段文字。3.1.20描述子组de∞riptorgr0Ⅱp一组相关的描述子。3.1.21可变点v”iabilitypoint制品中的一个点,当该制品所属的资产被应用于目标应用时,可在该点上进行修改或定制,以满足目标应用的个性化需求。3.1.22周境c∞tHt一个框架性的引用或概念上的边界范围,为与其相关的事物确定含义。3.1.23包package组成资产的所有制品(文件)的集合。一个包可以实现为文件系统中的一个目录,或者一个存档文件。3.1.24根目录r∞tc∞text一个资产包的顶级目录,它定义了一个资产所有制品的边界(在允许以uRL方式链接制品时除外)。3.1.25工具处理t∞Iing用于描述对RAs实体描述文档和RAs资产包进行处理和管理的软件程序的一个通用术语。RationalxDE就是一个可创建和使用RAs资产的商业化工具的实例。3.2缩略语ABD基于资产的开发(Asset—BasedDevelopment)RAs可复用资产规范(ReusableAssetspecification)uML统一建模语言(uniformModelingLanguage)xML可扩展置标语言(ExtensibleMarkupLanguage)uRL统一资源定位符(uniformResourceLocator)4约定下列约定适用于本标准。4.1文档约定文档约定如下:a)(描述子一组)元素:带有定界符()的术语代表一个xMLschema中的元素;b)属茔:斜体加粗的术语是一个元素的属性;c)所有的节点和属性名称只能用小写字母表示;d)如果用多个单词作为一个节点或属性的名称,在字和字之间要使用连字符,比如“artifact_type”。4.2UML建模约定uML建模约定如下:a)类名——类名由大写字母开头,用连字号(””)连接多个独立的单词;3 www.bzfxw.comb)关联、标识符、容器——所有的关联被声明为传值(b卜value)关联。这表示“被包含”的类是一个xMLsch⋯中的子元素。因此,在需要保持持久性关联的地方,拥有者类要包含一个标识符(ID)属性,c)关联的基数——类之间的基数使用uML的表示风格[下限上限]来表示。在上限是无限的情况下,使用“*”表示;d)属性——属性名与类名使用同样的规则.以小写字母开头,用连宇号匕”连接多个独立的单词。属性类型使用与编程语言无关的方式来声明,使用小写字母,例如[stmg,呲]。属性的必选/可选信息在属性的文挡窗口中获取.值可“是[requ,red,opt-⋯1]。属性的可见性在默认情况下被声明为私有的,但这些语义并不直接转换到xMI.sch⋯中。5可复用资产51导引可复用软件资产(简称赞产)提供了在一个给定的周境下对某问题的解央方案(50lutzon)。图1是可复用资产的一个抽象描述。资产可有可变点t资产的消费者可在可变点上进行客户化。资产具有用于指导该资产如何使用的规则。目Ⅸt**i$*月*Ⅲ围1资产的基本概念贷产是一组制品的集合,制品可以是软件开发生存周期中的任何工作产品,例如需求文档、模型、源代码文件、部署描述子、测试用例或脚本等。52RAs的基本模型521导引一个资产蕴含了丰富的信息,不同类型的资产有不同的规约要求。车标准提供了规范各娄资产的一个核心模型,在此称之为核心RAs,并给出了基于核心RAs的扩展机制,基于核心RAs及其扩展机制来支持对特定类型资产的规约。本标准给出了针对两种资产类型的扩展:默认构件剖面和默认webs⋯lce剖面(详见54和55)。本条主要阐述核心RAs及剖面扩展机制。522核心RAs模型及扩展机制棱心RAs是用于规范各娄资产的一个核心模型,定义了用于规范各类资产的摹本组成及其之间的关系。图2左边部分标识丁核心RAs的一些主要部分,左图的顶端是一些资产级的属性。图2右边部分显示了核心RAs的主要组成部分之间的关系。核心RAs由4个主要部分组成:a)分类部分(a∞sm亡at-⋯州-o曲,提供了一组用于资产分类的描述于以及与资产相关的周境描述;b)解奂方案部分(solun⋯ectton),描述资产的制品;c)用法部分(usagesec仙n),包含安装、定制和使用资产的规则,d)相关资产部分(Related—Asset⋯cu。n)t描述了与其他资产的关系。 www.bzfxw.com标准分享网www.bzfxw.com免费下载分凳描述子:名称,值对露央方案制g一需求模型、代码、测试、文档⋯·使用指导和活动填充可变点目美资产聚合、相但【、依植、父图2核心RAs的主要韶分本标准采用uML表示核心RAs模型.如图3所示。模型中的每个类代表一个资产元素,类问的聚舍关系表示元素的拥有者和包含者之间的关系。关联关系描述了资产元素的关联,一般用标识符来曝持关联关系。对棱心RAs各个类的详细阐连见527~5215。围3核心RAs的uML模型蠹F辱苗孽 www.bzfxw.comGB/T25644—2010通过对核心RAs进行扩展可得到某特定类型资产的描述模型。核心RAs模型采用与uML相同的扩展机制,这种扩展是增加或扩大基本模型信息的一种方法。一个描述模型可扩展核心RAs或其他描述模型,通过扩展可引入一些更为严格的语义和约束,但不能减少被扩展的描述模型中所规定的语义及约束。可以在新扩展的描述模型中增加新的类,但当前描述模型中的类及其上的约束不能减少。例如,扩展得到的新描述模型可使当前模型的可选类成为必选类,但父模型中的约束不能被去除,现有类在新模型中的约束不能少于该类在父模型中的约束。可以在新扩展的描述模型中增加当前类的属性,但当前类的属性及其上的约束不能减少。例如,一个新模型可使当前可选属性变为必选属性,且该属性在父模型中的约束不能被去除,现有属性在新模型中的约束不能少于该属性在父模型中的约束。5.2.3剖面ⅪuLschⅧa及扩展机制核心RAs以及对其扩展得到的资产描述模型是一个抽象的模型,是非实例化的,不能直接用于资产的描述。剖面提供了资产描述模型的一个xMLschema实现,以核心RAs模型为例,图3模型中的每个类可用xMLschema元素来表示,根据该模型可派生出一个xMLschema文档,图4为该文档的主要部分,附加的语义约束见5.2.15。该xMLschema连同附加的语义约束,提供了核心RAs的一个实现,即默认剖面。采用核心RAs模型规范资产时,可通过默认剖面定义资产的实体描述文档结构、语法和语义约束,从而可具体描述一个特定的资产。霎宝羹囊薰磊}使用该图4默认剖面的xMLSchema概览剖面采用与uML相同的扩展机制,这种扩展是增加或扩大基本(默认)规约信息的一种方法。一个剖面可扩展核心RAs或其他剖面,通过扩展可引入一些更为严格的语义和约束,但不能改变核心RAs或其他剖面所规定语义及约束。可以在新扩展的剖面中增加新的元素,但当前剖面中的元素及其上的约束不能减少。例如,扩展得到的新剖面可使当前剖面的可选元素成为必选元素,但父剖面中的约束不能被去除,现有元素在新剖面中的约束不能少于该元素在父剖面中的约束。 www.bzfxw.com标准分享网www.bzfxw.com免费下载GB/T25644—2010可以在新扩展的剖面中增加当前元素的属性,但当前元素的属性及其上的约束不能减少。例如,一个新剖面可使当前可选属性变为必选属性,且该属性在父剖面中的约束不能被去除,现有属性在新剖面中的约束不能少于该属性在父剖面中的约束。如图5所示,默认剖面是核心RAs的一个实现,默认构件剖面和默认webservice剖面都派生自默认剖面。剖面派生信息可从剖面历史中得到,详见5.2.9.1。图5核心RAs与剖面扩展示例本标准通过剖面扩展机制来支持对各类型资产(如构件、webservices、模式和框架等)的描述。针对某特定资产类型,可通过对核心RAs或其他剖面的扩展得到一个适用于该类型资产描述的剖面,扩展后的剖面保留并扩展了核心RAs的语义及约束。剖面的扩展关系形成了剖面的谱系,默认剖面是所有具有xmlschema实现的剖面的祖先。一个具体的剖面对应一个资产类型,用于对该类型中所有资产的描述,该剖面通过定义该类型资产实体描述文档的结构、语法和语义约束,来指导该类型中某特定资产的描述。一个按本标准打包的特定资产必须包含一个实体描述文档,该文档包含了资产的具体描述信息。剖面xMLschema文件一般与实体描述文档一起存放,也可采用uRL引用方式,通过网络对其访问。本标准中,核心RAs模型中的每个类对应了默认剖面的一个xMLschema元素,因此,在本标准后续的内容中,若无特别声明,对核心RAs模型中类的阐述同样适用于默认剖面中相应xMLschema元素的阐述,反之亦然。例如,对核心RAs中的Asset类的阐述,同样适用于默认剖面(asset>元素的阐述。5.2.4标准符合性当以下条件都满足时,一个资产才认为是符合本标准的资产:资产必须满足本标准中核心RAs所有的语义约束(见5.2.15)。5.2.5必选类本标准5.2.15的“语义约束”部分描述了满足标准符合性所必须赋值的类。其目的在于支持具体复用实施中形式化程度的差异。可通过创建新的剖面以引入更为严格的语义和更多的必选类,已有的必选类在新的剖面中不能变为可选的(见5.2.15的“约束15”)。下面列出了必选类:a)Asset(资产);b)Profile(剖面);c)S01ution(解决方案)。7 www.bzfxw.comGB/T25644—2010尽管Soludon(解决方案)类是必选的,其相关的An池ct(制品)类是可选的,但“约束2”(见5.2.15)规定,为满足标准符合性,必须至少存在一个有mme(名称)或rE向—ce(引用)属性值的制品。将(artifact)作为可选元素是出于易于剖面将来变化的考虑,将来的剖面可能在解决方案部分增加更多的特定元素(例如需求,设计,实现等),可使这些元素是必选的,见5.4中对解决方案部分的扩展。5.2.6必选属性只有少数属性是必选的。5.3.5描述了为满足标准符合性,哪些附加属性必须予以赋值。其目的在于支持复用实施中形式化程度的差异。可通过创建新的剖面以引入更为严格的语义和更多的必选属性,已有的必选属性在新的剖面中不能变为可选的(见5.2.15的“约束15”)。表1列出了必选属性,这些属性中有许多存在于可选类中,意味着在打包资产时该类的xMLschema节点不是必选的。表1核心RAsuML模型的必选属性必选类必迸属性可选类必选属性AssetReIated矗pro矗leidProfileverSlon—m剖orid-historvversion—minorContextversion—minoridDescriDtorArtifacocomextcontext—idArtifac仁dependencyartifacoidVariabllity-pointidArtifac仁typetypeArt证ac}activityartifact+idContex仁refActi“tvidtaskVariabiIity-poin卜bindingvariabmty-poin卜idbinding-ruleItelated_assetrdadonship_type5.2.7As∞t(资产)每个实体描述文档都以单个Asset实例开始。Asset实例定义了可复用软件资产的身份(见5.2.14)。Asset实例包含两个必选的属性:Mme和纪。属性∞,,l#(资产名称)取值为简短字符串,该字符串应反映该资产的一般解决策略或资产可处理的问题,属性以(资产标识符)取值为全球唯一标识符,用于在工具化处理中区分不同的资产。属性也fe(日期)包含一个符合默认xML格式(YYYYMM—DD)的有效日期。该属性指明了8 www.bzfxw.com标准分享网www.bzfxw.com免费下载GB/T25644—2010该资产可以被开始使用的时间。属性s缸fe(状态)说明了资产当前的状态。该属性主要用于资产认证流程(该资产在资产库中发布之前所需经历的一系列评审)。属性wrs如n(版本)是任意字符串,用于比较两个标识符属性相同的资产。属性nccess“gk(访问权限)是任意字符串,用来说明资产消费者对资产的访问权限,例如查看或使用。属性吐。陪des"f声ffon(简短描述)为该资产的简短描述。用户查询资产库时一般最先看的信息是资产的船mc和晓or卜des盯f声t如以。Asset类有两个必选的关联:Pronle(剖面)和solution(解决方案),还有4个可选的关联:Description(描述),classification(分类),usage(用法)和RelatedAsset(相关资产)。对这些类的讨论贯穿于整个标准。5.2.8Description(说明)Description类是一个简单的容器,包含了关于该资产整体或某些组成元素的说明文字。Desc“ption在XMLschema中是全局性的,并在多处被引用。例如(asset)元素下可以有(description>元素,其取值主要包括该资产处理的问题以及主要解决策略的较详细阐述;(profile)元素也可以有(de—scription)元素用于说明当前资产剖面的有关信息;等等。Description类的“值”在xML中用多行元素表示,如下所示:(description)TheDescription.valueHere(/description)5.2.9Pmfile(剖面)5.2.9.1核心剖面一个Profile定义了某一类型资产的实体描述文件的结构和语义。一个资产的实体描述文档必须标识一个用于验证自身的Profile类,该类精确定义了用于资产符合性所采用的特定剖面。Pronle能引用其他模型元素(例如uML包或类)来对自身进行描述。Profile可能有不同的版本,应说明与其他剖面的谱系或祖先关系。RelatedProfile(相关剖面)从这个Prome的谱系关系中获取信息。除了由核心RAs定义的、没有相应xMLschema实现的coreProfile(核心剖面),每一个Profile都是由其他剖面派生而来的。剖面可直接从核心RAs或其他任何一个剖面(例如默认剖面)进行扩展。剖面扩展只能在实体描述的xMLschema中增加元素和属性,以及/或者在已有元素上关联新的语义,而不能从xMLschema中去除元素或属性。一般来说,扩展后的剖面受更多限制。属性mme(剖面名)取值为一个可读的字符串,该字符串反映了当前剖面的目的或范围。属性以是剖面的权威标识符,一个剖面的试可能是任意字符序列,但该标识符在复用范围内必须是唯一的,且不能包含双冒号(::)。属性f拍打缸删(标识历史)是一个组合键,由Profile的以及其所有祖先剖面的标识符串接而组成,串接符号为双冒号(::)。除了原始的coreProfile,一个剖面当且仅当派生自一个父剖面。下面是默认剖面的i栅ijfo删的示例:F1C842AD—CE85—4261一ACA7—178C457018A1::31E5BFBF—B16E-4253—8037—98D70D07F35F它说明了“F1c842ADcE85—4261一AcA7—178c457018A1”标识的剖面是核心剖面,“31E5BFBF—B16E_4253—8037—98D70D07F35F”标识的是默认剖面。如果定义了一个新的剖面,将产生一个新的id,应在剖面的标识历史中将其添加到它的父剖面标识符后面。这个新剖面对标识历史中所有在其之前的Profile进行了扩展。属性wrs{o十m可。r(主版本号)和口mfo"m{,lDr(次版本号)取值均为整数,用于定义Profile的版本,特别是可用于区分与该Profile名称相同的以前的剖面。通常情况下,这两个值组合在一起形成浮9 GB/T25644—2010点数的形式。例如主版本号为2,次版本号为1,则可被写作版本2.1。当剖面被更新并且仍保留原有名称时,主版本号和次版本号的值应发生变化。例如,当对剖面进行更新但其用途和范围不变时,剖面名称应保持不变。属性r伽靠ce是一个可选属性,它引用一个外部文档来提供更多关于该剖面的信息,该文档应对剖面使用的新类、属性和语义进行解释。rE厨一e属性也可包含一个指向位于根目录之外资源的URL。Profile类有两个关联,一个是与Description的关联,用于捕捉可读的、对该剖面的注释,另一个是与RelatedProfile的关联,用于提供该Proflle的f壬^纽。删中的每一个剖面的可读信息。Profile可引用一个Artifact(制品)来为自身提供进一步的背景和解释。5.2.9.2RelatedPmnle(相关剖面)RelatedProfile类通过描述剖面的谱系来捕捉剖面的历史。(relatedProfile)元素的属性Mme,以,w"fo"m可or,口∥sfo"mfmr,M鲫nce,其含义与《profile)元素的属性相同,其中谢属性包含了该剖面的标识符,它应在(profile>元素的f栅fno删属性中出现。属性p口Ml}以描述派生该剖面的父剖面。RelatedProfile可引用一个Artifact,用于为RelatedProfile提供更进一步的背景和解释。5.2.10cl∞sin∞ti∞(分类)5.2.10.1导引在基于资产的开发中,搜索资产时采用的视角经常不同于其打包时的视角,因此资产的分类应支持多个视角。本标准支持以简单的名/值对方式进行分类,并允许用户引用自己定义的资产分类schema.。(classification)元素仅仅是一个实体描述中用于资产分类的所有元素的容器。和(descripto卜group>。5.2.10.2C∞t“t(周境)周境定义了一个概念框架,用以解释资产中其他元素的含义。元素定义了Mmc(必选的)和甜属性。实体描述中其他元素通过以引用周境。元素也可包含通过一组描述子(见5.2.10.4的(descriptor))来服务于周境的定义。实体描述文件中可定义多个周境。一个(artifact>可声明与多个周境的相关性。表2举例说明了周境的一些范畴的样本。本标准不规定周境的具体内容,下面的周境样本仅仅是示例。表2周境范畴周境范畴周境说明和举饲与该周境相关的制品代表该资产的基本要素。若没有与该周境相关的制品或活动,资产就核心不能被成功应用于目标应用中。与该周境相关的制品是与一个具体韵业务周境相关的。业务例如:保险业,金融服务业与该周境相关的制品对于该资产的开发是必需的。这个周境通常出现在白盒资产中,用于开发可修改的制品。与该周境相关的制品可包括构建版脚本和工具,模型以及规约文档等。例如:J2EE1.3,webSpherestudioApplicationDeveloper5.1等。文档与该周境相关的制品被用于资产的解释和文档化。这些制品并不是应用该资产所必需的。与该周境相关的制品对于资产的运行/执行是必需的。例如:websphereApplicationserver运行5.1。与该周境相关的制品是与测试相关的,不需要直接应用到目标应用中。例如:脚本、样本数测试据或测试计划。 标准分享网www.bzfxw.com免费下载GB/T25644—20105.2.10.3DescriptorGr0Ⅱp(描述子组)DescriptorGroup类仅仅是一组相关描述子的值的容器,描述子的值可能是描述子节点或自由形式的值。这些描述子的值可能来自一个或多个分类schema,用于将一个具体资产相关的分类定义和值集中在一起。属性mme为描述子组的名称,属性嘶rm“指向另一个分类schema或本体。本标准不对行业和资产类型的所有可能进行阐述,属性r咖rence允许资产分类时采用多个分类schema或本体。子元素(description>用于对描述子组提供进一步说明。DescriptorGroup可引用一个Artifact,用于为DescriptorGroup提供进一步的背景和解释。5.2.10.4Descriptor(描述子)该类定义了描述该资产质量和特性的分类描述子。属性mme为描述子名称,通常情况下,该名称在分类schema中是唯一的。属性∞埘ez“d包含一个周境标识符。5.2.11Soluti∞(解决方案)5.2.11.1导引一个资产提供一个解决方案,解决方案通过一个制品集合来提供。一个制品可包含其他制品或与其他制品相关联。一个制品可与一个特定的周境(如开发时或运行时周境)相关。一个制品可有可变点,供客户化定制。如图6所示。图6解决方案部分的领域模型实体描述中的(solution)元素是一个包含该资产所有制品的容器。它是必选元素且没有指定任何属性。(solution>元素仅指定了子元素。5.2.11.2Anifact(制品)一个制品或者是位于资产包中的一个物理文件,或者代表一个逻辑实体,这个逻辑实体至少有一个子制品是物理文件。一个(artifact)元素必须至少指定一个mme或一个,咖r∞∞属性。对代表逻辑实体的制品,其一me属性是必选的;对指定为(作为资产包的组成部分的)实际文件或工作产品的制品,】】 GB/T25644—2010其r帆,tce属性是必选的。属性mme、桫加和代厅r—cc是可选的,可通过工具批量添加具体名称未知的制品,mmF可以是制品的文件名,即允许与r咖wnce属性冗余。理觚n∞属性是可选的,从而允许(artifact>元素可包含其他(artifact)元素,并可引用文件系统或其他地方的制品。一个(artifact)元素可指定一个供实体描述中其他元素所引用的掘。以在实体描述文档中的所有制品范围内必须是唯一的。w”fon属性(可选)用于标识一个制品的版本。一个制品可采用某个特定算法进行加密。属性d堙es}mme(加密名称)和d培es士_∞妇(加密值)包含了加密的名称和值。一个特定制品可指定与之相关的使用许可及权限。属性口cces州g^缸(访问权限)指定制品的许可信息,本标准不指定该许可信息的格式。(artifact>元素可包含若干子元素:(artifact-type)、(artifact—context>、(artifact-dependency)、(variability_point>,同时也可包含子制品元素。一个物理制品可以是任意类型的文件(二进制,纯文本等)。属性‘y声e指定制品的主类型的信息,该信息用于对制品的工具化处理。除主类型外,一个制品可指定任意数目的次类型。每个次类型由子元素(artifact-type)来详细说明(见5.2.11.6的(artifact—type))。主类型往往是制品文件的扩展名。例如,一个名为web.xml的文件,它的主类型是xML,次类型可能是】2EEWebCon{igure。主类型列表将文件扩展名映射到类型名称。多个文件扩展名可对应于同一个类型,多个类型名称也可对应于同一个文件扩展名。在此情况下,应通过工具为用户处理两者间的映射提供便利。例如,一个名为usecases.d。c的文件,其文件扩展.doc可映射为“Microso“word”类型和“WordPerfect”类型。主类型(Prim"yTypes)下面列举的主类型样例来自于RAsPrimaryArtifactTypes.xml文件:(artlfactid=“出t11t皿rtype一”毗crosoftWordHT凰T朗plate”/>‘artifact“一“do矿t即e一”VisualBasicus虹及IclmentBiI】a=ryFil酽/>(artifactid=“dq,type一”Micr∞oftExcel∞BcQueryfiles”/)(artifactid=。ds矿type一”DsMFile”/)(artifactid=“印rtype一”InternetE-MailMessage”/)(artifactid=“ent”type一”E】【七ernalEntity”/>(artifactid=“en,tyPe一”RationalⅪ)EUnit”/>(artifactid=“e】【c”type一”Te】ct”/)(artifactid=“m出”t”e=”ⅫEModel”/)(artifactid二“if,type一”RatiollalⅪ)EUnit”/)‘artifactid=“i11】【”type一”Rational)饪)EUnit”/)这个列表是动态可变的,供工具生产商使用,以便他们可提供对制品的正确处理。(artifact—context)元素允许一个制品与多个周境相关联。每个元素定义了一个单独的∞nt“t。(artifact—dependency)元素标识了当前制品与当前资产中其他制品的依赖。每一个元素包括一个 标准分享网www.bzfxw.com免费下载GB/T25644—20104竹i向c产纪(制品标识符)属性,它必须包含一个与当前实体描述中其他制品标识符值相同的值,该值不能自引用。d印mdmc,t,加(依赖类型)属性用于描述依赖的类型,是可选的。(variability_point)元素描述了制品中能被改变的内容及其位置。每一个(variability—point>指定了一个名称和一个标识符,实体描述中的其他元素可以通过该标识符引用可变点。可变点可与周境相关联,因此必须为文档中的(context>元素指定一个有效的标识符。rE向ⅥⅢ属性所指向的外部文档对(variability.point)作了进一步的解释说明。一个制品可包含若干子制品。子制品使用相同的元素说明。5.2.11.4ArtifactDep∞dency(制品依赖)ArtifactDependency标识一个依赖的Artifact。这个依赖的Artifact必须是实体描述中定义的其他Artifact,见5.2.11.2的Artifact说明。ArtifactDependency是Artifact类的一个子类。属性d印积一dn叫T"加(依赖类型)描述了制品依赖的类型,例如设计时、编译时或运行时的依赖。5.2.11.5V”iabilityPoint(可变点)每一个(variability_point)标识了在具体使用该制品时一个可供修改的位置。其Mme和以属性是必选的。试供实体描述中的其他元素引用(见5.2.12.6的(variabmty-point-binding)元素说明)。可选情况下,(variability-point>可通过周境的∞埘口产甜(周境标识符)属性建立与一个周境的关联。(variability.point>元素的自由形式文本(应为纯文本方式)用于对该活动(可变点绑定)的更为完整的说明。可选的r咖nce属性指向一个外部文档,该文档可对可变点进行更进一步的解释说明。VariabilityPoint可引用一个Artifact,用于为VariabilityPoint提供更进一步的背景和阐释。VariabilityPoint可包含一个对自身提供附加注释的Description。5.2.11.6ArtifactType(制品类型)(artifact>可由多个类型来描述。在此描述了两种制品类型:主类型和次类型。主类型用于工具处理时当前制品进行主要的动作和操作,次类型主要用于说明的目的和工具处理中的次要动作。(artifact>元素的fyp。属性用于表示主类型。每个(artifact>有且只有一个主类型,但可以有多个次类型。(artifact—type>元素的砂加属性用于说明次类型。次类型如果应用了错误的主类型,引入资产时工具可能不会对该类型进行任何专门处理。工具提供商必须提供对主类型列表的处理(见5.2.15的“约束12”),对于次类型列表的处理则不是必需的。次类型列表包括了主类型列表,并增加了一些主要用于说明目的的新类型。下面是RAsseondar—yArtifactTypes.xml文件中的次类型列表的样例;(ar七ifactid一”usec船e”type一1usec∞e”/)(artifactid一”testc船e”type一”T朗tc∞e”/)(artifactid一”re印。del”type=”An缸ysisM。der/)(artifactid=”designmodertype一”DesignModel“/>(ar七ifactid一”implmodel”type一“砷l朗∞tationM。der/>(artifactid一”impl$et”type:”Impl叫entati锄ArtifactseP/>】3 GB/T25644—2010(artifactid一111secasediag”t即e一”usecaseDiagr柚”/>(artifactid一”c∞pinterdiag”type一”c∞pon锄tInteractionDiagr柚1/)以上列表是动态可变的,工具生产商应根据该列表对制品提供正确的处理。5.2.12Um群(用法)5.2.12.1导引用法部分描述了应用资产时应执行的活动,一般采用轻载的活动或工作流模型来描述。指导资产如何使用的活动有几种形式:一些活动适用于整个资产,另一些活动适用于资产的某个制品,还有些活动与特定的周境相关。特定周境下的一个制品可包含相关的可变点。如图7所示。图7用法部分的领域模型《usage)元素是一个容器元素,用于对过程或用法的指导。该元素只定义了一个属性,盯w—e,它指向一个外部文档,这个文档可以是对用法部分的总体解释,或是对该资产所有使用活动的总结。用法元素有三类子元素,每一类都包含一组将资产应用到目标应用时应遵循的活动。每一个子元素可能有多个实例,这意味着可能有多个(artifact.activity>、和(asset_activity)子元素。Usage可引用一个Artifact,用于为Usage提供更进一步的背景和解释。5.2.12.2ArtifactActivity(制品活动)(artifact—activity)元素是一个容器,包括一组与特定制品相关的活动。它包括两个属性:4竹洳c卜试(制品标识符)和∞nf∞“d(周境标识符)。4竹讲IfHd属性是必选的,它指定了一个实体描述文档中某制品的标识符。一个制品可有多个活动,活动可与周境相关联。属性co埘一卜以的值必须是实体14 标准分享网www.bzfxw.com免费下载GB/T25644—2010描述文档中的某个至少应包含一个(activity)元素,它指定了将资产应用到目标应用中时,用户或工具应执行的具体活动。见5.2.11.2的(artifact)元素说明。5.2.12.3C蚰textRef(周境引用)(context-ref>元素是一个与特定周境相关联的活动的容器。∞nt“士-甜属性是必选的,它指定了一个在实体描述文档中定义的周境。(context—ref)至少应包含一个(activity>元素,它指定了将资产应甩到目标应用中时,用户或工具应执行的具体活动。见5.2.11.2的(artifact>元素说明。5.2.12.4AssetActivity(资产活动)(asset-activity>元素是一个与整个资产相关联的活动的容器。资产活动元素没有定义任何属性。5.2.12.5Activity(活动)活动指定了使用资产时用户或工具对该资产进行的具体操作。元素和(variability-point-binding)元素。(variability—point-binding)是对制品中定义的可变点的引用,并规定了绑定规则。绑定规则是关于可变点和活动之间关系的简短说明。Activity可引用一个Artifact,用于为Activity提供更进一步的背景和解释。5.2.12.6VariabilityPojⅡtBiⅡdiⅡg(可变点绑定)(variability.poin“inding>有两个属性,属性%r户ofn—d指定了一个实体描述文件中定义的可变点标识符,属性斑n击n91Ⅵ如(绑定规则)是可变点特性的简短描述,该属性提供了将作用于(variability-point)时资产消费者应遵循的额外规则和指示说明。下面是一个部分文法的样例:(solution)na_e:DesignM。del::UserAcco皿tM蛳g锄ent::UseCase—CreateNewUserAccnmt,id:1(usage)(artifact-activity>a畦if缸t-id:100(activity)id:5t乞a畦:sp∞ifythealternatefl佣s《variabilit卜point_bindiI】g)阳ri划it,-point-id:I,biD出D争订工1e:Provldeadescriptionofi11valid出ta:baseco曲ectionflowwLdaMli坷-poin亡-jd:1,如由diog—nⅡe;Don。tcreateneWrela_tionshipsto∞【istiI堆贷址kages在这个例子中,(variability-point)标识了(artifact)中实施客户化的具体位置。(activity)标识了资产消费者实施客户化时的应该做什么,(variability—point.binding>描述了资产消费者实施客户化时的规则、约束和附加的指导。15 GB/T25644—20105.2.13RelatedA$et(相关资产)资产通常与其他资产存在某种关系,资产的关系信息将有助于减少复用成本。一个资产可拥有任意数目的相关资产。每个相关资产通过一个(related_asset>元素来规约。一个相关资产可以是当前资产范围之外的资产。当资产复用扩大至大粒度或者粗粒度级别时,(related_asset>元素是必选的,在该级别上,以资产族或资产集的形式来定义或复用资产。属性∞me包含相关资产的名称。属性"趾#{M5^i少I卯e(关系类型)可以是任意值,但对于一些特定的关系类型本标准定义了相应的保留值,这些关系类型以及对应的保留值如下:a)聚合(aggregation):表示当前资产“包含”了相关资产,该包含关系可通过传值或引用来实现;b)相似(similar):表示其他资产有与当前资产相似的特性;c)依赖(dependency):表示当前资产引用或依赖于该相关资产的某些服务或制品;d)父(parent):表示该相关资产包含或拥有当前资产。包含多个资产的资产包可使用聚合关系和父关系类型来组织被包含的资产。属性。sse卜以指定了该相关资产的资产标识符。属性r咖rmce指定了该相关资产的位置。可以采用uRL或文件路径方式指定资产位置,也可以是对相关资产的一个说明文档的引用。属性口ssef%"f∽(资产版本)指明了该相关资产的版本。RelatedAsset可引用一个Artifact,用于为RelatedAsset提供更进一步的背景和解释。RelatedAsset可包含Description,用于对RelatedAsset提供额外注释。5.2.14AmtIdentity(资产身份)某个特定的资产可通过资产标识符和版本号唯一确定。一旦资产标识符改变,它就成为一个全新的资产。当资产演变为一个全新的资产时,建议在新资产的实体描述中的(related.asset>部分引用原资产。在资产标识符(id)不变的情况下,通过版本号标识资产的演化关系,资产的版本是一个任意的字符串。建议用一个统一的数字标号系统来表示版本,标号系统应便于对名称/标识符相同的资产进行版本字符串的比较,便于区分版本的新旧,在新版本中,资产的名称、简短说明或其他元数据信息都可能会改变。5.2.15核心RAs语义约束语义约束是关于资产实体描述中不能通过标准xMLschemas表示的规则。以下的约束加上剖面的xMLschema,完整定义了一个有效的实体描述文件。约束1实体描述文件必须是经剖面xMLschema验证有效的。约束2在资产的解决方案元素内必须至少有一个引用属性和mme属性均为非空的制品元素。约束3一个资产中的一个文件最多只能与一个(artifact>元素相关联。约束4(artifact-context)、(descriptor)、(artifact—dependency)、(variability-point>、(context-ref>和(artifact-activity>元素的∞n龆甜-以属性指定的周境元素必须出现在同一个实体描述文档中。约束5(artifact_activity)和(artifact—dependency)元素中的口竹i屉c}甜属性指定的(artifact)元素必须出现在同一个实体描述文档中。约束6(variability.poin“inding)元素的variability-point-id属性指定的元素的f壬^tj幻删(标识符历史)属性必须包含一个由其全部祖先剖面标识符首尾相连而形成的串。这些剖面标识符必须用2个连续的冒号来分隔。在f她f5如删中,越靠左的剖面标识符在世系关系中辈分越高,越靠右则辈分越低。剖面没有指定标识符值的类型。但在该资产剖面的预期复用范围内,标识符值必须是唯一的。约束10实体描述文件不能在《artifact)元素中引用它自身,否则会引起资产信息和元信息的混乱。约束11和(artifact.activity)元素的口竹j愉c}诅属性的值必须是同一个文档中(artifact>元素的id。约束12(artifact>元素的ty加属性值必须使用主类型值。次类型值必须通过元素来处理。约束13每个(artifact>元素是(被称为资产根目录的)(context)元素的一部分。但该周境是隐含的,不需要在每个(artifact)中指定。约束14可以通过创建~个剖面来引入更严格的语义和约束。例如,可使当前剖面中的可选类在新剖面中成为必选类。但是在父剖面中的约束不能在子剖面中被移除。例如,已有类在新剖面中的约束不能少于该类在父剖面中的约束。约束15可在新的剖面中增加现有类的属性。然而,已有的属性约束不能减少。例如,可使当前剖面中的可选属性在新剖面中成为必选的。但是在父剖面中的约束不能在子剖面中被移除。已有属性在新剖面中的约束不能少于该属性在父剖面中的约束。5.3默认剖面5.3.1导引默认剖面是核心RAs的一个实现。核心RAs和默认剖面各自作为一个单独的实体维护,核心RAs未对其实现中的实施细节进行规范。用户定制(客户化)的剖面应扩展自默认剖面或者本标准中其他的剖面,如默认webservice剖面或者默认构件剖面。5.3.2新元素概要默认剖面反映了前面章节中描述的核心RAs。该默认剖面的xMLschema见附录B。5.3.3必选类该剖面使用核心RAs规范的所有必选类,没有增加新的类。5.3.4必选属性该剖面使用核心RAs规范的所有必选属性,没有增加新的属性。5.3.5语义约束该剖面没有额外的语义约束。核心RAs的语义约束均应用于该剖面。5.3.6标准符合性当以下所有条件都满足时,基于该剖面的资产才认为是符合本标准的:核心RAs的标准符合性被保持。见5.2.4。17 GB/T25644—20105.4默认构件剖面5.4.1导引默认构件剖面派生自默认剖面。这里构件的语义吸取了参考文献[1]中对构件原理和概念的阐述,默认构件剖面支持参考文献[1]中规范构件所需的一些模型和图表。5.4.2必选类“语义约束”(见5.3.5)描述了某些元素的规则。除了默认剖面中必选的类之外,默认构件剖面增加了下列必选类:a)0peration(操作)5.4.3必选属性除了默认剖面中的必选属性外,默认构件剖面增加了以下必选属性:表3默认构件剖面的uML模型的必选属性必选类必选属性可选类必选属性ODerat.onAssociatioI}roleinj6ates_transactio“typeAtt^butetypeConditiondescriDtiontype【Hagranhdependencydiagrarn-idInterfacerspecModehlependencymode卜idParameterdirectiontype5.4.4标准符合性当以下所有条件都满足时,基于该剖面的资产是符合本标准的:a)默认剖面的标准符合性被保持。见5.3.6的“标准符合性”;b)默认构件剖面的约束被保持。见5.4.6的“默认构件剖面语义约束”。5.4.5SolⅡtion(解决方案)5.4.5.1导引这里只阐述默认构件剖面中新增的类,其他元素的信息可参考默认剖面。解决方案部分新增了4个类,包括:Requirement(需求)、Design(设计)、Implementation(实现)和Test(测试)。这些元素对特殊类型的Artifacts(制品)进行组织,以改进对资产的浏览和导航。本部分的模型仅显示了默认构件剖面中新增的类。默认构件剖面对S01ution类进行了扩展,图8阐明了solution部分的类及其之间的关系。 标准分享网www.bzfxw.com免费下载GB/T25644—2010图8默认构件剖面的uML模型5.4.5.2Requinments(需求)Requirements类没有指定任何属性,但它与Model(模型)、Diagram(图)、usecase(用况)和Artifact类相关联。元素内的模型、图、制品等用于描述该构件预期实现的需求。模型、图和制品节点在xMLschema中是全局性的。5.4.5.3M0del(模型)Model类对构件预期实现的需求模型进行规范,Modle类的属性与制品的属性相同。可以有多个模型,如商业概念模型以及用况模型。5.4.5.4DiagramDepend∞cy(图依赖)DiagramDependency类用于在模型与图之间建立关系,便于消费者进行资产浏览与评价时对某特定模型的所有图的理解。d缸gm耐d属性应引用当前实体描述文档中的一个Diagram。5.4.5.5ModelD印endency(模型依赖)ModelDependency类用于建立模型之间的关系。可通过一系列模型来指导资产消费者对构件的理解。19 GB/T25644—2010该类的mode“d属性包含了同一实体描述文件中的Model的标识符值。5.4.5.6Diagrm(图)一个模型可以有多个图。对于每个Requlrements、Design以及Test类,Diagram类标识了相关的图,例如商业概念模型图以及用况图。5.4.5.7【居eCa№(用况)构件可实现一个或多个用况,该类指向一个用况描述。该类的属性与Artifact的属性相同,但被限制为对构件的用况文档的引用。5.4.5.8D∞i驴(设计)Design类没有属性,但它与Model、Diagram、Interfacespec(接口规约)和Artifact类相关联。这些模型、图和制品等用于描述资产消费者使用该构件所需的设计元素。5.4.5.9IⅡterfacespec(接口规约)Interfacespec类描述构件的一个接口。一个构件可定义多个接口,因而该类可能需要多个实例。属性Mme是用户使用的构件接口名称。属性d。sc一户tion是对该接口的简短描述。该类与Operation类关联。如果要创建一个Interfacespec的实例,则必须创建一个或多个Operation。Interfacespec可包含一个对其提供附加注释的De8cription类。5.4.5.10operatim(操作)Operation类描述了一个接口操作,并与Condition(条件)及Parameter(参数)两个类相关联。这两个类在资产打包中提供了足够的信息,以使资产消费者及工具可对接口的特性进行推理。Op町ation类有3个属性,船me、i越矗口细-tr帆snc矗。竹以及desc“pt{o,l。船仇e是该操作的名称。抽矗缸fE}打_口m4f咖^(布尔量)声明该Operation是否启动了一个事务。如sc却f如n提供了对0peration的一个简要抽象。Operation可包含一个对其提供附加注释的Description类。5.4.5.11condition(条件)condition类捕获当前操作的前置、后置和其他条件。它有两个属性:柚加指明条件的类型,出∞ip“Dn提供对当前条件的解释。condition可包含一个对其提供附加注释的Description类。5.4.5.12Parameter(参数)Parameter类使用Mme、印加以及d衲}cffon属性来描述Operation上的参数。mmP属性是该参数的名称。廿加属性描述了参数的类型。di"ctfon属性描述了该参数是当前操作的输人参数、输出参数、或者两者都是。5.4.5.13Impl∞∞tation(实施)Implementation类是一组Artifacts(制品)的集合。这些Artifact(制品)标识了提供构件实施的二进制及其他形式的文件。Implementation类没有指定任何属性。5.4.5.14协t(测试)Test类没有指定任何属性,它有几个关联类:Model、Diagram和Artifact。(test>元素中的模型、图、制品等用于描述资产消费者对构件的测试。模型、图和制品元素在xMLschema中是全局性的。5.4.5.15默认构件剖面的语义约束约柬1:对于(requirements)元素;其子元素宜只包含与需求相关的制品。见5.4.5.2。对于(design>元素;其子元素宜只包含与设计相关的制品。见5.4.5.8。对于(implementation>元素;其子元素宜只包含与实现相关的制品。见5.4.5.13。对于中处理。见5.4.5。约束2:(diagrarn_dependency)中的d缸g似硝d属性宜引用当前实体描述文档中(diagram>元素的id。见5.4.5.4和5.4.5.6。约束3:(modeLdependency)元素的mode}诅属性包含一个来自于同一实体描述文档中的(model>元素的标识符值。见5.4.5.3和5.4.5.5。约束4:一旦创建了(int耐ac}spec)元素,必须创建一个或多个相应的(operation>元素。见5.4.5.9和5.4.5.10。约束5:(condition>元素的‘y声e属性应赋以“pre”(前置),“post”(后置)等值。见5.4.5.11。约束6:(parameter)元素的d讯口ctfon属性宜赋以“in”(输入),“out”(输出),“inout”(输入/出)值。见5.4.5.12。5.5默认webService剖面5.5.1导引webservices提供了拥有操作、参数和保证状态的信息模型的若干接口。其特性本质上与构件相类似,然而其部署和实例化模型有着明显的不同。默认webservice剖面派生自默认剖面,它描述了一个webservice的客户端部分,它与构件在编程模型上的存在着许多相似之处。5.5.2必选类语义约束(见5.3.5)部分描述了某些元素的规则。除了在默认剖面中的必选的类外,默认webservice剖面增加了以下必选类:a)Impelementatio“;b)Wsdl。5.5.3必选属性除了在默认剖面中的必选属性外,默认Webservice剖面增加了以下必选属性表4默认webservice剖面的uML模型的必选属性必选类必选属性可选类必选属性ImDlememationInterface-specwsdLnameWsdlreference5.5.4标准符合性当以下所有条件都满足时,基于该剖面的资产是符合本标准的:a)默认剖面的标准符合性被保持,见5.3.6;b)默认WebService剖面的约束被保持。见5.5.6。5.5.5解决方案(solution)5.5.5.1导引这里只阐述默认webservice剖面中新增的类,其他类的信息可参考该剖面的祖先,即默认剖面。本部分的模型仅显示了默认webservice剖面中新增的类。默认webservice剖面对solution类进行了扩展,图9阐明了solution部分的类及其之间的关系。so【ution(解决方案)部分新增了4类,包括:Requirement(需求)、Design(设计)、Implementation(实现)和Test(测试)。这些类对特殊种类的Artifacts(制品)进行组织,以改进对资产的浏览和导航,并规范了一些必选的wsDL元素。 GB/T25644~2010图9默认webservice剖面的uML模型5.5.5.2IⅡterfacesp∞(接口规约)Interfacespec类指向wsdl文件中的描述接口设计的部分。webservice可定义多个接口,因而可能需要有多个该类的实例。属性mmc是供用户使用的接口名称,”dhnmc是在wsdl中使用的名称。wsdl类提供了对该接口上若干操作的形式化描述的一个引用。5.5.5.3Implem∞ta“∞(实施)Implementation类是必需的,它没有指定任何属性。Implementation类有一组Artifacts,这些Artifacts标识了提供webservice实施的二进制和其他形式的文件。Implementation类与wsdl类相关联。5.5.5.4W8dlWsdl类引用了包含webservice描述的文件。5.5.6默认webservice剖面语义约束约束1:对于元素,其子元素宜只包含与需求相关的制品。见5.5.5。对于(design)元素;其子元素宜只包含与设计相关的制品。见5.5.5。22 标准分享网www.bzfxw.com免费下载GB/T25644—2010对于元素的子元素(artifact)中进行处理。见5.5.5。约束2:(diagrarn-dependency)中的d妇gm∞以属性宜引用当前实体描述文档中元素的标识符值。见5.5.5。 GB/T25644—2010A.1资产的打包方式附录A(资料性附录)资产的打包每个有效的可复用资产必须包含一个实体描述文件(下面将说明)和至少一个制品。该实体描述文件是一个xML文档,该文档是对某已知RAsxMLschema(见实体描述schema)验证有效的文档,并满足相应的剖面文档描述中的附加语义约束。一个资产包包括一个制品文件集合和一个实体描述。资产打包有以下几种方式:a)捆绑性打包。打包成一个存档文件;b)非捆绑性打包:1)制品可保持它原来的位置;2)在“打包”时制品可移动到其他位置。A.1.1捆绑性打包该打包方法可用于一个团队开发环境,它采用压缩方法将包括实体描述文件在内的所有文件打包进一个档案文件中,这就使资产分发更为方便。该资产打包方法由图A.1说明。=兰伊蒜嚣:k。⋯苎耋竺婪。《=::嚣她”4它指向其他文件\≯毒一Inkrkewsdl卜一图A.1采用压缩方法进行资产打包实体描述文件所在(在文件系统或在一个档案文件中)的目录被认为是该资产的全部制品(文件)的根目录。实体描述文件中引用的所有文件的路径都是相对于根目录而言的。当资产以压缩方法打包时,实体描述中引用的所有文件都应存在于根目录或其子目录中。实体描述中对文件的引用是相对于根目录的引用。对于将其制品打包在.ras文件中的资产,将“rasset.xml”作为实体描述的文件名。该文件应放在.ras文件的根目录下。.ras文件中可有多个.rmd文件,但必须有且只有一个位于。”s文件的根目录下的.rmd文件,该文件是该资产的人口访问点。对一个资产包中所包含的附加文件没有限制。资产包中的附加文件可以是出于工具处理或过程中提高实用或实效性的原因而存在。然而这些附加文件不应被视为资产的一部分。所有组成这个资产的文件,以及使用该资产时所需的文件,必须被资产实体描述的(solution>元素中的一个且仅有一个(artifact)元素引用。未被(artifact>元素所引用的文件被视为非该资产所需的(额外)文件,如果去除这些额外文件,用工具对该资产重新打包和发布修订后的资产包是完全合法的,且该重新打包的资产包将被视为与原资产包等价。有两种文件不受上述约束限制(即必须被(artifact>元素引用),第一种是资产实体描述文件(即rasset.xml),第二种是RAsxMLschema文件。对于聚集的资产或定义了多个资产的包,所有实体描述文件中的所有(artifact>节点的引用的全集决定了在转移或复制资产时哪些文件需要保留在该包中。A.1.2非捆绑性打包(制品在原位置)在团队环境中开发制品通常要使用版本控制系统。定义资产的一个方法是将资产实体描述文件加入版本控制系统,并指向制品的原有位置。RAs结构支持这种风格的资产“打包”。24 标准分享网www.bzfxw.com免费下载A13非捆绑性打包(制品移动到新位置处)在许多情况下当制品被打包进一个资产时,制品需要一些改动以使它们可复用。从速点来说,制品可以一个新的身份呈现,并且被移动到新的位置以便进行必要的修改。同样的,RAs结构支持这种情况的资产“打包”。2r躺文件格式21映射RAs到r晒文件RAs仅仅是一个书面的规约,需要更形式化的表示以支持工具处理,为此采用xMLsch一(即x5d文件)来描述。为创建xMI+sch⋯,在此采用RAsuML模型作为生成初始xsd文件的基线。该文件的第一个版本是可描述任何类型资产的默认剖面。基于默认剖面的xMLsch⋯,可以创建包含某特定资产内客描述所需的元素的xML文挡,该xML文档称为实体描述文件,名称为rassetxmI藏文档是资产的访问入口点。实体描述文件位于资产的“根”目录。该文件伴有一个xsd(xMLsch⋯)文件以及任意其他的制品、文件、子目录等。选些文件被压缩为一个扩展名为ras的文件。图A2说明了RAs和ras文件的关系。ns兰!Lsx兰兰!L一。。.兰!!坚:黧嚣%m*i$##进文#一、1L+一c⋯。。\图A2映射RAs到r船文件每个瑚文件包含以下类型的文件a)军或多个xMLsch⋯文件(如:RAsProⅢex5d);b)位于根目录中的一个实体描述文件(如rassetxml).也可有其他的实体描述文件;c)一个或多个制品文件(如:源代码、模型、测试脚车等)。ras文件的每个制品(rassetxml文件和xMLsch⋯文件除外)必须在rassetxml的(solutlon>元素中被引用。每个制品(即文件)应在ras文件中出现一次。211组织r越文件ras文件可在文件系统上组织,或由版本控制系统来组织。可按资产类型、版本、或状态等来组织。212制览r雒文件工具提供商在对资产进行列表显示时,可检查ras文件中的rassetxml文件以提取资产名称和简短描述。rassetxml文件结构可方便地转换为易于铷览的HTML。 GB/T25644—2010附录B(规范性附录)默认剖面的xMLschema(?Ⅻlversion一”1.O“e11cod血g一“uTF_8”?)(船d:schema锄ins:defaultpr。file一”http:///defallltProfileecore”锄1ns:船d一1http://www3.org/200l/Ⅺ哝hema”targetN柚e8pace一”http:///defaultprofileec。re”)(x8d:c锄ple灯ypen柚e一”cl柏sificationl)(xsd:el衄e11tn柚e一”descript瓣oup”type一”defaultprofile:DescriptorGroup’’minoccurs一”O”ma如ccurs一”11】吐ounded”/)(xsd:el鲫印trl柚e一”context”type=”defaultp功file:cont毗”minoccllrs一“0”ma】coccllrs一“皿bound-ed”/>(/xsd:secⅣerlce>(/xsd:c。mple灯ype)(xsd:el锄entr龇e=”C1assificati锄”type一”defaultpr。file:cl粥sification”)(/xsd:elem锄t>(xsd:ele腿ntn柚e一”relatedAsset”type一”defaultprofile:RelatedAsset”minoccurs=”0”Ⅲa】doccllrs一“11Ilbou】删”/)(xsd:el锄entname一”prof2le“t弹e=”def越tprofile:Pr。file”/>(xsd:el锄呲rl锄e一”description”type一”defaultprofile:Description”minoccurs一”0”/)(/xsd:se四lence><】【sd:attrihutenaⅢe;”n柚e¨type一”船d:stringn)(/Ⅻd:attrihte)<瑚d:attribute删e=”idntype=“船d:strillg”/)(/xsd:attribute)(】【8d:attributen曲e一”date”type一“】【sd:string“)(/∞d:attribute>(x8d:attrihuteI】ame=”s七atrtype一”xsd:striIlg”>(/xsd:attribute)(xsd:attributename一”version”type=“xsd:stril】g”)(/xsd:attribute)(x8d:attributen锄e一“舵cessRights”type一”船d:string”)(/xsd:attribute)<】【sd:attribute蛐e=”shortDescription”type一”船d:string”)(/xsd:attribl】te)(/xsd:e∞ple】【Type)(xsd:el锄entn柚e=“AssePtype一“def“ltprofile:AsseP>(/xsd:element)(xsd:c恤pl目船n∞e一”solution“)(xsd:se零lence)(/xsd,compl目四ype)(/xsd:el锄朗t>(xsd:comple—Type啪e一”Artif∞P)26 标准分享网www.bzfxw.com免费下载GB/T25644—2010(xsd:sequence)《船d:eleⅢentI】aⅢe=”artifactc∞te】【t”type一”defaultprofile:Ar匕ifactC。nt毗”Ⅲirloccl】rs—nOn磁Ⅸ0ccurs一”urlbounded”/)(xsd:el衄entn锄e一”artifactD8perldel】c矿type一”defaultprofile:ArtifactDependencynminOccurs一“O”maxoccurs一1unbourlded”/)<】【sd:el卸恸tn曲e一”artifact”type一“defaultprofile:ArtifacPmirloccurs一”O”ma】aoccurs一”11】止011r—ed”/)(xsd:el衄ent啪e一”VariabilltyP。int”type一”defaultprofile:varlabilityPoint”minoccurs一”O”蜓LⅪOccurs一”切吐。衄dedn/)(xsd:el锄entna血e=”description”type毫”defaultprofile;Descripti。n”minoccl】rs一”O”/)(xsd:el锄entn柚e一”artifactType”type一”defaultprofile:ArtifactType”mir帕ccl】rs=”o”maxOccurs一”unboundedn/)(xsd:elementn锄e一”reference”type一“defaultprofile:Reference”miJ’0ccurs一”0”/)(/xsd:sequerlce,(船d:attribllten叩e一“咖e”t】jpe=”】【sd:string”)(/船d:attribute>(船d:at_匕ribute瑚e一“type”type一”船d:string”)(/xsd:attribute>(xsd:attributen柚e一”Versi。n”type一”】【sd:string”)f/x$d:attribllte>《xsd;attributeI】ame一”digestN柚e”type一”xsd:string”)(/xsd:attribute)(璐d:attributename一”digestValue”type一“xsd:string“)</船d:attribute)(xsd:attributen锄e一”acc船sRig址s”t】】pe=”xsd:stri∞”)(/xsd:attribute></x鲥:c∞p1∞ype)(xsd:e1劬ent瑚e=”Artifacrtype一“defa血tprofile:Ar七ifacP)(/xsd:el衄ent>(xsd:se‘孔ence>(船d:elementn柚e一”contex七Ref”type=“defaultprofile:contextRePminoccurs一”O”ma)doccurs一“unbou】1ded”/)<】【sd:el鲫卸tn叩e一“artifactActivit,‘ype一”defaultprofile:Artif∽tActivlt,mir也cLlrs一’。o”皿a∞Occurs一”Ⅷ1bouIlded”/)(/xsd:sequence)(xsd:attributen柚e一”artifacPtype一”xsd:string’。)(xsd:a脚tation)(xsd:documentation){optiollal)(/x$d:doc皿entation)(/xsd:annotati。n></】(sd:attribute)(/xsd:complⅢype)(船d:el锄朗tI】ame=”Usage”t站e=”defaultprofile:usage”)(xsd:armotation)(xsd:documentation)】血i:contentType=mixed(/xsd:documentation)(/xsd:annotati。n)(xsd:seqIlence>(xsd;el锄eIltname一”description”type=“defaultpr。file:Description”mmcurs一“O”/)</xsd:sequerlce>27 GB/T25644—2010(xsd:attriblltename一”n柚e“type一”xsd:striog”/)(船d:attributen柚e一”relatio璐hipType”type一”】【sd:string”)(xsd:a曲otation)(xsd:doc衄朗tati∞)OPTl0NAL(/xsd:docl】mentatlon)(/xsd:珈otation)</xsd:attrih】te)(船d:attribI工te舱me一”assetI矿type一”船d:string”/>(xsd:attr扯qter鼬e一”a8setVersion“type=”xsd:string”/)(船d:attributen锄e一“artifact¨type=“xsd:strh矿/>(/xsd:c唧1e】d”)(xsd:e1曲锄t舱舱一”RelatedAsset”type一”defaultprofile:Relate血sset“)《xsd:a衄otation)</x8d:annotation)(/x8d:element>(xsd:c衄pl哪ypena雌一”co吐e】【t”>(xsd:armotation)(xsd:documentation>】皿i:ordered—true</xsd:docuⅢentation)(/xsd:armotation)(xsd:seqIlence)(x8d:el锄朗tname#”descriptorGroup”type一“defaultprofile:Descript。rGroup”minoccurs一”0”ma)d)ccurs一”udbounded”/)(xsd:el凹entn柚e=”description”type一”defaultprofile:Descriptlon”minoccurs一”0“/)(/xsd:s8中1erlce>(xsd:attrihutename一”name”type一”x8d:stri。19”)(xsd!a11notati∞)(xsd:doc衄朗tation>{r矗Hired)(/xsd;docuⅢentation)(/xsd:a11notation)</xsd:attribute><船d:attribute枷e一“id”type一”瑚d:string”/>(/xsd:attribⅡte)(/xsd;comple】d,pe)(xsd:el咖ent枷e一”Cont毗”type一”defaultprofile:Cont毗”)(xsd:doc衄entation)】血i:ordereditrue(/xsd:documentation>(/】【sd:annotation)(/xsd:el衄卸t)《xsd:c锄pl咖erla啦一”contextRe,)(xsd:afmotation)(xsd:doc皿entation)】皿i:ordered=true(/xsd:docuⅢentation)(/xsd:arⅡlo七ation>(xsd:sequence)(xsd:el锄entrme=“activitY“‘ype=“defadtprofile:Activ北y¨minoccllrs一“o”ma衄curs一”unbounded”/)(/xsd:8e口啪ce>(船d:attributerme一”cont瞰“type=”】【sd:striI】g”/>(/xsd:c唧le■船)<船d:e1衄entn柚e一”C。ntextRef“type茹”defaultprofile:contextRer)(xsd:annotation)(xsd:docum创1tation)xmi:ordered=true</xsd:doc岫entati。n)</xsd:anr帕tation>(/xsdfelement>(xsd:c∞ple咖en锄e一1DescriptorGroup”>(xsd:seqIler坫e)(xsd:el衄凹t咖e=”description”type一”def“1tprofile:Description”minoccllrs一”0”/)(xsd:attributename一”rme”type一”xsd:string”)(/船d:attribute>(船d:attributename一“artifactntype一”船d:string”)</】【sd:attribllte>fxsd:attributemme一”nodeDes口iptor”t蹭e=”置sd:string”)(xsd:annotation>(xsd:doc衄entation)ordered(/xsd;doc衄entation>(/xsd:咖otation)(/xsd:attribl北e>(船d:attributen锄e一“class“icationsch蚰a”‘ype一”xsd:string”/)(/xsd:c∞pl目嘶)(xsd:el锄卸tname一”DescriptorGroup”type一”defaultprofile:DescriptorGro印”>(/xsd:element>(xsd:c。Ⅲple灯ypeI】aⅢe=”FreeFo血Descriptor¨>(/xsd:c01pl臼d=。nteⅡt)(/xsd:c∞pl目船)(xsd:ele雌ntname;”FreeFor曲escripto,type=”defallltprofile:FreeFa咖escripto,>(/xsd:eI∞∞t)(xsd:c∞ple】【Typen衄e一”ArtlfactContext”)(/xsd;c唧le姐妇e)(/x8d:arlnotation)(/xsd:eleⅢent)(】【sd:c伽口l韶Typena雌一”Ar七ifactD印e11denc,)(xsd:sequ蜘ce)(xsd:el凹eIlt咖e一”dep锄d蜘cyKind”type一”defaultprofile:oepeI】deIlcyKind”/)(/xsd:sequer圮e>(xsd:attributerlame一”depeI】der圮四ype”type一1xsd:string”/)(】【sd:attributer衄e一”artifact¨type一“船d:string”/)(/xsd:compl“Type)(船d:e1锄entr】ame一”ArtifactDepeI】dencyntype=”defaultprofile:ArtifactDepeI】dency¨>(/xsd:el锄ent)<】【sd:c。皿口le】12ypen鲫e一”ArtifactActivity”)(xsd:annotation)(xsd:docuⅢentation)xmi:ordered—tnle(/xsd:documentation)</xsd:arlr】otation)(xsd:8equ旬坨e>(xsd:el衄ent咖e一”activity"type一”defaultprofile:Activit,miI心curs一”O”ⅢaⅪOccurs一”unbounded¨/></xsd:se田舢e) GB/T25644—2010(船d:attribute啪e=“conte】【匕”type一”】【sd:string“/)(船d:attrihter如e=”artifact”type一”x8d:string”/,(/xsd:c衄pl电四ype>(xsd:el叫曲tn柚e一”ArtifactActivit,‘ype=”def缸tpr。file:ArtifactActivity”)(xsd:部1notati。n)(xsd:docl珊白北ation)】血i:ordered—true</xsd:documentation)(/xsd:annotati.on)(】【sd:soqIleI】ce>(xsd:el锄entn叩e=”activ北y¨type一”defaultprofile:ActivitrⅢinoecllrs一”o”∞妨ccu”一”∞b。Ⅷ1ded”/)(/"d:8equence)(/xsd:c锄pl啦rype)(x8d:el衄entn锄e一“AssetActhitrtype一”defa山tprofile:AssetActiVit,)(xsd:annotation>(x8d:docuⅢ呲ation)】血i:ordered=true(/xsd:documentation)(/xsd:annotation>(/xsd:el锄ent)(xsd:c锄口le咖en跚e一”Activity¨>硒i:ordered—true(/xsd:documentation>(/xsd:annotation)(船出s8quence)(黯d:el∞朗tn柚e一”activit,type一1defaⅡtProfile:Activity”mirloccurs一“o“Ⅲa】POccllrs一”unbo皿der/)(船d:el锄e11t咖e=”variabilityP。intBinding”oype一”def眦tprofile:variabilityPointBinding”minoccurs一”O”ma如ccurs一”unbour~ded”/>(xsd;el衄entrl柚e一”activityPar衄eter”type一”defallltprofile:ActivityPar锄eter"minoccurs一”0’‘maW0ccurs一“u吐日unded”/)(/船d:se口uence>(xsd:attributen柚e一“task”type一“】【sd:string“)(x$d:armotation){re蝉ired)</xsd:documentation>(/xsd:armotatlon)(/】【sd:attrihte)‘xsd:attributen叩e=”idnt印e=”xsd:string”/)(/xsd:attribute>(z搴d:attribute旭me一”r。le”t跆e一”船d:stri凹”){optional)(/xsd:documentaEion)(/xsd:annotati叽)(/xsd:attribute)(/】【sd:c∞ple灯ype)(xsd:e1衄朗tn叩e一”Activity¨type一”defaultprofile:Activit,)(xsd:annotation>30 标准分享网www.bzfxw.com免费下载GB/T25644—2010(xsd:docum鼬tation)】血i:ordered2true</xsd:docl皿entation)(/xsd:annotation)</xsd:elem朗t){xsd:comple_T阳e舱me=”VariabilityPoint”)(xsd:el衄e吐n柚e一“description”type一”defaultprofile:Description”mir瓜c11rs一”0“/)(/xsd:sequence)《xsd:attributen皿e一”n柚e”type一”】【sd:strillg”)(xsd:annotation){required)(/xsd:documentation)(/xsd:amlotation></船d:attribute)(xsd:attributeI】ame一”i矿type一”船d:stril】g“/)(xsd:attribute咖e一”conte】【t”type一”】【sd:string”/)(xsd:attributer脚e一”artifacrtype一”xsd:string”/)</xsd:c衄ple】【Type)(xsd:el蜘ent蝴e一”VariabilityPoint”type一”defaultprofile:VariabilitYPoint’’)(/xsd:elem鼬t)(x8d:c叩ple双如e11ame=”VariabilityPointBinding“)<】【sd:attributeI舢e一“bi州ingRllle”type一”】【5d:string”>(xsd:aIlnotation>(xsd:d。(Iumer止ati触)扛eqllired)(/xsd:doalm鼬tati姐)</xsd:蛐otati。n></xsd:attribute)xⅢi:ordered=true</xsd:docl】卫崦ntation)</xsd:arlnotation)(xsd:se印ence>(xsd:e1锄entJ1ame一”description”type一”defaultProfile:DescriPtion”mn,∞curs一”O’’/>(/xsd:attribute><船d:attributen柚e一”i矿type一”船d:$trillg”/></xsd:attribute)(船d:attributeI】ame一”i曲isto珂”type=”】【sd:striI】g”>(/】【sd:attribute)(船d:attributen醐e一”vB璐i。n№扣,2糟e=”船d:int”,</xsd:attribute)(船d:attrihuteI】ame一”versionMin。,type一”zsd:int”)(/xsd:attribute>(xsd:attributerme一”artifact"type一”】【sd:string”/>‘xsd:attr撖止ena丑e一”el姐钮rtype一”xsd:string”/)<】【sd:attributerlaⅢe一”class“icati。nsch蜘a”type一”xsd:8tring”/)(xsd:attributen柚e一”dependencyKind"type一”】【sd:8tring”/)(xsd:attributename一”r。quire血l衄朗ptype=”xsd:$tring”/>(xsd:attribute咖e一“r8quiredAttribute”t卵e一”xsd:string”/)<】csd:attributen锄e一”semanticconstraint”type一”xsd:string什/)(/xsd:c锄plexType)31 GB/T25644—2010(xsd:el锄entr蛐e一”Profile“type=”defaultprofile:Profile”)(xsd:annotation)(xsd:documentation)xmi:ordered—true(/xsd:docuⅢentation)(/xsd:mmotation)(/xsd:element)(xsd:c锄pl酗ypen锄e=”Relate血rofile”)(x8d:弧no七ation)(xsd:se田lence)(/xsd:attribute)(】【sd:attribIltename=”versionMajor¨type一“】【sd:int”)‘/xsd:attribute)《】【8d:attributen柚e一”versi∞毗nor¨type一”瑚d:intn)</xsd:attrihute)(硒d:attrihute11ame一”parentI矿type一”xsd:strinr)(/xsd:attribllte>(】csd:attribute啪e一”artifacPtype一”xsd:striIlg”>(/xsd:attribute>(/xsd:co血pl哪ype>(xsd:el叫朗tn锄e一”Relatea陆file”type一“defaultprofile{Relatea畸ofile“)(/xsd:el锄朗t)(】【sd:attributenaⅢe一”type”type一”船d:string”/)</xsd:co皿pl曲盯ype>(xsd:el鲫朗tn衄e一”Artifact船”t即e一”defaultprofne:舡tifactT跆e”/)(xsd:。唧le】【Typena啦一”DepeI】dencyKind“)(xsd:attrib吐e枷e一”name”type一”xsd:string”/)(】£sd:athibutename#”profile”type一”黯d:$triI】g”/)</xsd:c01ple螂’ype>(xsd:el叫entn锄e一”D印endeI】cyKind”t弹e一”def“ltprofile:DependellcyKind”/>(xsd:c锄p1日【cb刊Eent)(xsd:e虻印sionb∞e一”defaultpr。fil8:Descriptor”)(xsd:s8单lerlce)(xsd:el锄entn柚e一”specific”type一”defaultpr。file:N。deDescriptor”minoccurs一”O”ma】血curs=”1ll吐口Ⅱnded”/)(/xsd:sequence)(xsd;attributen柚e一”e】【clusive”type=”船d:boolean“default一1False”/)(/x8d:extension)</】【sd:comple】dcontent>(/xsd:comple啦)(xsd:el衄朗t蝴e=”NodeDescriptor¨type一”defaultpr。file:NodeDescripto,/)(】【sd:c∞ple】【Typename一”ClassificatioIlsche舱“)(xsd:sequence)(】【sd:el衄entn衄e一”descripto,type一”defallltprofile:D蚺“ipto,mmcurs一”O”32 标准分享网www.bzfxw.com免费下载GB/T25644—2010蛐蛐Occurs一111I出ounded”/)(xsd:e1衄e11tn曲e一“description“type一”defaultprofile:Description“mirloccurs一”O”/)《/xsd:sequer】ce)(xsd:attributename=”nameltype一”xsd:string”/)(船d:attributeI】ame=”profile”‘ype一”船d:string”/)(/】【sd:c∞pl懿Type)(船d:el鲫即tn锄e一1classlficationscb啪”t印e一”defaultprofile:classificatio玎scb锄“/)(船d:c叩ple灯卵en叩e一“Descnptorn)(xsd:ele腿ntname一”description“type一”def¨ltprofile:Description”minoccl】rs一”O”/)(/xsd:sequence>(xsd:attributename;“naⅢe竹type一”x8d:string”/)</xsd:c锄ple】oype)(xsd:c唧l臼咖ename一”Reference“>(xsd:sequerlce)(x8d:e1衄entn曲e一”referenceKind“type一”defaultprofile:ReferenceKilld”/>(xsd:eleⅢentn曲e一”description“t跆e一”defauitp功file:Description”m抵c11rs一”O”/)(/xsd:sequence)(xsd:attributerme=”Value”type#”xsd:striI】g”/>(船d;attributerme=”el锄enrtype一”船d:string”/)(/船d:c叩ple■Type)(xsd:el鲫ent11ame一”Reference”type一”defaultprofile:Reference”/)(xsd:c锄ple】【Typen柚e一”RefereI】ceKind”)(xsd;se印ence>(xsd:el锄entn锄e一”description”type一”defaultprofile:Description”Ⅲinoccurs一”O”/></xsd:sequence)(xsd:attributerlaⅢe=”rlaⅢe”type一”xsd:stri“g”/)(/xsd:c衄pl目口ype)(xsd:eleⅢ印tn柚e:“ReferenceKilld”type一”defaultprofile:ReferenceI(ind”/)(xsd:c∞ple】【Typen锄e一”ActivityPar锄eter”>(xsd:sequence)(xsd:el锄entn如e一”description”type一”defaultproflle:Descrlption“Ⅲir啦curs一”O”/)</xsd:sequence>(】【sd:attribute咖e=“defaultValue”type一”xsd:string”/)(/xsd:o唧ledype>(璐d:attributenaⅢe=”freeF。皿Descript。r"type。”xsd:strillg”/>(/xsd:c∞ple】【Type)(xsd:elemeIltn锄e一”FreeFomValue”t如e一”defaIlltprofile:FreeFo加value”/)(/xsd:sch衄a> GB/T25644—201034参考文献[1]Johncheesman,JohnDanjels.uMLcomponents:ASimp】eProcessforspecifyingComponenoBasedSoftware,AddisonWesley,October2000.'