本コラムでは、システムエンジニアが作成する設計書の基本的な書き方について解説します。 提案フェーズから開発・運用フェーズまでに作成する様々なドキュメントについても基本的な書き方は同じです。クライアントや開発・運用エンジニアに分かりやすい設計書の書き方をまとめました。
目次
1. システム開発設計書作成の流れをおさえておこう!
システム開発の大まかな流れは、「要件定義フェーズ」→「設計フェーズ」→「開発・構築フェーズ」→「テストフェーズ」→「納品」→「運用・保守フェーズ」というフローになります。
設計書は、クライアントの要件をまとまた後の「設計フェーズ」で作成します。
各工程でドキュメントを作成しますが、どの工程でどの程度の内容のドキュメントを作成するかは、プロジェクトの規模や会社などによって異なります。作成した設計書や各種ドキュメントはクライアントへの成果物として納品するものもあります。
2. 設計フェーズで作成するドキュメントの種類は?
「設計フェーズ」では大きくわけて「基本設計」の工程と「詳細設計」の工程があります。
プロジェクトによっては、さらに工程を区切って設計を行う事もありますので、社内に標準ドキュメントなどがあればそれを参考に設計書を作成します。
2.1. クライアントから見える部分を基本設計書にまとめる
クライアントから新規システムの要望を聞いたら、システムの構成を設計する「基本設計書」を作成します。
基本設計"Basic Design"の略で「BD」と言ったり「外部設計」と言ったりする事もあります。
主にユーザーやクライアントから見える部分についての設計をします。「基本設計書」では、主にユーザーインターフェースの仕様や操作方法、画面設計、データー出力、帳票出力の他、システム開発の全体スケジュールやコストなども検討しドキュメントを作成していきます。プロジェクトの規模や改修内容などに応じて以下のような内容を含む文書を作成します。
●システム全体の概要
● 開発体制
● 開発スケジュール
● システム構成図(システムの対象範囲と運用イメージ、連携システムとの関係、ネットワーク構成図、クラウド環境設計など)
● 機能概要(機能一覧表、機能設計、業務フロー図、メッセージ一覧表など)
● 画面仕様(画面一覧表、画面遷移図、画面レイアウト、画面の流れや帳票のイメージなど)
● 帳票仕様(帳票一覧表、帳票レイアウトなど)
● ファイル仕様(ファイル一覧表、ファイルレイアウトなど)
● データーベースの仕様(データーフロー図、テーブル定義、入出力関連図など)
● 運用設計書
システムやプロジェクトの規模に応じて、設計書の内容は異なりますが、設計書を書くポイントとしては、要件定義から起こした内容を矛盾なく基本設計書に落とし込む事です。
システムの発注元であるクライアントと調整するフェーズは、基本的に要件定義から基本設計書までになります。次のステップである詳細設計の作成から開発・構築に移る前に、クライアントの要望・システムの仕様をきっちりと把握し、できる限り手戻りのない「基本設計書」を作成する必要があります。
システム全体の業務フロー、改修対象となる業務フロー、どのような入出力データーをどのような環境で構築していくのか、クライアントの課題解決の為にどのような提案ができるのかも同時に考えていく必要があります。
作成するドキュメントは、基本設計書としてひとまとめにしてもよいですし、規模が大きければ、システム構成図、画面設計書、データーベース仕様など別々に作成しても構いません。各ドキュメントには、技術者でなくてもわかるように図や表を使ったり、専門用語はできるだけ使わすにクライアントから見て分かりやすいドキュメント作成を心掛けましょう。
基本設計書で作成したシステムの概要や機能一覧、画面の仕様や操作方法、帳票印刷仕様、インターフェース仕様などをクライアントと一緒にレビューし確認します。
2.2. 基本設計書の内容を元に詳細設計を作成する
「詳細設計」では基本設計書の内容をどのように実現するかをより具体的に決めます。システム開発の「詳細設計書」の作成は、ユーザー・クライアントから見えないシステム内部の設計を行うフェーズです。
システムの機能仕様を実現する為のより具体的な処理内容や動作、入出力データー、データベースの設計などを記述します。ユーザーやクライアントには見えない部分の設計の為、基本的にクライアントと詳細設計についての承認などを得る事はありません。
インフラ環境の構築の場合、「セットアップ手順書」や「SG仕様書」など実際のインフラ環境の設定パラメーターやセキュリティレベルなどを記述するドキュメントになります。詳細設計書を見れば、誰もがセットアップできるように記述されているのが望ましいでしょう。
「詳細設計書」には基本設計書の機能仕様を元に、機能ごとに詳細な処理・設計を記述していきます。またその他の画面・帳票仕様についても、開発担当者やプログラマーが詳細設計書を見て実装・コーディングができるようにドキュメントを作成していきます。主にプロジェクトメンバー内で共有するドキュメントになります。
3. 設計書作成におススメのツールを紹介
システム開発のドキュメント作成には「Word」や「Excel」が多く使われています。
フローチャートの作成やインフラ関連のネットワーク構成図などのドキュメントを作成する場合は、「 Microsoft Visio」を使いこなせると便利です。
仕様書や設計書は、納品後の運用・保守フェーズや改修などでも使いますので、誰が見ても分かりやすく記述するよう心がけましょう。
特にクライアント向けに納品する成果物などは、難しい技術用語ではなく、技術者でなくても分かるような言葉を使ったり、画像を使ったり工夫するとよいでしょう。
参考リンク:Microsoft Visio:
https://products.office.com/ja-jp/visio/flowchart-software
4. まとめ
システム開発において設計フェーズはプロジェクトを円滑に進めるための重要なフェーズです。設計フェーズを担当するエンジニアは、情報システムに関する技術的なスキルだけでなく、クライアントの要件をきちんと把握し取りまとめるスキルも必要です。
どのようなドキュメントを作成するかは、プロジェクトの規模・内容などにより様々ですが、「基本設計書」は発注元のクライアントに分かりやすく書く事、また要件を漏らさず設計書に落とし込む事がポイントです。「詳細設計書」については、実際にシステム開発に携わるメンバー向けに分かりやすく書く事が重要です。