静的モデル3 戻る 6.1 販売の記録を残す まずは,販売から 商品 1 商品名 単価 導出: 金額 =the商品.単価×数量 * 明細 インスタンス: ナックバーガー ビッグナック ナックシェーク : 販売 * 数量 /金額 導出: 合計金額=Σ金額 販売日 /合計金額 まとめ 販売日 /合計金額 商品名 単価 1 * 販売 数量 /金額 客 {導出} * 1 * 商品 1 * * 1 客 1 静的モデル3 戻る 6.2 オブジェクト図で確認 具体例を考えて :商品 商品名= ナックバーガー 単価=90 :商品 商品名= ナックポテトS 単価=150 :商品 商品名= ナックシェーク 単価=200 :販売 数量=2 金額=180 :まとめ 販売日=021105 /合計金額=530 1:客 :販売 数量=1 金額=150 :販売 数量=1 金額=200 :販売 数量=1 金額=90 :まとめ 販売日=021106 /合計金額=290 2:客 :販売 数量=1 金額=200 2 静的モデル3 戻る 6.3 毎日の商品別売上が必要(1) ある日の商品別売上合計を計算する 日別の「売上」型を設ける 「売上」は導出型 商品 商品名 単価 1 * 販売 数量 金額 * 1 まとめ 販売日 /合計金額 1 * /売上 日 /売上金額 導出: この売上金額は,the商品.the販売とナビ ゲートして得られる販売オブジェクトの集合の うち,それぞれのtheまとめオブジェクトの販売 日が,この売上オブジェクトの日と一致するも のについて,金額を合計して得る 3 静的モデル3 戻る 6.3 毎日の商品別売上が必要(2) オブジェクト図 :/売上 :商品 日=021105 /売上金額=180 商品名= ナックバーガー 単価=90 :/売上 :商品 日=021106 /売上金額=90 商品名= ナックポテトS 単価=150 :商品 商品名= ナックシェーク 単価=200 :販売 数量=2 金額=180 :まとめ 販売日=021105 /合計金額=530 :販売 数量=1 金額=150 :販売 数量=1 金額=200 :販売 数量=1 金額=90 :まとめ 販売日=021106 /合計金額=290 :販売 数量=1 金額=200 4 静的モデル3 戻る 6.4 それをカテゴリ別にも(1) ある日の商品別売上をカテゴリ別に集計する インスタンス: バーガー ドリンク : メソッド: 日を引数とし,the商品.the売上とナビゲートして 得られる売上オブジェクトの集合のうち,それぞれ の日が引数の日と一致する分について,the売上. 売上金額を合計したものを返す カテゴリ 名称 売上集計() 1 * 商品 {導出} 商品名 単価 1 * 販売 数量 /金額 * 1 まとめ 販売日 /合計金額 1 この関連は,必要な都度,導 出すればよい。常にカテゴリ が/売上を知っていなければ ならないわけではないので冗 長 * * /売上 日 /売上金額 導出: この売上金額は,the商品.the販売とナビ ゲートして得られる販売オブジェクトの集合の うち,それぞれのtheまとめオブジェクトの販売 日が,この売上オブジェクトの日と一致するも のについて,金額を合計して得る 5 静的モデル3 戻る 6.4 それをカテゴリ別にも(2) オブジェクト図 売上集計(021105) :/売上 :商品 日=021105 /売上金額=180 商品名= ナックバーガー 単価=90 :client 1:カテゴリ 名称=フード result=330 :/売上 日=021105 /売上金額=150 :商品 商品名= ナックポテトS 単価=150 :/売上 日=021106 /売上金額=300 :商品 商品名= ナックシェーク 単価=200 2:カテゴリ 名称=ドリンク 6 静的モデル3 6.5 少しだけ商品を作りおきするとして 作りおきがあれば,そこから出庫する 戻る カテゴリ 名称 売上集計() 1 * 商品 在庫を導出の型とすることも あるが,このケースでは,現 時点での在庫量がわかれば よいので,商品の導出属性と する 商品名 単価 /在庫 1 * 販売 数量 /金額 * 1 まとめ 販売日 /合計金額 1 * /売上 日 /売上金額 導出: この在庫は,新たな販売オブジェクト が生成されたときに,以前の在庫値か らthe販売.数量を差し引いたもの 7 静的モデル3 戻る 6.6 入庫と出庫 現時点での在庫がわかるように 入庫の情報を加える 一度に複数の商品を作りだ めしようとする場合は要る カテゴリ 名称 売上集計() 製造 * 数量 1 商品 商品名 単価 /在庫 1 製造まとめ * 1 まとめ 製造日 製造日 1 * * 1 * 販売 数量 /金額 販売日 /合計金額 1 * /売上 日 /売上金額 導出: この在庫は,販売オブジェクトが生成さ れたときに,以前の在庫数量からthe販売. 数量を差し引いたもの,また,製造オブ ジェクトがときに,以前の在庫数量にthe製 造.数量を加えたもの 8 静的モデル3 戻る 6.7 鮮度が命 作りおき分は10分経っても売れなければ捨てる 現物の管理 期限の管理 販売予測 カテゴリ この関連が導出されるので, the商品.在庫の導出ルール はそのままでよい 名称 売上集計() 1 * /売上 日 /売上金額 * 1 商品 1 {導出} * 商品名 単価 /在庫 1 1 * ロット番号 /賞味期限 数量 1 /金額 * 1 まとめ 販売日 /合計金額 {導出} * * 現物 導出: 賞味期限は,the製造の 製造日時+10分 販売 * 1 製造 数量 製造日時 廃棄は,マイナス数 量で表すことで,在 庫のつじつまを合わ せる どれを廃棄するかを見定めるため,1つひと つの商品を区別する必要が出てきた 9 静的モデル3 戻る 6.8 利益はどうなっているの 利益(粗利)は売上高から製造原価を引いたもの 導出: この製造原価は,the商品.the製造とナビ ゲートして得られる製造オブジェクトの集 合のうち,それぞれの製造日時の日が,こ の売上オブジェクトの日と一致するものに ついて,その数量を合計したものにこの原 価を乗じて得る カテゴリ 名称 売上集計() 1 * 商品 /売上 日 /売上金額 /製造原価 /利益 * 1 {導出} * 商品名 単価 原価 /在庫 1 1 導出: 利益=売上金額-製造原価 数量 /金額 {導出} * 1 まとめ 販売日 /合計金額 廃棄をマイナス数量で表す ことにすると,製造原価が減 ることになって,おかしい * * 現物 ロット番号 /賞味期限 販売 * 1 製造 数量 製造日時 10 静的モデル3 戻る 6.9 ちょっとかっこよく 汎化も使ってみて 導出: この製造原価は,the商品.theEntryとナビ ゲートして得られるEntryオブジェクトの集 合のうち,それぞれのtheTransactionのタイ プが「製造」または「廃棄」で,その日時の 日が,この売上オブジェクトの日と一致す るものについて,その数量を合計したもの にこの原価を乗じて得る カテゴリ 名称 売上集計() 1 * 商品 /売上 日 /売上金額 /製造原価 /利益 1 1 {導出} * 商品名 日 単価 原価 /在庫 移動量 数量 /金額 * 1 できごと 日時 1 1 消費税はどうす る 限定子を使ってみた * 現物 ロット番号 /賞味期限 * 廃棄 製造 販売 /合計金額 11
© Copyright 2025 ExpyDoc