システム開発を行う際、UML(Unified Modeling Language)を用いたモデリングは必須の技術となっています。加えて、UMLはビジネスプロセスのモデリングを行う際にも有用です。本連載では、未経験の人でもUMLを存分に使いこなせるようになることを最終目標として、UMLについてゼロから解説していきます。第1回はUMLの役割について整理しておきましょう。
ナレッジの可視化にも役立つUML
団塊の世代の大量退職による業務知識の空洞化が、いよいよ現実的になってきました。いわゆる「2007年問題」です。これはIT業界においても大きな問題です。なぜなら、企業の基幹システムを構築・保守してきた団塊世代の技術者の大量退職も始まるからです。そのため、企業では団塊の世代が有する業務知識やノウハウの継承に本腰を入れるようになってきました。こうした問題への対処の1つが、ブラックボックスとなった知識の「可視化」「見える化」です。
知識の可視化や見える化の手段として有効なツールにUMLがあります(※1)。UMLは「Unified Modeling Language」の略で、ソフトウェア開発におけるモデル標記言語です。現在、UMLは国家試験である「情報処理技術者試験」にも出題されており、もはやITエンジニアにとって基本リテラシーと言えるでしょう。
本連載では、UMLの基本から、UMLを用いてビジネスプロセスモデリング、要求定義、設計を行う手法までを順に紹介していきます。本連載によって、UMLという道具の持つ能力や特性を理解していただき、ITエンジニアである皆さんの「武器」の1つにしていただけたらと思います。
※1:1997年11月に、標準化団体「OMG(Object Management Group)」に規定されたもの。現在は、International Organization for Standardization(国際標準化機構)における標準にもなっている
視覚的な表記・標準化・知識の蓄積によって得られるメリット
これまでIT業界でUMLの利用が後押しされてきた特徴とメリットとしては、次の3点があります。
視覚的な表記
UMLになじみのない方は、言葉のイメージから、UMLをJavaやXMLなどの文字ベースの言語と想像されるかもしれません。しかし、その構成要素の大部分は「図(ダイアグラム)の書き方(表記法)」です。モデリングに視覚的な表記を用いることで、「2次元的に表現できる」「構造を直感的に表現できる」「概要を短時間で理解できる」というメリットを得ることができます。
ただし、UMLには「内容理解が主観に依存する」「詳細な意味を表現することが難しい」といった欠点もあります。そこで、UMLでは図を構成する要素の「意味(セマンティクス)」とその要素で記述される図の書き方「文法(シンタックス)」を厳密に定義することで、こうした弱点を軽減しています。
標準化
UMLの利用によって得られる最大のメリットは、開発に携わる人たちが共通の言葉でコミュニケーションできることです。オフショア開発に見られるように、開発の役割分担はグローバル化が進んでおり、共通の言葉によるコミュニケーションは開発プロジェクトにおいて重要です。 それなら事実上"世界共通語"と言える英語を使えばよいじゃないかと言われてしまいそうですが、言語コミュニケーションにおける汎用的な表現は、システム開発の領域において曖昧さや冗長性を生んでしまいます。「餅は餅屋」ではないですが、ある目的のために特化された道具は、他の汎用的なものよりすぐれているものです。
知識の蓄積
いったん作成した成果物(またはその一部)を別の機会に再利用したいという要求は、どの世界でもあります。例えば、建築業界では成果物が「平面図」や「立面図」のような標準的な設計図という形で残されます。しかしながらソフトウェア業界は、この設計図という形での資産継承があまり得意ではないのが実情です。その大きな要因には、これまでは建築業界のように設計図の書き方に関するルールがなかったため、会社や組織ごとに書き方がバラバラになってしまっていたことがあります。こうした状況の下、UMLが登場したことで、設計レベルにおける知識の蓄積・再利用が容易になりました。
見えるものも見えないものも可視化するモデリング
次に、UMLの目的である「モデリング」について考えてみたいと思います。モデリングとは、「対象領域から目的に合わせて必要な情報のみを抽出・強調して、一定の形式で表現する作業」のことを指します。そしてその作業によって表現されたものが「モデル」になります。
モデルの一例としてわかりやすいものが、前述した建造物の設計図です。設計図を使う一番の目的は、構築前の段階で第三者に建造物の出来上がりイメージを伝えることです。また、構築後であっても建造物の仕様を伝えるために設計図は使われます。設計図は、建物の外観を表現する「立面図」や建物の間取りを表現するものとして「平面図」など、目的に合わせて複数の図で表現されます(図1)。
モデルは、設計図のように「最終的に見えるようになるもの」を事前に可視化する目的だけではなく、「実際には見えないもの」の可視化やシミュレーションを目的として利用されることもあります。天気図はその代表的な例でしょう。天気図は、複数の地点に関する特定の時刻の風向・風速・天気・気圧などの気象要素を地図上に配置し、高気圧・低気圧の位置、前線、等圧線などを記入したものです。こうした現時点を含む過去に観測された情報に加えて、シミュレーションによって得られた今後の気象要素も図示されたものが「予想天気図」となります。
この場合、表現された図だけではなく、その図の元になっている情報もモデルを構成する要素と考えるべきでしょう。このようなモデルの情報と表現の分離の意義については、後でもう少し詳しく説明したいと思います。
『出典:システム開発ジャーナル Vol.1(2007年11月発刊)』
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。