1. 軟件過程
過程方法
過程方法是系統(tǒng)地識別和管理組織內(nèi)所使用的過程,保證更有效地獲得期望的結(jié)果。
軟件開發(fā)活動
- 問題定義:人們通過開展技術(shù)探索和市場調(diào)查等活動,研究系統(tǒng)的可行性和可能的解決方案,確定待開發(fā)系統(tǒng)的總體目標(biāo)和范圍。
- 需求開發(fā):在可行性研究之后,分析、整理和提煉所收集到的用戶需求,建立完整的需求分析模型,編寫軟件需求規(guī)格說明。
- 軟件設(shè)計:根據(jù)需求規(guī)格說明,確定軟件體系結(jié)構(gòu),進(jìn)一步設(shè)計每 個系統(tǒng)部件的實現(xiàn)算法、數(shù)據(jù)結(jié)構(gòu)及其接口等。
- 軟件構(gòu)造:概括地說是將軟件設(shè)計轉(zhuǎn)換成程序代碼,這是一個復(fù)雜而迭代的過程,要求根據(jù)設(shè)計模型進(jìn)行程序設(shè)計以及正確而高效地編寫和測試代碼。
- 軟件測試:檢查和驗證所開發(fā)的系統(tǒng)是否符合客戶期望,主要包括單元測試、子系統(tǒng)測試、集成測試和驗收測試等活動。
- 軟件維護(hù):系統(tǒng)投入使用后對其進(jìn)行改進(jìn),以適應(yīng)不斷變化的需求。完全從頭開發(fā)的系統(tǒng)很少,將軟件系統(tǒng)的開發(fā)和維護(hù)看成是一個連續(xù)過程更有意義。
項目開發(fā)管理
軟件項目管理是為了使軟件項目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對成本、人員、進(jìn)度、質(zhì)量和風(fēng)險進(jìn)行控制和管理的活動。
軟件配置管理
軟件配置管理是通過執(zhí)行版本控制、變更控制的規(guī)程,并且使用合適的配置管理軟件,來保證所有產(chǎn)品配置項的完整性和可跟蹤性。
2. 軟件過程模型
- 瀑布模型
瀑布模型只有在測試階段才能真正驗證軟件的功能和性能,但此時已經(jīng)開發(fā)完成,很難去糾正需求的問題。
僅適用于在開發(fā)初期需求就可以被完整地確定的情況
- 原型化模型
原型:實現(xiàn)的產(chǎn)品的一部分,用于使用戶驗證是否符合需求。
原型化模型的第一步是建造一個快速原型,實現(xiàn)客戶或未來的用戶與系統(tǒng)的交互,經(jīng)過和用戶針對原型的討論和交流,弄清需求以便真正把握用戶需要的軟件產(chǎn)品是什么樣子的。
- 迭代式開發(fā)
- 可轉(zhuǎn)換模型
主要應(yīng)用于有限狀態(tài)的嵌入式系統(tǒng)中
- 案例
軟件開發(fā)的迭代行
軟件開發(fā)具有迭代性,需要不斷地反復(fù)嘗試,通過比較和選擇不同的設(shè)計,最終確定令人滿意的問題解決方案。
3. 敏捷開發(fā)過程
敏捷開發(fā)是一種基于更緊密的團(tuán)隊協(xié)作、能夠有效應(yīng)對快速變化需求、快速交付高質(zhì)量軟件的迭代和增量的新型軟件開發(fā)方法。
敏捷宣言
敏捷開發(fā)方法
迭代開發(fā)的關(guān)鍵要點
瀑布模型 vs. 敏捷開發(fā)模型




















