私がUMLを初めて目にしたのは1999年、Javaプログラミングを始めた時期でした。当時はまだあまり普及しておらず、UMLとは何なのか?何のために使うのか?というところがよく分からないまま、とりあえず使っておくか、という程度に過ぎませんでした。
OMG(Object Management Group:オブジェクト指向技術の標準化を行なう団体)によってUMLが正式に認められてから約10年。最近では、システム開発に携わる人の中でUMLという言葉を全く聞いたことがないという人は少ないのではないでしょうか。実際のところ、開発の現場でUML自体を説明しなければならない場面はほとんどなくなりましたし、使えなくても読むことはできる、という人はかなり増えたように思います。さすがにSNSやWeb 2.0のように、システム業界と無縁の人でも知っているような言葉とまではいきませんが、UMLを当然のように使うことができるようになったことは、開発者同士のコミュニケーションがスムーズになるという意味で非常に喜ばしいことだと思います。
ここではUMLについて何の知識も持たない人を対象に、UMLで何ができるのか?UMLは何のためにあるのか?という観点から、実際の開発現場でUMLがどのように使われているのかをイメージできるように説明します。
UMLとは
UMLという単語は、Unified Modeling Languageの頭文字をとって略したもので、日本語に訳したものは特に存在せず、そのまま「UML(ユーエムエル)」と発音します。UMLは、オブジェクト指向技術を使ってシステムを設計する際に利用する図とその目的、及び記法を定めたものです。Languageと呼びながらもCやJavaのようなプログラミング言語ではなく、あくまでも図の書き方や読み方を決めているだけなのです。
UMLが誕生するまでの間、数々の記法が乱立し開発者を悩ませていましたが、OMGが標準記法にUMLを認定してからは、開発者の共通言語として一気に普及するようになりました。そのおかげで世界中の開発者が言葉の壁を越えて設計書を書いたり読むことが出来るようになったのです。また、日本国内においても、曖昧な表現を許し助詞の使い方ひとつで反対の意味になることもある日本語で文章を書くよりも、UMLの図を見せ合う方がはるかに正確に物事を伝えられる、ということが次第に理解され普及に繋がりました。
UMLの管理自体はOMGが行っていますが、利用にあたって制約はなく、誰もが自由に使うことができます。2003年にはバージョン2.0としていくつかの図が追加され、さらに定義もより厳密になりました。このように、基本的な使い方は変わらないまま、より曖昧性を排除した表記ができるようUMLも進化しているのです。