【ITパスポート】要件定義とは?業務要件・機能要件・非機能要件の違いをわかりやすく解説

システム開発の話題になると必ず最初に出てくるのが要件定義という言葉です。「何を定義するの?要件って何?」と疑問に思う方も多いでしょう。

要件定義はシステム開発の成功を左右する最重要ステップであり、ITパスポート試験でもマネジメント系の頻出テーマです。特に業務要件・機能要件・非機能要件の違いは問題を作りやすいため、しっかり理解しておく必要があります。

この記事では、要件定義の目的と3つの要件の違いを、誰もがイメージしやすい「家づくり」に例えてわかりやすく解説します!

目次

要件定義とは?一言でいうとシステムづくりの土台決め

要件定義とは、システム開発プロセスの初期段階において、「どんなシステムを作るのか」「システムで何を実現したいのか」を明確に決める作業のことです。

システムを作ってほしい発注側(クライアント)の要望を丁寧にヒアリングし、それをもとに開発側(ベンダー)が実現可能な形に整理して要件定義書という文書にまとめます。

これは家づくりでいう施主の要望の洗い出しと基本方針の決定に相当します。

「子供部屋が2つほしい」「対面キッチンにしたい」「予算は〇〇万円以内」といった希望をすべて出し合い、どのような家を建てるかの土台を固めるのが要件定義です。ここで希望を伝え忘れると、家が完成してから「ここが違う!」とトラブルになるのと同じく、システム開発においても要件定義の失敗は命取りになります。

3種類の「要件」の違いを理解しよう

要件定義で決める内容は、大きく3つの階層に分けられます。試験ではこれらを区別できるかがよく問われます。

  1. 業務要件:システム化によって達成したい目的
  2. 機能要件:目的を達成するためにシステムが持つべき機能
  3. 非機能要件:機能以外に求められる品質・性能・セキュリティなど

それぞれを詳しく見ていきましょう。

1. 業務要件:何を実現したいか(目的)

業務要件とは、システム化によって解決したい業務上の課題や、達成したい目標のことです。システムの中身(How)ではなく、システムを使う人間や業務の視点(What・Why)で定義します。

【システムの例】

  • 毎月の経費精算にかかる時間を今の半分に減らしたい
  • 商品の注文から出荷までの流れを自動化したい
  • ペーパーレス化によって紙の保管コストをなくしたい

【家づくりの例】

  • 家族4人が広々とくつろげる空間がほしい
  • 家事の動線を短くして負担を減らしたい

2. 機能要件:システムに何ができるか(手段)

機能要件とは、業務要件で決めた目的を達成するために、システムが具体的に持たなければならない機能のことです。

【システムの例】

  • 領収書をスマホで撮影して画像をアップロードできる機能
  • 商品の在庫数をリアルタイムで画面に表示する機能
  • 全社員の勤務時間をCSV形式で一括ダウンロードできる機能

【家づくりの例】

  • リビングに20畳のスペースを確保する
  • 洗面所とキッチンを直接つながる扉を設置する

3. 非機能要件:どんな品質・性能を求めるか(基盤)

非機能要件とは、機能面以外のシステムの品質・性能・セキュリティ・運用方法などに関する要件のことです。目に見えにくい部分ですが、ここを疎かにすると使い物にならないシステムになってしまいます。

【システムの例】

  • 1万人が同時にアクセスしてもシステムがダウンしないこと(性能・可用性)
  • 24時間365日、いつでもシステムを利用できること(可用性)
  • 画面が切り替わる応答時間を3秒以内にすること(性能)
  • 個人情報はすべて暗号化して保存すること(セキュリティ)

【家づくりの例】

  • 震度7の地震に耐えられる免震構造にする(性能・安全性)
  • 断熱性を高めて冬でも暖かく過ごせるようにする(品質)
  • 玄関ドアにスマートロックを導入する(セキュリティ)

なぜ要件定義が最重要なのか?

ウォーターフォール開発などのシステム開発では、要件定義→設計→プログラミング(実装)→テストという順番で上流から下流へと進みます。

もし要件定義でのヒアリングが不十分だったり、あいまいなまま設計に進んでしまうと、プログラミングやテストの段階(あるいは完成後)になってから「欲しかった機能がない」「使い勝手が悪い」といった深刻な手戻りが発生します。

下流工程での手戻りは、修正コストと時間が莫大になります。これを防ぐために、一番最初の要件定義で双方の認識を完全に一致させることが何よりも重要なのです。

ITパスポート試験での要件定義出題傾向と対策

要件定義はマネジメント系のシステム開発技術分野で頻出です。

試験でおさえるべきキーワード

  • 要件定義:開発の初期段階でシステムに必要な機能や性能を明確にする工程。
  • 業務要件:システム化によって達成したい業務上の目的や課題。
  • 機能要件:システムが備えるべき具体的な機能(〜ができる、〜を出力する)。
  • 非機能要件:機能面以外の品質・性能・セキュリティ・可用性などの要件。
  • 要件定義の重要性:ここでの不備は後工程での甚大な手戻りやコスト超過を招く。

過去問に挑戦!

【問題】
システム開発の要件定義プロセスにおいて定義する非機能要件に該当するものはどれか。

ア.売上データを顧客別に集計して帳票に出力する機能
イ.新規顧客の情報をデータベースに登録する画面
ウ.システムの稼働時間を24時間365日とし、停止時間を年間1時間以内にするという目標
エ.在庫数が一定数を下回った際に担当者へアラートメールを送信する処理

【正解】:ウ
【解説】:ア、イ、エはシステムが提供する具体的な機能や処理内容(〜できる)なので「機能要件」に該当します。ウはシステムがいつでも使える状態であるという「可用性(品質・性能)」に関する条件なので「非機能要件」となります。

【問題】
企業におけるシステム開発プロセスにおいて、要件定義工程で実施する作業として最も適切なものはどれか。

ア.システム化によって解決すべき業務上の課題や、システムに求める機能・性能を明確にする。
イ.プログラミング言語を用いて、設計書の内容を実際に動作するプログラムに変換する。
ウ.要件定義で決定した機能を実現するために、システム内部の論理的な構造や画面レイアウトを設計する。
エ.開発したシステムが、定義された要件を満たしているかどうかを最終的に確認する。

【正解】:ア
【解説】:要件定義はシステム化の目的や必要な機能・性能を明確にする工程(ア)です。イは実装(プログラミング)工程、ウは設計工程(外部設計・内部設計)、エはシステムテスト工程の作業です。

まとめ:要件定義はシステム開発の出発点

今回はシステム開発の最重要ステップである要件定義について解説しました。ポイントをもう一度確認しましょう。

  • 要件定義はどんなシステムを作るか、目的と手段を明確にする最初の工程
  • 業務要件はビジネス上の「目的・やりたいこと」
  • 機能要件は目的を達成するための「システムができる具体的な機能」
  • 非機能要件は機能面以外に求められる「性能・安全性・セキュリティ」
  • 要件定義が甘いと後戻りできない致命的な失敗につながる
  • 試験では3つの要件の区別(特に非機能要件)が頻出

「家づくり」の例えを思い出しながら、目的なのか、間取り図(機能)なのか、耐震性などの性能(非機能)なのかを切り分ける練習をしてみましょう。そうすれば試験本番でも迷わず正答を導き出せます!

目次