「UML」とは、エンジニアやプログラマーの方にとって重要となるモデリング言語のことで、UMLによって描かれた図がシステム開発などに必須となってきます。しかし、UML図が重要だということを理解していても、どんなメリットがあって使っているのか、どんな種類があるのか、といったところまで理解できているでしょうか。
この記事では、UML図について紹介していきます。UML図とは何か、目的やメリット、種類の説明や書き方に至るまで説明しますので、ぜひ理解して使いこなせるようになりましょう。
1. ソフトウェア開発に欠かせないUML図とは?

まずは「UML」とは何かについてから触れていきましょう。「UML」は『Unified Modeling Language』の頭文字から取った略語で、日本語では『統一モデリング言語』と呼ばれています。
システムの構造や振る舞いなどの仕様をオブジェクト指向で分析・設計・記述するのに使用され、図を用いて表現して視覚的な把握を可能とします。このときに描く図には様々な種類がありますが、それらを総称して「UML図」と呼びます。
UMLでは記号や関係の表し方が定められています。ただし、同じ対象でも目的によって描く範囲や詳しさは変わります。図の対象、前提、用語をチームでそろえることが必要です。
2. UML図を作成する目的やメリット

UMLやUML図について大まかにはわかりましたが、なぜUML図を作成するのでしょうか。続いては、作成する目的やメリットについて説明してまいります。
2.1 目的とは
UML図を作成する最大の目的は、システムの仕様を分析・設計するためです。設計者は、UML図を用いて既存システムを分析したり、あるいは新規システムを設計したりするのです。
また、一言でシステムと言っても様々な側面がありますが、UMLにはその様々な側面を記述するのに適した図法が定義されています。つまり、UML図を作成することで、一つのシステムを多面的に捉えることが可能となるのです。
2.2 どんなメリットがあるか
UMLの他にもシステムを記述する図法はありますが、現在最も普及しているのがUMLで、広い範囲をカバーできる点で大変優秀な図法となっています。また、標準規格のため誰が書いても同じ図で表現されます。そのような側面から、数年先でもシステムの仕様がわからないというトラブルにはならないでしょう。
また、システム開発者の他にもわかりやすい図があるというメリットもあります。営業・マネージャー・ユーザーなど様々な役割の人にも仕様を共有することが可能なのです。
3. 代表的なUML図9種類
ここからは、様々あるUML図をいくつか紹介いたします。現在のバージョンは十数種類ありますが、その中から主な9種類を取り上げたいと思います。
3.1 クラス図
クラスとそれら同士の関係を表す図です。システムの構造を把握するときに作成されることが多く、使用頻度も高いダイアグラムとなります。
3.2 コンポーネント図
システムを構成するコンポーネントとそれら同士の相互関係・相互作用などを表した図式です。なお、ここでのコンポーネントとは、1つ以上のインターフェイスを持っている自立したサブシステムのことを指します。
3.3 配置図
物理的なハードウェアの配置の構造と、それぞれのハードウェア上で動くコンポ―ネント、さらにそれらコンポーネント間の関係を図式化したものです。システム管理者に欠かせない構造図となります。
3.4 パッケージ図
パッケージとはいくつかのクラスをグルーピングしたものを指し、そのパッケージとパッケージ間の依存関係を表した図式です。クラスを設計する際に依存関係が複雑になりすぎないようにするため、適度にパッケージを分けることがあります。
3.5 ユースケース図
アクター(利用者)とユースケース(各アクターができる操作)を線で結び、要件を特定するために記述される図式です。ユースケースを「誰が・何に対して・何をできるか」という要素に分解して明示できます。
3.6 シーケンス図
オブジェクト間のメッセージの流れを時系列に沿って表現した図式です。使用頻度が高く、分析・設計のどちらにも役立ちます。また、開発者以外の役割の方が見ても分かりやすいものになっています。
3.7 コミュニケーション図
シーケンス図同様にオブジェクト間のメッセージの流れを表していますが、時系列ではなくオブジェクトの関係性に注目した記述がなされます。
3.8 アクティビティ図
プログラムを実行した際の処理の流れを、条件分岐なども用いて表したフロー図です。フローチャートをイメージすれば理解しやすい図式で、使用頻度も高くなっています。
3.9 ステートマシン図
状態遷移図とも呼ばれ、特定のオブジェクトの振る舞いを表現した図式です。一見するとアクティビティ図と似ていますが、処理に注目したアクティビティ図に対して、オブジェクトの状態遷移に注目したものがステートチャート図です。
注文システムなら、どの図を選ぶか
- 利用者ができることを話し合う:ユースケース図で「注文する」「注文を取り消す」を表します。
- データの構造を整理する:クラス図で顧客、注文、注文明細の関係を示します。
- 処理の順序を確認する:シーケンス図で画面、注文サービス、在庫サービスの呼び出しを時系列に並べます。
- 注文状態を整理する:ステートマシン図で受付済み、出荷済み、取消済みと遷移条件を示します。
一枚にすべてを詰め込むより、説明したい疑問に合う図を選びましょう。表記の詳しい定義はOMGのUML仕様で確認できます。関係の向きや多重度を決めた後、実際のデータ例を一つ当てはめると矛盾を見つけやすくなります。
4. UML図の書き方のルールや注意点

続いて、UML図の書き方のルールや注意点について押さえておきましょう。ただ、UML図には様々な種類があることは前述の通りですので、どの図にも言える一般的なルール・注意点について触れていきましょう。
4.1 書き方のルール
様々な種類の図の書き方に共通して言えるルールについて説明していきます。とは言っても、標準規格であるUMLは記述ルールが予め定まっているため、記述ルールに則るというのが基本となります。
- 図形や線は規格で決められたものを使う、独自の図形・線は使わない
- テキストも表記ルールに沿って正確に記述する
- 図だけで表現できないことはノート・ドキュメントを付記する
4.2 書き方の注意点
ルール通りに記述できるとしても、いくつか注意しておくべきこともあります。書き方の注意点を挙げてみましょう。
- 今から表現したいものと、書き表そうとしている図の種類は適切にマッチしているか
- 書き表したいことは予めイメージ出来ているか
- 2つ以上の図の間に矛盾が起きていないか
5. おすすめのUML図作成ツールboardmix

最後に、UML図を書くのに役立つおすすめのツールを紹介いたします。それが、オンラインホワイトボードツールの「boardmix」です。あらゆる種類のUML図の記述に適したツールとなっています。
5.1 boardmixとはどんなツールか
「boardmix」はリリースされて間もないオンラインホワイトボードツールですが、ユーザーファーストで非常に使いやすいツールとなっていると言えるでしょう。リアルのホワイトボードを利用している感覚で使えるうえ、無料での利用ができてしまいます。
スペースが実質無限に広がっており、自由に文字を書き込んだり付箋を貼り付けたりしてホワイトボードのように使うのが主な使い方です。しかし、フレームワーク等のテンプレートも豊富に用意されており、また図形も様々揃っているため、幅広い図式を作成するのにも適したツールとなっています。
さらに、複数人による同時編集ができ、そのうえコメントやチャット機能もあるため、コラボレーションツールとしての性能も申し分ありません。UML図を一つのスペースに全て集約させ、複数人によって同時並行で作成しチェックし合うという使い方が可能です。
5.2 boardmixのおすすめポイント
Boardmixでは図と説明を同じボードに置き、コメントで確認事項を共有できます。利用する際は必要な記号が描けるか、既存ファイルとの互換性が必要かを確認してください。
- 無料で使える
- スペースを気にせず広く使える
- ブラウザ上で使えるので、始めようと思えばすぐに使える
- 図形や接続線を配置して図の下書きを作成できる
- 作成するだけでなく、コメント機能を使えばチェックし合うことも可能
6. まとめ
まずは説明したい問題を一つ選び、適した種類のUML図を作ります。データ構造ならクラス図、処理のやり取りならシーケンス図というように目的を分けると、レビューする相手も理解しやすくなります。担当者と実際の動作をたどり、図と設計の前提が一致しているか確かめてください。