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