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