連載Visioで始めるUMLモデリング第1回 「習うより慣れよ」方式で学ぶUMLモデリングデジタルアドバンテージ2004/06/05 |
![]() |
|
|
|
モデル・エクスプローラに追加されたUML要素
リバース・エンジニアリングを行うと、次の画面のように、[モデル エクスプローラ]上にUML要素が追加される。
|
|
VisioではこれらのUML要素を使うことで、簡単にUMLモデリングができる。それでは、実際にUMLモデリングを行ってみよう。
UML要素を使ってUMLクラス図を作成しよう
UMLモデリングでは、さまざまなモデル図(例えば、クラス図、シーケンス図、ユースケース図など)が利用される。詳しくは次回以降で解説するが、その中で最も頻繁に使われる代表的なモデル図が「クラス図」である。
クラス図は、システム(もしくはプログラム)の静的な構造を設計するためのモデル図である。よってクラス図を描けば、システム構造がより明確になり、システム全体を把握することが容易になる。
ここでは、先ほど生成されたUML要素を元にクラス図を書いてみよう。
といっても、クラス図の作成は非常に簡単だ。クラスのUML要素を図面ページの中にドラッグ&ドロップするだけである。次の画面では先ほど示したサンプル・プログラムのメイン画面であるStartFormクラス要素をドラッグ&ドロップしたところである。
![]() |
|||||||||
| クラス図の作成 | |||||||||
| [モデル エクスプローラ]の中にあるクラスのモデル要素を図面ページにドラッグ&ドロップする。この例では、サンプル・プロジェクトのメイン画面であるStartFormクラス要素を図面ページにドラッグ&ドロップした。 | |||||||||
|
先に示した「サンプル・プログラム『Smart Stationery Corp』Windowsフォーム版」のユーザー・インターフェイスには、メイン画面以外にも独立した4つの画面があった。この4つの画面のクラス要素(具体的には、[発注]画面のOrderFormクラス要素、[出荷指示]画面のShipFormクラス要素、[請求書発行]画面のBillFormクラス要素、[在庫管理]画面StockFormクラス要素)を同じように図面ページにドラッグ&ドロップしたのが次のUMLクラス図である。
以上のように、クラス要素を図面ページに配置すると、どのようなクラスがあるかが明確に分かるようになる。しかし、どのクラスとどのクラスが「関係」しているのかが分からない。よって、上の図にクラス間の関係を書き加える必要がある。
では、これらのクラス間に、一体どのような関係があるのだろうか? これらのクラスには、次のような関係がある。
- 「メイン画面から[発注]画面を起動する」という関係
- 「メイン画面から[出荷指示]画面を起動する」という関係
- 「メイン画面から[請求書発行]画面を起動する」という関係
- 「メイン画面から[在庫管理]画面を起動する」という関係
つまり、それぞれ2つの画面(=2項)の間に「起動する/される」という関連、つまり「2項関連」がある(ちなみに、「関係」には「関連」「集約」「汎化」などの種類があるが、詳しくは次回以降で解説する)。この関係をクラス要素の名前を使って表現すると、次のようになる。
- 「StartFormクラス/OrderFormクラスが起動する/される」の2項関連
- 「StartFormクラス/ShipFormクラスが起動する/される」の2項関連
- 「StartFormクラス/BillFormクラスが起動する/される」の2項関連
- 「StartFormクラス/StockFormクラスが起動する/される」の2項関連
UMLクラス図において「関係」は「線」図形を用いて表される。具体的には、関係のあるクラスとクラスの間に線を引く。よって、上の4つの関係を表すために、UMLクラス図に線を書き加えよう。
| INDEX | ||
| Visioで始めるUMLモデリング | ||
| 第1回 「習うより慣れよ」方式で学ぶUMLモデリング | ||
| 1.Visioを使ったUMLモデリングの導入 | ||
| 2.VS.NETプロジェクトのリバース・エンジニアリング | ||
| 3.UML要素を使ったUMLクラス図の作成 | ||
| 4.UMLクラス間の関連の設定 | ||
| 「Visioで始めるUMLモデリング」 |
TechTargetジャパン
- Kinectが切り開く“夢の近未来” (2012/2/2)
日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか? - 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する - SQL Azure Data Sync入門 (2012/1/30)
SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説 - Windows Phoneアプリ市場の現状を分析する (2012/1/27)
Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




