论文部分内容阅读
众包是一种利用互联网分配任务、发现创意和解决技术难题的商业模式。众包模式使得企业可以充分利用庞大的“群众志愿者”的知识和技能来大幅降低企业的成本。目前软件众包已经有了很多成功的例子。然而,在现有的软件众包平台上,仍存在着许多缺陷。通常而言,为了更快地匹配到合适的任务完成者来完成任务,任务发布者通常会发布分解后的子任务,而非未经分解的复杂任务。但由于现有的软件众包平台通常无法表示任务之间的关联性,每个任务都是独立的,因此无法保证当子任务全部按规约完成后可以合并还原成符合规约的复杂任务。为了解决前述的问题,本文提供了一个对初始任务和分解后的子任务的非功能规约的一致性进行自动验证的解决方案,以确保复杂任务在众包模式下的完成质量。首先,本文提出了一个有效的可扩展的对任务规约的描述模型。考虑到非功能需求的多样性,本文不仅仅给任务发布者提供了常见的非功能需求的元模型,并且为任务发布者提供了接口使其可以扩展非功能需求类型的元模型。在此元模型基础之上,提供了对非功能规约的描述模型。在任务的描述模型中,通过对不同的非功能需求赋予不同的权重来表示不同非功能需求的优先级。并在WF-net的基础之上提出了任务之间结构的描述模型。之后在该描述模型的基础上建立了验证模型。首先,本文提出了一个算法,用于从所有子任务的规约和任务间的结构描述中,借助元模型中的重建函数来预估出所有按需完成的子任务重建出的非功能属性的值。接下来,本文提出了另一个算法,用于对不一致的风险进行评估。先借助元模型中的采纳函数来比较初始任务规约和预估出的复合任务非功能属性值,并利用任务规约中的各非功能权重计算风险,从而给任务发布者建议:如何以最小修改代价来满足各项非功能规约。本文同样包含了对非功能规约的过程管理。当一个子任务被完成之后,本文将会进行动态的验证和调整。首先利用重建复合任务算法来更新整个分解的评估结果,然后利用评估风险指数算法重新计算,并指出新的最应该被改进的子任务。最后,本文利用前文分析的案例结构,设计并模拟了一定数量的静态和动态案例进行了相关验证与分析。结果表明本文中所提出的描述模型和重建算法以及风险评估算法均表现出了很好的有效性和正确性。这大大减轻了任务发布者对分解验证的人力投入并提高其正确性,基本可以满足任务发布者的需求。同时,本文提出的模型和算法均在扩展性方面具有优势,能够应对任务发布者不同的任务发布需求,也能够应对未来算法领域的更新所带来的挑战。