基本設計はシステムの開発を行う際に重要な工程の一つです。
基本設計を正しく理解して行うことで、システム開発の方向性を正しく定めることができます。
しかし、基本設計がどのようなものなのか、どのような項目を含むものなのかを正確に説明することができる人は少ないのではないでしょうか。
本記事では基本設計とはどのようなものなのか、よく混同される詳細設計との違いや注意点を含めて解説します。
システム開発を検討しており、基本設計について知りたい方には必ず役立つ記事となっていますので、ぜひ最後までご覧ください。
目次
基本設計とは?
基本設計とは、システム開発における工程の一つで、要件定義で定義した要件を機能別に分けて、それぞれの機能が「何を実現するのか」を具体的に決定することです。
基本設計の段階ではシステムの全体像をざっくりと捉えることを目指します。
また、基本設計の結果や成果をまとめた資料を基本設計書といいます。
システム開発における役割
まず、システム開発は要件定義、基本設計、詳細設計、開発、導入という流れで行われます。
基本設計は要件定義で開発するシステムの目的を明らかにした後に、それをどのように実現するのかという概要をまとめる役割を果たします。
簡単に言うと、基本設計では要件定義でまとめた顧客の要望を踏まえてどのようなシステムをどのように作るのかをまとめるのです。
基本設計と詳細設計の違い
システム開発の流れの中には、基本設計と名前が似ている詳細設計という工程があります。
名前が似ているため混同されがちですが、詳細設計は基本設計で定義したシステムを作る概要を開発者向けにさらに具体的にする工程です。
インフラの場合、基本設計に必要な項目が異なる
インフラとはインフラストラクチャーの略で、システムやアプリケーションを動かすために必要な基盤の部分を指します。
そのため、インフラでの開発はコードを書くプログラミングは行いません。
インフラ開発をする場合には、通常のシステム開発とは基本設計に必要な項目が異なるため注意が必要です。
例えば、サーバー数やサーバーのスペック、OSを何にするかの指定などを基本設計に盛り込む必要があります。
基本設計が重要な理由
方向性を合わせるため
システム開発において外部に開発を委託する場合が多くあります。
その場合には発注時点の要望と実際の開発の方向性が合っているかをすり合わせる必要があります。
そこで重要な役割を果たすのが基本設計です。
基本設計の工程は発注者側にシステムの完成の全体像を提示する役割と、開発者側にシステム開発の方法を提示する役割の二つを担っており、両者の方向性を合わせることができます。
手戻りをなくすことができる
作業工程の途中で問題が見つかった場合、それ以前の作業段階に戻ってやり直さなければなりません。
システム開発は前の工程を全て完成させてから次の工程に移る手法をとるため、 手戻りをすることになった場合は費用と時間の大幅なロスにつながります。
しかし、基本設計できちんと要件定義の内容を実現する方法をまとめておけば、このような手戻りを防ぐことができます。
無駄なコストをかけないために、基本設計をしっかりと行うことは重要です。
基本設計で作成が必要な項目
機能一覧表
機能一覧表とは開発する範囲の機能を一覧にして記述したものです。
ここで開発範囲の機能を全て明記することで、システムを開発する際に具体的にイメージしやすくなります。
また、機能を一覧にすることによって基本設計の作業の進捗状況や情報システムの規模の理解にも役に立ちます。
機能一覧表は実際にシステムを使う際の機能に関わる記述も含まれています。
そのため、少しでも記述に漏れがあるとシステム全体のイメージの把握が難しくなってしまうため、慎重に記述と確認をするようにしましょう。
非機能要件一覧表
非機能要件一覧表とはシステム設計の機能面以外の要件を一覧として記述したものです。
非機能要件一覧表では、機能一覧表に記載していない要件を全て記述する必要があります。
多岐にわたる項目を記述するため、何を非機能要件として定義すべきかあやふやになりがちです。
しかし、非機能要件がしっかりと備わっていない状態だとシステムは十分に機能しません。
そのため、あらかじめチェックリストのようなものを作成して、その項目を参照しながら記述すると良いでしょう。
業務フロー図
業務フロー図はシステム開発を行うにあたり、その業務の流れを示したものです。
業務のフローを図として可視化することで、中間確認をする時期や最終的な納期などを逆算しやすくなります。
また、業務フロー図を何度も見直して完成度を高めることにより、業務の生産性と効率が上がります。
データフロー図
データフロー図とはシステムにおけるデータの流れを可視化した図のことです。
システム開発を行うためには、情報の処理のみではなく実際に活用するデータベースを設計する必要があります。
また、システムで使うデータの保存についてなど細かい部分まで設計をすることが重要です。
さらに、データフロー図では使用するデータベースの種類やデータ管理方法まで指定します。
入出力関連図
入手力関連図とは実際のデータの入出力について可視化した図のことです。
端末の画面やアプリケーションが参照するテーブル、更新対象のデータなどを表しています。
また、入手力関連図はシステムの処理全体でどの役割を担っているのか、どの位置付けであるかを示す役割を担っています。
また、入手力関連図ではアプリケーションで使用する全てのテーブルを記述する必要があります。
システム開発において重要であるため必ず記述するようにしましょう。
画面設計図
画面設計図とはシステムの画面のレイアウトイメージをまとめたものです。
レイアウトイメージと合わせてプログラムの記述様式も記述することで、スムーズに開発に取りかかることができます。
プログラムの記述する際にも画面設計図を参照するため、わかりやすいように見やすく作成するようにしましょう。
また、システム画面はシステムのユーザーが直接目にするため、他の項目よりもさらにユーザー目線を意識して設計するように意識する必要があります。
インターフェース設計図
インターフェース設計図とは画面設計と帳票設計のレイアウトをまとめたものです。
帳票設計では余分な情報を省いて最低限の情報を記述します。
また、レイアウトを設計する際には関連事項等を隣接させることも重要です。
画面レイアウトと帳票レイアウトは詳細設計でも使用するため、スムーズに開発に取りかかることができるように見やすいレイアウトを心がけましょう。
基本設計をする際の注意点
要件定義書から方向性が逸れないようにする
基本設計を行う際には要件定義書の内容に沿って実現方法を選定します。
要件定義書に記載された内容には実現の方法が複数存在する場合があるため、定義書の意図とズレが生じないように実現方法を選定するようにしましょう。
要件定義書とのずれが生じてしまうと、それ以降の工程でエラーや問題点が生じる可能性が高くなります。
そのため、基本設計を行う前には要件定義書を何度も読み込み、作成者の意図を深く理解するようにしましょう。
実現性の高い設計をする
要件定義書に記載された内容のみでは実現方法が複数存在します。
そこで、基本設計ではそれ以降の工程を意識して実現方法を選定する必要があります。
もし基本設計で実現性の低い方法を選定してしまった場合、それ以降の工程において問題点が生じてしまう可能性があります。
その場合は手戻りが生じてしまうかもしれません。
そのような事態にならないよう、基本設計を行う際には細部の確認を怠らないことが重要です。
ユーザーの利便性が高い設計をする
基本設計を行う際に特に注意すべき点は、ユーザーの視点に立つことです。
基本的に要件定義書の時点ではユーザーの視点や使い方を考慮した記述がされていません。
そのため、実際にユーザーがシステムを使う際の方法や視点を意識せずに基本設計を行なってしまうと、使いづらいシステムになってしまう可能性があります。
システム設計と開発には他者に立場に立って考えることが求められますが、基本設計をする工程では特にユーザーの視点に寄り添うことを意識しましょう。
パッケージ開発なら短期間でサイトの立ち上げが可能
基本設計には時間を要しますが、できるだけ短期間でサイト開発を行いたい方も多いのではないでしょうか。
そこで、おすすめの開発手法がすでに開発された機能を組み合わせて開発するパッケージ開発です。
パッケージ開発はすでに完成している製品をカスタマイズするだけで、すぐにサイトを立ち上げることができます。
さらに、エンジニアのような専門的人材なしに開発することが可能なため、パッケージ開発を活用することによって人件費を節約することもできます。
パッケージ開発を有効活用することによって業務の効率化と経費の削減をすることが可能です。
まとめ
本記事では、基本設計について詳細設計との違いや注意点を含めて解説しました。
基本設計はシステム開発の中でも非常に重要な工程であるため、念入りに確認をしながら行いましょう。
また、システム導入を効率的に行うことができるパッケージ開発についても紹介しました。
そこで、マッチングサイトの開発を考えている人におすすめしたいのが、マッチングクラウドというマッチングサイトのパッケージです。
マッチングクラウドをカスタマイズすれば、すぐに自社サイトとしてマッチングサイトを作成することができます。
マッチングサイトの開発をお考えの方はぜひ活用してみてください。