BUSINESS TIPS発注担当者の方へ、発注成功の為のお役立ち情報

システム設計の基本設計・詳細設計とは?それぞれの違いや進め方、課題を解説

目次

システム設計の基本設計・詳細設計とは?それぞれの違いや進め方、課題を解説

システム開発の上流工程には、システム設計(基本設計・詳細設計)と呼ばれる工程があります。システム開発の肝となる工程であり、開発を始める際はクライアント(依頼者)も理解を深めなければ、理想のプロダクトの実現は難しくなるでしょう。

そこで今回は、基本設計・詳細設計について、それぞれの概要や違い、進め方を解説します。システム設計の課題も解説するので、ぜひ参考にしてみてください。

基本的な知識があれば、クライアントとして開発に参加する意味、理想形を実現するポイントを理解できるでしょう。

システム開発の依頼先探しなら リカイゼン にお任せください!

システム開発実績を多数持つ会社の中から、ご要望に合う会社を厳選して 無料 でご紹介します。企画段階からのご相談も受付中!気軽に相談できるプロをご紹介いたします。

お電話でのご相談は03-6427-5422
受付時間:平日10:00~18:00

システム設計とは

システム設計とは、要件定義で決めた内容を実現するために、どのようにシステムへ実装するかを決める工程を指します。実現する業務をコンピュータシステムとして整合性を持つように、イメージしていくことが大切です。

画面や帳票など、クライアント・ユーザーの目に見えるものを設計することが多く、設計のクオリティがそのまま使い勝手に直結します。システム設計の詳細で、システム開発に関わる人材の配置などにも影響があるため、システム開発にとって根底を支える工程と覚えておきましょう。

システム開発の依頼先探しなら リカイゼン にお任せください!

システム開発実績を多数持つ会社の中から、ご要望に合う会社を厳選して 無料 でご紹介します。企画段階からのご相談も受付中!気軽に相談できるプロをご紹介いたします。

お電話でのご相談は03-6427-5422
受付時間:平日10:00~18:00

基本設計(外部設計)

基本設計とは、要件定義の内容をもとに、システムに実装する機能を具体化する工程です。外部設計とも呼ばれ、各機能の見え方や動き方など、システムの輪郭を設計します。

たとえば、画面遷移や機能の一覧、操作画面などの設計が行われます。基本設計では、依頼主や発注担当者もレビューに参加し、要件通りに機能が実装されるかを確認しなければなりません。

詳細設計(内部設計)

詳細設計(内部設計)とは、機能実装を担当するエンジニア向けに行われる設計です。要件定義・基本設計の内容をもとに、プログラミングによって機能を実装できる段階まで落とし込みます。

たとえば、各種機能を処理する流れやデータの受け渡し、エラー発生時の対処などの設計です。詳細設計に入ると依頼主や発注担当者は関与しなことが多いため、システムの理想形があれば、要件定義・基本設計の段階で伝えましょう。

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

基本設計と詳細設計の違いは、次のとおりです。

項目基本設計(外部設計)詳細設計(内部設計)
実施工程要件定義の後基本設計の後
設計内容・システムの概要
※クライアント(依頼主)目線
・機能の実装方法
※エンジニア目線
クライアントのレビューあり原則なし
【基本設計・詳細設計の違い】

上記のとおり、基本・詳細設計は、設計作業としての方向性が異なります。基本設計では、依頼主および発注担当者のクライアントレビューが必須のため、要件を明確化しておきましょう。

基本設計の進め方

基本設計の進め方について、注意点も含めて解説します。

➀要件定義書の確認を行う

依頼主であるクライアントの要件をシステムに反映させるため、まずは要件定義書の確認が行われます。要件定義書とは、基本設計書はクライアント向けに作成され、レビュー時に活用されます。基本設計書に盛り込まれる内容を見ていきましょう。クライアントの要望や目標などをまとめた資料です。

要件定義の段階で、クライアントとベンダーに認識のズレがある場合、理想のシステムは完成しません。開発工程で修正が発生し、スケジュールが遅れるリスクもあります。

双方で密な打ち合わせを重ね、認識にズレのない基本設計書の作成を目指しましょう。

②設計を行う

洗い出された要件をもとに、具体的な設計に移ります。

<設計される主な内容>
  • 実装される機能
  • 処理されるデータの種類やボリューム
  • 操作画面上のボタンやテキスト、ポップアップなどの配置(レイアウト)

なかでも、機能・レイアウトはシステムの使い勝手に直結するため、後のレビューで問題が見つかれば、ベンダー・開発会社に報告しましょう。

③基本設計書を作成する

基本設計書は、依頼主であるクライアント向けに作成され、レビュー時に活用されます。基本設計書に盛り込まれる内容を見ていきましょう。

<基本設計書の例>
  • 機能一覧:実装機能が一覧形式で紹介される
  • フロー図:処理の流れが図式化される
  • 画面設計:表示画面のイメージや遷移図、レイアウトなどが提示される
  • データベース設計:データの整理、保管方法が表や図などで具体化される
  • インターフェース設計:外部サービスなどへの連携方法を明確化したもの

あくまでも一例なので、開発するシステムによって、基本設計書の内容は異なります。また、基本設計書はクライアント向けに作成されるため、専門用語は使用せずに作れることが多いです。

④レビューを行う

作成された基本設計書の内容をもとに、ベンダー・クライアントでレビューを行います。レビュー時のポイントは、次のとおりです。

<基本設計書レビューのポイント>
  • 要件を満たす設計になっているか/li>
  • 機能上の欠陥はないか/li>
  • ベンダーとクライアントで認識の相違がないか

基本設計は、依頼主側であるクライアントが関与できる最後の工程です。要件に則った設計が行われているかを確認し、実装・テスト工程での修正・混乱を防ぎましょう。

詳細設計の進め方

次項では、詳細設計の進め方について、注意点も含めて解説します。

➀基本設計書の確認を行う

まずは、基本設計書の確認を行い、詳細設計で洗い出すべき機能や全体像を明確化します。機能の実装は、詳細設計の内容をもとに行われるため、エンジニア視点での設計作業が求められます。

②設計を行う

詳細設計では、各機能を実装できるよう、実現可能な設計が行われます。

<設計作業の内容>
  • 実装すべき機能や各種データの処理方法を整理する
  • 異なるロジックで共通化できる機能を洗い出す
  • システムのプラットフォームに合わせた機能の実装方法を検討する

詳細設計では、要件定義・基本設計から逸脱した機能を実装しないよう、具体的かつ実現可能な実装方法が検討されます。後の開発工程の軸となるため、技術的な制約も考慮しなければならない工程です。

③詳細設計書を作成する

詳細設計書は、以下の項目で作成されます。

<詳細設計書の例>
  • クラス図:システムの構造を図式化し、プログラミングの設計図として活用する
  • アクティビティ図:処理の流れを図式化し、システム全体の流れを可視化する
  • シーケンス図:処理の流れを細分化し、より詳細なシステムの流れを可視化する
  • モジュール構造図:各機能の処理をモジュール化(機能単位化)し、構造を認識しやすくする

詳細設計書は、機能を実装するエンジニア向けに作成されます。専門用語を用いますが、視覚的に見やすいよう作成しなければ、認識のズレや実装時の矛盾などを引き起こす恐れがあるため、注意が必要です。

④レビューを行う

詳細設計のレビューは、開発チーム内(評価者)で行われます。処理の流れや実装機能などの仕様はもちろん、設計書としての体裁(誤字脱字や数値など含む)もチェックされます。

些細なミスも、開発工程上のトラブルに発展する恐れがあるため、入念なチェックと修正が実施される工程です。

システム設計の課題

システム設計には、主に2つの課題があります。システム開発に乗り出す際は、リスクヘッジのために、課題と対処法も理解しておきましょう。

システム開発の依頼先探しなら リカイゼン にお任せください!

システム開発実績を多数持つ会社の中から、ご要望に合う会社を厳選して 無料 でご紹介します。企画段階からのご相談も受付中!気軽に相談できるプロをご紹介いたします。

お電話でのご相談は03-6427-5422
受付時間:平日10:00~18:00

設計の本質を理解していない場合がある

システム設計の本質を理解していない場合、プロダクトの品質低下、クライアントの満足度低下などのリスクがあります。システム開発の全工程において、設計はすべての軸となる作業です。

「なぜシステムを開発する必要があるのか」「何に活用されるのか」など、設計の本質を理解していない場合、要件を満たすシステムは開発できないでしょう。ベンダーはもちろん、クライアントもシステム開発への共通認識を持ち、本質を捉えたうえで開発を進めることが、品質向上の必要条件です。

設計に関する世界標準がない

システム設計には世界標準が存在せず、設計段階で属人化する恐れがあります。設計の属人化とは「特定の担当者しか設計仕様を把握していない」「共有事項がチーム内に周知されない」などのケースです。

実装作業においては、特定のプログラミング言語やツール、フレームワークなどを活用するため、統一された環境で作業が行われます。しかし、システム設計には、上記のような規格・基準がありません。

そのため、システム設計を行う際は、設計基準となるルールの明確化や、社内で統一した専用ツールの使用などの対策が求められます。

システム開発は専門会社への依頼がおすすめ!

システム開発の費用対効果を高める際は、専門会社に依頼しましょう。システム開発は、環境を整備することで、内製化も可能です。

しかし、内製化には、人材の確保や教育、管理体制の整備など、時間とコストがかかります。ノウハウ・スキルがなければ、計画通りに開発を進められない恐れもあるでしょう。

品質を高めつつ、スケジュール・予算通りに開発を進めるには、専門会社への依頼がおすすめです。競合他社での開発実績があれば、ベストプラクティスの活用も期待できます。

費用対効果の高いシステム開発を実現したい場合は、専門会社への依頼も検討してみてください。

システム開発の依頼先探しなら リカイゼン にお任せください!

システム開発実績を多数持つ会社の中から、ご要望に合う会社を厳選して 無料 でご紹介します。企画段階からのご相談も受付中!気軽に相談できるプロをご紹介いたします。

お電話でのご相談は03-6427-5422
受付時間:平日10:00~18:00

まとめ

システム設計は、基本設計と詳細設計にわかれており、クライアントが関与できるのは基本設計までです。詳細設計は開発工程に進む前段階なので、この時点で仕様の全体像が固まります。

技術的な制約・制限も考慮しつつ、自社要件を必要十分に反映してもらうには、基本設計の段階で積極的にレビューへ参加しましょう。機能や性能はもちろん、画面のレイアウトなど細かい箇所まで懸念事項を洗い出すことで、理想のシステムを作り上げられます。

また、システム開発は内製化も可能ですが、費用対効果を求めるなら、専門会社への依頼がおすすめです。自社の開発目的に沿った専門会社を見つけ、品質・コスト・スケジュールがマッチしたシステム開発を実現しましょう。

ソフトウェア・業務システム開発依頼先探しなら、
リカイゼンにおまかせください!

相談するだけ!プロがあなたにぴったりの会社をご紹介いたします!

かんたん3ステップ
お急ぎの方はお電話で 03-6427-5422
※サポートデスク直通番号
受付時間:平日10:00〜18:00

ソフトウェア・業務システム開発依頼先探しでこんなお悩みはありませんか?

お悩み
  • 会社の選び方がわからない
  • 何社も問い合わせるのが面倒くさい
  • そもそも依頼方法がわからない
  • 予算内で対応できる会社を見つけたい

発注サポート経験豊富な専任スタッフが
あなたのご要望をお聞きし、最適な会社をご紹介いたします!
ご相談から会社のご紹介まで全て無料でご利用いただけます。
お気軽にご相談ください!

ソフトウェア・業務システム開発
依頼先探しなら
リカイゼンにおまかせください!

相談するだけ!プロがあなたにぴったりの会社を無料でご紹介いたします!

サポートデスク

まずはご質問・ご相談なども歓迎!
お気軽にご連絡ください。

この記事の監修
リカイゼン サポートデスク 
吉田・新町
BtoBマッチングサービスであるリカイゼンにおいて、発注企業からのご相談のヒアリング、企業選定のフォローなどを行う部門の担当です。出展企業であるシステム開発やWEB制作、クリエイティブ制作会社ともコミュニケーションを取りながら、年間数百件の受発注のサポートを行っています。

ソフトウェア・業務システム開発の関連記事

ソフトウェア設計とは?工程や設計書の種類・書き方について解説

ソフトウェア設計とは?工程や設計書の種類・書き方について解説

ソフトウェア開発において、設計は全工程における軸となる作業です。しかし、ノウハウや知識がない場合は「なにから始めるべきかわからない」「重要性を理解できていない」などの疑問・課題があるでしょう。 そこで今回は、ソフトウェア設計...

W字モデルとは?V字モデルとの違いやメリット・デメリットを解説

W字モデルとは?V字モデルとの違いやメリット・デメリットを解説

W字モデルについて「よくわからない」「V字モデルとの違いがわからない」という悩みを抱えている方も多いでしょう。システム開発にあたり、どの開発手法を選ぶかは、プロジェクトの成功を左右する重要な判断です。 そこで今回は、W字モデ...

パッケージ開発とは?スクラッチ開発との違いやメリット・デメリット、選び方を解説

パッケージ開発とは?スクラッチ開発との違いやメリット・デメリット、選び方を解説

システム開発において、開発手法は開発コストや期間、システムの品質などに影響します。システムの費用対効果を高めるためにも、手法の種類や違いへの理解は欠かせません。 そこで今回は、パッケージ開発にフォーカスして、スクラッチ開発と...

業務アプリとは?メリットや選ぶときのポイント、導入方法について解説

業務アプリとは?メリットや選ぶときのポイント、導入方法について解説

業務効率化や生産性向上には、業務アプリの導入が有効です。しかし「業務アプリにどんなメリットがあるのかわからない」「自社で開発するべきか、既製品を選ぶべきか判断できない」と悩んでいる人も多いでしょう。 そこで今回は、業務アプリ...

負荷テストとは?目的・種類・実施手順とおすすめツールを解説

負荷テストとは?目的・種類・実施手順とおすすめツールを解説

Webシステムやアプリを利用するユーザーが増える場合、多くのアクセスでもシステムを耐えられるようにする必要があります。そこで、システムのパフォーマンスを事前に検証し、トラブルを未然に防ぐために重要なのが「負荷テスト」です。 ...

記事を探す

キーワードで探す

カテゴリーで探す