功能 (軟體工程)

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

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

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

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

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

參考資料

  1. ^ 覃征. 软件工程与管理. 北京: 清華大學出版社. 2005: 78. ISBN 7302109354.