プログラムの話 SEを目指すならUMLをマスターしよう

2020年7月16日

仕事にプログラマーやシステムエンジニアを選ぶ場合は、UMLをぜひ理解しておきたいです。それは、システム設計で使われるUMLを理解しておかないと、設計レビューで内容を理解できませんし、自分の作った部分の品質が悪くて迷惑を掛けてしまいます。ぜひ、理解するようにしましょう。

1.UMLとは

UMLとは、Unified Modeling Languageの略です。システム設計の共通化された表記法と考えれば良いでしょうか。設計書によって表記法がバラバラだと、その都度書き方のルールを理解する必要が出てきます。しかし、開発チームや会社が変わっても、設計の表記法が同じであれば、すんなりと仕事を進められて便利です。

そんなUMLについて、個人的な経験も加えて簡単に説明します。

2.UMLを勉強する前にオブジェクト指向を理解しておこう

UMLではオブジェクト指向を基本に設計していきます。前の投稿でオブジェクト指向について紹介しましたが、今回は仕事を前提にした説明なので、ポリモーフィズムについても、しっかり勉強してください。

オブジェクト指向が理解できていないと、UMLによる表記は難しく、理解もできません。じっくりと読んで理解を深めましょう。

3.ユースケース図


出典:Wikimedia Commons

ユースケース図は、システムの概要を表現するために使われます。パッと見ると、冗談で書いた図のようにも見えます。人を表す記号が設計書とは思えない印象を私は最初持ちました。

しかし、最初はユーズケース図を使ってシステムの概要を説明しますから、表記法をしっかり学びましょう。そして、誰にも理解しやすい図が書けるように心掛けましょう。

4.クラス図


出典:Wikimedia Commons

UMLで一番書きやすいのがクラス図です。それは、ソースの変数定義や関数を表記するため、書きやすいのは当然です。しかし、それらしいクラス図は簡単に書けますが、集約やコンポジション、依存、多重度などを適当に書かずに正確に書けるようにしましょう。そして、コーディングを他の人に任せられるようなクラス図を書きましょう。

5.シーケンス図


出典:Wikimedia Commons

シーケンス図は、プログラムがどのように流れて行くかを表記します。クラス図と並んで重要なので、ぜひ理解しましょう。表記ではループやIFなどができるため、より実際のコーディングに近い表現ができます。クラス図だけではイメージが湧かない内容は、シーケンス図で分かりやすく表現しましょう。

6.その他の表記は?

他にもUMLの表記はいろいろあります。特に、オブジェクト図、コミュニケーション図、ステートマシーン図などは重要でしょうか。これらも使えるように理解しておきましょう。

7.UMLを書くためのソフトウェアは

UMLを手書きするのは大変です。また、ワードやExcelなどのオフィスソフトも書きづらいです。そこで、UMLを書く専用のアプリケーションを使いましょう。私は、「Astah コミュニティ」を良く利用しています。ところが、「Astah コミュニティ」は提供終了になってしまいました。

そのため、私からおすすめできるアプリケーションがないですが、他にもUMLを描くアプリケーションがありますから、自分に合ったものを探してみてください。

8.UMLの勉強に適した本は

この投稿をする際に、以下の本を読んでみました。私の別サイト「kunimiyasoftアイテムセンター」で詳しく紹介しています。よろしければどうぞ。

かんたんUML入門(技術評論社) ※kunimiyasoftアイテムセンターへ遷移します。