Skip to content

基本編(1) クラス図


UMLクラス図の基本を、モデリングツール astah*を使って解説。


[スクリプト]
モデリングしてますか?

この短いビデオシリーズでは、astah*を使って基本的なUMLの図の描き方について、実践的なレクチャーをしていきたいと思います。このコンテンツは、どんどん増えていきますので、随時チェックしてください。


AYM 概念レベルのクラス図


クラス図には、実装レベルのクラス図と、それから概念レベルのクラス図があります。概念レベルのクラス図は、ユーザーが使う言葉を分析して、それをダイアグラムにしたものです。

ここでは、概念レベルについて説明していきたいと思います。kenji_UML_class_diagram例えばここに、「顧客」と「注文」という2つの言葉があります。例えば「顧客」ですと、「名前」という属性や、「email」という属性を持っているでしょう。

それから「注文」ですと、「日時」や「金額」といった属性を持っていることになると思います。


AYM モデリングツールでクラス図を描いてみる


UML_class_astahでは、実際にクラス図を描いていきましょう。

ここにクラス図のアイコンがあります。ここをクリックして、
クラスを描きますが、astahではダブルクリックでもクラスを描く事ができます
「顧客」と入力しましょう。

次に、属性ですが、ここにオレンジ色のボタンがあるのが見えますでしょうか。これをクリックして、属性を追加する事が出来ます。
「名前」と入力しましょう。

astah_attribute_class_uml

属性は、オレンジボタンをクリックで追加

それからもう1つ、もう1回、このオレンジをクリックして「email」と入力します。

さて、同じように「注文」クラスを作っていきます。
ダブルクリックをして「注文」と入力。今度は、ショートカットの[Ctrl + R]で入力しましょう。

そして、注文の日時を入力し、ここで改行を入力すると自動的にもう1つ属性が追加できます。
「金額」と入力します。

このクラスの関係を、次に作っていきます。
関係を作るには、ここに関連のアイコンがありますが、astahで同じように、簡単に関連を作る事ができます。
クラスをホバーすると、ここに関連のアイコンが出てきますね。これを引っ張って描く事もできます。
あるいは、ここに色んな関連の種類を選ぶ事も出来ます。
今回は普通の関連を選んで、2つを結びます。そして名前を入れてみましょう。

名前は例えば、「顧客」から見たときに、「注文を発行する」がよろしいでしょうか。ここに名前を入れます。

次に多重度も入れてみましょう。
注文は、「顧客」から見ると、複数注文する事ができます。
それに、1つの「注文」に対し、「顧客」は、1つと確定しますので多重度を「1」と入れていきましょう。

これで大まかなクラス図は完成です。
編集を間違ってしまった場合は、もとに戻す事が簡単にできます。ここにUndoボタンがあります。
この取り消しボタンを押すと、1回の操作を元に戻す事ができます。押してみましょう。
どんどん操作が元に戻っていきます。

このボタンの代わりに、[Ctrl + Z]、あるいは、Macだと[Command + Z]を押して、元に戻す事もできます。

[Control + Y]を押すことによって、戻した操作を更に再実行する事ができます。
このようにして、操作をいったりきたりする事ができます。

クラスの上で右クリックをすると、色んなプロパティを変える事ができます。

例えば色とか、表示の仕方を変える事ができます。ここでは属性を、非表示にしてみましょう。
このようにクラスの属性を変える事ができます。
visibility1
更に、システムプロパティを使うと、これから作るクラスの色や、属性や操作などの表示/非表示を予め変更しておく事も可能です。
このタブを使って表示/非表示を変更します。

最後に、面白い例として、あらかじめ沢山のクラスが用意されている場合、それをコピー&ペーストしましょう。
Excelからコピーして、astahにペーストしてみます。

全てクラスとしてペーストすると、このように予め用意されたクラス名がある場合、これを使って大変効率的なモデリングの
入口が可能になります。クラス図の簡単な描き方を、astahを使って説明しました。


AYM まとめ


今回は、「顧客」「注文」しか使いませんでしたが、実際のモデリングをする際には、「商品」といったコンセプトの関係を明らかにする必要があります。「顧客」が「注文」しますが、その「注文」の中身は「商品」の組み合わせが入って、1つの「注文」になります。

これについては、パターン編で続けていきたいと思います。
では、今日はここまで。


[関連記事 / リンク]
クラス図を素早く描く (astah blog)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: