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.システムの状態の遷移を明らかにする。 質問