SlideShare a Scribd company logo
1 of 15
Download to read offline
なぜデータモデリングが重要なのか?
kawasima
その1
見積りが過小になるのを防ぐ
ファンクションポイント
ソフトウェアの入出力から機能の規模を算出し
その合計をソフトウェアの規模とする。
平易にいえば、画面・バッチ・帳票・テーブルの数を数え、
それらの複雑度に応じて数値変換し足し合わせたもの
テーブルの数
は
システムの規模
汎用マスタ
種別コード
コード
都道府県
申込ステータス
口座種別名称
元号
職業
業種
異なるデータの塊を、一つのテーブルに
入れるホスト時代の流行設計を
現代にも残した由緒正しき汚モデル
種別コード
コード
名称
さて、このテーブルの持つFP値は?
(本当は論理的なエンティティを見出して数えなきゃいけないが、
ER図にこの形だけ書き込まれていると、誰もそんなことはしない)
5
都道府県
申込ステータス
口座種別
元号
職業
業種
ちゃんとバラしてエンティティとして書かれていれば…
5
5
5
5
5
5
30
正しいFP値が
誰でも求められる
FP値を人月換算すると、
だいたい1人月 10FP〜15FP
と言われているので…
先の例では
データモデルをちゃんと書かないと
2~3人月分を
損することになる
その2
見積りが過小になるのを防ぐ
FPでは
複雑なロジックが表現しきれない(キリッ
という無知
注文会員ID
注文日時
注文確認者
注文確認日
紹介者ID
紹介者報酬
紹介者報酬支払予定日時
紹介者報酬支払日時
請求書出力フラグ
入金予定日
入金日時
入金者氏名
登録日時
更新日時
キャンセル日時
キャンセル取消日時
キャンセル理由
受注番号 複雑な業務ロジックが産まれる原因
1つのテーブルを複数の業務で更新する
ことにより、更新時のルールが産まれるため
「この業務では、このカラムとこのカラムだ
け更新しする」とか…
15
注文
紹介注文
請求書印刷
入金
キャンセル
7
7
7
7
7
35
ちゃんとバラしてエンティティとして書かれていれば…
FP値を人月換算すると、
だいたい1人月 10FP〜15FP
と言われているので…
先の例では
データモデルをちゃんと書かないと
1~2人月分を
損することになる
データモデルを
正しくおこなう意義
システム規模を正しく見通し
余裕のある開発をするため

More Related Content

What's hot

強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているKoichi Tanaka
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南Mikiya Okuno
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD概念モデリング再入門 + DDD
概念モデリング再入門 + DDDHiroshima JUG
 
ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?Yoshitaka Kawashima
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門増田 亨
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』Yoshitaka Kawashima
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
データモデリング・テクニック
データモデリング・テクニックデータモデリング・テクニック
データモデリング・テクニックHidekatsu Izuno
 

What's hot (20)

強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
Tackling Complexity
Tackling ComplexityTackling Complexity
Tackling Complexity
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
データベース設計徹底指南
データベース設計徹底指南データベース設計徹底指南
データベース設計徹底指南
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
概念モデリング再入門 + DDD
概念モデリング再入門 + DDD概念モデリング再入門 + DDD
概念モデリング再入門 + DDD
 
ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?ソフトウェアにおける 複雑さとは何なのか?
ソフトウェアにおける 複雑さとは何なのか?
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
データモデリング・テクニック
データモデリング・テクニックデータモデリング・テクニック
データモデリング・テクニック
 

Similar to なぜデータモデリングが重要なのか?

ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方増田 亨
 
データ分析で Excel を活用しよう
データ分析で Excel を活用しようデータ分析で Excel を活用しよう
データ分析で Excel を活用しようTsuyoshi Kitagawa
 
データ処理の改善をどのように行なうか
データ処理の改善をどのように行なうかデータ処理の改善をどのように行なうか
データ処理の改善をどのように行なうかKen SASAKI
 
AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜
AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜
AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜Deep Learning Lab(ディープラーニング・ラボ)
 
Asakusa Framework 演算子の処方箋
Asakusa Framework 演算子の処方箋Asakusa Framework 演算子の処方箋
Asakusa Framework 演算子の処方箋hmasa
 
デスクトップエンジニアという働き方
デスクトップエンジニアという働き方デスクトップエンジニアという働き方
デスクトップエンジニアという働き方Hiroshi Oyamada
 
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2Yoshitaka Seo
 
技術者としての価値を創造する
技術者としての価値を創造する技術者としての価値を創造する
技術者としての価値を創造するSatoshi Ishikawa
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」Cybozucommunity
 
マイクロソフトのPower Platformが描く、広島の世界
マイクロソフトのPower Platformが描く、広島の世界マイクロソフトのPower Platformが描く、広島の世界
マイクロソフトのPower Platformが描く、広島の世界Taiki Yoshida
 
【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用
【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用
【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用Developers Summit
 
Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会
Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会
Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会IoTビジネス共創ラボ
 
本の紹介
本の紹介本の紹介
本の紹介t w
 
Tech Summit 2018 DA13
Tech Summit 2018 DA13Tech Summit 2018 DA13
Tech Summit 2018 DA13Daisuke Inoue
 
Xp Terakoya No04
Xp Terakoya No04Xp Terakoya No04
Xp Terakoya No04takepu
 
Hyper-V エンタープライズ設計の現実解:2015 年版
Hyper-V エンタープライズ設計の現実解:2015 年版Hyper-V エンタープライズ設計の現実解:2015 年版
Hyper-V エンタープライズ設計の現実解:2015 年版Daichi Ogawa
 

Similar to なぜデータモデリングが重要なのか? (20)

ドメインモデルの育て方
ドメインモデルの育て方ドメインモデルの育て方
ドメインモデルの育て方
 
データ分析で Excel を活用しよう
データ分析で Excel を活用しようデータ分析で Excel を活用しよう
データ分析で Excel を活用しよう
 
データ処理の改善をどのように行なうか
データ処理の改善をどのように行なうかデータ処理の改善をどのように行なうか
データ処理の改善をどのように行なうか
 
AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜
AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜
AIプロジェクト実践解説 〜 農業・医療・建設プラットフォームを支えるために必要なスキル 〜
 
Asakusa Framework 演算子の処方箋
Asakusa Framework 演算子の処方箋Asakusa Framework 演算子の処方箋
Asakusa Framework 演算子の処方箋
 
Surface で 謎開発
Surface で 謎開発Surface で 謎開発
Surface で 謎開発
 
ソフトウェアとは
ソフトウェアとはソフトウェアとは
ソフトウェアとは
 
デスクトップエンジニアという働き方
デスクトップエンジニアという働き方デスクトップエンジニアという働き方
デスクトップエンジニアという働き方
 
LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2LightSwitch で遊んでみた Rev. 2
LightSwitch で遊んでみた Rev. 2
 
技術者としての価値を創造する
技術者としての価値を創造する技術者としての価値を創造する
技術者としての価値を創造する
 
積算ソフト虎の巻
積算ソフト虎の巻積算ソフト虎の巻
積算ソフト虎の巻
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
マイクロソフトのPower Platformが描く、広島の世界
マイクロソフトのPower Platformが描く、広島の世界マイクロソフトのPower Platformが描く、広島の世界
マイクロソフトのPower Platformが描く、広島の世界
 
【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用
【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用
【17-E-6】クラウド環境下で実現する本格的な帳票開発と運用
 
Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会
Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会
Azure IoT 最前線!_IoTビジネス共創ラボ 第12回 勉強会
 
本の紹介
本の紹介本の紹介
本の紹介
 
Tech Summit 2018 DA13
Tech Summit 2018 DA13Tech Summit 2018 DA13
Tech Summit 2018 DA13
 
Web sphere2002 0624
Web sphere2002 0624Web sphere2002 0624
Web sphere2002 0624
 
Xp Terakoya No04
Xp Terakoya No04Xp Terakoya No04
Xp Terakoya No04
 
Hyper-V エンタープライズ設計の現実解:2015 年版
Hyper-V エンタープライズ設計の現実解:2015 年版Hyper-V エンタープライズ設計の現実解:2015 年版
Hyper-V エンタープライズ設計の現実解:2015 年版
 

More from Yoshitaka Kawashima

ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?Yoshitaka Kawashima
 
ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣Yoshitaka Kawashima
 
システムダウンのひみつ
システムダウンのひみつシステムダウンのひみつ
システムダウンのひみつYoshitaka Kawashima
 
アンチフラジャイルの世界
アンチフラジャイルの世界アンチフラジャイルの世界
アンチフラジャイルの世界Yoshitaka Kawashima
 
ウォーターフォールとアジャイルのフェアな比較
ウォーターフォールとアジャイルのフェアな比較ウォーターフォールとアジャイルのフェアな比較
ウォーターフォールとアジャイルのフェアな比較Yoshitaka Kawashima
 
Antifragile Java - Java Day Tokyo 2017 D1-E1
Antifragile Java - Java Day Tokyo 2017 D1-E1Antifragile Java - Java Day Tokyo 2017 D1-E1
Antifragile Java - Java Day Tokyo 2017 D1-E1Yoshitaka Kawashima
 
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力Yoshitaka Kawashima
 
SIerにとっての越境 @ DevLOVE 199
SIerにとっての越境 @ DevLOVE 199SIerにとっての越境 @ DevLOVE 199
SIerにとっての越境 @ DevLOVE 199Yoshitaka Kawashima
 
既婚プログラマの時間捻出術
既婚プログラマの時間捻出術既婚プログラマの時間捻出術
既婚プログラマの時間捻出術Yoshitaka Kawashima
 
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかJavaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかYoshitaka Kawashima
 
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発Yoshitaka Kawashima
 
週刊Webサイトのアーキテクチャ
週刊Webサイトのアーキテクチャ週刊Webサイトのアーキテクチャ
週刊WebサイトのアーキテクチャYoshitaka Kawashima
 

More from Yoshitaka Kawashima (20)

ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
 
Are Design Patterns Dead?
Are Design Patterns Dead?Are Design Patterns Dead?
Are Design Patterns Dead?
 
ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣ソフトウェア設計における 意思決定とそのレビューの秘訣
ソフトウェア設計における 意思決定とそのレビューの秘訣
 
本番障害に至る病
本番障害に至る病本番障害に至る病
本番障害に至る病
 
システムダウンのひみつ
システムダウンのひみつシステムダウンのひみつ
システムダウンのひみつ
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
アンチフラジャイルの世界
アンチフラジャイルの世界アンチフラジャイルの世界
アンチフラジャイルの世界
 
Atomic Architecture
Atomic ArchitectureAtomic Architecture
Atomic Architecture
 
ウォーターフォールとアジャイルのフェアな比較
ウォーターフォールとアジャイルのフェアな比較ウォーターフォールとアジャイルのフェアな比較
ウォーターフォールとアジャイルのフェアな比較
 
How to find tech books
How to find tech booksHow to find tech books
How to find tech books
 
Antifragile Java - Java Day Tokyo 2017 D1-E1
Antifragile Java - Java Day Tokyo 2017 D1-E1Antifragile Java - Java Day Tokyo 2017 D1-E1
Antifragile Java - Java Day Tokyo 2017 D1-E1
 
たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力たとえ日本人同士でも必要な異文化理解力
たとえ日本人同士でも必要な異文化理解力
 
SIerにとっての越境 @ DevLOVE 199
SIerにとっての越境 @ DevLOVE 199SIerにとっての越境 @ DevLOVE 199
SIerにとっての越境 @ DevLOVE 199
 
Antifragile Clojure
Antifragile ClojureAntifragile Clojure
Antifragile Clojure
 
Boilerplate vs Magic
Boilerplate vs MagicBoilerplate vs Magic
Boilerplate vs Magic
 
既婚プログラマの時間捻出術
既婚プログラマの時間捻出術既婚プログラマの時間捻出術
既婚プログラマの時間捻出術
 
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかJavaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
 
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
 
週刊Webサイトのアーキテクチャ
週刊Webサイトのアーキテクチャ週刊Webサイトのアーキテクチャ
週刊Webサイトのアーキテクチャ
 
キメるClojure
キメるClojureキメるClojure
キメるClojure
 

なぜデータモデリングが重要なのか?