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