今の考えとしては、ロバストネス分析によってシステム全体の関連性を確認してから、RDRAの画面帳票モデル、機能モデル、データモデルにバウンダリ、コントロール、エンティティを落とし込んではどうか? と思っています。かなり冗長なイメージですが、実験プロジェクトですので、トライしてみます。また、RDRAの機能モデルとICONIXのコントロール、この違いも(教科書を読んだだけではなく)体験として捉えることができるかもしれません。ということで、作業に入りましょう。
最初に選んだユースケースは、
新着のknowledgeを新着リストに表示する
そしてユースケースシナリオは、
- システムは、トップページを表示する時に、現在の日付から7日前までに作成(更新)されたknowledgeを、作成(更新)された順番の新しいものから順番に表示する。
- ユーザーは、トップページにアクセスした時に、新着リストを参照する。
- ユーザーは、新着リストの項目を選び、該当するknowledgeを参照する。
ユースケースシナリオを読みながら、順番にクラスを抽出していきます。
- トップページ(バウンダリ)
- トップページを表示する(コントロール)
- おっと、ここでユースケースシナリオの不備が見つかりました。新しいものから順番に表示するものは何? それは新着リストであることが読み取れません。ですから、 新しいものから順番に新着リストに表示する、とユースケースシナリオを修正します。これで新着リストを表示する(コントロール)を見つけることができました。
- トップページを表示する(コントロール)は、具体的に何をするのかよく分かりませんが、新着リストを表示する(コントロール)は、ユースケースシナリオによって明らかになっています。これにより、knowledge(エンティティ)が発見され、新着リストを表示する(コントロール)と結びつきます。
ユースケースシナリオの最後に「…該当するknowledgeを参照する」が残っていますが、このシナリオには独立した「knowledgeを参照する」ユースケースが用意されていて、これとprecedesの関係であることがユースケースモデルによって明らかにされています。ですから、最後の参照部分はここでは扱いません。
下の図は、この作業の一場面をキャプチャーしたものです。
ご覧のように、ユースケースシナリオとそのオーナーであるユースケース、関係するユースケースを眺めながら、先のようにシナリオを読み進めれば、簡単にロバストネス分析は終了します。また、この作業を通じてユースケースシナリオのレビューを行うことができます。
また必要により、図のように新旧のユースケースシナリオを並べておくと、ユーザー(要求者)とのコミュニケーションなどに役立つかもしれません。
続く…
0 件のコメント:
コメントを投稿