14
1 UML:ユースケース記述、アクティビティ図

UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

1

UML:ユースケース記述、アクティビティ図

Page 2: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

2

UML:ユースケース記述

Page 3: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

3

ユースケース記述(イベントフロー・シナリオ)

ユースケース記述は、ユースケース図の作成と並行してユースケース単位で作成する文書(自然言語で記述)(UMLのダイアグラムには無い:様式は自由)

動的な視点ユースケースの役割、目的や動作の流れを明らかにする

シナリオ:

・ユースケースの実例を通じて、システムの動きを具体的に表現する

・1つのケースは、複数のシナリオの集合で表現される

・シナリオには、「基本シナリオ」、「拡張シナリオ」、「例外シナリオ」等に分けて記述するとわかりやすくなる

①基本シナリオ 正常に動作する場合の事例(ユースケースの目的が達成されるシナリオ)②拡張シナリオ 特別化された正常動作時の付加シナリオ②例外シナリオ 基本シナリオに対する例外的な事例(目的が達成できないシナリオ)

ユースケース名 商品を購入する

概要 会員が商品を選択して購入する

アクター 会員

前条件 会員・商品がシステムに登録されている事

ユースケース開始契機 会員が[商品購入]を選択した時

後条件(結果) 購入情報がシステムに登録される事

イベントフロー

1.ログイン画面を表示する

2.会員ID、パスワードを入力する

3.システムは商品情報を一覧表示する

4. :

シナリオ

①基本シナリオ

会員がWebサイトにIDとパスワードを入力してログインし、システムが表示する商品一覧から購入を希望する商品を選択する。

②拡張シナリオ

一般顧客が会員に登録する際には、会員登録画面から登録情報を入力しWeb購入会員に加入する

③例外シナリオ

選択した商品の在庫が無い場合には、システムから在庫なしの情報を会員に通知する

イベントフロー:

ユースケースを実行したときの具体的な流れを文章で表現したもの

Page 4: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

4

ユースケース図Webによる飛行機チケット予約のユースケース図

Page 5: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

5

ユースケース記述(シナリオ)ユースケース名 Webによる飛行機チケット予約

概要 フライトを予約する

アクター 顧客

前条件 顧客がフライト予約Webにアクセスしている

ユースケース開始契機 顧客が[国内便の予約]ボタンをクリックすることでユースケースが開始される

後条件(結果) 顧客が希望するフライトのチケットを予約することができる

イベントフロー

1.顧客が[国内便の予約]をクリックする事でユースケースが開始する

2.顧客は、画面から希望日時と路線を選択する

3.システムは、該当する希望日時、路線の全てのフライトと空席状況を画面に表示する

4.顧客は、予約するフライトと割引運賃、希望座席について画面から指定する

5.システムは、搭乗者と同乗者に関する必要情報の入力画面を表示する

6.顧客は、予約に必要な情報を入力する。(氏名、年齢、連絡先等)

7.システムは、入力内容をチェックし、問題が無ければ予約を登録し、予約番号を発行して確認画面を表示する

8.顧客は、確認画面で予約内容と予約番号を確認する

9.顧客が[終了]の操作を行う事でユースケースを終了する

シナリオ

①基本シナリオ

顧客が、希望するフライトのチケットを最大5名までの同乗者分を含めて予約でき、チケット購入引き換え時に必要な予約番号を確実に知らされる事。

希望する場合には、電子メールで予約内容の控えを受け取れる。システムは顧客の予約情報をと登録し、問い合わせやチケット販売時にオペレータが参照したり、顧客がWebから予約の確認、変更、キャンセルをする時に参照できるようにする。

②拡張シナリオ

・顧客が予約する際に、特別シートを選択することができる。

・顧客が、マイレッジ会員の場合には、マイレッジの残高を照会することができ、チケット代もクレジットカードで決済することもできる。

・顧客が、電子メールでの通知を機能する場合には、a)顧客は、メールアドレスを入力する b)システムは、予約内容を電子メールに編集して送信する

③例外シナリオ

・希望するフライトが無い場合(空席なし等)には、キャンセル待ちに登録することができる。

Page 6: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

6

UML:アクティビティ図

Page 7: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

7

アクティビティ図

ビジネスや情報システムの中に存在する「アクティビティ」の制御フロー。

アクティビティは、ある状態になってからそれが終了するまでの一定期間継続して行われる動作をいう。

・業務や処理の流れを表すために、関連する複数の業務手順や処理ステップを順序立てて配置する。

・ビジネスや情報システムに存在するオブジェクト間の制御フローを理解するために作成する。

・ワークフローや処理フローを整理するときに役立つ。

・ユースケース記述(イベントフロー)の補助的な使われ方をする。

・従来の”フローチャート“/”業務フロー”的に、業務の流れをわかりやすくする。

動的な視点業務の流れ、ユースケースの流れ、

アルゴリズムを明らかにする

Page 8: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

8

表記

分岐branch

処理の流れの分岐を示す。ガード条件をつけて表現する。

アクティビティ図の要素

表記

アクティビティ:activity

業務や処理を行っている状態。状態を矢印で結ぶことで、処理の流れ(順番)を示す。 表記

開始状態

システムの開始状態を示す。

表記

終了状態

システムの終了を示す。

表記

ガードguard

[条件]

条件を示す。

表記

同期バー

制御を分割したり、同期して結合したりすることを表す。制御を分割する時はフォーク(fork)、同期して結合する時はジョイン(join)と呼ぶ。

表記

レーン:swimlane

振る舞いの責任範囲を分けるために、図を縦に分割する実線。オブジェクトやサブシステムに割り振られた処理のまとまりを明示する。

fork

join

レーン名

Page 9: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

9

アクティビティ図の例

Page 10: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

10

身近なシステムでの例(レポート管理システム)

Page 11: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

11

例)レポート管理システムのユースケース図

Page 12: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

12

ユースケース 画面

ユーザ認証 認証画面

レポート提出状況確認 レポート提出状況画面

レポート提出レポート提出画面

レポート提出結果画面

例)レポート管理システムの画面設計

ユースケースから必要と思われる画面を考える。

Page 13: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

13

ユースケース名 レポート管理システム

概要 レポート提出を支援し、提出状況を表示する

アクター ユーザ(学生、教員)

前条件 ユーザがレポート管理システムのWebにアクセスしている

ユースケース開始契機 ユーザが[ログイン]ボタンをクリックすることでユースケースが開始される

後条件(結果) 学生は、レポートを提出する、教員はレポート提出状況を把握する

イベントフロー

1.ユーザは、認証画面にIDとパスワードを入力してユーザ認証を行う。(ログイン)

2.レポート提出状況画面に提出状況の一覧が表示される。

3.学生は、提出するレポートの講義を選択する。

4.学生は、レポートを選択し、レポート提出画面で提出する。

5.学生は、レポート提出結果画面で、提出できた事を確認する。

6.ログアウトする。

シナリオ ①基本シナリオ

学生は、各演習の課題レポートを期限までに提出する。

学生は自分のレポート提出状況を把握することができる。

教員は、全学生のレポート提出状況を把握することができる。

例)レポート管理システムのユースケース記述

Page 14: UML:ユースケース記述、アクティビティ図lab.mgmt.waseda.ac.jp/sdev-info/files/03_02_2008text_UML... · 2008-04-30 · 3 ユースケース記述(イベントフロー・シナリオ)

14

例)レポート管理システムのアクティビティ図