200 likes | 350 Views
ユースケースモデル第3回(最終回). より分かりやすい ユースケースモデルを作る. 慶應義塾大学 大岩研究室 WEB アプリケーション研究会 第4回サブゼミ. GOAL. 複雑なイベントフローが与えられた時、 アクティビティ図 を使って明らかにすることができるようになる. Objective. イベントフローが与えられた時、 アクティビティ図 を書けるようになる アクティビティに 適切な名前 をつけられるようになる アクティビティ図で 分岐 を使えるようになる アクティビティ図で適切なときに レーン を使えるようになる
E N D
ユースケースモデル第3回(最終回) より分かりやすいユースケースモデルを作る 慶應義塾大学 大岩研究室WEBアプリケーション研究会 第4回サブゼミ
GOAL • 複雑なイベントフローが与えられた時、アクティビティ図を使って明らかにすることができるようになる
Objective • イベントフローが与えられた時、アクティビティ図を書けるようになる • アクティビティに適切な名前をつけられるようになる • アクティビティ図で分岐を使えるようになる • アクティビティ図で適切なときにレーンを使えるようになる • アクティビティ図で並行に仕事をすることを書けるようになる • ユースケースとアクティビティ図の関係を説明できるようになる • ユースケースとシナリオの関係を説明できる • ワークフロー、イベントフロー、メインフロー、サブフローの違いを説明できる
先週の復習 • 自動販売機で「購買者」アクタが「商品を買う」ユースケース • イベントフロー • ①利用者は、お金を投入する • ②利用者は、買うジュースを確定する • ③利用者は、商品を受け取る • ④利用者は、おつりを受け取る
開始状態 対応している お金を投入する アクティビティ (アクション) 買う商品を確定する 商品を受け取る 遷移 おつりを受け取る 終了状態 アクティビティー図 ①利用者は、お金を投入する ②利用者は、買うジュースを確定する ③利用者は、商品を受け取る ④利用者は、おつりを受け取る
これを うまく書く方法は ないものか? 買いたい商品の金額になるまで イベントフローで明らかでないところ • ①利用者は、お金を投入する • ②利用者は、買うジュースを確定する • ③利用者は、商品を受け取る • ④利用者は、おつりを受け取る
分岐点 ガード条件 分岐とガード条件
ここまでのまとめ • アクティビティ図とは • 仕事の流れを記述するもの • フローチャートに似ている • 状態遷移図とは見た目は似てるけど中身は違う • ユースケース文書のイベントフローを分かりやすく書くために使うことができる • 特に、分岐や、繰り返しを明らかにするのに役に立つ
アクティビティ図の効果的な使い方 • アクティビティ図は補助的に使う • 典型的な使用箇所 • ビジネスの業務フロー • ユースケースのイベントフロー • システムのアルゴリズム
用語を整理する • ワークフロー • イベントフロー • メインフロー • サブフロー • ユースケース • シナリオ ちがいを説明 できますか?
紛らわしいフローを整理しよう • 一般的に使われる用語 • ワークフロー • 何かの仕事の手順を表現したもの • ユースケースで使われる用語 • イベントフロー • サービスを実現するためにアクタとシステムがするやり取りを手順として表現したもの • メインフロー • イベントフローの中で、一般的なフロー。特に重要なフロー。 • サブフロー • イベントフローの中で、一般的ではないフロー。例外的なフロー
フロー図解 ワークフロー メインフロー サブフロー イベントフロー(ユースケース)
具体化 抽象化 ユースケースとシナリオ ユースケース • ①利用者は、お金を投入する • ②利用者は、買うジュースを確定する • ③利用者は、商品を受け取る • ④利用者は、おつりを受け取る 商品を買う シナリオ Aさんは、のどが渇いたので、近くの コンビニの前にある自動販売機に コーラを買いに出かけました。… Bさんは、夏のある日、テニスを 2時間して、のどが渇いたので、 受付の横にある自動販売機に ポカリスエットを買いに出かけました。…
アクタの仕事とシステムの仕事 先ほどの例 • ①利用者は、お金を投入する • ②利用者は、買う商品を確定する • ③利用者は、商品を受け取る • ④利用者は、おつりを受け取る システムを入れた例 • ①利用者は、お金を投入する • ②システムは、投入金額を表示する • ③利用者は、買う商品を確定する • ④システムは、商品を出す • ⑤利用者は、商品を受け取る • ⑥システムは、おつりを出す。 • ⑦利用者は、おつりを受け取る
アクタの仕事とシステムの仕事 アクタの仕事と システムの仕事が 明らかでない。
レーン レーンを使うと、 複数のアクタの仕事を明らかにできる (この場合、システム全体は アクタとして捉えることができる) 複数の人が仕事をする • 自動販売機システムの「商品を買う」イベントフロー 利用者 システム
複数の人が仕事をする、まとめ • 複数のアクタが仕事をするときに、誰の仕事かを明らかにするために、「レーン」を使う。 • レーンはいくつでも書ける。 • 今は、アクタごとにレーンにしています。 • 将来は、オブジェクトごとにレーンにしたりします。
並列に仕事をする 注文を配送システムに 送っている間に、 クレジット番号を入力 できればいいのに!
フォーク 同期バー ジョイン 並列に仕事をする
並列に仕事をする、まとめ • アクティビティー図において、基本的には、手順を明らかにするために使われるが、同時に行いたい時には、「同期バー」を利用して、並列に行われることを明らかにする。 • 2人が一緒に同時に仕事をする場合。 • 2人が同時に仕事をし始めると、同期を取る必要がある。(先に終わったほうは、後に終わる人を待つ。)→必ずジョインすること!