オブジェクト指向による 分析と設計

47070
オブジェクト指向モデリング
[6]
2001年11月 5日
オブジェクト指向モデリング
前回 クラス図に関する補足
5.1 概念レベルでの特殊な表現
5.2 リファクタリング
5.3 オブジェクト図
5.4 関連についての補足
2
静的モデル2
クラス図
制約
型
関連名
多重度
関連名の方向
商品種類
0..*
注文する
注文対象
0..*
{完全}
顧客
注文主
個人顧客
法人顧客
関連
ロール
区別子
(discriminator)
個人顧客
重要度
重要顧客
<<多重>>
<<動的>>
ステレオタイプ
一般顧客
3
静的モデル2
クラス図
ボード
1
9
マス
オブジェクト図
1
1
ボード 位置
路線
マス
{ordered}
*
駅
行:{1,2,3}
列:{1,2,3}
東海道線:
路線
制約
①
②
0..*
1
著作
③
{xor}
1
雑誌
人
新橋:
駅
品川:
駅
{階層}
*
本
0..*
東京:
駅
子
親
④
川崎:
駅
…
4
宿題の解答例
 6親等までを扱うための型モデル
 養子縁組はないものとする
 離婚,再婚はないものとする
配偶者
兄弟
子
兄弟
親
兄弟
叔父叔母
子
親
親
従兄弟
親 配偶者
2
0..1
子
0..1
はとこ *
人
従兄弟 *
叔父叔母 *
0..*
子
配偶者
self
子
兄弟 *
*
<<対称>>
/兄弟関係
<<対称>>
/叔父甥関係
<<対称>>
/従兄弟関係
<<対称>>
/はとこ関係
*
*
inv:
self.親=self.兄弟.親 and
self.親.親->intersection(self.従兄弟.親.親)->notEmpty and
self.親.親.親->intersection(self.はとこ.親.親.親)->notEmpty and
self.子.親->includes(self, self.配偶者) and
self.子.子.親->includes(self.子, self.子.配偶者) and
self.子.子.子.親->includes(self.子.子, self.子.子.配偶者)
:
5
宿題
 典型的な解答
 関係は関係としてとらえる
 相対性,役割
0..*
配偶者
1..*
本人
1..*
兄弟
2..2
祖父母
2..2
1..*
親
2..2
2..2
叔父母
 必要以上の複雑性を持ち込まない
 親の親,親の兄弟
文化人類学的
な意味はあるか
も
子
1..*
2..2
1..*
 6親等に男女の区別は必要か
 導出関連は最小限に
1..1
弟
兄
弟
息子
父
兄
男
姉
妹
父
娘
息子
母
妹
娘
女
姪
甥
叔父
母
姉
夫
叔父
甥
叔母
妻
姪
叔母
6
オブジェクト指向モデリング
第6回 クラス図を書いてみよう
6.0 ファーストフード店
6.1 販売の記録を残す
6.2 オブジェクト図で確認
6.3 毎日の商品別売上が必要
6.4 それをカテゴリ別にも
6.5 少しだけ商品を作りおきするとして
6.6 入庫と出庫
6.7 鮮度が命
6.8 利益はどうなっているの
6.9 ちょっとかっこよく
6.10 これで何が書けたことになるか
7
静的モデル3
6.0 ファーストフード店
 これまでの知識だけで型(クラス)図を書いてみる
 ファーストフード店
 窓口で客がメニューに基づいて商品を注文する
 受注担当者が注文を聞いて,キッチン担当に渡す
 客は注文品ができるまで,窓口で待つ
 受注担当者は,料金を計算し,請求する
 客は料金を支払う
 客はできあがった商品を受け取る
…という,普通のプラクティス
8
静的モデル3
6.1 販売の記録を残す
 まずは,販売から
 型の候補は
 商品
客
 ただし,客は特定されないので...
 販売
 一度に複数の商品を注文する
モデル
9
静的モデル3
6.2 オブジェクト図で確認
 具体例を考えて
モデル
10
静的モデル3
6.3 毎日の商品別売上が必要
 ある日の商品別売上合計を計算する
 日別の「売上」型を設ける
モデル
11
静的モデル3
6.4 それをカテゴリ別にも
 ある日の商品別売上をカテゴリ別に集計する
モデル
12
静的モデル3
6.5 少しだけ商品を作りおきするとして
 作りおきがあれば,そこから出庫する
窓口のサービス時間を短縮して,
客の回転率を上げたい
モデル
13
静的モデル3
6.6 入庫と出庫
 現時点での在庫がわかるように
 入庫の情報を加える
モデル
14
静的モデル3
6.7 鮮度が命
 作りおき分は10分経っても売れなければ捨てる
 現物の管理
 期限の管理
 販売予測
モデル
15
静的モデル3
6.8 利益はどうなっているの
 利益(粗利)は売上高から製造原価を引いたもの
モデル
16
静的モデル3
6.9 ちょっとかっこよく
 汎化も使ってみて
モデル
17
静的モデル3
6.10 これで何が書けたことになるか
 ボトムアップのアプローチ
 誰のためのモデルか
 販売の記録を取るのはなぜ
 売上の集計を取るのはなぜ
 カテゴリ別の集計を取るのはなぜ
 作り置きは何のため
 利益集計を取るのはなぜ
 要求があるからモデルが書ける
18