原型模型


    在開發真實系統之前,通過構建一個可以運行的軟件原型,使開發人員與用戶達成共識,以便理解和澄清問題,最終在確定的客戶需求基礎上開發客戶滿意的軟件產品。

    根據運用原型的目的和方式不同,可以將原型模型分為快速原型模型(拋棄型)和原型進化模型(漸進型)。(參考文章參考文章2)

    1.快速原型模型

    快速原型模型是原型模型在軟件分析、設計階段的應用,用來解決用戶對軟件系統在需求上的模糊認識,或用來試探某種設計是否能夠獲得預期結果。

快速原型模型

    快速原型模型具有以下一些特點:

    (1)快速原型是用來獲取用戶需求的,或是用來試探設計是否有效的。一旦需求或設計確定下來了,原型就將被拋棄。因此,快速原型要求快速構建、容易修改,以節約原型創建成本、加快開發速度。快速原型往往采用一些快速生成工具創建,例如 4GL 語言。目前,Microsoft  Visual Basic、Inprise Delphi 等基於組件的可視化開發工具,也被應用於原型創建之中,並且都是非常有效的快速原型創建工具,而且還可用於原型進化。

    (2)快速原型是暫時使用的,因此並不要求完整。它往往針對某個局部問題建立專門原型, 如界面原型、工作流原型、查詢原型等。

    (3)快速原型不能貫穿軟件的整個生命周期,它需要和其他的過程模型相結合才能產生作 用。例如,在瀑布模型中應用快速原型,以解決瀑布模型在需求分析時期存在的不足。

    2.原型進化模型(演化模型)

    原型進化對開發過程的考慮是,針對有待開發的軟件系統,先開發一個原型系統給用戶使用,然后根據用戶使用情況的意見反饋,對原型系統不斷修改,使它逐步接近並最終到達開發目標。跟快速原型不同的是,快速原型在完成需求定義后將被拋棄,而原型進化所要創建的原型則是一個今后將要投入應用的系統,只是所創建的原型系統在功能、性能等方面還有許多不足,還沒有達到最終開發目標,需要不斷改進。 原型進化的工作流程如圖所示。

 

原型進化模型

    從圖中可以看到,它具有以下兩個特點:

    (1)原型進化模型將原型用於開發的全過程,原型由最基本的核心開始,逐步增加新的功能和新的需求,反復修改反復擴充,最后發展為用戶滿意的最終系統。

    (2)原型進化模型是通過不斷發布新的軟件版本而使軟件逐步完善的,因此,這種開發模式特別適合於那些用戶急需的軟件產品開發。它能夠快速地向用戶交付可以投入實際運行的軟件成果,並能夠很好地適應軟件用戶對需求規格的變更。原型進化模型能夠適應軟件需求的中途變更,但在應用的時候,以下問題需要得到足夠的重視。

    其一,原型進化模型雖說使開發進程加快了,但不能像瀑布模型那樣提供明確的里程碑管理,隨着開發過程中版本的快速更新,項目管理、軟件配置管理會變得復雜起來,管理者難以把握開發進度。因此,對於大型軟件項目,原型進化模型缺乏有效的管理規程。

    其二,開發過程中軟件版本的快速變更,還可能損傷軟件的內部結構,使其缺乏整體性和穩定性。另外,用於反映軟件版本變更的文檔也有可能跟不上軟件的變更速度。這些問題必將影響到今后軟件的維護。

    原型的開發步驟

    1.快速分析

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

    2.構造原型

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

    3.運行原型

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

    4.評價原型

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

    5.修改

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM