連載

Visioで始めるUMLモデリング

第3回 Visio UMLモデリングの実力

デジタルアドバンテージ
2004/08/21
Page1 Page2 Page3 Page4

シーケンス図の図面シートを準備する

 シーケンス図の図面も、前述のユースケース図と同じ手順で新規作成すればよい。具体的には、[モデル エクスプローラ]のパッケージを右クリックして表示されるコンテキスト・メニューから[新規作成]−[シーケンス図]を選択すればよい。

シーケンス図をモデリングするには?

 シーケンス図のモデリング内容は、前述の表にもあったように、「時系列に着目して、オブジェクト間のやりとり(=相互作用)を表現する」ことである。つまり、システムの処理の流れや手順を時系列順に追って記述することになる。

 ここでは、「オフィス用品の在庫状況を確認する」というユースケースの内容を、シーケンス図で表してみよう。

在庫確認のユースケースを実現するUMLシーケンス図
シーケンス図では、縦軸(上から下へ)が時間を表し、横軸がオブジェクトを表す。この図では、縦軸を見ると、「営業マン」オブジェクトからの「起動する」というメッセージで始まり、「終了する」というメッセージで終わっている。横軸を見ると、「営業マン」「[在庫確認]ウィンドウ」「在庫データのWebサービス」という3つのオブジェクトが存在している。

 UMLシーケンス図では、縦軸(上から下へ)が時間を表し、横軸がオブジェクトを表す。これを踏まえてシーケンス図を見ると、この図では、次のような処理の流れになっていることが分かる。

  1. 「営業マン」が「[在庫確認]ウィンドウ」を<起動する>
  2. 「[在庫確認]ウィンドウ」が「在庫データのWebサービス」から<在庫データを取得する>
  3. 「[在庫確認]ウィンドウ」が<商品の在庫一覧の更新表示を行う>
  4. 「営業マン」が「[在庫確認]ウィンドウ」を<終了する>

 シーケンス図についても作成方法を簡単に示しておくことにする。

UMLシーケンス図の作成手順
シーケンス図の作成も、図形ステンシルから図面シート内へ図形をドラッグ&ドロップし、その図形をダブルクリックしてプロパティ内容を変更する。線図形の場合は図形と図形を結び付けるだけだ。
  [モデル エクスプローラ]に、「シーケンス-1」というモデル図の項目が作成されている。
  [オブジェクト生存線]図形を図面シートにドラッグ&ドロップする。この図形には、シーケンスで使われるオブジェクトと、時間の長さを示すための縦長い破線がある。
  オブジェクトをダブルクリックすると、[UML 分類子ロール プロパティ]ダイアログが表示される。
  [UML 分類子ロール プロパティ]ダイアログでオブジェクトの[名前]を変更する。この例では、ユースケース図のアクターである「営業マン」に変更している。
  オブジェクトの[分類子](=クラス、インターフェイス、データ型のこと)を指定する。この例では、ユースケース図で作成したアクターの「SCC_Win::営業マン」([モデル エクスプローラ]に表示されている項目)を指定している。オブジェクトにユースケース図で作成したアクターを指定すると、この画面の例のように四角形のオブジェクト図形が、アクターと同じ人の形の図形になる。このように分類子に応じてオブジェクトの外観は変化する。ちなみに、「[在庫確認]ウィンドウ」オブジェクトには前々回のリバース・エンジニアリングで生成された[在庫確認]ウィンドウのクラス「SCC_Win::StockForm」を指定し、[在庫データのWebサービス]オブジェクトには同じくリバース・エンジニアリングで生成されたWebサービスのクラス「SSC_WS::SSC_WebServices」を指定している。
  [活性化]図形を図面シートにドラッグ&ドロップする。オブジェクトの縦棒の長さが、アクティブな時間の長さを表す。
  [メッセージ(呼び出し)]図形を図面シートにドラッグ&ドロップする。オブジェクト間のやりとり(例えば、メッセージの送信や、処理の呼び出し)を表す。

 このようなシーケンス図の特長は、時系列で表現できるので、処理の実行順が明確になることである。逆に欠点は、オブジェクトが横並びなので、どのオブジェクトとどのオブジェクトがどのように関係しているかが分からないことだ。もしオブジェクト同士の関係をより明確に定義する必要がある場合には、(シーケンス図を補助する意味で)オブジェクト間の関係に着目してオブジェクト間のやりとりを表現できるコラボレーション図を記述するとよい。

 以上で、クラス図、ユースケース図、シーケンス図を解説した。このようにしてVisioで作成されたUMLモデル図のデータは、Visio以外のモデリング・ツールでも使うことができるのだろうか。次にこのVisio以外のモデリング・ツールとのデータ互換性について説明しよう。

Visio以外のモデリング・ツールとのデータ互換性

 UMLモデリングのデータ形式には、OMGが標準化しているXMI(XML Metadata Interchange)というファイル形式がある。VisioのUMLモデリング・データをこのXMIファイル形式で出力すれば、ほかのモデリング・ツールでも再利用できるはずだ。

 Visioは標準ではこのファイル形式に対応していないのだが、マイクロソフトはVisioでこのXMI形式のファイルを出力(エクスポート)するためのコンポーネント(英語版のみ)を提供している(ただし、2004年8月現在、逆にXMI形式のファイルをインポートするためのコンポーネントは提供していないようである)。このXMI形式のファイルを出力するコンポーネント(以降、Visio XMI Export)は次のサイト(英語)で無償ダウンロードできる。

 次のサイト(英語)に、Visio XMI Exportコンポーネントに関する詳しい解説がある。

 このVisio XMI Exportコンポーネントは、付属のサンプル・プロジェクトを使うことで(Microsoft Visual C++でビルドが必要)、次の画面のようにVisioアドオン・ツールとしてVisioに組み込んで使うこともできる。

Visioアドオン・ツールとして利用した「Visio 2003 UML To XMI Export」
Visio 2003 UML To XMI ExportはXMI形式のファイルを出力するコンポーネントだが、コンポーネントに同梱されているアドオン・ツールのサンプルを使うと、Visioアドオンとして利用することもできる。
  メニュー・バーから[ツール]−[XMI Export]を選択する。すると、UMLモデリング・データがXMI形式のファイルとして出力される。

 このVisio XMI Exportコンポーネントは英語版であるが、筆者が試した範囲では、日本語環境でも問題なく動作した。ただし、出力されるXMIファイルの形式がバージョン 1.0(現在の主流は1.2)で、モデル・ツールによってはインポートできない場合もあった。Visio XMI Exportコンポーネントを使っても、必ずしもUMLモデリング・データを再利用できるとは限らないので注意してほしい。

 本稿のVisioによるUMLモデリングの解説は、ここまでとしたい。ここからは、Visio for Enterprise Architectのみにある機能と、Visioによるデータベース・モデリング機能について紹介しよう。


 INDEX
  Visioで始めるUMLモデリング
  第3回 Visio UMLモデリングの実力
    1.Visioで作成可能なUMLモデル図
    2.UMLモデル図の追加とUMLユースケース図の作成
  3.UMLシーケンス図の作成とデータ互換性
    4.Visio for EAの機能とデータベース・モデリング
 
インデックス・ページヘ  「Visioで始めるUMLモデリング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間