Transcript PPT

ユースケース図
FM12012
比嘉久登
目次
•
•
•
•
•
•
ユースケース図とは?
アクター
ユースケース
ユースケース記述
ユースケース図で使用する関係
練習問題
ユースケース図とは?
• ユーザーのシステムに対する要求を表現するもの
• システム自体はブラックボックスとして捉え、利
用するユーザがシステムに要求する機能について
表現
• ユースケース図は、ユースケース、アクター、関
係で構成されます。
アクター
• アクターとはシステムを起動したり、システム
と情報のやり取りなど相互作用を行うシステム
の外部の人
• 人以外にもシステムやハードウェアがアクター
になる場合もある
アクターの表記
• アクターは人型アイコン(「スティックマ
ン」)で表現
• ステレオタイプ<<actor>>を持った長方形で表
現することもできる
アクターの表記
• アクターはユースケースを利用する実体を、代
理的に役割として表現
アクターの表記
• アクターは役割を表現するので、アクター名は固有名詞
ではなく、システムに対する人や物の役割を端的に表す
名称を選ぶ
• 主にアクターになるもの
▫ ユーザ
▫ 他システム
▫ ハードウェア
ユーザ
• システムを直接操作するユーザ
• システムから結果を受け取るユーザ
などが、一般的なアクターになる
他システム
• 今回対象としているシステムとは別に既存のシ
ステムが存在しており、今回のシステムと既存
のシステム間でデータのやり取り行われる場合、
既存のシステムをアクターとして考える
ハードウェア
• 外部のハードウェアと直接データのやり取りを
行う場合は、このハードウェア自体をアクター
として表現
システムとの境界
• アクターは、システムの外部からシステムを起動したり、
システムと情報のやり取りなど相互作用をしたりします
• ここでアクター自体はシステムの範囲外なので、何がア
クターになっているかによって、システムの境界を示す
ことができます
ユースケース
• システム内の機能を表現
• システムの提供する機能(振る舞い)をシステム
の内部構造ではなく、あくまでもシステムの外部
から見た機能に着目して表現
• システム自体はブラックボックスとして捉え、そ
のシステムの利用者の視点で考える
• システムに要求される機能はすべて複数のユース
ケースで網羅して表現
ユースケースの表記
• ユースケースは楕円の中にユースケース名を書
いて表現
• ユースケース名は楕円の下に書いてもよい
適切なユースケースのサイズ
• ユースケースのサイズは、アクターが意識して
いるシステムの機能の大きさを目安にする
• ユースケースのサイズはどのくらいが適切か
▫ アクターから見たシステムの機能の大きさを尺度
とした場合
 1つのユースケースの機能が終了したらその目的が
達成される
 1つのユースケースの中で中断が発生しない
• この2つの条件に適合しているものが適切なサ
イズといえる
レンタルビデオ店の例
1つのユースケースの中で中断が発生しないという条件を満たさない
ユースケースが細かすぎる例
1つのユースケースの機能が終了したらその目的が達成されるという条件を
満たさない
適切なサイズのユースケース
ユースケース記述
• ユースケースだけだと詳細な記述ができない
• そこで、ユースケースの1つ1つに対して、
ユースケース記述を追加します
• ユースケース記述は以下の3つを指します
▫ 概要
▫ シナリオ
▫ イベントフロー
概要
• 概要にはユースケースの役割、目的などを数行
で記述します
シナリオ
• シナリオにはユースケースの具体的な流れの1
つを記述します
• シナリオは1つのユースケースに複数存在する
ことになりますが以下の2つに大別できます
• 基本的シナリオ
▫ ユースケースの目的が達成できたシナリオ
• 例外シナリオ
▫ ユースケースの目的が達成できなかったシナリオ
イベントフロー
• ユースケースの流れのすべてを網羅するように
記述
• 具体的な名前や数字は用いず、汎用的に表現
• ユースケースごとに記述
• イベントフローで記述する項目
▫
▫
▫
▫
▫
事前条件
事後条件
基本フロー
代替フロー
例外フロー
ユースケース図で使用する関係
• ユースケース図で使用する関係には、以下のもの
がある
▫
▫
▫
▫
関連
包含
拡張
汎化
• アクターとユースケースの関係:関連を使用
• アクター同士の関係:汎化を使用
• ユースケース同士の関係:包含、拡張、汎化を使
用
関連
• アクターとユースケースの関係には、「関連」
を使用
• 多重度をつけることも可能
包含
• 包含を利用すると、イベントフローで共通だっ
た部分を図示でき、複数のイベントフローの関
係を視覚的に理解することが可能
• 包含は、ステレオタイプ<<include>>をつけた
依存関係を、包含するユースケースから、包含
されるユースケースに対して引いて表現
例えば
Webショッピングシステムの例
拡張
• 基になるユースケースに対して、新たな機能を
追加すること
• 拡張は、<<extend>>を付けた依存関係を、拡張
を提供するユースケースから拡張されるユース
ケースに対して引くことで表現
• 拡張を提供するユースケースへ分岐するところ
を拡張点という
• 拡張点は、ユースケース名の下に線を引いて、
その下の部分に記述する
例えば
Webショッピングシステムの例
アクターの汎化
• アクターAがいくつかのユー
スケースと関連があり、別の
アクターBがアクターAとす
べての同じユースケースと関
連がある場合、アクターAと
アクターBは汎化の関係で接
続することができる
• 汎化関係は、白い三角形のつ
いた矢印で表現
出退勤管理システムの例
抽象アクター
• 下位のアクターをまとめる意味で作成
• アクター名を斜体で表記
ユースケースの汎化
Webショッピングシステムの例
抽象ユースケース
• あるユースケースA、B、Cがあった場合、A
とBは、両方ともCの機能を使って、かつ追加
の機能があり、アクターは、AとBのどちらか
の機能を使う場合、Cは、抽象ユースケースと
呼びます
• ユースケース名を斜体で表記
Webショッピングシステムの例
練習問題(問題1)
以下の説明文に対して、適切なモデル表記を選択しなさい。
「田中さんは、総務部に所属しています。従業員情報の変
更や新入社員の情報を登録する係です。田中さんの同僚で
ある伊藤さんも同様の作業を行っています。」
練習問題(問題2)
• アクターの候補にならないものを選択しなさい。
1.システムを利用するユーザ
2.既存のシステム
3.開発対象の機能
4.システムとの直接通信するハードウェア
練習問題(問題3)
• 正しいアクター表記を選択しなさい。
練習問題(問題4)
• 以下の図にあるすべての
ユースケースを含むもの
を選択しなさい。
1.「従業員」と「管理者」
2.「従業員情報を参照す
る」と「従業員情報をメン
テナンスする」
3.「従業員情報を参照す
る」と「従業員情報をメン
テナンスする」と「従業員
情報システム」
4.「従業員情報システム」
練習問題(問題5)
• ユースケース図の特徴を選択しなさい。
1.システムの提供する機能とその利用者との関係
を明らかにする。
2.システムの内部構造を明らかにする。
3.システムのデータの流れを明らかにする。
4.システムで使用するコンピュータなどのシステ
ム構成を明らかにする。
5.システムの状態の遷移を明らかにする。
質問