真野正 実践的データモデリング入門 (DB magazine selection) によると、CRUD分析とは別にIRUN分析というものがあるそうだ。 CRUD分析では、各アクティビティがCRUDするエンティティの中の、どの属性が読み書きされるのかまではわからない。 そこでエンティティの属性レベルまで降りて、各アクティビティがどの属性を Import/Refer/Update/Nullify するのかを明らかにするのが、IRUN分析。 分析の結果、同じエンティティの中で生成/消滅するタイミングが違う属性のグループを見つけたら、エンティティを分割する。 例えば、注文エンティティの中の{ 配送先氏名, 住所, 郵便番号, 電話番号 }が注文発生時点では未確定で、後続の「配送・支払指定」アクティビティで値が入力されるとしたら、注文エンティティと配送先エンティティに分割する。 こうすると、それぞれ