システムやアプリの開発において、要件定義の次に進むプロセスが「設計(デザイン)工程」です。「何を作るか」を決めるのが要件定義であれば、それを「どのような形で実現するか」を定義するのが設計工程です。
この設計工程は、一般的に「基本設計(外部設計)」と「詳細設計(内部設計)」の2つのステップに分かれています。この2つの違いを理解していないと、開発会社とのコミュニケーションで齟齬が生じたり、設計コストが膨張する原因になります。本コラムでは、各設計の違いと作成されるドキュメントを詳しく解説します。
システム開発の成否を決める「設計工程」の概要
設計工程は、要件定義書に書かれたビジネス上の目的や要望を、開発者がコーディングできる「仕様の設計図」へ落とし込む作業です。
この工程は、**「ユーザーに見える部分(画面や業務フロー)」**を設計する「基本設計」と、**「ユーザーに見えない部分(プログラムのモジュール構成や内部処理アルゴリズム)」**を設計する「詳細設計」に大きく分かれます。
「基本設計(外部設計)」の役割と作成ドキュメント
基本設計(外部設計)とは、ユーザーや発注側から直接見える部分の設計図です。システムがどのように操作され、どのような情報を出力するかを決定するため、発注側(クライアント)と開発会社が一緒にレビューして合意をとる最も重要な設計工程です。
| 主な作成ドキュメント | ドキュメントの役割・内容 |
|---|---|
| 画面遷移図・画面レイアウト | システムの全画面の構成と、ボタン等を押した際の遷移先の遷移ルールを定義 |
| 帳票設計書(出力設計) | システムから出力・印刷されるPDFやCSVデータのレイアウトや印字項目を定義 |
| 業務フロー(シーケンス図) | システム導入後のエンドユーザーと管理者の操作手順や処理の流れを可視化 |
| ER図(データベース論理設計) | データの一貫性を保つため、システムが取り扱う情報(エンティティ)同士の関係性を定義 |
「詳細設計(内部設計)」の役割と作成ドキュメント
詳細設計(内部設計)とは、基本設計で決まった仕様をプログラムコードに変換するために、開発者に向けて書かれる設計図です。
これはユーザーから直接見えない「裏側の処理ロジック」を定義するドキュメントなため、発注側がレビューすることは通常なく、開発会社内部でのプログラミング指示書として使用されます。
- クラス図・シーケンス図:プログラムの部品(モジュール)間の依存関係や、メモリ上での処理実行タイミングを定義します。
- 関数(メソッド)仕様書:個々のプログラム部品が受け取る入力値(引数)と、戻り値(返り値)のロジック、例外処理ルールを記述します。
- バッチ設計書:夜間などに裏側で自動実行されるバッチ処理の起動トリガー、データ抽出ロジック、エラー時の再試行プロセスを定義します。
ミニマル開発における「設計ドキュメントのスリム化」
従来のウォーターフォール開発では、Excelで何百枚もの「詳細設計書」を作成し、修正のたびにドキュメントの整合性を保つ作業(二重管理)に膨大な人件費が費やされていました。
私たち Ill株式会社 (Ill inc.) では、このドキュメント作成の無駄を徹底的に排除します。
基本設計(画面モックアップとデータ構造)はFigmaなどのプロトタイピングツールとシンプルなマークダウン文書で可視化して合意をとり、詳細設計についてはAIを活用した自動テストコードや、可読性の極めて高いコード(自己文書化コード)へ直接マッピングすることで、ドキュメントの記述工数を半分以下に削減し、その分をプロダクトの実装スピードに還元しています。
要件定義や仕様設計の無料アドバイスを実施中
システム開発を予定しているが、適切な基本設計・詳細設計の書き方やドキュメントレベルが分からないという方へ。開発のプロが最適なスリム化と設計の進め方をご案内します。
無料相談・プロトタイプ作成依頼