軟件瀑布模型開(kāi)發(fā)過(guò)程_第1頁(yè)
軟件瀑布模型開(kāi)發(fā)過(guò)程_第2頁(yè)
軟件瀑布模型開(kāi)發(fā)過(guò)程_第3頁(yè)
軟件瀑布模型開(kāi)發(fā)過(guò)程_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、軟件開(kāi)發(fā)瀑布模型 概述 瀑布模型其實(shí)并不新,它在 1970 年前后就已經(jīng)出現(xiàn)了,但是大部分開(kāi)發(fā)者 對(duì)瀑布模型只有一個(gè)模糊的概念。從本質(zhì)來(lái)講,它是一個(gè)軟件開(kāi)發(fā)架構(gòu),開(kāi)發(fā) 過(guò)程是通過(guò)一系列階段順序展開(kāi)的,從系統(tǒng)需求分析開(kāi)始直到產(chǎn)品發(fā)布和維 護(hù),每個(gè)階段都會(huì)產(chǎn)生循環(huán)反饋,因此,如果有信息未被覆蓋或者發(fā)現(xiàn)了問(wèn) 題,那么最好 “返回”上一個(gè)階段并進(jìn)行適當(dāng)?shù)男薷?,開(kāi)發(fā)進(jìn)程從一個(gè)階段 “流動(dòng) 到下一個(gè)階段,這也是瀑布開(kāi)發(fā)名稱(chēng)的由來(lái)。 這一模型存在很多變體,每種只是在階段名稱(chēng)上略有區(qū)別,但是,總體來(lái) 講,瀑布開(kāi)發(fā)模型可以分為六個(gè)不同的階段,其定義如下: 1.需求分析: 雖然是第一步,但是這一步至關(guān)重要,因?yàn)樗?/p>

2、包含了獲取客戶(hù)需求與定義 的信息,以及對(duì)需要解決的問(wèn)題所能達(dá)到的最清晰的描述。分析包含了理解客 戶(hù)的商業(yè)環(huán)境與約束,產(chǎn)品必需實(shí)現(xiàn)的功能,產(chǎn)品必需達(dá)到的性能水平,以及 必需實(shí)現(xiàn)兼容的外部系統(tǒng)。 在這一階段所使用的技術(shù)包括采訪客戶(hù)、使用案例和軟件特色的 “購(gòu)物清 單”。 分析階段的結(jié)果通常是一份正式的需求說(shuō)明書(shū),這也是下一階段的起始信 息資料。 2.設(shè)計(jì): 這一步包括了 “定義硬件和軟件架構(gòu)、組件、模塊、界面和數(shù)據(jù)等來(lái)滿(mǎn)足指 定的需求(Wikipedia)?!彼擞布蛙浖軜?gòu)的定義,確定性能和安全參 數(shù),設(shè)計(jì)數(shù)據(jù)存儲(chǔ)容器和限制,選擇集成開(kāi)發(fā)環(huán)境(ID日和編程語(yǔ)言,并指定 異常處理、資源管理和

3、界面連接性的策略。 這一階段還強(qiáng)調(diào)了用戶(hù)接口的設(shè)計(jì),包括與瀏覽和可用性相關(guān)的問(wèn)題,這 一階段的輸出結(jié)果是一份或多份設(shè)計(jì)說(shuō)明書(shū),這些說(shuō)明書(shū)將在下一階段使用。 3.實(shí)現(xiàn): 這一步包含了根據(jù)設(shè)計(jì)說(shuō)明書(shū)來(lái)構(gòu)建產(chǎn)品,通常,這一階段是由開(kāi)發(fā)團(tuán)隊(duì) 來(lái)執(zhí)行的,開(kāi)發(fā)團(tuán)隊(duì)包括了程序員、界面設(shè)計(jì)師和其他的專(zhuān)家,他們使用的工 具包括編譯軟件、調(diào)試軟件、解釋軟件和媒體編輯軟件。 這一階段將生成一個(gè)或多個(gè)產(chǎn)品組件,它們是根據(jù)每一條編碼標(biāo)準(zhǔn)而編寫(xiě) 的,并且經(jīng)過(guò)了調(diào)試、測(cè)試并進(jìn)行集成以滿(mǎn)足系統(tǒng)架構(gòu)的需求。對(duì)于大型開(kāi)發(fā) 團(tuán)隊(duì)而言,我建議使用版本控制工具來(lái)追蹤代碼樹(shù)的變化,這樣在出現(xiàn)問(wèn)題的 時(shí)候可以還原以前的版本。 4.測(cè)試:

4、在這一階段,獨(dú)立的組件和集成后的組件都將進(jìn)行系統(tǒng)性驗(yàn)證以確保沒(méi)有 錯(cuò)誤并且完全符合第一階段所制定的需求。一個(gè)獨(dú)立的質(zhì)量保證小組將定義 “測(cè) 試實(shí)例 ”來(lái)評(píng)估產(chǎn)品是完全實(shí)現(xiàn)了需求還是只有部分滿(mǎn)足。有三種測(cè)試方法可以 使用: 對(duì)獨(dú)立的代碼模塊進(jìn)行單元測(cè)試;對(duì)集成產(chǎn)品進(jìn)行系統(tǒng)測(cè)試;以及客戶(hù)參 與的驗(yàn)收測(cè)試。如果發(fā)現(xiàn)了缺陷,將會(huì)對(duì)問(wèn)題進(jìn)行記錄并向開(kāi)發(fā)團(tuán)隊(duì)反饋以進(jìn) 行修正。在這一階段,還有產(chǎn)品文檔會(huì)經(jīng)過(guò)準(zhǔn)備、評(píng)估并發(fā)布,比如用戶(hù)手冊(cè) 等。 5.安裝: 在產(chǎn)品通過(guò)測(cè)試并且被鑒定為符合需求的產(chǎn)品后,就會(huì)進(jìn)入到安裝階段, 這一階段包括了在客戶(hù)站點(diǎn)進(jìn)行系統(tǒng)或產(chǎn)品的安裝和使用,這可以通過(guò)互聯(lián)網(wǎng) 或者物理媒介進(jìn)行,

5、通常交付使用的產(chǎn)品都帶有正式的版本號(hào),這為今后的產(chǎn) 品升級(jí)提供了便利。 6.維護(hù): 這一階段發(fā)生在安裝之后,包括了對(duì)整個(gè)系統(tǒng)或某個(gè)組件進(jìn)行修改以改變 屬性或者提升性能,這些修改可能源于客戶(hù)的需求變化或者系統(tǒng)使用中沒(méi)有覆 蓋到的缺陷,通常,在維護(hù)階段對(duì)產(chǎn)品的修改都會(huì)被記錄下來(lái)并產(chǎn)生新的發(fā)布 版本(稱(chēng)作 “維護(hù)版本 ”并伴隨升級(jí)了的版本號(hào))以確??蛻?hù)可以從升級(jí)中獲 、人 益。 優(yōu)勢(shì) 上述的瀑布模型為軟件開(kāi)發(fā)人員提供了眾多優(yōu)勢(shì),首先,這個(gè)階段性的軟 件開(kāi)發(fā)模型規(guī)定了以下規(guī)則: 每個(gè)階段都有指定的起點(diǎn)和終點(diǎn),過(guò)程最終可以被客戶(hù)和開(kāi)發(fā)者識(shí)別(通 過(guò)使用里程碑),在編寫(xiě)第一行代碼之前充分強(qiáng)調(diào)了需求和設(shè)計(jì),

6、這避免了時(shí) 間的浪費(fèi)以及跳票的風(fēng)險(xiǎn),同時(shí)還可以盡可能地保證實(shí)現(xiàn)客戶(hù)的預(yù)期需求。 提取需求和設(shè)計(jì)提高了產(chǎn)品質(zhì)量,因?yàn)樵谠O(shè)計(jì)階段捕獲并修正可能存在的 漏洞要比測(cè)試階段容易很多,畢竟在組件集成之后來(lái)追蹤特定的錯(cuò)誤要復(fù)雜很 多。最后,因?yàn)榍皟蓚€(gè)階段生成了規(guī)范的說(shuō)明書(shū),當(dāng)團(tuán)隊(duì)成員分散在不同地點(diǎn) 的時(shí)候,瀑布模型可以幫助實(shí)現(xiàn)有效的知識(shí)傳遞。 缺點(diǎn) 除了看上去很明顯的這些優(yōu)勢(shì),瀑布模型近來(lái)也受到了很多批評(píng),最突出 的一點(diǎn)是圍繞需求分析的,通??蛻?hù)一開(kāi)始并不知道他們需要的是什么,而是 在整個(gè)項(xiàng)目進(jìn)程中通過(guò)雙向交互不斷明確的;而瀑布模型是強(qiáng)調(diào)捕獲需求和設(shè) 計(jì)的,但在這種情況下,現(xiàn)實(shí)世界的反復(fù)無(wú)償就顯得瀑布模型有

7、些不切實(shí)際 了。 除此以外,即使給定了客戶(hù)需求,根據(jù)這些需求在一定的精確性范圍內(nèi) (瀑布模型所建議的)估算時(shí)間和成本是非常困難的。因此,建議在客戶(hù)需求 可以在最初階段明確的情況下并且相對(duì)穩(wěn)定的項(xiàng)目中使用瀑布模型。 另外的批評(píng)指出瀑布模型還假定設(shè)計(jì)可以被轉(zhuǎn)換為真實(shí)的產(chǎn)品,這往往導(dǎo) 致開(kāi)發(fā)者在工作時(shí)陷入困境,通常,看上去合理可行的設(shè)計(jì)方案在現(xiàn)實(shí)中往往 代價(jià)昂貴或者異常艱難,從而需要重新設(shè)計(jì),這樣就破壞了傳統(tǒng)瀑布模型中清 晰的階段界限。有些批評(píng)還指出瀑布模型暗示了清晰的分工,將參與開(kāi)發(fā)的人 員分為 “設(shè)計(jì)師”、“程序員 ”和“測(cè)試員 ”,但是在現(xiàn)實(shí)中,這樣的分工對(duì)于軟件公 司而言既不現(xiàn)實(shí)也沒(méi)有效率。

8、 客戶(hù)需求 盡管瀑布模型招致了很多批評(píng),但是它對(duì)很多類(lèi)型的項(xiàng)目而言依然是有效 的,如果正確使用,可以節(jié)省大量的時(shí)間和金錢(qián)。對(duì)于您的項(xiàng)目而言,是否使 用這一模型主要取決于您是否能理解客戶(hù)的需求以及在項(xiàng)目的進(jìn)程中這些需求 的變化程度,對(duì)于經(jīng)常變化的項(xiàng)目而言,瀑布模型毫無(wú)價(jià)值,對(duì)于這種情況, 您可以考慮其他的架構(gòu)來(lái)進(jìn)行項(xiàng)目管理,比如名為螺旋模型(spiralmodel)的方 法,當(dāng)然,這是另外一碼事了 . 我的觀點(diǎn) 對(duì)于需求不明確或經(jīng)常變動(dòng)的情況,瀑布模型是不適應(yīng)的,其實(shí)就是需求 確定,其實(shí)瀑布模型也不是很好的,因?yàn)槿说乃季S過(guò)程是連續(xù)的,不可能一下 子考慮的很全面,因此如果在瀑布的不同階段使用不同的人員,很難保證這個(gè) 階段方案真的能滿(mǎn)足下一階段的要求,而瀑布模型恰恰要求做到這樣(因?yàn)樗?不允許循環(huán)和迭代,有循環(huán)和迭代就不叫瀑布模型了,誰(shuí)見(jiàn)過(guò)瀑布還會(huì)自己流 回山上的),這個(gè)要求是不符合人的思維習(xí)慣的。 所以可操作的過(guò)程必須是有靈活性的,可以處理不同類(lèi)型的項(xiàng)目(或者針 對(duì)不同類(lèi)型的項(xiàng)目采用不同的過(guò)程),比如對(duì)于一個(gè)開(kāi)發(fā)周期長(zhǎng)的項(xiàng)目,清晰

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論