论文部分内容阅读
软件复用是解决软件危机的一条切实可行的途径。成功的实施软件复用,需要大量而丰富的软件构件资源。目前在Internet上已有大量的构件资源,但其缺乏有效的组织和管理,这使得软件开发人员为寻找合适、有效的构件需要花费很大的代价。基于Internet的构件收集、整理与检索技术就是要从Internet上获取、整理构件及相关信息,将其进行有机组织,并帮助复用者理解、检索到需要的构件,提高其工作效率和质量。
基于Web搜索引擎的信息处理过程,结合软件构件及其信息的收集整理需要,本文提出了一个构件收集、整理与检索的三阶段技术框架,研究了在每个阶段需要解决的任务,并对已有的基于Internet的构件收集与整理技术的研究与实践进行了分析和总结。以此为基础,本文进一步拓展了相关技术领域,研究了各阶段的技术,并提出了整套的解决方案,从而能够更有效地支持复用者利用Internet上的构件资源。本文的研究工作主要包括:
(1)在构件收集阶段,提出了一种利用搜索引擎并结合对特定站点进行抓取的构件资源获取机制,可以从Internet上有效的获取构件及相关的描述信息。针对获取的信息,本文提出了构件及相关信息的描述模型。该模型提供了对构件和构件关联的各类辅助性资源的描述,并提供了扩展机制以适应不同的应用场景。为了保证与传统构件库系统的兼容,本文同时给出了该模型与IEEE的BIDM规范和W3C的UDDI规范提出的描述模型间互相转换的方法。
(2)在构件整理阶段,通过对信息的观察,本文提出了一组用于识别各类信息间关联关系的算法,包括构件示例代码组织算法、相似构件发现算法、构件与开发者关联关系以及文本描述信息相似关系算法等。其中,构件示例代码识别算法从获取的资源中抽取相关代码进行聚类和排序,为复用者使用构件提供示例:构件功能相似关系识别算法利用构件间的协作关系,采用潜在语义分析技术来计算构件功能上的相似度。
(3)在构件检索阶段,本文提出了一种利用复用者查询请求与构件间的联系以及构件间的相似关系来改进构件查询效果的机制。同时,针对Internet上构件数目比较庞大的情况,本文利用复用者查询日志反映出的复用者偏好,来改进对查询结果的排序。
本文结合现有的各种研究和实践,提出了一个利用Internet上构件资源的技术框架,并有针对性地对部分技术进行了扩展研究,从而使得复用者能够更为有效地发现和利用Internet网上的构件资源,并考虑到了与传统构件库的信息兼容与转换问题,使得复用者可以选择的构件资源范围更大,软件复用成功的可能性更高。研究工作中还研发完成了相应的支持系统原型,该系统已应用在北京大学软件资源系统中,成为了一个关键组成部分。