Slide 1

Slide 1 text

ソフトウェア設計の ドメイン 『データモデリングでドメインを駆動する』を読んで @hidenorigoto (後藤 秀宣)

Slide 2

Slide 2 text

@hidenorigoto 後藤 秀宣 株式会社KabuK Style COO兼CTO ポッドキャスト『エンジニアリングマネージャーの問題集』 #EM問題集

Slide 3

Slide 3 text

用語 杉本本(すぎもとぼん):杉本さん著『データモデリングでドメインを駆動する』 Evansのドメイン駆動設計:Eric Evans著『ドメイン駆動設計』で語られるパター ン、プラクティス、概念の総体 ※1「Evansの」をつけないドメイン駆動設計の存在を暗に認めているが、その是非 は論じない ※2 ドメインを中心に据えた方法論は他にもある。

Slide 4

Slide 4 text

杉本本には、 様々なことが書かれている 第1部 基幹系システムとデータモデルの現在的意義 第2部 データモデリングの実践 第3部 分散/非同期/疎結合の基幹系システムへ 第4部 モデリングのファウンデーション  14章 『データモデルとドメインモデル ドメイン駆動設計への共感と批判』   ↑ 私はここを取り上げます

Slide 5

Slide 5 text

Eric Evansのドメイン駆動設計 2011 QCon Tokyo時にゲットした Evansサイン入り

Slide 6

Slide 6 text

Evansはこんな事を書いている 日本語版への序文 時間が経つにつれて、私がより一層の価値を置くようになった要素が、実 はもう1つあります。(略)こうした物語は、抽象的な原則を実際の経験 の中につなぎ止める錨となるのであり、不完全な状況の中でその原則を適 用する際の助けになるのです。私が気に入っている例の1つが、第8章「ブ レイクスルー」です。深刻で頑固な問題を解決する優れたドメインモデル を発見することは、常に望ましいわけではありません。そして、その理由 を伝えられるのは、真実の物語だけです。

Slide 7

Slide 7 text

杉本本での「ドメインモデル」の再定義 これが目的

Slide 8

Slide 8 text

SubversionとGitは、ソースコード管理という同じドメインのソフトウェ アである。 しかし、この2つのソフトウェアは、異なるドメインモデルをベースに作ら れている。 ドメインモデル=ユーザーのメンタルモデルであり、この2つのソフトウェ アを使う際にどちらか一方のメンタルモデルのままではうまく使えないと いうこともよく分かる。 杉本本での「ドメインモデル」の再定義

Slide 9

Slide 9 text

管理が目的だから 杉本本での「ドメインモデル」の再定義 基幹システム設計の観点においては、、、

Slide 10

Slide 10 text

「ソフトウェア設計」 ドメインを考えてみる

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

ユビキタス言語 振り返り 「モデルを言語の骨格として使用すること。」 「ユビキタス言語における変更は、モデルに対する変更である と認識すること。」 「ユビキタス言語」というプラクティスは、言語の基盤 となっているモデルの非常に精緻な理解と適用とが必要 となる。

Slide 13

Slide 13 text

「ソフトウェア設計」ドメイン これが目的

Slide 14

Slide 14 text

「ソフトウェア設計」 ドメインで提案したいこと

Slide 15

Slide 15 text

「ソフトウェア設計」ドメイン - 観点の提案

Slide 16

Slide 16 text

「ソフトウェア設計」ドメイン - 観点の提案 問題領域 解決領域

Slide 17

Slide 17 text

「ソフトウェア設計」ドメイン - 観点例 MVC

Slide 18

Slide 18 text

「ソフトウェア設計」ドメイン - 観点例 Eric Evansのドメイン駆動設計

Slide 19

Slide 19 text

「ソフトウェア設計」ドメイン - 観点例 Clean Architecture

Slide 20

Slide 20 text

「ソフトウェア設計」ドメイン - 観点例 Microservices

Slide 21

Slide 21 text

杉本本は、「ソフトウェア設計ドメイン」 についても学べる本 「ソフトウェア設計ドメイン」には、多くのドメインモデルがある 「ソフトウェア設計ドメイン」のドメインモデル=ソフトウェア設計を語りまた規定す る、取捨選択された語彙と意味のセット データモデル ドメインモデル メンタルモデル SOE / SOR と SOA / SOM etc 語彙に対する理解が深まる本!

Slide 22

Slide 22 text

ソフトウェア設計の ドメインモデルを 前に進める =ドメインを駆動する

Slide 23

Slide 23 text

杉本本は、 Evansのドメイン駆動設計で語られる 「ソフトウェア設計のドメインモデル」 を理解するための最良の書 ※これが本の主題ではありませんが

Slide 24

Slide 24 text

杉本本を読もう! ご清聴ありがとうございました。 Xフォローお願いします! @hidenorigoto ポッドキャスト『エンジニアリングマネージャーの問題集』 #EM問題集