Document

データモデリング
ボトムアップ分析
ボトムアップ分析の手順
•
•
トップダウン分析の結果とは別に実施
画面や帳票イメージからモデル化
① 画面や帳票を集める
② Excelなどのワークシートで,エンティティ,
データ項目名を決める
③ ドメインを定義し,データ項目に割り当てる
④ 正規化を実施
⑤ 発生タイミングでエンティティを分離
[補助] なぜ、別に実施?
• 算数や表計算における検算と同じ
– 算数で、同じ計算法で何度計算しても同じところで間
違っていれば、同じ間違った結果になる。
– 表計算で、縦と横の計算結果が一致したら間違いない
項目1
項目2
…
合計
平成21年
平成22年
合計
• 異なる方法で、結果が同じなら間違いなし
• 異なる方法で実施しすると、見えていなかった問
題が見えてくる
対象とする機能
DBMe書店のシステム内の機能のすべての機
能をボトムアップ分析すると大変
• ネット販売
• 受注管理
• 代金収納/決済
• 配送
• 顧客管理
• 商品(カタログ)管理
• 在庫管理
画面の遷移例
商品検索画面
条件を設定して検索。検索結果が表示される。
ユーザ確認画面
• 悪意を持ったユーザでないことを確認
ショッピングカート取込画面
• 買い物の候補にするかどうかを決定する
ショッピングカート内容
• 買い物候補を選んでいる途中で確認
個人情報登録
• 配送先、クレジットカード情報の登録
レジ・カウンタ
• 商品代の合計、配送料、消費税の表示
注文内容確認
• 本当に購入するかを確認
納品書 兼 請求書
• 商品とともに郵送される文書
Excelなどのワークシートによる分析
データが集まる画面や帳票をピックアップ
– すべての画面で実施するのは非現実的
– DFDなどでデータが集まっている画面や帳票に
あたりをつけ実施
• とりあえずは画面単位でエンティティを設定
• データ項目名を付与
– ネーミング規則にのっとり、重複がないようにする
• ドメインを定義
– データ項目の意味や型を明確化するため
表7-1
ワークシートを
使った
分析結果
各画面からエンティ
ティとデータ項目を
切り出したので、同
じエンティティ内で
重複しているデータ
項目は、消去する。
表7-1のエンティティくくりだし
• 画面「商品検索」、「ショッピングカート取込」
– 「商品」エンティティ
• 画面「ショッピングカート内容」
– 「ショッピングカート」エンティティ
• 画面「ユーザ確認」、「個人情報登録」
– 「顧客」エンティティ
• 画面「レジカウンタ」、「納品書・請求書」
– 「注文内容」エンティティ
[補助] なぜ、重複が出てくるの?
• ひとつの画面で使用された情報は、別の画面
でも使われる。
– 個人情報設定のページで設定された住所は
– 確認画面で、お届け先として表示される
• ボトムアップ分析では、各ページを分け隔て
なく分析するので、どうしても重複は出る
表7-3
ドメインの定義
各画面から、具体
的に桁数や値域が
判明する。
これを後に利用す
るため
初期モデル
主キーを割当ててみる
これを 正規化 していく