60
DDDハンズオン 中国地方DB勉強会 in 岡山

DDDハンズオン

Embed Size (px)

Citation preview

Page 1: DDDハンズオン

DDDハンズオン中国地方DB勉強会 in 岡山

Page 2: DDDハンズオン

What is it?

DDDからデータ設計を紐解く

Page 3: DDDハンズオン

What is it?

データ設計 is 何?

Page 4: DDDハンズオン

What is it?

ドメインを紐解けばデータ設計が見えてくる

Page 5: DDDハンズオン

What is it?

その過程をみんなで体験しましょう

※今日はチームで組みます

Page 6: DDDハンズオン

What is it?

MySQLチーム

Page 7: DDDハンズオン

What is it?

PostgreSQLチーム

Page 8: DDDハンズオン

What is it?

MS SQLチーム

Page 9: DDDハンズオン

あじぇんだ

1 自己紹介 2 簡単な解説 3 今日の課題 4 ハンズオン 5 まとめ

Page 10: DDDハンズオン

あじぇんだ

1 自己紹介 2 簡単な解説 3 今日の課題 4 ハンズオン 5 まとめ

Page 11: DDDハンズオン

自己紹介名前:曽根 壮大(そね たけとも) 年齢:30歳(三人の子供がいます) 職業:Webエンジニア

所属:日本PostgreSQLユーザ会

  技術的にはLL系言語とかRDBが好きです

Page 12: DDDハンズオン

あじぇんだ

1 自己紹介 2 簡単な解説 3 今日の課題 4 ハンズオン 5 まとめ

Page 13: DDDハンズオン

説明

今からすること

Page 14: DDDハンズオン

説明

DDDハンズオン

Page 15: DDDハンズオン

説明

1. コアドメインを紐解く 2. シナリオを作る 3. 難しいところ(ドメイン)を探す 4. モデリングする(エンティティなど) 5. テーブル設計に落としこむ 6. 2~5を繰り返す

Page 16: DDDハンズオン

あじぇんだ

1 自己紹介 2 簡単な解説 3 今日の課題 4 ハンズオン 5 まとめ

Page 17: DDDハンズオン

今日の課題

駐車場

Page 18: DDDハンズオン

今日の課題

駐車場 is 何?

Page 19: DDDハンズオン

今日の課題

駐車場 is 何?

Page 20: DDDハンズオン

今日の課題

駐車場 is 何?

Page 21: DDDハンズオン

今日の課題

駐車場 is 何?

Page 22: DDDハンズオン

今日の課題

無人有料駐車場(時間貸し) の管理システム

Page 23: DDDハンズオン

今日の課題

どんな機能が必要か? ↓

まずはシナリオを作る

Page 24: DDDハンズオン

今日の課題

基本シナリオ と

派生シナリオ

Page 25: DDDハンズオン

今日の課題

シナリオをモデリングする

Page 26: DDDハンズオン

今日の課題

モデルをテーブルに変える (実装する)

Page 27: DDDハンズオン

今日の課題

作って欲しいもの

Page 28: DDDハンズオン

今日の課題

• 優先順位のついたシナリオのリスト • ER図やクラス図など • ドメインの理解になるものならなんでも • サンプル実装(テーブル設計)

Page 29: DDDハンズオン

今日の課題

振り返りとレビュー

Page 30: DDDハンズオン

今日の課題

時間は50分ずつ ☓ 3回 (最初はちょっと短いですが)

Page 31: DDDハンズオン

今日の課題

間で発表とレビューがあります

Page 32: DDDハンズオン

あじぇんだ

1 自己紹介 2 簡単な解説 3 今日の課題 4 ハンズオン 5 まとめ

Page 33: DDDハンズオン

モデルを小さくする

実装出来る範囲のシナリオにする ↓

シンプルなシナリオから試す

Page 34: DDDハンズオン

説明

1. コアドメインを紐解く 2. シナリオを作る 3. 難しいところ(ドメイン)を探す 4. モデリングする(エンティティなど) 5. テーブル設計に落としこむ 6. 2~5を繰り返す

Page 35: DDDハンズオン

説明

1. コアドメインを紐解く 2. シナリオを作る 3. 難しいところ(ドメイン)を探す 4. モデリングする(エンティティなど) 5. テーブル設計に落としこむ 6. 2~5を繰り返す

Page 36: DDDハンズオン

ER図

Page 37: DDDハンズオン

今日の課題

さぁはじめましょう!!

Page 38: DDDハンズオン

ハンズオン

成果を発表(説明)しましょう

1チーム 2分程度

Page 39: DDDハンズオン

ハンズオン

• びっくりしたこと、気づいたこと • 学んだこと • 次にやってみること

ふりかえり(1回目)

Page 40: DDDハンズオン

どんなシナリオがある?• 週末料金? • 夜間料金? • 煩雑期と閑散期で値段が変わる? • 店舗利用による無料範囲 • 会員割引 • 誤入場をどうしよう? • 駐車券なくしちゃったら? • とめっぱなしの車はどうしよう?

Page 41: DDDハンズオン

システムの分割

変更があると変わる部分は?

Page 42: DDDハンズオン

システムの分割

変更があると変わる部分は? ↓

関係を分割する

Page 43: DDDハンズオン

変更がありそうなドメイン

• 駐車場の種類 • 駐車場の金額 • 消費税 …など

Page 44: DDDハンズオン

実装で確認する

モデリングを確認する

Page 45: DDDハンズオン

実装で確認する

モデリングを確認する ↓

テーブル設計を実際にしてみる

Page 46: DDDハンズオン

実装で確認する

テーブル設計で不備が出たら?

Page 47: DDDハンズオン

実装で確認する

テーブル設計で不備が出たら? ↓

シナリオとモデルを見直す

Page 48: DDDハンズオン

ハンズオン

さぁはじめましょう!!(二回目)

Page 49: DDDハンズオン

ハンズオン

• びっくりしたこと、気づいたこと • 学んだこと • 次にやってみること

ふりかえり(2回目)

Page 50: DDDハンズオン

ハンズオン

さぁはじめましょう!!(三回目)

Page 51: DDDハンズオン

ハンズオン

成果を発表(説明)しましょう

1チーム 3分程度

Page 52: DDDハンズオン

ハンズオン

全体ふりかえり

Page 53: DDDハンズオン

あじぇんだ

1 自己紹介 2 簡単な解説 3 今日の課題 4 ハンズオン 5 まとめ

Page 54: DDDハンズオン

まとめ

ドメインはシンプルを目指す

Page 55: DDDハンズオン

まとめ

ドメインはシンプルを目指す

捨てる技術

Page 56: DDDハンズオン

まとめ

システム複雑化したときは

ドメインを再検討

するのが一番の近道

Page 57: DDDハンズオン

まとめ

モデルとデータ設計は

必ずも一致しない

Page 58: DDDハンズオン

まとめ

モデル作りに注力しすぎない

Page 59: DDDハンズオン

まとめ

モデル作りに注力しすぎない

手も動かしてみる

Page 60: DDDハンズオン

ご参加ありがとうございました。