功能 (軟體工程)

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

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

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

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

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

參考資料

软件工程