基本設計と詳細設計の違いは?システム開発の工程や設計書の書き方も含め解説

開発

2022.07.23

システム開発における基本設計と詳細設計の違いが分からないという方は多いです。
また、「基本設計と詳細設計の違いは設計の細かさ」と勘違いしている人もいます。
エンジニアとしてシステム開発に携わるなら、基本設計と詳細設計の違いを理解しておくことが大切です。

本記事では基本設計と詳細設計の違いについて解説します。
基本設計と詳細設計でそれぞれ何を作成するのか、またそれぞれの目標は何なのか、についてまとめました。

本記事を読むことで基本設計と詳細設計の違いが理解できます。
エンジニアの方やシステム開発に関わる方は参考にしてください。

 

 

 

1.システム開発における工程とは?


基本設計と詳細設計の違い関連画像
基本設計と詳細設計の違い関連画像

システム開発はあらかじめ決められた工程に沿って行うことがほとんどです。

一般的にシステム開発は次の10つの工程に沿って行われています。

 

要件定義
基本設計
詳細設計
開発(プログラミング)
単体テスト
結合テスト
システムテスト
運用テスト
リリース
運用・保守

 

まず顧客の要望をヒアリングしシステムの概要をまとめていく要件定義を行います。

次に要件を元にシステムの設計書を作成します。

 

その後設計書を元に開発を行います。

そして、システムが正しく動くかテストを行ったうえでリリースします。

 

リリース後はシステムが正常稼働するように運用・保守を行います。

基本的には、要件定義から詳細設計までをシステムエンジニア、開発からシステムテストまでをプログラマーが担当します。

 

 

システム開発を工程に沿って行う理由

システム開発を工程に沿って行うもっとも大きな理由は、開発の手戻りを減らすためです。

システム開発では、要件定義や設計を念入りに行い、この仕様で問題ないか顧客や上層部に確認を取ったうえで、次の工程に進みます。

 

こうすることで、開発フェーズに入ったときに顧客から仕様変更依頼を受けないようにしています。

また、工程に沿って行うことで、開発するうえで問題となることがないか事前に発見しやすくなり、1から設計を練り直す事態が起きにくくなります。

 

システム開発を工程に沿って行うことで、見積もりを立てやすくなるメリットもあります。

各工程でどの程度の人員・日数が必要なのか事前に計算しやすくなります。

 

このような理由で、システム開発は工程に沿って行われています。

 

 

 

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


基本設計と詳細設計の違い関連画像
基本設計と詳細設計の違い関連画像

システム開発の設計は基本設計と詳細設計に分かれます。

基本設計と詳細設計の作業内容は異なりますが、混同している方は多いです。

 

また、基本設計はシステムの概要をまとめて詳細設計では細かく掘り下げていく、と解釈している人も多くいます。

この解釈は完全に間違っているわけではないですが、厳密には違います。

 

基本設計と詳細設計の違いについてまとめました。

各工程の作業内容や目標、具体的な行動内容について解説しています。

 

基本設計とは?

基本設計は顧客に向けて行われる設計であり、外部設計とも呼ばれています。

顧客にシステムの仕様を伝え、このような仕様で問題ないか確認してもらうために基本設計を行います。

 

具体的には、システムの画面デザインや導入するサーバー・ネットワークの種類、などを設計書にまとめる必要があります。

顧客はシステム開発に明るいわけではないため、基本設計では開発者以外から見ても分かる設計書を作成しないといけません。

 

また、顧客が読みやすくなるようある程度設計書の型が決められていることが多いです。

このように、顧客にシステムの概要を伝えるのが基本設計の目的です。

 

 

詳細設計とは?

詳細設計は社内のプログラマーに向けて行われる設計であり、内部設計とも呼ばれています。

プログラマーにどのようなシステムを開発すべきか伝え、問題なく開発作業を行ってもらうために詳細設計を行います。

 

具体的には、各プログラムの処理フローやデータの流れなどを設計書にまとめる必要があります。

詳細設計書は社内でしか共有しない資料であるため、企業によって書き方が大きく異る場合が多く、フォーマットなどは決まっていません。

 

また詳細設計は行わず、細かいシステムの処理決めはエンジニアに任せる企業も多いです。

このように、エンジニアにシステムの処理内容を伝えるのが詳細設計の目的です。

 

 

 

 

3.基本設計の作成項目


基本設計と詳細設計の違い関連画像
基本設計と詳細設計の違い関連画像

基本設計の作成項目についてまとめました。

基本設計では次の5つを中心に作成することが多いです。

 

機能一覧表
システム構成図
画面設計図
帳票設計図
バッチ設計図

 

開発の内容などによって作成項目は異なるので注意してください。

1つ1つの作成項目について詳しく解説していきます。

 

機能一覧表

要件定義書を元にシステムの機能一覧表を作成します。

たとえばECサイトを開発する場合、トップページやログイン、マイページなど必要な各機能をまとめていきます。

 

機能一覧表には、各機能の簡単な実装方法やその機能の重要度なども記載します。

機能一覧表が完成したら顧客に提出し、要件は満たしているか、追加で欲しい機能はないかなどをヒアリングし、機能一覧表を修正していきます。

 

 

システム構成図

システム構成図とはシステム全体の構成を図で示したものです。

具体的には、サーバーやネットワークなどのシステムのインフラをどのように構築するかをまとめていきます。

 

たとえばどのクラウドサービスを使うのか、各サーバーはどのような役割を担っているか、サーバーに割り振られるIPアドレスは何か、などを記載します。

システム構成図もやはり顧客に分かるように記載しなくてはいけないため、専門用語を極力省く必要があります。

 

 

画面設計図

画面設計図とは、Webアプリの各ページや業務アプリの操作画面などを図に表したものです。

各画面のデザインはどうするか、何のボタンを設置するか、などを決めます。

 

また、どの画面からどの画面へ遷移できるかも、分かりやすくまとめなくてはいけません。

ユーザーが直接触る部分を固める画面設計は基本設計の中でも重要です。

 

 

帳票設計図

帳票設計図とは、システムが出力する帳票についてまとめたものです。

特に業務アプリでは領収書や見積書など多くの書類を扱う可能性もあり、それらの内容についてわかりやすくまとめなくてはいけません。

 

たとえば、帳票に表示する項目や帳票のレイアウトなどを記載します。

なお、特に出力する帳票がないなら帳票設計図は準備しなくても問題ないです。

 

 

バッチ設計図

バッチとは決められた時間に作動するプログラムのことです。

たとえば、ECサイトなら新商品の入荷メールを送るバッチを作成します。

 

バッチ設計図ではバッチの種類や目的、起動時間などをまとめます。

基本設計はあくまで顧客向けですので、バッチの細かい処理フローなどは書かないことが多いです。

 

 

 

4.詳細設計の成果物例


基本設計と詳細設計の違い関連画像
基本設計と詳細設計の違い関連画像

詳細設計では、社内のプログラマー向けに設計書を作成します。

詳細設計で作成する資料は企業によって異なりますが、ここではあくまで例として次の3つを紹介します。

 

クラス図
アクティビティ図
シーケンス図

 

これらのような資料を作成することで、エンジニアが迷いなくプログラミング(実装)を行えるようにすることが詳細設計の目的です。

1つ1つの詳細設計の成果物について詳しく解説していきます。

 

クラス図

クラス図とはクラスの定義や関連性を表す図のことであり、主にオブジェクト指向プログラミングで使います。

各クラスで定義する値やメソッドをまとめることで、クラスの役割やクラス同士の関連性を把握しやすくなります。

 

特に大規模開発ではクラス図を作成しないとシステムの概要が分かりにくくなり、システムエンジニアとプログラマーの連携が取れなくなる可能性もあります。

また、クラス図はシーケンス図やアクティビティ図を書く際の元にもなる重要な設計書でもあります。

 

 

アクティビティ図

アクティビティ図とは、システムの流れや条件分岐を表したものです。

システムが稼働開始してから終了するまで何を行うのか、すべて順番どおりに記載します。

 

アクティビティ図を書くことで、システムの処理手順が分かりやすくなり、

システムの処理手順に無駄があることに気がつくメリットがあります。

 

 

シーケンス図

シーケンス図とは、クラスやオブジェクト間のやり取りを時間軸に沿って表したものであり、有名な詳細設計手法の1つです。

シーケンス図は単に箇条書きでシステム仕様をまとめるよりも、ロジックの流れをおさえやすいのがメリットです。

 

反面、作成コストが多くかかるのがデメリットです。

また、シーケンス図は開発時だけでなくその後の運用・保守段階でも役立ちます。

 

システムの不具合が見つかった際は、シーケンス図を元にシステムのどこを修正すべきか素早く把握することが可能です。

 

 

 

 

5.まとめ


本記事では基本設計と詳細設計の違いについて解説しました。

各工程の作業内容がお分かりいただけたかと思います。

 

基本設計と詳細設計の違いトは、基本設計は顧客向け、詳細設計は社内のエンジニア向けに設計書を作成するということです。

顧客はシステム開発の知識がないことが多いため、基本設計では専門用語などを省いて分かりやすい設計書を作成しないといけません。

 

対して詳細設計では、エンジニアに顧客の要望が正しく伝わるように、システムの機能や性能を細かく記載する必要があります。

エンジニアの方やシステム開発に携わる方は、基本設計と詳細設計の違いを知ったうえで、的確に立ち回れる必要があるでしょう。

 

フリーランスエンジニア専門の求人・案件一括検索サイト「フリーランススタート」に少しでも興味がある方は是非ご登録ください。

 

なお、フリーランススタートはiOSアプリ版やAndroid版をリリースしています。

通勤しているエンジニア・デザイナーでちょっとしたスキマ時間で手軽にフリーランス求人・案件を検索したい、開発言語の単価が知りたい、フリーランスを将来的に検討している方などは是非インストールしてみてください。

 

フリーランススタートのアプリを有効活用して、フリーランスとして第一線で活躍しましょう!

 

フリーランススタート iOSアプリのインストールはこちらから

 

フリーランススタート Androidアプリのインストールはこちらから

 

本記事が皆様にとって少しでもお役に立てますと幸いです。

twitterでシェア
facebookでシェア
facebookでシェア

フリーランスお役立ち記事を検索

新着フリーランス求人・案件

おすすめフリーランス求人・案件