基本設計は何をするの?現役SEが解説!!
システム開発する上で、まず最初に重要なのが基本設計書です。
初心者や未経験者の方は『設計書』と聞くと、
『ムズカシそう。。。』、『何を書くんだろう?』
と思われる人が多数でしょうね(^▽^;)
簡単に言いますと、基本設計書はシステムやアプリを構築するために必要な手順や情報が
記載されているとドキュメントです。
システム開発するのであれば、さらに詳しく基本設計書について理解しておく必要がありますね☆彡

SE・システムエンジニアを目指している皆さん!!
現役SEで当サイトを管理しているariariです☆彡
今回は、基本設計について詳しく解説していきます。
基本設計書の作成方法や業務の効率化など、システム開発に関わっている人で必須の情報ばかりです!
まずは、基本設計書とは何でしょうか?
設計書と聞くとある程度のイメージがある方も多いでしょうね。
ただ、基本設計書と詳細設計書等の違いや、どういった目的で基本設計書を利用するのか?
未経験者にはわからない方も多いかと思います。

そこで今回は、設計仕様書の目的や用途などについて丁寧に解説をしていきます!
今すぐにでもIT企業に就きたい!という希望の方は、IT業界に特化した無料転職エージェント「マイナビ IT AGEN」・「社内SE転職ナビ」・「ウズキャリIT」などのエージェントを活用するのをおすすめします。
SEの仕事内容を初心者向けに解説!

はじめまして。将来SE希望の文系女子
清水満里奈です♡

はじめまして!
僕もSEを目指しています未経験者の遠藤修一です♪

承知しました(*^▽^*)
今回は少し詳しく解説します。最後まで付き合ってくださいね♪
■基本設計書は何をするの?目的や用途を解説
基本設計書とは、システムやアプリの機能を具体化するために作成するもので、
要件定義の内容を元に、どのような画面になるか?どのような機能になるか?、などを決めるものです。
どのような要件定義の機能を作成するのか?を整理して、その要件をシステムやアプリに反映させることを
基本設計と呼び、基本設計で作成する物が基本設計書です☆彡
基本設計書は後で説明する詳細設計書とは異なり、開発者とクライアント(ユーザー)が認識を合わせることを
目的に作成されるため、外部設計という言い方をすることもありますね。
ユーザーであるクライアントが実際に目にする部分を設計しますので外部設計、
プログラマーがシステム内部のプログラミングをできるように詳細に仕様を決める詳細設計が内部設計と
一般に言われていますね。

注意点としては、要件定義が不十分?だと基本設計がうまく作成できない場合があるということです(-_-;)
基本設計の工程に入ったものの、要件定義が不十分なままにその先の仕様を決めてしまうことで、プロジェクトが進行した後にトラブルやミスにつながる可能性でてきますので注意が必要ですよ☆彡
基本設計では、要件定義の工程で決めた内容を具体的にしていく作業になりますので、
基本設計のプロセスを通して、要件定義の内容でお互いに認識の違いがないか?を確認することができます。
ですが、「基本設計の決めればいいかな。。。」「基本設計のときに確認すれば大丈夫!」だと効率が悪く、
想定していたのスケジュールで上流工程が終わらない?なんてことにもつながりますので、
要件定義は要件定義の段階でしっかり行うことが重要だと心得ておきましょう☆彡
■基本設計書と詳細設計書の違い

詳細設計は、基本設計の次にやる工程(作業)です☆彡
基本設計は何を作るか?を決めるのに対して、
詳細設計ではどう作るか?を決めますね。

ん?どういう意味ですか?(^▽^;)
基本設計ではクライアントも一緒になってこの設計で問題ないか?等を
確認しながら基本設計書を作成しています。
一方、詳細設計はSEが自社のプログラマーに向けて、
プログラムでプログラミングができるように詳しく設計を行う作業になるので、
詳細設計書はクライアントに納品しますが設計段階の中身を
クライアントが確認することはほとんどありませんね。
ただし、簡単でシンプルなシステムやアプリ開発の場合、
詳細設計自体をしないという場合もたまにあります。。。
が、ある程度以上の規模のシステムとなると機能が複雑になるので、詳細設計をしっかりと行うことが
実際のプログラミング工程を効率的にするために重要となりますね。
基本設計書に記載する内容
ここまでご説明したとおり、基本設計はクライアントが求める機能を定めるために欠かせない工程です。
しかし、実際に基本設計書にはどのような内容を記載すればよいのでしょうか。
ここでは、基本設計書に含まれることの多い内容について、詳しく解説をしていきます。
■業務フロー(フロー図)

システムを開発するにあたっては、ユーザーがどのような手順(フロー)で業務を進めるのか?とかしっかりと把握しておく必要がありますね♪
一連のフローを確認しないでシステムを開発してしまうと、業務全体で見たときに、
思わぬ問題が発生してしまうことがあります(^▽^;)
そのため、ユーザーの業務フローの確認はしっかり行い、必要な機能を選び出して、
設計書に落とし込む必要があります。
■ 機能一覧(表)
構築するシステムの機能を一覧化したものです。
ただ、初期段階ですべての機能をまとめることは難しいでしょう。
要件定義書を確認しながら、徐々に内容を拡充し、育てていくのが機能一覧表です。
また、機能一覧表は、構築の進捗確認にも活用されることがあります。
■ネットワーク構成(図)
ネットワーク構成図は、その名の通りどのようなネットワークを構成すれば、
システムの構築を実現できるかをまとめた図です。
外部との接続ポイントや、ネットワーク機器・共有機器の接続、
共有機器の接続に必要なアドレスなどの情報を記載します。
■ DBテーブル定義
データベースのテーブル定義をまとめたものです。
最低でも項目名、データ型、キー情報は定義、その他に長さや精度、
定義内容も要素として追加してあげると分かりやすいでしょう。
また、テーブル定義書は、システムの引き継ぎ時に欠かせないものなので、しっかりと作成する必要があります。
■ ER図(Entity Relationship Diagram)
ER図とは、データ構造の代表的な設計図のことで、シンプルにシステムを表現できるという特徴があります。
作成したER図は、そのままデータ構造に変換することができるため、広く浸透しています。
■ 画面レイアウトもしくは帳票レイアウト
画面・帳票のレイアウトイメージをまとめたものです。
画面レイアウトと帳票レイアウトは、詳細設計の段階でも活用するので、
プログラミングの記述様式も取り入れる必要があります。
基本設計書を作成するうえでのポイント
基本設計書にどんな内容を記載するべきかがわかっても、
具体的にどのように作成してよいかがわからなければうまく進めることはできません。
ここでは、基本設計書を作成するうえでのポイントについて詳しく解説していきます。
■基本設計の目的を明確にしよう!
まずはなぜ基本設計を行うのか、目的を明確にしましょう。基本設計書を作る目的は、
要件定義で定めた欲しい機能を具体化し、定めることです。
「要件定義で欲しい機能は伝えたから、後はよろしく」では、
うまく行かないことをクライアントに認識してもらった上で、どこまでを基本設計で決めるかを
しっかり伝えることが求められます。
また、開発に詳しいクライアントも中にはいるでしょうが、基本的にはそうでないクライアントが
ほとんどでしょう。ですので、基本設計の目的である「欲しい機能を具体化する」には、
開発に詳しくないクライアントでもわかるように進めていく必要があります。
誰にでもわかる言葉で表現するということを意識する必要があります。
■業務担当者に開発の参画を実際にしてもらう
要件定義工程においても同じことが言えるのですが、
基本設計に参加するメンバーが情報システム部門だけだと認識の齟齬をなくすことはできません。
基本設計の目的である欲しい機能の具体化を行うには実際のユーザとなる業務の担当者にも
参加して頂く必要があります。すべての打ち合わせで参加してもらう必要はありませんが、
関連する業務に関連する機能を確認する場には参加してもらえるよう、クライアントにも協力を仰ぎましょう。
現場のユーザーが基本設計を確認することなく開発を進めてしまうと、
「求めていたものと違う」「やり直して欲しい」など手戻りが発生することにつながります。
コストも増えますし、納期も伸びることになりますので、
クライアントのためにもできるだけ現場の担当者にも参画してもらえるようにしましょう。
基本設計書の作成手法

実際に基本設書を作成する方法は業務内容やSEによってさまざまです。。。
ネット上では公開されたサンプルもありますが、
企業によって書き方は様々だと考えたほうがよいでしょうね☆彡
それでは、基本設計書の作成方法について解説していきますが、今回紹介するものはあくまでも一例です。。。
他にも様々な手法がありますが、もっとも効率的に設計書を作成することができる
業務やプロジェクトにあった方法で作成する事が重要ですね☆彡
■officeソフト(Excel・Word)を活用する
まず基本設計書のほとんどが、ExcelやWordといったOfficeソフトで作られています。
また基本設計書に限らず、何かしらのドキュメントや書類を作成する際にも、
使われることが多いのがExcelやWord等ですね。
ExcelとWordは非常に多くの便利な機能がありますし、ソフトの使い方もネットで検索すればすぐにわかります。
ただ、ExcelとWordにも問題点があります。。。
普段使い慣れているソフトを使って基本設計書を作成するのは非常におすすめなのですが、
問題点があることも知っておく方がよいでしょう。

???ExcelとWordはとっても便利なんですが問題点ってなにかあるのですか?

ありますよ(*^▽^*)
順番に説明していきますね♪
■記述ルールやフォーマットの統一を整える
属人化という言葉があります。これは一つの仕事や物事が特定の人に依存してしまうことです。
この属人化にExcelとWordの問題点があるのです。
WordやExcelは自由度が高いので、いくらフォーマットや運用ルールを定めても、そのルールから外れ、
独自のやり方で進める人をなくすことが困難なのです。自己流でやりやすい方法で作るほうが早い、
という気持ちはよく理解できます。
しかし、管理する側からすると作る人によって基本設計書の書き方やフォーマットが異なるというのは
大きな問題です。
フォーマットが異なると、「きちんと関連する項目が反映されているか」「抜け漏れはないか」などの
チェックがとても煩雑になります。結果として、品質がバラバラになってしまうというリスクがあります。
ある人は手戻りの少ない、良い設計書なのに、別の人はそうではない、なんてことになってしまうと、
効率良く開発することができません。
■作成した基本設計書を管理する
先ほど解説した内容に追加しますが、ExcelとWordで書かれた基本設計書は管理が大変です。
たとえば設計書作成の途中で仕様変更が起こった場合。。。
その時は基本設計書も変更しなくてはいけません(;^_^A
ExcelやWordであっても、Micorsoft365(office365)などを利用することでバージョン管理を行うことは
できますが、時点の情報として残したい場合、やはりファイルをコピーして管理しないとならないため、
デグレしてしまうなどのリスクはやはりあります。
また仕様変更があった際は、関連する複数の設計書を変更しなくてはならないので、
どうしても二重三重の手間が発生してしまい、結果として確認する手間も二重三重になってしまいます。
■基本設計書の作成・管理を効率よく行う

ExcelとWordで作成した基本設計書の問題点を解決するのが、SI Object Browser Designerといった手法ですね
SI Object Browser Designerは、設計情報をデータベースで一括管理できます。
仕様が変更されたときも、その影響をひと目で確認することが可能です。
これによって基本設計書の作成や変更が大幅に楽になります。
また、専用の設計フォームを使って基本設計書を作成することができるので、
ExcelとWordのように属人化することがありません。これが大きな違いです。
設計情報は連動するようになっているため、画面レイアウトの作成によってコントロール定義表も
作成できたりします。うっかり修正を忘れてしまうことが起こらなくなるため、
ヒューマンエラーも防止できるのです。
最後に変更履歴もデータベースで管理してくれます。これによっていつ、誰が、
何を修正したのかをひと目で確認可能です。
このように、業務の効率化に大きく役立ってくれるのが、SI Object Browser Designerなのです。
まとめ

基本設計書を作成する際に、難しく考えて不便に感じている方は多いでしょう。
でもほとんどのエンジニアが毎回苦悩しながら基本設計書を作成しています!!
でも、作業の時間が余計にかかっているだけでなく、バグや障害を産む原因にもなっています。。。
よって、可能な限り基本設計書の作成業務は効率化しなくてはいけませんね。
これまでの方法だけが正しいと考えずに、いろいろと新しい方法や手法をとり入れていきましょう。
そうすることによって、これまでの作業がずっと楽になり、大きなミスや障害も減らす事ができますよ♪

はい!管理人さん本日のご教授ありがとうございました。

今すぐにでもIT企業に就きたい!という希望の方は、IT業界に特化した無料転職エージェント「マイナビ IT AGEN」・「社内SE転職ナビ」・「ウズキャリIT」などの複数のエージェントを活用するのをおすすめします♪
複数エージェントを利用するメリット
- 相性の良い担当者と出会える確率が上がる
- 1回で複数の企業や開発案件に応募ができる
- 自分のスキルに見合う求人や案件を見つけてもらい提案してもらえる
- etc…
コメント