基本設計はどのように行う?目的や記載事項・ポイントを解説
COLUMN
最終更新日:2023年06月05日 / 投稿日:2022年12月13日
ソフトウェア開発・システム開発において欠かせない工程が、「基本設計」です。基本設計をしっかり行わなければ、開発すべきシステムの仕様を明確化できないため、顧客の求める製品をリリースすることも困難となります。
ソフトウェア開発に携わりたいと考えているなら、まずは基本設計の概要や重要性といった基礎知識を習得しておくとよいでしょう。
そこで今回は、開発会社が行う基本設計の概要や目的を紹介します。加えて、基本設計書に記載する項目や基本設計を行うときのポイントも具体的に説明しているため、基本設計とは何なのか理解できていない方はもちろん、ソフトウェア開発の流れを知りたいという方もぜひ参考にしてください。
1. 基本設計とは?
基本設計とは、ソフトウェア開発の仕様や全体像を明確化するための大切な開発工程です。「外部設計」とも呼ばれています。
具体的には、ソフトウェア開発において前工程である要件定義で抽出した要件を機能単位で分割し、各機能が何を実現するかを決めて、成果物である「基本設計書」に落とし込んでいく工程となります。要件定義が「何をしたいかを明確化する」という段階を指すなら、基本設計は「要件を満たすためには、何を実現するべきかを明確化する」という段階といえるでしょう。
例えば、ソフトウェア開発において特定の画面に関する基本設計を行う場合は、「この画面でどのような情報やデータを表示するか」「各表示項目のデザイン・レイアウトはどのようにするか」などのポイントを明確にします。
1-1. 詳細設計との違い
ソフトウェア開発における設計段階では、基本設計(外部設計)だけでなく、詳細設計(内部設計)も行います。詳細設計とは、基本設計の内容をどのように実現するかを明確化するだけでなく、実装時においてソフトウェアが正常に動作するかを確認する設計工程です。
詳細設計は、基本設計書にもとづいて行われます。そのため、基本設計をしっかりと行っていなければ、詳細設計を適切に行うことはできません。
1-2. 基本設計の目的
基本設計を行う目的には、主に下記の2つが挙げられます。
● クライアントと認識のすり合わせをすること
基本設計の際に作成する基本設計書は、開発の依頼・発注者、いわゆるクライアントにも仕様書として確認してもらう書類となっています。この基本設計書を用いて、開発側で検討している仕様とクライアントの求める仕様に相違がないかをきちんとすり合わせることが可能です。なお、基本設計はクライアント自身が仕様を最後に確認できる機会でもあるため、十分にすり合わせを行うことが重要です。
● 具体的な機能を決めること
基本設計の目的は、クライアントとの認識のすり合わせだけではありません。次の詳細設計をきちんと定めるため、いわゆる具体的な機能を決めるためにも、基本設計は行われます。要件定義書や基本設計書はあくまでシステムの性能を策定したものであり、実現するための具体的な方法は含まれていません。基本設計をしっかり行わなければ、詳細設計における機能ごとの具体的な決定が困難となることも覚えておきましょう。
2. 基本設計書に記載する項目
基本設計を行うときは、基本設計書を作成します。基本設計書には、下記の項目を記載することが一般的です。
- システム設計
- 画面設計
- 帳票設計
- バッチ設計
- データベース設計
- ファイル設計
- 外部インターフェース設計
ここからは、各記載項目の概要を簡潔に紹介します。ぜひ基本設計書を作成するときの参考にしてください。
2-1. システム設計
システム設計は、システムの開発作業に移る前に機能や使用を具体化する工程であり、システムの目的や動作・仕様などを決めます。
基本設計書には、システム設計で決定したシステム構成について記述するケースが一般的です。今後開発するシステムとつなげる既存システム・外部システムが多ければ多いほど、構成図は複雑となる傾向にあります。
2-2. 画面設計
画面設計とは、システム上でどのような画面が表示されるかといった、いわゆる画面レイアウトを設計する工程です。
基本設計書においては、画面一覧・画面入力項目・画面遷移図・画面アクション定義などの資料を作成し、まとめます。文字でまとめるだけでは伝わりづらい部分は、実際の画像を用意するケースもあります。
2-3. 帳票設計
最後に、要件定義で定めている帳票様式(帳簿レイアウト)や帳票一覧をさらに具体化し、設計書としてまとめた資料テストケースの操作内容を書き出し、あらゆる組み合わせを網羅しましょう。組み合わせが多いとテスト漏れが発生する可能性があるため、フローに沿った対応表を作成しておくのがおすすめです。
基本設計においては、レイアウトの決定・出力項目の一覧整理・編集定義の決定が主な作業となります。業務で仕様する伝票などがひな形として作成されるため、クライアント側は実際の使用イメージを見て確認することが可能です。
2-4. バッチ設計
最後に、要件定義で定めているバッチ(一括処理)一覧にもとづいて、バッチ処理フロー・バッチ処理定義を作成し、設計書としてまとめた資料です。
バッチ処理一覧は要件定義の段階で整理しておくべき資料でもありますが、万が一整理できていない場合は、基本設計の段階でしっかりまとめておく必要があります。
2-5. データベース設計
データベース設計とは、必要な情報をどのような構造でデータベース化するかを決定し、実際に設計することを指します。データベース設計は、概念設計・論理設計・物理設計の3つのフェーズで構成することが一般的です。
基本設計においては、情報システムで利用するデータベースの種類や管理方法を整理し、設計書にまとめます。テーブル一覧表やCRUD図の整理も主な作業といえるでしょう。
2-6. ファイル設計
ファイル設計とは、データベース設計において決定したデータベース定義にもとづいて、主要なデータ項目・ファイル一覧を作成してまとめることを指します。
要件定義においては主要項目のみで問題ないケースがほとんどですが、基本設計の工程においては、機能の実現に必要な項目をしっかり記載することが重要です。
2-7. 外部インターフェース設計
外部インターフェース設計とは、要件定義で定めた外部システム関連図にもとづいて、外部インターフェース一覧表・レイアウトを作成し、設計書としてまとめた資料です。
外部インターフェース設計は、要件定義の際に作成する場合もありますが、機能の実現に向けて基本設計の段階で必要な項目を追加するケースは珍しくありません。
3. 基本設計を行うときのポイント
基本設計を行うときは、下記のポイントをおさえておきましょう。
● 全体像を意識する
基本設計を行うときは、全体像を意識しましょう。ここでいう全体像とは、ソフトウェア開発の全体を把握するための広い視野はもちろん、クライアント視点・開発者としての視点・リリース後の保守運用を行う要因の視点など、あらゆる立場からの視点も含みます。
あらゆる立場の方からの利用を想定した設計は、ソフトウェア開発において基本中の基本です。全体像を意識して基本設計を行わなければ、後の工程となる詳細設計やプログラミング段階で問題に気づき、無駄な手間や負担が発生する可能性も高まります。1つの視点だけでなく、あらゆる視点に切り替えながら基本設計を進めるようにしましょう。
● 要件定義との整合性を考えながら作成する
ソフトウェア開発におけるプロセスは、それぞれつながりあっていなければなりません。要件定義にもとづいて基本設計・詳細設計を行った後は、基本設計・詳細設計にもとづきプログラミングを行うというのが基本の流れです。しかし、要件定義と基本設計の整合性がとれていなければ徐々にズレが発生し、結果として後の工程であるプロセスや成果物に大きなズレが生じてしまいます。
要件定義は、顧客の言葉や視点から生まれた「システムのあるべき姿」です。そして、基本設計はプログラミング段階だけでなく、製品リリース後の保守運用段階においても確認することのある、いわば「マニュアル」です。顧客のニーズや要望を満たすための基本設計を行うためには、要件定義との整合性を常にチェックしておかなければならないことを覚えておきましょう。
まとめ
基本設計は、ソフトウェア開発の仕様や全体像を明確化するための開発工程であり、要件定義を満たすために、何を実現するかを明確化する非常に大事な段階といえます。
基本設計のプロセスにおける成果物は「基本設計書」です。基本設計書には、システム設計から画面設計、画面設計、データベース設計、外部インターフェース設計などあらゆる項目を記載します。