UML(統一モデリング言語)とは何か

― システムを「図」で設計・共有するための共通語 ―

プログラムは、いきなりコードを書き始めると破綩しやすくなります。

そのため実務では「設計図」を先に描いてから実装するのが基本です。

その設計図を描くための世界共通の表記ルールが UML(Unified Modeling Language) です。

UMLは、

「このシステムは何をするのか」

「どんな部品(クラス)があるのか」

「どの順番で処理が進むのか」

を図で表現するための言語です。


なぜUMLが必要なのか

もし設計図がなければ、システム開発はこうなります。

  • 人によって理解がバラバラ
  • 「それ聞いてない」が頻発
  • 後から修正できない

UMLを使うと:

役割何ができるか
企画者システムの流れを説明できる
プログラマ実装の全体像を把握できる
チーム同じ理解を共有できる
試験問題として出せる(FEで頻出)

つまりUMLは

「人と人をつなぐ設計の共通言語」 なのです。


基本情報技術者試験で出るUML

FE試験では主に次の3種類が出ます。

図の種類何を表すか
ユースケース図ユーザーと機能
クラス図データ構造と部品
シーケンス図処理の流れ

この3つを押さえれば十分です。


① ユースケース図(機能の全体像)

何の図か

「誰が」「何をできるか」を表す図です。

例:ECサイト

[利用者] → (商品を検索する)
[利用者] → (商品を購入する)
[管理者] → (商品を登録する)

ここで:

  • 人のマーク:アクター(利用者)
  • 丸:できること(ユースケース)

FEでは

「この図からどんな機能があるか」

「誰が何をできるか」

を問われます。


② クラス図(システムの骨組み)

何の図か

「プログラムの部品」を表します。

例:ショッピングカート

+------------------+
|   Item           |
+------------------+
| name             |
| price            |
+------------------+
| getPrice()       |
+------------------+

+------------------+
|   Cart           |
+------------------+
| items[]          |
+------------------+
| addItem()        |
| totalPrice()     |
+------------------+

これはC#で言えば:

class Item 
{
    string name;
    int price;
}

class Cart 
{
    Item[] items;
}

FEでは

「このクラス図を見て、どんなデータ構造か」

「関連・多重度(1対多など)」

を問われます。


③ シーケンス図(処理の流れ)

何の図か

「誰が → 誰に → どの順番で処理するか」を表します。

例:ログイン処理

利用者 → 画面 : ログイン
画面 → 認証 : IDとパスワード送信
認証 → 画面 : OK / NG
画面 → 利用者 : 結果表示

これはプログラムの処理フローそのものです。

FEでは

「どの順番でメソッドが呼ばれるか」

「この時点でどこに処理があるか」

を問われます。


UMLとプログラミングの関係

UMLは「コードの設計図」です。

UMLプログラム
クラス図クラス定義
シーケンス図メソッドの呼び出し
ユースケース機能要件

UnityやC#の開発でも、

頭の中では無意識にUMLと同じことをしています。

  • Playerクラス
  • Enemyクラス
  • Itemクラス
  • どの順で処理が呼ばれるか

これを「図で可視化」したものがUMLです。


FE試験でのUMLの位置づけ

UMLは暗記ではありません。

FEで問われるのは:

「この図が何を意味しているかを読み取れるか」

です。

だから

UMLはプログラミングの読解力そのもの

なのです。


まとめ

  • UMLは「システムの設計図」
  • 図で「構造」と「流れ」を表す
  • FEではユースケース図・クラス図・シーケンス図が重要
  • プログラミングの理解と直結している

訪問数 14 回, 今日の訪問数 14回