2017年3月に文部科学省が発表した学習指導要領により、2020年度から小学生を対象にしたプログラミング教育の必修化が決まりました。これから小学生になる子どもたちはプログラミング教育を10年以上受けてから社会人になるわけで、プログラミングが「読み書きソロバン」と同等の「社会人の必須知識」になる時代は、すぐそこまできています。そんな「一億総プログラマー」時代を控え、一念発起してプログラミング言語を身に付けよう! と目論む方も多いと思いますが、ちょっと待ってください。実は、プログラミング言語よりも先に学んでおいたほうが良い「UML」という言語があるのです。
UMLの利点① すべての開発現場で使える!
UMLとは「統一モデリング言語」の略で、「オブジェクト指向言語」を使った開発現場で使われるさまざまな図の描き方を、世界統一基準としてまとめたものです。言語といってもプログラムを書く(コーディング)ためではなく、プログラムの構造や処理の流れをわかりやすく図解するために作られました。
オブジェクト指向は、プログラムの成果物を「モノ」として捉え、そこにさまざまな機能(構造と振る舞い)を付け加えていく考え方で、現在のさまざまなプログラム言語で採用されています。JavaやPythonなどの本格的な言語だけでなく、子ども向けのScratchなども、基本的にはオブジェクト指向の考え方でプログラムを作成します。
つまり、UMLの作図を学べば、すぐにあらゆるオブジェクト指向の開発現場で活躍できるのです。
UMLの利点② オブジェクト指向の理解が深まる!
ほとんどの言語が採用しているオブジェクト指向という考え方は、直感的でわかりやすいものの、深く理解しようとするとなかなか手強い存在です。
例えば、オブジェクト指向の重要な概念である「継承」や「ポリモーフィズム」などは、プログラムのサンプルを眺めてもなかなかピンとこないと思います。しかし、UMLのクラス図を使えば、上記のようなオブジェクト指向の特性を図解でシンプルに表現できます。
また、オブジェクトとオブジェクトの相互関係やメッセージングを表現するための「相互作用図」と呼ばれる図も各種用意されていて、多数のオブジェクト間の複雑な処理をすっきりと記述できます。
つまり、UMLの作図を学べば、オブジェクト指向の高度な概念を自然に理解できるのです。
UMLの利点③ 実際の開発プロセスを理解できる!
実際のプログラム開発では、プログラミング言語のコードを入力する作業は全体のほんの一部に過ぎません。大規模なプログラムを作る際には、まず利用者(ユーザー)から必要な機能(要件)を聞いて、それを分析して仕様にまとめ、クラスやオブジェクトを設計し、詳細なアーキテクチャとモデル設計を行います。そこまでいって、はじめてプログラミング言語の出番(コーディング)がやってきます。
これらの開発プロセスは、すべてUMLの図で記述できます。要求分析では「ユースケース図」「アクティビティ図」が使われ、分析では「クラス図」「オブジェクト図」「コミュニケーション図」「ステートマシン図」が、詳細設計では「クラス図」「パッケージ図」「シーケンス図」が使われます。
つまり、UMLの作図を学べば、大規模から小規模まで、あらゆる開発プロセスに対応できるのです。
ここまで、UMLを学ぶ3つの利点をご紹介しました。しかし、実はもう1つ利点があるのです。それは、「難解なモデリング用語を使えるようになる」こと。本格的にプログラミング言語を学ばなくても、「アクター」「ユースケース」「ライフライン」「メッセージ」「フォークノード/ジョインノード」「結合フラグメント」などを駆使して相手を圧倒できるようになります。
これから小学生になるお子さんをお持ちの皆さん、とりあえずUMLの作図を学べば、モデリング用語を使って親の威厳を保つことができますよ!