功能需求

功能性需求  爲一軟體工程用語 ， 功能需求定義一個軟體系統或元件的功能 ， 也是一個系統需提供的功能及服務 。 功能可以用一組輸入 、 行爲及輸出的組合來表示 。 功能需求可以是計算 、 技術細節 、 資料處理或其他說明系統希望達成功能的內容 。 功能需求會以非功能性需求 （ 或是品質需求 ） 爲其基礎 ， 後者會描述設計或實 - { 現 } - 時的限制條件 （ 例如性能需求 、 保安性或可靠度等 ） 。 若依照需求工程的定義 ， 功能需求會列出系統的特定結果 ， 而非功能性需求會列出系統的一些整體特性 （ 如成本及可靠度 ） ， 功能需求有關係統的應用架構 ， 而非功能性需求和系統的技術架構有關 。 例如一個計算機的功能需求可能是可計算9位數字的加減乘除及根號 ， 而其非功能性需求是成本需在美金10元以下 。 功能需求理論上需要有全面性及一致性 ， 一方面描述用戶所需要的所有機能 ， 同時各機能的說明不能前後衝突 。 不過對於大型的系統 ， 由於系統的複雜及參與人員看待事物的觀點不同 ， 要作到全面性及一致性相當困難 。 有時需求分析師會在收集許多功能需求後 ， 會依功能需求建立一系列的用例 。 功能需求的階層爲 ： 使用者或利益相關者的需求 - > 功能 - > 用例 - > 業務規則 ， 每一個用例都會描述一個到多個功能需求所對應的行爲 。 不過有時需求分析師也會從一些用例開始 ， 再從用例中找出用例中需要用的功能需求 。