下去時可以及早的終止項目。
3)增量和迭代模型。增量迭代是RUP統(tǒng)一過程常采用的軟件開發(fā)生命周期模型。就對風(fēng)險的消除上,增量和迭代模型都能夠很好的控制前期的風(fēng)險并解決。但迭代模型在這方面更有優(yōu)勢。迭代模型更多的可以從總體方面去系統(tǒng)的思考問題,從最早就可以給出相對完善的框架或原型,后期的每次迭代都是針對上次迭代的逐步精化。
3.5 項目風(fēng)險管理
風(fēng)險管理貫穿項目管理的各個階段和各個領(lǐng)域,是項目管理中的重點和難點。軟件項目風(fēng)險管理是指對在軟件開發(fā)過程中所遇到的預(yù)算和進度等方面的問題進行分析,尋求風(fēng)險應(yīng)對方法,做好風(fēng)險管理計劃。通過緩和或預(yù)知等手段來減輕風(fēng)險,降低風(fēng)險發(fā)生的可能性或減緩風(fēng)險帶來的不利后果。
針對軟件項目中的風(fēng)險管理問題,主要風(fēng)險管理模型如下:
1)SEI的連續(xù)風(fēng)險管理模型(CRM)。SEICRM模型的風(fēng)險管理原則是不斷地評估可能造成惡劣后果的因素;決定最迫切需要處理的風(fēng)險;實現(xiàn)控制風(fēng)險的策略;評測并確保風(fēng)險策略實施的有效性。CRM模型要求在項目生命期的所有階段都關(guān)注風(fēng)險識別和管理,它將風(fēng)險管理劃分為五個步驟:風(fēng)險識別、分析、計劃、跟蹤、控制。
2)BarryBoehm模型。Boehm模型的思想核心是:10大風(fēng)險因素列表。針對每個風(fēng)險因素,都給出了一系列的風(fēng)險管理策略。在實際操作時,Boehm以10大風(fēng)險列表為依據(jù),總結(jié)當前項目具體的風(fēng)險因素,評估后進行計劃和實施,在下一次定期召開的會議上再對這10大風(fēng)險因素的解決情況進行總結(jié),產(chǎn)生新的10大風(fēng)險因素表,依此類推。
3)軟件工程風(fēng)險模型(SERIM)。SERIM模型要求從技術(shù)和商業(yè)兩個角度對軟件風(fēng)險管理進行剖析,考慮的問題涉及開銷、進度、技術(shù)性能等。它還提供了一些指標和模型來估量和預(yù)測風(fēng)險,由于這些數(shù)據(jù)來源于大量的實際經(jīng)驗,因此具有很強的說服力。
4 項目過程管理
4.1 軟件設(shè)計
軟件設(shè)計采用自頂向下、逐次功能展開的設(shè)計方法,首先完成總體設(shè)計,然后完成各有機組成部分的設(shè)計。
根據(jù)工作性質(zhì)和內(nèi)容的不同,軟件設(shè)計分為概要設(shè)計和詳細設(shè)計。概要設(shè)計實現(xiàn)軟件的總體設(shè)計、模塊劃分、用戶界面設(shè)計、數(shù)據(jù)庫設(shè)計等等;詳細設(shè)計則根據(jù)概要設(shè)計所做的模塊劃分,實現(xiàn)各模塊的算法設(shè)計,實現(xiàn)用戶界面設(shè)計、數(shù)據(jù)結(jié)構(gòu)設(shè)計的細化,等等。
概要設(shè)計是詳細設(shè)計的基礎(chǔ),必須在詳細設(shè)計之前完成,概要設(shè)計經(jīng)復(fù)查確認后才可以開始詳細設(shè)計。概要設(shè)計,必須完成概要設(shè)計文檔,包括系統(tǒng)的總體設(shè)計文檔、以及各個模塊的概要設(shè)計文檔。每個模塊的設(shè)計文檔都應(yīng)該獨立成冊。
詳細設(shè)計必須遵循概要設(shè)計來進行。詳細設(shè)計方案的更改,不得影響到概要設(shè)計方案;如果需要更改概要設(shè)計,必須經(jīng)過項目經(jīng)理的同意。詳細設(shè)計,應(yīng)該完成詳細設(shè)計文檔,主要是模塊的詳細設(shè)計方案說明。
4.2 設(shè)計評審
在設(shè)計完成后,必須安排設(shè)計評審以保證設(shè)計的質(zhì)量,設(shè)計評審是對一項設(shè)計進行正式的、按文件規(guī)定的、系統(tǒng)的評估活動,由不直接涉及開發(fā)工作的人執(zhí)行。設(shè)計評審可采用向設(shè)計組提建議或幫助的形式,或就設(shè)計是否滿足客戶所有要求進行評估。評審的內(nèi)容主要包括:
1)關(guān)鍵算法的可行性;
2)接口是否符合概要設(shè)計的要求;
3)技術(shù)清晰度是否符合設(shè)計標準;
4)文檔的完備性。
4.3 編碼
在編碼階段,主要需要在編碼工作結(jié)束后,進行代碼審核,這項工作非常重要主要應(yīng)該由項目小組的技術(shù)負責(zé)人完成,審核的目的并不是為了檢驗代碼的正確性而是需要對編碼是否按照規(guī)范進行審核。主要內(nèi)容包括:
1)變量、包、方法等的命名是否符合規(guī)則;
2)注釋是否填寫完整,是否符合規(guī)范;
&nbs