システム開発・WEB制作の業者選びならSELECTO(セレクト)SELECTO(セレクト)

詳細設計とは?基本設計との違いをわかりやすく解説

制作会社選びで迷っている方へ

費用相場・制作期間・進め方など、
まずは無料で方向性を一緒に整理いたします。
質問だけでも大歓迎です。

\ 強引な営業は一切ありませんのでご安心ください /

「詳細設計って何?」
「基本設計とどう違うの?」
「設計書には何を書くの?」

システム開発について調べていると、こうした疑問を持つ人は多いです。

詳細設計は、実装に入る前に「どう作るか」を具体化する工程です。
ここがあいまいなままだと、開発者ごとに解釈がずれやすくなり、手戻りや品質低下につながることがあります。

この記事では、詳細設計の意味や役割を整理しながら、基本設計との違い、決める内容、成果物、よくある課題までわかりやすく解説します。

目次

詳細設計とは

詳細設計の意味

詳細設計とは、基本設計で決めた内容を、実装できるレベルまで具体化する工程です。

たとえば会員登録機能を作る場合、基本設計では「名前・メールアドレス・パスワードを入力して登録する」といった全体像を決めます。
一方、詳細設計では、次のような内容まで詰めていきます。

  • メールアドレスの形式チェックをどうするか
  • 必須項目が未入力なら何を表示するか
  • データをどこに保存するか
  • 重複登録時にどんなエラーを返すか

つまり詳細設計は、作れる状態まで仕様を落とし込む工程です。

詳細設計は中流工程に位置する

詳細設計は、ウォーターフォール型の開発において中流工程に位置します。

上流工程で「何を作るか」を決め、詳細設計で「どう作るか」を具体化し、そのあとに実装やテストへ進みます。

開発全体の流れを簡単に表すと、次の通りです。

要件定義 → 基本設計 → 詳細設計 → 実装 → テスト → 運用・保守

このように詳細設計は、上流工程の内容を開発現場へつなぐ橋渡しの工程だといえます。

詳細設計の役割

詳細設計の役割は、開発者が迷わず実装できるようにすることです。

仕様があいまいなまま実装に入ると、担当者ごとに判断が分かれやすくなります。
その結果、レビューで差し戻しが増えたり、あとから修正が必要になったりします。

詳細設計を丁寧に行うことで、次のようなメリットがあります。

  • 実装の迷いを減らせる
  • レビューしやすくなる
  • テスト観点を洗い出しやすくなる
  • 手戻りを防ぎやすくなる

詳細設計と基本設計の違い

基本設計で決めること

基本設計では、利用者から見た仕様を決めます。たとえば、次のような内容です。

  • どんな画面が必要か
  • どんな機能を持たせるか
  • どの情報を表示するか
  • どんな流れで操作するか

つまり、基本設計は何を作るかを整理する工程です。

詳細設計で決めること

詳細設計では、開発者から見た内部仕様を決めます。たとえば、次のような内容です。

  • 入力チェックの条件
  • 処理の順番
  • DBへの保存方法
  • エラー時の動き
  • 外部連携の仕様

基本設計と詳細設計の違いを簡単にまとめると

違いをシンプルにまとめると、次の通りです。

  • 基本設計:何を作るか
  • 詳細設計:どう作るか

また、見方を変えるとこうも言えます。

  • 基本設計:利用者視点の設計
  • 詳細設計:開発者視点の設計

この違いを押さえておくと、設計工程全体が理解しやすくなります。

詳細設計で決めること

画面の仕様

詳細設計では、画面について次のような内容を整理します。

  • どの項目を表示するか
  • どの項目を入力するか
  • ボタンを押したら何が起こるか
  • 初期値をどうするか
  • 表示条件をどうするか

見た目だけでなく、画面の動きまで決めるのがポイントです。

入力チェック

入力チェックでは、主に次のような条件を定義します。

  • 必須項目かどうか
  • 文字数制限はあるか
  • 数字のみ入力可能か
  • メールアドレス形式を確認するか
  • 半角・全角の制御をどうするか

ここがあいまいだと、実装やテストで認識がずれやすくなります。

処理の流れ

処理フローでは、機能がどの順番で動くのかを整理します。たとえば登録処理なら、次のような流れです。

  • 入力内容を受け取る
  • 必須チェックを行う
  • 形式チェックを行う
  • 重複データを確認する
  • 問題がなければDBへ保存する
  • 完了画面へ遷移する

処理の順番が見えていると、実装しやすくなります。

データの扱い

詳細設計では、データの保存方法も決めます。主に整理するのは、次のような内容です。

  • どのテーブルに保存するか
  • カラム名は何か
  • 型は何か
  • 必須か任意か
  • 主キー・外部キーはどうするか

データの整合性に関わるため、かなり重要な部分です。

エラー処理

正常系だけでなく、異常系も設計する必要があります。たとえば、次のようなケースです。

  • データが存在しない
  • 権限がない
  • 通信に失敗した
  • 想定外の例外が発生した

実務では、正常系よりも異常系の抜け漏れが問題になりやすいです。
そのため、エラー時の動きまで明確にしておくことが大切です。

詳細設計の主な成果物

画面詳細設計書

画面詳細設計書には、画面ごとの仕様をまとめます。主な記載内容は次の通りです。

  • 画面名
  • 項目一覧
  • 入力条件
  • ボタン操作
  • 遷移先
  • エラー表示
  • 処理概要

処理仕様書

処理仕様書には、処理の流れや分岐条件などをまとめます。主に使われるのは、次のような場面です。

  • 登録処理
  • 更新処理
  • 削除処理
  • バッチ処理
  • 集計処理

処理順序が複雑な機能では特に重要です。

テーブル定義書・項目定義書

データベース関連では、次のような資料を作ることがあります。

  • テーブル定義書
  • 項目定義書

ここでは、

  • テーブル名
  • カラム名
  • データ型
  • 桁数
  • 必須・任意
  • 主キー・外部キー

などを整理します。

API仕様書・その他の資料

外部システムと連携する場合は、API仕様書も必要です。そのほかにも、次のような資料を作ることがあります。

  • バッチ詳細設計書
  • エラー一覧
  • メッセージ一覧
  • フロー図
  • シーケンス図

大事なのは資料名よりも、実装・レビュー・テストに必要な情報が揃っていることです。

詳細設計でよくある課題

基本設計の言い換えで終わる

詳細設計なのに、基本設計を少し言い換えただけで終わってしまうことがあります。

これでは、実装に必要な情報が足りません。
詳細設計は、「詳しく見える資料」ではなく「作れる資料」である必要があります。

人によって粒度がバラバラになる

担当者ごとに、設計の細かさが違うこともよくあります。

  • ある人は異常系まで細かく書く
  • ある人は概要だけしか書かない

こうなると、チーム全体の品質が安定しません。
テンプレートやレビュー基準をそろえることが大切です。

異常系が抜ける

正常系だけを設計して、エラー処理が後回しになるケースも多いです。

しかし、実際に問題が起きやすいのはこうした異常系です。
そのため、失敗時の動きまで含めて設計しておく必要があります。

設計書が更新されない

実装中に仕様変更があっても、設計書が古いまま放置されることがあります。

この状態だと、

  • 保守で困る
  • 改修時に混乱する
  • 新しい担当者が理解しづらい

といった問題が起こりやすくなります。

設計書は、作って終わりではなく更新して使うものです。

まとめ

詳細設計とは、基本設計で決めた内容を、実装できるレベルまで具体化する工程です。

ポイントをまとめると、次の通りです。

  • 詳細設計は中流工程に位置する
  • 基本設計は「何を作るか」を決める
  • 詳細設計は「どう作るか」を決める
  • 画面、入力チェック、処理フロー、データ、エラー処理を詰める
  • 設計があいまいだと手戻りが増えやすい

一言でいうなら、詳細設計は
開発者が迷わず作れるようにするための設計
です。

最短即日で回答 | 無料の制作相談はこちら

制作に関する疑問・不安を、プロが丁寧に解決します。
見積りだけでも大歓迎です。

\ 最短で今日中にお返事できます /

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SELECTO(セレクト)のアバター SELECTO(セレクト) 業者選定代行サービス

SELECTO(セレクト)は、WEBシステム開発で20年以上の実績を持ち、2,000件以上の相談を受けてきた株式会社セルバが運営する『業者選定代行サービス』です。
知識がないと難しいWEB制作会社・開発会社選びはSELECTOにおまかせください!
開発会社、発注者の両方を多数経験してきた目線で、信頼できる業者のみを紹介します。