ユースケースのアクタを配置する
ユースケース図の中に、ユースケースを利用する外部のもの(人間やシステム)を周りに配置していきます。これらを「アクタ」(「Actor→アクター→アクタ」と変化したようです)と呼びます。例えば「保険をかける」といったユースケースは誰が利用するでしょうか?考えられるものは自動車のオーナーと保険屋です。
では、自動車のオーナーが利用するユースケースは「保険をかける」だけでしょうか?思考を巡らすと「車を登録する」といったユースケースが浮かんできます。公道で未登録の車を走らせることできません。では「車を登録する」といったユースケースを利用するのはオーナーだけでしょうか?登録に携わるアクタとして陸運局があります。
このように、思考を巡らしてシステムを機能的に分析し、必要となるユースケース、アクタをモデリングしていきます。
最初に整理した要求とユースケースの間にリンクを結ぶことで、どの要求がどの機能で実現されているかトレースを取ることができ、繋がりの見える化にもなります。
ユースケース図も階層化
先ほど記述したユースケース図ではハイブリッドカーのすべての機能を網羅しているとはいえません。1枚のユースケース図にすべてのユースケースを記述すると大変見難くなってしまいます。そこで、ユースケース図の階層化を行います。
図2は先ほどのユースケース図の「車を運転する」をブレイクダウンしたものです。「車を運転する」に付随するユースケースにはどんなものがあるでしょうか?たとえば「加速する」「舵をとる」「発車する」などがあると思います。必ず使われるユースケースを「<<include>>」の依存関係で、場合によって使われるユースケースを「<<extend>>」の依存関係で表します。
以上のように、概要をつかむことができる抽象度の高い図でトップレベルのユースケース図を描き、さらにその要求をブレイクダウンした図を別に用意することで、全体を整理しやすくなります。
次はユースケースのシナリオをみてみましょう。 次のページ