「非機能要件」とは、ソフトウェアの開発では、さまざまな機能を定義するのですが、
システムの機能面以外のもの
だけど、システムの安定・安全な稼動のために必要な要件のこと
をさします。
ある定義では
「ユーザーが望む機能要件を実現するために必要となるその他の要件の総称」
とも あります。
例えばですが・・・
現在 ネットでの受発注は 当たり前になっていますが
その「受発注」そのものに関しては 主機能要件となりますが
受発注にともなうインターネットでのやり取りに伴う要件
「暗号化に伴うサーバーの負荷・レスポンスの速度」
などの問題は、非機能要件 となります。
機能要件は主にユーザーへのヒアリングではっきりしてくるものでリストアップできますが、
非機能要件は開発担当者側で洗い出さなければならない、気づかなければいけないことが多いです。
性能・信頼・セキュリティ・コンプライアンスはもちろんのこと
法律や制度変更、ロジックやインターフェイス変更などへの 対応を考えておくことも 含まれます。