基本設計における成果物とは?作成時のポイントまで解説

 2023.02.10  株式会社システムインテグレータ

基本設計ではどんな成果物を作るかご存知でしょうか。なんとなく全体的なシステム開発の流れは知っているけど、要件定義や詳細設計で作成する成果物との違いははっきりとわかっていない、という方は少なくありません。
この記事では、基本設計で作成される成果物について紹介していますが、実際プロジェクトの進め方によって、このドキュメントは要件定義ではなく基本設計で作るなど、どの工程で作るかは変わる場合もあります。本記事ではひとつの基本として、基本設計の各成果物の概要と作成時のポイント、基本設計での成果物の作成時の課題や、効果的に成果物を作成するための方法を解説します。
基本設計と要件定義、詳細設計との違いについても記載しているので、3つの違いを理解した上で、基本設計の成果物について理解を深めていきましょう。

基本設計とは?

基本設計における成果物とは?作成時のポイントまで解説 1

基本設計とは、クライアントが抱えている課題の解決や要求を実現するために、システムの概要をまとめる作業のことです。具体的には、開発システムに持たせる機能ごとに、機能がどのようなものなのか、何をするためのものなのか、他の機能とのつながりなどを決めていきます。
基本設計は、このあとご説明する要件定義のあとに実施され、完了すると詳細設計のフローに移ります。この基本設計は、システムの開発者だけではなく、クライアントも確認することが一般的なため、どの機能がクライアントのどのような課題を解決するのかなどを意識しながら進めていく必要があります。
また、開発者の視点だけでなく、ユーザー視点、クライアント視点を持って作成することが求められます。クライアントが確認できるのは基本設計までで、詳細設計は開発者のための手順のため、後の開発途中でクライアントの要求と齟齬(そご)が生まれないように進めることが必要です。

要件定義との違い

要件定義は、クライアントへヒアリングを実施し、システムが実装しなければならない機能を明確にするものです。開発側の視点から、できること・できないことをはっきりとさせるフローでもあります。
また、要件定義はクライアントが満足することが重要であるため、ITにあまり詳しくないクライアントでも理解できる内容にしておく必要もあるでしょう。またシステムの開発を行っていく上でのメンバーやスケジュールなどもここの段階で決定しておくことで、安心して開発を行うことができます。
こちらの記事では、より詳細に要件定義と基本設計の違いについて解説しています。ぜひ、あわせてご一読ください。
「要件定義」と「基本設計」の違いとは?基本の流れとポイントを解説

詳細設計との違い

基本設計が終わったら、次は詳細設計のフェーズに進みます。
詳細設計は、システムに持たせる機能ごとにより詳細に設計を行うフローのことです。基本設計で実装することになった機能を、どのように実現するのかを定めます。
この段階では、開発者のためのものより具体的な設計フローとなるため、内部設計と呼ばれることもあります。


基本設計における成果物とは?

基本設計における成果物とは?作成時のポイントまで解説 2

基本設計で作成される成果物とは、どのようなものなのでしょうか?
そもそも、システム開発における成果物とは、要件定義や詳細設計などのフローが完了したときに作成されるドキュメントや、完成したプログラムのことを指します。必ずしも、プロジェクトで最終的に完成するシステムのみを指しているわけではないのです。
そして、基本設計における成果物は、主に「基本設計書」のことを指し、記載される内容は次のような項目から構成されます。

・業務フロー図・システム構成図
・画面一覧表
・画面遷移図
・コード一覧
・CRUD図
・インタフェース一覧

それぞれについて、詳しく見ていきましょう。

業務フロー図・システム構成図

基本設計書では、システムの全体像を把握するために「業務フロー図」や「システム構成図」を作成します。これらは、文字通り、システムを利用する際の処理がどのような工程で進むかを明確にするための図です。
例えば処理の種類(リアルタイム処理かバッチ処理かなど)や、処理によって得られたデータを格納する場所(DBやファイル、クッキーなど)などの詳細を決めます。
処理の流れを書いていくにあたり、システムの構成要素を図形などを使って記載していきます。システムの構成要素を示す図を線などを用いてつなげるようなかたちで業務フローを図中に記載していきます。

画面一覧表

「画面一覧表」はナビゲーション設計の段階で作成される成果物です。この段階での成果物は他にも「画面遷移図」(次の項目で説明します)などがあります。
画面一覧表は、システムで表示される画面の一覧表のこと。記載する項目には画面の番号から、画面名、画面中にどのような機能が備えられているか、帳票の出力をできるようにするか、などがあり画面ごとに表としてまとめます。項目は、次のようなものが挙げられます。

・項番:画面ごとの番号
・画面名:各画面の名称
・画面ID:画面の物理名称
・分類:画面の種類をいくつかに分類
・機能名:機能の名称
・機能ID:機能の物理名称
・説明:各機能の目的やどのような振る舞いをするか

画面名や機能名では、論理名と物理名のそれぞれを設定しておくと、後のフローをスムーズに進めることができます。物理名だけだとクライアントが画面のイメージをしづらい場合も考えられるため、論理名も決めておくといいでしょう。

画面遷移図

「画面遷移図」は、ユーザーが目的の機能を使うためにどのような操作をすればよいかを図で書き表したものです。
業務フロー図と混同しがちですが、画面遷移図はシステムで実際に表示される画面に限ったもののみをまとめたものになります。
この画面遷移図は、業務フローと同様に図形や線を用いて作成していきますが、グラフィカルで理解を簡単にしてくれるもののため、クライアントと開発者の両者にとって重要なものです。

コード一覧

データベース設計を行う際に必要となってくるのが「コード一覧」です。
コードの区分や意味などを整理され、システムの保守などで用いられます。ここで決まるコード体系は、将来的なシステムの更改や移行のことも考えて作成する必要があります。

CRUD図

「CRUD図」は、データベースの設計(DB設計)で必要不可欠なもので、各テーブルごとにどのような機能を持つかを表でまとめます。
CRUDとは、データベースの設計で用いられる機能である、「Create(生成)」、「Read(読み取り)」、「Update(更新)」、「Delete(削除)」それぞれ4つの頭文字をつなげたものであり、「クラッド」と読みます。
データベースの安全性を確保するためには、各テーブルごとの機能であるCRUDを網羅しておく必要があります。

インタフェース一覧

システムのほとんどは、社内外関わらず他のサービスと連携しています。
ファイルやソフト、データベースの連携することをインターフェースと呼びますが、設計段階で連携先や連携方法、連携時に参照するデータなどをまとめておく必要があります。それらをまとめたものが「インターフェース一覧」です。
システムが外部システムとどのように連携するのかなどを考えながら作成すると良いでしょう。

基本設計で成果物を作成するときの課題

基本設計における成果物とは?作成時のポイントまで解説 3

ここでは、基本設計で成果物を作成するにあたり生じる、課題について考えていきます。
設計の課題として浮き彫りになるのが「属人化」です。属人化とは、設計方法や内容が設計した本人自身以外ではわからなくなってしまう状態を指します。一般的には従業員が突発的に仕事を休んだ場合や、退職したときなどに他の作業者へ引き継ぎ作業が行われていないときなどに顕在化してきます。
システムの開発においては、ひとりで開発に当たることはなく、複数人の開発者でチームを組んで進めていきますが、携わる人数が多くなればなるほど属人化の影響を受けやすい環境と言えます。設計だけでなく実際のプログラムのコーディングの場面でも起こりうる問題であるため、システム開発時は、属人化が起きないように詳細に設計を行うことが必要です。
では、この属人化はなぜ起きてしまうのでしょうか?この発生原因について、2つの観点から解説していきます。

理由①:成果物に対する基準が無い

一つ目の理由は、成果物に対する基準が無いことです。
基本設計の成果物である基本設計書ですが、「必ずこう表記しなければならない」「こう表記するのは避ける」など、世界共通の明確な基準が設定されているわけではありません。
そのため、設計者によって表記の方法などが異なり、「設計者以外が内容をすべて理解できない」というような、属人化が発生してしまうのです。
また、「基本設計書は、これで作成すべき」というような決まりもないため、設計書によって使うツール(WordやExcelなど)も異なり、これも属人化の一因となっているようです。
近年では、設計書のテンプレートを作成する動きも見られますが、これは得策とはいえないでしょう。開発内容によって、必要な項目は異なるため、テンプレートを作成してもすべての開発に適用できるというわけではないためです。

理由②:基準化の仕組みがない

理由①でご説明した通り、成果物に対する明確な基準が設けられていないことは、属人化が発生する大きな要因です。
しかし、これら成果物に対する基準をイチから設けることは、簡単ではありません。
そこで、「CADツール」の活用が注目を集めています。CADとは、「Computer Aided Design」の略で、設計や製図の支援をしてくれるものです。従来、住宅や建築、アパレル業界で活用されてきましたが、近年システム開発の分野にも用いられるようになりました。CADツールは、あらかじめ決まったフォーマットに、設計内容を落とし込んでいくため、成果物の基準化が実現、課題の解決を図ることができるのです。


RELATED POST関連記事


RECENT POST「コラム」の最新記事


コラム

システム開発の手法とは?ウォーターフォールとアジャイル開発との違い

コラム

理想の設計書フォーマットを考える

コラム

これからのソフトウェア設計書に求められる書き方とは?

コラム

システム開発手順について押さえるべきポイント

基本設計における成果物とは?作成時のポイントまで解説
新規CTA