連載

Visioで始めるUMLモデリング

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

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

ユースケース図面の準備

 UMLユースケース図でも、本連載でこれまで使ってきたサンプル・プログラム(前々回を参照)を使うことにする。

 しかし、前々回および前回で使用したVisioの図面はクラス図用なので、新たにユースケース図用の図面を用意しなければならない。それには、[モデル エクスプローラ]で、前々回のリバース・エンジニアリング機能によりUMLクラス要素が生成されたパッケージを右クリックしてコンテキスト・メニューを表示し、メニューから[新規作成]−[ユースケース図]を選択すればよい。

UMLユースケース図用の図面の新規作成
[モデル エクスプローラ]で、リバース・エンジニアリング機能によりUMLクラス要素が生成されているパッケージを右クリックしてコンテキスト・メニューを表示したところ。メニューの内容を見ると、先ほどの表で示したUMLモデル図がすべて用意されているのが分かる。なお、クラス図とオブジェクト図(=静的構造図)は「静的構造図」にまとめられ、ステートチャート図とアクティビティ図(=振る舞い図)は「アクティビティ図」にまとめられているので注意してほしい。
  メニューから[新規作成]−[ユース ケース図]を選択する。

 これにより、次の画面のように、[モデル エクスプローラ]に「ユース ケース-1」というモデル図の項目が作成され、そのUMLユースケース図の初期図面が開かれるはずだ。

新規作成されたUMLユースケース図用の図面
「静的構造-1」という名前のUMLクラス図用の図面に加えて、新たに「ユース ケース-1」という名前のユースケース図用の図面が作成されたところ。
  [モデル エクスプローラ]に、「ユース ケース-1」というモデル図の項目が作成されている。
  UMLユースケース図の初期図面が開かれている。

 これで、ユースケース図を作成できる環境が整った。次に実際のユースケース図のモデリング作業に入っていくことにしよう。

ユースケース図をモデリングしよう!

 ユースケース図のモデリング内容は、前述の表にもあったように、「利用者の視点でシステムの機能やサービス(つまり、システム要件)をまとめる」ことである。つまりUMLユースケース図では、利用者がシステムを使って何をしたいかを記述することになる。

 本連載で利用しているサンプル・アプリケーション(前々回を参照)は、「オフィス用品の注文管理システム」である。このアプリケーションのユースケース図を作成するために、利用者の視点に立って、このシステムを使って何をしたいのかを考えてみよう。

 ここでは、このシステムの利用者がオフィス用品を販売する営業マンであると想定してみよう。この営業マンは、「顧客からオフィス用品の注文を受けると、商品の在庫を確認してから、注文された商品を顧客の元へ出荷するように担当者に依頼する。そして、その商品の請求書を発行して顧客に渡す」という作業手順を踏んでいると仮定する。この一連の作業を「オフィス用品の注文管理システム」を使って簡略化する場合、注文管理システムを使った作業では、営業マンは次のようなことをしたいと考えられる。

  1. 「営業マン」は、顧客からオフィス用品の注文を受けると、オフィス用品の在庫状況を確認したい
  2. 「営業マン」は、顧客の注文内容をシステムに登録(つまり、発注)したい
  3. 「営業マン」は、注文されたオフィス用品の出荷を指示したい
  4. 「営業マン」は、出荷された注文の請求書を発行して、それを顧客に渡したい。

 これらの4つの文をユースケース図の図形(=モデル)で表現することで、システムの機能やサービスを直感的に理解することが可能になるため、顧客とシステム要件を決定する際のコミュニケーション・ツールとして活用できるだろう。

 次の図は、実際にこのアプリケーションの要件をUMLユースケース図で表現したものだ。

サンプル・アプリケーションのUMLユースケース図
サンプル・アプリケーションの要件をUMLユースケース図で表現した図。ユースケース図では、システム利用者(この図では「営業マン」の人の形の図形)は「アクター」というUML要素になり、利用者がしたいこと(例えば「オフィス用品の在庫状況を確認する」などの丸図形)は「ユースケース」というUML要素になる。システム(この例では「オフィス用品の注文管理システム」の四角枠図形)は、「システム境界線」というUML要素になる。

 上図のUMLユースケース図の中にある「オフィス用品の在庫状況を確認する」と書かれている丸図形は「ユースケース」と呼ばれるUML要素である。このユースケースがシステムの機能やサービスを表すが、これはサンプル・アプリケーションのメインメニューの[在庫管理]ボタン、[発注]ボタン、[出荷指示]ボタン、[請求書発行]ボタンという4つのボタンから呼び出せる機能と一致している。

 Visioでこのようなユースケース図を作る作業は、これまでのUMLクラス図での作業と大差ない。よって、そのユースケース図の作成方法は次の画面で簡単に示すだけにしておく(詳細は割愛する)。

UMLユースケース図の作成手順
ユースケース図の作成も、クラス図の場合と同様に、図形ステンシルから図面シート内に図形をドラッグ&ドロップし、その図形をダブルクリックしてプロパティ内容を変更する。図形が線図形の場合は、図形と図形を結び付ける。
  [システム境界]図形を図面シートにドラッグ&ドロップする。この四角枠図形によりシステム領域を表現する。つまり、枠内にあるものがシステムの構成要素ということになる。
  [システム境界]図形のタイトル部分をダブルクリックするとタイトルを編集できる。
  [アクター]図形を図面シートにドラッグ&ドロップする。この人の形の図形はシステムを利用する人間や別のシステムを表す。
  [アクター]図形をダブルクリックすることで、[UML アクター プロパティ]が表示される。そのダイアログでは、アクターの名前などを変更できる。
  [ユースケース]図形を図面シートにドラッグ&ドロップする。この丸図形はシステム要件(つまり、システムの機能やサービス)を表現する。
  [ユースケース]図形をダブルクリックすると、[UML ユース ケース プロパティ]ダイアログが表示される。
  [UML ユース ケース プロパティ]ダイアログの[名前]項目を変更して、[OK]ボタンをクリックすると、[ユースケース]図形の名前が変更される。
  [通信]図形は、アクターとユースケースの通信(=やりとり)を表現する。例えば、「営業マン」(=アクター)がシステムの「オフィス用品の在庫状況を確認する」という機能(=ユースケース)を実行する場合には、アクターとユースケース間の通信(=やりとり)を表現する。

 上図によりシステムの要件が明らかになった。しかし、システムをより詳細に設計するには、このユースケース図の中にある「ユースケース」の内容をもっと細かく定義する必要があるだろう。それには、相互作用図のシーケンス図で、ユースケースの機能を実現する「オブジェクト同士のやりとり(=相互作用)」を明確にしていかなければならない。

 次に、そのシーケンス図を作成することにしよう。


 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 記事ランキング

本日 月間