最終更新日:2026年8月2日
fe fe-technology system-development uml
まず結論
UMLとは、オブジェクト指向を用いたソフトウェア開発で、システムの構造や振る舞いを図で表すためのモデリング言語です。
基本情報技術者試験では、まず次の切り分けを押さえます。
システムを図でモデル化する
→ UML
関係データベースを操作する
→ SQL
文書の構造をタグで記述する
→ SGML・XML
分散したオブジェクトを連携させる
→ CORBA
覚える一文はこれです。
UMLは、プログラムを書く言語ではなく、システムを図で表すモデリング言語。
直感的な説明
UMLは、家を建てる前に作る設計図のようなものです。
ソフトウェアをいきなりプログラムとして作り始めると、全体の構造や処理の流れが見えにくくなります。
そこで、開発するシステムについて、
- どのような部品があるか
- 部品同士がどう関係するか
- 利用者が何をするか
- どの順番で処理するか
- 状態がどう変わるか
を図で整理します。
静かな形を見る
→ システムの構造
動きや流れを見る
→ システムの振る舞い
UMLでは、目的に応じて複数の図を使い分けます。
定義・仕組み
UMLは、Unified Modeling Languageの略です。
OMG(Object Management Group)が標準化したモデリング言語で、主にオブジェクト指向によるシステム分析や設計で使われます。
ここで大切なのは、UMLが次のものではないという点です。
プログラムを実行する言語
→ ではない
データベースを操作する言語
→ ではない
文書へタグを付ける言語
→ ではない
UMLは、システムを理解しやすい形で表現し、設計者や開発者の間で共有するための表記法です。
構造図
構造図は、システムの静的な構造を表します。
「何があるか」「どのようにつながっているか」を見る図です。
代表例は次のとおりです。
| 図 | 主に表すもの |
|---|---|
| クラス図 | クラスの属性・操作・クラス間の関係 |
| オブジェクト図 | ある時点のオブジェクトの具体例 |
| コンポーネント図 | ソフトウェア部品と依存関係 |
| 配置図 | ハードウェアや実行環境への配置 |
| パッケージ図 | 要素のまとまりと依存関係 |
振る舞い図
振る舞い図は、システムの動きや処理の流れを表します。
「何をするか」「どのように変化するか」を見る図です。
代表例は次のとおりです。
| 図 | 主に表すもの |
|---|---|
| ユースケース図 | 利用者とシステム機能の関係 |
| アクティビティ図 | 処理や業務の流れ |
| 状態遷移図 | イベントによる状態の変化 |
| シーケンス図 | オブジェクト間のメッセージを時間順に表す |
| コミュニケーション図 | オブジェクト同士のつながりとメッセージ |
| タイミング図 | 時間経過に伴う状態や値の変化 |
このテーマは、基本情報技術者試験のシステム開発技術に関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、UMLの定義や、各図が何を表すかを選ぶ問題として出題されます。
UMLそのものを選ぶ
次の表現があれば、UMLを考えます。
オブジェクト指向
システムをモデル化
構造や振る舞いを図で表現
標準化された表記法
一方、似た用語は次のように切り分けます。
| 問題文の手掛かり | 用語 |
|---|---|
| オブジェクト指向開発のモデリング言語 | UML |
| 関係データベースの定義・操作 | SQL |
| 文書やデータの構造をタグで記述 | SGML・XML |
| 分散オブジェクトを連携 | CORBA |
代表的な図を選ぶ
各図は、問題文の動詞に注目すると判断しやすくなります。
クラスの関係を表す
→ クラス図
利用者と機能の関係を表す
→ ユースケース図
処理の流れを表す
→ アクティビティ図
状態の変化を表す
→ 状態遷移図
メッセージの時間順を表す
→ シーケンス図
どんな場面で使う?
UMLは、開発するシステムを関係者で共有するときに使います。
要求を整理する
利用者がシステムで何をしたいかを整理するときは、ユースケース図が役立ちます。
利用者
↓
どの機能を利用するか
システムの構造を設計する
クラスや部品の関係を整理するときは、クラス図やコンポーネント図を使います。
どの部品があるか
どの部品と関係するか
処理の流れを確認する
処理順を確認するときは、アクティビティ図やシーケンス図を使います。
業務・処理全体の流れ
→ アクティビティ図
オブジェクト間のメッセージ順
→ シーケンス図
状態の変化を確認する
注文、機器、画面などがイベントによって状態を変える場合は、状態遷移図を使います。
未処理
↓ 受付
処理中
↓ 完了
完了
よくある誤解・混同
UMLはプログラミング言語
誤りです。
UMLは、JavaやPythonのようにコンピュータへ処理を実行させる言語ではありません。
プログラムを書く
→ プログラミング言語
システムを図で表す
→ UML
UMLはマークアップ言語
誤りです。
文書やデータの構造をタグで記述するのは、SGMLやXMLなどのマークアップ言語です。
UMLはデータベース操作言語
誤りです。
表の定義や検索、追加、更新などを行うのはSQLです。
UMLとCORBAは同じ
違います。
UMLはモデリング言語です。
CORBAは、異なる環境にあるオブジェクト同士を連携させるための仕組みです。
設計を図で表す
→ UML
分散オブジェクトを連携
→ CORBA
すべての図を暗記しなければならない
図の名前だけを丸暗記するより、何を見たい図なのかで整理する方が判断しやすくなります。
構造を見る
→ クラス図など
利用者と機能を見る
→ ユースケース図
処理順を見る
→ シーケンス図
状態変化を見る
→ 状態遷移図
まとめ(試験直前用)
- UMLは、オブジェクト指向開発で使うモデリング言語
- プログラミング言語、SQL、マークアップ言語ではない
- 構造図は、システムの静的な構造を表す
- 振る舞い図は、処理・動作・状態変化を表す
- クラスの関係はクラス図
- 利用者と機能はユースケース図
- メッセージの時間順はシーケンス図
- 状態の変化は状態遷移図
UMLは、システムの構造や振る舞いを図で共有するための言語。