功能需求

功能性需求（）為一軟體工程用語，功能需求定義一個軟體系統或元件的功能，也是一個系統需提供的功能及服務。功能可以用一組輸入、行為及輸出的組合來表示。功能需求可以是計算、技術細節、資料處理或其他說明系統希望達成功能的內容。功能需求會以非功能性需求（或是品質需求）為其基礎，後者會描述設計或實-{現}-時的限制條件（例如性能需求、保安性或可靠度等）。

若依照需求工程的定義，功能需求會列出系統的特定結果，而非功能性需求會列出系統的一些整體特性（如成本及可靠度），功能需求有關系統的應用架構，而非功能性需求和系統的技術架構有關。

例如一個計算機的功能需求可能是可計算9位數字的加減乘除及根號，而其非功能性需求是成本需在美金10元以下。

功能需求理論上需要有全面性及一致性，一方面描述用戶所需要的所有機能，同時各機能的說明不能前後衝突。不過對於大型的系統，由於系統的複雜及參與人員看待事物的觀點不同，要作到全面性及一致性相當困難。

有時需求分析師會在收集許多功能需求後，會依功能需求建立一系列的用例。功能需求的階層為：使用者或利益相關者的需求->功能->用例->業務規則，每一個用例都會描述一個到多個功能需求所對應的行為。不過有時需求分析師也會從一些用例開始，再從用例中找出用例中需要用的功能需求。

起源

一篇1953年物流學會議的論文將資料處理設備的需求分為二類：分別是功能需求及非功能性需求。Dr E. W. Cannon, "Survey of Modern Methods of Data Processing" pg 12. Proceedings, Annual Logistics Conference, No. 4 held in Washington, D.C. 16-19 Mar 1953. http://handle.dtic.mil/100.2/AD0018453

功能需求及非功能性需求的概念最早是在1982年由Raymond T. Yeh在計算機軟件及應用會議（COMPSAC）中提出。G.C. Roman在1985年4月的《计算机》雜誌中的「A taxonomy of current issues in requirements engineering」也有提到機能需求的特點。

程-{序}-

典型的功能需求會包括一個不重覆的名稱及編號，簡單的說明及原因。這些資訊有助於讀者了解為何需要這些機能，而且可以在系統開發過程中去追蹤這些功能需求對應的設計、實現及測試。

功能需求的重點是對於所需行為的描述，這部份必須清楚具體，容易閱讀。所需行為可以來自組織或是商業規則，或是由使用者、利益相關者及組織內相關領域的專家一起開會討論。此時需求分析師會先為需求取一個名字及略作說明，在大家對此需求有些研究，比較了解所需的行為時，再完成功能需求的資料。

相關條目
需求分析
功能：工程概念上的功能
功能點

关注点分离
FURPS

參考資料

 外部連結 
Category:軟體需求
Category:系统工程