ICS35.080
L77
a亘
中华人民共和国国家标准
GB/T25644—2010
信息技术
软件工程 可复用资产规范
InfOrmationtechnOlogy—
Softwareengineering—Reusableassetspecificati0Ⅱ
2010—12—01发布 2011一04—01实施
丰瞀髁紫瓣警矬瞥霎发布中国国家标准化管理委员会仅19
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参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯一I11113333444"鸲n弘孔筋孙弘
????? www.bzfxw.com ????
www.bzfxw.com
前 言
GB/T25644—2010
本标准的附录A为资料性附录,附录B为规范性附录。
本标准由全国信息技术标准化技术委员会提出并归口。
本标准主要起草单位:上海计算机软件技术开发中心、上海宝信软件股份有限公司、万达信息股份
有限公司、上海市软件行业协会。
本标准主要起草人:宗宇伟、张敬周、葛孝垄、冯惠、郑红、丛力群、张纯、朱三元、李光亚、欧阳树生、
钱乐秋、王二卫。
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.com ????
www.bzfxw.com
GB/T25644—2010
3.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Ⅱcer
ABD中的一个角色,负责可复用资产的创建。生产者可从现有系统中提取资产,或者针对重复出
现的问题,从零开始开发可复用资产。
3.1.14
消费者 co璐nmer
ABD中的一个角色。消费者是一个应用可复用资产的软件开发者。
3.1.15
目标应用targetapplication
带有可复用资产可解决的问题的一个应用或系统。可复用资产的消费者将该资产应用到目标应用中。
3.1.16
核心RAScoreRAS
可复用资产规范(RAs)的基本描述模型。
3.1.17
剖面pmfjle
一组语义约束和一个xMLschema的集合,用以验证一个实体描述文档。剖面定义了特定类型资
产的实体描述文档中哪些信息是必需的,哪些是可选的。
3.1.18
实体描述mⅡif∞t
描述可复用资产的结构和组成等信息的一个元信息文档,该文档包含了特定资产的具体描述信息。
2
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.com ????
www.bzfxw.com
b)关联、标识符、容器——所有的关联被声明为传值(b卜value)关联。这表示“被包含”的类是一
个xMLsch⋯中的子元素。因此,在需要保持持久性关联的地方,拥有者类要包含一个标
识符(ID)属性,
c)关联的基数——类之间的基数使用uML的表示风格[下限上限]来表示。在上限是无限的
情况下,使用“*”表示;
d)属性——属性名与类名使用同样的规则.以小写字母开头,用连宇号匕”连接多个独立的单词。
属性类型使用与编程语言无关的方式来声明,使用小写字母,例如[stmg,呲]。
属性的必选/可选信息在属性的文挡窗口中获取.值可“是[requ,red,opt-⋯1]。
属性的可见性在默认情况下被声明为私有的,但这些语义并不直接转换到xMI.sch⋯中。
5可复用资产
5 1导引
可复用软件资产(简称赞产)提供了在一个给定的周境下对某问题的解央方案(50lutzon)。图1是
可复用资产的一个抽象描述。资产可有可变点t资产的消费者可在可变点上进行客户化。资产具有用
于指导该资产如何使用的规则。
目Ⅸ
t
**i$
*月*Ⅲ
围1资产的基本概念
贷产是一组制品的集合,制品可以是软件开发生存周期中的任何工作产品,例如需求文档、模型、源
代码文件、部署描述子、测试用例或脚本等。
5 2 RAs的基本模型
5 2 1导引
一个资产蕴含了丰富的信息,不同类型的资产有不同的规约要求。车标准提供了规范各娄资产的
一个核心模型,在此称之为核心RAs,并给出了基于核心RAs的扩展机制,基于核心RAs及其扩展机
制来支持对特定类型资产的规约。本标准给出了针对两种资产类型的扩展:默认构件剖面和默认web
s⋯lce剖面(详见54和55)。
本条主要阐述核心RAs及剖面扩展机制。
5 2 2核心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
分凳描述子:名称,值对露央方案制g一需求模型、代码、测试、文档⋯·使用指导和活动填充可变点目美资产聚合、相但【、依植、父图2核心RAs的主要韶分本标准采用uML表示核心RAs模型.如图3所示。模型中的每个类代表一个资产元素,类问的聚舍关系表示元素的拥有者和包含者之间的关系。关联关系描述了资产元素的关联,一般用标识符来曝持关联关系。对棱心RAs各个类的详细阐连见527~5215。围3核心RAs的uML模型蠹F辱苗孽 ????? www.bzfxw.com ????
www.bzfxw.com
GB/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
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.com ????
www.bzfxw.com
GB/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列出了必选属性,这些属性中有许多存在于可选类中,意味着在打包资产时该类的xML
schema节点不是必选的。
表1核心RAsuML模型的必选属性
必选类 必迸属性 可选类 必选属性
Asset ReIated矗pro矗le
id id
Profile verSlon—m剖or
id-historv version—minor
Context
version—minor id
DescriDtor
Artifacocomextcontext—id
Artifac仁dependencyartifacoid
Variabllity-point
id
Artifac仁type type
Art证ac}activityartifact+id
Contex仁ref
Acti“tv id
task
VariabiIity-poin卜bindingvariabmty-poin卜id
binding-rule
Itelated_asset
rdadonship_type
5.2.7As∞t(资产)
每个实体描述文档都以单个Asset实例开始。Asset实例定义了可复用软件资产的身份(见5.2.14)。
Asset实例包含两个必选的属性:Mme和纪。属性∞,,l#(资产名称)取值为简短字符串,该字符串
应反映该资产的一般解决策略或资产可处理的问题,属性以(资产标识符)取值为全球唯一标识符,用
于在工具化处理中区分不同的资产。
属性也fe(日期)包含一个符合默认xML格式(YYYYMM—DD)的有效日期。该属性指明了
8
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
????? www.bzfxw.com ????
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。
与该周境相关的制品是与测试相关的,不需要直接应用到目标应用中。例如:脚本、样本数
测试
据或测试计划。
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属性是必选的;对指定为(作为资产包的组成部分的)实际文件或工作产品的制品,】】 ????? www.bzfxw.com ????
GB/T25644—201 0
其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)元素标识了当前制品与当前资产中其他制品的依赖。每一个元素包括一个
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 ????? www.bzfxw.com ????
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
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 ????? www.bzfxw.com ????
GB/T25644—2010
5.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(资产身份)
某个特定的资产可通过资产标识符和版本号唯一确定。一旦资产标识符改变,它就成为一个全新
的资产。当资产演变为一个全新的资产时,建