UMLとは?図の種類と使い分けをやさしく解説

UMLとは?図の種類と使い分けをやさしく解説

UMLの図の種類が多くて整理できない初心者のイメージ
「UMLの図、何種類あるの?」
「クラス図とシーケンス図の違いは?」
「どこから覚えればいい?」

図の種類を一つずつ丸暗記しようとすると、たいてい挫折します。

UMLとは、ソフトウェア設計を統一された図で表す世界共通の表記法のことです。大きく、静的な骨格を描く構造図と、動的な動きを描く振る舞い図の2系統に分かれます。先にこの「2つの系統」という地図を持てば、あとの図はその下にきれいに収まり、個々の図が迷子になりません。

 

この記事では、まず2系統に分ける意味を押さえ、構造図の代表3種と振る舞い図の代表4種を役割で並べ、開発工程との対応で使い分けを整理します。最後に、基本情報の科目A 開発技術で問われる角度まで示します。

 

1. UMLは「構造」と「振る舞い」の2系統

UMLを構造図と振る舞い図の2系統に分けるイメージ

UMLが生まれた理由は、シンプルです。同じ仕様を伝えるのに、人ごとに絵の描き方がバラバラだと、開発チームで認識がズレます。図の描き方を業界全体で揃えるために、この表記法が使われます。

 

そして、あなたが最初に持つべき地図が、2系統の区別です。構造図はシステムの「静的な骨格」——どんな部品があり、どう関係するか。振る舞い図はシステムの「動的な動き」——誰が何をし、いつ何が起きるか。止まっている姿を描くのが構造図、動いている姿を描くのが振る舞い図、と覚えてください。

 

たとえるなら、会社を表す2枚の図です。組織図は「誰がどこにいるか」という静的な骨格、業務フロー図は「仕事がどう流れるか」という動的な動き。同じ会社でも、止まった構造を描くか、動きを描くかで図が変わります。UMLの2系統も、まったく同じ発想です。

 

2. 構造図:静的な骨格を描く

構造図でシステムの骨格を表すイメージ

まず構造図です。システムの部品と、その関係を表す図のグループ。試験で問われる代表は3種類で、違いは抽象度に出ます。

 

構造図 表すもの 抽象度
クラス図 クラス(設計図)と、クラス同士の関係 設計レベル(構造図の主役)
オブジェクト図 クラスから作られた実体の、ある瞬間の状態 実行時
コンポーネント図 システムを構成する部品と、その依存関係 配置レベル

 

3つの関係は、抽象度の階段で捉えると迷いません。クラス図が「設計の設計図」、オブジェクト図が「その設計から生まれた実体の、ある瞬間のスナップショット」、コンポーネント図が「部品単位の配置」。設計から実体へ、実体から配置へと、見る解像度が変わっていく並びだと捉えると、3つの役割が一続きになります。あなたが試験で「UML=クラス図」という印象を受けやすいのは、オブジェクト指向設計の中心がクラス図にあるからです。クラス図の前提となる考え方は オブジェクト指向プログラミングとは で押さえると、構造図がぐっと読みやすくなります。

 

構造図の主役はクラス図だと、あなたは覚えておけば十分です。オブジェクト図とコンポーネント図は、「クラス図の実体版」「クラス図の配置版」と、クラス図を軸に位置づけると、3つの違いが1本の線でつながります。

 

3. 振る舞い図:動的な動きを描く

振る舞い図でシステムの動きを表すイメージ

次が振る舞い図です。システムのやりとりや処理の流れを表す図のグループ。代表4種は、「見る視点」で区別すると頭に入ります。

 

振る舞い図 答える問い
ユースケース図 誰が、何をするか(利用者と機能の関係)
シーケンス図 いつ、何が起きるか(メッセージを時系列で)
アクティビティ図 処理がどう流れるか(分岐を含む流れ)
ステートチャート図 状態がどう変わるか(1つの対象の状態遷移)

 

4つは、同じシステムの動きを違う角度から切り取ったものです。ユースケース図は「誰が何を」、シーケンス図は「いつ何が」、アクティビティ図は「どう流れる」、ステートチャート図は「どう変わる」。あなたが1枚で全部を伝えようとするのではなく、目的に応じて図を選ぶのがUMLの基本姿勢です。とくにシーケンス図は、オブジェクト同士のメッセージのやり取りを縦の時間軸に並べる図で、処理の順番を追うのに向きます。アクティビティ図は分岐や並行処理を含む流れを表すので、業務の手順を描くときに重宝します。

 

振る舞い図で迷ったら、「答える問いは何か」で選び分けてください。「誰が使うか」ならユースケース図、「順番を追いたい」ならシーケンス図。図の名前ではなく、その図が答える問いで覚えると、設問での取り違えが減ります。

 

4. 開発工程との対応で使い分ける

開発工程とUMLの図の対応を整理するイメージ

図の名前を覚えたら、次に気になるのが「いつ、どの図を使うか」です。開発工程と図の対応で並べると、使い分けが見えてきます。

 

工程 よく使う図 目的
要件定義 ユースケース図 利用者と機能の関係を整理する
基本設計 クラス図 システムの骨格を設計する
詳細設計 シーケンス図/アクティビティ図 処理の流れを具体化する
状態管理 ステートチャート図 対象の状態遷移を表す

 

「全部の図を覚えなければ」と気負う必要はありません。実務で中心に使うのはクラス図・ユースケース図・シーケンス図の3つで、残りは必要に応じて選びます。この3つは、ちょうど要件定義・基本設計・詳細設計という開発の主要な流れに沿って登場します。あなたがこの3つと工程の結びつきを押さえておけば、開発の流れの中で図の出番が自然に見えてきます。開発工程そのものの全体像は ソフトウェアテストの種類とは でV字モデルと合わせて眺めると、設計とテストの間で図がどう働くかがつながります。

 

5. 科目A 開発技術で問われる角度

試験で問われる角度を確認するイメージ

科目A 開発技術では、図を描かせるより「図の役割と使い分け」を問う出題が中心です。あなたが押さえる角度は3つです。

 

  1. 2系統の区別:ある図は構造図か振る舞い図か(静的か、動的か)
  2. 図と役割の対応:「利用者と機能の関係を表す図は?」のように、役割から図名を選ぶ
  3. 工程との対応:要件定義=ユースケース図、基本設計=クラス図、といった結びつき

 

覚え方は、この2段に尽きます。「静的か動的か」で系統を分け、「答える問い」で図を選ぶ。この2段の物差しを持てば、図の名前が並ぶ選択肢でも、役割から正解を引き当てられます。

 

図の名前を覚えるより、「その図は何を表すか」を一言で言えるようにするのが近道です。あなたが「クラス図=骨格」「シーケンス図=順番」と役割で紐づけておけば、選択肢が言い換えられていても、意味から正解にたどり着けます。暗記の量ではなく、役割の理解が得点を分けます。

 

次のステップ

UMLが科目A 開発技術のどこに位置づくかは、基本情報技術者試験の試験範囲と勉強法ガイド で範囲の地図を先に見ておくと、開発技術の学習の的が絞れます。

図の役割や工程対応が定着したかは、基本情報技術者 科目A テクノロジ系の問題集 で設問に当たり、選び分けの感覚をつかんでみてください。