ユースケース図の理解:概念、例、および関係性

ユースケース図統一モデリング言語 (UML) の基本的な構成要素であり、ユーザーの視点からシステムの機能要件を視覚的に表現する。この記事では、ユースケース図の主要な概念を詳しく解説し、例を用いてその構成要素を示し、基本ユースケース、拡張、包含ユースケースがユースケーステンプレートやシーケンス図とどのように関係しているかを説明する。

ユースケース図の主要な概念

アクター

アクターは、システムとやり取りするユーザーまたは外部システムを表す。人間のユーザー、他のシステム、ハードウェアデバイスなどである。アクターは、システム境界の外側に棒人形またはラベル付きのボックスとして描かれる。

ユースケース

ユースケースは、システムが提供する機能やサービスを表す。特定の目的を達成するために、アクターとシステムとのやり取りを記述する。ユースケースは、システム境界内に楕円として描かれる。

関係性

関係性は、アクターとユースケース間のやり取り、およびユースケース間の依存関係を示す。ユースケース図における主な関係性は次のとおりである:

  • 関連:アクターとユースケースを結ぶ線であり、アクターがそのユースケースに参加することを示す。
  • 包含:基本ユースケースから包含ユースケースへ向かう破線の矢印であり、包含ユースケースが基本ユースケースの必須部分であることを示す。
  • 拡張:拡張ユースケースから基本ユースケースへ向かう破線の矢印であり、特定の条件下で拡張ユースケースが基本ユースケースにオプションの動作を追加することを示す。

例:ATMシステム

ユースケース図の概念およびそれらがユースケーステンプレートやシーケンス図とどのように関係するかを説明するために、ATM(自動契約機)システムを例に挙げてみよう。

ユースケース図

ATMシステムのユースケース図は以下の通りである:

Use Case Diagram notations guide - Visual Paradigm

アクター:

  • ユーザー

ユースケース:

  • ログイン
  • 現金の引き出し
  • 残高照会
  • 慈善団体に寄付する
  • 資金を送金する
  • 請求書を支払う

関係:

  • 「ログイン」ユースケースは、「現金を引き出す」「残高を確認する」「慈善団体に寄付する」「資金を送金する」「請求書を支払う」などの他のユースケースを含む基本的なユースケースです。
  • 「ログイン」ユースケースには、無効なパスワードやセッションタイムアウトの処理のための拡張ポイントがあります。

ユースケーステンプレート

ユースケーステンプレートは、各ユースケースの説明、アクター、事前条件、事後条件、イベントの流れなどを含む詳細な文書化を提供します。

例:「ログイン」用のユースケーステンプレート

  • ユースケース名:ログイン
  • アクター:ユーザー
  • 事前条件:ユーザーはATMの前にある。
  • 事後条件:ユーザーがログインしている、またはエラーメッセージが表示される。
  • イベントの流れ:
    1. ユーザーはATMカードを挿入する。
    2. システムはパスワードの入力を促す。
    3. ユーザーはパスワードを入力する。
    4. システムはパスワードを検証する。
    5. パスワードが正しい場合、システムはユーザーをログインさせる。
    6. パスワードが間違っている場合、システムは無効なパスワードの処理を行う(拡張)。
    7. セッションがタイムアウトした場合、システムはセッションタイムアウトの処理を行う(拡張)。

拡張ポイント:

  • 無効なパスワード:
    • 条件: 入力されたパスワードが正しくありません。
    • フロー:
      1. システムはエラーメッセージを表示します。
      2. システムはパスワードの再入力を求めます。
  • セッションタイムアウト:
    • 条件: ユーザーが一定期間非アクティブです。
    • フロー:
      1. システムはユーザーをログアウトします。
      2. システムはタイムアウトメッセージを表示します。

シーケンス図

シーケンス図は、オブジェクトが時間とともにどのように相互作用するかを示すことによって、システムの動的動作をモデル化します。メッセージの交換の順序に注目します。

例:「ログイン」のシーケンス図

「ログイン」ユースケースのシーケンス図は以下の通りです:

オブジェクト:

  • ユーザー
  • ATM
  • 銀行システム

メッセージ:

  1. ユーザーはATMカードを挿入します。
  2. ATMは、カードの検証を銀行システムに要求します。
  3. 銀行システムはカードを検証し、ATMに応答を送信します。
  4. ATMはパスワードの入力を求めます。
  5. ユーザーはパスワードを入力する。
  6. ATMはパスワードの検証のために銀行システムにリクエストを送信する。
  7. 銀行システムはパスワードを検証し、ATMに応答を送信する。
  8. パスワードが正しい場合、ATMはユーザーをログインさせる。
  9. パスワードが間違っている場合、ATMは無効なパスワードを処理する(拡張)。
  10. セッションがタイムアウトした場合、ATMはセッションのタイムアウトを処理する(拡張)。

図の間の関係

基本ユースケースと包含

「ログイン」ユースケースは、「現金を引き出す」、「残高を確認する」、「寄付を行う」、「送金する」、「請求書を支払う」などの他のユースケースを含む基本ユースケースである。これは、これらの操作のいずれかを行う前にユーザーがログインしなければならないことを意味する。包含関係は、基本ユースケースから包含されるユースケースへ向かう破線矢印で表される。

拡張

「ログイン」ユースケースには、無効なパスワードやセッションのタイムアウトを処理するための拡張ポイントがある。拡張関係は、拡張されるユースケースから基本ユースケースへ向かう破線矢印で表される。拡張されるユースケースは、特定の条件下で基本ユースケースにオプションの動作を追加する。

ユースケーステンプレートとシーケンス図

ユースケーステンプレートは、イベントの流れを含むユースケースの詳細な記述を提供する。シーケンス図は、時間の経過に伴うオブジェクト間の相互作用を示すことで、ユースケースの動的動作を可視化する。ユースケーステンプレート内のイベントの流れは、シーケンス図におけるメッセージの順序に対応する。

結論

ユースケース図は、ユーザーの視点からシステムの機能要件を捉えるために不可欠である。アクター、ユースケース、関係といった主要な概念を理解し、ユースケース図をユースケーステンプレートやシーケンス図と統合することで、システムの動作を効果的にモデル化できる。ATMシステムの例は、基本ユースケース、拡張、包含ユースケースがユースケーステンプレートやシーケンス図とどのように関係するかを示しており、システムの要件と動作の包括的な視点を提供する。

参考文献

  1. シーケンス図 – Visual Paradigm

    • この記事は、シーケンス図がメッセージの時間順序に注目した相互作用図であると説明している。シーケンス図がシナリオに関与するオブジェクトやクラス、およびそれらの間で交換されるメッセージの順序をどのように表現するかを詳述している。
    • シーケンス図 – Visual Paradigm 11
  2. シーケンス図とは何か?

    • このガイドはシーケンス図の概要を提供し、操作の実行方法、送信されるメッセージやそのタイミングを詳細に示す相互作用図であると説明している。また、シーケンス図が時間の経過に従ってどのように構成されるかについても述べている。
    • シーケンス図とは何か? 12
  3. シーケンス図の描き方

    • このステップバイステップのガイドでは、Visual Paradigmを使ってUMLシーケンス図を作成する方法を示している。ライフラインとメッセージを用いてシーケンス図を構築するためのエディタの使い方についても説明している。
    • シーケンス図の描き方 13
  4. UMLシーケンス図の描き方

    • このチュートリアルでは、シンプルなクラス図から始めて、コントローラクラスに関連する動的メソッド呼び出しをモデル化するUMLシーケンス図の描き方を詳細に紹介している。
    • UMLシーケンス図の描き方 14
  5. シーケンス図チュートリアル – Visual Paradigm

    • このチュートリアルでは、シーケンス図とは何かを説明し、その描き方についてステップバイステップの手順を提供します。また、ユーザーにVisual Paradigm Onlineを使って自分自身のシーケンス図を作成することを促しています。
    • シーケンス図チュートリアル – Visual Paradigm 15
  6. Visual Paradigmにおけるシーケンス図

    • この章では、Visual Paradigmにおけるシーケンス図に焦点を当て、その描き方と、オブジェクト間の相互作用を順序立てて示すという主な用途について説明します。
    • Visual Paradigmにおけるシーケンス図 16
  7. シーケンス図 – UML図 – Visual Paradigm

    • この記事では、シーケンス図が時間の順序に基づいてオブジェクトの協働をモデル化する方法について説明し、ユースケースの特定のシナリオにおけるオブジェクト間の相互作用を示します。
    • シーケンス図 – UML図 – Visual Paradigm 17
  8. シーケンス図の例 – Visual Paradigm Community Circle

    • この例では、操作がどのように実行されるかを詳細に示すシーケンス図を紹介しています。メッセージの送信内容やタイミングも含んでおり、シーケンス図が時間の経過に従ってどのように構成されるかについても説明しています。
    • シーケンス図の例 – Visual Paradigm Community Circle 18
  9. 参照の使用 – Visual Paradigm Community Circle

    • この例では、「残高照会」や「貸方口座」などの他のシーケンス図を参照するシーケンス図を示しています。シーケンスがどのように開始され、さまざまな相互作用を通じて進行するかを説明しています。
    • 参照の使用 – Visual Paradigm Community Circle 19

コメントを残す