ユースケースモデリングとは何か
ユースケースは、ユーザーが特定のシステムとどのようにやり取りするかを明確に指定するのに役立つ重要なツールです。システムの機能を明確かつ簡潔に記録する方法を提供し、開発者が意図したユーザーのニーズを満たすソフトウェアを開発していることを確認するために使用できます。ユースケースを作成する際には、理解しやすく、実装しやすいように構造化することが重要です。その方法の一つとして、ベース、インクルード、エクステンドユースケースの概念を使用することがあります。
ベースユースケース:
ベースユースケースは、システムのコア機能を表します。システムが何ができるかを定義する基本的な構成要素です。通常、システムの主要な機能を表すために使用され、システム内で最も重要なユースケースの一つとなることが多いです。ベースユースケースを作成する際には、シンプルで理解しやすいようにすることが重要です。読みやすく、可能な限り簡潔に記述するべきです。

インクルードユースケース:
インクルードユースケースは、複数のユースケースに共通する機能を表すために使用されます。同じ機能を複数のユースケースに重複して記述するのを避け、共有機能を含む単一のユースケースを参照することで、効果的に対応できます。これにより、ユースケースの複雑さを軽減し、理解しやすく、保守しやすくなります。インクルードユースケースを作成する際には、含まれる機能が明確に定義され、理解しやすいことを確認することが重要です。また、再利用しやすいように記述されていることも必要です。
エクステンドユースケース:
エクステンドユースケースは、オプションまたは条件付きの機能を表すために使用されます。特定の条件下でのみ使用される機能、またはユーザーが特定の機能を使用することを選択した場合にのみ実行される機能を定義できます。エクステンドユースケースを作成する際には、拡張された機能が明確に定義され、理解しやすいことを確認することが重要です。また、ベースユースケースとの関係が明確に理解できるように記述する必要があります。
ユースケース図における拡張ポイント
ユースケース図における拡張ポイントは、別のユースケースによって振る舞いを拡張または変更できるユースケース内の特定のポイントを表します。拡張ユースケースが接続され、追加的またはオプションの機能を提供できる、ユースケース内の特定のポイントです。
拡張ポイントは、あるユースケースを別のユースケース内の拡張ポイントに接続するラベル付きの矢印であり、拡張ユースケースが含まれるポイントを示します。これは、拡張が発生するポイントを識別する名前または番号を備えた小さな円として表されます。
拡張ポイントは、ソフトウェア開発ライフサイクルの分析および設計段階で特定されます。通常、ベースユースケース内で、拡張シナリオの説明と、拡張ポイントが呼び出される条件が定義されます。
拡張ポイントにより、初期のユースケースに含まれていなかった新しい機能や振る舞いを追加できる一方で、ベースユースケース自体を変更せずに済みます。このモジュール化されたユースケース設計アプローチにより、要件が時間とともに変化しても、システムの機能を簡単に変更・拡張できます。
ユースケースの構造化:
ユースケースを構造化する際には、ベース、インクルード、エクステンドユースケースの概念を常に意識することが重要です。まず、システムのコア機能を表すベースユースケースを定義しましょう。その後、共有機能を表すインクルードユースケース、オプションまたは条件付きの機能を表すエクステンドユースケースを定義できます。ユースケースが明確に定義され、理解しやすいことを確認することが重要です。また、ユースケースが互いの関係がわかりやすいように整理されていることも必要です。

ATMのインクルードユースケース – ログインユースケース
<<include>>ユースケース関係は、あるユースケースが別のユースケースに含まれることを表すために使用されます。ATMシステムの文脈では、現金引き出し、預金、残高照会などのユースケースは、ユーザーがまずログインプロセスを通じて本人確認を行う必要があるため、ログインユースケースを含んでいます。
言い換えれば、現金引き出しユースケースは、実行前にユーザーがログインしている必要があるベースユースケースと見なすことができます。この状況では、ログインユースケースはインクルードユースケースであり、取引を完了するために、現金引き出しユースケース内に含める必要があるためです。これにより、認証されたユーザーのみが口座から現金を引き出せることが保証されます。
一般的に、ATMシステムのほとんどの他のユースケースにおいて、ログインユースケースはインクルードユースケースとなります。なぜなら、認証はほとんどの取引の前提条件だからです。
ATMのエクステンドユースケース – 不正なパスワードまたはキャンセルユースケース
ログインユースケースには、通常、不正なパスワードのためのエクステンドユースケースが存在します。これは、ユーザーが誤ったパスワードを入力した場合のシナリオを処理します。このユースケースは、エラーに関するフィードバックをユーザーに提供し、必要に応じてパスワードの再入力またはリセットを促すことができます。
ログインユースケースには、キャンセルのためのエクステンドユースケースも存在する場合があります。これは、ユーザーがログインプロセスを完了する前にキャンセルを決定した場合のシナリオを処理します。このユースケースは、ログインプロセスを終了し、ユーザーをメインメニューまたはATMのアイドル状態に戻すことができます。
不正なパスワードおよびキャンセルのエクステンドユースケースの両方とも、ATMシステムの使いやすさを向上させ、顧客により良いユーザーエクスペリエンスを提供するのに役立ちます。
結論:
ベース、インクルード、エクステンドユースケースを用いてユースケースを構造化することは、理解しやすく、実装しやすい明確で簡潔なユースケースを作成する効果的な方法です。このアプローチを用いることで、システムの機能を正確に表現しつつ、不要な複雑さや作業の重複を回避できます。ソフトウェア開発者、ビジネスアナリスト、プロジェクトマネージャーのいずれであっても、このアプローチを活用することで、意図したユーザーのニーズを満たす高品質なソフトウェアの開発が可能になります。











