




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第17章軟件方案17.1軟件范圍界定 17.2資源需求17.3工程估算17.4軟件工程方案的結(jié)構(gòu)17.5工程方案的分解求精17.6方案跟蹤監(jiān)督17.7方案執(zhí)行情況的度量與方案調(diào)控17.8小結(jié)17.1軟件范圍界定軟件工程方案的第一個(gè)活動(dòng)是確定軟件的范圍。軟件范圍描述了軟件工程的功能、性能、約束條件、接口以及可靠性等質(zhì)量指標(biāo)。此項(xiàng)工作旨在進(jìn)一步將工程的開(kāi)發(fā)任務(wù)明確化、具體化,并進(jìn)行必要的功能分解,為下一步的估算工作打下根底。性能的考慮包括處理復(fù)雜度和系統(tǒng)響應(yīng)時(shí)間的需求;約束條件那么標(biāo)志著外部硬件或其他現(xiàn)有系統(tǒng)對(duì)軟件的限制。功能、性能和約束必須在一起進(jìn)行綜合的評(píng)價(jià)。因?yàn)樵诠δ芟嗤瑫r(shí),性能限制不同,可能將導(dǎo)致開(kāi)發(fā)工作量相差一個(gè)數(shù)量級(jí),本錢(qián)和進(jìn)度也會(huì)有顯著的差異。軟件和其他元素是相互作用的。方案制定者要考慮每個(gè)接口的性質(zhì)和復(fù)雜程度,以確定其對(duì)資源、本錢(qián)和進(jìn)度的影響。接口的概念可以解釋為:(1)運(yùn)行軟件的硬件及間接受軟件控制的設(shè)備和軟件之間的接口。(2)必須和新軟件連接的現(xiàn)有軟件和新軟件之間的接口。(3)人機(jī)接口。(4)軟件運(yùn)行前后的一系列操作過(guò)程。針對(duì)每一種接口,都應(yīng)當(dāng)明確地理解通過(guò)接口的信息轉(zhuǎn)換要求。工程要求的軟件可靠性指標(biāo)也應(yīng)當(dāng)作為一種約束予以考慮,以便在進(jìn)行規(guī)模、本錢(qián)、工作量估算時(shí)能夠更加精確。在FP度量方法中,功能點(diǎn)復(fù)雜度加權(quán)因子和從F1~F14的取值就反映了約束條件對(duì)最終度量結(jié)果的影響。作為例子,我們對(duì)一個(gè)傳送帶分類系統(tǒng)(如圖14.1所示)的軟件需求進(jìn)行范圍界定。圖17.1一個(gè)傳送帶分類系統(tǒng)原始的功能需求陳述:傳送帶分類系統(tǒng)(CLSS)用來(lái)傳送貼有識(shí)別條碼的六類不同的產(chǎn)品。產(chǎn)品通過(guò)由一個(gè)條碼閱讀器和一臺(tái)PC機(jī)組成的分類站。分類站的PC機(jī)連到一個(gè)分流器上,分流器將不同的產(chǎn)品分送到不同的包裝箱中去。CLSS軟件以和傳送帶速度一致的時(shí)間間隔接收條碼閱讀器送來(lái)的數(shù)據(jù),將條碼數(shù)據(jù)譯碼轉(zhuǎn)換為產(chǎn)品標(biāo)識(shí)符的規(guī)定格式并以此為查詢鍵值。在最多可容納1000個(gè)條目的數(shù)據(jù)庫(kù)中進(jìn)行查詢檢索,以便確定當(dāng)前產(chǎn)品應(yīng)當(dāng)放入哪個(gè)箱子中。查出來(lái)的該箱子的編號(hào)被送到分流器,分流器將根據(jù)接收到的數(shù)據(jù)將產(chǎn)品推入指定的箱子中。同時(shí),每一個(gè)產(chǎn)品放入哪個(gè)箱子的信息還要寫(xiě)入數(shù)據(jù)庫(kù)中備用。CLSS軟件還要接收來(lái)自脈沖流速計(jì)的輸入,用以使控制信號(hào)和流速計(jì)同步。根據(jù)分類站和分流器之間產(chǎn)生的脈沖個(gè)數(shù),軟件將在適當(dāng)時(shí)產(chǎn)生一個(gè)控制信號(hào)給分流器,以適當(dāng)?shù)卮_定產(chǎn)品去向。根據(jù)以上陳述,我們就可以開(kāi)始進(jìn)行范圍界定工作。需求范圍界定:(1)讀條形碼作為輸入。(2)讀脈沖流速計(jì)輸入。(3)對(duì)條碼數(shù)據(jù)進(jìn)行解碼。(4)檢索查詢數(shù)據(jù)庫(kù)。(5)確定適宜的箱子號(hào)。(6)產(chǎn)生并輸出分流器控制信號(hào)。(7)保存當(dāng)前產(chǎn)品被存入的箱子的紀(jì)錄。
性能要求:每一個(gè)產(chǎn)品的全部處理都必須在下一個(gè)產(chǎn)品到達(dá)分類站之前處理完畢(根據(jù)傳送帶的流速可以換算出最大可接受的響應(yīng)時(shí)間指標(biāo))。接口要求:(1)PC和分類站之間的數(shù)據(jù)接口,用來(lái)傳送原始條碼數(shù)據(jù)。(2)PC和脈沖流速計(jì)之間的接口,用來(lái)接收同步脈沖數(shù)據(jù)。(3)PC和分流器之間的接口,用來(lái)輸出分流器驅(qū)動(dòng)數(shù)據(jù)。約束條件:(1)傳送帶勻速運(yùn)動(dòng)。(2)傳送帶上的產(chǎn)品間隔均勻擺放。如上例所示,進(jìn)行了軟件范圍界定之后,就可以綜合考慮功能、性能、接口、約束條件要求,開(kāi)始進(jìn)行方案的下一步工作——確定資源需求并進(jìn)行估算。17.2資源需求在進(jìn)行了范圍界定之后,軟件方案的第二個(gè)任務(wù)是估算為完本錢(qián)軟件開(kāi)發(fā)工作所需要的資源。包括人力資源、可復(fù)用軟件資源和環(huán)境資源(如圖17.2所示)。資源金字塔的底層是開(kāi)發(fā)環(huán)境,包括硬件和軟件工具,提供支持開(kāi)發(fā)工作的根底;再高一層是可復(fù)用的軟件構(gòu)件——軟件建筑塊,能夠極大地降低開(kāi)發(fā)本錢(qián)并縮短交付時(shí)間;金字塔的頂端是人力資源,這是資源中的主要成分。在工程方案中,針對(duì)所需要的每類資源,都應(yīng)當(dāng)從資源描述、可用性說(shuō)明、需要該資源的時(shí)間以及該資源被使用的持續(xù)時(shí)間四個(gè)特征上進(jìn)行說(shuō)明。圖17.2資源金字塔圖17.3不同開(kāi)發(fā)階段的人員參與情況一個(gè)軟件開(kāi)發(fā)組織,總是不斷地將自己的開(kāi)發(fā)成果積累起來(lái),形成自己的軟件財(cái)富庫(kù)。有一些通用功能(例如權(quán)限管理、數(shù)據(jù)維護(hù)、通用查詢等等)自然地就形成了可復(fù)用的軟件構(gòu)件。而且分析、設(shè)計(jì)階段的工作產(chǎn)品也都存在著在類似工程中重用的可能。直接使用可復(fù)用構(gòu)件,將會(huì)使開(kāi)發(fā)工作量(不僅僅是編碼量)因重用而下降。所以,在方案階段,就應(yīng)當(dāng)考慮對(duì)可復(fù)用資源的需求??紤]到需求吻合程度,對(duì)可復(fù)用構(gòu)件的使用,分為完全復(fù)用和修改復(fù)用兩種情況:(1)存在著現(xiàn)成的、完全滿足要求的軟件構(gòu)件,肯定應(yīng)當(dāng)重用它。(2)對(duì)于必須進(jìn)行修改才能重用的軟件成分,要慎重處理,建議權(quán)衡了修改工作量和重新開(kāi)發(fā)工作量的比照情況后再考慮是否重用。在工程方案階段,常常會(huì)無(wú)視可復(fù)用構(gòu)件重用問(wèn)題,應(yīng)當(dāng)引起注意。硬件與軟件資源環(huán)境,是支持軟件開(kāi)發(fā)的環(huán)境,通常稱為“軟件工程環(huán)境〞,集成了硬件和軟件兩大局部。硬件提供了一個(gè)支持工具平臺(tái),如各類效勞器、網(wǎng)絡(luò)通信設(shè)備、各種外設(shè)等等;而軟件資源是工作在這一平臺(tái)上的工具集,包括分析設(shè)計(jì)工具、語(yǔ)言工具、中間件工具、數(shù)據(jù)庫(kù)系統(tǒng)、操作系統(tǒng)等等。除了要明確所需要的軟硬件資源環(huán)境之外,還應(yīng)當(dāng)明確地界定資源的時(shí)間窗口,并落實(shí)在指定的時(shí)間窗口中這些資源是否可用。17.3項(xiàng)目估算就本質(zhì)來(lái)說(shuō),工程估算就是“超前度量〞。直接度量和間接度量?jī)煞N模式,面向規(guī)模度量和面向功能度量?jī)煞N方法都可以用來(lái)進(jìn)行估算。但是,由于“超前〞的特點(diǎn),必要的根本度量數(shù)據(jù)往往難以直接得到,歷史數(shù)據(jù)和基于經(jīng)驗(yàn)的模型往往成為進(jìn)行估算的依據(jù)?!岸攘炕€〞在進(jìn)行估算時(shí)的作用十分顯著。沒(méi)有度量基線,工程估算的根底就十分薄弱,很不穩(wěn)定。17.3.1基于問(wèn)題分解的估算分解方法包括問(wèn)題分解和過(guò)程分解,都可以用來(lái)進(jìn)行工程的估算。在工程估算過(guò)程中,“規(guī)模〞是一個(gè)根本的度量。如果能夠估算出工程的規(guī)模,那么結(jié)合歷史數(shù)據(jù)對(duì)規(guī)模進(jìn)行計(jì)算與分析,就不難完成對(duì)工作量、本錢(qián)的間接度量估算。在資源確定的前提下,進(jìn)度估算也能夠利用工作量估算結(jié)果,采用間接方法完成。就規(guī)模估算本身來(lái)說(shuō),只要界定了需求目標(biāo)并且進(jìn)行了必要的分解細(xì)化,那么既可以利用LOC方法進(jìn)行直接度量,也能夠使用功能點(diǎn)(或特征點(diǎn)、3D方法等)進(jìn)行間接估算。通過(guò)對(duì)“問(wèn)題〞的分解進(jìn)行估算時(shí),可以采用LOC或FP估算方法。LOC和FP的求取方法已經(jīng)在前一章中介紹過(guò),不再重復(fù)。具體來(lái)說(shuō),LOC和FP在估算中有兩種作用:其一是作為一個(gè)估算變量,度量軟件中每個(gè)成分的規(guī)模;其二是結(jié)合度量基線數(shù)據(jù)進(jìn)行計(jì)算,得到工作量與本錢(qián)估算數(shù)據(jù)。這時(shí),來(lái)自度量基線中的生產(chǎn)率歷史數(shù)據(jù)起著非常重要的作用。由于工程的多樣性,只用一個(gè)單一的生產(chǎn)率歷史數(shù)據(jù)來(lái)作決定是不科學(xué)的。應(yīng)當(dāng)根據(jù)經(jīng)驗(yàn),從樂(lè)觀的、可能的、悲觀的三種主觀前提出發(fā)進(jìn)行估算,根據(jù)計(jì)算出來(lái)的三個(gè)結(jié)果值再來(lái)計(jì)算LOC或FP的期望值?;诮?jīng)驗(yàn),可以采用下述加權(quán)求和公式來(lái)計(jì)算:上式中,Sopt代表“樂(lè)觀〞值,Sm代表“可能〞值,Spess代表“悲觀〞值。公式中給“可能值〞以最大權(quán)重,并遵循概率分布。一旦確定了估算變量的期望值,就可以開(kāi)始使用歷史的LOC或FP相關(guān)數(shù)據(jù)作下一步估算。這種方法稱為“三點(diǎn)估算〞方法。(17.2)
例1基于LOC估算的例子,范圍說(shuō)明如下:CAD軟件接收來(lái)自工程師輸入的三維或二維幾何數(shù)據(jù)。工程師通過(guò)用戶界面和CAD軟件進(jìn)行交互,并控制它,該界面應(yīng)當(dāng)表現(xiàn)出良好的人機(jī)界面設(shè)計(jì)的特征。所有幾何數(shù)據(jù)及其他支持信息都保存在一個(gè)CAD數(shù)據(jù)庫(kù)中。要求開(kāi)發(fā)設(shè)計(jì)分析模塊,以產(chǎn)生必要的輸出,這些輸出將表現(xiàn)在不同的圖形設(shè)備上。軟件在設(shè)計(jì)中要考慮與外設(shè)交互并控制它們。除顯示器之外,外設(shè)包括鼠標(biāo)、數(shù)字化儀和激光打印機(jī)。假設(shè)已經(jīng)對(duì)上述要求進(jìn)行了求精和分解,界定了以下的主要軟件子功能:(1)用戶界面及控制機(jī)制;(2)二維幾何分析(2DGA);(3)三維幾何分析(3DGA);(4)數(shù)據(jù)庫(kù)管理(DBM);(5)計(jì)算機(jī)圖形顯示機(jī)制(CGDF);(6)外設(shè)控制(PC);(7)設(shè)計(jì)分析模塊(DAM)。表14.1基于問(wèn)題分解的LOC方法的估算表問(wèn)題分解所得的子功能估算的LOC期望值(行)用戶界面及控制機(jī)制2300二維幾何分析(2DGA)5300三維幾何分析(3DGA)6800數(shù)據(jù)庫(kù)管理(DBM)3350計(jì)算機(jī)圖形顯示機(jī)制(CGDF)4950外設(shè)控制(PC)2100設(shè)計(jì)分析模塊(DAM)8400估算總代碼行數(shù)期望值33?200查詢本組織的度量基線得知,此類系統(tǒng)的平均生產(chǎn)率為620LOC/PM;平均人月本錢(qián)為8000美元/人月,那么LOC平均本錢(qián)為13美元/LOC。計(jì)算可知本工程的總本錢(qián)為431000美元,總工作量54個(gè)人月。如果人力資源投入六名合格的工程師,那么預(yù)計(jì)工期為九個(gè)月。例二基于FP估算的例子。對(duì)于上例中的各個(gè)子功能進(jìn)一步細(xì)化,將所有功能都分解為EI、EO、EQ以及ILF、EIF的組合,假設(shè)加權(quán)因子都取為“平均〞,計(jì)算出各類功能點(diǎn)見(jiàn)表14.2。表17.2估算信息域值——基于問(wèn)題分解的FP估算信息域值樂(lè)觀值可能值悲觀值估算計(jì)數(shù)加權(quán)因子FP計(jì)數(shù)EI20243024496EO12152216580EQ16222822488ILF44541040EIF2232714總計(jì)數(shù)值
318表17.3CAD軟件工程復(fù)雜度調(diào)整因子值因子值備份和復(fù)原4信息域值復(fù)雜度5數(shù)據(jù)通信2內(nèi)部處理復(fù)雜度5分布式處理0可復(fù)用需求4關(guān)鍵性能4設(shè)計(jì)中的轉(zhuǎn)換及安裝3現(xiàn)有的操作環(huán)境3多次安裝5聯(lián)機(jī)數(shù)據(jù)登錄4方便修改的應(yīng)用設(shè)計(jì)5多屏幕輸入切換5復(fù)雜度調(diào)整因子1.17主文件聯(lián)機(jī)更新3最后,得到整個(gè)工程的FP估算期望值: FP=318×[0.65+0.01×∑Fi]=372(功能點(diǎn))。查詢組織的度量基線數(shù)據(jù)庫(kù)得知,這類系統(tǒng)的平均生產(chǎn)率為6.5FP/PM,一個(gè)PM的本錢(qián)仍取8000美元,那么每個(gè)FP的平均本錢(qián)約為1230美元,總工程本錢(qián)估算約為457000美元,工作量估算期望值是58個(gè)人月。17.3.2基于過(guò)程分解的估算通過(guò)對(duì)工作過(guò)程進(jìn)行分解,也能夠結(jié)合度量基線進(jìn)行估算。方法是將過(guò)程分解為相對(duì)較小的活動(dòng)或任務(wù),估算出完成每項(xiàng)任務(wù)的工作量,最后匯總即可。和基于問(wèn)題分解的估算一樣,基于過(guò)程分解的估算也是開(kāi)始于軟件功能描述。對(duì)于每一個(gè)功能,都必須要執(zhí)行一系列的活動(dòng),如果能夠利用同類工程的度量基線估算出對(duì)應(yīng)于每項(xiàng)任務(wù)所需要的工作量,那么加總值就是本工程的工作量估算值。仍以CAD軟件開(kāi)發(fā)工程為例,根底參數(shù)見(jiàn)表14.4,仍然按照每人月8000美元計(jì)算,工程總本錢(qián)368000美元,工作量共46個(gè)人月。表17.4CAD軟件工程基于過(guò)程分解的工作量估算??活動(dòng)任務(wù)用戶通信計(jì)劃制訂風(fēng)險(xiǎn)分析工程分析設(shè)計(jì)UIGF
0.502.502DGA
0.754.003DGA
0.504.00DSM
0.503.00CGDF
0.503.00PCF
0.252.00DAM
0.502.00總和0.250.250.253.5020.50工作量0.5%0.5%0.5%8%45%表17.4CAD軟件工程基于過(guò)程分解的工作量估算建造發(fā)布用戶評(píng)估總和編碼測(cè)試0.405.00
8.400.602.00
7.351.003.00
8.501.001.50
6.000.751.50
5.750.501.50
4.250.502.00
5.004.7516.50
46.0010%36%
由上面的例子可見(jiàn),采用不同的估算方法,結(jié)果會(huì)有一定的誤差。這在一定范圍內(nèi)是正常的,可以用幾種方法的平均估算值作為最終估算值。同時(shí),也可以看出,度量基線在估算中的作用是無(wú)庸置疑的。如果幾種方法的估算偏差過(guò)大(一般以20%為界),那么需要分析原因,進(jìn)行再估算??赡艿脑蛑饕袃煞N,其一是度量基線中的數(shù)據(jù)和當(dāng)前問(wèn)題的類型不匹配;其二是對(duì)工程的范圍理解不充分。方案者必須確定偏差過(guò)大的原因,并調(diào)和各個(gè)估算結(jié)果。17.3.3經(jīng)驗(yàn)估算模型經(jīng)驗(yàn)估算模型是用經(jīng)驗(yàn)公式來(lái)進(jìn)行工程的估算。因?yàn)楣绞峭ㄟ^(guò)對(duì)有限樣本集的分析得出的,因此得到的結(jié)果并不一定適合當(dāng)前工程類型,這種方法應(yīng)當(dāng)慎重使用。使用這種方法,工作量是LOC或FP的函數(shù)。典型的經(jīng)驗(yàn)估算模型是通過(guò)對(duì)以前工程中收集到的數(shù)據(jù)進(jìn)行回歸分析導(dǎo)出的??傮w結(jié)構(gòu)具有類似的形式:E=A+B×(ev)C其中,ev是估算變量,A、B、C是基于經(jīng)驗(yàn)導(dǎo)出來(lái)的常數(shù),E是以人月為單位的工作量值。同時(shí),還可以在公式中加一些調(diào)整因素以便適應(yīng)當(dāng)前工程的特征。基于工作實(shí)踐,許多人提出了行之有效的經(jīng)驗(yàn)估算模型,主要的有:(1)面向LOC的經(jīng)驗(yàn)估算模型:Walston-Felix模型 E=5.2×(KLOC)0.91Bailey-Basili模型 E=5.5+0.73×(KLOC)1.16Boehm的簡(jiǎn)單模型 E=3.2×(KLOC)1.05(2)面向FP的經(jīng)驗(yàn)估算模型:Albrecnt-Gaffney模型E=-13.39+0.0545FPKemerer模型E=60.62×7.728×10-8(FP)3Maston-Barnett模型E=585.7+5.12FP不同的模型來(lái)源于不同的樣本數(shù)據(jù)集,結(jié)果對(duì)于相同的ev值會(huì)算出不同的結(jié)果。因此,估算模型必須按照當(dāng)前工程特點(diǎn)進(jìn)行調(diào)整。17.3.4COCOMO模型構(gòu)造性本錢(qián)模型(COCOMO,ConstructiveCostModel)是由BarryBoehm提出的一種被廣為應(yīng)用的估算模型,它共有三個(gè)層次。(1)根本的COCOMO模型:將軟件開(kāi)發(fā)工作量(及本錢(qián))作為程序規(guī)模函數(shù)進(jìn)行計(jì)算,程序規(guī)模以估算的代碼行數(shù)來(lái)表示。該模型是一個(gè)靜態(tài)單變量經(jīng)驗(yàn)?zāi)P汀?2)中級(jí)COCOMO模型:將軟件開(kāi)發(fā)工作量(及本錢(qián))作為程序規(guī)模及一組“本錢(qián)驅(qū)動(dòng)因子〞的函數(shù)(共15項(xiàng))來(lái)進(jìn)行計(jì)算。其中,“本錢(qián)驅(qū)動(dòng)因子〞包括對(duì)產(chǎn)品、硬件、人員及工程屬性的主觀評(píng)估。(3)高級(jí)COCOMO模型:包含了中級(jí)模型的所有特征,并結(jié)合了本錢(qián)驅(qū)動(dòng)因子對(duì)軟件工程過(guò)程中每一個(gè)步驟(分析、設(shè)計(jì)、編碼等)的影響的評(píng)估。在COCOMO模型中,使用的根本量包括:源指令行數(shù):DSI或KDSI,度量單位為行或千行,1KDSI=1024DSI(不包括注釋行)。開(kāi)發(fā)工作量:MM,度量單位為“人月〞,1MM=19人日=152人時(shí)=1/12人年。開(kāi)發(fā)進(jìn)度:TDEV,度量單位為月,它由工作量確定。在使用COCOMO模型進(jìn)行度量時(shí),應(yīng)當(dāng)考慮到具體工程的特點(diǎn)和具體的開(kāi)發(fā)環(huán)境。軟件工程的類型一般可以分為三類。(1)組織型:相對(duì)較小較簡(jiǎn)單的軟件工程(KDSI<50)。需求不很苛刻,開(kāi)發(fā)人員對(duì)軟件產(chǎn)品開(kāi)發(fā)目標(biāo)理解充分,軟件工作經(jīng)驗(yàn)豐富,對(duì)軟件使用環(huán)境熟悉,受硬件約束小。多數(shù)應(yīng)用軟件均屬此類。(2)嵌入型:要求在緊密聯(lián)系的硬件、軟件和操作的限制條件下運(yùn)行。通常與某些硬設(shè)備緊密結(jié)合,因此對(duì)算法、數(shù)據(jù)結(jié)構(gòu)、接口要求較高的軟件規(guī)模任意。例如大型OS軟件、大型指揮系統(tǒng)軟件等都屬此類。(3)半獨(dú)立型:要求介于以上兩種之間的軟件。規(guī)模、復(fù)雜性規(guī)模都在中等以上。KDSI可能在300以上。例如大型ERP、簡(jiǎn)單的指揮系統(tǒng)、大型事務(wù)處理軟件等屬于此類。針對(duì)不同的工程任務(wù),應(yīng)中選擇使用不同層次的COCOMO模型進(jìn)行估算。根本的COCOMO模型工作量與進(jìn)度估算公式見(jiàn)表14.5。表17.5根本COCOMO模型工作量與進(jìn)度估算公式總體類型工作量進(jìn)度組織型MM=2.4(KDSI)1.05TDEV=2.5(MM)0.38半獨(dú)立型MM=3.0(KDSI)1.12TDEV=2.5(MM)0.35嵌入型MM=3.6(KDSI)1.20TDEV=2.5(MM)0.32表17.6中級(jí)的COCOMO模型工作量與進(jìn)度估算公式總體類型名義工作量名義進(jìn)度組織型MM1=3.2(KDSI)1.05TDEV=2.5(MM1)0.38半獨(dú)立型MM1=3.0(KDSI)1.12TDEV=2.5(MM1)0.35嵌入型MM1=2.8(KDSI)1.20TDEV=2.5(MM1)0.32對(duì)于計(jì)算的結(jié)果,要基于經(jīng)驗(yàn)進(jìn)行調(diào)整,實(shí)際工作量:這里,R是經(jīng)驗(yàn)系數(shù),∏Fi是15項(xiàng)調(diào)整函數(shù)F1~F15的連乘積。實(shí)際進(jìn)度也要利用實(shí)際工作量調(diào)整。15種影響軟件工作量的因素見(jiàn)表17.7。(17.4)表17.715種影響軟件工作量因素Fi
高級(jí)的COCOMO模型的名義工作量和名義進(jìn)度計(jì)算公式和中級(jí)的類同,但是調(diào)整方式有區(qū)別:不再使用統(tǒng)一的工作量調(diào)整因子表,而是將15項(xiàng)工作量調(diào)整因子按照不同工作階段(分析與高層設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼與單元測(cè)試、集成及測(cè)試)分別考慮,給出不同的階段工作量調(diào)整數(shù)據(jù)表,最后使用各個(gè)階段工作量調(diào)整因子的綜合均值進(jìn)行工作量和工作進(jìn)度調(diào)整,更為貼近實(shí)際。(17.5)對(duì)于實(shí)時(shí)嵌入式軟件的開(kāi)發(fā),典型值是p=2000;對(duì)于電信軟件及系統(tǒng)軟件,p=10000;對(duì)于科學(xué)計(jì)算軟件,p=12000;而對(duì)于商業(yè)系統(tǒng)應(yīng)用,p=28000。當(dāng)前工程的生產(chǎn)率數(shù)據(jù)可以從以前開(kāi)發(fā)工作中收集到的歷史數(shù)據(jù)中導(dǎo)出。應(yīng)當(dāng)注意的是,軟件方程中有兩個(gè)獨(dú)立的參數(shù):(1)規(guī)模的估算值(以LOC表示);(2)以月或年表示的工程持續(xù)時(shí)間。為了簡(jiǎn)化估算過(guò)程,并將該模型表示為更通用的形式,Putnum等又提出了一組方程式,它們均從軟件方程式中導(dǎo)出。最小開(kāi)發(fā)時(shí)間被定義為tmin:tmin=8.14(LOC/P)0.43,單位是月工作量數(shù)據(jù)E:E=180Bt3,單位是人月(t的單位是人年)對(duì)于前面討論過(guò)的CAD軟件開(kāi)發(fā)項(xiàng)目,當(dāng)規(guī)模確定之后,利用上式進(jìn)行計(jì)算可得(17.6)(17.7)(月)(人月)(1)對(duì)于工程規(guī)模(如LOC)或功能(如功能點(diǎn))的定量估算。(2)定性的工程特性,如復(fù)雜度、所要求的可靠性或交付期限的緊迫程度。(3)對(duì)于開(kāi)發(fā)人員和環(huán)境的描述。根據(jù)這些根本數(shù)據(jù),利用自動(dòng)估算工具能夠提供關(guān)于如下數(shù)據(jù)的間接估算:完成該工程所需的工作量,預(yù)期的工程本錢(qián),工程持續(xù)時(shí)間,人員配置以及在某些情況下的開(kāi)發(fā)進(jìn)度及相關(guān)的風(fēng)險(xiǎn)防范。應(yīng)當(dāng)強(qiáng)調(diào)的是,實(shí)踐證明,假設(shè)干種不同工具應(yīng)用于同一個(gè)工程時(shí),得到的估算結(jié)果可能存在很大偏差。因此,應(yīng)當(dāng)明確,自動(dòng)估算工具的輸出不應(yīng)當(dāng)作為惟一的估算數(shù)據(jù)來(lái)源。17.4軟件工程方案的結(jié)構(gòu)當(dāng)界定了軟件范圍,明晰了約束條件和接口要求,確定了資源需求,估算出工程規(guī)模、本錢(qián)和工作量之后,制定工程開(kāi)發(fā)方案就有了科學(xué)的依據(jù)。軟件工程方案由工程開(kāi)發(fā)方案和相關(guān)的工作方案構(gòu)成。相關(guān)工作方案包括測(cè)試方案、品質(zhì)保證方案、配置管理方案、進(jìn)度方案、培訓(xùn)方案等等。在軟件工程開(kāi)發(fā)方案的結(jié)構(gòu)中,應(yīng)當(dāng)包括任務(wù)描述、過(guò)程模型選擇、資源需求描述、工程度量估算、階段任務(wù)劃分、里程碑設(shè)置和工作產(chǎn)品清單等內(nèi)容。具體的工程開(kāi)發(fā)方案的結(jié)構(gòu)可以參考“國(guó)家計(jì)算機(jī)軟件產(chǎn)品標(biāo)準(zhǔn)〞中的標(biāo)準(zhǔn)樣表。各個(gè)開(kāi)發(fā)組織也可以按照自己的過(guò)程定義方法,定義本組織的工程方案結(jié)構(gòu)。3.規(guī)模、工作量、本錢(qián)及資源需求3.1軟件規(guī)模估算3.2軟件工作量估算與階段工作量分配3.3工程本錢(qián)估算與本錢(qián)控制方案3.4關(guān)鍵資源需求估算4.工程開(kāi)發(fā)方案4.1工程組組織結(jié)構(gòu)4.1.1角色定義4.1.2人員分配4.2階段工作方案4.2.1工程方案階段方案4.2.2需求分析階段方案4.2.3體系結(jié)構(gòu)設(shè)計(jì)方案4.2.4詳細(xì)設(shè)計(jì)方案4.2.5測(cè)試的籌劃4.2.6編碼方案4.2.7測(cè)試方案4.2.8系統(tǒng)實(shí)施及試運(yùn)行方案4.2.9驗(yàn)收方案4.2.10工程維護(hù)方案5.人員培訓(xùn)方案6.變更控制標(biāo)準(zhǔn)7.配置管理方案8.風(fēng)險(xiǎn)預(yù)測(cè)及應(yīng)對(duì)措施9.關(guān)于本軟件開(kāi)發(fā)方案的補(bǔ)充說(shuō)明在軟件能力成熟度模型CMM中,將“軟件工程方案〞作為CMM2級(jí)的一個(gè)重要的KPA提了出來(lái)。17.5工程方案的分解求精“按照分階段的生命周期方案進(jìn)行嚴(yán)格的控制〞是軟件工程七項(xiàng)原那么的第一項(xiàng)。方案是控制工程過(guò)程的依據(jù),離開(kāi)了方案,對(duì)工作的評(píng)價(jià)就沒(méi)有標(biāo)準(zhǔn),對(duì)過(guò)程的控制就沒(méi)有根據(jù)。因此,在按照標(biāo)準(zhǔn)完成了包括范圍界定、規(guī)模估算、資源需求分析、階段劃分、角色定義等內(nèi)容的工程開(kāi)發(fā)方案之后,應(yīng)當(dāng)進(jìn)一步對(duì)其分解細(xì)化、調(diào)整求精。這樣將能夠使得開(kāi)發(fā)工作步步、時(shí)時(shí)、事事有據(jù)可依、有章可循。17.5.1任務(wù)確實(shí)定與并發(fā)處理在工程開(kāi)發(fā)方案中,已經(jīng)對(duì)工程的階段工作任務(wù)進(jìn)行了劃分。但是在多人參加的工程中,開(kāi)發(fā)工作中必然會(huì)出現(xiàn)并行情況,如圖17.4所示。圖17.4軟件工程階段任務(wù)的并行性從圖17.4中可以看到,在開(kāi)發(fā)進(jìn)程中設(shè)置了許多里程碑。里程碑為管理人員提供了指示工程進(jìn)度的可靠依據(jù)。當(dāng)一個(gè)軟件任務(wù)成功完成并通過(guò)評(píng)審,產(chǎn)生了文檔后,就完成了一個(gè)里程碑。階段任務(wù)之間的“并行〞特征也表示得較為清晰。由于軟件工程工程的“并行性〞,就提出了一系列的進(jìn)度要求。因?yàn)椴⑿腥蝿?wù)是同時(shí)發(fā)生的,所以進(jìn)度方案必須決定任務(wù)之間的附屬關(guān)系,確定各個(gè)任務(wù)的先后次序和彼此的銜接,確定各個(gè)任務(wù)完成的持續(xù)時(shí)間。此外,工程管理者必須特別注意構(gòu)成關(guān)鍵路徑的任務(wù)。在細(xì)化進(jìn)度方案時(shí),必須保證關(guān)鍵任務(wù)能夠提前,至少是按期完成。否那么必然導(dǎo)致工程的延誤。同時(shí)在人力資源的調(diào)配上,也要注意到并行工作帶來(lái)的影響。17.5.2制定明細(xì)的開(kāi)發(fā)進(jìn)度方案當(dāng)工程規(guī)模、開(kāi)發(fā)工作量已經(jīng)估算完畢,資源也已經(jīng)明確后,可以按照表17.8的建議來(lái)確定各個(gè)階段的工作量的分配比例,從而確定每一階段所需的開(kāi)發(fā)時(shí)間,然后再針對(duì)每個(gè)階段進(jìn)行任務(wù)分解,最后為分解出的各個(gè)任務(wù)進(jìn)行工作量估算和開(kāi)發(fā)時(shí)間的分配。在這個(gè)過(guò)程中,工程的進(jìn)度方案被進(jìn)一步求精,細(xì)化到了任務(wù)級(jí)。表14.8階段任務(wù)時(shí)間比例分配階段任務(wù)需求分析設(shè)計(jì)編碼與單元測(cè)試組裝與測(cè)試占開(kāi)發(fā)時(shí)間的百分比10%~30%17%~27%25%~60%16%~28%為了比較清楚地表現(xiàn)各項(xiàng)階段任務(wù)之間在進(jìn)度上的相互依賴關(guān)系,利用圖形方法表示進(jìn)度方案比使用語(yǔ)言表達(dá)更清楚。在方案的圖形表示中,必須明確標(biāo)明各個(gè)階段任務(wù)的方案開(kāi)始時(shí)間、完成時(shí)間;各個(gè)任務(wù)完成的標(biāo)志(約定:○表示文檔編寫(xiě);△代表評(píng)審);各個(gè)任務(wù)中參加工作的人數(shù);各個(gè)任務(wù)和工作量之間的銜接情況;完成各項(xiàng)任務(wù)所需要的物理資源和數(shù)據(jù)資源。甘特圖(GanntChart)常用來(lái)表示細(xì)化的進(jìn)度方案。在用甘特圖進(jìn)行進(jìn)度求精時(shí),時(shí)間單位可以分解到每周、每一個(gè)工作日乃至每一個(gè)工時(shí),資源可以對(duì)應(yīng)到每一個(gè)人。圖17.5用甘特圖表示進(jìn)度方案在表示進(jìn)度方案的各種形式之間進(jìn)行切換,比方數(shù)據(jù)表、甘特圖、網(wǎng)絡(luò)圖等等。使用甘特圖時(shí),每一任務(wù)的完成,不是以能否繼續(xù)下一階段的任務(wù)為標(biāo)準(zhǔn),而是以必須交付應(yīng)當(dāng)交付的文檔和通過(guò)評(píng)審為標(biāo)準(zhǔn)。因此在甘特圖中,文檔編制和評(píng)審是軟件開(kāi)發(fā)進(jìn)度的里程碑。17.6方案跟蹤監(jiān)督?jīng)]有方案的工程是混亂的工程、沒(méi)有跟蹤監(jiān)督的方案是無(wú)效的方案。制訂方案是嚴(yán)格工程管理的第一步。在方案執(zhí)行的過(guò)程中,必須對(duì)方案的執(zhí)行情況進(jìn)行跟蹤。并對(duì)跟蹤所得的結(jié)果和方案情況進(jìn)行比照分析。當(dāng)方案與實(shí)際之間存在著較大偏差時(shí),必須對(duì)過(guò)程活動(dòng)或者方案進(jìn)行調(diào)整。方案的跟蹤監(jiān)督在能力成熟度模型CMM中是一個(gè)重要的關(guān)鍵活動(dòng)域。方案是我們考核評(píng)價(jià)工作的標(biāo)準(zhǔn),但是由于方案的根底是建立在不能完全保證精確度的“估算值〞之上,所以,即使是精心制訂的方案,也不見(jiàn)得就完全沒(méi)有偏差。從另一個(gè)角度來(lái)看,即使方案制訂得十分準(zhǔn)確,當(dāng)需求發(fā)生變更、資源發(fā)生變化或者發(fā)生了其他的風(fēng)險(xiǎn),也會(huì)產(chǎn)生方案與實(shí)際進(jìn)展情況脫節(jié)的現(xiàn)象。對(duì)于工程方案進(jìn)行跟蹤和監(jiān)督的目的是建立對(duì)實(shí)際進(jìn)展的適當(dāng)可視性,使管理者能在軟件工程性能明顯偏離軟件方案時(shí)采取有效措施。工程方案的跟蹤和監(jiān)督活動(dòng)包括對(duì)照文件化的估計(jì)、約定和方案審查和跟蹤軟件完成情況和結(jié)果,并且根據(jù)實(shí)際的完成情況和結(jié)果調(diào)整這些方案。軟件工程的文件化的方案(即軟件開(kāi)發(fā)方案)用作跟蹤軟件活動(dòng)、通報(bào)狀態(tài)和修訂方案的標(biāo)準(zhǔn)。管理者監(jiān)控軟件活動(dòng),主要通過(guò)在所選出的軟件產(chǎn)品完成時(shí)和在所選擇的里程碑處,將實(shí)際的軟件規(guī)模、工作量、本錢(qián)、資源和進(jìn)度與方案值相比較,來(lái)確定真實(shí)的進(jìn)展情況。必要時(shí)采取糾正措施。這些措施可以包括修訂軟件開(kāi)發(fā)方案,重新籌劃遺留的工作或者改進(jìn)過(guò)程性能。不管是什么原因?qū)е铝朔桨负凸こ袒顒?dòng)之間的偏差,都可能造成工程的失控。因此,對(duì)方案的執(zhí)行情況進(jìn)行制度化的跟蹤度量,是工程管理過(guò)程中的一項(xiàng)重要任務(wù)。一種可行的方法是采用周方案/周總結(jié)的方式來(lái)進(jìn)行跟蹤監(jiān)督。工程經(jīng)理將工程開(kāi)發(fā)方案分解到每個(gè)人、每一周。每個(gè)工作人員都必須按照工程方案制訂自己本周的工作方案并嚴(yán)格執(zhí)行,記錄必要的工作數(shù)據(jù)。在每周結(jié)束時(shí)進(jìn)行周工作總結(jié),對(duì)照自己的方案進(jìn)行工作量、進(jìn)度、本錢(qián)等數(shù)據(jù)的度量,找出存在的偏差并制定糾正偏差的措施。整個(gè)小組在個(gè)人跟蹤的根底上進(jìn)行工程的跟蹤與監(jiān)督。在方案的跟蹤監(jiān)督活動(dòng)中,最重要的跟蹤對(duì)象是工程活動(dòng)、工作進(jìn)度、工程資源、工作本錢(qián)和工作質(zhì)量。除了內(nèi)部的跟蹤與監(jiān)督之外,獨(dú)立于工程組的SQA人員也應(yīng)當(dāng)進(jìn)行工程方案的跟蹤與監(jiān)督,并將發(fā)現(xiàn)的問(wèn)題通報(bào)給工程成員,必要時(shí)向上級(jí)管理部門(mén)通報(bào)。對(duì)方案跟蹤監(jiān)督活動(dòng)本身的進(jìn)展,也應(yīng)當(dāng)進(jìn)行度量,并將度量結(jié)果用于確定軟件跟蹤和監(jiān)督活動(dòng)的狀態(tài)。需要度量的對(duì)象包括:(1)在完成跟蹤和監(jiān)督活動(dòng)時(shí)所花費(fèi)的工作量和其他資源;(2)根據(jù)跟蹤結(jié)果對(duì)軟件開(kāi)發(fā)方案的更改活動(dòng),包括對(duì)軟件工作產(chǎn)品的規(guī)模估計(jì)、軟件本錢(qián)估計(jì)、關(guān)鍵計(jì)算機(jī)資源估計(jì)和進(jìn)度的更改。17.7方案執(zhí)行情況的度量與方案調(diào)控在方案制訂并被細(xì)化求精之后,它實(shí)際上就已經(jīng)界定了工作的目標(biāo),給出了工程規(guī)模,預(yù)計(jì)的工作量,各個(gè)階段任務(wù)的完成期限,工程的總體本錢(qián)和各個(gè)階段的本錢(qián),所需要的資源和可能發(fā)生的風(fēng)險(xiǎn)。因此,在工程工作中,應(yīng)當(dāng)針對(duì)這些方面的實(shí)際進(jìn)展進(jìn)行度量。這種度量應(yīng)當(dāng)是量化的、客觀的并應(yīng)當(dāng)形成書(shū)面的度量數(shù)據(jù)表,包括:(1)度量方案中羅列出來(lái)的所有軟件工作產(chǎn)品的實(shí)際規(guī)模數(shù)據(jù)(代碼行、文檔頁(yè)等等);(2)度量完成各項(xiàng)任務(wù)的實(shí)際時(shí)間;(3)度量完成各項(xiàng)工作所消耗的實(shí)際本錢(qián);(4)度量人力資源、可復(fù)用構(gòu)件資源和硬件/軟件環(huán)境資源的實(shí)際狀態(tài)(到位/未到位);(5)度量實(shí)際的工作進(jìn)度;(6)度量方案中指出的可能發(fā)生的風(fēng)險(xiǎn)情況(檢查特定的風(fēng)險(xiǎn)標(biāo)識(shí)出現(xiàn)/未出現(xiàn));(7)度量在一段時(shí)間內(nèi)發(fā)生的變更情況。上述所有度量的結(jié)果應(yīng)當(dāng)在工程組的周報(bào)和里程碑階段總結(jié)報(bào)告中明確地進(jìn)行表述。必要時(shí),增加對(duì)有關(guān)度量結(jié)果的說(shuō)明和分析。這些工作必須形成制度,保證能夠得到執(zhí)行。度量數(shù)據(jù)和方案數(shù)據(jù)之間不可防止會(huì)存在偏差。工程管理者要對(duì)照方案進(jìn)行偏差分析。當(dāng)偏差超過(guò)一定范圍后,要采用修訂方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國(guó)汽車大燈增光器行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國(guó)開(kāi)背式工作褲市場(chǎng)分析及競(jìng)爭(zhēng)策略研究報(bào)告
- 2025至2030年中國(guó)冷凍柜市場(chǎng)調(diào)查研究報(bào)告
- 2025至2030年中國(guó)SMC專用高阻隔承載薄膜市場(chǎng)調(diào)查研究報(bào)告
- 2025年工業(yè)VOC治理系統(tǒng)項(xiàng)目合作計(jì)劃書(shū)
- 校園規(guī)范漢字書(shū)寫(xiě)傳承文化之美倡議書(shū)
- 河南省三門(mén)峽市靈寶市實(shí)驗(yàn)高級(jí)中學(xué)2024年高三下學(xué)期數(shù)學(xué)試題周考(一)試題
- 2025年鉆采設(shè)備專用件合作協(xié)議書(shū)
- 2025年DCA-1皮革固色劑項(xiàng)目合作計(jì)劃書(shū)
- 2025年機(jī)動(dòng)三輪車項(xiàng)目建議書(shū)
- 后疫情時(shí)代全球貿(mào)易規(guī)則重構(gòu)
- 抗日戰(zhàn)爭(zhēng)中的英雄人物課件
- 電動(dòng)汽車電機(jī)驅(qū)動(dòng)控制系統(tǒng)設(shè)計(jì)
- 醫(yī)療器械公司員工入職培訓(xùn)
- (完整版)高中物理公式大全
- 《高血糖危象》課件
- 鐵路線路工培訓(xùn)課件
- 《答司馬諫議書(shū)》 統(tǒng)編版高中語(yǔ)文必修下冊(cè)
- 儲(chǔ)備土地管護(hù)投標(biāo)方案 (技術(shù)方案)
- TensorFlow+Keras深度學(xué)習(xí)人工智能實(shí)踐應(yīng)用
- 自驅(qū)型成長(zhǎng):如何培養(yǎng)孩子的自律力
評(píng)論
0/150
提交評(píng)論