アクタ(actor)

ユーザがシステムに対して演じる役割をアクタという.図[*]には,責任者とトレーダという2人のアクタがいる.金融取引会社には多くのトレーダがいるだろうが,システムに関する限り,彼らは皆同じ役割を演じる.したがって,一人のトレーダを描けばよい.また,責任者はあるときはトレーダの役をやるかもしれない.このようなことから,アクタを扱うときは,人やその人の役職よりも,その人の役割について考えるべきである.

ユースケースを導くときに最も便利なものはアクタであると言われている.特に大きなシステムでは,ユースケースのリストを考えつくことは至難の業である.このようなとき,アクタのリストを考えつく方が簡単である.そして,アクタごとにユースケースを見出していけばよい.

例えば,図[*]において,アクタである責任者が演じる役割は,「取引の上限の設定」というユースケースである.また,トレーダーが演じる役割は,「リスクの分析」,「価格取引」,「取引の獲得」といったユースケースである.

ユースケース図では,アクタは棒人形(stick figure)で表されるが,人間である必要はない.アクタは対象としてしているシステムから情報を必要とする外部システムであることもある.

ユースケースの関係

アクタとユースケースの関係以外に,ユースケース間の関係にはいろいろある.

包含関係(include relationships)

1つ以上のユースケースに対して,同じような振る舞いをするユースケースがあり,その振る舞いを記述したくないときに,include関係が発生する.例えば,図[*]において,「リスクの分析」と「価格取引」ともに「価格評価」を必要とする.

図: 包含関係
\begin{figure}\begin{center}
\includegraphics[width=7.2cm]{UMLFIG/use-case-2.eps}
\end{center}\vspace{-0.6cm}
\end{figure}

ユースケースの汎化(use case generalization)

他のユースケースとよく似ているが,それより遥かに多くのことを行う場合,ユースケースの汎化を用いる.図[*]における,「取引の獲得」と「上限を超える」の関係である.

拡張(extend)

拡張は基本的に汎化とよく似ている.ユースケースを拡張することにより,基本のユースケースに他の振る舞いを加えるものである.拡張を用いるには,図[*]のように,基本のユースケースに拡張ポイントを宣言し,拡張されるユースケースには追加された振る舞いを記述する.

図: 拡張
\begin{figure}\begin{center}
\includegraphics[width=9.8cm]{UMLFIG/use-case-3.eps}
\end{center}\vspace{-0.6cm}
\end{figure}