目次
おっしゃる通り、ソフトウェア開発における設計書には、いくつかの種類があり、それぞれ異なる役割を持っています。
ご提示いただいた3つの設計書と、それらが一般的にどのようなものかについてご説明します。
📝 設計書の主な種類と役割¶
1. 要件定義書(Requirement Definition Document: RD)¶
これは、**「何を作るか」**を定義する、開発の最も初期段階で作成される文書です。
-
目的・内容:
- ユーザーや顧客の**ニーズ、要望**、そしてシステムが満たすべき**機能**(例: ログイン、データ検索)や**非機能**(例: 性能、セキュリティ)のすべてを明確にします。
- 開発の**スコープ**(範囲)を決定し、後の工程での手戻りを防ぐための基盤となります。
-
作成者: 主にプロジェクトマネージャー、システムアナリスト、顧客と合意形成を行うメンバー。
- 特徴: 開発チームだけでなく、**顧客やエンドユーザーにも理解できる**ように、ビジネス的な視点やユーザーの視点を重視して記述されます。
2. 外部設計書(External Design Document)¶
これは、「ユーザーから見てどう見えるか、どう操作できるか」**を定義する文書です。「利用者向け設計書」**とも呼ばれます。
-
目的・内容:
- ユーザーインターフェース(画面や帳票のデザイン、遷移、操作方法)や、外部システムとの連携仕様など、**システムの外部から観察できる振る舞い**を詳細に定義します。
- 要件定義の内容を具体的なシステムの形に落とし込む最初のステップです。
-
作成者: システムエンジニア (SE)。
- 特徴: 開発者だけでなく、**ユーザーの承認**を得るために使われることも多いです。
3. 内部設計書(Internal Design Document)¶
これは、「どのようにシステムを構築するか」**を定義する文書です。「開発者向け設計書」**とも呼ばれます。
-
目的・内容:
- 外部設計で定義された機能を実現するための**技術的な仕組み**を詳細に定義します。
- 例: システムのアーキテクチャ、モジュール構成、データベースのテーブル設計(ER図など)、プログラムのクラス設計、各モジュールの処理ロジックなど。
-
作成者: システムエンジニア (SE) やプログラマー。
- 特徴: **開発者が直接コーディングを行うための指示書**となるため、技術的かつ詳細な記述が多くなります。
📊 3つの設計書の関係性と流れ¶
これらの設計書は、一般的に**上流工程(抽象的・ビジネス視点)から下流工程(具体的・技術視点)**へと順番に作成され、内容が具体的になっていきます。
| 設計書 | 主な質問 | 視点 | 抽象度 | 次の工程 |
|---|---|---|---|---|
| 要件定義書 | **何を**作るか?(ビジネス要求) | 顧客・ユーザー | 最も高い | 外部設計 |
| 外部設計書 | **どう**見えるか?(UI/UX) | ユーザー | 中間 | 内部設計 |
| 内部設計書 | **どう**実装するか?(技術詳細) | 開発者 | 最も低い | プログラミング |
ご興味があれば、それぞれの設計書で具体的にどのような項目を記述するのか、さらに詳しくご説明することも可能です。いかがでしょうか?