外部設計と内部設計の違いとは、かんたんに言うと「使う人から見える部分を決めるか」「システムの中の作り方を決めるか」の違いです。
外部設計では、画面、ボタン、入力欄、出力される書類などを決めます。内部設計では、データの保存方法、システムが行う作業の流れ、プログラムの分け方などを決めます。
この記事では、外部設計と内部設計とは何か、基本設計・詳細設計との関係、順番、作る資料、具体例を初心者向けにわかりやすく解説します。
ここだけ読めばOK
外部設計は、使う人から見える部分を決める設計です。
内部設計は、システムの中でどう動かすかを決める設計です。
基本的な順番は「要件定義 → 外部設計 → 内部設計 → プログラム作成 → テスト」です。
ほかのIT用語も知りたい方は、初心者向けのIT用語辞典もあわせてご覧ください。
外部設計と内部設計の違いとは
外部設計と内部設計の違いとは、見る場所の違いです。
外部設計は、使う人の目にふれる部分を決めます。内部設計は、使う人からは見えにくい、システムの中の作り方を決めます。
外部設計は「使う人から見える部分」
外部設計は、利用者が使う画面や操作の流れを決める作業です。
たとえば、ログイン画面に何を表示するか、どこにボタンを置くか、入力ミスのときにどんな案内を出すかを考えます。
内部設計は「作る側が考える中身」
内部設計は、その画面の裏側でシステムをどう動かすかを決める作業です。
たとえば、入力されたメールアドレスをどう確認するか、データをどこに保存するか、どの順番で作業を進めるかを考えます。
身近な例で見る外部設計と内部設計
家づくりにたとえると、外部設計は「住む人が使う部屋の配置」を決めることに近いです。
玄関はどこか、キッチンは使いやすいか、部屋の広さは十分か。このように、使う人の目線で考えます。
内部設計は、家の中の配線や水道管、柱の入れ方を決めることに近いです。
ふだんは見えませんが、家を安全に使うためには大切です。
ITの話に戻すと、外部設計は画面や操作など、使う人に見える部分を決めます。内部設計は、その画面を動かすための中の仕組みを決めます。
外部設計とは
外部設計とは、使う人がシステムをどう使うかを決める設計です。
ここでいうシステムとは、仕事や生活を便利にするためのアプリ、Webサイト、予約画面、社内の管理画面などを指します。
外部設計では、使う人が迷わず使えるように、画面や操作の流れを整理します。
外部設計で決めること
外部設計では、主に次のようなことを決めます。
- 画面に何を表示するか
- ボタンをどこに置くか
- 入力欄に何を入れてもらうか
- 入力ミスのときにどんな案内文を出すか
- 請求書や一覧表に何を表示するか
- 画面をどの順番で進めるか
- ほかのシステムと、どんなデータをやり取りするか
請求書や一覧表など、システムから出す書類のことを「帳票」といいます。
外部設計では、ほかのシステムと「どんなデータを受け取るか」「どんなデータを渡すか」を決めることもあります。
たとえば、注文システムから配送システムへ、注文番号や住所を渡すような場面です。
外部設計では、使う人にとって見やすいか、操作しやすいかも大切です。画面の見やすさを考えるときは、UIとUXの違いもあわせて理解しておくと役立ちます。
外部設計で作る資料
外部設計では、決めた内容を資料にまとめます。仕事では、このような資料を「成果物」と呼ぶことがあります。
外部設計では、次のような資料を作ることがあります。
- 画面設計書
- 画面の流れを示す図
- 入力項目の一覧
- 帳票の設計書
- メール文面の設計書
- ほかのシステムと、どんなデータをやり取りするかをまとめた資料
画面設計書とは、画面に何を表示するかをまとめた資料です。
たとえば、「名前の入力欄を置く」「送信ボタンを置く」「入力ミスのときは赤い文字で案内を出す」といった内容を書きます。
内部設計とは
内部設計とは、システムの中でどう動かすかを決める設計です。
外部設計で決めた画面や操作を、実際に動かすための中の作り方を考えます。
使う人からは見えにくい部分ですが、システムを正しく動かすために大切です。
内部設計で決めること
内部設計では、主に次のようなことを決めます。
- データをどこに保存するか
- データをどの形で持つか
- システムが行う作業をどの順番で進めるか
- プログラムをどの単位に分けるか
- うまく動かなかったときに中でどう対応するか
- ほかのシステムと、どの手順でデータをやり取りするか
データとは、システムで使う情報のことです。名前、メールアドレス、注文内容、予約日時などがデータです。
プログラムとは、コンピューターにしてほしい手順を書いたものです。
ほかのシステムとデータをやり取りすることを「連携」といいます。
外部設計では、ほかのシステムと「どんなデータをやり取りするか」を決めます。内部設計では、そのデータを「どの手順でやり取りするか」「システムの中でどう扱うか」を決めます。
内部設計で作る資料
内部設計でも、決めた内容を資料にまとめます。
内部設計では、次のような資料を作ることがあります。
- プログラム設計書
- 作業の流れを示す図
- データベース設計書
- ファイルの設計書
- エラー時の対応をまとめた資料
- ほかのシステムとのつなぎ方や、データの受け渡し手順をまとめた資料
データベースとは、データを整理して保存する場所のことです。
たとえば、会員情報、商品情報、注文情報などを、あとから探しやすい形で保存します。
外部設計と内部設計はどっちが先?順番をわかりやすく解説
外部設計と内部設計は、基本的に外部設計が先です。
先に「使う人から見てどう動くか」を決め、そのあとで「中をどう作るか」を決めます。
要件定義から外部設計・内部設計へ進む
システム開発では、いきなりプログラムを作り始めるわけではありません。
まず「どんなものを作るか」を決めます。これを要件定義といいます。
たとえば、予約サイトなら「予約できる」「予約を取り消せる」「予約内容を確認できる」といった必要なことを整理します。
一般的な流れは、次のようになります。
- 要件定義:どんなものを作るかを決める
- 外部設計:使う人から見える部分を決める
- 内部設計:システムの中の作り方を決める
- プログラム作成:実際に作る
- テスト:正しく動くか確認する
テストとは、作ったものが思ったとおりに動くかを確認することです。
外部設計のあとに内部設計を行う理由
先に内部設計をしてしまうと、使う人に必要な画面や操作とずれることがあります。
たとえば、先に中の作り方だけを決めても、「そもそもどんな画面が必要か」が決まっていなければ、作り直しが増えやすくなります。
そのため、まず外部設計で使う人の目線を整理します。
そのうえで、内部設計で中の作り方を決めます。
基本設計・詳細設計との違い
外部設計と内部設計は、基本設計・詳細設計とセットで説明されることがあります。
ただし、会社や現場によって言葉の使い方が少し変わることがあります。
外部設計と基本設計の関係
基本設計とは、システムの大まかな作り方を決める設計です。
使う人から見える画面や操作、出力される書類などを決めることが多いため、外部設計と近い意味で使われることがあります。
つまり、外部設計は基本設計の一部として扱われることがあります。
内部設計と詳細設計の関係
詳細設計とは、プログラムを作る前に、さらに細かい作り方を決める設計です。
どの作業をどの順番で行うか、どのデータを使うかなどを細かく決めます。
そのため、内部設計は詳細設計に近い意味で使われることがあります。
会社や現場によって呼び方が変わることもある
外部設計、内部設計、基本設計、詳細設計は、現場によって使い方が少し違います。
ある会社では「外部設計」と呼ぶものを、別の会社では「基本設計」と呼ぶことがあります。
大切なのは、言葉だけを丸暗記することではありません。
「使う人から見える部分を決めるのか」「中の作り方を決めるのか」で考えると、理解しやすくなります。
| 言葉 | かんたんな意味 | 見る場所 |
|---|---|---|
| 外部設計 | 使う人から見える部分を決める | 画面、操作、帳票など |
| 内部設計 | 中の作り方を決める | 作業の流れ、データ、プログラムの分け方など |
| 基本設計 | 大まかな作り方を決める | 外部設計に近いことが多い |
| 詳細設計 | 細かい作り方を決める | 内部設計に近いことが多い |
外部設計と内部設計で出てくる用語をやさしく整理
ここまでに出てきた言葉を、あらためて整理します。
分からない言葉が出てきたときは、この表に戻ると理解しやすくなります。
| 用語 | かんたんな意味 |
|---|---|
| 要件定義 | どんなものを作るかを決めること |
| 外部設計 | 使う人から見える部分を決めること |
| 内部設計 | システムの中の作り方を決めること |
| 成果物 | 作業の結果として作る資料や設計書のこと |
| 帳票 | 請求書や一覧表など、システムから出す書類のこと |
| データベース | 名前や注文内容などのデータを整理して保存する場所 |
| 処理 | システムが行う作業のこと |
| 連携 | ほかのシステムとデータをやり取りすること |
| テスト | 作ったものが正しく動くか確認すること |
外部設計と内部設計の具体例
ここでは、外部設計と内部設計の違いを具体例で見ていきます。
同じシステムでも、外部設計と内部設計では見る場所が変わります。
ログイン画面を作る場合
ログイン画面とは、メールアドレスやパスワードを入れて、本人であることを確認する画面です。
パスワードは、本人だけが知っている合い言葉のようなものです。
外部設計では、次のようなことを決めます。
- メールアドレスの入力欄を置く
- パスワードの入力欄を置く
- ログインボタンを置く
- 入力ミスのときの案内文を決める
- パスワードを忘れた人向けのリンクを置く
内部設計では、次のようなことを決めます。
- 入力されたメールアドレスを確認する
- パスワードが正しいか確認する
- 失敗した回数を数える
- ログインできたあとに表示する画面を決める
- うまく動かなかったときの中の対応を決める
使う人に見えるのは、外部設計で決めた画面です。
その画面を正しく動かすために、内部設計で中の流れを決めます。
買い物サイトを作る場合
買い物サイトでは、商品を探し、カートに入れ、注文します。
外部設計では、次のようなことを決めます。
- 商品一覧の見せ方
- 商品写真や価格の表示
- カートに入れるボタンの場所
- 注文内容の確認画面
- 注文完了画面の文
内部設計では、次のようなことを決めます。
- 商品データをどう取り出すか
- カートの中身をどう保存するか
- 在庫数をどう確認するか
- 注文データをどう登録するか
- 注文完了メールをどう送るか
外部設計は、買い物をする人の使いやすさに関係します。
内部設計は、注文や在庫などを正しく扱うための中の流れに関係します。
外部設計と内部設計でよくある間違い
外部設計と内部設計は、言葉だけ見ると少し分かりにくいです。
ここでは、初心者が間違えやすい点を整理します。
外部設計を「見た目だけ」と考えてしまう
外部設計は、画面の見た目だけを決める作業ではありません。
使う人がどの順番で操作するか、入力ミスのときにどう案内するかも考えます。
つまり、外部設計は「使う人がどう使うか」を決める作業です。
内部設計を「プログラミングそのもの」と考えてしまう
内部設計は、プログラムを書く作業そのものではありません。
プログラムを書く前に、どのように作るかを決める作業です。
料理でいえば、調理を始める前に手順を整理することに近いです。
ITの話に戻すと、内部設計で中の作り方を決めたあとに、プログラムを作ります。
基本設計と詳細設計を完全に別物として覚えてしまう
基本設計と詳細設計は、外部設計と内部設計に近い考え方です。
ただし、現場によって呼び方が変わることがあります。
そのため、試験や学習では「外から見える部分か」「中の作り方か」で整理すると覚えやすいです。
外部設計と内部設計に関するよくある質問
外部設計と内部設計は英語で何といいますか?
外部設計は、英語では「external design」と表すことがあります。
内部設計は「internal design」と表すことがあります。
ただし、実際の仕事では「basic design」や「detailed design」という言い方を使うこともあります。
海外の開発現場や新しい開発手法では、「architecture design」や「detail design」といった言葉が使われることもあります。
英語表記は現場によって変わるため、まずは「外から見える部分か」「中の作り方か」で理解しておくと分かりやすいです。
外部設計と内部設計は基本情報技術者試験にも出ますか?
基本情報技術者試験では、システム開発の流れや設計、テストに関する考え方が問われます。
外部設計と内部設計も、開発の流れを理解するうえで大切です。
基本情報技術者試験を受ける方は、基本情報技術者試験の科目Aと科目Bの違いも確認しておくと、学習範囲をつかみやすくなります。
ER図は外部設計と内部設計のどちらですか?
ER図とは、データ同士の関係を図で表したものです。
たとえば、「会員」と「注文」のように、情報のつながりを整理するときに使います。
ER図は、データの持ち方を考えるため、内部設計に近い場面で使われることが多いです。
ただし、画面や仕事の流れを確認するために、外部設計の段階で話題になることもあります。
外部設計と内部設計はどちらが大切ですか?
どちらも大切です。
外部設計がわかりやすいと、使う人が迷いにくくなります。
内部設計が整理されていると、システムを作りやすく、あとから直しやすくなります。
外部設計と内部設計は初心者でも覚えるべきですか?
ITの勉強を始めたばかりの人でも、基本の意味は覚えておくと役立ちます。
特に、ITパスポートや基本情報技術者試験を学ぶ方は、開発の流れを知る助けになります。
ITパスポートの用語をまとめて確認したい方は、ITパスポートのIT用語まとめも参考にしてください。
まとめ:外部設計と内部設計の違いとは、見える部分と中の作り方の違い
外部設計と内部設計の違いとは、「使う人から見える部分を決めるか」「システムの中の作り方を決めるか」の違いです。
外部設計では、画面、ボタン、入力欄、帳票、操作の流れなどを決めます。
内部設計では、データの保存方法、システムが行う作業の流れ、プログラムの分け方などを決めます。
ほかのシステムとのデータのやり取りでは、外部設計で「何をやり取りするか」を決め、内部設計で「どうやり取りするか」を決めることがあります。
基本的な順番は、要件定義、外部設計、内部設計、プログラム作成、テストです。
外部設計は基本設計に近く、内部設計は詳細設計に近い意味で使われることがあります。
ただし、現場によって呼び方は変わります。迷ったときは、「使う人から見える部分か」「中の作り方か」で考えると整理しやすくなります。
一言でいうと
外部設計は、使う人のための設計です。
内部設計は、作る人のための設計です。
どちらも、使いやすく正しく動くシステムを作るために必要です。
