【ITパスポート】外部設計とは?内部設計との違いをわかりやすく解説

ITパスポートのシステム開発分野を学ぶと、外部設計・内部設計という言葉が登場します。「外部」と「内部」ってどう違うの?何を設計するの?と感じる方も多いでしょう。

実はこの2つは、家を建てる際の「間取り図」と「配線・配管の設計図」に例えると、とてもイメージしやすくなります。この記事では、外部設計と内部設計の違い、それぞれで行う作業の内容、そしてシステム開発全体の流れの中での位置づけをわかりやすく解説します!

目次

外部設計とは?一言でいうとユーザー向けの設計

外部設計(がいぶせっけい)とは、ユーザー(使う人)の視点から見たシステムの仕様を決める工程のことです。基本設計とも呼ばれます。

家の建築で例えると、外部設計は間取り図や外観デザインに相当します。「リビングはここ」「窓はこの位置」「玄関はこの向き」という、実際に住む人の使いやすさを中心に設計する段階です。内部の配線・配管の仕組みまではまだ決めません。

システム開発における外部設計では、主に次のことを決めます。

外部設計で決める内容具体例
画面レイアウトログイン画面・一覧画面・入力フォームのデザイン
操作フローボタンを押したらどの画面に遷移するか
入出力情報何を入力して何を出力するか(帳票・レポートの形式)
ユーザーインターフェース(UI)ユーザーが操作する画面全般の設計

外部設計の成果物として、画面設計書・帳票設計書・業務フロー図などが作成されます。

内部設計とは?一言でいうとエンジニア向けの設計

内部設計(ないぶせっけい)とは、外部設計で決まった仕様を実現するために、システム内部の処理ロジックや構造を詳細に定義する工程のことです。詳細設計とも呼ばれます。

家の建築で例えると、内部設計は配線・配管・構造計算の設計図に相当します。住む人には見えない部分ですが、家が機能するための重要な設計です。

システム開発における内部設計では、主に次のことを決めます。

内部設計で決める内容具体例
処理ロジックの詳細各機能の具体的な処理手順・アルゴリズム
モジュール分割プログラムをどう部品に分けて設計するか
データベースの物理設計テーブルの詳細な型・インデックスの設定
モジュール間の連携プログラム部品同士のやり取りの仕様

内部設計の成果物として、プログラム設計書・データベース詳細設計書・モジュール一覧などが作成されます。

外部設計と内部設計の違いまとめ

比較項目外部設計(基本設計)内部設計(詳細設計)
別名基本設計詳細設計
視点ユーザー(使う人)視点エンジニア(作る人)視点
内容画面・操作フロー・帳票など処理ロジック・モジュール構造など
対象システムの外側(ユーザーが見る部分)システムの内側(ユーザーが見えない部分)
成果物画面設計書・業務フロー図プログラム設計書・DB詳細設計書
次の工程内部設計実装(プログラミング)

システム開発全体の流れの中での位置づけ

外部設計は、ウォーターフォール開発モデルの工程の一つです。

ウォーターフォール開発モデルでは、上流から下流へ順番に工程を進めます。

  1. 要件定義:システムに何が必要かを整理する
  2. 外部設計(基本設計):ユーザー視点でシステムの仕様を決める ← ここ!
  3. 内部設計(詳細設計):エンジニア視点でシステム内部を詳細に設計する
  4. 実装(プログラミング):設計書をもとにプログラムを書く
  5. テスト:動作確認をする
  6. 運用・保守:本番稼働後の管理と改善

要件定義でシステムに何が必要かを整理した後、外部設計でユーザーが使う画面や操作を設計するという流れです。

上流工程と下流工程

システム開発の工程は、流れの順番から次のように呼ばれます。

  • 上流工程:要件定義・外部設計・内部設計など、開発の前段階の工程
  • 下流工程:実装・テスト・運用保守など、開発の後段階の工程

上流工程でしっかり設計を固めることが、品質の高いシステム開発につながります。上流で曖昧なまま進めると、下流でやり直しが発生してコストが膨らむというのがウォーターフォール開発の典型的なリスクです。

ITパスポート試験での外部設計出題傾向と対策

外部設計はマネジメント系の開発技術・ソフトウェア開発管理技術分野で出題されます。

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

  • 外部設計(基本設計):ユーザー視点での画面・操作フロー・帳票などの設計。
  • 内部設計(詳細設計):エンジニア視点での処理ロジック・モジュール構造などの設計。
  • ウォーターフォール開発:要件定義→外部設計→内部設計→実装→テスト→運用という順番で進める開発手法。
  • 上流工程:要件定義・設計など開発前半の工程。
  • 下流工程:実装・テスト・運用保守など開発後半の工程。

過去問に挑戦!

【問題】
ウォーターフォール開発における外部設計工程で行うこととして、適切なものはどれか。

ア.システムが必要とする機能・性能を整理して仕様書にまとめる
イ.ユーザーが操作する画面レイアウトや操作フローを設計する
ウ.プログラムの処理ロジックやモジュール構造の詳細を設計する
エ.完成したシステムの動作を確認するテストを実施する

【正解】:イ
【解説】:外部設計(基本設計)はユーザー視点での画面・操作フロー・帳票などの設計が中心です。アは要件定義、ウは内部設計(詳細設計)、エはテスト工程の説明です。

【問題】
ウォーターフォール開発モデルにおいて、外部設計の次に行う工程はどれか。

ア.要件定義
イ.実装(プログラミング)
ウ.内部設計(詳細設計)
エ.テスト

【正解】:ウ
【解説】:ウォーターフォール開発のフローは要件定義→外部設計→内部設計→実装→テスト→運用の順番です。外部設計の次は内部設計(詳細設計)です。

まとめ:外部設計はユーザー向けの仕様決め

今回は外部設計と内部設計の違いを解説しました。ポイントをもう一度確認しましょう。

  • 外部設計はユーザー視点で画面・操作フロー・帳票などを設計する工程(別名:基本設計)
  • 内部設計はエンジニア視点で処理ロジック・モジュール構造などを設計する工程(別名:詳細設計)
  • ウォーターフォール開発での順番は要件定義→外部設計→内部設計→実装→テスト→運用
  • 外部設計は上流工程の一つ。上流でしっかり固めることが品質向上につながる
  • 試験ではどの工程で何を行うかと、工程の順番が頻出

家の間取り図(外部設計)と配線・配管の設計図(内部設計)という例え話を覚えておけば、試験でも迷わず正解できます!

目次