表形式のRDRA定義
従来のダイアグラム形式から表形式でモデルを表現し、素早く精度の高いシステムの可視化が可能になります
シートごとの定義
アクティビティ、UC、
アクター、外部システムを洗い出す
業務、BUC、情報、状態が把握できると、システム化のスコープが明らかになります。ここからは業務と情報をつなぐための組立を行っていきます。そのためにBUCで価値を届けるステップをアクティビティとして定義し、アクティビティでシステムを使う場合は同じ行のUC列にUC名を「XXXをYYYする」として洗い出します
アクティビティ、UCに関わるアクター、外部システムを記述しBUCを駆動する対象を明らかにします。この過程で様々な気づきがあるので、業務、BUCの見直しを行いながら精度を上げていきます
表形式でのRDRA定義の場合は複雑なフローを想定しておらず、E列に「↓」を記述することで上から下に流れるフローを表現する。C列とE列に同じラベルを付けることで、簡単な分岐を表現できます
条件とバリエーションを洗い出す
ビジネスルールを条件として表し「条件」シートに定義します。また、条件の軸になるものをバリエーションとして扱い「バリエーション」シートに定義します。条件はBUCシート(H列)に記述し、アクティビティ、UCに条件をつなげることでビジネスルールを表現します
条件は消費税のような単独の式で表されるものや、バリエーションや状態の組合せで表現するものがあり、その関係を条件シートに記述します。バリエーションはアクターなどの様々なものを分類して管理するために用います
ビジネスの変化はバリエーションの値の追加、変更として現れることが多く、適切にバリエーションを洗い出せるとシステムの変更をパラメタ的に扱えるようになり保守性がよくなります
まとめ
素早く精度の高い要件を定義するコツを示します
一つ々のシートを完成させようとしない、最初は全てのシートを思いつくもので埋め、不正確でもいいので一旦全てのシートを埋める
全ての定義は意味的につながっているので、つながりを意識(アクターがUCを操作するためには画面が必要)し再度組み立てを行う
各シートを何度も行き来しながら、徐々に精度を上げていく
上記の作業を行うことでシステムのスコープやシステムで行うことがイメージがつくので、空中戦がなくなり素早く要件を組み立てることができます