跳去內容

需求分析

出自維基百科,自由嘅百科全書
  呢篇文章講嘅係工程學上分析用家想要啲乜。假如你想揾嘅係經濟學上「預測需求價錢關係」嘅做法,請睇「需求預測」。

需求分析(參見英文requirement analysis)喺工程學(包括系統工程軟件工程等等)上係指分析要設計嘅物品有乜嘢需求,亦即係個客人或者用家想要件產品做乜同埋解決啲乜嘢問題。需求分析有助釐清個 project 嘅範圍,避免後期開發嗰陣出現功能缺漏或者同用家期望不符等嘅狀況。

基本概念

[編輯]

需求分析通常發生喺需求獲取之後,工程師會對收集返嚟嘅需求資料進行整理、分類同埋驗證,務求從中構建一份明確、冇歧義嘅需求規格文件,講明隻軟件要有咩功能,由啲咩 input 嗰度俾出咩 output

喺實際應用上,做需求分析嗰時會遇到唔少挑戰,譬如個客嘅描述含糊得滯、唔同需求之間可能出現矛盾,甚至需求隨時間推移出現變化[註 1]。相關技術書籍指出,需求分析唔單止係紀錄「要做咩」仲要理解「點解要噉做」[1]

故障樹

[編輯]

處理需求相關風險時,故障樹分析(參見英文fault tree analysis)係一種技巧。故障樹會係一幅圖,分析過程採用遞歸式結構表達,最上層係整體系統錯誤(例如伺服器輕機)而下層會展開為一連串嘅中間原因,再細分成基層事件,例如電源 short 咗、風扇壞咗、操作者撳錯掣等等。

成個結構會用一幅圖表示,常見符號包括圓形表示基層事件,同埋各種嘅邏輯門,諸如:[註 2]

  • 門:全部基層事件同時發生,先會導致上層錯誤;
  • 門:只要其中一個基層錯誤發生,就會引致問題。

完成故障樹分析之後,開發人員就可以根據結果規劃容錯機制,提升系統整體穩定性[2]

睇埋

[編輯]

註釋

[編輯]
  1. 有經驗嘅工程師,好多時都會考慮邊啲需求較大機會變動,然後優先設計出有彈性同容錯能力嘅架構。
  2. 呢種邏輯門設計,模擬咗現實系統入面多種錯誤條件組合。

引咗

[編輯]
  1. Kotonya, Gerald; Sommerville, Ian (1998). Requirements Engineering: Processes and Techniques. Chichester, UK: John Wiley and Sons.
  2. Ericson, Clifton (1999). "Fault Tree Analysis - A History" (PDF). Proceedings of the 17th International Systems Safety Conference. 原著 (PDF)喺2011-07-23歸檔. 喺2010-01-17搵到.

[編輯]