admin 管理员组文章数量: 1086019
2024年4月20日发(作者:tarzan是什么意思啊)
维普资讯
计算机系统应用 2007年第1O期
基于xm l技术的软件构件表示与检索
Xml—based technology Software Component RepresentatiOn and Retrieval
孙念民 李万龙 郑山红 赵辉 (长春工业大学长春130021)
摘要:软件构件库作为构件复用的基础物质仓库,扮演了极为重要的角色,而可复用构件的表示、分类、检索是构
件库的关键。本文在构件库系统的构件分类与描述方案的选择设计中,分析了构件的刻面分类方法,提出采用
xML技术实现构件的刻面描述方案,并从技术实现、发展演化等方面对该方案作了较详细的分析,之后参照国内
外相关学术成果,结合xML技术特点,给出了具体的刻面设计及描述实现,从而建立起软件构件库系统的构件数
据模型。
关键词:可复用构件构件库分类刻面
1 引言
提高软件的生产效率和质量,软件复用是一条切
实可行的途径。近年来,由于得到了面向对象等新技
术的支持,软件构件复用技术已成为当前软件复用研
究的焦点。基于构件的软件开发(cBsD)将软件开发
的重点由原来的软件编程转移为利用已有构件组合集
2构件的刻面分类方法
刻面分类方法将关键词(术语)置于特定的语境
中,从而避免了关键词的杂乱无章,而且它通过从特定
的反映构件本质特性的视角(刻面)来观察要分类的
项,从而出现了更加精确和准确的分类。多数专为构
件的检索而设计的工具都采用了这种方法,北大西洋
公约组织(NATO)标准推荐在构件库中采用刻面分类
模式(Faceted Classiifcation scheme),对构件的分类
成新的软件系统。构件库理论研究的重点是构件的分
类与检索,即研究构件分类策略、组织模式、检索手段
和构件相似性分析。
在可复用构件库中存储、查询、获取构件是复用技
术的关键技术之一。尽管可复用对象复用的前景十
分乐观,但不得不面对分类、存储、获取可复用构件的
问题。只有合适的分类方法才能更好地满足检索的需
要,而检索是分类的目的。可复用构件的分类应该满
使用一组{刻面,刻面术语}对,也称为描述符。每个
刻面中有一组术语,术语间由于有一般特殊关系和同
义词关系而形成结构化的术语空间。构件的描述术语
仅限在给定的刻面之中选取,在术语空间中游历可以
帮助复用者理解相关领域。
足下面的标准[1]:
(1)可以容纳不断扩大的构件集合,这是大部分
3 xmI技术在软件构件的分类与检
索中的应用
3.1 xml技术简介
软件组织的特点之一;
(2)支持寻找相似构件的能力,而不是精确匹配;
(3)支持跨领域寻找功能等同构件的能力:
(4)准确并且有较强的描述能力:
(5)易于维护,即增加、删除、更新分类的结构和
词汇不需要对构件重新分类:
XML是W3C[2](World Wide Web Consortium)
推荐的一种可置标语言,它的设计动机是在网络上规
范化文档传输,它在本质上与程序设计语言一样,是具
有严格语法定义的形式语言,但较一般的形式语言简
(6)对于管理人员和用户来说都易于使用;
(7)服从自动化的过程。
捷和通用。与HTML一样,xML也源自SGML(Stand-
ard Generalize Markup Language),它保留了SGML
80%的功能,使复杂程度降低了20%[3],尽管如此,
维普资讯
2007年第10期 计算机系统应用
XML却有着HTML语言所欠缺的巨大伸缩性与灵活
性。XML不再像HTML一样有着一成不变的格式。
环境才能得到复用,同时作为扩展,在软件子刻面中增
设“Other”元素,用于记录附带信息,如构件依赖关系
等等。
XML实际上是一种定义语言,即使用者可以定义无穷
无尽的标记来描述文件中的任何数据元素,从而突破
“应用领域”刻面是该构件可能被使用到的应用
领域(及其子领域)的名称。这里的领域,指共享某种
功能性的系统或应用程序的集合。构件库中任何构件
都有一个适用的领域,一般的通用构件适用领域为通
了HTML固定标记集合的约束,使文件的内容更丰富
更复杂并组成一个完整的信息体系。XML主要的优点
有:良好的可扩展性;严格的语法要求;内容与形式分
离;不同系统间方便的信息传输(通用数据交换格 用,根据实际应用情况,指定为枚举值:通用、商业、科
式);较好的保质性。
3.2应用xrnl技术对构件的表示
参照NATO关于可复用构件的开发、可复用构件
库的管理指导标准,以及REBOOT环境,结合国内青乌
系统的构件刻面分类描述方法,考虑到构件技术向多
层次、简化安装的方向发展以及系统需求向工Inter・
net、动态演变、管理自动化等方面的发展趋势,结合
XML语言自身的特点,系统设计了如下刻面与子刻面。
(1)构件形态:表示形式,种类,在开发中的抽象
层次:
(2)应用环境:硬件环境,软件环境;
(3)应用领域应用领域,备注;
(4)实现功能 功能分类,功能描述,关键词族,接
口族:
(5)文件属性:文件名,文件大小,制作日期,版
本,作者。
在这些刻面中:
“构件形态”刻面是指构件的形式和状态等集合。
其中,“表示形式”元素是用来描述构件内容的语言形
式或媒体,构件库中任何构件都以一定的形式存在,因
而必然有其外在的表现形式。根据实际应用情况,将
其术语空间指定为枚举值:DLL.EXE,源码、图形、其它;
“种类”元素是指定构件成为最终产品时的应用种类,
根据实际应用情况,指定为枚举值:cOM/cOM+,Ac—
tiveX(OCX)、.NET,vCL/CL)(,JavaBean,CORBA,
ClassLibrary,Others;“在开发中的抽象层次”元素是构
件相对于软件开发过程阶段的抽象层次。根据实际应
用情况,指定枚举值为:分析、设计、编码、测试其他。
“应用环境”刻面是使用(包括理解/组装/修改)
该构件时必须提供的硬件和软件平台。如所需的特定
的硬件环境、操作系统、数据库平台、网络环境和编译
系统等。构件库中任何构件都必须依赖于一定的使用
学、人文、政府、财政、制造、航天、保健、法律、传媒、银
行、办公、运输、安全、其它等等;“备注”元素可以说明
一
些附带情况。
“实现功能”刻面是该构件在原有或可能的软件
系统中所提供的软件功能集。构件库中任何构件都必
须提供一种或多种功能。根据具体情况,其“功能分
类”元素指定为枚举值:图形图像、网络通信、数学、数
据库、用户界面、系统、驱动程序、适配器、容器、业务逻
辑、协调任务、代理程序、协作、字处理、文件操作、其他
等等;“功能描述”元素则提供文字性的描述,也为将
来语言的智能分析提供一种扩展;“关键词族”、“接口
族”子刻面是功能描述信息中重要的部分,根据实际情
况,允许多个关键词和接口。
“文件属性”刻面是构件的实际提交载体属性,可
以将需要的文件(如:构件实体、使用说明、帮助文件、
IDL文件等)打包提交,因此其文件名不依赖构件名;对
作者信息描述便于构件信息的反馈、更新及使用者与
作者的交流等,故对作者信息有较详细的描述。
以上五个刻面彼此间相互隔离,而且比较充分地
体现了构件与复用相关的特性,能较好的适应构件库
今后的发展。四个刻面与其子刻面,分别对应XML文
件的元素和子元素。同时,设计中尽可能多的对元素
术语指定枚举值(并在具体实现的系统界面中指定下
拉列表选择),在一定程度上减少了软件术语差异产生
的影响。
3.3基于XML的构件描述文档的树形表示
DOM(Document Object Model,文档对象模型)是
一
种处理XML文档的好方法,它是通过在内存中构造
XML文档的树形表示模型来处理XML文档的。在此
模型中,每个独立的数据项被视为一个节点[node),
所有的子元素或其中的文本被称为子节点。XML文档
中的元素、元素属性、文本等都是此模型的一个节点。
维普资讯
计算机系统应用 2007年第10期
XML文件数据结构的定义与校验采用XML Schema。
<!一一构件相对于软件开发过程阶段的抽象层次一
一
我们可以用以下带文档类型定义的XML文档(Com—
onentp.xm1)简要地来定义构件的结构:
<?xml version=。1.0。encoding=。gb2312。?>
<Document xmlns:xsi=。http://www.w3.org/
2001XMLSchema一一instance。
xsi:noNamespaceSchemaLocation=。F:\My Programs
>
<LevelOfAbstradion>Coding
</LevelOfAbstradion>
<!一一用来描述构件内容的语言形式或媒体一一
>
<Representation>Visual C++.NET using 1^rrL
Vv, ̄AL\Component.xsd。><Component>
<!一一构件的名称一一>
<Name>Text-to-Speech</Name>
<J一一制作或提供该构件的单位或个人的名
称,以及联络地址等相关信息一一>
<Author>
<Name>Rodney Wh计e</Name>
<Email>rdwh计eLmsn.com</Email>
</Author>
<!一一构件的制作日期一一>
<BulldDate>2006—10—05</BuildDate>
<!一一构件的入库日期一一>
<AdoptedDate>2007—02—12</AdoptedDate>
<!一一构件的版本号一一>
<Version>1.0</Vemion>
<!一一使用(包括理解/组装/修改)构件时必须提
供的硬件和软件平台一一>
<ApplicationEnvironment>
<HardwarePltaform>InteI X86
</HardwarePltaform>
<SoftwarePltaform>Windows 2∞0
</SoftwarePlalform>
<SoftwarePltaform>Windows XP
</SoftwarePlafform>
</ApplicationEnvironment>
<!一一构件原来或可能被使用到的应用领域(及其
子领域)的名称一一>
<ApplicationDomain>CAI</ApplicationDomain>
<!一一构件在原有或可能的软件系统中所提供的
软件功能集一一>
<Functionality>
Transform simple text to speech
</Functionality>
</Representation>
<Size unit=。megabytes。>3.2</Size>
<DevelopmentTool>Microsoft Visual C++.NET
</DevelopmentTool>
<FileProperly>
<FileName>Grant</RleName>
<RleSize unit=。MB。>20</RleSize>
</RleProperly>
</Component>
</Document>
3.4.NET中实现基于XML的构件检索
XPath(XML Path Language,XML路径查询语
言)提供了简单的语法来方便地选取XML文档中的节
点。利用XPath,我们可以指定类似目录的路径,以及
依照路径设定条件来获取内容节点。目前)(SLT.XML
DOM和XPointer都支持XPath规范。XPath查询是以
位置路径(Location Path)表达式来指定的。利用位置
路径我们可以选择一组与内容节点相关的节点。
大致流程如下:
(1)载入XML构件信息文档
为了便于利用XPath来查询构件信息文档,我们
可以利用XPathDocument来载入XML文档,示例代码
如下:
Dim Doc As New
XpathDocument(Server.MapPath(。Compo—
nent.xml“))
(2)验证XML构件信息文档
载入XML构件信息文档之后,我们可以对其进行
合法性验证,这一步是利用XMLUalidatingReade来提
供的合法性检查功能,合法性检查通过则执行第3步。
(3)检索XML构件信息文档
XML构件信息文档验证通过之后,我们就可以开
始检索构件信息了,检索构件信息主要是利用XPath—
维普资讯
2007年第10期 计算机系统应用
Navigator,XpathNodelterator这两个类,检索时我们可 象透过SQL数据适配器对SQL Server数据库进行操
以利用XPath查询表达式提供的强大查询功能,示例 作。
代码如下:
Dim myNav As XpathNavigator
4结束语
myNav=Doc.CreateNavigator()
软件复用技术将促进软件产业的变革,使软件产
Dim mylfer As XpathNodelterator
业真正走上工程化、工业化的发展轨道。软件复用将
myNer=myNav.Select(“/Component/Name“)
造成软件产业的合理分工,专业化的构件生产将成为
While(myNer.MoveNext())
独立的产业而存在,软件系统的开发将由软件系统集
l stName1.Items.Add(my№r.Current.Value)
成商通过购买商用构件,集成组装而成。
End While
(4)将检索得到的构件信息定制输出
参考文献
我们还可以根据需要将检索得到的信息定制输
1 Prieto—Diaz.Implementing Faceted Classiifcation
出,要实现构件检索信息的定制输出我们主要是利用
for Software Reuse[J].Communication,AC.M,1991:
XslTransform类和XmlTextWdter这两个类。利用Xml-
88 97.
TextWriter类我们可以将构件检索信息保存为XML文
2 W3C.http://www.w3.orgl
档,接着还必须根据定制输出的要求编写相应的XSL
3 XML中国论坛.XML实用进阶教程[M],北京:清华
文档,最后就可以使用XslTransform类将XML构件检
大学出版社.2001:21—25.
索信息文档转换成预想的格式。若要实现XML构件
4杨芙清,软件复用及相关技术[J],计算机科学,
信息文档与SOL Server数据库的数据互换,我们可以
1999,26(5):1—4.
利用ADO.NET提供的DataSet数据集对象,DataSet对
(上接第93页)
而有实用价值的研究领域,目前该技术已经广泛应用
参考文献
于社会生活的各个领域。本文分析了SQL Server 2005
1 Rick Dobson,Beginning SQL Server 2005 Express Da—
数据挖掘平台及其数据挖掘功能,利用数据挖掘技术
tabase Applications,http://www.apress.com,
可对石油储运数据进行更深层次的分析。SQL Server
2006.
2005所用算法除了分析服务中自带的多种算法外,还
2刘翔,数据仓库与数据挖掘技术[M],上海:上海交
能够根据挖掘的情况输入具有针对性的算法,但是数
通大学出版社。2005 28—33.
据挖掘的任何一种算法都不是万能的,针对不同的问
3朱建平,数据挖掘的统计方法与实践[M],北京:中
题应采用不同的方法去解决。数据挖掘的实现是一个
国统计出版社.2005.6 1—9.
复杂的过程,数据挖掘工具能够嵌入整个过程中,可以
4张水平,SOL server数据库应用技术[M],西安:西
实时运行,且结果可以传递给集成、分析或报告过程,
北工业大学出版社,2o05.4 1—3.
可以通过简单灵活的方式向组织中的任何人提供分析
5刘芝怡、常睿,数据挖掘在5QL Server 2005中的应
及预测结果。
用[J],电脑知识与技术,2006(6)156—157.
版权声明:本文标题:基于xml技术的软件构件表示与检索 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713595833a642515.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论