販売・生産・搬送計画率案支援システム・データモデル
はじめに
記述した業務概要を元に,ER図を作成します.
注意点を一つ.資料では,“業務概要のまとめ→ER図の記述”という順序になっています.しかし,これは“業務概要を完璧にまとめなければER図は書けない”ということではありません.業務概要のまとめ・ER図の作成・DFDの作成の手順を固定する必要はありません.
エンティティ候補の抽出
まず販売と販売計画立案から以下の名詞をエンティティ候補として抽出し,名称と定義を記述します.
- 得意先
- 商品を購入してくれる相手
- 販売担当者
- 得意先への商品の取引に責任を持つ社員
- 商品
- 販売するもの
- 販売計画
- 商品の売上の予測
- 販売実績
- 商品の売上の記録
続いて生産と生産計画立案です.
- 工場
- 商品を生産する施設
- 生産担当者
- 工場での商品の生産に責任を持つ社員
- 生産計画
- 工場で出荷する商品の予測
- 生産実績
- 工場で出荷した商品の記録
最後に輸送と輸送計画立案です.
- 倉庫
- 商品を保管する施設
- 搬送経路
- 搬出元と搬入先を結ぶ筋道
- 搬送計画
- 搬出元と搬入先を輸送する商品の予測
- 搬送実績
- 搬出元と搬入先を輸送した商品の記録
搬出元と搬入先は工場・倉庫・得意先のいずれかであるため,エンティティ候補からは外します.
ER図の作成と検討
ER図第1案はこのようになりました.
![]() |
検討を加えると,以下の不明点・問題点が明らかになりました.
- 倉庫の在庫量を把握していない.
- 工場・倉庫・得意先を結ぶ搬送経路には商品の指定がない.これでは,その工場では生産できない商品を,その商品を保管できない倉庫に運び,販売できない得意先に搬入することも可能となる.
- 販売担当者・生産担当者・搬送担当者はエンティティを分けるのではなく社員エンティティにまとめ,販売担当者・生産担当者・搬送担当者は社員の役割と考えたほうが良い.
まず,倉庫の在庫量についてです.今回の開発対象は「販売・生産・搬送計画立案」ですが,在庫量を無視した計画はありえません.したがって,倉庫の在庫量は把握する必要があります.もちろん,倉庫には保管できる商品とできない商品があります.また,在庫にも,販売・生産・搬送同様,在庫担当者が存在します.在庫担当者は複数の商品を担当しますが,一つの商品に複数の担当者は存在しません.
販売・生産・搬送計画の結果,在庫量の推移は自動的に決まります.そのため,在庫計画の立案作業は存在しません.したがって,在庫担当者の仕事は今回のシステム開発では対象外となります.
次に,搬送経路と搬送可能な商品について考えます.搬送経路に搬送可能な商品を持たせると,搬出元・搬送先の組合せで決まる搬送担当者idや搬送時間を重複して持つことになります.これは避けなくてはなりません.したがって,搬送経路とその上を運ぶことができる商品とエンティティを分けることとします.エンティティ“搬送経路”と“搬送可能商品”を作成します.
最後に,販売担当者・生産担当者・搬送担当者エンティティについて考えます.これらのエンティティをなくし,社員エンティティに統一します.つまり,これらの担当者は全て社員であり,社員が特定の担当者としての仕事をこなしているという考えです.得意先に担当者として紹介した(得意先エンティティに社員idを登録した)社員が販売担当者,工場で生産する商品の担当者に任命された(生産可能商品エンティティに社員idを登録した)社員が生産担当者,搬送経路の担当者に任命された(搬送経路エンティティに社員idを登録した)社員が搬送担当者となります.
これらの不明点・問題点を解消したER図の第2案は,以下の通りです.
![]() |
履歴の把握
一度に全てのエンティティとリレーションシップを対象にすると大変なので,とりあえず販売と販売計画に関する物だけを抜き出して考えます.
![]() |
例えば,ある理由により商品の販売を終了したと考えます.問題を単純にするため,販売終了時にその商品の在庫はないとします.商品の販売終了に対して,このER図は対応できるかどうか検証します.
まず,業務概要より,販売計画立案時には過去3年分の販売計画と販売実績が必要です.したがって,3年分の販売計画と販売実績は保管しなくてはなりません.
一つのやり方は図3で示したER図内のエンティティ“販売可能商品”から該当する商品を削除するというものです.参照整合性に問題が発生(エンティティ“販売計画”と”販売実績”の親エンティティ“販売可能商品”に該当する商品がない)しますが,一つのやり方です.
しかし,販売できなくなった商品をエンティティ“販売可能商品”から削除するこのやり方には,大きな欠点があります.それは,年の途中で販売可能・不可能になる商品に対応できない点です.販売計画立案時にエンティティ“販売可能商品”にある商品は一年を通じて販売可能,ない商品は一年を通じて販売不可能となります.そこで,年の途中での商品の販売可・不可に対応したER図を作成します.
![]() |
この場合,「販売計画を立てる日付が,商品販売可否履歴の販売開始年月日と販売終了年月日の間にある」という条件を満たす商品を得意先に販売できることになります.年の途中で販売可否が変動しても対応できます.
図4のER図を元に,販売計画と実績の削除を考えます.販売計画と実績は3年分保管するので,削除は以下の手順で行います.もちろん,これらを機械が自動的に行ってよいかどうかは,ユーザとの確認が必要です.
- エンティティ“販売計画”と“販売実績”の年月日が4年以上昔のデータを削除.
- エンティティ“商品販売可否履歴”の販売終了年月日が4年以上昔のデータを削除.
- 4年以上前に販売終了となった商品(エンティティ“商品販売可否履歴”に得意先名称と商品名称がなくなった販売可能商品)をエンティティ“販売可能商品”から削除.
- 販売していない商品(エンティティ“販売可能商品”に商品名称がなくなった商品)をエンティティ“商品”から削除.
- 商品を販売していない得意先(エンティティ“販売可能商品”に得意先名称がなくなった得意先)をエンティティ“得意先”から削除.
履歴が必要となるのは,販売可能商品だけではありません.生産可能商品や保管可能商品,販売担当者,生産担当者,保管担当者,搬送担当者も必要です.これらを反映したER図を以下に示します.
![]() |