UTI UML教育研究所
トップページ> 読み物> コラム> 使えるUML 第5回
はじめるUML(全12回)
  はじめてみよう!
  モデル要素の整理整頓
  システム全体の構造(1)
  システム全体の構造(2)
  システム全体の構造(3)
  システム化対象の業務(1)
  システム化対象の業務(2)
  システムの動き(1)
  システムの動き(2)
  状態の移り変わり
  OCUPにチャレンジ!
  UML2.0総括(最終回)
続はじめるUML(全10回)
  使ってみよう!
  UMLによる業務分析
  営業職のOCUP受験体験記
  UMLによる要求分析
  インターメディエイト受験体験記
  UMLによるシステム分析
  アドバンスト受験体験記
  UMLによるシステム設計
  情報システム管理者が利用するUML
  続はじめるUML総括
使えるUML(全10回)
  使いこなしてみよう!
  物事を分けてとらえる
  コンポーネント図のいくつかの表現方法
  枠組みを使用してとらえる
  内容とその表現方法をわける
  パターンの表現
  続・パターンの表現
  モデルのモデル
  あいまいさを排除する
  「どのように(How)」から「何を(What)」へ
  大人のオブジェクト指向(最終回)
資格取得までのステップ
FAQ
教育コンテンツ
キャンペーン
ブックプラス
パートナープログラム
認定ユーザープログラム
メールマガジン登録
お問合わせ
使えるUML 第5回

パターンウィーバー(PatternWeaver) ver2.2
さらに使いやすく、新機能満載!
  • 多言語によるモデル開発をサポート
  • モデル駆動型のSOA(サービス指向アークテクチャ)をサポート
  • MS-Word形式へのドキュメント出力をサポート
  • RCP(Rich Client Platform)版の提供を開始
  • 洗練された各種ダイアグラム
  • 操作性の強化
  • リポジトリ(UML要素管理機能)の強化
  • ソースコード連携の強化

評価版がダウンロードできますので、ぜひお試しください。
http://pw.tech-arts.co.jp/download/community_edition.html

●商品に関するお問い合わせ
株式会社テクノロジックアート
e-mail : pw@tech-arts.co.jp
http://pw.tech-arts.co.jp/

Macユーザーの方注目!Mac版パターンウィーバーver2.2ベータ版が無料でダウンロード可能 〜8/31まで
2007.5.31 掲載
内容とその表現方法をわける
前回は、「枠組みを使用してとらえる」と題しまして、開発プロセスをはじめとする枠組みが、モデリングに与える影響を感じていただきました。今回は、また「物事をわけてとらえる」にもどります。「内容とその表現方法をわける」として、システムの構造に関するパターンのひとつであるMVCパターンと、UML自体の構造にせまりたいと思います。

◇MVCパターン
MVCパターンは、Model View Controllerの略で、最もよく知られているアーキテクチャパターン(システムの構造の指針)のひとつです。ユーザーとの対話を行うユーザインタフェースが存在するアプリケーションを、次の3つの部分に分割します。

No 略語 正式名称 日本語訳 説 明
1 M Model モデル データやビジネスロジック
2 V View ビュー ユーザインタフェース
3 C Controller コントローラ モデルとビューの仲介役
表1 MVCの内容

システムが提供する機能に関係するデータやビジネスロジックなどの中核的な内容を司るモデルと、その表現方法を司るユーザインタフェースを分離し、コントローラはモデルとビューの連携を担当します。

図1 MVCの依存関係
図1 MVCの依存関係

モデルとビューは関心事が異なるため、この2つを分離することでシステムの開発中やリリース後に以下のような効果が期待できます。

  • ユーザインタフェースとビジネスロジックの担当分けができる。
  • 1つのモデルに対応した表現方法を、表形式やグラフ形式など複数種類サポートするようにできる。
  • ユーザビリティの考慮などによってユーザインタフェース部分が変化する際、モデル部分が影響を受けにくい。
  • データの永続化方法や取得方法、計算式といったビジネスロジックが変化する際、ビュー部分が影響を受けにくい。
  • それぞれ切り離したテストが可能になる。
  • 表形式やグラフ形式といった表現方法の追加がより容易になる。
  • リッチクライアントやPCブラウザ向けWebアプリケーション、携帯電話ブラウザ向けWebアプリケーションなど、主にユーザインタフェース部分のみを変更することで、移植することが可能になる。(実装言語などの実現方法にも依存しますが)

JavaによるWebアプリケーションでモデルとビューを分離する場合には、厳密にはJ2EEパターンのひとつであるMVC2が利用されます。また、最近ではJakarta Strutsをはじめとした、MVC(または、そのバリエーション)を実現するためのフレームワークを利用する機会が多くなっています。

◇UML自体の構造
システムの構造としてモデルとビューを分離するのと同様に、UML自体も厳密には内容を表す部分と表現方法を現す部分にわけられます。

No 名称 説 明
1 モデル モデル化した内容を表す。
広義には、ダイアグラムを含めてモデルと呼ぶ。
2 ダイアグラム モデルを図として表現したもの。
表1 MVCの内容

例えば次のような「モデル」があるとします。

「地図」クラスには、「緯度」属性と「経度」属性がある。
「地図」クラスは「路線」クラスと「道路」クラスを集約する。

このモデルを表す「ダイアグラム」は次のようなものが考えられます。

図2 地図情報のクラス図A
図2 地図情報のクラス図A

同じモデルを表現する、別のダイアグラムを追加することができます。

図3 地図情報のクラス図B
図3 地図情報のクラス図B

このように、ひとつのモデルを表現するダイアグラムをいくつか記述し、目的や読み手によって書き方を変えることができます。UMLを利用してモデリングする上では、モデル化対象を把握することに加えて、ダイアグラムで表現するスキルが重要になってきます。
補足ですが、OMGで標準化されているXMIは、UMLのモデル部分をXML形式にするための仕様で、DI(Diagram Interchange)は、ダイアグラムをXML形式化するための仕様です。
UMLの構造を意識して利用することで、UMLをいっそう使いこなせるようになるでしょう。

◇書籍紹介
アーキテクチャパターンについて詳しく知りたい方は、弊社が翻訳を行いました「エンタープライズアプリケーションアーキテクチャパターン」をご参照ください。

エンタープライズアプリケーションアーキテクチャパターン エンタープライズアプリケーションアーキテクチャパターン
〜頑強なシステムを実現するためのレイヤ化アプローチ〜
【著作】 マーチン・ファウラー
【翻訳】 株式会社テクノロジックアート
【監訳】 長瀬 嘉秀
【出版】 株式会社翔泳社

また、UMLによる設計/開発・支援に関しましては、弊社テクノロジックアートで提供しておりますトレーニングコースや、コンサルティングサービスをご活用いただけます。


■筆者紹介
照井 康真/Koma Terui
株式会社テクノロジックアート テクニカルデプト モデリンググループ グループリーダー シニアシステムコンサルタント