论文部分内容阅读
软件复用可以有效地减少在项目开发中的重复劳动。随着开源软件的快速发展,Internet上出现了越来越多质量高、应用广的开源项目。在软件复用实践中,开源软件逐渐成为了可复用构件的一个重要来源。 Internet上存在着大量的开源软件,质量参差不齐。如何从中选择优秀、合适的开源软件作为构件进行复用,是基于开源软件构件的软件开发中需要面对的一个重要问题。选择开源软件包括对开源软件的质量、功能等方面进行评估的过程。已有的研究表明开发人员经常会通过Internet收集与开源软件相关的信息,以此为依据选择和评估开源软件。因此,自动从Internet上收集对评估开源软件有价值的证据信息,既能帮助开发人员简化评估开源软件的操作过程,又能提供比手工收集更全面的证据信息,帮助开发人员更好地作出评估决策。 本文提出了一种开源软件评估证据收集方法,该方法考虑了开源软件在Internet上可收集到的评估证据特性,建立了适用于开源软件多种评估证据类型的收集流程和开源软件评估证据的描述模型。以此方法为基础,本文设计并实现了一个开源软件评估证据收集系统OSER(Open Source Evidence Repository)。此系统适用于多种开源软件评估证据,并可以灵活地扩展以加入新种类的评估证据及其收集方法。 本文主要工作包括以下几点: 1)提出了一个以“评估源信息”为过渡的两阶段开源软件评估证据收集流程。该流程抽象自多种具体评估证据的收集过程,能够适用于本文涉及的常见开源软件评估证据。此评估证据收集流程是本文其他工作的出发点和基础。 2)研究实现了Internet上常见的开源软件评估证据及其收集方法。这些证据包括Maven库pom文件中的jar包依赖关系,SourceForge、ohloh网站开源项目页面中的用户数、用户评价,源代码包中的缺陷数、测试用例等。本文详细叙述了收集上述证据的技术和算法。 3)提出了一个开源软件评估证据的通用描述模型。该模型基于两阶段的评估证据收集流程,包括“软件资源”、“评估源信息”、“评估证据”三个核心概念。此模型用于描述本文列出的各类开源软件评估证据。 4)实现了开源软件评估证据收集系统OSER(Open Source EvidenceRepository)。OSER的设计基础是两阶段评估证据收集流程和评估证据通用描述模型。此外,OSER考虑了证据的更新和扩展机制,能够更灵活地完成对开源软件评估证据的收集。 本文所研发的OSER与北京大学TSR软件资源库相集成,为TSR资源库中的开源软件jar包收集了评估证据,辅助TSR资源库实现了对这些jar包资源的可信评级。