论文部分内容阅读
软件复用可以减少开发费用,增加可靠性,减少风险,近些年来得到越来越多开发人员的重视。但在实际应用中也存在一些问题,例如缺少工具支持,维护可重用构件库的困难以及定位与组装构件的花销较大,其中,构件的表示和检索是影响软件复用的关键因素。
随着软件规模和功能的不断扩大,构件库中产生了大量极其相似的构件。此时,传统的构件检索操作,如关键字和刻面分类法,由于其模糊性,不一致性和不完整性等,已经不大适应日益复杂的构件检索的要求。
另外,随着构件技术的不断发展,不同地域的开发者建立了大量的构件库。但这些构件库往往是分散的,独立的,而且各个专用的软件构件库对构件的表示以及组织形式上都有很大的差别。
针对以上问题,人们发现,在基于构件的软件开发过程中,软件复用面临的主要问题不是如何从构件库中获得可用构件,而是怎样判断构件的有用性。当前对构件的研究集中在语法有用性上,缺乏表达对象“做什么”的能力,由此产生的非形式化和歧义性,无益于软件复用的自动化和工程化。为此,本文将从多个角度在语义上对构件的描述和检索进行研究,主要完成如下三方面的工作:1)用形式说明规格说明语言——Object-Z对构件进行描述,提出了属性、操作和构件的类型的概念,并用形式化的公理描述了多种匹配机制。
2)讨论了把UML信息检索方法作为常规检索方法的补充以提高其检索效率的想法,并在此基础上利用对象的继承性把语义相似的构件作为考察对象,提出了“折衷查找”的概念及其相关的算法。
3)实现了一个基于分布式环境下的构件库检索原型系统,使得构件复用者可以统一处理各个构件库,并且提供了可扩展的、可裁剪的描述能力。