連載Visioで始めるUMLモデリング第1回 「習うより慣れよ」方式で学ぶUMLモデリングデジタルアドバンテージ2004/06/05 |
|
|
Visioで線を引くには、UMLモデル図のステンシルから「線」図形を図面ページにドラッグ&ドロップすればよい。ステンシルの中を見ると「線」図形に相当する図形が複数あるが、ここでは「2項関連」の図形を用いる。次の画面は実際にクラス間に線を引いているところだ。
上の画面の例を見ると分かるように、「線」図形を使ってクラス間に線を引くと、その「線」図形には「-終端1」「-終端2」や「*」という文字列が一緒にくっついてくる。この「-終端」はロール(役割)と呼ばれるもので、クラス間の関係におけるクラスの役割を表現する。
例えば、[出荷指示]画面(ShipFormクラス)には「出荷指示の業務処理を行う画面」という役割があり、メイン画面(StartFormクラス)には「各種業務処理画面を起動するメインの画面」という役割があるが、そういった役割をこのロールで表現できる。
また、「*」は多重度と呼ばれるもので、クラス間の関係におけるクラスのインスタンス数(=オブジェクト数)を表す。つまり、そのクラスが同時に何個存在できるかということだ。
例えば、メイン画面は当然1つしか存在せず、メイン画面(StartFormクラス)から起動される[出荷指示]画面(ShipFormクラス)も1つしか存在しないので、どちらのクラスも多重度は「1」となる。多重度の表現としては、
- 「1」(1つ)
- 「0..*」(0以上の多数)
- 「1..*」(1以上の多数)
- 「*」(多数。0以上か1以上かはっきりしない場合)
- 「0..1」(0〜1。つまり0か1)
- 「12..18」(12〜18)
- 「2,7,8」(2か7か8)
- 「2,7..9」(2か7〜9)
などがある。
クラスのロールと多重度の設定は、次の画面の例のように、先ほど配置した「線」図形をダブルクリックして[UML関連プロパティ]ダイアログを表示し、そのダイアログを使って行う。
なお今回の例では、[出荷指示]画面(ShipFormクラス)のロール名は「業務処理画面」に設定し、メイン画面(StartFormクラス)は「メイン画面」に設定する。また、それぞれの多重度は先述したように「1」である。
クラスのロールと多重度の設定 | |||||||||
メイン画面(StartFormクラス)と[出荷指示]画面(ShipFormクラス)との間に引いた「2項関連」における2つのクラスのロールと多重度を設定しているところ。 | |||||||||
|
また、そのほかのすべての関係に対して、前述の例と同様に「クラス図における関連の設定」と「クラスのロールと多重度の設定」を行うと、次のようなクラス図が完成する。
クラス間の関係を記述したUMLクラス図 |
クラス間のすべての関係に対して、「関連の設定」と「ロールと多重度の設定」を行ったUMLクラス図。 |
以上で、ユーザー・インターフェイスにおけるシステム構造をUMLクラス図によって表現でき、クラス間の簡単な構造と関係が明確になった。
■
今回は、Visioのリバース・エンジニアリング機能を使ってUML要素を生成して、そこからUMLクラス図を作成した。次回は今回生成した図を拡張しながら、UMLについて解説していくことにしよう。
INDEX | ||
Visioで始めるUMLモデリング | ||
第1回 「習うより慣れよ」方式で学ぶUMLモデリング | ||
1.Visioを使ったUMLモデリングの導入 | ||
2.VS.NETプロジェクトのリバース・エンジニアリング | ||
3.UML要素を使ったUMLクラス図の作成 | ||
4.UMLクラス間の関連の設定 | ||
「Visioで始めるUMLモデリング」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|