HOME


流通工房について

各フェーズ定義


トピックについて

Link


サイトマップ

書籍・プロフィール

サイト内検索

-------------------------









流通業・流通システムにおけるシステム設計の実務ノウハウが満載−流通工房

<要件定義1(データ構造)>
制御テーブル
<吉田君>
 今、DBチームの小川君と話をしていたのですが、発注以外にも営業管理表の算出対象の
 制御や新規取扱商品の特定など様々なロジックの制御を商品マスタや店マスタで管理し
 なければならないことが判ってきて、判りやすい区分名を考えるのも大変だし、商品
 マスタメンテナンス画面の設計においても項目があふれそうなのと、どの項目がどの制御
 と関係するのかがわかりづらく画面構成が複雑になってきました

<早瀬>
 まず「その業務を行う部署」と「なぜその制御が必要か」を整理したほうがよいね。
 そして、後はそのデータをどのようにシステム的に使うかを考えるとデータ構造を
 どのようにしたら良いかが見えてくる
 例えば、新規取扱商品はなぜ特定が必要なのか、どれくらいの期間新規取扱商品とする
 のか、どれくらいの商品が該当するのか、設定部署はどこなのかといったことは調べて
 ある?

<吉田君>
 はい。それは調べました。
 まず目的としては、商品分析で新規取扱い商品のみ日別店別単品別や時間帯別単品別
 分析などの対象とするために特定が必要ということでした。期間としては店舗ごとに
 販売開始してから1ヶ月を新規取扱商品期間とし、大体1ヶ月では通常月で500商品くらい
 季節の変わり目で多い時で800商品くらいということでした。設定については商品マスタ
 に登録をした後、店ごとに初回の売上がたった日から新規商品として欲しいということ
 です

<早瀬>
 なるほど。今回、HOTスーパーの1店舗あたりの取扱い商品数は約5万商品で、商品マスタ
 上は既に取扱い中止となったデータなども含めると20万件になるよね。
 そうしたときに20万件の中から約1000件弱のデータを区分で見つけるよりは、該当商品を
 外だしして制御テーブルとして管理するようにした方がわかりやすく、また膨大な量の
 販売実績や発注実績と結合した時の処理パフォーマンスも変わってくるのじゃないかな?

 メンテナンスもその制御テーブルに対して行うようにすればシンプルだ。
 特に今回は、バッチ処理の中で自動的に新規商品として登録、一定期間たったら削除
 するようにできるだろうから画面も不要だね。商品マスタの画面構成も今のままで
 大丈夫だ。

 基本項目はほぼ網羅できているので、今後、業務要件により制御情報が必要になったら
 まずはその目的と設定部署、件数を調べ制御テーブルによる管理とするか、マスタへの
 項目追加にするかを考えるようにした方がよい。


【ポイント】
上記の例では新規商品ということで話をしたが、その他に重点的に情報を分析したり
管理したい商品などを「重点商品」とするケースもある。
この場合も同様に外だしして管理した方が良い

それ以外に制御テーブルで制御した方がよいケースとしては営業管理表などの管理帳票だ。
これは以下の2つが主な理由だ

1.マスタ構造と管理部署
  管理表では商品分類や店舗単位で出力を制御するが、商品分類や店舗のマスタにおいては
  実際の商品の分類や実店舗以外に、システム処理上の分類や店舗などの登録データもあり
  出力する帳票によって対象としたり対象外としたりと変動するケースがある
  これをマスタ上の区分で制御しようとすると、いくつかの区分の組み合わせとなりデータ
  アクセスが複雑となる。また、こういった帳票の出力管理については、マスタデータの
  登録部署とは異なる場合がある

  マスタの登録、更新については、間違えて関係ない項目を変更してしまった時に、業務
  に影響があることが多いので基本的には主管部門を絞った方が良い。
  よって、できれば制御テーブルとして外だしをしておき、関連部署はその制御テーブル
  のみに対して修正するようにしておいた方がよい。
  ※管理帳票などは企業方針により出力の制御などが変わることが多いが、マスタ本体の
   項目を増減するとシステム的には影響が大きいケースがある
   そういったことを避ける意味でも、マスタとはゆるい連携関係としておいたほうがよい
  
2.業務のサイクルとの違い
  店舗の場合は業務的には閉店とした場合でも、営業管理表などでは当月内、そして当期内
  では実在店舗として数値を載せる必要がある
  この例は単純な例ではあるが、実際の業務における制御と営業管理表などの管理帳票に
  おける制御のタイミング、サイクルは異なるケースが多い
  この意味でも、管理帳票用の制御テーブルはマスタからは切り出しておいたほうがそれぞれ
  の要件による制限も少なく柔軟な対応が可能となる

※切り出すことで、マスタのとの一元管理がしずらくなるなどの懸案もでてくるが私個人の
 今までの経験では、切り出しておいたほうが顧客要望への柔軟な対応ができ、またその対応
 に伴う業務およびシステムへの影響も少ないので切り出しておいたほうが良いと考えます



質問 このトピックの情報は役立ちましたか?
役に立った
目的の情報と異なったが、参考になった
役に立たなかった

コメント




結果