プログラミングの用語一覧へ
このページの目次
プログラミング上級図解あり

アクターとは?

読み方:アクター

最終更新:2026/08/18

3秒でわかる

アクターとは、UMLのユースケース図で、対象システムの外から機能を利用する役割のこと。人だけでなく外部システムや装置も含み、並行処理のアクターモデルでは別の意味を持ちます。

30秒図解

UMLのアクターは人の形ではなくシステム境界の外から機能を使う役割で、購入者だけでなく決済代行サービスも含まれる
アクターかどうかは人の形ではなくシステム境界で決まります。購入者も外部APIも、境界の外から機能を使う役割ならアクターです。

もう少し詳しく

ITでいうアクターとは

「アクターとは」と聞かれたとき、要件定義や設計の文脈なら、まずUMLのアクターを指します。アクターは、開発対象のシステムの外側にいて、システムと直接やり取りする役割です。

ネットショップを開発するなら、商品を買う「購入者」、商品を登録する「運営担当者」、支払い結果を返す「決済代行サービス」などがアクターになります。棒人間で描くことが多いため人だけに見えますが、外部のAPI、別システム、機器もアクターになれます。

アクターは人ではなく「役割」

アクター名には、具体的な個人ではなく、その人やシステムが果たす役割を書きます。

候補アクターか理由
購入者はい商品を検索し、注文する役割
運営担当者はい商品や注文を管理する役割
決済代行サービスはい対象システムの外から決済結果を返す
経理担当の田中さんいいえ個人名ではなく「経理担当者」と書く
注文画面いいえ対象システムの内側にある部品
ネットショップ本体いいえ開発対象そのものはアクターではない


同じ人が複数の役割を持つこともあります。小さな店舗で一人が「購入者」と「運営担当者」の両方になる場合でも、ユースケース図では役割を分けて考えます。

システムの境界でアクターが決まる

何がアクターかは、開発対象の境界によって変わります。

ネットショップを開発対象にすると、決済代行サービスは外側にあるためアクターです。一方、決済代行サービスそのものを開発対象にすれば、決済処理は内部の機能になり、カード会社や加盟店システムなどが外側のアクターになります。

アクターを決める前に「今回どこまでを作るのか」を四角いシステム境界として決めます。境界の外から、境界の中の機能へ働きかけるものがアクターです。

ユースケースとの違い

アクターは機能を使う側、ユースケースはシステムが提供する機能です。

種類答える質問
アクター誰が、または何が使うか購入者、運営担当者、決済代行サービス
ユースケースシステムで何ができるか商品を検索する、注文する、返金する


「購入者が注文する」なら、購入者がアクター、注文するがユースケースです。この主語と動作の組で考えると分けやすくなります。

アクターを洗い出す理由

アクターは、要件の抜けを見つけるために使います。機能だけを列挙すると「返金機能が必要」で終わりますが、アクターから考えると次の問いが出ます。

  • 返金を実行できるのは購入者か、運営担当者か

  • 決済代行サービスへ何を送り、何を受け取るか

  • 在庫同期は人が押すのか、外部システムが起動するのか
  • 役割ごとに利用する機能を並べると、権限、外部連携、例外処理の漏れを実装前に見つけられます。

    もう一つの意味 アクターモデル

    並行処理の話では、アクターは別の意味になります。アクターモデルのアクターは、自分専用の状態とメールボックスを持ち、届いたメッセージを順番に処理する実行単位です。Erlang、Elixir、Akkaなどで使われます。

    用語いる場所役割
    UMLのアクターシステムの外システムの機能を利用する
    アクターモデルのアクタープログラムの中メッセージを受けて状態を更新する


    周囲にユースケース図、要件、利用者という語があればUMLです。メールボックス、メッセージ、並行処理という語があればアクターモデルです。

    アクターモデルの短い例

    Elixirでは、状態をプロセスの内側に閉じ込め、外からはメッセージだけを送ります。

    defmodule Counter do def start(count \\ 0), do: spawn(fn -> loop(count) end) defp loop(count) do receive do {:add, n} -> loop(count + n) {:get, from} -> send(from, count) loop(count) end end end

    共有状態を外から直接変更させないため、複数の処理が同時に同じ値を書き換える競合を避けやすくなります。

    つまずきやすいところ

  • 棒人間だから人だけだと思う。外部APIや別システムも、境界の外から関わればアクターです

  • 具体的な個人名や部署名を書く。人が入れ替わっても変わらない役割名にします

  • 開発対象の画面やデータベースをアクターにする。システムの内側の部品はアクターではありません

  • アクターとユースケースを混ぜる。「購入者」はアクター、「注文する」はユースケースです

  • UMLのアクターと並行処理のアクターを同じものだと思う。名前は同じでも別の概念です
  • よくある質問

    アクターとユーザーは同じですか

    ユーザーは実際にシステムを使う人を指すことが多い言葉です。アクターは設計上の役割なので、人ではない外部システムも含み、一人のユーザーが複数のアクター役を持つこともあります。

    システム管理者はアクターですか

    対象システムの外から管理機能を使う役割ならアクターです。ただし「管理画面」や「管理機能」はシステム内部のため、アクターではなくユースケースや部品として扱います。

    actorの英語の意味と関係がありますか

    英語のactorには「行為者、役を演じるもの」という意味があります。UMLではシステムに対して特定の役割を演じるもの、アクターモデルではメッセージを受けて行動する実行単位、という共通イメージです。

    覚え方

    UMLなら「境界の外にいる役割」、並行処理なら「メールボックスを持つ実行単位」。まず周囲の文脈を見れば判別できます。

    知識のつながり

    サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

    現在地アクタープログラミング

    LEARN BY DOING

    この用語を、教材で使ってみる

    直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

    この用語を扱うコース

    コース

    基本情報技術者(FE)対策

    79レッスン
    コース

    ITパスポート対策

    70レッスン
    コース

    コンピューターサイエンス上級:アルゴリズムとデータ構造

    50レッスン
    基本情報技術者(FE)コースの全編を見る