Transcript ppt形式
11. モデリング 11.3 酒屋の在庫問題(8) ユースケース 仕入販売支援システム 受注する 入庫を記録する 在庫を引き当てる 受付係 倉庫係 出荷指示する 出荷を記録する 仕入注文をする 1 11. モデリング 11.3 酒屋の在庫問題(9) 安易なモデル * 1 メーカ inv: self./実在庫量=self.the商品.the入庫.数量->sum - self.the商品.the出荷.数量->sum self./有効在庫=self./実在庫 + self.the商品.the仕入注文.数量->sum - self.the商品.the注文.数量->sum 仕入注文 発注番号 発注日 入庫希望日 数量 * * 銘柄 1 名称 /実在庫量 /有効在庫量 1 型 1 * 注文 注文番号 受注日 納入希望日 数量 * 1 小売店 * {導出} 名称 * 1 入庫 * 入庫日 数量 * * 1 商品 名称 住所 * 1 * 1 出荷 出荷日 数量 * inv: self.the出荷.数量->sum = self.the入庫.数量 2 11. モデリング 11.3 酒屋の在庫問題(10) ユースケース記述 ユースケース名:受注する アクタ:受付係 目的:小売店からの注文を記録して,納入までの手続きを始動したい。 事前条件:その注文が記録されていない。 基本系列: ①アクタは,システムに注文を記録する旨を示す。 ②システムはアクタに注文の入力を促す。 ③アクタは注文内容(送り先,受注日,商品名,数量,納入希望日)を入力する。 ④システムは,注文内容が妥当であることを確認し,注文番号を発行して, それらを記録すると同時に,納入希望日の在庫量から受注数量分を減じる。 事後条件:その注文が記録されている。 代替系列: 備考: ①注文内容が妥当であるとは,次の3つの条件がともに真であること。 a.送り先名がすでに定義されている,b.商品名がすでに定義されている, c.納入希望日が翌日以降である ②注文番号は一連番号とし,ユニーク性を保証すること。初期値は1。 ③在庫量がマイナスになった場合は在庫不足として扱う。 3 11. モデリング 11.3 酒屋の在庫問題(11) ユースケース記述 計画ホライゾン 商品名 1/14 1/15 1/16 1/17 1/18 1/19 マッカラン 12 12 2 12 -8 2 12 -8 2 12 -8 2 12 -8 2 ユースケース名:在庫を引き当てる。 アクタ:受付係 注文日:1/14 目的:注文に対する在庫不足分を明らかにする。 マッカラン 10本 1/15 事前条件:未処理の注文がある。 マッカラン 10本 1/16 基本系列: ①アクタは,システムに在庫の確認処理を要請する。 ②システムは,商品別,納入希望日順に在庫量から注文分を減じる。当日お 仕入注文日:1/14 よび翌日の在庫がマイナスになった場合はアクタに警告する。マッカラン 10本 1/15 ③システムは,処理した注文に対して「処理済み」をマークする。 事後条件:未処理の注文がない。 代替系列:なし 備考:在庫引き当ては,商品別,日別の予定在庫を減じることで表現する。 「仕入注文をする」ユースケースでは,安全在庫を加味して仕入数量を 決める)。 4 11. モデリング 11.3 酒屋の在庫問題(12) 受注から出荷までのビジネス事象 酒メーカ 小売店 C社 B社 受注係 倉庫係 注文する 0日 [在庫不足] 仕入注文する [在庫あり] 出庫を指示する 入庫する +1日 入庫を通知する 出庫を指示する +2日 5 11. モデリング 11.3 酒屋の在庫問題(13) 在庫とは 累 積 量 入庫 実在庫 仕入 滞留時間 期首在庫+Σ入庫-Σ出荷 注文 ある時点での予定在庫 実在庫+Σ仕入-Σ注文 入庫,出荷は実績 仕入,注文は 入庫予定,出荷予定 ユースケースは不変? ②システムは,商品別,納入希望日順に 在庫量から注文分を減じる。当日および 翌日の在庫がマイナスになった場合はア クタに警告する。 在庫 出荷 期首 現在 実績 予定 在 庫 量 安全在庫 期首 現在 実績 予定 flow 時間 stock 時間 内部を書きすぎだった 6 11. モデリング 11.3 酒屋の在庫問題(14) 初期モデル 勘定科目 /科目ごとの集計金額 1 在庫 1 /数量 期首在庫 * 金額 2..* 1 発生日 計上日 勘定パターン 銘柄 導出ルール 会計取引 仕訳記入行 名称 * 在庫単位 時点 1 * 記入行 * 数量 取引 2..* 1 発生日 計上日 * 数量 場所 位置 7 11. モデリング 11.3 酒屋の在庫問題(15) オブジェクト図で確認 在庫単位間を移動する数量 三木酒造 :メーカー 三木酒造-酒 鯨:在庫単位 :記入行 数量=-24 酒鯨 :銘柄 :入庫実績 発生日=2003.7.1 A倉庫-酒鯨: 在庫単位 :記入行 数量=+24 :記入行 A倉庫 :倉庫 数量=-2 赤坂酒店-酒 鯨:在庫単位 :出庫予定 発生日=2003.7.2 :記入行 数量=+2 赤坂酒店 :小売店 記入行の数量の符号によって,移動の方向を示している 8 11. モデリング 11.3 酒屋の在庫問題(16) 初期モデルの修正 在庫の最適化に重点を置く inv: self.the記入行->sum=0 導出ルール 銘柄 出庫 入庫 名称 取引 * 在庫 1 /数量 期首在庫 数量 時点 在庫単位 1 安全在庫量 * * 1 取引番号 * 記入行 数量 2..* 発生日 移動日 《多重》 場所 名称 位置 倉庫 1 実績 予定 0..1 小売店 メーカー 9 11. モデリング 11.3 酒屋の在庫問題(17) 揺さぶり 分割納入,一括納入は可能か :記入行 数量=-12 /残量=0 :予定出庫 取引番号=#2001 発生日=2003.7.31 移動日=2003.8.2 :記入行 BP酒店-清酒NIP :単位在庫 :記入行 数量=-6 :記入行 数量=-6 :記入行 数量=+6 《多重》 0..1 実績 0..1 :実績出庫 取引番号=#5023 発生日=2003.8.2 移動日=2003.8.2 数量=+6 :記入行 取引番号 発生日 移動日 予定 数量=+12 /残量=0 A倉庫-清酒NIP :単位在庫 取引 :実績出庫 取引番号=#5046 発生日=2003.8.4 移動日=2003.8.4 取引 取引番号 発生日 移動日 《多重》 * 予定 実績 * 10 11. モデリング 11.3 酒屋の在庫問題(18) 揺さぶり より細かい分割納入/一括納入を可能にする :予定記入行 数量=-12 /残量=0 :出庫 取引番号=#2001 発生日=2003.7.31 移動日=2003.8.2 :予定記入行 数量=+12 /残量=0 出庫 入庫 銘柄 A倉庫-清酒NIP :単位在庫 名称 * 単位在庫 1 1 * 記入行 2..* 数量 安全在庫量 * 場所 名称 位置 取引 取引番号 発生日 計上日 BP酒店-清酒NIP :単位在庫 :実績記入行 数量=-6 :実績記入行 数量=+6 :実績記入行 数量=-12 予定 /残量 * * 実績 制約: 関連づく記入行は取引ご とに予定か実績かどちらか :出庫 取引番号=#5023 発生日=2003.8.2 移動日=2003.8.2 :実績記入行 :出庫 取引番号=#5046 発生日=2003.8.4 移動日=2003.8.4 数量=+12 11 11. モデリング 11.3 酒屋の在庫問題(19) 揺さぶり 個体識別を可能にする 現品管理 オブジェクト図で確認 A倉庫 :倉庫 A倉庫-清酒 NIP :単位在庫 清酒NIP :銘柄 清酒NIP :銘柄 A倉庫 :倉庫 清酒NIP01:現物 製造日=2003.2.3 識別番号=01 A倉庫-清酒 NIP :単位在庫 型 型 清酒NIP01:現物 製造日=2003.2.3 シリアル番号=01 BP酒店-清酒 NIP:単位在庫 清酒NIP02:現物 製造日=2003.2.3 シリアル番号=02 BP酒店-清酒 NIP:単位在庫 清酒NIP02:現物 製造日=2003.2.3 識別番号=02 BP酒店 :小売店 :実績記入行 :実績記入行 数量=-1 数量=-1 移動日=2003.8.2 移動日=2003.8.2 :実績記入行 :実績記入行 数量=+1 数量=+1 移動日=2003.8.2 移動日=2003.8.2 :実績記入行 :実績記入行 数量=-1 数量=-1 移動日=2003.8.4 移動日=2003.8.4 :実績記入行 :実績記入行 :出庫取引 取引番号=#5023 発生日=2003.8.2 移動日=2003.8.2 :出庫取引 取引番号=#5046 発生日=2003.8.4 移動日=2003.8.4 数量=+1 数量=+1 移動日=2003.8.4 移動日=2003.8.4 BP酒店 :小売店 12 11. モデリング 11.3 酒屋の在庫問題(20) 揺さぶり 個体識別を可能にする 制約 移動先は同一の場所 導出ルール 銘柄 1 * 型 名称 1 /数量 1 時点 0..1 数量 1 取引番号 * 記入行 安全在庫量 2..* 数量 発生日 移動日 * 場所 名称 位置 倉庫 取引 * 単位在庫 1 * 期首在庫 出庫 識別番号 製造日 * 在庫 入庫 現物 小売店 予定 /残量 メーカー * * 実績 移動日 制約: 関連づく記入行は取引ご とに予定か実績かどちらか 制約: 出庫取引の場合は,その時点で保有する 現物のうち,製造日は最古ものであること 13 11. モデリング 11.3 酒屋の在庫問題(21) 揺さぶり 要約在庫を見る 量 1 在庫 * /在庫量 時 点 {階層} 銘柄 要素 導出ルール 要約在庫 /在庫量 在庫量 1 /数量 期首在庫量 制約 移動先は同一のパーティ 1 * 型 名称 1 * 銘柄別・ 1 時点 所在別の在庫 識別番号 製造日 取引 * 1 取引番号 * 記入行 2..* 数量 発生日 * * パーティ 名称 位置 倉庫 在庫調整 0..1 安全在庫量 数量 出庫 入庫 現物 予定 /残量 * * 実績 移動日 制約: 関連づく記入行は取引ご とに予定か実績かどちらか 小売店 メーカー 14