UMLとは
UML(Unified Modeling Language:統一モデリング言語)とは、ソフトウェアの設計やシステムの構造、動作の流れを視覚的に表現するための、世界的に統一された「図の書き方のルール(表記法)」です。
システム開発に関わる人々(開発者、顧客、マネージャーなど)が言葉だけで設計を議論すると誤解が生じやすいため、共通の「図」を使って意思疎通を図ります。UMLには様々な種類の図があり、システムの構造を表す「クラス図」、システムの機能と利用者の関係を表す「ユースケース図」、時間の経過に伴う処理の流れを表現する「シーケンス図」などが代表的です。これらを用いることで、複雑な設計をシンプルに整理できます。
具体例
例えば、オンラインショッピングのシステムを設計する際、「購入者」が「商品をカートに入れる」「決済をする」といった一連のアクションを、人物の形をしたアイコン(アクター)と楕円形の図(ユースケース)を使って表します。この図(ユースケース図)を見ることで、誰もがシステムの全体機能を一目で把握できます。
もう少し詳しく
UML(統一モデリング言語)は、1990年代に様々なモデリング言語が乱立していたのを、標準化団体であるOMGが統一して策定した表記法です。オブジェクト指向開発において、システムの分析や設計を視覚的に図示する際に用いられます。UMLには大別して「構造図(静的な関係を示す)」と「振る舞い図(動的な動作を示す)」の2つのカテゴリーがあり、合計13種類以上の図が定義されています。システム開発で特によく使われるのが、システムを構成するクラス(オブジェクトの設計図)とその関係を表す「クラス図」、ユーザーなどのアクターとシステムの機能の関係を表す「ユースケース図」、オブジェクト間の時系列でのメッセージのやり取りを表現する「シーケンス図」、時間経過やイベントに伴うオブジェクトの状態変化を描く「ステートマシン図(状態遷移図)」です。これらを適切に描き分けることで、設計ミスを未然に防ぎます。
試験でのポイント
試験では、主要なUMLダイアグラムの特徴と用途を区別する問題が非常によく出題されます。 ・クラス図:クラスの属性やメソッド、およびクラス間の「関連」「集約」「汎化(継承)」といった静的構造を表す。 ・シーケンス図:オブジェクト同士がどのような順序でメッセージを送受信するか、時系列の動的な処理手順を表す。 ・ユースケース図:システムの外側にいる「アクター(利用者や外部システム)」と、システムが提供する機能「ユースケース」の関係性を表す。 ・ステートマシン図:イベント発生によってシステムやオブジェクトの状態がどう推移するか(状態遷移)を表す。 これらの図の名称と定義の組み合わせや、実際の図の読み取り問題が頻出です。
関連する用語
オブジェクト指向によるシステム開発管理技術の基本ドキュメントであり、開発の範囲を定義するスコープ管理や、タスクを分解するWBS、試作品でイメージを共有するプロトタイピングなどと合わせて活用されます。