需求分析之原型分析法
原型法(Prototyping)的理念是指在獲取一組基本需求之後,快速地構造出一個能夠反映使用者需求的初始系統原型。讓使用者看到未來系統的概貌,以 便判斷哪些功能是符合要求的,哪些方面還需要改進,然後不斷地對這些需求進一步補充、細化和修改。依次類推,反覆進行,直到使用者滿意為止並由此開發出完整 的系統。簡單的說,原型法就是不斷地執行系統的“原型”來進行揭示、判斷、修改和完善需求的分析方法。
原型需求分析法的特點
原型法是一種迴圈往復、螺旋式上升的工作方法,它更多地遵循了人們認識事物的規律,因而更容易被人們掌握和接受。原型法強呼叫戶的參與,特別是對模型的描 述和系統需求的檢驗。它強調了使用者的主導作用,通過開發人員與使用者之間的相互作用,使使用者的要求得到較好的滿足。不但能及時溝通 雙方的想法,縮短使用者和開發人員的距離。而且能更及時、準確的反饋資訊,使潛在問題能儘早發現並及時解決, 增加了系統的可靠性和適用性。
簡單的說,原型法是將系統調查、系統分析和系統設計合而為一,使使用者一開始就能看到系統開發後是一個什麼樣子。而且使用者參與了系統全過程的開發,知 道哪些是有問題的,哪些是錯誤的,哪些需要改進等,就能消除使用者的擔心,並提高了使用者參與開發的積極性。同時,使用者由於參與了開發的過程將有利於系統的移 交、執行和維護。
但需要注意的是,原型法的適用範圍是比較有限的。它只對於小型、簡單、處理過程比較明確、沒有大量運算和邏輯處理過程的系統比較合適。它的侷限 性是對於大型的系統不太適合,因為對於需要大量的運算、邏輯性較強的程式模組,原型法是很難通過簡單的瞭解就構造出一個合適的模型,供使用者評價和提出修改 建議。
使用原型法進行需求分析的流程
(1)快速分析,弄清使用者的基本資訊需求
需求分析原型法的第一步是在需求分析人員和使用者的緊密配合下,快速確定軟體系統的基本要求。也就是把原型所要體現的特性(介面形式、處理功能、 總體結構、模擬效能等)描述出一個基本的規格說明。快速分析的關鍵是要選取核心需求來描述,先放棄一些次要的功能和效能。儘量圍繞原型目標,集中力量確定 核心需求說明,從而能儘快開始構造原型。
這個步驟的目標是要寫出一份簡明的骨架式說明性報告,能反映出使用者需求的基本看法和要求。這個時候,使用者的責任是先根據系統的輸出來清晰地描述 自己的基本需要,然後分析人員和使用者共同定義基本的需求資訊,討論和確定初始需求的可用性。
(2)構造原型,開發初始原型系統
在快速分析的基礎上,根據基本規格說明應要儘快實現一個可執行的系統。我在這個專案得到的經驗是原型系統可先考慮原型系統應必備的待評價特性, 暫時忽略一切次要的內容。例如安全 性、健壯性、異常處理等。如果這時為了追求完整而把原型做得太大的話,一是需要的時間太多,二是會增加後期 的修改工作量。因此,提交一個好的初始原型需要根據系統的規模、複雜性和完整程度的不同而不同。本步驟的目標是:建立一個滿足使用者的基本需求並能執行的交 互式應用系統 。在這一步驟中使用者沒有責任,主要由開發人員去負責建立一個初始原型。
(3)使用者和開發人員共同評價原型
這個階段是雙方溝通最為頻繁的階段,是發現問題和消除誤解的重要階段。其目的是驗證原型的正確程度,進而開發新的原型並修改原有的需求。由於原 型忽略了許多內容和細節,雖然它集中反映了許多必備的特性,但外觀看起來還是可能會有些殘缺不全。因此,使用者可在開發人員的指導下試用原型,在試用的過程 中考核和評價原型的特性,也可分析其執行結果是否滿足規格說明的要求,和是否滿足使用者的願望。並可糾正過去溝通交流時的誤解和需求分析中的錯誤,增補新的 要求,或提出全面的修改意見。
總的來說,原型法是通過強化使用者參與系統開發的過程,讓使用者獲得系統的親身體驗,找出隱含的需求分析錯誤。原型需求分析法是鼓勵改進和創造,通 過不斷交流來提高需求實現的質量和軟體產品的質量,目的是為了更好的提高客戶滿意度。