3. モデル・図の作成 |
3.2 シナリオ(scenario)の作成 |
![]() |
今度は、ユースケースを実行したときの流れを文章で表してみよう。これを「シナリオ」というんだ。シナリオは、これから実際にオブジェクトやクラスを考えていく上で大事な材料のひとつなんだよ。 | ||||
|
|||||
![]() |
シナリオには、あるユースケースが何も問題なく動作する事例を記述した「基本シナリオ」と、この基本シナリオに対する例外の「2次シナリオ」の2種類があるのですね? | ||||
![]() |
そうだよ。シナリオの書き方としては、ひとつのユースケースにおける処理の流れを、具体的な名前や値を入れた文章で書いていけばいいから、それほど難しくはないよ。 | ||||
![]() |
ユースケース図の「注文を登録する」ユースケースについて、次のような基本シナリオを作成してみました。 | ||||
図3.2.1 Chen君が作成した「基本シナリオ」:「注文を登録する」ユースケースのシナリオ |
|||||
![]() |
「注文を登録する」ユースケースを実行すると、注文を受けた商品がどこの配送センターで扱われているかによって、処理の流れが変わってきます。(1)のシナリオは、注文された商品はすべて指定配送センターで扱われていて、在庫もある場合です。商品は翌日の発送になります。(2)のシナリオは、注文された商品の中に、指定配送センターだけでなく、別の配送センターで扱われている商品も含まれていて、在庫がある場合です。別の配送センター扱いの注文商品がある場合、商品は定期便でいったん指定配送センターに集められます。そして、その翌日、指定配送センターから配送されます。 | ||||
|
基本シナリオとしては、こんな感じでいいだろう。では、2次シナリオもひとつ書いてみようか。2次シナリオは、基本シナリオに対する特殊な例や例外について考えてみればいいよ。 | ||||
図3.2.2 Chen君が作成した「2次シナリオ」:「注文を登録する」ユースケースのシナリオ |
|||||
![]() |
これは、注文された商品の在庫がない場合についてのシナリオです。 | ||||
|
|||||
![]() |
この場合はその商品に対して注文ができないわけだから、2次シナリオと言えるね。他にも、山田さんが顧客登録されていないケースや指定配送センターが指定されないケースなどが考えられるね。 |
||||
![]() |
はい。ところで、シナリオは、ひとつのユースケースに対してどの程度作成する必要があるのでしょうか? | ||||
![]() |
分析の段階では、基本シナリオを中心に作成するんだよ。そして、新しい振る舞いが出てこなくなったらシナリオの作成を終了していいと思ってくれればいいよ。設計の段階では、エラー処理なども考えなければならないから、2次シナリオがもっとたくさん必要になってくるよ。 | ||||
![]() |
分かりました。新しい要素が見つからなくなる程度を目安にすればいいのですね。 | ||||
![]() |
そうだよ。また、シナリオを分析しているうちに出てきたユースケース記述のもれなどは、ユースケースのモデルやドキュメントにに反映しておくようにしよう。 | ||||
![]() |
はい、分かりました。 | ||||
|
|||||
![]() |
では次に、シーケンス図を作成しよう。 |