主权项 |
一种群体软件工程过程开发方法,其特征在于,包括如下两方面:(1)建立群体软件工程过程开发模型,具体是:设n种软件开发的质量为Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>,n为正整数;设l<sub>i</sub>(Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>)为开发人员d<sub>i</sub>的软件开发质量为Q<sub>j</sub>(j=1,2,…,n)时赢得竞争的可能性;设C<sub>i</sub>(Q<sub>j</sub>)为开发人员d<sub>i</sub>完成质量为Q<sub>j</sub>的软件任务所带来的支出;设V<sub>i</sub>(Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>)为开发人员d<sub>i</sub>在软件开发质量为Q<sub>j</sub>(j=1,2,…,n)时赢得竞争所获得的奖励;则开发人员的期望收入为:e<sub>i</sub>(Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>)=l<sub>i</sub>(Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>)×V<sub>i</sub>(Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>)‑C<sub>i</sub>(Q<sub>j</sub>)其中e<sub>i</sub>(Q<sub>1</sub>,Q<sub>2</sub>,…,Q<sub>n</sub>)表示开发人员d<sub>i</sub>在软件开发质量为Q<sub>j</sub>(j=1,2,…,n)时的期望收入;当开发人员的期望收入高于0时,开发人员有动机参与软件开发,反之则没有动机;定义x<sub>i</sub>表示开发人员的获胜几率,表示为Q<sub>j</sub>的函数:x<sub>i</sub>=φ(Q<sub>j</sub>);为简化N个开发人员参与众包任务时的分析,定义:当<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msubsup><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mi>φ</mi><mrow><mo>(</mo><msub><mi>Q</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>></mo><mn>0</mn></mrow>]]></math><img file="FDA0000590599180000011.GIF" wi="302" he="98" /></maths>时,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mfrac><mrow><mi>φ</mi><mrow><mo>(</mo><msub><mi>Q</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><msubsup><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mi>φ</mi><mrow><mo>(</mo><msub><mi>Q</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000590599180000012.GIF" wi="350" he="163" /></maths>当<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msubsup><mi>Σ</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mi>φ</mi><mrow><mo>(</mo><msub><mi>Q</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow>]]></math><img file="FDA0000590599180000013.GIF" wi="288" he="99" /></maths>时,<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>l</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>h</mi></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000590599180000014.GIF" wi="159" he="124" /></maths>定义r<sub>i</sub>为开发人员d<sub>i</sub>的付出C<sub>i</sub>(Q<sub>j</sub>)与其获胜几率x<sub>i</sub>的比值;由纳什均衡理论,参与众包过程的开发人员划分为积极的和消极的,对于m个积极的开发人员满足条件:对于任意r<sub>i</sub>,有<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>Σ</mi><mn>1</mn><mi>m</mi></msubsup><msub><mi>r</mi><mi>j</mi></msub><mo>></mo><msub><mi>r</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>m</mi><mo>;</mo></mrow>]]></math><img file="FDA0000590599180000015.GIF" wi="635" he="89" /></maths>设r<sub>i</sub>服从两种分布类型,一种为均匀分布,一种为正态分布,根据r<sub>i</sub>绘制m值随N的变化曲线;(2)建立激励函数,考虑四个参数:软件开发的质量Q、软件人员投入的成本C、软件开发所需要的时间T和开发人员的状态S;具体建立五类对象激励函数V<sub>(1)</sub>~V<sub>(5)</sub>如下所示:<img file="FDA0000590599180000016.GIF" wi="605" he="118" />V<sub>(3)</sub>=(M‑C)Q,V<sub>(4)</sub>=(M‑C)kQ,V<sub>(5)</sub>=(M‑C)Sk为软件开发的质量系数;各参数之间线性独立,Q、C、T和S之间的线性组合构成最终的复合激励输出,定义复合激励函数W如下:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>W</mi><mo>=</mo><mi>α</mi><mrow><mo>(</mo><mi>R</mi><mo>)</mo></mrow><mo>+</mo><mi>β</mi><mrow><mo>(</mo><mfrac><mi>R</mi><mi>T</mi></mfrac><mo>)</mo></mrow><mo>+</mo><mi>γ</mi><mrow><mo>(</mo><mi>RkQ</mi><mo>)</mo></mrow><mo>+</mo><mi>δ</mi><mrow><mo>(</mo><mi>RS</mi><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000590599180000017.GIF" wi="772" he="122" /></maths>R=M‑C;四个权重系数α∈[0,1],β∈[0,1],γ∈[0,1],δ∈[0,1]。 |