论文部分内容阅读
基于复用的软件开发可以有效地提高软件开发的质量和效率。随着对软件复用的研究与深入,软件构件库作为软件复用的一项重要基础设施,已得到产业界与学术界越来越多的重视。其中,软件构件的分类和检索技术已成为一个主要的研究热点。目前已有很多关于构件的分类和检索方法从不同的角度来管理软构件,但是这些方法都将软构件作为孤立的个体来看待,在分类和检索时并没有考虑软构件之间的连接关系和在实际应用中的部署环境。本文针对现有软构件分类和检索方法的这一问题提出了模型驱动的软构件分类与检索方法,力图从应用系统整体的角度来看待和管理软构件。在构件分类时充分考虑软构件之间的连接关系和所能应用的框架,在构件检索时以应用系统的设计模型抽取出软构件的检索条件,并在检索时能够尽可能选取应用在同一框架中的软构件,使检索更好地为应用服务。 本文首先概述了软构件分类和检索领域中的热点问题和现有的解决方案,并且介绍了目前比较有代表性的软构件分类和检索方法,重点介绍了软构件刻面分类法,详细分析了现有方法中存在的问题和造成这些问题的根源。 提出了以Petri网理论为基础,以软构件分类与检索为目标的基于构件的应用软件系统三层模型CBSSM和软件框架模型CFM。CBSSM模型分为应用处理层、构件提取层和性能分析层三个层次。在建立模型的过程中利用Petri网的行为相关性原理从功能需求中分析提取出软构件并利用Petri网的可达树分析方法分析和验证系统的非功能特性。CFM模型是基于构件的软件系统模型的化简,它以应用框架为建模对象,采用着色Petri网描述构件、构件之间的相互关系和构件与框架之间的关系。 在CBSSM模型和CFM模型的基础上提出了模型驱动的软构件库分类与检索的思想。同时,给出了基于这种思想的软构件库的组成结构和进行软构件分类和检索的工作流程。 提出基于关系的软构件分类方法。根据软构件刻面分类法的特点改进了自组织特征映射神经网络聚类算法,以克服原有的聚类结果与输入样本次序有关和网络结构需要预先确定的缺点。将改进后的聚类算法与刻面分类法相结合,在同一刻面下利用改进的SOM聚类算法对构件的描述信息进行分类,