非功能性需求

在系統工程及需求工程中 ， 非功能性需求  是指依一些條件判斷系統運作情形或其特性 ， 而不是針對系統特定行爲的需求 。 和非功能性需求相對的是功能需求 ， 後者會定義系統特定的行爲或功能 。 非功能性需求也可以視爲爲了滿足客戶業務需求而需要符合 ， 但又不在功能性需求以內的特性 。 一般會在中詳細列出實現功能需求的計劃 ， 而會在系統架構中詳細列出實現非功能性需求的計劃 。 一般而言 ， 功能需求會定義系統的行爲 ， 而非功能性需求會定義系統的特性 。 非功能性需求一般會稱爲系統的 「 品質 」 ， 有時也會稱爲 「 限制 」 、 「 品質屬性 」 、 「 品質目標 」 、 「 品質服務需求 」 或 「 非行爲性的需求 」 。 有許多非功能性需求的英文都是以 「 ility 」 結尾 ， 例如穩定性 （ stability ） 及可移植性 （ portability ） ， 因此非功能性需求有時也稱爲 「 ilities 」 。 非功能性需求可以分爲以下的二類 ： 執行品質 （ Execution qualities ） ， 可以在系統運作時觀察到的品質 ， 例如保安性及易用性等 。 發展品質 （ Evolution qualities ） ， 和軟體系統結構及開發過程有關的品質 ， 例如軟體可測試性 、 可維護性 、 可擴展性 、 可伸縮性 （ scalability ） 等 。