论文部分内容阅读
软件复用作为解决软件危机的有效途径,越来越得到广泛的重视。随着面向对象技术和软件构件技术的应用,软件复用技术得到了迅猛的发展。基于构件的软件工程为应用软件的组织、维护和演化提供了一个新的系统框架。与传统的方法相比,它改变了以往一切从头开始的做法,取而代之的是通过将一些预先定制的构件进行组合来满足新的需求。目前,国内外已经形成了一些构件模型比如CORBA、EJB、COM、.NET等支持这种软件复用方式。随着网络技术的广泛应用,不同构件模型的可复用构件将不断增多,能否提供一个有效的工具或方法,使开发者检索和选择到能符合新系统需要的构件成为基于构件的软件开发面临的一个核心问题。当前,国内外已经存在众多的政府和企业拥有构件库,各构件库使用各自不同的数据模型、分类模式和术语,提供不同的描述和检索方法。这就使得开发者为了寻找一个适合应用系统的构件,而只能针对不同的构件库单独使用它所提供的检索方法,这就导致了检索时间的大大增加。国内外现有的构件检索方法在语义和语法结合方面还不够完善。比如基于关键字的检索,往往出现大量与构件接口不匹配的结果。而基于规约的检索,往往忽略了构件的服务功能。构件描述和分类也是构造构件库系统的关键因素之一,一般一个有效的构件检索方法依赖于构件的详细描述和合理准确的分类体系。所以在以往的构件库系统中,检索效率的提高往往以增加构件描述成本为代价。本文在分析了Java、C++等不同面向对象语言所提供的构件的基础上,首先提出了一种基于XML描述的构件本体模型XCM。它是对不同构件实体的一种抽象化的统一描述。一方面,它为弥补不同构件库之间的分歧提供了公共的平台,另一方面,它是一种“零”描述成本的构件模型。也就是说,只需提供构件接口源代码,就可以通过自动化生成工具来转换成对应的XCM模型,有效地降低了描述成本。其次,本文设计了一种基于XCM模型的构件匹配度量方法。它是一种语义和语法相结合的模糊匹配方法。XCM将一个构件描述为四个层次。该方法从最低层出发,对XCM的不同部分采用不同的计算手段,最终定量分析出两个构件的匹配度。最后,本文提出了一个基于XCM构件检索的构件库管理系统设计方案,并对相关的支持工具予以介绍和实验。通过一个Java构件的示例,描述了XCM表示