基于刻面分类的构件检索
- 格式:pdf
- 大小:271.93 KB
- 文档页数:7
L ive S ky®R esearch文档编号:DTESD-DCT-1Confidential level(受控)构件检索工具设计说明书Version 0.1湖南力唯中天研究院All Rights ReservedA. 文档变更历史日期版本变更说明作者2011.12.21 1.0 赵鄂B.文档审核历史审核日期版本审核意见审核人内部资料,请妥善保存第2页/共14页目录1引言 (4)1.1编写目的 (4)2设计技术及开发环境 (4)2.1 设计技术 (4)2.2 开发环境 (4)3系统设计 (4)3.1 运行环境 (4)3.2 系统功能描述 (4)3.3 系统架构 (5)4.框架组成 (5)5.模块设计 (6)5.1 构件检索对话框 (6)5.2 构件下载对话框 (9)5.3 数据库操作 (10)5.4 检索信息模型 (10)5.5 FTP操作 (12)5.6 文件操作 (13)内部资料,请妥善保存第3页/共14页1引言1.1编写目的本文档是为了系统开发人员和测试人员能快速查阅系统的设计思路和具体功能,对系统的整体架构有大概的了解。
2设计技术及开发环境2.1 设计技术2.2 开发环境本系统需要的开发环境:Eclipse 3.7,JDK 1.6。
服务器端需要的环境:mysql5.1,Serv-U V11.0。
3系统设计3.1 运行环境3.2 系统功能描述功能列表:1. 能通过关键词或刻面属性检索构件。
2.查看构件的基本信息。
内部资料,请妥善保存第4页/共14页内部资料,请妥善保存 第5页/共14页3. 可以选择需要用到的构件。
包含功能:按关键字模糊检索构件,按刻面属性精确检索,查看构件信息,下载构件。
3.3 系统架构构件提交工具中主要模块之间的交互如下图所示:构件检索对话框用户操作检索结果表读取数据表t_register构件库检索检索信息本地构件读取检索构件下载对话框提取选中的构件信息下载进度条下载构件图3.1 构件提交阶段主要模块之间的交互4.框架组成构件检索采用一个构件检索对话框。
一种基于刻面分类描述的软件构件查询方法
孟闻天;张维石;史金余;张秀国
【期刊名称】《计算机工程与应用》
【年(卷),期】2005(041)012
【摘要】该文分析了软件构件的刻面分类描述的特点,通过借鉴XML查询语言ApproXQL中树匹配的思想及其相关理论,提出了一种新的基于刻面分类的软件构件查询方法.该方法将基于刻面分类的构件XML描述文档映射为一棵构件树,将查询表达式映射为一棵查询树,通过构件树与查询树之间的匹配算法查找需要的软件构件.这种查询方法支持布尔查询和模糊查询,具有一定的张弛能力,能在保证一定查准率的基础上提高查全率.该方法适用于面向网络的跨构件库查询.
【总页数】5页(P61-64,81)
【作者】孟闻天;张维石;史金余;张秀国
【作者单位】大连海事大学计算机科学与技术学院,大连,116026;大连海事大学计算机科学与技术学院,大连,116026;大连海事大学计算机科学与技术学院,大
连,116026;大连海事大学计算机科学与技术学院,大连,116026
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于刻面分类描述的构件检索方法研究 [J], 舒远仲;陈志勇;彭晓红;刘炎培
2.一种高效的基于刻面分类的构件检索算法研究 [J], 姚全珠;刘波
3.基于刻面分类的软件构件的表示 [J], 熊娟;周定康;黎川;乔晓英
4.基于刻面描述的数据空间原型系统 [J], 王江海;刘莉;武林仙;崔晨;吴扬扬
5.一种基于刻面分类和聚类分析的构件分类检索方法 [J], 刘大昕;赵磊;王卓
因版权原因,仅展示原文概要,查看原文内容请购买。
基于刻面分类模式的构件库检索方法作者:梁粤任洪敏张敬周来源:《电脑知识与技术·学术交流》2008年第16期摘要:可复用软件构件的检索是构件库和软件复用领域研究的一个重要课题。
基于刻面分类模式的检索方式拥有准确、高效的优势,因而得到了广泛应用。
论文介绍了刻面分类模式的相关概念以及刻面树的创建方式,分析了基于刻面分类模式对软件构件库进行检索的规则,该规则将用户选择的刻面和术语通过合理的并和交运算组合生成数据库查询条件来完成检索。
最后根据规则提出了相应算法以及刻面分类模式检索在实际构件库系统中的实现方法。
关键词:软件复用;构件库;刻面;构件检索中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)16-21315-03Component Retrieval Method Based on Faceted Classification SchemeLIANG Yue1,REN Hong-min1,2,ZHANG Jing-zhou2(1.Department of Information Engineering, Shanghai Maritime University, Shanghai 200135,China;2.Department of Computer Science and Technology, Fudan University, Shanghai 200433,China)Abstract: The retrieval of software components is an important issue in the development of component library and research on reusable software. The retrieval technologies based on faceted classification scheme have been widely accepted for its high accuracy and efficiency. This paper introduces the idea of faceted classification scheme and facet tree, analyzes the principles of retrieving components based on faceted classification scheme, which process the facets and terms selected by user and accomplish the condition of data base query by some reasonable union and intersection operations. According to the principles, it proposes an arithmetic and some implementation methods in a real component library management system.Key words: software reuse; component library; facet; component retrieval1 引言随着对软件复用技术的深入研究和软件构件数量的迅速增长,构件库系统得到了广泛使用。
分类号:密级:公开学号:2010181单位代码:10407硕士学位论文论文题目:基于刻面描述的可复用构件库的研究研究方向软件工程、软件复用专业名称计算机应用技术研究生姓名马亚飞导师姓名、职称董跃华副教授2013年6月5日江西·赣州摘要随着信息社会的快速扩充和发展,计算机软件的多样性、复杂性以及更新换代的迅速性已经成为了信息社会进步的掣肘。
传统的软件开发技术手段已经不能满足软件产品快速增长的需求,因此软件开发的技术引起了广大研究人员的注意,改善软件生产的能效比和质量成为了开发人员研究的热点方向。
软件复用是指重复使用以往的成熟的软件系统中的先验知识,这样就能大幅度加快软件开发的进度。
软件复用的思想给如何加快软件开发这一问题带来了一个契机,它也被视为是解决软件危机的主要方法之一。
但随之而来的则是软件复用成功率的问题,如何才能真正的做到软件复用也显得尤为重要。
当前的研究中已经有了改善该问题的技术和手段,其中构件技术成为了提升复用成功率的首选途径。
在构件技术的研究和演变阶段,有多个关键问题亟待解决。
如何从现有的系统中抽象出构件;如何设计实现构件;如何使用构件;如何去管理可复用构件等等。
其中构件的管理决定着构件复用的效率和质量,一个有着良好构件管理设施的构件库系统能帮助用户较快地理解构件并加以复用。
本文研究了构件的刻面分类这一方式后提出问题。
在基于刻面的构件检索过程中,用户一般是不参与构件刻面分类方式的制定,因此不是很容易去理解构件库管理者对于构件的分类方法,更难以将自己真正的需求传递给构件库,从而影响了检索结果的满意度。
本文在这个问题的基础上提出了刻面权重的概念,将用户对刻面不同关注程度的实际情况进行了量化。
然后以此为切入点,将模糊聚类的数据分析方法与构件的检索方法进行结合,提出了一种新的构件检索模型,改善了构件的检索性能,增加了复用的成功率。
另外,本文还给出了改进后的构件检索模型的实现方法和细节,在移动终端系统平台进行实现,搭建了一个移动终端软件开发领域内的本地构件库。
基于刻面分类的构件检索袁冬娟,周晓峰河海大学计算机及信息工程学院,江苏南京(210098)摘要:构件库是软件复用技术的核心,而如何有效检索到可复用的构件是关键。
在众多的构件检索方法中,刻面检索是一种得到广泛应用和高效的检索方法。
这方面的研究和实践也一直是构件检索的重点,并且结合新技术而不断发展着。
本文介绍了构件刻面检索的现状,并对其未来的发展进行了展望。
关键词:软件复用,构件检索,刻面1引言软件构件技术是影响整个软件产业的关键技术之一[1]。
它被认为是有效提高软件生产率、缩短软件产品交付时间和提高软件质量的新途径。
近年来,构件技术的发展和基于构件的软件工程(Component - Based Software Engineering,CBSE)[2]的提出,使得构件库的建立成为发展的必然趋势, 因为基于构件的软件开发需要具有大量可供选择的可复用构件,提供验证合格的构件就必须通过构件库来实现,但如何有效地从构件库中准确地检索到所需要的构件是构建构件库的关键技术问题。
有效的构件检索机制能够降低构件查找和理解的成本,软件构件的分类和检索方法决定了构件库的组织、管理,以及构件库的查询和用户对软件构件的理解,是软件复用的基础性问题,也是近来软件复用研究的一个热点。
基于刻面分类的构件检索方法以其能够较大地提高检索效率,而且有助于复用者理解构件和目标领域的优点得到广泛的应用。
2构件检索的现状随着软件复用实践的深入和构件库规模的扩大以及新技术的不断发展,出现了很多构件检索方法。
目前的构件分类和检索方法有两种:一是W. Frakes从构件表示出发分为的人工智能方法、超文本方法和信息科学方法三类。
信息科学方法是目前实际复用项目中应用较为成功的一类, 又分为基于受控词汇表(枚举、刻面)分类和基于不受控词汇表(如关键词)分类两种形式,其中以枚举、刻面、属性值、关键词和正文检索几种方法较为常见;另外就是H. Mili按照复杂度和检索效果的递增将其分为基于文本的、基于词法描述子的和基于规约的编码和检索方法[3]。
构件检索方法又可以归结为三类:基于外部索引的检索(如关键词、刻面、属性值)、基于内部静态索引的检索(基于规约的构件检索)和基于内部动态索引的检索(基于行为的检索)[4]。
具体的研究和实际应用例如Prieto-Diaz提出的基于刻面分类的检索[5],Andy Podgurski等人提出的基于构件行为采样的检索[6],Merkl D.[7]等人首次将神经网络用于构件检索,Penix J.[8]等人提出利用语义特征对构件进行分类检索;到对构件的形式化表示和检索,在文[9]中作者提出对构件的基调匹配和规约匹配;1999年Damiani E.在文[10]将模糊数学用于构件的检索。
构件搜索引擎是近年来CMU/SEI的Seacord等人研究和开发的一种构件搜索系统[11],能够在Internet的各个节点上自动寻找和搜集JavaBeans、Active X、CORBA、EJB等构件,获得构件的URL等相关信息,并为之建立索引。
随着www 和Internet技术的发展,出现了xml、Web Services等技术以及本体的理论都为构件检索提供更为广阔的前景。
在文[12]中将xml结合刻面分类方法来对构件进行表示和检索。
李玉山等人在文[13]中介绍了在刻面分类的检索的基础上采用Web Services技术对构件进行封装实现了构件库的互操作功能。
近年来随着本体的理论研究和应用的发展,本体在信息检索特别是基于知识检索中得到广泛的应用[14,15]。
Ruben PrietoDiaz在他的文章[16]中给出了一种基于方面(Facet)的本体构建方法。
目前基于刻面分类的构件检索以其能够丰富表达构件,较大的提高检索效率而且有助于复用者理解构件功能而得到了广泛的重视和应用,被视为是一种比较理想的构件库分类和检索策略,被众多构件库管理系统所采用。
3基于刻面分类的构件检索3.1刻面分类的特点刻面(facet)[17]这个术语最早使用是在50年代,分别出现在Ranganathan的图书馆分类系统中和Guttman的一项社会调查中。
但是那时的刻面概念还比较模糊,刻面之间也存在着语义上的交迭等诸多不合理因素。
然后Prieto-Diaz[18]将刻面分类方法应用于GTE公司的构件项目时,发现该方法能够提高检索效率,而且有助于构件使用者理解构件和目标领域。
刻面是一个单词或短语的固定集合,用于描述构件的某个方面或视角(viewpoint)。
每个刻面具有一组术语,术语之间有类层次关系和同义词关系而形成结构化的术语空间。
不同的刻面(刻面,术语)构成分类中子集合中元素的满足条件。
构件的描述术语仅限在给定的刻面之中选取,在术语空间中游历可以帮助复用者理解相关领域。
刻面具有下列特点[19]:(1) 刻面必须充分明确地描述构件库中全体构件,即每一个构件都可以用该刻面分类。
(2) 每一个刻面与一个术语空间相关联。
任意两个刻面的术语空间是正交的,即一个刻面的术语发生变化不会影响到另一个刻面的术语空间。
(3) 一个刻面的术语空间为有限的不定空间,即可以随时间的演进而动态地增加和删除术语。
(4) 每一个构件的所有刻面必须予以定义,不允许在对构件分类时有未定义的刻面;但查询时,用户可以利用任意数目的刻面来查询。
(5) 构件库管理者对构件进行分类时,应该针对每一个刻面,从术语空间中选择适当的术语可以是多个术语,来完成构件的封装工作。
(6) 在一个术语空间中的术语按一般/特殊关系形成树状的层次结构,每一个术语附带有不定数目的同义词(术语间可以具有同义词关系)。
F1F2 ………… F i图1刻面及其术语空间的关系F1 F2…F i是描述构件特征的刻面,{ F1;T11,T12 …T1j } { F2;T21,T22 …T2j }…{ F i;T i1,T i2 …T ij }是一个分类子集合中元素的满足条件。
其中T11,T12 …T1j;21,T21,T22 …T2j ;T i1,T i2 …T ij分别是F1 F2…F i中的术语集合。
在刻面分类策略中,构件库管理者通过将刻面与对应的术语相联结,可以在构件间建立复杂的联系。
与一般的层次分类策略相比,刻面分类策略更易于修改,更富有弹性,因为对一个刻面的修改不会影响到其它的刻面。
同时,每个刻面对应一个结构化的术语空间,避免了一般的关键词分类策略的杂乱无章,使得对关键词的管理更为方便和有序。
术语空间中的术语有两种关系,即一般/特殊关系和同义词关系,术语间有了这两种关系后,用户可以沿着术语间的关系迅速对术语进行定位。
同时,用户在检索所需的构件时,有时很难对构件的各个刻面作出准确的描述,因而要查找的术语可能不够精确。
另外不同的用户由于习惯不同,使用的术语也不尽相同,因而查找时容易出现术语的不匹配(mismatch)。
利用这两种关系,既可以统一用户间术语使用上的差异,又可以帮助用户将自己的检索需求进一步修正和细化,这也是一个逐步求精的过程。
3.2刻面分类模式的发展NATO标准最初的刻面的分类是NATO标准中的刻面分类模式,它的刻面集合包括:对象、功能、算法、构件类型、语言、环境[20][21]。
3C构件模型3C构件模型是在1989 年的“Reuse in Practice Workshop”中由一些系统工程领域的专家提出的,它是关于构件的一个指导性模型。
3C构件模型的刻面分类方案主要来自该模型描述构件所采用的3个特征:概念(concept)、内容(content)和语境(context)[22]。
概念用于描述构件的功能,构件的概念依靠它的接口说明及所执行操作的语义描述表现出来,使用者可以从概念描述中了解它的功能;内容描述构件怎样完成概念所描述的功能,它是概念的细化描述;语境描述构件与其它构件的关系,这是构件中最复杂的特征描述,这种描述又可以从3个方面考虑。
(1)概念语境,说明在给定系统中,构件在接口和操作语义上的相互关系。
(2)操作语境,说明操作对象的特征。
(3)行为语境,说明一个构件在执行时与其他构件之间的相互信赖关系。
3C 模型是一个高抽象层次的、可裁减的、可扩展的一个构件描述的指导性模板,它主要用于对构件的可复用信息的描述。
3C模型的描述主要由构件生产者提供。
基于3C 模型的软构件描述语言允许刻画类属构件属性,更适合于形式化的方法和语言。
REBOOT系统的刻面分类模型 REBOOT(Reuse Based on Object-Oriented Technology)模型是Even-Andre karsson等人在REBOOT项目总结中提出的[23]。
REBOOT 中采用的刻面包括:(1)抽象(abstraction):对构件概念的抽象描述。
(2)操作(operation):对构件所提供的操作的描述。
(3)操作对象(operate on):描述构件操作的对象。
(4)依赖(dependency):描述构件与外界的依赖关系。
它主要用于对可复用构件进行分类及检索。
使用这四个刻面为面向对象构件分类时,抽象刻面常为类名,操作刻面常是类的方法,操作于刻面描述与之合作的其它构件,其术语空间与抽象刻面是基本一致的。
从整体上看来,REBOOT的刻面分类模式主要针对的是源代码级别的构件,而且不具备描述粒度较大、结构较复杂的构件如模式、框架等的能力。
REBOOT模型则主要用于对可复用构件进行分类及检索REBOOT 的描述则应由构件库的管理者提供。
REBOOT模型只允许按照给定的刻面框架结构描述已有的软构件。
因而适合于非形式化的方法。
青鸟构件库系统的刻面分类模型北京大学软件工程研究所提出的青鸟构件库中的构件也是采用以刻面分类为主、多种分类模式相结合的方法对构件进行分类描述。
它分为五个刻面:(1)使用环境:构件库中任何构件都必须依赖于一定的使用环境才能得到复用,即使是源代码级的某些通用构件,也必须依赖于特定的编译系统。
(2)应用领域:构件的应用领域是该构件原来或可能被使用到的应用领域(及其子领域)的名称。
这里的领域,指共享某种功能性(functionality)的系统或应用程序的集合。
构件库中任何构件都有一个适用的领域,一般的通用构件适用领域为General。
(3)功能:构件的功能是该构件在原有或可能的软件系统中所提供的软件功能集。
构件库中任何构件都必须提供一种或多种功能。
(4)层次:构件的层次是构件相对于软件开发过程阶段的抽象层次。
(5)表示方法:构件的表示方法是用来描述构件内容的语言形式或媒体,如源代码构件所用的编程语言等[22,24]。
每个刻面中的术语按照一定的关系组成术语空间,青鸟构件库中的刻面术语存在一般-特殊和同义词关系,术语的一般、特殊关系形成一个树形结构,越顶层的术语抽象层次越高。