【PD-S教科書】1-2 機能要件の定義(データ構造の設計を含む)を基礎から徹底解説|要求の収集・調整からDFD・ER図・データモデルまで【シラバス案Ver0.2対応】

PD-S教科書 1-2 機能要件の定義とデータモデル プロフェッショナルデジタルスキル(システム)
本記事について:PD(システム)試験(仮称)科目B「シラバス(案 Ver0.2)」(IPA・2026年7月31日更新)を根拠に解説する教科書記事です。科目B(技能)の内容はVer0.1から変更ありません(当サイトでVer0.1とVer0.2の全文を突合して確認)。Ver0.2では新たに科目A-2(専門知識)の出題範囲の細目が公開されました。試験名は仮称、科目A-1(共通知識)・試験時間・出題数・配点・合格基準は未公表、内容は検討段階の「案」で今後変更の可能性があります。(最終更新:2026年7月31日/出典:IPA公式

この記事は、PD-S(システム)試験(仮称)科目B 第1章「システムアーキテクチャに関すること」の2節目、小項目1-2「システム要件における機能要件の定義(データ構造の設計を含む)」の教科書です。前節(1-1)で定義した業務要件を、いよいよ「システムが何をするか」=機能要件へ具体化する工程を扱います。シラバス案がこの小項目に挙げる4つの技能を全て取り上げ、要求の収集・調整のやり方から、機能要件を定義する観点、そしてカッコ書きでわざわざ明示された「データ構造の設計」=データモデル(ER図)まで、前提知識ゼロから解説します。

この節の全体像 — 4つの技能は「入口」と「中身」に分かれる

シラバス案は小項目1-2に「目標とする技能の例」を4つ挙げています。前半2つは要求をシステム要件へ変換する入口の技能(実は小項目1-3と共通)、後半2つが機能要件そのものの中身を定義する技能です。

技能1・2入口:要求 → システム要件 — 関係者から情報を収集・整理して要求をシステム要件として定義し(技能1)、矛盾する要求を調整して総合的に取りまとめる(技能2)。
技能3中身①:機能要件の明確化 — データの流れ・人の作業・実現範囲・情報管理・他システムIFという観点で「システムが何をするか」を定義する。
技能4中身②:業務モデル・データモデルの定義 — 業務の構造とデータの構造を図の形式(モデル)で定義する。小項目名の「データ構造の設計を含む」に対応する核心部分。
1-1でも「収集・整理」「矛盾の調整」が登場しましたが、あちらは業務要件レベル、こちらはシステム要件レベルの話です。同じ動詞が階層を変えて繰り返される構造に気づくと、シラバス全体の見通しが一気に良くなります(階層のおさらいは1-1の図2)。

前提知識:「要求」と「要件」はどう違うか

この節を正確に読むために、まず要求(request/requirement)と要件(defined requirement)の使い分けを固めます。日常では同じ意味で使われがちですが、要件定義の文脈でははっきり区別します。

要求:関係者が「こうしてほしい」と表明した希望。生の状態では、曖昧だったり、互いに矛盾したり、実現困難だったりする。
要件:要求を収集・分析・調整して、システムが満たすべき条件として合意し、文書化したもの。開発の根拠になるため、曖昧さ・矛盾があってはならない。

つまり「要求」は材料、「要件」は製品です。技能1・2はまさに「材料を集めて製品に仕上げる」工程を指しています。そして機能要件とは、システム要件のうち「システムが何をするか」を定めたもの(「どれだけうまく動くか」を定める非機能要件は次節1-3)でした。

入口:要求を集め、調整し、システム要件にする(技能1・技能2)

技能1:関係者から情報を収集し、要求をシステム要件として定義する

シラバス案・技能の例①
関係者から情報を収集し,整理して,要求をシステム要件として定義するスキル

要求は、待っていても正しい形では出てきません。能動的に収集する必要があります。実務で広く使われる収集手法と、それぞれの得意・不得意をおさえましょう。

収集手法 やり方 得意なこと/注意点
ヒアリング(インタビュー) 関係者に個別・対面で聞き取る 背景・本音まで深掘りできる。話者の立場に偏るため複数部門に実施する
アンケート 質問票で広く回答を集める 多人数の傾向を短期間で把握できる。深掘りには不向き
現場観察 実際の業務の様子を見る 本人も自覚していない暗黙の手順・例外処理を発見できる
既存資料の分析 帳票・マニュアル・現行システムの仕様書を読み込む 業務の全体像とデータ項目の洗い出しに有効。資料が実態と乖離していることがある
プロトタイプ 画面などの試作品を見せて反応を得る 「見れば分かる」タイプの要求を引き出せる。試作品が仕様と誤解されるリスク

集めた要求は、整理(重複の統合・粒度の統一・曖昧語の排除)を経て、検証可能な文としてシステム要件に定義します。「速く表示する」ではなく「一覧画面を3秒以内に表示する」のように、後からテストで確認できる書き方にすることが定義の質を決めます。

技能2:矛盾する要求を調整し、総合的に取りまとめる

シラバス案・技能の例②
矛盾する要求を調整し,個々の要求を総合的に取りまとめるスキル

複数の部門から要求を集めれば、必ず衝突が起きます(営業「入力は最小限にしたい」⇔ 経理「分析のため詳細に入力してほしい」)。調整の基本原則は1-1で学んだとおり、業務課題と制約条件に照らして優先順位を判断することです。加えて、システム要件レベルの調整では次の道具が効きます。

  • 優先度の区分:すべての要求を「必須(ないと業務が成立しない)/重要(強く望まれる)/任意(あれば便利)」のように区分し、予算・納期と突き合わせて採否を決める。
  • トレーサビリティ(追跡可能性):各システム要件がどの業務要件に由来するかの対応関係を表で管理する。由来を説明できない要件は「誰かの思いつき」の可能性が高く、調整時に削る候補になる。
  • 合意の記録:採用しなかった要求も「不採用の理由」と共に記録する。後から蒸し返されたときの説明根拠になる。
営業と経理の衝突例なら、「受注登録時の入力は最小限(営業の必須要求)とし、分析用の詳細情報は出荷実績データから自動集計する(経理の目的を別手段で充足)」のように、要求の裏にある目的に立ち返って両立案を設計するのが上手な調整です。表面的な要求の多数決ではありません。

中身①:機能要件を定義する5つの観点(技能3)

シラバス案・技能の例③
対象業務の業務内容を踏まえ,対象業務の業務要件を実現するために必要なシステム機能として,業務を構成する機能間の情報(データ)の流れ,対象となる人の作業,システム機能の実現範囲,情報管理の方法,他システムとのインタフェースなど,機能要件を明確化し,定義するスキル

この長い一文は、機能要件を定義するときのチェックリスト(5つの観点)として読むのが正解です。1つずつ分解します。

図1:機能要件を定義する5つの観点(シラバス案・技能の例③の分解)

機能要件を定義する5つの観点。データの流れ(機能間で情報がどう受け渡されるか)、人の作業(人とシステムの役割分担)、実現範囲(どこまでをシステムが担うか)、情報管理の方法(データをどこでどう管理するか)、他システムとのインタフェース(外部とのデータ受け渡し)

観点1:機能間の情報(データ)の流れ

業務は「受注→在庫引当→出荷指示→請求」のような機能の連なりであり、機能から機能へデータが流れることで成立します。「受注機能は、受注データを在庫引当機能に渡す」というレベルで、どの機能がどのデータを作り、誰に渡すかを漏れなく定義します。この可視化の代表道具が後述のDFDです。

観点2:対象となる人の作業

すべてをシステムがやるわけではありません。「与信限度額を超える注文は人が承認する」のように、人とシステムの役割分担を明確にします。ここが曖昧だと「システムがやってくれると思っていた」という運用開始後の事故になります。

観点3:システム機能の実現範囲

今回の開発でどこまでを作るか(スコープ)の線引きです。「返品処理は対象外(現行の手作業を継続)」「多言語対応は次期フェーズ」のように、やらないことを明文化するのが実務のコツ。範囲の曖昧さは、後工程の追加要求(スコープクリープ)の温床になります。

観点4:情報管理の方法

データをどこで・誰が・どう管理するか。例えば「顧客情報は本システムで一元管理し、他システムは参照のみ」「注文データの訂正は当日中のみ可、以降は赤黒処理」など。データの正本(マスタ)がどこかを決めないと、同じ顧客が複数システムで別々に更新され、情報が食い違っていきます。

観点5:他システムとのインタフェース

連携先ごとに「何のデータを・どの形式で・どのタイミングで(リアルタイム/日次バッチ等)・どちらから」受け渡すかを定義します。1-1の技能6で決めた連携の基本方針を、ここで機能要件として具体化する関係です。

5つの観点は「など」付きの例示ですが、ケース問題で機能要件の抜け漏れを指摘させる問題を想定すると、この5観点は抜けチェックの枠組みとしてそのまま使えます。特に「人の作業」と「実現範囲」は見落とされやすい定番ポイントです。

中身②:業務モデルとデータモデルを定義する(技能4)

シラバス案・技能の例④
業務モデル及びデータモデルを定義するスキル

小項目名にわざわざ「(データ構造の設計を含む)」と書かれている理由がこの技能4です。機能(処理)だけ定義してもシステムは作れません。その機能が扱うデータの構造を同時に設計する必要があります。

業務モデル:業務の構造を図で定義する

業務モデルは「業務がどういう機能で構成され、情報がどう流れるか」をモデル化したもの。代表的な表現がDFD(データフローダイアグラム)です。DFDは次の4要素だけで業務を描きます。

  • 外部実体:システムの外にいる相手(顧客、取引先、他システム)
  • プロセス:データを加工・変換する機能(受注登録、在庫引当)
  • データストア:データの保管場所(受注ファイル、顧客台帳)
  • データフロー:それらの間を流れるデータ(矢印)

DFDの利点は、処理の順序ではなくデータの流れに着目するため、「どの機能がどのデータを必要とし、どこに保管するか」=観点1と観点4がそのまま図になることです。時系列の手順を描きたいときは、部門ごとのレーンに作業を並べる業務フロー図(スイムレーン形式)を使い分けます。

データモデル:データの構造をER図で定義する

データモデルは「業務で扱うデータにどんな種類があり、互いにどう関係するか」を定義したもの。代表的な表現がER図(実体関連図)です。

エンティティ(実体):業務で管理したい対象のまとまり。「顧客」「商品」「注文」など。1件1件の実データ(顧客Aさん)ではなく、種類を指す。
属性:エンティティが持つ項目。顧客なら「顧客番号・氏名・住所…」。各エンティティには行を一意に特定する主キー(顧客番号など)を定める。
リレーションシップ(関連):エンティティ間の結びつき。多重度(1対1/1対多/多対多)を必ず添える。「1人の顧客は複数の注文を持つ=顧客と注文は1対多」。

図2:ER図の基本 — 受注業務のデータモデル例(顧客・注文・注文明細・商品)

受注業務のER図の例。顧客と注文が1対多、注文と注文明細が1対多、商品と注文明細が1対多で結ばれる。注文明細が注文と商品の多対多関係を分解する役割を持つ

図2で注目してほしいのが「注文明細」の存在です。1回の注文で複数の商品を買え、1つの商品は多くの注文に登場する——つまり注文と商品は多対多の関係です。多対多のままではデータベースでうまく管理できないため、間に「注文明細(どの注文で・どの商品を・何個)」という連関エンティティを挟んで、1対多×2つに分解します。これはデータモデリングの最頻出パターンです。

もう1つの基本原則が正規化の考え方です。詳細な手順(第1〜第3正規形)はデータベース設計の領域ですが、発想は単純で、「同じ事実は1か所にだけ記録する」こと。注文明細に顧客住所をコピーして持つと、引っ越し1回で大量の行を直す羽目になり、直し漏れ=データ不整合が生まれます。住所は顧客エンティティにだけ持たせ、注文からは顧客番号で参照する——この「重複を排除して参照でつなぐ」感覚が、技能4の言う「データモデルを定義するスキル」の土台です。

要件定義段階のデータモデルは、テーブル定義書のような実装レベルまで詰めません。「管理すべきエンティティの一覧+主要な属性+関連と多重度」=概念データモデルを固めるのがゴールで、物理的な設計(インデックスやデータ型)は後工程の仕事です。ここでも1-1から続く「この段階ではどの粒度まで決めるか」の感覚が問われます。

混同しやすい概念の整理

紛らわしいペア 違いの核心
要求 ⇔ 要件 要求は関係者が表明した生の希望(曖昧・矛盾あり)。要件は収集・調整を経て合意・文書化した条件(検証可能な文で書く)
機能要件 ⇔ 非機能要件 機能要件=システムが何をするか(本節1-2)。非機能要件=どれだけうまく動くか(次節1-3)
業務モデル ⇔ データモデル 業務モデル=機能と情報の流れの構造(DFD等)。データモデル=データの種類と関係の構造(ER図)。両方そろって技能4
DFD ⇔ 業務フロー図 DFDはデータの流れに着目(順序は表さない)。業務フロー図は作業の順序・分担に着目(スイムレーン)
エンティティ ⇔ 属性 エンティティは管理対象のまとまり(顧客)。属性はその項目(顧客番号・氏名)。行を一意に特定する属性が主キー

確認クイズ(4問)

この節の理解度チェックです(当サイト独自の予想問題。公式の出題ではありません)。

問1|要求と要件

「要求」と「要件」の関係の説明として、最も適切なものはどれか。




解説:要求は材料(生の希望・矛盾や曖昧さを含む)、要件は製品(調整・合意・文書化を経た、検証可能な条件)です(技能1・2)。エのように「実現が容易か」で選ぶのではなく、業務課題と制約条件に照らした優先順位で取りまとめます。

問2|機能要件の観点

機能要件の定義において、シラバス案が挙げる観点に含まれないものはどれか。




解説:応答時間・稼働率は「どれだけうまく動くか」=非機能要件(小項目1-3)の話です。ア・イ・ウはいずれもシラバス案の技能の例③に明記された機能要件の観点(ほかに「システム機能の実現範囲」「情報管理の方法」)。機能と非機能の仕分けはこの章の最頻出ポイントです。

問3|データモデル

受注業務のデータモデルで、「注文」と「商品」の間に「注文明細」エンティティを設ける主な理由として、最も適切なものはどれか。




解説:1回の注文に複数の商品、1つの商品は多数の注文に登場する=多対多。これを「注文1対多注文明細」「商品1対多注文明細」の2つに分解するのが連関エンティティ(注文明細)の役割です。ウは「同じ事実は1か所にだけ記録する」(正規化の発想)に反します。住所は顧客エンティティに持たせ、参照でつなぎます。

問4|モデルの使い分け

「どの機能がどのデータを作り、どこに保管し、誰に渡すか」というデータの流れを可視化したい。用いるモデルとして最も適切なものはどれか。




解説:データの流れ(外部実体・プロセス・データストア・データフロー)を描くのはDFDです。ER図はデータの構造(エンティティ間の関係と多重度)を描くもので、流れは表しません。「流れならDFD、構造ならER図」の使い分けが問4の狙いです。ガントチャートは日程計画の道具です。

まとめ:小項目1-2で身につけること

  • 技能4つの構造=入口(要求→システム要件:収集・整理・調整)中身(機能要件の明確化とモデル定義)
  • 要求は材料、要件は製品。検証可能な文で定義し、矛盾は業務課題と制約条件を拠りどころに、優先度区分とトレーサビリティで調整する(技能1・2)。
  • 機能要件の定義は5つの観点で抜けチェック:①データの流れ ②人の作業 ③実現範囲 ④情報管理の方法 ⑤他システムIF(技能3)。
  • 業務モデル(DFD=流れ)とデータモデル(ER図=構造)を両方定義する(技能4)。多対多は連関エンティティで1対多×2に分解、同じ事実は1か所にだけ記録(正規化の発想)。
  • 要件定義段階のデータモデルは概念レベル(エンティティ・主要属性・関連と多重度)まで。物理設計は後工程。

関連記事・次に読む

« 第1章「システムアーキテクチャ」の章ハブへ戻る

出典(一次情報)

  • IPA「プロフェッショナルデジタルスキル(システム)試験(仮称)科目B シラバス(案 Ver0.2)」大項目1・小項目1-2(2026年7月31日更新)[link]。本文中の「技能の例」引用は同シラバス案からの原文引用です。
  • IPA「情報処理技術者試験・情報処理安全確保支援士試験 出題範囲等の改定案 Ver.1.0」(2026年3月)

※試験名は仮称、内容は検討段階の案です。試験の形式・時間・配点・合格基準は未公表のため本記事では扱いません。技術解説(要求収集の手法、DFD・ER図・正規化など)は一般に確立した知識に基づく当サイトの解説で、シラバスの記載そのものではありません。確認クイズは当サイト独自の予想問題です。正式シラバス公開時に内容を更新します。

Copied title and URL