基本設計書を作成するうえでの重要事項とは?要件定義との違いも解説
Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!
フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。
基本設計とは
基本設計はシステム開発プロジェクトにおける上流工程での作業の1つで、システムに必要な機能を設計する作業です。どのような機能なのか、機能同士がどのように繋がるのかを設計していきます。
システム開発の上流工程では、一般的に要件定義、基本設計、詳細設計という順番で作業を進めていきます。
基本設計・要件定義・詳細設計の相違点
前述のとおり、システム開発の上流工程には「要件定義」「基本設計」「詳細設計」といった工程があります。この中でもっとも早い段階で行う要件定義は、クライアントからヒアリングを行い、システムに必要な要件の定義を実施する工程です。
次に基本設計が行われ、操作画面やデータ出力といったシステムの基本的な部分の仕様を決めていき、詳細設計でシステム内部の細かい設計を行います。
基本設計書が持つ役割
基本設計の工程では、アウトプットとして基本設計書を作成します。基本設計書にはさまざまな種類があり、開発するものによって作成しなければいけないものも変わります。
ここでは、基本設計書が持つ役割について解説していきます。
1:開発対象システムの画面を構成する役割
開発するシステムの画面を構成するために用いられるものとして、「画面一覧表」「画面推移図」「画面設計書」などがあります。
情報システムは多くの場合、複数の画面を持っています。そのため、基本設計では開発する情報システムにどのような画面があるのか、どの画面でどのような操作ができるのか、画面同士の繋がりがどのようになっているのかといった設計を行います。
画面は実際にユーザーが見て利用する部分になるため、UIやUXも考慮して検討する必要があります。
2:帳票関連をつくる役割
帳票を出力できる情報システムの場合は、「帳票一覧表」「帳票設計書」「項目定義書」などを作成します。帳票設計では、受注伝票や発注書、入金伝票といった業務で使用する帳票の形式や書式、どこから出力するのかといった点を設計していきます。
帳票は情報システムが利用するデータベースによっても変わるため、最初から確定版を作成することはできません。そのため、現時点で想定している入力条件やデータベースのテーブル構造などを踏まえて作成します。
3:全体を可視化する役割
情報システム全体を可視化するためには機能の流れをまとめる必要があるため、「機能一覧」「業務フロー図」「データフロー図」「入出力関連図」などを作成します。
これらをアウトプットすることで、情報システムでつくる機能の数もはっきりします。機能一覧は基本設計の最初に作成しますが、最初から必要な機能を全て洗い出すことはできません。上流工程を進める中でさまざまな検討を行い、決定していくものになります。
4:他システムとの連携に関する役割
基本設計では、情報システムが他のシステムとどのように連携するのかも決めていきます。情報システムと連携先の既存のシステムがどのようなデータのやり取りを行うのかを検討します。
その際には、外部システムとのデータ連携をまとめた「外部システム関連図」などを作成しましょう。
5:データベースを管理する役割
情報システムのデータベースで管理するデータを検討するために、「テーブル一覧表」「テーブル設計書」「ER図」「CRUD図」などを作成します。
データベースの設計では、情報システムで利用するデータベースの種類やデータの管理方法、リレーショナルデータベースの場合はテーブル設計などを行います。規模の大きなシステムの場合、テーブルの数が数百を超えるケースもあるでしょう。
6:インフラ関連をまとめる役割
基本設計ではシステム要件を実現するためのインフラ構成を決定します。そのためには、「システム構成図」や「運用設計書」などの作成が必要です。
情報システムにはサーバーやOS、ハードウェア、ネットワークといったITインフラが必須となります。そのため、情報システムの基本設計を行う際にはアプリケーション側の担当者とインフラ側の担当者がそれぞれ構成を考え、アウトプットする必要があります。
7:バッチ処理を実現する役割
情報システムが行うバッチ処理の部分を検討するために、「バッチ処理一覧表」「バッチ処理フロー図」「バッチ処理設計書」などを作成します。バッチ処理はシステムの裏で行われるため、画面上で見えるわけではありません。
基本設計では、システムがどのようなバッチ処理を行うのか、バッチ処理はいつ動くのか、バッチ処理の前後関係などを決めていきます。
基本設計書を作成するうえでの重要事項
基本設計はシステム開発を行う際に、システムに持たせる機能や構造などを決定していく重要な工程です。そのため、基本設計がうまくできていないとその後の工程全てがうまくいかなくなってしまうでしょう。
基本設計書を作成する際には、いくつかのポイントを押さえることが大切です。ここでは最後に、基本設計書を作成するうえでの重要事項を紹介していきます。
1:実現が可能であるシステムであること
基本設計を行う際にはまだシステムの形ができていないため、実装したい機能を盛り込んでしまうケースがあります。しかし基本設計では、実際に実現できるシステムを設計するようにしましょう。
つくれない設計では意味がないため、「こうすれば実現できる」という根拠を持って設計することが大切です。
2:要件定義段階とのずれをなくす
基本設計では要件定義とのずれをなくし、基本設計の内容を辿ることで要件定義に辿りつくレベルにまで落とし込みましょう。要件定義はクライアントからのヒアリングをもとに行われていますが、基本設計の段階で要件定義とのずれがあると、その後の成果物も全てずれていきます。
その結果、クライアントが求めているものとは違うものができあがってしまう可能性があります。
3:視野を広げて全体像を意識する
基本設計ではシステムに対する全体視点を持って設計しましょう。システムの機能全体を見るために視点を高くするというだけでなく、クライアントの視点やチームの一員としての視点など、全ての関係者の視点を持つという意味でもあります。
さまざまな立場に立ってシステムを見ることができれば、単に必要な機能を持っているだけでなく、使い勝手まで考慮した基本設計が行えるでしょう。
4:手戻りを想定して考える
システム開発プロジェクトでは、手戻りの工程がないことはまずあり得ません。もちろん手戻りが起きないレベルまで工程のクオリティを上げることが理想ですが、基本設計は頭の中で考えて設計しなければいけないため、実際に開発に着手しなければわからない点も多いです。
そのため、基本設計では手戻りが発生することを想定したうえで対策を用意しておくことが重要です。また、設計上のリスクをあらかじめクライアントに伝えておくことも大切だと言えるでしょう。
5:基本設計に見合ったエンジニアスキルが問われる
エンジニアのスキルが問われるのはプログラミングではなく設計作業です。設計を行うには情報システムの全体像を把握し、矛盾が発生しないように取りまとめる知識やスキルが必要になります。
そのため、設計の工程に携わるまでには多くの経験を積み、システムに対する理解を深める必要があります。このように、基本設計にはエンジニアスキルが問われるため、設計の工程に携わりたい場合は十分な経験を積む必要があります。
基本設計について理解しておこう
基本設計とは、情報システムに必要な機能などをまとめる工程です。ぜひ本記事で紹介した基本設計の概要や役割、基本設計書を作成するうえでの重要事項などを参考に、エンジニアとしてのスキルが問われる基本設計について理解を深めてみてはいかがでしょうか。
【著者】
東京ITカレッジで講師をしています。
Java 大好き、どちらかというと Web アプリケーションよりもクライアントアプリケーションを好みます。でも、コンテナ化は好きです。Workteria(旧 Works)ではみなさまのお役に立つ情報を発信しています。
「Workteria」「東京ITカレッジ」をご紹介いただきました!
正社員/フリーランスの方でこのようなお悩みありませんか?
- 自分に合う案件を定期的に紹介してもらいたい
- 週2、リモートワークなど自由な働き方をしてみたい
- 面倒な案件探し・契約周りは任せて仕事に集中したい
そのような方はぜひ、Workteriaサイトをご利用ください!
定期的にご本人に合う高額案件を紹介
リモートワークなど自由な働き方ができる案件多数
専属エージェントが契約や請求をトータルサポート