機能としてつなげる
材料が揃ったところで機能を使って入出力とデータをつなげます。まずは「画面・帳票」「イベント」から「機能」を洗い出します。実際のプログラムを無視して論理的な「機能」を洗い出します。
「要件のツボ」ではあらかじめ登録してある「画面・帳票」に並べて「機能」を入力(図2参照)することで、つながりを表現します。同じく「イベント」に並べて「機能」を追加します。これで入出力に機能を追加することができます。また、共用機能を使うことで複数の「画面・帳票」「イベント」で1つの「機能」を共用することができます。
次に機能とデータをCRUD(Create,Read,Update,Delete)を意識してつなぎます。「要件のツボ」ではCRUD用の登録画面があります。関係する機能とデータをドラッグ&ドロップで対応づけ、個々の関係についてポップアップメニューでCRUDの設定を行います(図3左側)。
設定が終了したら次にデータ・CRUDごとの機能の関わり(図3右側)を確認します。データは基本的に「生成、更新、参照が行われ、最後に削除される」というライフサイクルを持ちます。洗い出された入出力がこれらのデータのライフサイクルを満たしているかを確認することで、機能とデータ、入出力情報の不整合を見つけることができます。
例えば在庫データにつながる機能としてCreate、Updateするものが抜けているときは、機能の関連づけが抜けているか、機能そのものが抜けている可能性があります。
機能の洗い出しでは機能分割をしてはいけません。ここで洗い出す機能はシステムを整理するための機能であって、プログラムの洗い出しではありません。
入出力とデータがどのような機能でつながっているかを想像し、保守担当者などにヒアリングして確認します。こうすることで網羅的に効果的なヒアリングを行うことができ、プログラムに頼らなくても分析を進めることができます。
最終的に洗い出された情報は図4のように機能を介してつながります。入出力、機能、データのつながりを確認することで、各々の情報の役割が見えてきます。
最終的には洗い出したすべての情報をつなげ(図7左側)それらの関係を説明できるようにします。説明できないところ、つじつまの合わないところが調査ポイントになります。つながりを使って広く浅くシステムを理解し、説明できるようになることが分析のゴールになります。