1分で分かる!システム開発における基本設計とは?
ねぇねぇ、ジャバ―ド先生、聞いてもいい?
たぶん「基本設計」について聞きたいんだよね?
すごい!ジャバ―ド先生なんでわかったの!?
先生くらいになると、それくらいのことはお見通しだよ!
さて、前回は要件定義について説明したところだったかな?
そうです!基本設計もお願いします!
簡単にいうと要件定義は「アプリケーションでやるべきこと」を定義する工程だったよね。
要件定義の次にくる工程が「基本設計」という工程だよ!
あぁ、設計ってなんか聞いたことがある!プラモデルとかも設計書がないと最後までつくれないもんね!
そうそう!開発における設計というのは、プラモデルでいえば設計書だし、料理でいえばレシピみたいなものなんだ!
でも、「基本」設計っていうのは聞いたことないかも…。
開発に関する設計は「基本設計」と「詳細設計」に分けられるんだ。詳細設計については、また別の機会に説明するね。基本設計は、その名前が表すとおり、アプリケーションの基本的な仕様を決める工程なんだ。
先生!基本的な仕様って、具体的にはどういうところを決めるの?
基本設計は「アプリケーションは、こういう構成や方針で開発すればいいよね」「このシステムにはこの機能が必要だよね」っていう大まかなポイントを確認する目的があるんだ。その目的を達成するために、基本設計で決めないといけないことは、結構たくさんあるんだよ。
たとえば、アプリケーションの画面に表示する項目を記載した画面設計書、帳票に出力する項目を記載した帳票設計書、画面の遷移をまとめた画面遷移図などは作成する必要があるね。
あとは大抵のアプリケーションは、データベースを使うことが多いんだけど、データベースで管理する情報はどのようなものがあるかを検討したり、その情報同士がどういった関係を持っているかといった内容もまとめていくよ。
なんかほんとに考えないといけないことがたくさんあるね…。
そうそう!そのほかにもアプリケーション全体をどうつくっていくかをまとめたシステム構成図やネットワーク構成図、どういった技術要素でアプリケーションを組み立てるかといったアーキテクチャを考える必要もあるね!それからそれから…
先生、ちょっとお腹いっぱいです!
あっ、ことりん君ごめんね!ついつい、たくさんしゃべっちゃった!とにかく今日は、「基本設計は、アプリケーション全体に関するような仕様を決めている工程 ということを抑えておこう!
はーい!ありがとうございました!
基本設計とは?基本設計の基礎知識
基本設計の業務内容
基本設計は、要件定義の内容をもとに、アプリケーション全体に関わる仕様を決定していく工程です。
一般的に開発では、要件定義や基本設計といった上流工程であればあるほど、修正が発生した場合にコストがかかるといわれています。そのため、要件定義として定義された内容について、すべて基本設計に含まれているか、抜け漏れはないかといった点を確認することが大事です。
基本設計を行うタイミングでは、局所的な仕様にこだわる必要はありません。常に「アプリケーション全体で最適な設計とは何か」という俯瞰的な視点で進めていく必要があります。
基本設計に対するエンジニアの関わり方
基本設計はエンジニアが主体となって作業をすすめます。
前述したように、基本設計で決めなければいけないもの、求められる成果物は多岐に渡ります。そして、この段階では、決定した内容が正解であるかも分かりません。そのため、エンジニアはシステム全体について、まずはざっくりとした構成を検討していきます。具体的には、画面、帳票、データベース、データの遷移などといった内容ついて、どうあるべきの検討を重ねます。その後、エンジニアはプロジェクトのメンバーらと意見を交わしながら、基本設計を決定していきます。
基本設計工程の成果物は、各種の基本設計書となります。そのため、この成果物作成においてもエンジニアを中心に作業をすすめます。