結構化方法和面向對象方法有一個共同點:在系統開發初期必須明確系統的功能要求,確定系統邊界。然而對于信息系統建設而言,明確問題本身不是一件輕松的事情。
原型的目的是:明確并完善需求、探索設計選擇方案、發展為最終的產品。
1.原型的分類
(1)按原型是否實現功能
①水平原型:也稱行為原型,水平原型通常只是功能的導航,但并未真實實現功能。水平原型主要用在界面上。
②垂直原型:也稱結構化原型,實現了部分功能。垂直原型主要用在復雜的算法實現上。
(2)按原型的最終結果
①拋棄型原型:也稱探索型原型,是指達到預期目的后,原型本身被拋棄。拋棄型原型主要用在解決需求不確定性、二義性、不完整性、含糊性等。
②演化型原型:為增量開發品提供基礎,是螺旋模型的一部分,也是面向對象軟件開發過程的一部分。演化型原型主要用于必須易于升級和優化及適用于Web項目。
2.原型類型的選擇
如果是在需求分析階段要使用原型化方法,必須從系統結構、邏輯結構、用戶特征、應用約束、項目管理和項目環境等多方面來考慮,以決定是否采用原型化方法。
表18-1 原型法的選擇
| 適用原型法 | 不適用原型法 |
系統結構 | 聯機事務處理系統,相互關聯的應用系統 | 批處理、批修改等結構 |
邏輯結構 | 有結構系統,如操作支持系統、管理信息系統、記錄管理系統 | 基于大運算法的系統 |
用戶特征 | 不滿足于預先做系統定義說明,愿意為定義和修改原型投資,愿意承擔決策責任,積極參與的用戶是適合使用原型的用戶 |
|
應用約束 |
| 己經運行系統的補充 |
項目環境 | 系統規模很大、要求復雜、系統服務不清晰 當性能要求較高時,在系統原型上先做一些試驗也是很必要的 |
|
原型法適合于用戶需求不明確的場合。在開發過程中,用戶的參與和決策加強了,縮短了開發周期,降低了開發風險,最終的結果是更適合用戶的要求。原型法成敗的關鍵及效率的高低,在于模型的建立及建模的速度。