詳細設計書とは?基本設計書との違いと書き方

詳細設計書の意味と基本設計書との違い、書き方を解説する記事のアイキャッチ。フローチャートと設計書が並ぶ机

当サイトの記事は編集部が国土交通省・IPA・デジタル庁などの公的機関の情報、規格や業界団体の公開情報を調べて独自に執筆しています。記事内にIT・Webエンジニアの転職サービスへの案内(広告)を含みます。

『詳細設計書を書いて』と言われたものの、基本設計書と何が違うのか、どこまで細かく書けばいいのか分からない。そんな方も多いはずです。

結論から言うと、詳細設計書はプログラムを書く人が、迷わずに作り始められるところまで中身を決めた文書です。基本設計書との違いは「誰が読むか」「どこまで細かく書くか」「何を決めるか」の3つで比べると、すっきり分かります。

この記事を読めば、詳細設計書に書く項目と、プログラムの設計書をどこまで書けばいいかの目安が分かります。

目次

詳細設計とは?詳細設計書で決めること

先に結論

詳細設計とは、基本設計で決めた画面やデータの形を、プログラムの中でどう実現するかを決める工程です。詳細設計書は、その結果をプログラマーやテスト担当に渡すための文書です。

『基本設計書があれば、プログラムは書けるんじゃないの?』と思う方もいますよね。実は、基本設計書は利用者から見た形を決めた文書なので、中の処理の順番や条件の細かい所までは書かれていないことが多いんです。

厚生労働省の職業情報提供サイト job tag(2025年時点の掲載)では、受託開発のSEの仕事として、詳細設計ではデータ形式やファイル形式、詳細な内部処理の方法、操作画面の詳細などを決め、処理の流れを細分化した設計書を作ると紹介されています。

同じjob tagでは、プログラマーは「SEが作成した詳細設計書に基づいてコーディングし、プログラムを作成する」とされています。詳細設計書は、まさにプログラムを書く人への橋渡しの文書なんです。

公的な資料に出てくる詳細設計

デジタル庁のDS-100(デジタル・ガバメント推進標準ガイドライン)では、画面や帳票などの基本設計を行った後に「機能を実現するための詳細設計を行う」としています。

IPAの共通フレーム2013にも、「ソフトウェア詳細設計プロセス」という工程名があります。ソフトウェアの組み立て方を決める「ソフトウェア方式設計プロセス」の次に置かれ、そのあとに「ソフトウェア構築プロセス」が続きます。

英語では、ソフトウェアの用語を集めた ISO/IEC/IEEE 24765:2010 に detailed design description という言葉があり、同義語として detailed design specification が挙げられています。

呼び方使われる場面
詳細設計書最も一般的な呼び方
内部設計書基本設計を外部設計と呼ぶ会社で使われることが多い
プログラム設計書プログラム1本ずつの設計を書く文書として呼ぶことが多い
detailed design specification英語の資料や海外とのやり取り

基本設計書のほうの書き方は基本設計書とは?書く項目と書き方、設計書全体の種類は設計書とは?システム開発の設計書の種類と役割で紹介しています。

基本設計書と詳細設計書の違いを「読む人・書く粒度・決めること」で比べる

ここでの結論

基本設計書は発注側も読む「外から見た形」の文書、詳細設計書は開発側が読む「中の作り」の文書です。書く粒度は、基本設計書が画面や機能の単位、詳細設計書が処理やモジュールの単位になります。

『違いは分かったような気がするけど、実際に書く時に線が引けない』という声もよく聞きます。そこで、3つの切り口で並べてみますね。

基本設計書と詳細設計書を読む人・書く粒度・決めることの3つで比べた図解

3つの切り口の比較表

次の表は、編集部が一般的な開発の進め方をもとにまとめたものです。会社によって境目は少しずつ違うので、目安として見てください。

切り口基本設計書詳細設計書
読む人発注側の担当者、開発側のSEプログラマー、テスト担当、保守する人
書く粒度画面・帳票・機能の単位処理・モジュール・プログラムの単位
決めること何が見えて、何を入れて、何が出るかどの順番で、どの条件で、どう処理するか
書き方の例「申込ボタンで承認待ちに回る」「申込ボタンで入力チェックを行い、問題がなければ申込データを登録し、状態を承認待ちにする」
確かめるテスト結合テスト・総合テスト単体テスト
変わった時の影響発注側との合意をやり直す開発側の中で直すことが多い

境目に迷った時の考え方

『この内容は基本設計書と詳細設計書、どっちに書くの?』と迷ったら、「発注側に確かめてもらう必要があるか」で考えてみてください。利用者の目に触れる動きなら基本設計書、目に触れない中の処理なら詳細設計書、と分けると線が引きやすくなります。

基本設計書に書くこと
  • 入力欄の並び順やボタンの位置
  • エラーの時に画面に出すメッセージ
  • 帳票に印刷する項目
詳細設計書に書くこと
  • 入力チェックをどの順番で行うか
  • どのテーブルからどの条件でデータを取るか
  • 処理を分ける部品(モジュール)の名前と役割

詳細設計書に書く項目とテンプレートの使い方

ここでの結論

詳細設計書には、処理の概要、入力と出力、処理の流れ、データの読み書き、エラーの時の扱いを書くのが基本です。テンプレートは社内の形式があればそれを使い、無ければこの5つが入る形を作りましょう。

『詳細設計書って、具体的にどんな項目を書けばいいの?』という方のために、編集部が考えた項目の例を並べます。

項目書く内容書いておかないと困ること
処理の概要このプログラムが何をするか、どの画面や機能から呼ばれるか全体の中での位置が分からない
入力と出力受け取るデータ、返すデータ、出力するファイル前後の処理とつながらない
処理の流れ処理の順番、条件の分かれ目、繰り返しプログラマーごとに作りが変わる
データの読み書きどのテーブルのどの項目を、どの条件で読み書きするかデータの持ち方がばらばらになる
エラーの時の扱い入力の誤り、データが無い時、外部が止まった時の動きテストで初めて動きが決まっていないと分かる
モジュールの分け方部品の名前、役割、呼び出す順番同じ処理が何か所にも書かれる
メッセージ表示や記録に出す文言と番号文言が画面ごとに違ってしまう

データの読み書きでテーブルの中身まで書く時は、テーブル定義書と分けて管理することが多いです。書き方はテーブル定義書・データベース設計書の書き方で紹介しています。

処理の流れの記入例

例えば、社内の備品を貸し出すシステムで「貸出を申し込む」処理なら、処理の流れはこんな形になります。編集部が作った架空の記入例です。

処理の流れの記入例(貸出の申込)
  • 受け取った借りる日と返す日が入っているかを確かめる
  • 返す日が借りる日より前なら、入力エラーとして画面に戻す
  • 同じ備品が同じ期間に貸し出されていないかを貸出テーブルで確かめる
  • 重なっていれば、貸出済みのメッセージを返して終わる
  • 重なっていなければ、申込データを登録し、状態を承認待ちにする

このくらい書いてあれば、プログラマーは『重なっていたらどうするの?』と聞きに来なくて済みます。条件の分かれ目ごとに「どうなったら、どうする」を書くのがコツです。

入力と出力の記入例

同じ「貸出を申し込む」処理で、入力と出力を表にするとこうなります。前後の処理とつなぐ時に、ここがいちばん見られる所です。

区分項目中身
入力備品の番号申し込む備品を表す番号
入力借りる日・返す日画面で入れた日付
入力社員番号ログインしている人の番号
出力処理の結果受付、入力エラー、貸出済みのいずれか
出力申込番号受付できた時だけ返す番号

出力の「いずれか」を全部書いておくと、呼び出す側の画面も、どの結果の時に何を表示するかを決めやすくなります。

詳細設計書のテンプレートを使う時の注意

詳細設計書のテンプレートは、社内に過去の形式があればそれを使うのがいちばんです。同じ形式でそろっていると、保守する人が別の機能の設計書を読む時も迷いません。

よくある失敗

テンプレートの「処理の流れ」欄に、プログラムをそのまま日本語に直したような文を並べてしまうケースがあります。それだと、プログラムを書き直すたびに設計書も一行ずつ直すことになります。何を判断して、どう分かれるかを書くようにしましょう。

テンプレートの形式の選び方は設計書のテンプレート・サンプルで紹介しています。

プログラムの設計書の書き方:どこまで細かく書く?

ここでの結論

プログラムの設計書は、「読んだ人が、聞きに来なくても作れる」細かさが目安です。チームの経験や、外部に頼むかどうかで、必要な細かさは変わります。

『どこまで細かく書けばいいのか分からない』という悩みは、詳細設計書でいちばん多い悩みかもしれません。書きすぎるとプログラムの写しになり、書かなすぎると作る人が困ります。

細かさを決める目安

状況細かさの目安理由
自分で書いて自分で作る処理の流れと条件の分かれ目まで判断の理由を後から思い出せればよい
同じチームの経験者が作る入出力、処理の流れ、エラーの扱いまで細かい書き方は任せられる
経験の浅いメンバーが作る処理の順番、使うテーブルと条件まで迷う所を先に決めておく
外部の会社に作ってもらう項目の型や桁数、メッセージの文言まで口頭で補えないため

書き方の手順

詳細設計書を書く手順を、担当範囲の書き出しからテスト担当の目での読み直しまで順に並べた図解
詳細設計書を書く手順
  1. 基本設計書から、担当する画面や機能を書き出す
  2. 1つの機能を、処理の部品(モジュール)に分ける
  3. 部品ごとに入力と出力を決める
  4. 処理の流れを、条件の分かれ目ごとに書く
  5. エラーの時の扱いとメッセージを書く
  6. 単体テストの担当者になったつもりで読み直す

最後の「単体テストの担当者になったつもりで読み直す」は、ぜひやってみてください。テストケースを作れない所があれば、そこが書き足りない所です。

設計書づくりに使うツールは無料の物でも十分

プログラムの設計書を作るツールは、表計算ソフトや文書作成ソフト、無料で使える作図ツールやテキストエディタでも十分です。大事なのはツールより、チームで同じ形式をそろえることです。

処理の流れを図にするならフローチャートを描ける作図ツール、文章が中心ならMarkdownで書いて履歴を残す方法もあります。Markdownでの書き方は仕様書・設計書をMarkdownで書く、ツールの選び方は仕様書の作成ツールで紹介しています。

詳細設計書でよくある相談

ここでの結論

よく読まれている相談は「書き方が分からない」「です・ます調とである調のどちらで書くか」「実装もれが多い」「設計書は時代遅れか」の4つです。どれも、読む人が迷わない書き方を考えると答えが見えてきます。

知恵袋には、詳細設計書の書き方についての相談がたくさん寄せられています。閲覧の多いものを要約してお答えしますね。

相談1:プログラミングに縁がなかったのに、詳細設計書を書くことになった

『社内SEとして働いているけれど、プログラミングとは縁がなく、機能設計書や詳細設計書の書き方が分からない』という相談です。

プログラムを書いた経験が少ない場合は、処理の流れを「普通の業務の手順」として書くところから始めてみてください。例えば「申込を受け付ける時、まず日付が入っているかを見る」のように、窓口の人がする手順として書くと考えやすくなります。

そのうえで、データをどこから取り、どこに残すかを足していけば、詳細設計書の形に近づきます。発注側として要件をまとめる仕事の進め方は社内SEと仕様書でも紹介しています。

相談2:プログラムの設計書は「です・ます調」と「である調」のどちらがいい?

『プログラムの設計書の文体は、です・ます調とである調のどちらがいいの?』という相談です。

決まりはありませんが、設計書では文を短く言い切れる「である調」や「〜する」の形で書くことが多いです。

参考までに、規格の書き方を定めたJIS Z 8301:2019では、要求を「…しなければならない」「…する」「…とする」のような形で書くとしています。また「十分に強い」のような、客観的に確かめられない表現は使わないという考え方も示されています。

大事なのは、一つの設計書の中で文体をそろえることです。社内の過去の設計書に合わせておけば、まず間違いはありません。

相談3:詳細設計書どおりに作ったはずなのに、実装もれやミスが多い

『詳細設計書をプログラムにする時に、実装もれや実装ミスがよく起きる』という相談です。

これは、設計書の側に原因があることも少なくありません。条件の分かれ目が文章の中に埋もれていると、読む人が見落としやすくなるんです。

実装もれを減らす書き方
  • 条件の分かれ目は、文章ではなく表や箇条書きにする
  • 「〜の場合」に対して「それ以外の場合」も書く
  • 処理に番号を振り、プログラムやテストから番号で呼べるようにする
  • 書き終えたら、別の人に一度読んでもらう

相談4:プログラムの設計書を作るのは時代遅れ?

『数人で開発している職場で、プログラムの設計書を作るのはもう時代遅れなの?』という相談です。そう感じる気持ちも分かりますよね。

結論から言うと、文書の形は変わっても、「何を決めたか」「なぜそうしたか」を残す役目は今も変わりません。プログラムを読めば「何をしているか」は分かりますが、「なぜそうしたか」はプログラムからは読み取りにくいからです。

残し方向いている場面
詳細設計書を作る人の入れ替わりが多い、外部に作業を頼む、長く保守する
短い設計メモとプログラム内の説明少人数で、作っては直す進め方
設計書の要点だけをMarkdownで残す履歴をプログラムと一緒に管理したい

チームの人数や、システムをどれくらい長く使うかで、ちょうどいい残し方を選んでみてください。

詳細設計書の経験を、次の一歩につなげる

ここでの結論

詳細設計書を書く経験は、基本設計や要件定義へ進むための土台になります。詳細設計書は単体テストとペアの文書なので、テストまで意識して書けると評価されやすくなります。

『詳細設計ばかりで、この先どうなるんだろう』と不安になる方もいますよね。job tag(2025年時点の掲載)では、受託開発のSEは一般的に3年目頃には一人で詳細設計を書けるようになり、5年目頃には基本設計を含め開発全体ができるようになると紹介されています。

詳細設計書をきちんと書ける力は、その先の基本設計に進むための大事な一段なんです。単体テストの文書との対応は単体テスト仕様書の書き方で紹介しています。

今できること次に広げたいこと
渡された基本設計書から詳細設計書を書ける基本設計書の分かりにくい所を指摘できる
自分の担当分の単体テストを考えられる結合テストの観点も考えられる
決まっていない所を質問できる決まっていない所をまとめて提案できる

設計書を書く経験は、上流工程を任される職場で評価されやすい経験です。今の担当工程から一歩進みたい方は、求人の仕事内容で「詳細設計」「基本設計」がどう書かれているかを比べてみると、道が見えてきます。

今の職場で担当を広げていく道も、もちろん十分ありです。上流工程への進み方は上流工程とは?でまとめています。

IT・Webエンジニアの転職(PR)

仕様書を書く経験を活かせる職場を探すなら、求人も比べてみる

要件定義や設計を任されるか、発注側か開発側か、扱うシステムや働き方は会社によって大きく違います。担当したい工程や条件から、IT・Webエンジニアの求人を比べてみてください。

無料ITエンジニアの求人を探す

求人の条件・待遇は各求人票と応募先の案内でご確認ください。

よくある質問

詳細設計とは何ですか?

基本設計で決めた画面やデータの形を、プログラムの中でどう実現するかを決める工程です。処理の流れ、データの読み書き、エラーの時の扱いなどを決め、詳細設計書にまとめます。

基本設計書と詳細設計書の違いは何ですか?

基本設計書は発注側も読む「外から見た形」の文書で、詳細設計書は主にプログラマーやテスト担当が読む「中の作り」の文書です。書く粒度も、基本設計書は画面や機能の単位、詳細設計書は処理やモジュールの単位になります。

詳細設計書のテンプレートはどれを使えばいいですか?

社内に過去の形式があれば、それに合わせるのがいちばんです。無い場合は、処理の概要、入力と出力、処理の流れ、データの読み書き、エラーの時の扱いの5つが入る形を作ってみてください。

プログラムの設計書を作るツールは、無料の物でも大丈夫ですか?

大丈夫です。表計算ソフトや文書作成ソフト、無料の作図ツールやテキストエディタでも十分に書けます。ツールよりも、チームで同じ形式をそろえることのほうが大事です。

詳細設計書を書かない会社もありますか?

開発の進め方や規模によっては、大きな詳細設計書を作らず、短いメモやプログラム内の説明で済ませる会社もあります。ただ、保守する人のために、判断の理由は何らかの形で残しておくのがおすすめです。

まとめ

この記事の要点
  • 詳細設計書は、プログラムを書く人が迷わず作り始められるところまで中身を決めた文書
  • 基本設計書との違いは「読む人」「書く粒度」「決めること」で比べると分かりやすい
  • 書く項目は処理の概要、入力と出力、処理の流れ、データの読み書き、エラーの扱いが基本
  • 細かさの目安は「聞きに来なくても作れる」こと。作る人によって変える
  • 書き終えたら、単体テストの担当者になったつもりで読み直す
仕様書ドットコム

仕様書ドットコム 編集部

仕様書の意味・種類・書き方から、システム開発の要件定義書・設計書・テスト仕様書、公共工事の標準仕様書・共通仕様書、住宅や発注の仕様書、仕様書を書く仕事のキャリアまでを、初めて仕様書に向き合う人が自分で判断できるように整理している情報サイトです。 公式サイト

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

コメント

コメントする

目次