Presentation is loading. Please wait.

Presentation is loading. Please wait.

クラス図(1) FM12013 山口 亨. クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている.

Similar presentations


Presentation on theme: "クラス図(1) FM12013 山口 亨. クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている."— Presentation transcript:

1 クラス図(1) FM12013 山口 亨

2 クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている

3 クラスの表記 属性1 属性2 属性3 操作 1 () 操作 2 () > クラス名 属性のリス ト 操作のリス ト クラス名 (ステレオタイプは任意)

4 属性 クラス内の、知識的な情報 属性名以外は省略可能で、以下の形式で記述 可視性属性名:型表現=初期値 ー勤続年数: int =1 従業員 勤続年数 氏名 年齢 属性名のみ表示 従業員 ー勤続年数: int=1 ー氏名: String ー年齢 :int 属性名、可視性、型、初期値を表示

5 操作 クラス内の振る舞い情報 操作名以外は省略可能で、以下のように記述 可視性操作名(引数名:引数の 型) :戻り値 + 商品名設定 (商品名: String ): void 商品 商品名取得 () 商品名設定 () 操作名のみ表示 商品 +商品名取得(): String +商品名設定(商品名: String ): void 可視性、操作名、引数名、引数の型 戻り値の型の表示

6 クラス表記のバリエーション クラスの表記は、クラス名以外は省略可 能 商品 商品名取得 () 商品名設定 () 属性、操作名を表示 ー商品名 ー価格 商品 商品名取得 () 商品名設定 () 属性非表示 商品 ー商品名 ー価格 操作非表示 商品 属性、操作非表示

7 クラス表記のバリエーション 表示規則に適合するもののみを表示する ことができる 商品 商品名取得 () 商品名設定 () ー商品名 … 省略表記

8 可視性 属性・操作に対して設定する、他クラス からの参照できる度合い 以下の値が設定できる 記号名称参照度合 + public すべてから ー private 自分からのみ # protected 自分とサブクラスからのみ ~ package 自分と同パッケージ内のクラスからのみ

9 可視性の表示 Cla ss3 Cla ss1 +操作1 () #操作2 () ー操作3 () ~操作4 () Cla ss2 Cla ss4

10 クラス図の関係その1 より良い構造化を行うには、他のクラス との関係性を表現する必要がある UML では、関連(集約)、依存(実現)、 汎化、フローを総称して関係と呼ぶ

11 関連 クラス間に構造的な関係がある場合に使 用 受験生大学 志望校である

12 役割(ロール)名 あるクラスが他のクラスから見た時に、 どの様な役割を持つか示すのに使用

13 役割(ロール)名 受験生大学 受験者 志望校 教授 勤務先

14 多重度 他のクラスから接続される可能性のある 関係の数を記述 以下のように表記 クラス A 10..*

15 多重度 表記接続される可能性のある数 0..1 0 か 1 1 1 のみ 0..* または * 0 以上 1..* 1 以上 3..10 3 ~ 10 多重度にはこのような表記が可能

16 多重度(例) 受験生A 受験生B 受験生C 甲大学 乙大学 丙大学

17 多重度(例) 受験生大学 志望校である 0.. * 1.. *

18 関連の方向 関連の棒線に矢印をつける事で、参照の 方向を指定する事が出来る UML1.X と UML2.X では、指定方法が違う

19 関連の方向 Object1 : Class1 Object2 : Class2 Message1 () Message2 () Object3 : Class3 Object4 : Class4 Message3 () 双方向の呼び出し片方向の呼び出し

20 関連の方向 Cla ss1 Cla ss2 双方向の関連( UML 1.X ) Cla ss1 Cla ss2 双方向の関連( UML 2.X ) Cla ss1 Cla ss2 片方向の関連( UML 1.X ) Cla ss1 Cla ss2 片方向の関連( UML 2.X )

21 UML1.X の方向表記 BA AからBへの方向性の指定がある BからAへの方向性の指定がある BA AからBへの方向性の指定がある BからAへの方向性はなし

22 UML2.X の方向表記 BA AからBへの方向性は未定義 BからAへの方向性は未定義 BA AからBへの方向性の指定がある BからAへの方向性は未定義 BA AからBへの方向性の指定がある BからAへの方向性の指定がある BA AからBへの方向性の指定がある BからAへの方向性はなし BA AからBへの方向性はなし BからAへの方向性はなし

23 複数の関係 同一クラス間でも、異なる関連があれば、 それぞれ複数の関連を引ける 受験生大学 第 1 志望である 第 2 志望である

24 クラス図の関係その2 次は、集約、依存関係、汎化、抽象クラ スについて説明します

25 集約 あるクラスに対して、その一部を構成し ているクラスを表す時に使用 会員リス ト 会員 ー会員 ID

26 依存関係 2つのモデル要素間の利用関係を表現 依存関係は以下の 3 つの場合に使用 1.引数で参照する場合 2.ローカル変数として参照する場合 3.グローバルに参照する場合

27 引数で参照する場合 クラス A の操作で引数の型にクラス B を 使っている場合 クラス A の操作の戻り値型にクラス B を 使っている場合 クラス A +操作1(引数1:クラ ス B ) クラス B

28 ローカル変数として参照する場 合 クラス A 内のローカル変数として、クラス B が宣言されている場合 クラス A +操作1 () クラス B

29 グローバルに参照する場合 クラス A の操作から、グローバルに宣言さ れているクラス B を参照している場合 クラス A +操作1 () クラス B +操作2 ()

30 汎化 一般的な要素(スーパークラス)と特定 化された要素(サブクラス)の関係を表 現する手法 複数のサブクラスがある場合、 ” シェアー ド・ターゲット・スタイル ” と ” セパレー ト・ターゲット・スタイル ” の2種類の表 記がある

31 汎化の表記 スーパー サブ 1 サブ 2 ・・・・・・ サブ 1 サブ 2 ・・・・・・ スーパー シェアード・ターゲット・スタイルセパレート・ターゲット・スタイル

32 汎化の例 学校 義務教育学校 任意教育学校 小学校中学校 高校大学

33 コラム ( 単一継承、多重継承) 日本 国 鳥 動物 飛行物 単一継承多重継承

34 衝突の例 鳥 動物 飛行物 サイズ 多重継承により、サイズ属性 が重複する

35 抽象クラス オブジェクトを1つも持つことが無いク ラス サブクラスをまとめる意味で作成され、 必ずサブクラスを持つ

36 抽象クラスの表記 猫犬 動物 馬猿 { abstract }

37 問題 同一パッケージ内から参照できる操作を 持っているクラスは次のうちどれ? クラス A +操作1 () クラス B ー操作2 () クラス C ~操作3 () クラス D #操作4 ()

38 問題 関連名と役割名(関連端名)は? コンビ ニ 人 売買関係お店 利用客

39 問題 この場合の多重度は? 家人 0.. *1.. *

40 質問


Download ppt "クラス図(1) FM12013 山口 亨. クラスとは 現実に存在する “ 物体 ” (オブジェクト)の 構造や振る舞いなどに着目して注目し抽 象化したもの クラス図を含む UML のほとんどの図で使用 されている."

Similar presentations


Ads by Google