功能性需求(Funtional Requirements)
描述各種系統該做的事,如系統該提供使用者查詢影片(Youtube),提供使用者建立文章(IT邦)。
- 定義核心功能已符合場景需求
- 功能性需求是系統設計的基本盤
非功能性需求(Non-functional Requirements)
描述系統做事時的該有的特性,如高效能、安全、scalability與availability。
- 使用對應的技巧以補足系統設計,能說明為何滿足上述特性。
- 基於實際限制(經費、使用情境、預估使用者量),設計符合該情境的設計。
比如1億個使用者在網站查詢時,何種方案能改善availability。
整合需求
- 跟同事確認以上兩種需求,多問多細節越好
- 那些要求是較為重要的?核心需求優先(搭配4)
- 使用何種技術處理對應問題時,以有實際產品的技術為主,比如cache -> redis, s3 -> aws s3
- 確認所有需求都要滿足。