【システム開発技術】「機能の流れ」か「データの構造」か!「ER図」の役割|情報処理問題1000本ノック
システム開発の上流工程(要件定義や基本設計)では、実現したい「機能(業務の流れ)」と、管理したい「データ(構造)」をそれぞれ適切な図を使って整理します。この2つの視点の本質的な違いを攻略しましょう。
1. 【 問題 】:ソフトウェア開発(要件定義・各種モデルの用途)
【 問題 】 システム開発において、システムが提供すべき機能や業務の処理プロセス(流れ)を表現するモデルとして、ふさわしくないものはどれでしょうか?
(ア) ユースケース図
(イ) アクティビティ図
(ウ) ER図
(エ) DFD(データフローダイアグラム)
2. 正解:
正解: (ウ) ER図
3. 解説:「機能(どう動くか)」と「データ(何があるか)」の分離
システム設計図は、大きく分けてシステムが実行する処理を追う「機能(プロセス)軸の図」と、システムが記憶する情報の形を追う「データ軸の図」に分かれます。
選択肢のER図(Entity-Relationship Diagram)は、データベースに保存する「実体(エンティティ)」と、それらの「関連(リレーションシップ)」を表現する図です。これは純粋にデータの構造を表すためのものであり、システムが「どのような手順で計算を行うか」「どんな機能を持っているか」というプロセスの流れは一切表現しないため、正解(ふさわしくないもの)となります。
| 図の名称 | 主な表現内容 | モデルの分類 |
|---|---|---|
| (ア) ユースケース図 | システムが「誰(ユーザー)に」「どんな機能」を提供するのかを表す図。 | 機能・要求モデル |
| (イ) アクティビティ図 | 業務や処理が「どのような手順(フロー)」で進むのかを表す図。 | 機能・プロセスモデル |
| (ウ) ER図 | 顧客や商品などの「データ(実体)同士の関係性」を表す図。 | データモデル |
| (エ) DFD | データが「どこから入力され、どう加工(処理)されてどこへ行くか」を表す図。 | 機能・データフローモデル |
1. 理解のコツ: 「レストランの開店準備」に例えてみましょう。
・機能を表すモデルは、お店の「オペレーションマニュアル(業務手順書)」です。「お客様が来店したら席へ案内する(ユースケース)」「注文を取って厨房へ伝える(DFD)」「料理を作って提供する(アクティビティ)」といった、一連の動きやサービスの仕組み(機能)を描いています。
・一方でER図(データモデル)は、お店の「在庫管理表やメニューのマスターデータ」そのものです。「商品には商品ID、名前、価格がある」「1つの注文には複数の商品が含まれる」といった、お店に存在する『情報の枠組み(構造)』だけを整理したものです。ここには「どういう順番で料理を運ぶか」といった機能や時間の流れは一切出てきません。この役割の違いを意識すると、選択肢を瞬時に見分けることができます。
2. 試験対策の視点: ITパスポート、基本情報技術者、応用情報技術者の午前試験で定番の「仲間外れ探し」の問題です。問題文の「機能を表すモデルとしてふさわしくないもの」、あるいは「プロセスの記述に用いられないもの」という表現を見たら、データ設計の王様であるER図を迷わず選んでください。
また、構造を整理するために、構造化分析手法の代表であるDFD(データフローダイアグラム)と、オブジェクト指向設計(UML)の代表であるアクティビティ図・ユースケース図は、アプローチこそ違えど「システムの機能や処理の流れを表現する仲間」として一つのグループにまとめて覚えておくことが、試験の引っ掛け問題に騙されないための強固な知識となります。
4. まとめ
「ユースケース図やアクティビティ図、DFDがシステムの機能や処理の手順(プロセス)を可視化するのに対し、ER図はシステムが扱うデータの構造や関連性(静的な情報モデル)のみを表現する」。これが設計図ごとの用途の違いです。上流工程で使われる各図の目的を明確に区別し、確実な得点源にしていきましょう!