クラス図(1) 後半 FM13010 村上 太一 3-3 クラス図の関係その2 集約について • 関連がある2つのクラス間に全体と部分の関係が成り立つとき に使用する。 • 例 「企業 は 社員 を持っている 」 企業 全体 集約 社員 部分 3-3 クラス図の関係その2 依存関係について • 2つのモデル要素間に存在する利用関係を表現する。 • クラス間で使用する場合は以下の3つである。 ① 引数で参照する場合 ② ローカル変数で参照する場合 ③ グローバルに参照する場合 3-3 クラス図の関係その2 依存関係について ① 引数で参照する場合 • クラスAがその保持している操作の引数でクラスBを受け取っ ている場合 クラスA +操作1(引数1:クラスB) クラスB 3-3 クラス図の関係その2 依存関係について ②ローカル変数で参照する場合 • クラスAがその保持している操作の中でクラスBをローカル変 数として使用した場合 クラスA クラスB +操作1() 操作1(){ クラスB オブジェクト;//クラスBのオブジェクトの作成 オブジェクト1.操作2;//オブジェクト1(クラスB)の操作2の呼び出し ・ } 3-3 クラス図の関係その2 依存関係について ③グローバルに参照する場合 • クラスBがモデル全体等から見えるように宣言され、クラスAが クラスBを参照している場合 クラスA クラスB +操作1() +操作2() 操作1(){ オブジェクト1.操作2();//オブジェクト1(クラスB)の操作2の呼び出し ・ ・ } 3-3 クラス図の関係その2 汎化について • 一般的な要素(スーパークラス)と特定化された要素(サブクラ ス)を表現する。 • サブクラスはスーパークラスの性質をすべて受け継ぎ、さらに 独自の性質を持つ。 3-3 クラス図の関係その2 汎化について スーパークラス スーパークラス サブ1 サブ1 サブ2 サブ2 ・・・ シェアード・ターゲット・スタイル ・・・ セパレート・ターゲット・スタイル 3-3 クラス図の関係その2 汎化について 乗り物 スーパークラス 汎化 車 乗用車 飛行機 バス 旅客機 ヘリ 3-3 クラス図の関係その2 抽象クラスについて • 抽象クラスはオブジェクトを1つも持たない。 • サブクラスをまとめる意味で作成する為、抽象クラスは必ずサブ クラスを持つ。 乗り物 乗り物 車 {abstract} 飛行機 3-4 クラスその2 ∽(アドバンス) クラス名(∽アドバンス)について • クラスにあるパッケージに属する場合には、クラスを表示する際 に、パッケージ名をクラス名の前に修飾することができます。 パッケージ名 学校 生徒 クラス名 学校: :生徒 3-4 クラスその2 ∽(アドバンス) クラス名(∽アドバンス)について • クラスの属性は下記の形式で多重度およびプロパティ文字列を 表記することができる。 • 例・・・学生のクラス属性 ステレオタイプ 可視性 名前 : 型表現 [多重度] = ― 学籍番号 int 初期値 [1] 生徒 -学年 : int[1] = 1 -学籍番号 : int[1] {unique} {プロパティ文字列} {unique} 3-4 クラスその2 ∽(アドバンス) 操作(∽アドバンス)について • クラスの操作は以下の形式で引数の入出力種別、引数のデフォ ルト値、プロパティ文字列を表記できる。 • 例・・・商品のクラス操作 ステレオタイプ 可視性 名前 (入出力種別 引数名 : 型 デフォルト値) : 戻り値型{プロパティ文字列} ≪accessor≫ + 生徒名設定( in 生徒名 : String デフォルト生徒): void 生徒 ≪accessor≫+生徒名取得():String{concurrency=sequential} ≪accessor≫+生徒名設定(in 生徒名:String=デフォルト生徒):void 3-4 クラスその2 ∽(アドバンス) タグ付値、メタ属性(∽アドバンス) • タグ付値をUMLモデル要素に付けることにより、UMLのモデル要 素に情報を付加することができる。 • タグ付値はクラスのみの情報を表現する。 • 例・・・乗り物クラスを用いてのタグ付値の表記 乗り物 {abstract, 作成者=村上太一, 作成日=2013/5/8, ステータス=分析} 3-4 クラスその2 ∽(アドバンス) 派生属性(∽アドバンス) • 派生属性は、他の属性などから計算できる属性である。 • 例・・・「学校」クラスの「創立年数」は「開校年月日」と現在の日 付から計算できるので、派生属性といえる 派生属性 学校 開校年月日 /創立年数 3-4 クラスその2 ∽(アドバンス) 派生関連(∽アドバンス) • 派生関連は、派生属性と同様に、他の関連からたどることがで きる関連である。 • 例・・・「祖父」クラスは「父」の関連を使うことで「祖父」から見て 「私」は子供の子供であるといえる。 二重の経路で、関連が引かれたので「孫である」は派生関連と なる。 祖父 子供である 父 子供である /孫である(派生関連) 私
© Copyright 2024 ExpyDoc