Skip to content
閲覧中:
内部設計書(詳細設計書)

内部設計書(詳細設計書)

This is a pen.

内部設計書(詳細設計書とも呼ばれます)は、外部設計書で決まった「ユーザーから見える動き」を、**「プログラミングができるレベルの具体的な手順」**に変換する文書です。

外部設計が「何を作るか(What)」であるのに対し、内部設計は**「どう実現するか(How)」**に集中します。


🛠️ 内部設計書の構成要素と作成ポイント

内部設計で作成される主な成果物と、作成時のコツをまとめました。

1. 物理DB(データベース)設計

  • 内容: 論理モデル(ER図)をベースに、特定のデータベース(MySQLやPostgreSQLなど)で動くための詳細な定義。
  • ポイント: * カラム名(物理名)、データ型、制約(NOT NULL、主キー)、インデックスを定義します。
  • パフォーマンス向上のためのインデックス設定や、テーブル分割(パーティショニング)なども検討します。

2. クラス図・モジュール構成図

  • 内容: プログラムをどのような部品(クラスや関数)に分け、それぞれがどう関連し合うかを定義。
  • ポイント: * 「疎結合」(各部品が独立していること)を意識し、修正の影響が広がりすぎないように設計します。
  • オブジェクト指向言語であれば、継承やインターフェースの活用もここで定義します。

3. シーケンス図(処理フロー)

  • 内容: 複数のプログラム部品が、どのような順番でデータをやり取りするかを時系列で表したもの。
  • ポイント: * 複雑なロジックや、複数のサーバー・APIをまたぐ処理(例:決済処理と在庫更新)で特に重要になります。

4. 共通部品設計

  • 内容: ログインチェック、ログ出力、日付計算など、システム全体で使い回す便利なプログラムの設計。
  • ポイント: * プログラマーが各自で同じようなコードを書かないよう、再利用性を高めることが開発効率向上のカギです。

💡 内部設計書を作成する際の3つのコツ

  1. 「ソースコードが想像できる」粒度で書く 内部設計書の理想は、**「これを見れば、プログラミング経験者なら誰でも同じコードが書ける」**状態です。重要な条件分岐(if文の条件など)やループ処理は明確に記述します。
  2. 保守性を考慮する 「動けばいい」ではなく、1年後の自分や他人が読んでも**「どこを直せばいいかすぐわかる」**構造を目指します。マジックナンバー(意味不明な数値)を定数化するなどのルールも盛り込みます。
  3. 例外処理(エラーハンドリング)を徹底する DB接続に失敗した、外部サーバーがダウンしていた、といった不測の事態に「システムをどう安全に止めるか(またはリトライするか)」を詳細に決めます。

📄 内部設計書の目次サンプル

一般的な内部設計書の構成例です。

  • 1. システム構造設計(全体的なディレクトリ構成、フレームワークの利用方針)
  • 2. 物理DB設計(テーブル定義、ビュー定義、インデックス定義)
  • 3. モジュール(クラス)設計(クラス一覧、メソッド定義)
  • 4. 処理詳細設計(シーケンス図、アクティビティ図、主要なアルゴリズム)
  • 5. API/インターフェース詳細仕様(リクエスト/レスポンスのJSON構造など)

🔗 サンプル・テンプレートの参考URL

これで、要件定義から内部設計までの一通りの流れが掴めたかと思います。

もし具体的なプロジェクト(例えば「Webアプリを作りたい」など)をイメージされているのであれば、そのプロジェクトに合わせた**「優先して作るべきドキュメント」**のアドバイスもできます。次はどのような情報が必要ですか?