連載Visioで始めるUMLモデリング第2回 Visioを使ったUMLクラス図の拡張デジタルアドバンテージ2004/07/29 |
![]() |
|
|
|
UMLクラス図の3つの抽象度レベル
UMLのクラス図には次の3つの抽象度のレベルが考えられる。
- 概念レベル:要件定義〜分析段階でのUMLモデリング
- 仕様レベル:概要設計段階でのUMLモデリング
- 実装レベル:詳細設計〜実装段階でのUMLモデリング
UMLモデリングでは、このような3つのレベルを、1、2と順番に経て、最終の3の実装レベルに到達すればよい。
次の画面は、概念レベルのUMLモデル図である。この図では、基本的なクラス間の関係(=システム構造の概要)しか分からない。最初の概念レベルのUMLモデル図では、どのようなクラスがあり、それらがどう関連し合うのかといったシステム概要(とそこでの簡単な業務プロセス)が分かればよい。
![]() |
| 概念レベルのUMLモデル図(クラス図) |
| どのようなクラスがあり、それらがどう関連し合うのかといったシステム概要が分かる。 |
さらに次の画面は、仕様レベルのUMLモデル図である。この段階では、クラスが外部に提供するインターフェイスや機能(例えば「[発注]画面を起動する」など)を明確化する。これによりクラスの性格や機能が簡単に定義できる。ただしこの段階では、まだ、メソッドやフィールドの具体的な名前、クラスの内部処理に不可欠な細かなメソッドやフィールド、プロパティなどを考える必要はない。
![]() |
| 仕様レベルのUMLモデル図(クラス図) |
| クラスが外部に提供するインターフェイスや機能(例えば「[発注]画面を起動する」など)が明確化されている。 |
次に、この仕様レベルのUMLモデル図をさらに実装レベルにまで落とし込んで、実際にクラスとしてコーディングできる状態に仕上げる。具体的には、フィールドやプロパティの名前を決定したり、クラスに必要なメソッドやフィールド、プロパティを作成したりする。これにより完成できる最終的なUMLモデル図は、本稿がリバース・エンジニアリングで作成した(実装レベルの)UMLモデル図と同等になる。この実装レベルのUMLモデルのサンプル図面は、前回作成したUMLモデル図を参照してほしい。
以上、Visioで作成できるUMLモデリングについて、クラス図の最も基本的な部分について解説した。しかし、UMLモデリングで記述できるクラス図はこれだけではなく、もっと詳細にも記述できる。次に、Visioで表現可能なクラス間の関係や関連について解説しよう。なお、以降の解説では、UML要素自体の内容や意味についての解説は割愛させていただく。これらに対する理解を深めるには、@IT:IT Architectの「【改訂版】初歩のUML」や「ここから始めるオブジェクト指向」などを参照していただきたい。
Visioで表現可能なクラス間の関連
前回、クラス図に関連を設定し、その関連にロールや役割を割り当てた。特に必要がなければこれだけでも十分であるが、この関連をさらに詳細に定義することもできる。
例えば、「メイン画面から[発注]画面を起動する」という関連があるが、これは「メイン画面から[発注]画面を操作する(逆に[発注]画面からメイン画面が操作されることはない)」という1方向の関連である。このような関連方向性は、UMLでは「誘導可能性(Navigability)」と呼ばれ、UMLモデル図では矢印付きの実線で表される。この誘導可能性は、次の画面のようにして設定することができる。
![]() |
|||||||||
| クラス間の関連に対する誘導可能性の設定 | |||||||||
| クラス間の関連に誘導可能性を設定しているところ。 | |||||||||
|
リレーショナル・データベースではテーブルとテーブルの関連が1つの外部キーで結ばれるが、これと同様に、複数のクラスを特定の1つのキーとなる属性要素に限定して関連付けることができる。UMLではこのキーは「限定子」と呼ばれ、小さな□(四角形)で表される。
例えば、商品クラスと注文クラスの関連ならば、「商品番号」というキーとなる属性要素に限定して関連付けることなどが考えられる。次の画面の例では、「id」という属性要素を限定子としてクラス間を結び付けている。
さらに前回でも説明したように、クラス間の関係には「関係」だけでなく、「汎化」や「集約」など、さまざまなものがある。続いては、Visioで表現可能なクラス間の関係の種類について解説しよう。
| INDEX | ||
| Visioで始めるUMLモデリング | ||
| 第2回 Visioを使ったUMLクラス図の拡張 | ||
| 1.クラス図に属性要素を追加するには? | ||
| 2.クラス図に操作要素を追加するには? | ||
| 3.クラス図の抽象度レベルと表現可能なクラス間の関連 | ||
| 4.Visioで表現可能なクラス間の関係の種類 | ||
| 「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 -






