UTI UML教育研究所
トップページ> 読み物> コラム> はじめるUML 第8回
はじめる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 第8回
2005.10.3 掲載
システムの動きを表現しよう! (1)
今回から2回にわたって、OMGのUML仕様書「UML2.0 Superstructure Specification」の第14章Interaction(相互作用図)について取り上げます。今回はUML2.0になって大幅に機能拡張されたシーケンス図についてです。

シーケンス図では、オブジェクト同士がメッセージを送受信して処理を行う様子を、時系列に沿って表現することができます。このことはオブジェクト指向モデルやプログラムの動作や機能を説明するのに都合がよいことから、シーケンス図はシステム開発において、クラス図と並んで頻繁に用いられる代表的なUMLのダイアグラム(図)となっています。

シーケンス図の例として、Webアプリケーションの動作を表してみます。典型的なWebアプリケーションの構造は、ユーザがWebブラウザ(画面)を通して、Webアプリケーションにメッセージを送り、内部でデータベースなどと通信を行って必要な情報を画面に表示するというものでしょう。これをシーケンス図で表します。

この例では、「Webブラウザ」や「データベース」などの、大きな粒度の登場人物(「ライフライン」といいます)が現れていますが、シーケンス図では、画面ウィジェットやユーティリティクラスのような、もっと小さな粒度のオブジェクト(ライフライン)同士のやり取りも、用途に応じて表すことができます。

複雑なシステムの流れをシーケンス図でモデリングしようとすると、たくさんの要素を細かく記述する必要があるため、煩雑でわかりにくい図となってしまいます。UML2.0では、そのような問題を解決するために「複合フラグメント」という要素が導入されました。これによって、繰り返しや分岐など、より実装寄りの概念を簡潔に表現することが可能になりました。この例では残りがある間、最大5回検索を行う処理を表現しています。

また、システム実装における単体テストを表現するための要素として、複合フラグメントの一種である「アサーション」や、「状態不変式」などが新しく登場しました。

これらのように、実装により近い表現や、テストへの対応などは、モデルと実装を相互に変換する技術であるMDA(モデルドリブンアーキテクチャ)を実現するためのステップとして期待されています。

次回は、UML2.0で新しく登場した相互作用図(相互作用概要図・タイミング図)について見ていきましょう。


■筆者紹介
藤川 幸一/Kouichi Fujikawa
株式会社テクノロジックアート テクニカルデプト システムコンサルタント

パターンウィーバー(PatternWeaver) ver2.0

  • UML2.0 Superstructureの全てのダイアグラムに対応
  • Eclipse3.0にプラグインとして統合
  • 表現力の大幅な向上
  • 新規プラグインの追加

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