システム設計における2つの設計書とは?概要や書き方、注意点を解説
本記事では、システム開発において、プロジェクトを成功させるための重要なステップである「システム設計」の中で作成される2つの設計書について解説します。具体的には、それぞれの設計書の概要や書き方、作成するうえで注意すべき点などについてご紹介します。
目次
システム開発におけるシステム設計の重要性
各設計書について説明する前に、システム開発において、なぜシステム設計が重要であるのかについて解説していきます。
まず、システム開発の一般的な流れは次の通りです。
「要件定義→設計(外部/内部)→開発→テスト→リリース→運用・保守」
本記事では、この流れの中の2つ目のステップである「設計」について解説しています。この流れからもわかる通り、「システム設計」とは、1つ前の「要件定義」というステップで定めたプロジェクトの要件を実現するシステムを設計する重要な工程です。ユーザーの要求を満たすシステムとは何かという点に着目し、実際のシステムの細かい仕様を決定します。
また、この「システム設計」フェーズで作成された設計ドキュメントをもとに、3つ目のフェーズである「開発」が行われます。つまり、システム設計の質が低いと、開発中に問題が発生し、開発スケジュールの遅延や、予期せぬコストの発生につながりかねません。このことからも、効率よく高品質のシステムやソフトウェアを開発するためには、綿密なシステム設計が必要であることがわかります。
お問い合わせください!
システム設計における2つの設計書
ここでは、システム設計における2つの設計書について具体的に解説していきます。
システム開発における設計書とは、システムの仕様や構造、動作などを記述する文書のことを指します。上述した通り、システム開発は、「要件定義、システム設計、実装、テスト、運用・保守」の順序で進めます。設計書はこの中の2つ目の「システム設計」において作成されます。
システム設計というフェーズは、さらに「外部設計」と「内部設計」の2つに分けることができます。外部設計において作成される設計書のことを「基本設計書」、内部設計で作成される設計書のことを「詳細設計」と呼びます。
それぞれの設計書の概要については以下の通りです。
基本設計書
基本設計書とは、システム全体の設計を行う段階で作成されるドキュメントのことであり、システムの基本的な構成、アーキテクチャ、機能、性能、セキュリティなどの大まかな設計を記述します。また、開発プロジェクトの目的、範囲、制約条件、スケジュール、リスク管理計画なども含まれます。基本設計書は、開発者やテスターが実装とテストに必要な情報を提供し、システム開発の進行を促進するための指針として使用されます。
詳細設計書
一方で、詳細設計書は、基本設計書に基づいて、システムの各機能やモジュールの詳細な設計を行う段階で作成されます。詳細設計書は、システム全体を構成する詳細な設計情報を提供し、開発者がシステムを実装するための具体的な指針として使用されます。詳細設計書には、プログラムの構造、データのフロー、画面レイアウト、入力チェック、エラー処理、データベーステーブル構造などが含まれます。
2つの設計書の違い
基本設計書と詳細設計書の違いは、対象となる設計のレベルと詳細度です。基本設計書は、システム全体のアーキテクチャや機能の「大まか」な設計を行い、詳細設計書は、システムの各機能やモジュールの「詳細」な設計を行います。また、詳細設計書は、開発者が実装するための具体的な指針を提供するのに対して、基本設計書は、開発プロジェクトの方向性や目的を示す指針として使用されます。
設計書と仕様書の違い
プロジェクトを進行する中で、仕様書というものも存在します。本記事では、仕様書と設計書の違いについても簡単に説明したいと思います。
仕様書と設計書の違いについてですが、仕様書はシステムに求められる要件を記述した文書であるのに対して、設計書はその要件を実現するための設計を記述した文書となります。また、仕様書は、要件定義の段階で作成され、システムの動作要件や性能要件、制約条件などを記述します。設計書は、仕様書を元にシステムの設計を行う段階で作成されます。
以上のように、設計書はシステム開発の中で非常に重要な役割を担っており、設計書の正確性や完全性がシステムの品質や開発プロジェクトの成功に影響を与えるため、綿密に設計することをおすすめします。
設計書の書き方
システム設計における2つの重要な設計書の概要や違いについて理解しました。ここでは、設計書のおおまかな書き方についてご紹介します。
以下は、基本設計書の一般的な作成手順となります。
はじめに
基本設計書の目的や背景、開発スケジュールや開発メンバーの構成などを記載します。
システム概要
システムの全体像について記述します。具体的には、システムの機能や特徴、システムの構成要素や構成図、システムの利用者や対象業務などを定義します。
システム機能
システムがどのような機能を持つのかを、機能ごとに詳しく定義します。機能ごとに、入力条件や出力条件、処理の流れなどを定義します
データ設計
システムで扱うデータについて、データの種類や属性、データの関係性や構造、データの流れなどを定義します。具体的には、ER図やデータフロー図を使用して、データの設計を行います。
インターフェース設計
システムと外部システムやユーザーのやり取りに必要なインターフェースについて定義します。具体的には、APIの定義やデータの受け渡し方法、認証やセキュリティについて記述します。
セキュリティ設計
システムのセキュリティに関する設計について定義します。具体的には、認証方法やアクセス権限の設定、暗号化や署名の処理方法などを定義します。
パフォーマンス設計
システムのパフォーマンスに関する設計について定義します。具体的には、データベースやキャッシュの設計、ネットワークの帯域やレイテンシの要件などを定義します。
エラー処理設計
システムで発生する可能性のあるエラーについて、エラーの種類や原因、処理方法などを定義します。具体的には、エラーに対するアラートやログ出力、回復処理などを記述します。
運用設計
システムの運用に必要な設計について定義します。具体的には、運用時のモニタリングやログの取り方、障害発生時の対応方法、保守作業などを定義します。
可用性設計
システムの可用性に関する設計について定義します。具体的には、システムの冗長化やバックアップ、復旧性の確保などを定義します。
以上が、設計書に含めるべき主要な項目となります。各項目において、必要な情報を詳しく記述し、システム全体の設計を明確にするように心がけましょう。
設計書を書く際の注意点
システム開発の基本設計書や詳細設計書を書く上で、以下のような注意点があります。
目的を明確にする
基本設計書や詳細設計書を作成する際には、何を目的として作成するのかを明確にすることが重要です。目的が明確でない場合、必要な情報を記載し忘れる可能性があるため、最初に目的を明確にしておくことが大切です。
ユーザーの要件を踏まえる
システム開発においては、ユーザーの要件を正確に理解することが重要です。基本設計書や詳細設計書を作成する際には、要件定義で定めたユーザーの要件を踏まえた設計を行うことが必要です。
一貫性を保つ
基本設計書や詳細設計書を作成する際には、設計の一貫性を保つことが重要です。例えば、データベースの設計においては、テーブルの命名規則や関係性に一貫性を持たせる必要があります。
技術的な制約を考慮する
システム開発においては、技術的な制約や制限事項を考慮する必要があります。例えば、データベースの容量制限やネットワークの通信速度などは、設計に影響を与える可能性があります。
ドキュメントの更新
システム開発が進む中で、仕様変更や要件の変更が発生することがあります。そのため、基本設計書や詳細設計書は、開発が進むごとに更新するようにしましょう。
チーム内での共有
基本設計書や詳細設計書は、開発チーム全体で共有されることが重要です。共有しないまま開発を進めてしまうと、認識不一致や設計の矛盾などが発生する可能性があり、完成物の品質に影響を与えるケースが考えられます。そのような事態を避けるためにも、ドキュメントを必ずチームメンバーと共有するようにしましょう。
見やすさを考慮する
基本設計書や詳細設計書は、複雑な技術的な内容が多く含まれるため、認識のズレを極力なくすためにも、見やすさ、シンプルさを重視するようにしましょう。適切なレイアウトや図表、見出しの使用など、読みやすさを向上させる工夫をするようにしましょう。
品質を確保する
基本設計書や詳細設計書は、システム開発において非常に重要な役割を担っています。そのため、なるべく細部まで配慮した高品質の設計書に仕上げることを意識しましょう。設計書に誤りがあった場合、開発に大きな影響を与えるため、慎重な作成が求められます。
テスト項目を明確にする
詳細設計書を作成する際には、テスト項目を明確にすることが必要です。テスト項目を明確にしておくことで、開発者やテスターが必要なテストを行い、システムの品質を確保することができます。
規定に従う
システム開発には、セキュリティやプライバシー保護など、法的な規定があります。設計書の作成においては、これらの規定を遵守することが重要です。例えば、個人情報の取り扱いについては、適切な規定に従って設計を行うことが求められます。
以上のような注意点を踏まえて、基本設計書や詳細設計書を作成することで、システム開発をスムーズに進めることができ、高品質な成果物を手に入れることができることでしょう。
まとめ
本記事では、システム開発における重要なステップであるシステム設計の中の2つの設計書について解説しました。基本設計書は、システム全体の設計を行う段階で作成されるドキュメントであり、詳細設計書は、基本設計書に基づいて、システムの各機能やモジュールの詳細な設計を行う段階で作成されるドキュメントです。また、最後には、設計書を書く際の注意点についてもご紹介しました。プロジェクトを成功させるためにも、ユーザー要件をしっかりと確認し、一貫性があり、見やすい設計書を作成することを心がけましょう。
設計書の作成をITの専門家にアウトソーシングしたい場合は、是非CMC Japanを選択肢の1つとしてご検討ください。CMC Japanはベトナム第2位のICT企業である「CMC Corporation」の日本法人です。これまでに300以上の大手グローバル企業にITソリューションを提供してきた実績があります。要件定義やシステム設計などの上流工程に携わった経験があるスタッフも在籍しておりますので、お気軽にお問い合わせください。