実践配備進むUMLツールの魅力、再発見!

この記事をtweetする このエントリーをはてなブックマークに追加

製品の基礎をきちんと理解! IT製品解体新書

実践配備進むUMLツールの魅力、再発見!

2011/02/28


 ソフトウェア開発で生き残っていくためには短納期、低コストをさらに追及しながら、海外でのソフトウェア開発にも対応していく必要がある。このような状況下では、ソフトウェアもハードウェアと同じように、既存のリソースをできるだけ再利用しながら要求仕様を満たす、部品組み立て型のソフトウェア開発手法の導入が必要になってくる。このとき、活躍するのがモデリングを実現するための言語「UML」である。そこで、今回は「UML」と「UMLツール」の基本を改めて解説しながら、最新UMLツールの魅力を浮き彫りにしていく。

UMLツール

※「UMLツール/実践配備進むUMLツールの魅力、再発見!」の記事を一部ご紹介します。会員登録を行い、 ログインすると、「UMLツール/実践配備進むUMLツールの魅力、再発見!」の記事全文がお読みいただけます。

会員登録はこちら(無料)

UMLツールの選び方ガイドへ


1

UMLツールを解体しよう!

1-1

UMLツールとは?

 UMLツールの説明に入る前に、UMLから話を始めよう。UML(Unified Modeling Language)とはオブジェクト指向でシステムのモデル(仕様書や設計図など)をグラフィカルに表現するための言語(表記法)のこと。汎用のモデリング言語として世界中で使用されている。UMLは1995年にRational社(現IBM)から公開され、1997年からはOMG (Object Management Group:オブジェクト指向技術の標準化団体) に移管されている。現在の最新バージョンは2.3だが、UML2.1以降、大きな変更はない。本稿執筆時点(2011年2月)、OMGにおいてバージョン3.0の議論が行われている。

■UMLは図(ダイアグラム)でモデルを表現する!

 UMLでは、表1に示すように13種類のダイアグラム(図形、線、矢印などを使って機能などを表現したもの)が規定されており、これらを駆使することで、いろいろな視点からモデルを作成することができるようになっている。これらのダイアグラムはシステムの静的な構造を示す「構造図」と、システムの振る舞いを示す「振る舞い図」に大別できる。

表1 UMLのダイアグラム
表1 UMLのダイアグラム

 ここで、ダイアグラムの具体例を図1、図2に紹介しよう。これらのダイアグラムを見れば分かるように、UMLを使うことで、複雑な処理もわかりやすく表記することができる。

図1 ユースケース図の例
図1 ユースケース図の例
このユースケース図により、顧客から注文を受けた場合、どのようなやりとり(サービス)を行っているかを分かりやすく表現できる。
資料提供:テクノロジックアート

+拡大

図2 アクティビティ図の例
図2 アクティビティ図の例
このアクティビティ図により、ホテルの宿泊予約を行うときの処理の流れを分かりやすく表現できる。
資料提供:テクノロジックアート

+拡大


コラム:UMLで「モデル駆動型開発」が可能になる!

 UMLを語るときに必ず登場してくるキーワードの1つにMDA(Model Driven Architecture)がある。MDAは、UMLの標準化を行っているOMGが提唱しているソフトウェア設計手法のこと。モデル(設計情報)と実装(特定の実行環境で動くソースコード)を分離し、両者がそれぞれ独立して変更できるようにする手法だ。MDAの場合、モデルは単なるスケッチや設計図ではなく、効率的な実装を生成する元となる主要な成果物として使われ、ここでUMLが活躍する。このMDAによるシステム開発は「モデル駆動型開発」(MDD)と呼ばれている。
 つまり、MDDではUMLを使ってモデルを作成し、そのモデルから個別の実装環境に依存したソースコードを生成する。この結果、実装技術の変化に影響を受けずに動作するモデルを維持することが可能になり、次のようなメリットが得られる。
ソフトウェア移植性の向上
実装環境に依存しない業務モデルの実現(再利用性)


■UMLツールの基本機能

 UMLを使ってモデルを作成する場合、UMLで定義されているユースケース図やクラス図、シーケンス図などを、UMLが定める表記法にしたがって描いていく必要があるが、これらの作図機能やMDAを実現するための各種機能を提供してくれるツールとしてUMLツールが登場している。ただし、一口にUMLツールといってもその守備範囲は製品によってかなり異なり、単なるお絵かきツールからMDA全般を支援するUMLモデリング統合開発ツールまで、いろいろなタイプの製品が出回っている。ここではMDAを支援できるUMLツールに焦点を絞り、その基本機能を紹介する。

ダイアグラム作成機能

 UMLツールの最も基本となる機能がダイアグラム作成機能だ。UMLで定義されている各種ダイアグラムを簡単に作図・編集するための機能が豊富に提供されている。例えば、新規に要素を作成する場合、ツールボックスなどから作成したい要素の種類を選択し、ダイアグラム上にドラッグ&ドロップするだけでよい。また、既存要素を再配置する場合も、再配置したい要素を選択し、ダイアグラム上にドラッグ&ドロップするだけだ。
 要素間に接続を作成する場合も、ツールボックスの接続欄などから作成したい接続の種別を選択した後、要素間をドラッグ&ドロップすればOK。このほか、ダイアグラムイメージを自由に拡大・縮小する機能や、要素や接続に色を付ける機能などがサポートされている。

コード自動生成機能

 UMLツールを使って作成したクラス図、シーケンス図、アクティビティ図、ステートマシン図などから、C++/Java/C#などのプログラミング言語のソースコードを自動生成(フォワード・エンジニアリング)することができる。どのダイアグラムからどんな言語のコードを生成できるのかについては、製品ごとに対応が分かれている。また、既存のソースコードからクラス図を生成(リバース・エンジニアリング)し、関係を解析することができるツールもあり、設計書のないソースコードの状況を解析したい場合などに重宝する。また、ソースコード生成ルールをカスタマイズすることができる製品もある(図3)。
 実際の開発では、「モデルを作りそこからソースを生成し、ソースの修正結果をモデルに反映させさらにコードに・・・」といった具合に、フォワードとリバースを交互に行うが、これをラウンドトリップ・エンジニアリングと言う。

図3 クラス図からのソースコード生成の流れ
図3 クラス図からのソースコード生成の流れ
この例では、ソースコードの生成ルールをカスタマイズし(テンプレートとして定義し)、それぞれのターゲットやコーディング規約にあったソースコードを生成することができる。
資料提供:スパークスシステムズジャパン
ドキュメント自動生成機能

  UMLツールで作成したUML モデル情報(各図のイメージ、クラスの詳細といったプロジェクトの詳細ドキュメント)を、HTML 形式やRTF(Word 互換)形式で出力するための機能。HTML 形式は内部での情報共有に、RTF 形式は仕様書・成果物などの作成に重宝する。ドキュメント生成ルールをカスタマイズすることができる製品もある(図4)。
 例えば、javaソースコードを読みこんだプロジェクトをドキュメントに出力し、各クラスの概要を把握するといった使い方もできる。

図4 モデルからのドキュメント生成の流れ
図4 モデルからのドキュメント生成の流れ
この例では、モデルの「どの内容を」「どこに」「どの書式で」ドキュメント化するかをテンプレートとして定義し、独自のドキュメントを生成することができる。
資料提供:スパークスシステムズジャパン

…この記事の続きは、会員限定です。  会員登録はこちら(無料)

続きを読むには…
会員登録いただくと自動的にこの記事に戻り、続きが読めます。

会員登録(無料)・ログイン

このページの先頭へ
関連キーワード

UMLツール/実践配備進むUMLツールの魅力、再発見!」関連の情報を、チョイスしてお届けします

※キーマンズネット内の「UMLツール」関連情報をランダムに表示しています。

UMLツール」関連の特集


開発案件減少により厳しさが増す統合開発環境市場。今後はSaaS開発案件が市場牽引役になると期待される…



新たな発想を短期間でアプリケーションやサービスとして完成させ、リリース後も頻繁にリファインしていく。…



納期もコストも圧縮、なのに品質は担保しろなんて・・・プロマネに愚痴をこぼす前に考えたい、開発効率化に…


「開発ツール」関連の製品

画像処理ソフトウェア SDK ImageGear(イメージギア) 【ラネクシー】 ビジネスとITの橋渡しをする Mendix App Platform 【ビルドシステム】 Web Performer 【キヤノンITソリューションズ】
開発ツール 開発ツール 開発ツール
世界最高水準の画像処理ソフトウェア開発キット。世界で5000万本以上の利用実績を持ち、2000以上の画像処理メソッド・プロパティを提供する。 デジタルイノベーションをビジネスに取り込み、アイデアを素早く形にするには、開発・運用体制が肝になる。アジャイル化、内製化を推し進めるプラットフォームとは。 ノンプログラミングでJavaのWeb アプリを100%自動生成する、マルチブラウザ対応超高速開発ツール。コーディングの自動化とそれによる品質の均一化により開発期間短縮可能

「開発ツール」関連の特集


受注した新システムにはハードウェア・ミドルウェアに依存しない移植性の高さが求められ、Javaによる開…



「超高速開発ツール」の名のもとに、様々な開発支援ツールがアプリケーション開発の現場で利用されています…



今、注目を集めている「Webアプリケーションフレームワーク」。いまやフレームワークを使わずにアプリケ…


「開発」関連 製品レポート一覧

このページの先頭へ

UMLツール/ 実践配備進むUMLツールの魅力、再発見!」の記事を一部ご紹介しました。
会員登録を行い、ログインすると、「UMLツール/ 実践配備進むUMLツールの魅力、再発見!」の記事の続きがお読みいただけます。


Myリストへ 印刷用ページへ

この記事をtweetする このエントリーをはてなブックマークに追加


この記事に掲載している情報は、掲載日時点のものです。変更となる場合がございますのでご了承下さい。


ページ: 1 | 2


30003924


IT・IT製品TOP > 開発 > 開発ツール > 開発ツールのIT特集 > 特集詳細

このページの先頭へ

キーマンズネットとは

ページトップへ