忍者ブログ
ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
[444]  [441]  [443]  [442]  [440]  [439]  [438]  [437]  [436]  [435]  [434
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今回はクラス図の話をします。

astah* communityを起動して図→クラス図を選択してください。

とりあえず適当にクラスを追加してみます。



次に黄色のひし形のマークをクリックすると属性が追加されます。
また、クラスを選択して左下の操作ウィジェットからも追加できます。


追加した属性をクリックすると以下のウィジェットから設定できるようになると思うので、適当に設定してみます。




可視性は上の設定ウインドウではわかりやすいですが、クラス図では以下のように+がpublic、-がprivate、#がproctected、~がpackageとなるので覚えておきましょう。



正直よくわからないのですけど、以下のように接続することで関連を定義できるらしいです。

 
他のクラスの属性として保持するなり何らかのつながりさえあれば関連を定義できるということでしょうかね?

さらに以下のように多重度を設定すると、クラス0がクラス1を属性として保持する場合にクラス1のオブジェクトをいくつ保持できるかを表現しているとかそうではないとからしいです。



つまりこの場合、1..*は1以上のオブジェクトを保持しているということを表しているという解釈で合っているのでしょうか?
C++等で実装する場合はvectorとかlistとかを使うという事だとは思いますが、よくわかりません。


汎化ボタンを選択後、クラスを選択することで汎化を定義できます。




この場合、クラス0は抽象的なスーパークラス、クラス2は具体的なサブクラスになるらしいです。
C++等で実装する場合はクラス2がクラス0を継承するという解釈でいいのですかね?


集約ボタンを選択後クラスを選択することで集約を定義できます。



この場合、クラス1はクラス4の一部になるとかならないとからしいです。



コンポジションボタンを選択後クラスを選択することでコンポジションを定義できます。



この場合もクラス1はクラス4の一部になるとからしいですけど、コンポジションの場合はクラス4(全体側)が終了するとクラス1(部分側)も終了します。
集約の場合はクラス4が終了してもクラス1は存在し続けるとからしいです。



依存ボタンを選択後、クラスを選択することで依存を定義できます。




この場合、クラス0がクラス1に依存しているということだとは思います。
関連との違いが今一わからないのですが、他のクラスの操作を呼び出す場合等に使うらしいです。




今日はこのぐらいにしておきます。
明日はパッケージ図をやります。







にほんブログ村 科学ブログ ロボットへ
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・

人気ブログランキングへ
PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新CM
[08/31 ysuga]
[08/31 Nobu]
[08/31 ysuga]
[12/11 Nobu]
[12/11 Kanamura]
最新TB
プロフィール
HN:
Nobu
年齢:
36
性別:
男性
誕生日:
1988/09/22
職業:
あれ
趣味:
妄想、自堕落
バーコード
ブログ内検索
P R
カウンター
忍者ブログ [PR]