ユースケースは、特定の目標を達成するためにユーザーがシステムをどのように使用するかを説明します。ユースケース図は、システム、関連するユースケース、およびアクターで構成され、これらを相互に関連付けて視覚化します。何が記述されているか? (システム)、誰がシステムを使用していますか? (アクター) アクターは何を達成したいですか? (ユース ケース) したがって、ユース ケースは、ユーザーの視点から要件を捉えることで、正しいシステムを開発するのに役立ちます。
ユースケースの構造化
ユース ケースの関係は、システムの相互作用モデルにおけるユース ケース間の依存関係をモデル化します。ただし、独立したユースケースは、より単純なシステムを適切に表すことができます。ただし、複雑なシステムや大規模なシステムを表現するには、ユース ケース間の依存関係を利用して複雑なユース ケースを構築する必要がある場合があります。ユースケース間の関係を確立すると、何度も定義する必要があるユースケースを再利用できるため、開発者の労力が軽減されます。
UML では、ユース ケースの関連付けを構造化するための 3 つのステレオタイプが定義されています。
<<Include>> ユースケースとは?
拡張ユース ケースは、事実上、基本ユース ケースの代替コースです。<<extend>> ユース ケースは、追加のアクション シーケンスを基本ユース ケース シーケンスに概念的に挿入することによってこれを実現します。
<<include>> 関係を使用するのは、すべての主要なユースケースの最初のカットの説明を完了した後です。ユースケースを見て、ユーザーとシステムの相互作用の一般的なシーケンスを特定できるようになりました。
- ユース ケースが別のユース ケースの機能を使用するものとして描かれている場合、ユース ケース間の関係は include または uses 関係と呼ばれます。
- ユース ケースには、ビジネス プロセス フローの一部として、別のユース ケースで説明されている機能が含まれています。
- ベース ユース ケースから子ユース ケースへの uses 関係は、ベース ユース ケースのインスタンスが子ユース ケースで指定された動作を含むことを示します。
- 包含関係は、点線のある有向矢印で表されます。矢印の先端は子ユースケースと親ユースケースを矢印の根元で結んでいます。
- ステレオタイプ「<<include>>」は、関係を包含関係として識別します。
ユースケースの例 – 関係を含める
include 関係は、基本ユース ケースで指定されていない追加機能を追加します。<<Include>> 関係は、一般的な動作の再利用をサポートするために、含まれるユース ケースから基本的なユース ケースに一般的な動作を含めるために使用されます。
<<Extend>> ユースケースとは?
- 「無効なパスワード」 ユース ケースには、基本ユース ケース 「ログイン アカウント」で指定された動作が含まれる可能性があることを示します (拡張機能で指定されている場合) 。
- 点線のある有向矢印で表します。矢印の先端がベースユースケースを指し、子ユースケースが矢印の付け根でつながっています。
- ステレオタイプ「<<extends>>」は拡張関係として識別されます
関係を拡張する
拡張関係は、オプションの機能またはシステムの動作を示すため、重要です。<<extend>> 関係は、拡張ユース ケースの拡張ユース ケースからのオプションの動作を含めるために使用されます。上記の例では、拡張ポイント「無効なパスワード」を持つ拡張コネクタがあります。
抽象的で一般化されたユースケース
一般的なユースケースは抽象的です。不完全な情報が含まれているため、インスタンス化できません。抽象的なユースケースのタイトルはイタリック体で表示されます。
ユースケース図の例
このユース ケース図の例は、レストラン (ビジネス システム) とその主要な利害関係者 (ビジネス参加者およびビジネス ワーカー) との間の相互作用を表すいくつかのビジネス ユース ケース (目標) のモデルを示しています。最初のカットで基本的なユースケースを特定したので、おそらく、2 回目の改訂で「拡張」および「含める」ユースケースを使用して、これらのユースケースをさらに構築できます。