5.3.1.1 任务粒度
任务粒度是对任务集内部聚合程度的度量[20]。它不仅反映了任务集的层次结构,还体现了任务的整体规模和数量。
根据相关文献[21],任务粒度的数学表达式如式(5.1)所示:
上式中,n表示任务粒度,nt表示任务数量,k表示任务粒度系数。任务粒度系数k与任务集合中的关联和重用有关。根据式(5.1)可知,对于一个复杂活动,任务粒度与任务数量、任务集合之间的联系程度两个因素有关。任务粒度系数越小、任务数量越多,任务粒度就越小;任务粒度系数数量越大、任务数量越少,任务粒度就越大。
在此,本研究参考前文提到的模块化设计的思想,即模块内部各成分彼此之间的联结强度用内聚度来衡量。为了分析众包任务集合间的关联程度,可将众包中的各个子任务视为一个软件模块的不同内部成分,引入软件模块内聚度的概念和定量计算方法来反映众包中各个子任务结合的紧密程度。
对于约束结构(D,O)的有效约束子集t,用任务关联内聚系数来量化任务集合中关联程度的水平,用任务重用内聚系数来量化约束控制元中活动单元被重用的水平。根据Pang等的研究成果[22],任务关联内聚系数u(t)和任务重用内聚系数v(t)的数学表达式如式(5.2)、式(5.3)所示:
式(5.2)和式(5.3)中,p、q表示约束结构中的输出活动单元,cs、ds表示约束结构中的输入活动单元,表示约束控制单元的数量。任务关联内聚系数越大,说明一个约束控制单元的输入和输出活动在另一个约束控制元中出现的次数越多,两个约束控制单元之间的信息交互就越频繁;任务重用内聚系数越大,说明约束活动结构中的活动被重用的程度越高,两者的信息共享度越高。
任务粒度系数取决任务集合间的关联与重用,因此任务粒度系数k(t)可表达为:
代入式(5.1),可得到与任务关联内聚系数u(t)和任务重用内聚系数v(t)相关的任务粒度数学表达式:(www.daowen.com)
在复杂任务中,如果分解后的任务粒度过大,则某些子任务之间的内聚度较弱,即子任务所需的技能差别较大,导致完成该任务所需的技能种类较多,不利于接包人的选择;如果粒度过小,任务调度会困难,并且容易导致资源不均而增加任务完成周期。因此在复杂任务的分解过程中,应该把粒度控制在合理的范围之内。
5.3.1.2 任务耦合度
任务耦合度是对任务之间交互影响程度的度量[23]。任务之间的信息交互建模可以引用布尔型设计结构矩阵(design structure matric)来表示[24]。如式(5.6)所示,设计结构矩阵是一个n阶方阵,n表示任务数量。设计结构矩阵中的aij表示该单元所对应的行任务与其所对应的列任务之间的信息交互。
其中,aij的取值情况如(5.7)所示:
如果ti、tj行列之间存在信息交互,那么aij=1;如果ti、tj行列之间不存在信息交互,那么aij=0。
对于一个基于活动的约束结构(D,O),根据Pang等的研究成果[25],耦合度系数的计算公式为式(5.8):
上式中,ti和tj为两个独立的任务,表示任务之间的信息交互量,表示任务数量。
在复杂任务中,任务耦合度的大小主要与任务之间信息交互量大小有关。任务之间的耦合度越高,则说明任务之间信息交互量越大;信息交互量越大,在任务的完成过程中合作协调的难度就会越大。因此在对知识密集型众包任务进行分解时,为了增强子任务的独立性,应将耦合度高的子任务尽量合并。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。