CN104267973A - 一种群体软件工程过程开发方法 - Google Patents
一种群体软件工程过程开发方法 Download PDFInfo
- Publication number
- CN104267973A CN104267973A CN201410562177.0A CN201410562177A CN104267973A CN 104267973 A CN104267973 A CN 104267973A CN 201410562177 A CN201410562177 A CN 201410562177A CN 104267973 A CN104267973 A CN 104267973A
- Authority
- CN
- China
- Prior art keywords
- software
- developer
- quality
- time
- development
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种群体软件工程过程开发方法,涉及软件工程过程技术。本发明综合了软件质量、软件任务成本和软件奖励三个影响因素,建立群体软件工程过程开发模型和激励机制,填补了在群体软件工程领域没有相关模型与方法的问题;得出激励机制对软件质量、软件成本和软件奖励之间的相互作用关系。本发明对超大规模复杂系统的设计、开发和维护而言,具有很好的适应性和高效性,能够对超大规模的软件系统的开发过程的方法起到一定的指导作用,并促进群体软件工程的最优目标的实现。
Description
技术领域
本发明涉及软件工程过程技术,具体涉及一种群体软件工程过程开发方法。
背景技术
群体软件工程要充分发挥社群作用,赋予用户比传统软件工程更为重要的角色。群体软件工程过程的首要原则是,“使用者即设计者,使用者即开发者,使用者即维护者”。在群体软件工程过程中,用户本身就担当着开发者的角色,他们自己最了解自己的需求,这加快了软件开发的速度;用时,利用群体的智慧使得处理大数据变得迅速而可靠。因此,可以说,软件工程开发由此从软件工厂模式转变为群体生产模式,代表了应对超大规模系统开发软件危机的革命性变革。目前,群体软件开发有一些成功的实例。App Store和TopCoder都印证了在超大规模软件系统开发中,群体软件开发过程作用显著。
群体软件开发的基本原理,包括:屏蔽原理、多态递归原理、开发者竞争选择原理等。
但目前软件设计方法难以驾驭超前所未有的超大规模复杂系统,产生深刻的软件危机。超大规模系统运行中所收集和产生的数据规模日益增长,数据难以得到有效的存储、处理、挖掘和长期管理,不能提炼、升华为有价值的知识性数据。超大规模系统的复杂性使得系统易在敌对环境中遭受攻击,无法有效地防御和保护。
发明内容
本发明针对目前超大规模复杂系统软件设计方法中存在的问题,提供了一种群体软件工程过程开发方法,其中定义了一种群体软件工程过程开发模型,该模型综合了软件质量(Quality)、软件任务成本(Cost)和软件奖励(Value)三个影响因素,简称为QCV模型。
本发明提供的一种群体软件工程过程开发方法,包括如下两方面:
(1)建立群体软件工程过程开发模型,具体是:
设n种软件开发的质量为Q1,Q2,…,Qn,n为正整数;设li(Q1,Q2,…,Qn)为开发人员di的软件开发质量为Qj(j=1,2,…,n)时赢得竞争的可能性;设Ci(Qj)为开发人员di完成质量为Qj的软件任务所带来的支出;设Vi(Q1,Q2,…,Qn)为开发人员di在软件开发质量为Qj(j=1,2,…,n)时赢得竞争所获得的奖励;
则开发人员的期望收入为:
ei(Q1,Q2,…,Qn)=li(Q1,Q2,…,Qn)×Vi(Q1,Q2,…,Qn)-Ci(Qj)
其中ei(Q1,Q2,…,Qn)表示开发人员di在软件开发质量为Qj(j=1,2,…,n)时的期望收入;
当开发人员的期望收入高于0时,开发人员有动机参与软件开发,反之则没有动机;定义xi表示开发人员的获胜几率,表示为Qj的函数:xi=φ(Qj);
为简化N个开发人员参与众包任务时的分析,定义:
当 时, 当 时,
定义ri为开发人员di的付出Ci(Qj)与其获胜几率xi的比值;由纳什均衡理论,参与众包过程的开发人员划分为积极的和消极的,对于m个积极的开发人员满足条件:对于任意ri,有
设ri服从两种分布类型,一种为均匀分布,一种为正态分布,根据ri绘制m值随N的变化曲线;
(2)建立激励函数,考虑四个参数:软件开发的质量Q、软件人员投入的成本C、软件开发所需要的时间T和开发人员的状态S;具体建立五类对象激励函数V(1)~V(5)如下所示:
k为软件开发的质量系数;各参数之间线性独立,Q、C、T和S之间的线性组合构成最终的复合激励输出,定义复合激励函数W如下:
四个权重系数α∈[0,1],β∈[0,1],γ∈[0,1],δ∈[0,1]。
本发明与现有技术相比优点在于:本发明科学地提出了一个综合软件质量(Quality)、软件任务成本(Cost)和软件奖励(Value)的一个QCV模型,填补了在群体软件工程领域没有相关模型与方法的问题;并得出了激励机制对软件质量、软件成本和软件奖励之间的相互作用关系。对超大规模复杂系统的设计、开发和维护而言,QCV群体软件开发模型,相比于现有的面向对象的开发和敏捷开发,具有很好的适应性,高效性。本发明能够对超大规模的软件系统的开发过程的方法起到一定的指导作用,并促进群体软件工程的最优目标的实现,即减少因激励社区开发人员参与群体软件开发过程而产生的费用,增强开发人员的多元性以挖掘更多有创新的想法,提高最终采纳产品的质量。
附图说明
图1为本发明的QCV群体软件工程开发模型的总体关系图;
图2为本发明的m(积极的开发人员数)值随N(参与竞争的人数)的变化曲线;
图3为本发明实施例数据集中登记人数随报酬变化情况;
图4为本发明实施例数据集中提交数随报酬变化情况;
图5为本发明实施例数据集中可靠方案数随报酬变化情况;
图6为本发明的激励机制的验证效果图(成本、时间、质量);
图7为本发明的激励机制的验证效果图(质量与开发者状态)。
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
如图1所示,本发明提供的群体软件工程过程开发方法,综合软件质量(Quality)、软件任务成本(Cost)和软件奖励(Value)三个影响因素,生成一个群体软件工程过程开发模型—QCV模型。本发明能够对超大规模的软件系统的开发过程的方法起到一定的指导作用,并促进群体软件工程的最优目标的实现,即减少因激励社区开发人员参与群体软件开发过程而产生的费用,增强开发人员的多元性以挖掘更多有创新的想法,提高最终采纳产品的质量。
在QCV群体软件工程开发过程模型中:
定义Q1,Q2,…,Qj,…,Qn表示n种产品质量,也就是软件开发的质量;
定义li(Q1,Q2,…,Qj,…,Qn)为开发人员di当其产品质量为Qj时赢得众包竞争的可能性;li为关于参数Q1,Q2,…,Qn的函数;
定义Ci(Qj)为开发人员di为完成质量为Qj的软件众包任务所带来的支出;
定义Vi(Q1,Q2,…,Qj,…,Qn)为开发人员di在软件开发质量为Qj(j=1,2,…,n)时赢得竞争所获得的奖励。Vi为关于参数Q1,Q2,…,Qn的函数。
因此开发人员的期望收入为:
ei(Q1,Q2,…,Qn)=li(Q1,Q2,…,Qn)×Vi(Q1,Q2,…,Qn)-Ci(Qj)
其中ei(Q1,Q2,…,Qn)表示开发人员di在软件开发质量为Qj(j=1,2,…,n)时的期望收入。当开发人员的期望收入高于0时,开发人员会有动机参与软件众包,反之则没有动机。为简化N个开发人员参与众包任务时的分析,定义:
当 时, 如果
定义xi表示开发人员的获胜几率,xi为关于Qi的函数,xi=φ(Qi),φ()表示xi与Qi之间的函数;并假设Ci(Qi)=Ci(φ-1(xi))=rixi,ri的定义为开发人员的付出cost与其获胜几率的比值,因此ri取决于开发人员的技能水平。由纳什均衡理论,参与众包过程的开发人员可以划分为积极的和消极的。
对于m个积极的开发人员:对于任意ri,有
为了描述竞争机制,假设参与到群众生产竞争中的有十个人,假设ri=σ×i,i=1,2,…,10,σ为量化ri的最小间距。因此,所以得到m<3,意味着有两个开发人员会对该任务做出积极的贡献。
假设ri服从两种分布类型,一种为均匀分布,一种为正态分布。当参与竞争的人数N变化时,可以计算出相应的m的值,并绘制m值随N的变化曲线。
从图2可知,基于QCV模型,m值取决于ri的分布,当ri服从正态分布ri~N(0.5,1)时,m值的范围在3-4.5之间,当ri服从均匀分布ri~U(0,1)时,m值的范围在2-3之间。
激励机制,具体表现为激励函数形式,涉及到质量Q,成本C,时间T,开发人员的状态S,固定奖励M五类对象;所述的质量Q,即软件开发的质量,设置质量系数k,k和代码的行数、可读性和出错率等指标有关。所述的成本C,即软件人员投入的成本。所述的时间T,即软件开发所需要的时间,即软件的开发效率,一般认为完成相同的工作所用时间越短,开发效率越高,开发人员所得的奖励越高。所述的开发人员的状态S,即开发人员的技能、信誉、排名等情况,开发人员的技能越高,信誉越好,在参与竞争的开发人员中的排名越高,开发人员多得的奖励越高。所述的固定奖励M,指开发人员一旦赢得竞争,将得到一个固定数额的奖励。
定义激励函数 其中参数R=M-C。
f(Q,C,T,S)表示关于参数Q,C,T,S的函数。
激励函数与四个参数“质量Q、成本C、时间T、开发人员的状态S”有关,目前仅考虑各参数之间线性独立的情况。参数之间线性独立时,激励函数的输出可以由四个参数分别决定。将V的5类激励函数分别表示为如下V(1)~V(5)所示:
Q、C、T和S之间的线性组合构成最终的复合激励输出,定义复合激励函数如下:
其中四个权重系数α∈[0,1],β∈[0,1],γ∈[0,1],δ∈[0,1]。本模型主要针对线性独立的参数分别研究,关注单个参数对激励函数输出的影响。
激励机制对软件质量,软件成本,软件奖励的相互作用关系与数据验证结果,具体如下:
QCV模型的理论结果可以从TopCoder的数据得到验证。该数据集包括了1734个软件设计案例以及910个软件开发案例,从数据集中得出了如图3、4和5所示登记人数,方案提交数,以及可靠方案数随报酬的变化曲线。图3中横坐标表示报酬,纵坐标表示登记人数;图4中横坐标表示报酬,纵坐标表示方案提交数;图5中横坐标表示报酬,纵坐标表示可靠方案(合格方法)数量。从图3和图5中结果得出,最终提交的合格产品的数量要远远小于登记的数量,同时,奖励额度对社区工作者的动机并没有直接影响,更高的奖金不会导致更多的参与人群。
对实际数据的统计,实验中整个过程每个参数分别有1000组数据,固定奖励设置为100。由于成本C、时间T、质量Q和开发者状态S之间相互独立,分别考虑每个参数与最终激励函数输出的关系。通过统计,得出如图6和图7的变化规律,当采用第一种激励函数时(V1=M-C),开发人员获得的报酬随着成本的升高而降低(没有考虑成本大于固定奖励的情况),如图6中(a)所示。而当采用第二种激励函数时开发人员的奖励会根据其提交任务所花费的时间呈现降低趋势,如图6中的(b)所示。总体上来说,这种机制下会有少量的开发人员获得的奖励会比其他开发人员得到的更多。在第三种机制下((V3=(M-C)Q)),因为引入了质量因素,开发人员所得到的奖励会比第一种机制下的奖励有所波动,但整体的奖励趋势受到成本的影响因素较大,如图6中的(c)所示。而且,与第一种奖励机制相比较,质量高的开发人员将得到更高的奖励。在第四种机制下(V4=(M-C)kQ),开发人员得到的奖励与第三种机制相比,有所浮动,但整体趋势不变。当采用第五种激励函数时(V5=(M-C)S),较好的开发人员状态将得到更多的奖励。
Claims (2)
1.一种群体软件工程过程开发方法,其特征在于,包括如下两方面:
(1)建立群体软件工程过程开发模型,具体是:
设n种软件开发的质量为Q1,Q2,…,Qn,n为正整数;设li(Q1,Q2,…,Qn)为开发人员di的软件开发质量为Qj(j=1,2,…,n)时赢得竞争的可能性;设Ci(Qj)为开发人员di完成质量为Qj的软件任务所带来的支出;设Vi(Q1,Q2,…,Qn)为开发人员di在软件开发质量为Qj(j=1,2,…,n)时赢得竞争所获得的奖励;
则开发人员的期望收入为:
ei(Q1,Q2,…,Qn)=li(Q1,Q2,…,Qn)×Vi(Q1,Q2,…,Qn)-Ci(Qj)
其中ei(Q1,Q2,…,Qn)表示开发人员di在软件开发质量为Qj(j=1,2,…,n)时的期望收入;
当开发人员的期望收入高于0时,开发人员有动机参与软件开发,反之则没有动机;定义xi表示开发人员的获胜几率,表示为Qj的函数:xi=φ(Qj);
为简化N个开发人员参与众包任务时的分析,定义:
当 时, 当 时,
定义ri为开发人员di的付出Ci(Qj)与其获胜几率xi的比值;由纳什均衡理论,参与众包过程的开发人员划分为积极的和消极的,对于m个积极的开发人员满足条件:对于任意ri,有
设ri服从两种分布类型,一种为均匀分布,一种为正态分布,根据ri绘制m值随N的变化曲线;
(2)建立激励函数,考虑四个参数:软件开发的质量Q、软件人员投入的成本C、软件开发所需要的时间T和开发人员的状态S;具体建立五类对象激励函数V(1)~V(5)如下所示:
V(3)=(M-C)Q,V(4)=(M-C)kQ,V(5)=(M-C)S
k为软件开发的质量系数;各参数之间线性独立,Q、C、T和S之间的线性组合构成最终的复合激励输出,定义复合激励函数W如下:
四个权重系数α∈[0,1],β∈[0,1],γ∈[0,1],δ∈[0,1]。
2.根据权利要求1所述的一种群体软件工程过程开发方法,其特征在于,所述的m值取决于ri的分布,当ri服从正态分布:ri~N(0.5,1),m值的范围在3-4.5之间,当ri服从均匀分布:ri~U(0,1)时,m值的范围在2-3之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410562177.0A CN104267973B (zh) | 2014-10-21 | 2014-10-21 | 一种群体软件工程过程开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410562177.0A CN104267973B (zh) | 2014-10-21 | 2014-10-21 | 一种群体软件工程过程开发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104267973A true CN104267973A (zh) | 2015-01-07 |
CN104267973B CN104267973B (zh) | 2017-11-21 |
Family
ID=52159497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410562177.0A Expired - Fee Related CN104267973B (zh) | 2014-10-21 | 2014-10-21 | 一种群体软件工程过程开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104267973B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599085A (zh) * | 2015-02-12 | 2015-05-06 | 北京航空航天大学 | 一种众包模式下的用户激励方法和众包系统 |
CN104794644A (zh) * | 2015-04-16 | 2015-07-22 | 西安交通大学 | 一种面向智能服务引擎的任务众包方法 |
CN106371840A (zh) * | 2016-08-30 | 2017-02-01 | 北京航空航天大学 | 基于众包的软件开发方法及装置 |
CN111580786A (zh) * | 2020-05-06 | 2020-08-25 | 厦门理工学院 | 基于互联网+的软件工程开发系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530428A (zh) * | 2013-11-04 | 2014-01-22 | 武汉大学 | 一种基于开发者实践技能相似性的同行推荐方法 |
-
2014
- 2014-10-21 CN CN201410562177.0A patent/CN104267973B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530428A (zh) * | 2013-11-04 | 2014-01-22 | 武汉大学 | 一种基于开发者实践技能相似性的同行推荐方法 |
Non-Patent Citations (5)
Title |
---|
CORCHÓN L C: ""The theory of contests: a survey"", 《REVIEW OF ECONOMIC DESIGN》 * |
DENIZ IREN等: ""Cost models of Quality assurance in crowdsourcing"", 《COMMUNICATIONS AND ELECTRONICS (ICCE), 2014 IEEE FIFTH INTERNATIONAL CONFERENCE ON》 * |
TSAI W T等: ""Cloud-Based Software Crowdsourcing"", 《IEEE INTERNET COMPUTING》 * |
WU W等: ""An evaluation framework for software crowdsourcing"", 《FRONTIERS OF COMPUTER SCIENCE》 * |
ZHENGHUI HU等: ""A Game Theoretic Model of Software Crowdsourcing"", 《PROCEEDING SOSE "14 PROCEEDINGS OF THE 2014 IEEE 8TH INTERNATIONAL SYMPOSIUM ON SERVICE ORIENTED SYSTEM ENGINEERING》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599085A (zh) * | 2015-02-12 | 2015-05-06 | 北京航空航天大学 | 一种众包模式下的用户激励方法和众包系统 |
CN104599085B (zh) * | 2015-02-12 | 2017-12-01 | 北京航空航天大学 | 一种众包模式下的用户激励方法和众包系统 |
CN104794644A (zh) * | 2015-04-16 | 2015-07-22 | 西安交通大学 | 一种面向智能服务引擎的任务众包方法 |
CN106371840A (zh) * | 2016-08-30 | 2017-02-01 | 北京航空航天大学 | 基于众包的软件开发方法及装置 |
CN111580786A (zh) * | 2020-05-06 | 2020-08-25 | 厦门理工学院 | 基于互联网+的软件工程开发系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104267973B (zh) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ketter et al. | A multiagent competitive gaming platform to address societal challenges | |
Bellemare et al. | Distributional reinforcement learning | |
Andresen | Exploring marginal treatment effects: Flexible estimation using Stata | |
US20210271970A1 (en) | Neural network optimizer search | |
Denecker et al. | The second answer set programming competition | |
CN104267973A (zh) | 一种群体软件工程过程开发方法 | |
CN107278310A (zh) | 批次归一化层 | |
Badrudin | Effect of fiscal decentralization on capital expenditure, growth, and welfare | |
US20170220016A1 (en) | Optimizing manufacturing schedule with time-dependent energy cost | |
Li et al. | Likelihood ratio gradient estimation for dynamic reliability applications | |
CN103489044B (zh) | 一种面向智能电网的竞价发电风险控制方法 | |
CN110114784A (zh) | 递归神经网络 | |
CN110543947A (zh) | 一种基于强化学习模型的奖励资源发放方法和装置 | |
Zhou et al. | System dynamics-multiple objective optimization model for water resource management: A case study in Jiaxing City, China | |
Cantó et al. | Going regional: The effectiveness of different tax-benefit policies in combating child poverty in Spain | |
Liu et al. | Construction of a Hierarchical Neural Network Power Source Model for Human Capital Technology Innovation and Benefit Distribution with Big Data Analysis | |
Mason et al. | Identifying and modeling dynamic preference evolution in multipurpose water resources systems | |
Bergemann et al. | Extremal Information Structures in the First Price Auction | |
Sun | Sports performance prediction based on chaos theory and machine learning | |
CN108090835A (zh) | 一种城市数据资产价值评估系统及方法 | |
CN108646550A (zh) | 一种基于行为选择的多智能体编队方法 | |
Reneke | A game theory formulation of decision making under conditions of uncertainty and risk | |
Khmeleva et al. | From the 2008 to the 2014 crisis: response of the labor market of Russia's largest cities | |
Jayaram et al. | Models for Predicting Development Effort of Small-Scale Visualization Projects | |
Menghi et al. | ARCH-COMP 2023 Category Report: Falsification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171121 Termination date: 20211021 |
|
CF01 | Termination of patent right due to non-payment of annual fee |