詳細設計とは?進め方と要件定義/基本設計との違いを解説

詳細設計とは?進め方と要件定義/基本設計との違いを解説

システム開発における開発工程の一部である詳細設計について、具体的にどのようなことをしているのか。よく比較されがちな要件定義や基本設計と何が違うのか。

その辺りも含めて本記事では解説していきたいと思います。

システム開発の一連の流れの中で中流に位置する詳細設計。要件定義、基本設計でまとめたものを開発者向けに設計したものが詳細設計となります。そんな詳細設計について1章では概要を説明します。

1-1.詳細設計は、開発者のために整理すること

詳細設計は、基本設計まで取りまとめた内容を開発者向けに設計していくフェーズになります。開発者はこの詳細設計を見ながら開発を進めることになるので、開発者目線で整理する必要があります。詳細設計はクライアントが見ることはほとんどないので、専門用語でまとめても問題ないものとなります。基本設計まではクライアント向けに作って、詳細設計で開発者向けに作るイメージでいましょう。

どのような書き方をすれば開発者が齟齬無く開発できるか、考えながら整理していくのが良いかもしれません。

1-2.詳細設計は、中流工程に位置する

ウォーターフォールの概要図

詳細設計はシステム開発工程の中でも中流工程に位置するフェーズになります。

  • 画面一覧表
  • 画面遷移図
  • システム構造図(クラス図)
  • プログラムの処理フロー図(シーケンス図)
  • データベース処理の整理
  • バッチ処理整理 等…

基本設計の内容をもと、外側(見える部分)だけでなく裏側(見えない部分)も設計する必要があります。実装するために必要な情報をまとめるイメージを持つと進めやすいかもしれません。

各工程を以下のように略して呼ぶこともあるので、ここで覚えておくと良いでしょう。

工程略称英語
要件定義RDRequirement Definition
基本設計BDBasic Design
詳細設計DDDetail Design
単体テストUTUnit Test
結合テストITIntegration Test
システムテストSTSystem Test
運用テストOTOperation Test

1-3.要件定義や基本設計との違い

良く比較されるのが、要件定義と基本設計の違いです。簡単に表にまとめると以下の通りです。

名称工程対象内容
要件定義最上流WHY
(なぜ作るのか)
クライアント向けシステム導入する背景・課題、システム全般の概要
基本設計要件定義の次WHAT
(何を作るのか)
クライアント向けシステムの各機能、画面イメージ等具体化したもの
詳細設計基本設計の次HOW
(どうやって作るのか)
開発者向け基本設計を開発者向けにアレンジしたもの

要件定義では、なぜシステムを開発するのか、基本設計ではそのシステムはどんな機能を持ったものなのか、詳細設計でそれをどうやって形にしていくのか、というフェーズに分けて開発を進めることになります。

お問い合わせはこちら

2章では詳細設計を実際にどのように進めたら良いか紹介します。

2-1.基本設計書の確認

まずは、基本設計書を確認します。基本設計書はさらにその上の要件定義書をさらに細かく書いた設計書となります。システム開発の方向性や目的が書かれていますので、それを確認しながら詳細設計書を作成していくことになります。

2-2.詳細設計書の作成

ここからいよいよ詳細設計書を作成することになります。開発者はこの詳細設計書を見ながら開発を進めていくので、少しでも履き違いがあると手戻りが多くなってしまうので、確実な情報を分かりやすく伝えていく必要があります。開発だけでなく、テスト工程まで入れるようにしましょう。具体的な中身については長くなるので、次の3章で紹介します。

2-3.レビューの実施

詳細設計書ができたら、関係者/クライアントに共有して中身を確認します。ここで書いた人が気づかなかった欠陥や不足を補足することになります。品質向上のためにもこのレビューは必ず実施するようにしましょう。

それでは、具体的に詳細設計書に記載すべき項目を3章では紹介します。

3-1.画面イメージ図、遷移図

基本設計書を確認しながら画面イメージとその遷移が分かるようにまとめましょう。基本設計書の時点である程度整理されていることもあります。

3-2.システム構造図(クラス図)

システム内のクラスの構造や仕様を表す図になります。1つのクラスの中に属性や操作を記載し、線でクラスとクラスの関係性を表現することになります。これでシステム全体の構造を可視化することができます。

※クラス図の書き方は複雑で長くなってしまうので、以下の記事をご参照ください。

(参考:IT専科「クラス図」

3-3.プログラムの処理フロー図(シーケンス図)

続いて、シーケンス図です。クラスとクラスの処理の流れを示す図面になります。シーケンス図は縦軸に時系列としての応答順序を入れることで、システムの動作を時系列に沿って可視化することができます。

こちらも書き方は複雑で長くなってしまうので、以下の記事をご参照ください。

(参考:IT専科「シーケンス図」

3-4.データベース処理の整理

続いて、システムで扱うデータ(情報)は何があるのか?それぞれの構造やその管理方法、ファイルとして落とせるようにするのか等を整理します。扱うデータが複数ある場合は、それぞれのデータの関係性も分かるように図式する必要があります。ER図で整理することが多いです。

ER図については、解説を含めると長くなるので以下の記事をご参照ください。

(参考:株式会社システムインテグレータ「ER図とは?書き方やテクニックをわかりやすく解説」)

お問い合わせはこちら

4章では詳細設計を進めるにあたって、気を付けておくべきポイントを紹介します。

4-1.開発者視点で考える

開発者のために整理するので、開発者視点で整理するようにしましょう。基本設計までは、クライアントが絡んでくるので非IT向けに整理されている可能性があります。それをより専門的な内容にまとめるようにしましょう。

4-2.要件定義との整合性を確認

詳細設計では、1つ1つの機能において詳細に整理する必要があります。つい、夢中になって気づいたら要件定義で定めたことから逸脱していることも少なくありません。夢中になるのは分かりますが、作成してから要件定義の内容を再度確認しましょう。ここで逸脱したまま進めてしまうと、完成品に対してクレームが入りかねません。

4-3.実現可能な内容になっているか

詳細設計までは机上論でのフェーズとなります。詳細設計の次に開発を進めることになりますが、内容が実現可能なものか精査する必要があります。実現不可なものにしては、空論の世界の話になってしまいます。

システム開発における詳細設計について解説してきました。基本設計の次に位置する詳細設計ですが、基本設計まではクライアント向けにIT知識が乏しい人でも分かるように取りまとめてきましたが、詳細設計では開発者向けにまとめる必要があるので、言葉の使い方やまとめ方はこれまでとは変わってくるでしょう。開発者は詳細設計書をもとに開発を進めることになります。

  • 「詳細設計なんてやったことないし、どうやって進めたら良いか不安…」
  • 「詳細設計書はどうやって書いたら良いか分からない…」
  • 「詳細設計はできたけど、本当にこれで失敗しないか不安…」

こんなお悩みありませんか…

弊社はお客様に合わせて様々な体制を組むことが強みでもあり、オフショア開発、ニアショア開発、オンサイト(常駐型)開発、受託開発など…お客様の状況に合わせてご提案いたします。相談は無料!なのでお気軽にお問い合わせください。

お問い合わせはこちら

Download Documents

資料請求

今すぐ役立つ情報やノウハウをまとめた資料をご用意しています。
こちらからダウンロードしてご活用ください。