ITパスポート 2012年 秋期 問38
問題文
システム開発プロセスを、要件定義、外部設計、内部設計の順番で実施するとき、内部設計で行う作業として、適切なものはどれか。
選択肢
ア:画面応答時間の目標値を定める。
イ:システムをサブシステムに分割する。
ウ:データベースに格納するレコードの長さや属性を決定する。(正解)
エ:入出力画面や帳票のレイアウトを設計する。
🔒 解説は解答すると表示されます
システム開発の設計工程で「内部設計」で行う作業はどれか【ITパスポート 解説】
正解の理由
ウ「データベースに格納するレコードの長さや属性を決定する」は、内部設計(詳細設計)の典型的な作業だからです。内部設計とは、外部設計で決めた機能や画面・帳票の仕様をもとに、実際にプログラムやデータの細かい構造を決める段階です。データベース(database:データを整理して保存する仕組み)のレコード長や各属性(列)の型・長さは、まさに「どう実装するか」を決める詳細項目です。
解法ステップ
-
各工程の役割を確認する
- 要件定義:何を作るか(要求・目的・性能条件など)を決める段階。
- 外部設計(上位設計):ユーザーが見る画面や帳票、入出力の仕様や機能の範囲を決める段階。
- 内部設計(詳細設計):プログラム構造やデータ構造、データベースの詳しい形などを決める段階。
-
各選択肢を工程に当てはめる
- ア:応答時間の目標 → 要件定義(非機能要件)
- イ:サブシステム分割 → 外部設計や上位設計の範囲(全体構成)
- ウ:レコード長や属性の決定 → 内部設計(正解)
- エ:画面や帳票のレイアウト → 外部設計
-
最も内部設計にふさわしいものを選ぶ → ウ
選択肢別の誤答解説
-
ア: 画面応答時間の目標値を定める。
応答時間などの性能要件はシステムに期待される条件です。これはまず決めるべき「何を満たすか(要件)」に該当します。従って要件定義の段階で決めることが多く、内部設計の作業ではありません。 -
イ: システムをサブシステムに分割する。
システムを大きな塊に分ける作業は、システム全体の構成やアーキテクチャ設計に当たり、外部設計や上位設計の範囲です。内部設計はその後で、各サブシステム内のモジュールやデータの詳細を詰めます。 -
エ: 入出力画面や帳票のレイアウトを設計する。
画面や帳票の見た目・配置・出力項目の決定は外部設計の仕事です。ユーザーに見える部分の仕様を決める工程だからです。
よくある誤解
-
「内部設計=プログラムを書く段階」だと思う
→ 内部設計はプログラミングの前段階で、プログラムを書くための詳細設計書を作る工程です。実際のコーディングはさらにその後の実装工程になります。 -
「データベース設計は外部設計でも行う」と混同する
→ 外部設計で「どんなデータが必要か(項目や帳票で必要な情報)」を決めますが、実際のデータ型やレコード長、インデックスなどの物理的・詳細な設計は内部設計です。 -
「性能目標(応答時間)は内部設計で調整すればよい」
→ 性能目標はまず要件として確定しておく必要があります。内部設計で実現方法(キャッシュ、インデックス、分割など)を検討しますが、目標自体は要件定義段階で明確にします。
補足コラム
データベース設計は大きく分けると「論理設計」と「物理設計」に分かれます。
- 論理設計:どんなテーブル(表)やカラム(列)が必要か、テーブル間の関係(ER図:Entity-Relationship diagram)を決める段階。外部設計寄りの要素もあります。
- 物理設計:レコード長、データ型、索引(インデックス)、パーティショニングなど、実際にデータを保存・高速参照するための詳細設定を決める段階。内部設計の典型です。
例えば顧客情報のレコードを決める際は、次のように考えます。
- 名前:最大 30 文字 → 文字コードによってバイト数を決定
- 電話番号:固定長 11 桁 → 整数か文字列かを決定
合計して1レコードあたりの長さが分かれば、必要なディスク容量の概算もできます。例えば レコードが バイトで、 件なら合計 バイト(約20MB)となります。
FAQ
Q1. データベースの設計は外部設計と内部設計のどちらで始めるべきですか?
A1. まず外部設計で「どんなデータが必要か(項目)」を確定します。そこから内部設計でデータ型やレコード長などの詳細を決めます。
A1. まず外部設計で「どんなデータが必要か(項目)」を確定します。そこから内部設計でデータ型やレコード長などの詳細を決めます。
Q2. 応答時間の目標が守れないときは内部設計で何を直せばよいですか?
A2. インデックスの追加、キャッシュの導入、テーブル分割、SQLの最適化など内部設計・実装面で改善できます。ただし、目標自体は要件定義で明確にしておく必要があります。
A2. インデックスの追加、キャッシュの導入、テーブル分割、SQLの最適化など内部設計・実装面で改善できます。ただし、目標自体は要件定義で明確にしておく必要があります。
Q3. 内部設計で作る成果物の例は?
A3. データベースの物理設計書、プログラムの詳細設計書(モジュール設計、API仕様、データ構造定義)などです。
A3. データベースの物理設計書、プログラムの詳細設計書(モジュール設計、API仕様、データ構造定義)などです。
関連キーワード: 内部設計、外部設計、要件定義、データベース設計、レコード長、システム開発プロセス

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

