ユースケース図チュートリアル(例付きガイド)
公開: 2015-02-19ユースケース図は動作UML図タイプであり、さまざまなシステムの分析に頻繁に使用されます。 これらを使用すると、システム内のさまざまなタイプの役割と、それらの役割がシステムとどのように相互作用するかを視覚化できます。 このユースケース図のチュートリアルでは、次のトピックを取り上げ、ユースケースをより適切に作成するのに役立ちます。
- ユースケース図の重要性
- ユースケース図オブジェクト
- ユースケース図のガイドライン
- ユースケース図の関係
- ユースケース図の作成方法(例付き)
- アクターの識別
- ユースケースの特定
- 「含める」を使用する場合
- 一般化の使用方法
- 「延長」を使用する場合
- 一般的なシナリオのユースケース図テンプレート
ユースケース図の重要性
前述のように、ユースケース図はシステムの使用要件を収集するために使用されます。 要件に応じて、そのデータをさまざまな方法で使用できます。 以下はそれらを使用するいくつかの方法です。
- 機能と役割がそれらとどのように相互作用するかを特定する–ユースケース図の主な目的。
- システムの概要を把握するために–マネージャーや利害関係者にプレゼンテーションを行う場合に特に役立ちます。 システムの内部動作に深く踏み込むことなく、システムと相互作用する役割とシステムによって提供される機能を強調することができます。
- 内部要因と外部要因を特定するには–これは単純に聞こえるかもしれませんが、大規模で複雑なプロジェクトでは、別のユースケースでシステムを外部の役割として特定できます。
ユースケース図オブジェクト
ユースケース図は4つのオブジェクトで構成されています。
- 俳優
- 使用事例
- システム
- パッケージ
オブジェクトについては、以下でさらに説明します。
俳優
の俳優 ユースケース図は、特定の1つのシステムで役割を果たすエンティティです。 これは、個人、組織、または外部システムである可能性があり、通常、以下に示すスケルトンのように描画されます。
使用事例
ユースケースは、システム内の機能またはアクションを表します。 楕円形で描かれ、関数で名前が付けられています。
システム
このシステムは、ユースケースの範囲を定義するために使用され、長方形として描画されます。 これはオプションの要素ですが、大規模なシステムを視覚化する場合に役立ちます。 たとえば、すべてのユースケースを作成してから、システムオブジェクトを使用して、プロジェクトの対象となるスコープを定義できます。 または、それを使用して、さまざまなリリースでカバーされているさまざまな領域を表示することもできます。
パッケージ
パッケージは、複雑な図で非常に役立つもう1つのオプション要素です。 クラス図と同様に、パッケージはユースケースをグループ化するために使用されます。 下図のように描かれています。
ユースケース図のガイドライン
ユースケース図はさまざまな目的に使用できますが、ユースケースを描くときに従う必要のある一般的なガイドラインがいくつかあります。
これらには、命名基準、矢印の方向、ユースケースの配置、システムボックスの使用法、および関係の適切な使用法が含まれます。
これらのガイドラインについては、別のブログ投稿で詳しく説明しています。 したがって、先に進んで、ユースケース図のガイドラインを確認してください。
ユースケース図の関係
ユースケース図には、5つのタイプの関係があります。 彼らです
- アクターとユースケースの関連付け
- アクターの一般化
- 2つのユースケース間の関係を拡張する
- 2つのユースケース間の関係を含める
- ユースケースの一般化
これらすべての関係については、画像付きの例を含む別のブログ投稿で説明しています。 この投稿では詳しく説明しませんが、ユースケース図で関係を確認できます。
ユースケース図を作成する方法
これまで、ユースケース図を描くときに重要なオブジェクト、関係、およびガイドラインについて学習しました。 銀行システムを例に、さまざまなプロセスを説明します。
アクターの識別
アクターは、システムと相互作用する外部エンティティです。 それは、人、別のシステム、または組織である可能性があります。 銀行システムでは、最も明白なアクターは顧客です。 他のアクターは、ユースケースで示しようとしている役割に応じて、銀行員またはレジ係になります。
外部組織の例としては、税務当局や中央銀行があります。 ローン処理者は、アクターとして関連付けられた外部システムの良い例です。
ユースケースの特定
次に、ユースケースを特定します。 これを行う良い方法は、アクターがシステムから何を必要としているかを特定することです。 銀行システムでは、顧客は口座の開設、資金の入出金、小切手帳の要求などの機能を行う必要があります。 したがって、これらはすべてユースケースと見なすことができます。
トップレベルのユースケースは、常にアクターが必要とする完全な機能を提供する必要があります。 システムの複雑さに応じて、ユースケースを拡張または含めることができます。
アクターとトップレベルのユースケースを特定すると、システムの基本的な考え方がわかります。 これで、微調整して、詳細のレイヤーを追加できます。
含める共通機能を探す
システム全体で再利用できる共通の機能を探します。 共通の機能を共有する2つ以上のユースケースを見つけた場合は、共通の機能を抽出して、別のユースケースに追加できます。 次に、include関係を介して接続し、元のユースケースが実行されたときに常に呼び出されることを示すことができます。 (例については、図を参照してください)。
アクターとユースケースを一般化することは可能ですか?
アクターが同様のユースケースに関連付けられている一方で、アクターにのみ固有のいくつかのユースケースがトリガーされる場合があります。 このような場合、アクターを一般化して関数の継承を示すことができます。 ユースケースでも同様のことができます。
この最も良い例の1つは、支払いシステムでの「支払いを行う」ユースケースです。 さらに、「クレジットカードで支払う」、「現金で支払う」、「小切手で支払う」などに一般化することができます。これらはすべて、独自の特別なシナリオでの支払いの属性と機能を備えています。
オプション機能または追加機能
オプションでトリガーされる機能がいくつかあります。 このような場合、拡張関係を使用して、それに拡張ルールを添付できます。 以下の銀行システムの例では、「ボーナスの計算」はオプションであり、特定の条件が一致した場合にのみトリガーされます。
拡張は、必ずしもオプションであるとは限りません。 拡張によって接続されたユースケースは、基本的なユースケースを補足できる場合があります。 覚えておくべきことは、拡張ユースケースが呼び出されなくても、基本ユースケースはそれ自体で機能を実行できる必要があるということです。
ユースケース図テンプレート
先に進み、いくつかの一般的なシナリオのユースケース図テンプレートを作成しました。 問題やシナリオはこのようにはなりませんが、出発点として使用できます。 ユースケース図のテンプレートを確認してください。
ユースケース図のチュートリアルに関する質問
ユースケース図の作成について知っておく必要のあるすべてを包括的にカバーするように努めました。 セクションについて疑問がある場合、またはこのチュートリアルを改善する方法を考えられる場合は、コメントでお知らせください。
その他の図のチュートリアル
- シーケンス図チュートリアル:例を含む完全ガイド
- ビジネスプロセスモデリングチュートリアル(機能を説明するBPMガイド)
- 究極のフローチャートガイド(例を含む完全なフローチャートチュートリアル)