ユースケース図を学ぼう!

ユースケース図とは前回は、UMLに関する全般的なお話から、業務分析でアクティビティ図を使用する方法を説明しました。今回は、要求分析でユースケース図を使用する方法を説明します。ユースケース図は、UMLの生みの親であるスリーアミーゴスの1人、ヤコブソンがOOSEという方法論から取り入れた図です。システ

照井 康真

2008年4月8日 20:00

ユースケース図とは

前回は、UMLに関する全般的なお話から、業務分析でアクティビティ図を使用する方法を説明しました。今回は、要求分析でユースケース図を使用する方法を説明します。

ユースケース図は、UMLの生みの親であるスリーアミーゴスの1人、ヤコブソンがOOSEという方法論から取り入れた図です。システムが、 外部から求められる機能的な要求を表現します。開発工程の中では主に要求分析段階で、開発者がユーザに機能的な要求を確認するために記述されることが多い 図となります。図1は、最もシンプルな表記によるユースケース図の例です。

「サブジェクト」は、書いても書かなくてもそれほど違いはありませんが、ここでは後の説明のしやすさのために記述しています。「サブジェクト」を除くと、「アクター」「ユースケース」「関連」といった、たった3種類の要素のみで記述することができます。

まずサブジェクトとは、開発対象であるシステムを表しています。アクターを外側に、ユースケースを内側に記述するように四角形を記述します。

アクターとは、システムに対するユーザの役割や、連携する外部システムなどを表しています。スティックマンと呼ばれる人型のアイコンで記述します。サブジェクトを記述する場合には、必ずサブジェクトの外側に配置します。

ユースケースとは、アクターによるシステムの利用の仕方を表しています。「システムがアクターに対して提供するサービス」や「アクターが起 動するシステムの振舞い」とも言えるでしょう。ユースケースは横長の楕円で表記します。またユースケースを記述する場合には、必ずサブジェクトの内側に配 置する決まりがあります。

最後に、関連とはアクターとユースケースを結びつける実線のことです。

図1:ユースケース図の例
(画像をクリックすると別ウィンドウに拡大図を表示します)

要求分析

要求分析は、業務を分析した結果をもとに行います。もう一度図1を見てください。このユースケース図は、前回のアクティビティ図の業務フローをもとに記述されています。

では、業務フローをもとにユースケース図を記述する手順を説明していきましょう。

まず、ユースケース図の対象であるサブジェクトを記述します(前述の通り、書かなくても大丈夫です)。次に、アクティビティ図のレーン(UML 2.Xでの要素名はパーティション)に書かれているロール名をアクターとして記述します。

アクティビティ図のロールが行うアクションのうち、システム化が可能なものをユースケース名としてユースケースを記述します。アクティビティ図のロールとアクションに従って、アクターとユースケースに関連を引きます。

またユースケースを実現するために、外部システムと連携する必要がある場合は、外部システムをアクターとして記述し、ユースケースと関連で結びつけます。

では簡単な例でみていきましょう。本記事の例では、開発対象のシステム名を「出張申請システム」と命名し、ユースケース図のサブジェクトに 記載しています。前回のアクティビティ図に書かれている3つのロール「申請者」「承認者」「経理担当者」をアクターとして配置しました。

ここでは、システム化が可能なアクションを「出張申請を登録する」「出張申請を提出する」「出張申請を承認する」「出張申請を却下する」「出張申請を差し戻す」「出張申請を確認する」の6つとし、ユースケースとして配置しています。

アクティビティ図には書かれていませんが、「出張申請を登録する」ユースケースの実現性を検討する中で、外部システムの「交通費精算システム」と連携を行う必要があるという設定なので、外部システムを表すアクターとして「交通費精算システム」が登場しています。

ここで、アクターを書くときの押さえておきたいポイントを紹介しましょう。「アクター」は、サブジェクトに関係するもののみを記述すること に注意してください。例えば、「交通費精算システム」アクターは、さらに「路線システム」を利用して経路探索を行うかもしれません。しかし、ここではあく までもサブジェクトである「出張申請システム」に関係するアクターのみを記述するため、「路線システム」はアクターとして記述しません。もし、どうしても 「路線システム」をアクターとして書きたい場合は、「交通費精算システム」をサブジェクトとしたユースケース図に書くのが良いでしょう。

次に、より具体的な関係を表すユースケース図についてみていきましょう。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30