設計フェーズに必要な文書って何だろう?~基本・詳細設計書の書き方~ | サービス | プロエンジニア

    設計フェーズに必要な文書って何だろう?~基本・詳細設計書の書き方~

    • このページをはてなブックマークに追加

    公開日:2019年08月02日 最終更新日:2019年09月12日

    システム開発には提案、要件定義、設計、開発・構築・実装、テスト、納品、運用・保守と様々なフェーズがあります。それぞれのフェーズで各種ドキュメントを作成しますが、本コラムでは設計フェーズに焦点をあて、インフラの構築やソフトウェア開発において必要な設計書の書き方について解説します。

    目次

    1. 設計書作成の流れ

    システム開発の大まかな流れは、「要件定義フェーズ」→「設計フェーズ」→「開発・構築フェーズ」→「テストフェーズ」→「納品」→「運用・保守フェーズ」というフローになります。

    各工程でドキュメントを作成しますが、どの工程でどの程度の内容のドキュメントを作成するかは、プロジェクトの規模や会社などによって違います。作成した設計書や各種ドキュメントはクライアントへの成果物として納品するものもあります。

    ▲ページトップへ戻る

    2. 要件定義 (requirements definition)

    「要件定義」のフェーズでは、クライアントから新規システムの要望を聞きます。システム化全体の成功・失敗を左右するフェーズでもあります。

    クライアントの要件をしっかりとまとめ「要件定義書」を作成するのと同時に実際に要件を実装できる人材確保や仕様の矛盾点なども考慮に入れてクライアントと折衝する大切なフェーズです。

    要望するシステムの概要、環境、構成、機能、入出力、業務フロー、セキュリティなどの要件をまとめます。

    ▲ページトップへ戻る

    3. 設計フェーズ

    「設計フェーズ」は大きくわけて「基本設計」の工程と「詳細設計」の工程があります。

    どの設計やドキュメントが「基本設計」でどのドキュメントが「詳細設計」なのかという業界一般の手順や成果物の基準はありません。プロジェクトや工程、会社、人によってその基準が異なります。

    プロジェクトによっては、さらに工程を区切って設計を行う事もありますので、社内に標準ドキュメントなどがあればそれを参考に設計書を作成します。

    3.1. 基本設計(BD:Basic Design)

    「要件定義書」を元に新システムの構成を設計するのが「基本設計」です。

    "Basic Design"の略で「BD」と言ったり「外部設計」と言ったりする事もあります。

    主にユーザーやクライアントから見える部分についての設計を文書化します。システム全体の概要やどのような機器を使うか、また開発体制、開発スケジュールやコスト管理なども行います。

    インフラ環境の新規システム構築がある場合は、物理構成図、フロア図、ラック収容設計などを記述する「物理設計」、ネットワーク論理構成図、IPアドレス設計、ルーティング設計などを記述する「論理設計」、仮想ネットワーク設計、仮想ロードバランサ設定などを記述する「クラウド環境設計」など必要に応じて設計書を作成します。

    ソフトウェアの「基本設計」は、要件定義の内容に基づき、システムで利用する機能、制限事項、データーや入出力などユーザーインターフェースに関わる項目などを具体的な仕様に落とし込んでいきます。

    基本設計で作成したシステムの概要や機能一覧、画面の仕様や操作方法、帳票印刷仕様、インターフェース仕様などをクライアントと一緒にレビューし確認します。

    ▲ページトップへ戻る

    3.2. 詳細設計(DD:detail design)

    「詳細設計」は基本設計の内容をどのように実現するかをより具体的に決めます。インフラ環境の構築であれば、「セットアップ手順書」や「SG仕様書」など実際のインフラ環境の設定パラメーターやセキュリティレベルなどを記述するドキュメントになります。

    詳細設計書を見れば、誰もがセットアップできるように記述されているのが望ましいでしょう。

    システム開発の「詳細設計」では、ユーザー・クライアントから見えない部分の設計を行います。

    開発担当者やプログラマーが詳細設計を見て実装・コーディングができるような設計書を作成します。主にプロジェクトメンバー内で共有する設計書になります。

    システムの機能仕様を実現する為のより具体的な処理内容や動作、入出力データー、データベースの設計などを記述します。ユーザーやクライアントには見えない部分の設計の為、基本的にクライアントと詳細設計についての承認などを得る事はありません。

    4. 設計書作成のツール

    システム開発のドキュメント作成には「Word」や「Excel」が多く使われています。

    フローチャートの作成やインフラ関連のネットワーク構成図などのドキュメントを作成する場合は、「 Microsoft Visio」を使いこなせると便利です。

    仕様書や設計書は、納品後の運用・保守フェーズや改修などでも使いますので、誰が見ても分かりやすく記述するよう心がけましょう。

    特にクライアント向けに納品する成果物などは、難しい技術用語ではなく、技術者でなくても分かるような言葉を使ったり、画像を使ったり工夫するとよいでしょう。

    参考リンク:Microsoft Visio:
    https://products.office.com/ja-jp/visio/flowchart-software

    ▲ページトップへ戻る

    最新求人情報をチェック!

    月額単価60万円〜80万円
    勤務地東京都千代田区
    月額単価60万円〜90万円
    勤務地東京都港区
    月額単価70万円~
    勤務地東京都千代田区
    月額単価80万円〜
    勤務地東京都渋谷区
    • このページをはてなブックマークに追加

    おすすめ記事

  • OCTPASS

    ピックアップ

    フリーランス

    【Swift】アプリ開発エンジニア★コミュニティサービス新規開発(iOS)

    月額単価 :60万円〜90万円

    ・iOS ネイティブアプリケーションの設計、開発 ・プロダクトのUI/UX改善 ・iOSバージョンアップへの...

    フリーランス

    【Python】サーバーサイドエンジニア★EnergyTech向け自社クラウドプラットフォーム開発

    月額単価 :60万円〜100万円

    電力系をメインに自社サービスを展開している企業で 要件定義~テストまでの工程をご担当していただき...

    フリーランス

    【Java】システムエンジニア★国内最大の宅配注文サイト開発

    月額単価 :70万円〜80万円

    自社で運営する国内最大の宅配注文サイトの 設計、開発を担当して頂きます。 担当業務はスキルによ...

    正社員

    【プロジェクトマネージャー】1億4千万ユーザーのアプリ開発/O2Oソリューション

    スマートフォンアプリ向けの自社プロダクトFANSHIPを用いた大規模案件の プロジェクトマネジメント業務...

    株式会社アイリッジ

    正社員

    【JavaScript】アプリケーションエンジニア|訪日旅行者向けプラットフォームサービスの開発

    ・訪日旅行者向けプラットフォームサービス「WAmazing」の 設計・開発・運用を行っていただきます。 ...

    WAmazing株式会社

    OCTPASS

    絞り込みメニュー

    絞り込みメニュー

    職種で探す

    SEACH_LISTjobcat257

    SEACH_LISTjobcat258

    SEACH_LISTjobcat259

    SEACH_LISTjobcat260

    SEACH_LISTjobcat261

    SEACH_LISTjobcat262

    SEACH_LISTjobcat263

    SEACH_LISTjobcat264

    SEACH_LISTjobcat265

    SEACH_LISTjobcat266

    SEACH_LISTjobcat267

    業種で探す

    雇用形態で探す

    勤務地で探す

    SEACH_LISTloccat391

    SEACH_LISTloccat394

    SEACH_LISTloccat403

    SEACH_LISTloccat413

    スキルで探す

    SEACH_LISTsklcat465

    SEACH_LISTsklcat466

    SEACH_LISTsklcat467

    SEACH_LISTsklcat468

    SEACH_LISTsklcat469

    SEACH_LISTsklcat470

    SEACH_LISTsklcat471

    こだわり条件で探す

    SEACH_LISTgoodcat337

    SEACH_LISTgoodcat338

    SEACH_LISTgoodcat339

    SEACH_LISTgoodcat340

    SEACH_LISTgoodcat341

    SEACH_LISTgoodcat342

    SEACH_LISTgoodcat343