ユースケースとは何ですか?
ユースケースは、システム要件を特定、明確化、および整理するためにシステム分析で使用される方法論です。
ユースケース図
ユースケース図 は、さまざまなタイプのユーザーがシステムと対話して問題を解決するモデルです。 そのため、ユーザーの目標、ユーザーとシステム間の相互作用、およびこれらの目標を達成するために必要なシステムの動作について説明します。
ユースケース は、特定の目標を達成するための外部アクターとシステム間の相互作用を定義します。ユースケース図には、4つの主要なコンポーネントが含まれています
ユースケース図は、いくつかのモデル要素で構成されています。最も重要なモデル要素は次のとおりです。
俳優
アクターは通常、役割に応じて定義されたシステムに関与する個人です。アクターは、人間または他の外部システムである可能性があります。
使用事例
ユースケースでは、アクターがシステムを使用して特定の目標を達成する方法について説明します。ユースケースは通常、目標の達成に関連するアクティビティとバリアントを説明する目標を達成するためにユーザーによって開始されます。
関係
アクターとユースケースの間の関係。
システム境界
システム境界は、周囲の世界に関連して関心のあるシステムを定義します。
ユースケースの特徴
ユースケース(または一連のユースケース)には、次の特徴があります。
- 機能要件を整理します
- システム/アクター(ユーザー)の相互作用の目標をモデル化します
- トリガーイベントから目標までのパス( シナリオと呼ばれる)を記録します
- イベントの1つの主要なフロー(基本的なアクションコースとも呼ばれます)、および場合によっては 例外的な イベントのフロー(代替のアクションコースとも呼ばれます)と呼ばれる他のフローについて説明します。
- マルチレベルであるため、あるユースケースで別のユースケースの機能を使用できます。
ユースケースとユースケースシナリオ?
ユースケースは、特定の環境で特定の目標に関連する、システムとユーザー間の相互作用の可能なシーケンスのセットで構成されています。
ユースケースの中身は?
これは、要素のグループ(たとえば、クラスやインターフェース)で構成されており、個別の要素を組み合わせた合計よりも大きな効果をもたらす方法で一緒に使用できます。ユースケースには、ユーザーにとって重要なすべてのシステムアクティビティが含まれている必要があります。
ユースケースの種類
本質的なユースケース は、テクノロジーや実装の詳細が比較的ない理想的な形式で表現されます。設計上の決定は延期され、抽象化されます。特に、ユーザーインターフェイスに関連する決定は延期されます。
具体的または実際のユースケース は、特定の入力および出力テクノロジなどにコミットされた、実際の現在の設計の観点からプロセスを具体的に説明します。ユーザーインターフェイスが関係している場合、スクリーンショットを表示したり、ウィジェットとのやり取りについて話し合ったりすることがよくあります。
抽象ユースケース は完全ではなく、それを開始するアクターはありませんが、別のユースケースで使用されています。
ユースケースの構造化
UMLは、ユースケース間の関連付けの3つのステレオタイプを定義します。
<< include >>ユースケース
<< include >>関係を使用するのは、すべての主要なユースケースの最初のカットの説明を完了した後です。これで、ユースケースを確認し、ユーザーとシステムの相互作用の一般的なシーケンスを特定できます。
<<拡張>>ユースケース
拡張ユースケースは、事実上、基本ユースケースの代替コースです。<< extend >>ユースケースは、基本的なユースケースシーケンスに追加のアクションシーケンスを概念的に挿入することでこれを実現します。
抽象的で一般化されたユースケース
一般的なユースケースは抽象的です。不完全な情報が含まれているため、インスタンス化できません。抽象ユースケースのタイトルはイタリック体で示されています。
例
この例は、レストラン(ビジネスシステム)とその主要なアクター間の相互作用を表すいくつかのビジネスユースケース(目標)のモデルを示しています。
最初のカットで基本的なユースケースが特定されたら、次の図に示すように、2回目の修正で<< extends >>と<< include >>のユースケースを使用してこれらのユースケースをさらに構造化できる可能性があります。
パッケージを使用したユースケースの構造化
ユースケース図には、システムの分析、開発、および保守を簡素化するためにユースケースを構造化するために使用されるパッケージが含まれる場合があります。
ユースケースモデルとユースケース図
ユースケースモデルの多くは実際にはテキストであり、 各ユースケースモデル要素に関連付けられているユースケース仕様でキャプチャされたテキストが含まれています。これらの仕様は、ユースケースのイベントの流れを説明しています。
ユースケースモデルは、システム開発全体を通じて統合スレッドとして機能します。これは、システムの機能要件の主要な仕様として、分析と設計の基礎として、反復計画への入力として、テストケースの定義の基礎として、およびユーザードキュメントの基礎として使用されます。
例:ユースケースの説明
- ユースケースの内容を書くには、まずシナリオの1つをメインシナリオとして選択します。
- ユースケースの本文は、主要な成功シナリオを一連の番号付きステップとして記述することから始めます。
- 次に、他のシナリオを取り、それらを拡張機能として記述します。拡張は、以下の3aのように成功することも、以下の6bのように失敗することもあります。
- 各ユースケースには、サービスを提供するためにシステムを呼び出すプライマリアクターがあります。
- ユースケースの各ステップは、ユーザーとシステム間の相互作用の要素です。
- ユースケース内のアクティビティの共有トラックは、<include>ユースケースを介して別のユースケースで再利用できます。
- UML用語では、最初のユースケースには2番目のユースケースが含まれると言います。
製品を購入する (UML Distilled p101から取得)
主な成功シナリオ:
- 顧客はカタログを閲覧し、アイテムを選択します。
- 顧客はチェックアウトに行きます。
- 顧客が配送情報を入力します
- システムは完全な価格情報を提示します
- 顧客がクレジットカード情報を入力する
- システムが購入を承認します
- システムが販売を確認
- システムは確認メールを顧客に送信します
拡張機能
3a:顧客は常連客です
.1システムは現在の出荷情報を表示します
.2お客様は承諾または上書きすることができます
6a:システムがクレジット購入を承認できません
.1お客様は、クレジットカード情報を再入力するか、キャンセルすることができます
ビジュアルパラダイムによって示されるユースケースの説明
イベントと拡張の流れ
- トリガーイベントから目標までのパス( シナリオと呼ばれる)を記録します
ユースケースとUMLモデリング
ユースケースは、システム要件の計画、設計の検証、ソフトウェアのテスト、オンラインヘルプとユーザーマニュアルの概要の作成など、ソフトウェア開発のいくつかの段階で使用できます。では、ユースケース図とSDLCの他のUML図との関係は何ですか?
モデルの選択は重要です
作成するモデルの選択は、問題の攻撃方法とソリューションの形成方法に大きな影響を及ぼします。私たちはあなたのモデルをうまく選ぶ必要があります。
- 適切なモデルは、最も重大な開発の問題を浮き彫りにします。
- 間違ったモデルはあなたを誤解させ、無関係な問題に集中する原因になります。
例:ソフトウェア開発のさまざまなフェーズでさまざまなタイプの図を使用できます。
参考文献
- 14のUMLダイアグラムタイプの概要
- クラス図とは何ですか?
- コンポーネント図とは何ですか?
- 配置図とは何ですか?
- オブジェクト図とは何ですか?
- パッケージ図とは何ですか?
- 複合構造図とは何ですか?
- プロファイル図とは何ですか?
- ユースケース図とは何ですか?
- アクティビティ図とは何ですか?
- ステートマシン図とは何ですか?
- シーケンス図とは何ですか?
- コミュニケーション図とは?
- 相互作用の概要図とは何ですか?
- タイミング図とは
- イベントの1つの主要なフロー(基本的なアクションコースとも呼ばれます)、および場合によっては 例外的な イベントのフロー(代替のアクションコースとも呼ばれます)と呼ばれる他のフローについて説明します。
- マルチレベルであるため、あるユースケースで別のユースケースの機能を使用できます。