摘要

目前的软件复用技术主要围绕软件代码的复用进行研究。而随着开源项目的增多,基于待开发项目的需求文档分析,实现项目级的复用就显得非常有价值。当开发人员获取项目的软件需求后,通常需要对其分析并构建解决方案,然后进行设计与实施。如果能根据项目的软件需求找到相似的历史项目进行复用,可以大大节省项目设计与实施时间。因此,在现有的项目级复用研究基础上,该文提出一种基于需求分析的项目级复用技术PR-REQ。该方法首先分析历史开源项目,给出了开源项目的领域信息提取算法,代码的功能操作序列提取算法以及数据模型信息的提取算法;然后给出了针对待开发项目需求文档的领域信息提取算法,用例的功能操作序列提取算法以及数据模型信息的提取算法;最后构建需求文档与历史项目的相似性度量方法,从而找到最相似的项目进行项目级复用。为了验证该方法的有效性和准确性,从Github上下载了8个类别的开源项目进行实验,实验结果表明该方法对项目级复用具有较好的实用价值。