前項「必ず知っておきたい要件定義でやるべきこと#1」では制約をふまえて「要求」を「要件」化して整理し、新ToBeモデル作成の準備を行いました。本項では、前項で説明した、要件化された事項の「大枠」「範囲」を掴みましょう。もし#1をご覧になっていない場合には先にご参照ください。

制約の確認

プロジェクトには常に制約が伴います。システム開発プロジェクトももちろん例外ではありません。システム開発プロジェクトは常に概要から詳細へ、その時点で把握可能な内容を整理し、落とし込んでいくのがセオリーです。したがって、まず「大枠」の理解から始めます。大枠を把握するには、要件の羅列も充分有効ではありますが、「わかりやすさ」そして「見える化」を優先するために、ここは図式化して整理しましょう。

「大枠」を図式化するために、「システム全体図」を描きます。これは現時点での制約、想定機能を書き込んだ図になります。この段階におけるラフな設計図といってもよいかもしれません。図が完成したら、それがプロジェクトの航海図となり、新TOBEモデルの元ネタになります。ToBeモデルを作成する際に混乱が生じたときは、常にこの航海図に遡って検討することになります。システム全体図は、要件定義書(要求から要件のトレースが可能な資料)を参照して作成します。また、要求分析資料、RFP(request for proposal:提案依頼書と言い、事業者に向けて具体的な依頼を書いたもの)、規定、業務ルールは、既に要求の洗い出し段階で参照済みかもしれませんが、改めてこれらも参照した方がよいでしょう。そしてTOBEモデルが存在する場合は、もちろんそれも参照する必要があります。設計対象システムの全体像を把握するために、上記のような様々な資料を総合して、新システムのイメージを想定します。そのイメージを、新しいシステム全体図の形へと落としていくのです。

システム全体図とは?

システム全体図を作る目的は、制約を踏まえて要件化された開発対象の全体像を把握し、外部との接続形態とともに、現時点で想定可能な機能を洗い出すことにあります。システム全

体図を作成するときは、まず、 対象のシステムを図の中心に配置し、次に、関連のある他のシステムを回りに配置した後に矢印で結び、相互の関連の仕方を記述していきます。作成の際に留意すべきは以下の点です。

・トレース可能な要求から要件化されたシステムが網羅されているか。

・対象のシステムは、他のシステムと関連があるのか。あるとすればどのような関係か。

・外部との接続があるのか。あるとすればどのような形態か。

・対象のシステムは、分割した形で管理可能か。可能であれば、どのような管理が可能か。

 

対象のシステムを、管理可能ないくつかの固まりに分割して表します。この固まりは、業務上の括りでまとめるのが一般的です。後述する業務プロセス要件の明確化における「プロセスの固まり」、データ要件の明確化における「サブジェクトエリア」の候補になります。また、後工程でサブシステム分割を行う際に参考となります。現時点では、誰が見てもわかりやすい業務上の固まりに“括って”おきましょう。次に、要件から明らかになった、関連のありそうな他のシステムや、業務サブシステムの候補を書き出していきます。とりあえず他システムとの連携等、外部との接点がありそうならば書き出していきます。その際、現時点でも明確ならば接続方法についても記載します。想定で書き込んでいくうちに、開発対象のシステムイメージが沸いてきます。間違いを恐れる必要はありません。どんどん全体図に書き込んでみましょう。修正を繰り返していくうちに形になっていきます。見にくくなったら書き直せばよいのです。また、後工程で作成する業務フローおよびプロセスの固まりに変更が生じた場合は随時、システム全体図の変更を行い、業務フロー図と同期させておきましょう。

「システム全体図」の作成手順

実際の「システム全体図」の作成手順は以下のとおりです。

Step 1 システムイメージの検討ビジネス要件、業務要件、システム要件が明確になっている「要件定義書」を基に、新システムイメージを検討します。分かる範囲で構いませんので、社内事情や外部環境の影響、コスト、時間的制約など、前提条件や制約条件を明確にして、書き出しておきます。メモ書きで構わないので図の横に書いておきましょう。その際、「ビジネス要件」「業務要件」「システム要件」との整合性を満たしているかを常に意識しつつ、作成していきましょう。

Step 2 システム全体のラフスケッチを描く現時点で想定可能なシステム全体のイメージをラフに描写し、「新システム全体図」を作成します。

Step 3 外部接続を描き加える外部接続イメージを全体図に描き込んでいきます。これも現時点でわかる範囲で構いません。

Step 4 サブシステム(候補)同士のつながり対象となるシステム内で必要と思われるサブシステム(候補)を、描き込んでいきます。これも「ビジネス要件」「業務要件」「システム要件」を参照して、要件との整合性を確保します。また、わかる範囲で構いませんので、つながりを線で結び、可能であれば、連携の方向を矢印線で示しておきましょう。

Step 5 機能間の連携も記載するもし想定可能なら、サブシステム(候補)内で必要とされる(と想定される)機能同士の関連を、各サブシステム(候補)内に書き込んでいきます。これも現時点で想定可能な範囲で構いません。コンシューマー向けシステムの場合は、お客様との接点に着目して記載すると、機能の洗い出しが容易になります。

以下は例として挙げておきます。「→」部分にはどのような関係かという簡易な説明があると見難くなければ良いかと思います。

実施作業の場合分け

これらの作業項目を、下記のような場合分けに応じて、適宣、実施していきます。

エンタープライズ系システム→新規➊→修正③

コンシューマー向けシステム→新規❷→修正④

 

上の➊と❷の場合には、業務分析工程で ToBe モデルが作成済なら、要件事項を参考にしてシステム全体図を作成します。未作成の場合は、整理された要件を基に作成します。③と④の場合には、外部連携および既存システムとの影響を中心に確認して、システム全体図を作成もしくは修正します。システム全体の中で修正箇所の位置づけを明らかにしていきます。❷と④のコンシューマー向けシステムの場合は、新規、修正を問わず「お客様(顧客)」を意識して、お客様との接点をきちんと把握できるようにシステム全体図を作成しましょう。

【広告】Librus Tech Communityのお知らせ

Librus株式会社が運営する、システムエンジニアやプロジェクトマネージャーの方向けに展開するコミュニティにぜひご参加ください。「互いに助け合い、学び合う空間」をコンセプトに、システム開発に関するセミナーや勉強会をはじめ、案件や転職先のご紹介、相談対応も行います。エンジニア初心者の方や起業、現在フリーランスをされている方、フリーランスを目指している方も大歓迎です。

▼Slackコミュニティ入会フォーム
https://forms.gle/1D5duKwVJhm1vFb18