一種群體軟件工程過程開發(fā)方法
【專利摘要】本發(fā)明提供了一種群體軟件工程過程開發(fā)方法,涉及軟件工程過程技術(shù)。本發(fā)明綜合了軟件質(zhì)量、軟件任務(wù)成本和軟件獎(jiǎng)勵(lì)三個(gè)影響因素,建立群體軟件工程過程開發(fā)模型和激勵(lì)機(jī)制,填補(bǔ)了在群體軟件工程領(lǐng)域沒有相關(guān)模型與方法的問題;得出激勵(lì)機(jī)制對軟件質(zhì)量、軟件成本和軟件獎(jiǎng)勵(lì)之間的相互作用關(guān)系。本發(fā)明對超大規(guī)模復(fù)雜系統(tǒng)的設(shè)計(jì)、開發(fā)和維護(hù)而言,具有很好的適應(yīng)性和高效性,能夠?qū)Τ笠?guī)模的軟件系統(tǒng)的開發(fā)過程的方法起到一定的指導(dǎo)作用,并促進(jìn)群體軟件工程的最優(yōu)目標(biāo)的實(shí)現(xiàn)。
【專利說明】一種群體軟件工程過程開發(fā)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件工程過程技術(shù),具體涉及一種群體軟件工程過程開發(fā)方法。
【背景技術(shù)】
[0002] 群體軟件工程要充分發(fā)揮社群作用,賦予用戶比傳統(tǒng)軟件工程更為重要的角色。 群體軟件工程過程的首要原則是,"使用者即設(shè)計(jì)者,使用者即開發(fā)者,使用者即維護(hù)者"。 在群體軟件工程過程中,用戶本身就擔(dān)當(dāng)著開發(fā)者的角色,他們自己最了解自己的需求,這 加快了軟件開發(fā)的速度;用時(shí),利用群體的智慧使得處理大數(shù)據(jù)變得迅速而可靠。因此, 可以說,軟件工程開發(fā)由此從軟件工廠模式轉(zhuǎn)變?yōu)槿后w生產(chǎn)模式,代表了應(yīng)對超大規(guī)模系 統(tǒng)開發(fā)軟件危機(jī)的革命性變革。目前,群體軟件開發(fā)有一些成功的實(shí)例。App Store和 TopCoder都印證了在超大規(guī)模軟件系統(tǒng)開發(fā)中,群體軟件開發(fā)過程作用顯著。
[0003] 群體軟件開發(fā)的基本原理,包括:屏蔽原理、多態(tài)遞歸原理、開發(fā)者競爭選擇原理 等。
[0004] 但目前軟件設(shè)計(jì)方法難以駕馭超前所未有的超大規(guī)模復(fù)雜系統(tǒng),產(chǎn)生深刻的軟件 危機(jī)。超大規(guī)模系統(tǒng)運(yùn)行中所收集和產(chǎn)生的數(shù)據(jù)規(guī)模日益增長,數(shù)據(jù)難以得到有效的存儲、 處理、挖掘和長期管理,不能提煉、升華為有價(jià)值的知識性數(shù)據(jù)。超大規(guī)模系統(tǒng)的復(fù)雜性使 得系統(tǒng)易在敵對環(huán)境中遭受攻擊,無法有效地防御和保護(hù)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明針對目前超大規(guī)模復(fù)雜系統(tǒng)軟件設(shè)計(jì)方法中存在的問題,提供了一種群體 軟件工程過程開發(fā)方法,其中定義了一種群體軟件工程過程開發(fā)模型,該模型綜合了軟件 質(zhì)量(Quality)、軟件任務(wù)成本(Cost)和軟件獎(jiǎng)勵(lì)(Value)三個(gè)影響因素,簡稱為QCV模 型。
[0006] 本發(fā)明提供的一種群體軟件工程過程開發(fā)方法,包括如下兩方面:
[0007] (1)建立群體軟件工程過程開發(fā)模型,具體是:
[0008] 設(shè)η種軟件開發(fā)的質(zhì)量為%, Q2,…,Qn,η為正整數(shù);設(shè)h (Qi, Q2,…,Qn)為開發(fā)人 員Φ的軟件開發(fā)質(zhì)量為Qj(j = 1,2,···,η)時(shí)贏得競爭的可能性;設(shè)(;((^為開發(fā)人員φ 完成質(zhì)量為%的軟件任務(wù)所帶來的支出;設(shè)\ (Qi,Q2,…,Qn)為開發(fā)人員di在軟件開發(fā)質(zhì) 量為Qj (j = 1,2,…,η)時(shí)贏得競爭所獲得的獎(jiǎng)勵(lì);
[0009] 則開發(fā)人員的期望收入為:
[0010] e^Qi, Q2, ···, Qn) = ^(Qi,Q2, ···, Qn) XV^Qi,Q2, ···, Qn)-Ci (Qj)
[0011] 其中ei(Qi,Q2,…,Qn)表示開發(fā)人員屯在軟件開發(fā)質(zhì)量為Qj(j = 1,2,···,η)時(shí)的 期望收入;
[0012] 當(dāng)開發(fā)人員的期望收入高于0時(shí),開發(fā)人員有動(dòng)機(jī)參與軟件開發(fā),反之則沒有動(dòng) 機(jī);定義 Xi表示開發(fā)人員的獲勝幾率,表示為%的函數(shù):Xi = Φ (Qj);
[0013] 為簡化N個(gè)開發(fā)人員參與眾包任務(wù)時(shí)的分析,定義:
[0014]
【權(quán)利要求】
1. 一種群體軟件工程過程開發(fā)方法,其特征在于,包括如下兩方面: (1) 建立群體軟件工程過程開發(fā)模型,具體是: 設(shè)n種軟件開發(fā)的質(zhì)量為Q1, Q2,…,Qn,n為正整數(shù);設(shè)Ii (Q1, Q2,…,Qn)為開發(fā)人員Cli 的軟件開發(fā)質(zhì)量為%(j= 1,2,…,n)時(shí)贏得競爭的可能性;設(shè)Ci (QP為開發(fā)人員Cli完成 質(zhì)量為%的軟件任務(wù)所帶來的支出;設(shè)Vi (Q1, Q2,…,Qn)為開發(fā)人員Cli在軟件開發(fā)質(zhì)量為 Qj(j= 1,2,…,n)時(shí)贏得競爭所獲得的獎(jiǎng)勵(lì); 則開發(fā)人員的期望收入為: ei (Q1, Q2,…,Qn) = Ii (Q1, Q2,…,Qn) X Vi (Q1, Q2,…,Qn)-Ci (Qj) 其中ei (Q1,Q2,…,Qn)表示開發(fā)人員Cli在軟件開發(fā)質(zhì)量為Qj(j= 1,2,…,n)時(shí)的期望 收入; 當(dāng)開發(fā)人員的期望收入高于〇時(shí),開發(fā)人員有動(dòng)機(jī)參與軟件開發(fā),反之則沒有動(dòng)機(jī);定 義Xi表示開發(fā)人員的獲勝幾率,表示為%的函數(shù):Xi = MQj); 為簡化N個(gè)開發(fā)人員參與眾包任務(wù)時(shí)的分析,定義:
定義A為開發(fā)人員Cli的付出Ci (Qj)與其獲勝幾率Xi的比值;由納什均衡理論,參與眾 包過程的開發(fā)人員劃分為積極的和消極的,對于m個(gè)積極的開發(fā)人員滿足條件:對于任意 ri,有ZTr/ …,謂; 設(shè)^服從兩種分布類型,一種為均勻分布,一種為正態(tài)分布,根據(jù)ri繪制m值隨N的變 化曲線; (2) 建立激勵(lì)函數(shù),考慮四個(gè)參數(shù):軟件開發(fā)的質(zhì)量Q、軟件人員投入的成本C、軟件開 發(fā)所需要的時(shí)間T和開發(fā)人員的狀態(tài)S ;具體建立五類對象激勵(lì)函數(shù)V(1)?V(5)如下所示:
k為軟件開發(fā)的質(zhì)量系數(shù);各參數(shù)之間線性獨(dú)立,Q、C、T和S之間的線性組合構(gòu)成最終 的復(fù)合激勵(lì)輸出,定義復(fù)合激勵(lì)函數(shù)W如下:
四個(gè)權(quán)重系數(shù) a G [〇, 1],P G [〇, 1],Y G [〇, 1],S G [〇, 1]。
2. 根據(jù)權(quán)利要求1所述的一種群體軟件工程過程開發(fā)方法,其特征在于,所述的m值取 決于A的分布,當(dāng)!Ti服從正態(tài)分布A?N(0. 5, I),m值的范圍在3-4. 5之間,當(dāng)!Ti服從均 勻分布?U (0,1)時(shí),m值的范圍在2-3之間。
【文檔編號】G06F9/44GK104267973SQ201410562177
【公開日】2015年1月7日 申請日期:2014年10月21日 優(yōu)先權(quán)日:2014年10月21日
【發(fā)明者】徐曉蘭 申請人:北京航空航天大學(xué)