モデリングと
クラス図
りんごって?
13年5月19日日曜日
モデリング
1. ある事象を抽象化し、
2. わかりやすく表現すること
•図
•式、公式
13年5月19日日曜日
抽象化
• 抽象化(ちゅうしょうか)とは、思考における手法の
ひとつで、対象から注目すべき要素を重点的に抜き出
して他は無視する方法である。抽象化において無視す
ることについては捨象するという。(wikipedia)
13年5月19日日曜日
抽象化手順
•種類の違う「りんご」をリストアップ
•共通点を抽出
13年5月19日日曜日
クラス図
•クラス
•オブジェクト(物、事)の属性と振
る舞い(操作)に着目して抽象化
•クラス図
•クラスとクラスの静的な関係を表現
13年5月19日日曜日
クラス図の例
13年5月19日日曜日
書き方
クラス名
属性
操作/振る舞い
13年5月19日日曜日
クラス図
Student
String name
public class Student {
String name;
}
生徒
名前
13年5月19日日曜日
クラス図
Student
sayName
public class Student {
public void sayName(){
String name = 自分の名前 ;
System.out.printf( My name is %sn ,name);
}
}
生徒
自己紹介する
13年5月19日日曜日
モデリング例1
13年5月19日日曜日
リンゴとは?
13年5月19日日曜日
説明1
•「リンゴっていうのは日本だと青森
だとかでたくさんつくられていて
ね、白雪姫の童話に重要なアイテム
としてでてきたりしてね、知恵の木
の実とかともいわれているようなや
つだよ」
• http://d.hatena.ne.jp/coconutsfine/20090505/1241475193
13年5月19日日曜日
説明2
•リンゴ
•丸い・赤い・果物
•芯がある
•芯の周りの実は食べられる
抽象化された説明
13年5月19日日曜日
りんごをクラス図で表現
りんごの実
•丸い
•芯がある
•食べられる
•果物
13年5月19日日曜日
りんごをクラス図で表現
りんご
丸い
芯がある
食べラル
果物
13年5月19日日曜日
モデリング例2
13年5月19日日曜日
りんごの値付け
プログラム
• りんごの価格を自動的に計算するプログラム
• 店長が価格の責任者
• 初期値は「重量」「糖度」「色」「栽培方
法」で決める
• 糖度が高くなるほど価格UP
• 色が赤くなるほど価格UP
• 有機栽培なら価格が通常の1.5倍
13年5月19日日曜日
要件定義
糖度
基準を12とし、2ポイントUPする毎に
価格を1.2倍
変更可
重量
基準を100gとし、10g増えるごとんい
価格を1.1倍
変更
不可
有機
栽培
有機栽培なら価格を1.5倍
変更
不可
13年5月19日日曜日
リンゴ値付けプログラム
13年5月19日日曜日
名詞をクラスに変換
13年5月19日日曜日
りんごの値付け
プログラム
• りんごの価格を自動的に計算するプログラム
• 店長が価格の責任者
• 初期値は「重量」「糖度」「色」「栽培方
法」で決める
• 糖度が高くなるほど価格UP
• 色が赤くなるほど価格UP
• 有機栽培なら価格が通常の1.5倍
13年5月19日日曜日
13年5月19日日曜日
関係を整理
13年5月19日日曜日
13年5月19日日曜日
さらに整理
•価格と賞味期限は本来の「りんご」の
属性??
•商品というクラスを採用する
13年5月19日日曜日
13年5月19日日曜日
さらに整理
•ユースケースを操作に反映
•責任者クラスは不要なので削除
13年5月19日日曜日
最終案
13年5月19日日曜日

モデリングとクラス図