システム開発プロセスを, 要件定義, 外部設計, 内部設計の順番で実施するとき, 内部設計で行う作業として, 適切なものはどれか。
平成24年度 秋期 ITパスポート試験 問38
この問題の解説と、これまでの解答の記録です。
問 38設計工程は「外側から内側へ」進むと覚える
不正解ア
画面応答時間の目標値を定めるのは、要件定義で行う作業です。応答時間・稼働率・処理件数といった性能や品質に関する目標は非機能要件と呼ばれ、システムに何をどの水準で求めるかという利用者側の要求そのものです。要件定義で目標値が確定していなければ、その後の外部設計・内部設計で何を満たすべきか判断できません。内部設計は、決まった目標を実現する手段を考える工程であって、目標値そのものを決める工程ではないため誤りです。
不正解イ
システムをサブシステムに分割するのは、外部設計(基本設計)で行う作業です。販売管理システムを受注・在庫・請求といった業務のまとまりに区切るように、システム全体をどのような単位で構成するかは、利用者の業務の区切りに沿って決める全体構造の設計であり、内部設計に進む前に確定していなければなりません。内部設計は、こうして分割された各サブシステムの内部をさらに詳細化する工程なので、分割そのものは前工程の作業であり誤りです。
- ウ
正解 正解は ウ。システム開発は、要件定義(利用者が何を求めるかを決める)→外部設計(利用者から見える外側を決める)→内部設計(開発者から見える内側を決める)→プログラミング、と外側から内側へ段階的に詳細化していきます。内部設計は、外部設計で決まった仕様を実際に計算機の上で動かすための内部構造へ落とし込む工程で、利用者には見えない部分を扱うのが特徴です。選択肢 ウ の「データベースに格納するレコードの長さや属性を決定する」は、まさにこの内部構造の決定にあたります。外部設計の段階では、たとえば「顧客名を扱う」「注文日を扱う」といった論理的なデータ項目までを決めますが、その項目を実装上どう持つか、すなわち文字型か数値型かといった属性、何バイトまで格納できるかという桁数・レコード長は、利用者の業務要求ではなく計算機側の実装事情に属します。これを決めるのが物理データ設計であり、内部設計で行う作業です。したがって ウ が適切です。
不正解エ
入出力画面や帳票のレイアウトを設計するのは、外部設計で行う作業です。画面や帳票は利用者が直接操作し目にするインタフェースであり、利用者と内容を確認し合意しながら決める必要があるため、外側を決める外部設計に位置づけられます。内部設計が扱うのは、その画面の裏側で動くプログラムの構造やデータの持ち方といった、利用者には見えない部分です。見える部分と見えない部分の区別が本問の要点であり、エ は見える側なので誤りです。
- 設計工程は「外側から内側へ」進むと覚える。要件定義=何を作るか(業務要求・非機能要件の目標値)、外部設計(基本設計)=利用者から見える外側(サブシステム分割、画面・帳票レイアウト、論理データ設計)、内部設計=開発者から見える内側(プログラム分割、モジュール構造、物理データ設計)。判断に迷ったら「それは利用者に見えるか」を問えばよい。
- データ設計は論理と物理で工程が分かれる。どんなデータ項目が必要かを決める論理データ設計は外部設計、その項目を実装上どう持つか(データ型・桁数・レコード長・ファイル編成)を決める物理データ設計は内部設計に属する。