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