經驗雛型法(Prototyping)


Prototyping經驗雛型



基本理論
Prototyping經驗雛型方法是在1980年代初期興起的一種軟體發展模式其動機是希 望能在限定期限內以最經濟而快速的方法開發出系統的原型以便即早澄清或驗證 不明確的系統需求

雛型方法的種類

1. 腳本法(Scenario)
依照使用者的使用腳本利用傳統的非電腦媒體來模擬或 敘述系統的使用情形
2. 摹仿式(Mock-ups)指先製作系統的部份用戶界面針對一些需求不確定的系統 功能預先設定固定的輸入與輸出資料然後以作假的方式來模擬該特定的系統功能
3. 示範式(Demonstration)指實際開發一部份的關鍵功能並製作相當的完整的 用戶界面讓使用者有限度的實際操作並從實際演練的過程中去確定系統是否滿足 重要的功能需求
4. 遞增式(Incremental)將整個系統分為多個子系統定義各個子系統之間的 界面關係然後由最關鍵的子系統開始雛型的工作在確定了該子系統的需求之後 完成該子系統的開發並先將該子系統交付客戶上線使用隨後以同樣方法逐步開 發其他子系統直到系統完整為止
5. 螺旋式(Spiral)是指由系統的核心功能開始先製作系統的第一版本交付 給客戶使用並收集使用者之經驗及回饋將原係統加以修改擴充為次一版本 個版本都是一完整系統功能與品質逐漸趨於完整

雛型方法的優點有
1.增進用戶與分析師之間的溝通-document is hard to read2. user-oriented (用戶互導) analysis and design3. identify 衍生式之用戶需求-大部份時間使用者並清楚他要的是什麼4. 降低風險
另一種分類方式
1. 丟棄式 (Throwaway)品質較佳2. 演進式 (Evolutionary)減短SDLC

開發雛型之步驟

Connell and Shafer(1989)之方法開發雛型之步驟可分為三大步驟或七小驟 前三個小步驟又稱為開發初始雛型第四個到第六個小步驟也稱 示範評估雛型最後一個小步驟稱為完善規格需求書
  • Step1快速規劃 (Rapid Planning)
    產生物為雛型計劃書(prototype statement) 雖不列入正式的系統文件但去是整個雛型過程的依據大約5而抱括以下項目
1. 雛型目的必要性及目標
2. 雛型範圍系統功能的範圍及原因
3. 使用方法方法及原因
4. 使用工具工具及原因
5. 用戶責任明確規定用戶在參與人員資料提供與溝通之責任與義務
6. 交付項目工作完成後必須交付之項目通常抱括雛型本身評估意見彙整使用手冊初稿以及修正後之需求規格書 (software requirement specification)
7. 時程規劃GANTT chart
  • Step2快速分析 (Rapid Analysis)
    在幾天或幾星期內完成功能分析資料模式分析與用戶界面分析
  • Step3快速開發 (Rapid Development)
    一般在兩週內完成由於時間壓力對結構化及文件的要求不高通常會使用非常 高階的軟體工具因此工具的使用與選擇非常重要其要求為高速且易於修改 開發的步驟分為
1. 建立資料結構庫統一規定共用資料的結構
2. 製作用戶界面
§  界面的風格與佈局
§  重要的選單內容按鈕
§  重要信息提示
§  基本錯誤信息
3. 撰寫功能程式開發關鍵部分並與 (1)(2) 銜接起來
4. 整合與測試
雛型的開發工具
5. user-interface management system (用戶界面管理系統) Visual Basic, Powerbuilder, ToolBook Java & HTML FORM
6. 第四代語言dBase
7. 資料庫系統Access
8. 可執行之高階語言 (Executable Specification Languages)
  • Step4示範與評估 (Demonstration & Evaluation)
    由於雛型方法的目標是要即早確定不確定性因此這個步驟和 下一個步驟Prototype Revision是雛型發展最重要的步驟
  • Step5雛型修改 (Prototype Revision)
    針對step4的結果進行修改
  • Step6確定需求 (Requirement Approval)
    step 5 之成果再次給使用者確認是否已將上次的缺點與問題解決了若發現 新問題需不斷進行修改直到滿意為止 分析師需特別注意前一次被接受的功能是不是在修改過程中被破壞了??
  • Step7完善規格需求書
軟體工程師要心理建設
  • 不習慣與使用者一起工作
  • 與使用者非敵對的認認需求
第二個大步驟所需要進行的工作項目整理如下表
步驟
工作項目
備註
            1.準備雛型示範
1.       辨認不同使用者角色
2.       募集示範對象
3.       選定示範的範圍
4.       準備示範腳本與講義

         2.示範趨型
1.       描述示範的目的
2.       解釋示範內容及範圍
3.       開始示範
1.       開發者示範
2.       用戶自由操作

         3.收集與分析使用者回饋
1.       收集使用者回饋
2.       記錄並分類回饋信息
3.       分析
i. 區分主要與次要需求
ii. 解決有衝突之需求(避免現場解決
          主要的四項問題
1. 那些功能不符需求
2. 還缺那些功能
3. 上次的問題是否修改
4. 修改後是否產生新問題
        4.修改雛型
1.       決定修改範圍
2.       修改雛型
3.       適時停止遞迴
         應有預估時間以避免無止境的繼續下去
         5.核定需求
1.       使用者逐步核定系統需求
2.       完成正式之需求規格書


管理上應注意的問題

雛型方法在管理上應注意的問題
1. 表面上似乎增加了工作可是實際上 Prototype 可減短 SDLC提高系統正確性 與可用性也因此降低了開發及維護成本
2. 人員組成約三至五位及這些人員須兼具分析師與程式員的專長這方面的人 員很少專案經理須注重人才之培訓
3. User-Oriented因此使用者之參與及其投入之時間須列入專案成本
4. 雛型之困難

雛型之困難
1. 缺乏prototyping之自動化工具
2. 雛型系統缺乏一個有效的評估準則
3. 雛型開發人在修改雛型的過程容易偏離目標
4. 雛型需要大量用戶的參與易使客戶方面的管理人卻步

5. 專案經理人常有直接將雛型轉換成最終產品之傾向

6. 專案經理人常有直接將雛型轉換成最終產品之傾向犧牲的產品品質
7. 雛型不適用之範圍
雛型不適用之範圍
  • 系統軟體 (OS or DB) 因無特定之使用群
  • 即時性控制系統 (realtime control system) (如捷運控制系統及航空控制系統)
  • Embeded System (嵌入式系統) 因沒有直接的用戶界面 (AWT,PACKAGE,API) 

留言

熱門文章