节点文献
人工智能算法在构件检索中的应用
Application of Artificial Intelligence Algorithms in Component Retrieval
【作者】 周燕;
【导师】 王舜燕;
【作者基本信息】 武汉理工大学 , 计算机科学与技术, 2011, 硕士
【摘要】 随着Internet时代的到来,软件业面临着一系列的变化。软件越来越复杂,时间要求越来越短,软件的代码从几十年前的几百行到现在的上百万行。些变化使得传统的软件开发方法不能满足现在商业界对于软件的需求,软件业面临着越来越大的压力。基于构件的软件开发是解决软件危机的有效途径。它是在一些构件模型的基础上,根据需求选择构件库中的一个或多个软件构件,然后把这些构件组装起来,高效率、高质量地构造应用软件系统的过程。随着网络技术的不断发展,构件库中的构件也越来越多,一般情况下构件库中满足用户需求的构件不止一个,如果让用户自己手动的来进行选择,这无疑提高了对用户的要求,而且不利于构件的智能化组装、增加了基于构件软件开发的成本。所以如何从这多个候选构件中快速、有效的选择出最优或近似最优的构件,从而提高构件组装的成功率是一个关键的问题。本文主要分为三大部分。第一部分阐述了构件的一些基本概念、现阶段比较流行的三种构件模型COM、EJB、CORBA以及软件的质量度量模型,然后介绍了构件库与数据库系统的区别和联系及其主要功能。第二部分主要是根据不同的构件描述形式,介绍了现在常用的四种构件检索方法。第三部分阐述了两种人工智能算法(遗传算法和禁忌搜索算法)在构件检索中的应用。首先对两种智能算法在构件检索中的可行性进行了分析,然后分别介绍了基于遗传算法的构件检索方法和基于禁忌搜索算法的构件检索方法,对这两种构件检索方法的一些关键设计和具体的算法过程进行了详细的描述,并在此基础上进行了实验仿真,对仿真的结果进行了对比和分析,证明了这两种方法的有效性。本文研究的目的和意义在于对于构件数量非常庞大的构件库,根据用户的需求所检索出的构件较多时,利用人工智能算法找出一个最优的构件组合反馈给用户,减少了下一步组装过程中人工参与否认程度,提高构件的组装效率,加快构件的智能化组装的发展。
【Abstract】 With the coming of the Internet Age, the software industry is facing a series of changes. Increasingly complex, shorter time requirements and the length of software code change from a few hundred lines a few decades ago to million lines now. These changes make the traditional software development methods can not meet the current demand of the software business. Software industry is taking more and more pressure. Component-based software development is an effective way to pass the software crisis, on the basis of some component model; it selects one or more software components from component library according to the demand, and then assembling these components together to form a system. It is a highly effective and quality procedure for constructing application software system. With the development of network technology, the number of component in component library is bigger and bigger. Generally, there are more than one component can meet user’s demand, and if we let users make choice manually, it will undoubtedly increase the requirement for users, and also, it isn’t conducive to the intelligent component assembly, and needless to say it will increase the cost of component based software development. So it is a key issue on how to select an optimal or approximate optimal component from the candidate quickly and effectively, so as to improve the success ratio of the component assembly.The thesis has three parts. The first part describes some basic concepts of component、the three popular component model COM、EJB and CORBA, and software quality metrics model. And then it introduces the difference and contact between component library and database system and their main functions. The second part introduces four component retrieval methods according to the different component description form. The third part proposes two component retrieval method using two artificial intelligence algorithms:genetic algorithm and tabu search algorithm. The beginning of this part analyzes the feasibility of two algorithms in component retrieval problem, and then it respectively describes the component retrieval method based on genetic algorithm and the tabu search algorithm. In the end, it compare and analyze the simulation results, the two methods are proven to be effective.The purpose and meaning of this thesis is that in the condition of the number of component in the component library is huge, and at the same time there are many components can meet user’s demand, we can use artificial intelligence algorithms to find an optimal or approximate optimal component and feedback to the user. It can reduce the degree of user’s participation, improve efficiency of component assembly and accelerate the development of intelligent component assembly.
【Key words】 software reuse; component retrieval; genetic algorithm; tabu search algorithm;