UMLの初心者向けガイドBeginner's Guide(1/2 ページ)

UMLという手法を開発者や設計者が採用すると、事前に全体像を把握してからプロセス全体の見通しをつけて必要なテクノロジーを選択するという作業が、比較的簡単に行えるようになる。UMLを知らない、もしくはUML初心者なら、ぜひ一度ご覧いただきたい。

» 2007年05月15日 14時52分 公開
[Chad-Files,Open Tech Press]
SourceForge.JP Magazine

 ソフトウェアシステムの設計と開発を新たに始める場合、すべての構成要素が最終的にどのようにまとまるかを事前に予測するのは、多くのケースにおいて困難である。とは言うものの、統一モデリング言語(UML:Unified Modeling Language)という手法を開発者や設計者が採用することで、事前に全体像を把握してからプロセス全体の見通しをつけて必要なテクノロジーを選択するという作業が、比較的簡単に行えるようになる。

 基本的にUMLとは、その名称が示すとおり言語の一種である。この言語は適切なソフトウェア開発工程と併用することにより、ソフトウェアシステムの設計や仕様作成に関する支援システムとして機能する。こうしたプロセスは“モデリング”と呼ばれている。 UMLを使うことで、設計者、開発者、管理者、テスタ、デザイナ、ユーザーの間で基本情報の共有化が行われ、ソフトウェアモデルを抽象的な形態で構築することが可能となる。この抽象化こそが、ソフトウェアモデリングの有用性をもたらす鍵となっている。ソフトウェア開発には経歴やスキルの異なる多数の人間が従事するものであるが、UML下でまとめられたモデルを用いることで、新たに構築すべきシステムがどのようなものであるかを、関係者全員が共通のイメージとして把握できるようになるためである。プロジェクト関係者全員が共通のイメージを持つということは、全体像の把握に必要な土台を与えることに他ならず、そうした行為は、集団で進めるプロジェクト作業に不可欠な用語の統一やデッドラインの設定を行いやすくし、また“木を見て森を見ず”的な状況に陥ることを回避しつつ有益な意見交換が行えるようにする。

 UMLモデルを構成する大きな要素は、構造(structural)、振る舞い(behavioral)、相互作用(interaction)という3つの図(ダイアグラム)である。ごく大雑把に言うと、構造図は基礎となるソフトウェアシステム(つまりはコード)を規定し、振る舞い図は特定の条件下にてシステムで何が発生するかを規定し、相互作用図は制御フローを規定するものである。これらは振る舞い図のサブセットという位置付けになる。なおダイアグラムの分類法およびそれぞれの名称や重要度は各種のソースごとに異なってはいるが、権威ある分類法としてはUML 2.0の仕様が用いられている。後記の一覧は、UMLの一部をごく簡潔にまとめたものである。

構造図:

  • クラス図――クラスとパッケージおよびこれらの相互関係を規定する。開発者はクラスを用いることで、リソースを共有する論理要素の集合として、コードを整理することができる。こうしたクラスはパッケージを用いることで論理的にグループ化できる
  • コンポーネント図――システム構造上のコンポーネントが、どのように相互作用するかを規定する
  • 配置図――インストール後のシステムがどのような構成となるかのマップを規定する。その中にはハードウェアおよびシステムの詳細も含まれる
  • 複合構造図――クラスの内部構造および当該構造で可能な共同作業のモデルを規定する

振る舞い図:

  • ユースケース図――ユーザーとシステムとの相互作用のモデルを規定する
  • アクティビティ図――システムの全体的な制御フローのモデルを規定する
  • ステートチャート図――特定の実行過程におけるシステム状態のモデルを規定する

相互作用図:

  • シーケンス図――アクターとオブジェクトおよびその他オブジェクトとの相互作用のモデルを規定する。基本的にはタイムラインのことである
  • コラボレーション図――オブジェクト間での相互作用と相互関係のモデルを規定する
  • コミュニケーション図――オブジェクト間でのシーケンス化されたメッセージ交換のモデルを規定する

 UML図の作成は、紙と鉛筆で済ますこともできれば、Rational Roseなどの高機能かつ高額なツールを使用することもできる。オープンソース系ツールも多数存在するが、わたしのお気に入りはUmbrelloという操作性に優れたUMLエディタで、これは先に一覧したダイアグラムの作図機能を網羅しているだけでなく、ActionScript、ADA、C++、 Java、JavaScript、Perl、PHP、Python、Ruby、SQLなど各種コードのエクスポート用オプションも装備している。特にこのツールでは、複数の図を単一のXMLファイルに収めることも可能である。なおXMLファイル化機能に関しては、異なるプロジェクトに属する図を単一の XMLファイルに取り込ませることもできるが、混乱を招く危険性があるため、実用的な観点からはそうした使用法は避けるべきだろう。

       1|2 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.