内部設計とは、外部設計(基本設計)で決まった仕様をもとに、プログラマーが実際にプログラムコードを書くことができるように、システムの「ユーザーからは見えない裏側の仕組み」を詳細に設計する工程のことです。「詳細設計」とも呼ばれます。
外部設計が「何を見せるか(表面)」を設計するのに対し、内部設計は「どのようにコンピュータで処理するか(裏面)」を設計します。具体的には、データの処理ロジック(アルゴリズム)、データベースのテーブル構造やデータの保存形式、プログラムを機能ごとに分割した「モジュール」の設計、エラーが発生した際の例外処理の方法などを決定します。この内部設計書がしっかりと作り込まれていることで、複数のプログラマーが開発に加わっても、統一感のある正確なシステムを作り上げることができます。
ECサイトで「注文ボタンが押されたとき」の処理をプログラム向けに定義する内部設計の記述例です。