前言:本站為你精心整理了探求軟件項目管理中資源調(diào)度范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
伴隨計算機硬件水平的飛速提高,軟件的適用范圍也日益龐大,其算法復雜度也越來越高。若在研發(fā)過程中缺少及時有效的管理,將會造成研發(fā)進度難以控制以及軟件維護困難、可靠性不佳等情況。為了使得項目的研發(fā)能夠依照預定的進度完成,就必須規(guī)范研發(fā)過程,實施有效的管理。
1項目資源的構(gòu)成
在項目的研發(fā)過程中,其資源包括硬件、軟件和人力資源等。其中人力資源是最為關(guān)鍵的資源,而對人力資源的調(diào)度和配置貫穿于整個進程。人員管理是否恰當在軟件項目的完成質(zhì)量中起到?jīng)Q定性作用。軟件項目資源調(diào)度的核心問題就是管理者在完善計劃的時候選擇正確人員在正確的時間去完成正確的工作。在研發(fā)過程中,常會遇到的問題是現(xiàn)有人員無法滿足項目各階段的人力或技術(shù)需求,而一些階段的研發(fā)進程還會受另一階段的人員經(jīng)驗技能所影響。所以軟件項目中人力資源調(diào)度的問題其實是屬于資源受限條件下的項目調(diào)度問題。這一類問題均可以看作是復雜的生產(chǎn)調(diào)度類問題,因要同時處理資源和時序兩方面約束,故加大了這一類問題求解難度。在項目調(diào)度問題中,項目是由一系列彼此聯(lián)系的工作組成,這種關(guān)聯(lián)狀態(tài)在每一個工作包的執(zhí)行先后次序上有所體現(xiàn)。每項工作是由幾種模式組成,是指完成工作所必須的資源和工期的組合。此類問題的解是在滿足時序和資源兩方面約束的條件下,每種工作的起始時間和結(jié)束時間的調(diào)度方案,這種方案的生成應該滿足目標函數(shù)的最優(yōu)解。
2資源調(diào)度系統(tǒng)處理分析
在項目計劃中,研發(fā)任務的調(diào)度工作是由項目負責人做出的,主要表現(xiàn)在以下兩個方面:一是將這些工作包分配給對應的技術(shù)人員,如系統(tǒng)分析人員,軟件編碼人員、硬件人員、測試及集成人員等。二是依照項目開發(fā)計劃將整個項目分解成若干個可以獨立執(zhí)行的任務包。對于整個軟件項目研發(fā)過程存在一定的先后次序,通常包括:方案論證階段、設(shè)計評審階段、系統(tǒng)設(shè)計及模塊編碼階段、單元測試和聯(lián)試階段等一系列任務,并且這些任務有其工作時間,而研發(fā)人員雖然具備多種技能,但也有相應的任務,人員無法超負荷工作。
3項目中的資源調(diào)度問題
人力資源調(diào)度問題在典型項目中可描述為:項目中存在有L種資源和n+1項活動;一些活動間具有緊前關(guān)系,i活動在其任一種緊前活動(jPi為活動i的緊前活動集)完成前不能夠啟動,任一時間段內(nèi)其使用量不能大于供應量。
4構(gòu)建算法
根據(jù)在項目進程中,假設(shè)存在m個人員,人員具有不同的技能,即每個人員具備多種技能可完成多項任務,把項目劃為n個任務包,需要m個人員研發(fā),將這m個人員分入n個任務包中,使整個項目在約束條件被滿足的情況下研發(fā)時間最短,并恰當安排各項任務的開始時間和研發(fā)順序。算法運算的過程如下:步驟1:隨機產(chǎn)生n個個體組成初始種群,對其進行初始化;步驟2:判斷是否滿足終止條件,若是,則轉(zhuǎn)入步驟7;步驟3:分別求出每個個體的適應度,根據(jù)算法進行自適應調(diào)整;步驟4:進行選擇運算;步驟5:進行交叉算子及變異算子的運算,得到子代種群;步驟6:判斷是否有個體更新,若連續(xù)50代沒有更新,則增大一倍種群數(shù)目,轉(zhuǎn)入步驟2;步驟7:滿足終止條件,輸出結(jié)果;否則轉(zhuǎn)入步驟3。算法的偽代碼可以描述如下:ProcedureSGAInitializeP(0);//初始化種群t=0;//t表示的進化代數(shù)的計數(shù)器While(t<T)do//對種群中的個體進行操作ForI=ltoMdoEvaluatefitnessofP(t);//計算個體的適應度EndforForI=1toMdoSelectoperationtoP(t);//選擇操作EndforForI=ltoMdoCrossoveroperationtoP(t);//交叉操作EndforForI=ltoMdoMutationoperationtoP(t);//變異操作EndforForI=ltoMdoP(t+1)=P(t);//通過自然選擇行成新的種群Endfort=t+l:endwhile得到每個開發(fā)人員的任務熟練程度矩陣:式中SLDij表示第j個開發(fā)人員對第i個任務的熟練程度,通過下面的計算公式可以得到人員的熟練程度數(shù)值:其中0<≤10-6。依據(jù)熟練度矩陣,給定能滿足任務i的開發(fā)人員集Mi={rj|SLDij>i,0<i≤1,1≤j≤m}。其中i為任務i對熟練度要求的系數(shù),是根據(jù)具體任務的情況和經(jīng)驗來確定。
作者:張搴林樊亮單位:中國電子科技集團公司第二十八研究所