【IT用語】非機能要件

非機能要件とは?

システム開発において 「機能そのものではなく、システム全体の品質や制約を定める要件」 を指します。
「何ができるか(機能要件)」ではなく、「どのように動作するべきか」 を定義するものです。

例えで言うと:

  • 機能要件:レストランで「料理を注文できる」「会計できる」
  • 非機能要件:そのレストランが「料理が10分以内に提供される」「清潔である」「年中無休」

主な非機能要件の分類

1. 性能・効率性

  • 応答時間(例:画面表示は2秒以内)
  • 同時接続数(例:1,000ユーザー同時利用に耐える)
  • スループット(例:毎秒100件のリクエスト処理)

2. 信頼性

  • 稼働率(例:99.9%以上)
  • 障害復旧時間(RTO: Recovery Time Objective)
  • データ損失許容度(RPO: Recovery Point Objective)

3. 可用性

  • 24時間365日稼働
  • メンテナンスの計画と影響範囲

4. 保守性

  • ソースコードの可読性・拡張性
  • バグ修正や機能追加の容易さ
  • ログや監視の仕組み

5. セキュリティ

  • 認証・認可(例:パスワードの複雑性ルール)
  • 通信の暗号化(例:TLS必須)
  • ログイン試行制限、監査証跡

6. 運用・移行

  • バックアップ方法
  • 運用マニュアルの整備
  • データ移行手順

7. ユーザビリティ

  • UIの使いやすさ
  • アクセシビリティ対応(例:音声読み上げ、色覚バリアフリー)

非機能要件が重要な理由

  • 「機能があっても使えないシステム」を防ぐため
  • SLA(サービス品質保証)の基礎になるため
  • トラブル時の責任分担や契約条件に直結するため