应用科学学报 ›› 2020, Vol. 38 ›› Issue (5): 682-694.doi: 10.3969/j.issn.0255-8297.2020.05.003

• 智能计算新技术 • 上一篇    

基于构建软件功能描述的可复用软件检索方法

伏广宇1,2, 李传艺1,2, 葛季栋1,2, 骆斌1,2   

  1. 1. 南京大学 计算机软件新技术国家重点实验室, 南京 210046;
    2. 南京大学 软件学院, 南京 210093
  • 收稿日期:2020-06-14 发布日期:2020-10-14
  • 通信作者: 李传艺,博士,助理研究员,研究方向为软件需求工程.E-mail:lcy@nju.edu.cn E-mail:lcy@nju.edu.cn
  • 基金资助:
    国家自然科学基金(No.61802167);南京大学中央高校基本科研业务费资助

Retrieving Reusable Software by Constructing Functional Descriptions

FU Guangyu1,2, LI Chuanyi1,2, GE Jidong1,2, LUO Bin1,2   

  1. 1. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210046, China;
    2. Software Institute, Nanjing University, Nanjing 210093, China
  • Received:2020-06-14 Published:2020-10-14

摘要: 软件复用技术能够有效降低新软件产品开发的时间、人力和成本.在软件复用中,基于待开发软件的基本描述与简单需求,如何衡量已有软件的可复用性并对大量已有软件进行快速、自动的可复用性评估,已成为首要解决的问题.目前已有较多评价软件产品或软件项目相似度的研究工作,但相似性并不等于可复用性.因此,该文通过调研软件产品可复用性的相关研究,定义了一套适用于开源软件仓库中软件项目的可复用性评价指标,并设计了基于待开发软件项目的基本需求快速查询可复用软件项目的算法,实现了可复用软件项目检索系统.通过实验及专家对检索结果的评价,验证了所提描述方法的高效性和可用性.

关键词: 软件复用, 软件需求, 软件相似性, 软件项目推荐, 软件可复用性, 开源软件仓库

Abstract: Through software reuse technology, reusing existing software components and modules can effectively reduce the time, labor and costs of new software product development. In software reuse, how to measure and evaluate the reusability of existing software is the first problem to be solved. Although there are a lot of researches assessing the similarities, it is not equal to the reusability. Therefore, this paper defines a set of assessment indexes which is applicable to the reusability of software projects in open source software repository, then designs an algorithm to quickly query reusable software projects based on the basic requirements of the software to be developed, and finally completes the retrieval system of the reusable software project. Experimental results and expert evaluation of the retrieval results verify the efficiency and usability of the method.

Key words: software reuse, software requirements, software similarity, software project recommendation, software reusability, open-source repository

中图分类号: