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

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

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

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

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

起源

一篇1953年物流學會議的論文將資料處理裝置的需求分為二類:分別是功能需求及非功能性需求。[2]

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

程序

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

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

相關條目

參考資料

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.