システム開発の設計段階で欠かせないUML(統一モデリング言語)のひとつに、ユースケース図があります。
ユースケース図を正しく理解するうえで、とくに重要な概念が「アクター」です。
アクターとは何か、どのように書けばよいのか、種類や表記方法まで詳しく把握しておくことで、設計書の品質が大きく向上するでしょう。
本記事では、ユースケース図のアクターとは何かという基本的な疑問から、書き方・種類・主アクターと副アクターの違い・外部システムとの関係まで、わかりやすく解説していきます。
これからUMLを学ぶ方はもちろん、改めて整理したい方にもぜひ参考にしていただければ幸いです。
ユースケース図のアクターとは?書き方と種類も!(利用者:外部システム:役割:主アクター・副アクター:表記方法など)
それではまず、ユースケース図のアクターとは何かという結論から解説していきます。
ユースケース図のアクターとは何か:基本的な定義と役割
ユースケース図におけるアクターとは、対象システムの外部に存在し、システムと何らかのやりとりを行う存在のことを指します。
アクターは必ずしも「人間」だけを意味するわけではなく、外部システムや外部デバイスなども含まれる点が特徴的です。
ユースケース図全体の構成は、「アクター」「ユースケース」「関連線」「システム境界」の4要素から成り立っており、アクターはその出発点となる重要な要素といえるでしょう。
アクターの最も重要なポイントは、「システムの外部に存在すること」と「システムと相互作用すること」の2点です。
システムの内部に存在する要素はアクターとは呼ばず、あくまでもシステム境界の外側にいる存在がアクターとして定義されます。
アクターの役割を理解することは、システムの利用者や関係者を整理するうえで非常に重要です。
たとえばECサイトを例に挙げると、「一般ユーザー」「管理者」「決済システム」などがアクターとして定義されることになるでしょう。
アクターがシステム設計に果たす役割
アクターを明確に定義することで、システムがどのような外部主体と関わるかが一目でわかるようになります。
設計の初期段階でアクターを洗い出すことは、要件の抜け漏れを防ぐ効果があります。
関係者全員がシステムの利用者像を共有しやすくなるという点でも、アクターの定義は設計コミュニケーションの土台となるでしょう。
アクターとユースケースの関係
アクターとユースケースは「関連線」でつながれ、アクターがどのユースケース(機能・サービス)を利用するかを表します。
1つのアクターが複数のユースケースに関与することも多く、また1つのユースケースに複数のアクターが関わる場合もあります。
この関係性を整理することで、システム全体の機能スコープが明確になるでしょう。
アクターはシステム境界の外側に配置される
ユースケース図において、システム境界は四角形の枠で表現されます。
アクターはこの枠の外側に配置され、枠の内側に描かれたユースケース(楕円形)と線でつながれる形が基本的なレイアウトです。
システム境界の外にアクターを配置するというルールを守ることで、どこまでがシステムの責任範囲かが視覚的に把握しやすくなります。
アクターの種類:利用者・外部システム・主アクター・副アクターの違い
続いては、アクターの種類について確認していきます。
アクターにはいくつかの分類方法があり、それぞれの特徴を理解しておくと図の読み書きがスムーズになるでしょう。
人間のアクター(利用者)と外部システムのアクター
アクターの種類として、まず大きく「人間(利用者)」と「外部システム」の2種類に分けることができます。
| 種類 | 概要 | 具体例 |
|---|---|---|
| 人間のアクター(利用者) | システムを直接操作する人物や役割 | 一般ユーザー、管理者、経理担当者 |
| 外部システムのアクター | システムと連携する別のシステムや装置 | 決済システム、メールサーバー、外部API |
人間のアクターは「利用者」ともいわれ、システムを操作する役割を持つ人物や組織を抽象化したものです。
外部システムのアクターは、対象システムとデータや処理をやりとりする別のシステムを指します。
たとえば、受発注システムが在庫管理システムと連携する場合、在庫管理システムは外部システムアクターとして定義されることになるでしょう。
主アクター(プライマリアクター)とは
主アクターとは、ユースケースを開始する(起点となる)アクターのことです。
プライマリアクターとも呼ばれ、システムに対して操作を行い、目標を達成しようとする存在といえます。
ユースケース図では一般的に、主アクターはシステム境界の左側に配置されることが多いとされています。
主アクターの特徴として、「自らユースケースを開始する能動的な存在である」という点が挙げられます。
主アクターはシステムを利用して何らかの目的を達成しようとしており、設計においては最も重視すべきアクターといえるでしょう。
副アクター(セカンダリアクター)とは
副アクターとは、ユースケースの実行を支援したり、処理の結果を受け取ったりするアクターのことです。
セカンダリアクターとも呼ばれ、主アクターが起動したユースケースに対して後から関与する存在です。
副アクターはシステム境界の右側に配置されることが多く、外部システムが副アクターとして定義されるケースが多く見られます。
例:オンラインショッピングのユースケース図における分類
主アクター(左側):購入者(一般ユーザー)
副アクター(右側):決済システム、在庫管理システム
このように、「注文する」というユースケースに対して、購入者が主アクターとなり、決済システムや在庫管理システムが副アクターとして関与する形になります。
アクターの書き方と表記方法:UMLの記法を正しく理解しよう
続いては、アクターの書き方と表記方法について詳しく確認していきます。
UMLで定められたアクターの表記方法を正しく把握しておくことで、誰が見ても伝わりやすいユースケース図が作成できるでしょう。
人間アクターの標準的な表記方法
人間のアクターは、UMLにおいて「棒人間(スティックマン)」と呼ばれる人型のアイコンで表現されます。
アイコンの下にはアクターの名前(役割名)を記載するのが標準的な書き方です。
アクター名は「○○ユーザー」「○○担当者」などのように、具体的な個人名ではなく役割名で記述することが推奨されています。
| 表記要素 | 内容 |
|---|---|
| アイコン | 棒人間(スティックマン)形式 |
| 名前の位置 | アイコンの真下 |
| 名前の内容 | 役割名(具体的な個人名は使用しない) |
| 配置位置 | システム境界の外側(主アクターは左、副アクターは右が一般的) |
外部システムアクターの表記方法
外部システムをアクターとして表現する場合、棒人間の代わりに「ステレオタイプ《actor》を付与した矩形(四角形)」で表記するケースが多く見られます。
矩形の上部に《actor》と記載し、その下にシステム名を書くことで、人間のアクターと明確に区別することができるでしょう。
ツールによっては棒人間のアイコンで統一する場合もありますが、外部システムとの区別を明確にしたいときは矩形表記を活用することが有効です。
アクター名の命名ルールと注意点
アクター名の命名においては、「役割(ロール)」を明確に表す名前を使用することが重要です。
たとえば「田中さん」ではなく「一般ユーザー」、「システムAさん」ではなく「決済システム」というように、役割を示す名称にする必要があります。
複数のアクターが同一の役割を持つ場合は1つにまとめて表現するのが原則であり、同じ役割を何度も書くことは避けるべきでしょう。
命名の良い例と悪い例
良い例:「購入者」「管理者」「外部決済サービス」
悪い例:「田中さん」「Aさん」「システム1」
役割を抽象化した名前を使うことで、誰でも読める汎用性の高いユースケース図になります。
アクターの洗い出し方と実際の活用場面
続いては、アクターの洗い出し方と活用場面について確認していきます。
実際の開発現場では、アクターをどのように見つけ出すかが設計品質を左右する大切なプロセスとなるでしょう。
アクターを洗い出すための質問リスト
アクターを洗い出す際には、以下のような問いかけを行うことが効果的です。
アクター洗い出しのための主な質問
「誰がシステムを使うのか?」
「誰がシステムに情報を入力するのか?」
「誰がシステムから情報を受け取るのか?」
「システムと連携している外部システムはあるか?」
「誰がシステムを管理・運用するのか?」
これらの問いに答えることで、見落としがちなアクターを発見できる可能性が高まります。
特に外部システムは忘れられやすいため、インターフェース設計やシステム連携の観点からも丁寧に洗い出すことが求められるでしょう。
アクターの汎化(継承)関係の表現
ユースケース図では、アクター同士の汎化(継承)関係を表現することも可能です。
たとえば「一般ユーザー」と「管理者ユーザー」が存在する場合、両者の共通部分を「ユーザー」という親アクターとして定義し、矢印(汎化関係)でつなぐことができます。
汎化関係を使うことで、アクター間の共通点と差異を整理しやすくなるでしょう。
実際の開発プロジェクトでの活用場面
ユースケース図のアクターは、要件定義フェーズにおいてとくに活躍します。
ステークホルダーとの打ち合わせでアクターを提示することで、「誰がどの機能を使うか」という認識のズレを早期に発見できます。
また、アクターの定義は後続のシーケンス図やクラス図の設計にもつながっており、UML全体の整合性を保つ基礎的な情報となるでしょう。
まとめ
本記事では、ユースケース図のアクターについて、基本的な定義から種類・書き方・表記方法・洗い出し方まで幅広く解説してきました。
アクターとはシステムの外部に存在しシステムと相互作用する存在であり、人間(利用者)と外部システムの2種類に大別されます。
さらに、ユースケースを開始する主アクター(プライマリアクター)と、処理を支援・受領する副アクター(セカンダリアクター)に分類されることも重要なポイントです。
表記方法では、人間のアクターは棒人間、外部システムは矩形+《actor》ステレオタイプで表し、名前は役割名で記載することが基本ルールとなります。
アクターの定義と洗い出しを丁寧に行うことが、精度の高いユースケース図・そして品質の高いシステム設計への第一歩となるでしょう。
ぜひ今回の内容を参考に、実際のプロジェクトでユースケース図の作成に取り組んでみてください。