论文部分内容阅读
随着大型软件的发展和广泛应用,软件重用技术被视为解决软件重复开发,减少软件设计费用,提高软件开发效率的关键技术。构件挖掘技术能为软件重用提供大量封装好的素材。虽然网络上分散着大量的构件,但是目前构件挖掘技术仍然局限在本地数据库或者局域网范围内,而现存的网络搜索引擎基本上还只能获取文本信息,不能有效地进行构件搜索和挖掘,所以本文主要讨论基于网络的构件搜索,构件信息获取问题。 本文首先深入分析了目前构件挖掘技术存在的问题,现有解决方法的局限性,介绍了构件智能挖掘系统结构。然后详细讨论了Java Bean构件的存在形态和在网络上的发布方式,并且对Java Bean构件发布时,嵌入在applet小程序中的大量参数进行了仔细分析,提出了根据参数设置分析构件性质的方法。同时针对Java Bean构件的特性,在详细分析了用户对构件挖掘的需求之后,设计实现了构件智能获取原型系统(CIRS)。 此原型系统主要实现了网络上构件的实时快速搜索,包括用户、搜索和信息描述三个模块,通过三个模块的协同合作提供用户构件详细描述和重用信息。 用户模块分析用户用自然语言描述的需求,通过词性和语法结构分析,提取能够代表需求的关键字,递交给挖掘模块作为搜索依据。在搜索模块递交初步搜索结果时,提出暗示条件供用户选择,利用和用户之间的交流机制,最终确定结果过滤条件,完成对大量结果的细化和过滤,并且提交最终结果给用户。 构件的搜索是结合了专业的搜索引擎技术和搜索Agent进行快速的二层搜索,首先是利用搜索引擎遍历整个网络,缩小搜索范围,提高搜索浓度,然后利用搜索Agent在搜索引擎结果基础上进行有限深度的精确搜索。针对构件的不同形态,不同发布方式,制定不同的搜索策略,不仅可以搜索到以Jar文件出现的构件,还可以搜索到直接以class文件发布的构件,基本涵盖了网络上的所有构件,实现了快速,全面,精确的搜索。根据构件网上信息的特点,信息提取和描述模块将参数提取的和网页上的文本相结合给出构件的完整描述和重用信息。最后对全文进行了总结,分析了原型系统的不足,并对今后的工作进行了展望。