複製鏈接
請複製以下鏈接發送給好友

快速原型模型

鎖定
快速原型模型需要迅速建造一個可以運行的軟件原型 ,以便理解和澄清問題,使開發人員與用户達成共識,最終在確定的客户需求基礎上開發客户滿意軟件產品。 快速原型模型允許在需求分析階段對軟件的需求進行初步而非完全的分析和定義,快速設計開發出軟件系統的原型,該原型向用户展示待開發軟件的全部或部分功能和性能;用户對該原型進行測試評定,給出具體改進意見以豐富細化軟件需求;開發人員據此對軟件進行修改完善,直至用户滿意認可之後,進行軟件的完整實現及測試、維護。
中文名
快速原型模型
外文名
Rapid Prototype Model

快速原型模型模型簡述

原型是指模擬某種產品的原始模型,在其他產業中經常使用。軟件開發中的原型是軟件的一個早期可運行的版本,它反映了最終系統的重要特性。
快速原型模型又稱原型模型,它是增量模型的另一種形式;它是在開發真實系統之前,構造一個原型,在該原型的基礎上,逐漸完成整個系統的開發工作。快速原型模型的第一步是建造一個快速原型,實現客户或未來的用户與系統的交互,用户或客户對原型進行評價,進一步細化待開發軟件的需求。通過逐步調整原型使其滿足客户的要求,開發人員可以確定客户的真正需求是什麼;第二步則在第一步的基礎上開發客户滿意軟件產品

快速原型模型優缺點

優點:克服瀑布模型的缺點,減少由於軟件需求不明確帶來的開發風險。
這種模型適合預先不能確切定義需求的軟件系統的開發。
缺點:所選用的開發技術和工具不一定符合主流的發展;快速建立起來的系統結構加上連續的修改可能會導致產品質量低下。
使用這個模型的前提是要有一個展示性的產品原型,因此在一定程度上可能會限制開發人員的創新。

快速原型模型產生原理

快速原型模型思想的產生

由於種種原因,在需求分析階段得到完全、一致、準確、合理的需求説明是很困難的,在獲得一組基本需求説明後,就快速地使其“實現”,通過原型反饋,加深對系統的理解,並滿足用户基本要求,使用户在試用過程中受到啓發,對需求説明進行補充和精確化,消除不協調系統需求,逐步確定各種需求,從而獲得合理、協調一致、無歧義的、完整的、現實可行的需求説明。又把快速原型思想用到軟件開發的其他階段,向軟件開發的全過程擴展。即先用相對少的成本,較短的週期開發一個簡單的、但可以運行的系統原型向用户演示或讓用户試用,以便及早澄清並檢驗一些主要設計策略,在此基礎上再開發實際的軟件系統。

快速原型模型原理

快速原型是利用原型輔助軟件開發的一種新思想。經過簡單快速分析,快速實現一個原型,用户與開發者在試用原型過程中加強通信與反饋,通過反覆評價和改進原型,減少誤解,彌補漏洞,適應變化,最終提高軟件質量

快速原型模型模型類型

快速原型模型探索型原型

這種類型的原型是把原型用於開發的需求分析階段,目的是要弄清用户的需求,確定所期望的特性,並探索各種方案的可行性。它主要針對開發目標模糊,用户與開發都對項目都缺乏經驗的情況,通過對原型的開發來明確用户的需求。

快速原型模型實驗型原型

這種原型主要用於設計階段,考核實現方案是否合適,能否實現。對於一個大型系統,若對設計方案心中沒有把握時,可通過這種原型來證實設計方案的正確性。

快速原型模型演化型原型

這種原型主要用於及早向用户提交一個原型系統,該原型系統或者包含系統的框架,或者包含系統的主要功能,在得到用户的認可後,將原型系統不斷擴充演變為最終的軟件系統。它將原型的思想擴展到軟件開發的全過程。

快速原型模型運用方式

由於運用原型的目的和方式不同,在使用原型時也採取不同的策略,有拋棄策略和附加策略。
1、拋棄策略是將原型用於開發過程的某個階段,促使該階段的開發結果更加完整、準確、一致、可靠,該階段結束後,原型隨之作廢。探索型和實驗型就是採用此策略的。
2、附加策略是將原型用於開發的全過程,原型由最基本的核心開始,逐步增加新的功能和新的需求,反覆修改反覆擴充,最後發展為用户滿意的最終系統,演化型快速原型就是採用此策略。
採用何種形式、何種策略運用快速原型主要取決於軟件項目的特點、人員素質、可供支持的原型開發工具和技術等,這要根據實際情況的特點來決定。

快速原型模型開發步驟

快速原型模型快速分析

在分析人員與用户密切配合下,迅速確定系統的基本需求,根據原型所要體現的特徵描述基本需求以滿足開發原型的需要。

快速原型模型構造原型

在快速分析的基礎上,根據基本需求説明儘快實現一個可行的系統。這裏要求具有強有力的軟件工具的支持,並忽略最終系統在某些細節上的要求,如安全性、堅固性、例外處理等等,主要考慮原型系統能夠充分反映所要評價的特性,而暫時刪除一切次要內容。

快速原型模型運行原型

這是發現問題、消除誤解、開發者與用户充分協調的一個步驟。

快速原型模型評價原型

在運行的基礎上,考核評價原型的特性,分析運行效果是否滿足用户的願望,糾正過去交互中的誤解與分析中的錯誤,增添新的要求,並滿足因環境變化或用户的新想法引起的系統要求變動,提出全面的修改意見。

快速原型模型修改

根據評價原型的活動結果進行修改。若原型未滿足需求説明的要求,説明對需求説明存在不一致的理解或實現方案不夠合理,則根據明確的要求迅速修改原型。

快速原型模型模型對比

傳統的瀑布模型本質上是一種線性順序模型,存在着比較明顯的缺點,各階段之間存在着嚴格的順序性和依賴性,特別是強調預先定義需求的重要性,在着手進行具體的開發工作之前,必須通過需求分析預先定義並“凍結”軟件需求,然後再一步一步的實現這些需求。但是實際項目很少是遵循着這種線性順序進行的。在系統建立之前很難只依靠分析就確定出一套完整、準確、一致和有效的用户需求,這種預先定義需求的方法更不能適應用户需求不斷變化的情況。
用户的不斷變化的需求具體表現在:
(1)需求是可變的。某些應用軟件的需求與外部環境、經營內容等密切相關,因此需求是隨時變化的,按照這樣預先指定的需求開發軟件,當軟件開發出來的時候就往往已經過時,不符合用户的需要。
(2)需求是模糊的。對於大多數的應用系統,例如管理信息系統,其需求往往很難預先準確的定義,也就是説,預先定義需求的策略所做出的假設,只對某些軟件成立,對多數軟件並不成立。許多用户對他們的需求最初只有模糊的概念,想要求一個對需求只有初步設想的人準確無誤的説出全部需求,顯然是不切實際的。
(3)用户和開發者溝通困難。大多數用户和專業領域的專家不熱悉計算機和軟件開發技術,軟件開發人員也往往不熟悉用户的專業領域,因此,開發人員和用户之間很難做到完全溝通和相互理解,在需求分析階段做出的用户需求常常是不完整、不準確的。
傳統的瀑布模型很難適應需求可變、模糊不定的軟件系統的開發,而且在開發過程中,用户很難參與進去,只有到開發結束才能看到整個軟件系統。這種理想的、線性的開發過程,缺乏靈活性,不適合實際的開發過程。
而快速原型模型的提出,可以較好的解決瀑布模型的侷限性,通過建立原型,可以更好的和客户進行溝通,解決對一些模糊需求的澄清,並且對需求的變化有較強的適應能力。原型模型可以減少技術、應用的風險,縮短開發時間,減少費用,提高生產率,通過實際運行原型,提供了用户直接評價系統的方法,促使用户主動參與開發活動,加強了信息的反饋,促進了各類人員的協調交流,減少誤解,能夠適應需求的變化,最終有效提高軟件系統的質量。