SlideShare a Scribd company logo
1 of 25
DDDモデリング勉強会
第6回
2016/3/18(金)
19:00 – 20:00
DDDモデリング勉強会について
【目的】
• 「エリック・エヴァンスのドメイン駆動設計(DDD本)」を題材と
して、DDDの勉強をする
• 興味のあるテーマについて、講義+実践(モデリング)を通し
て、DDDの手法を理解する
• DDD本に完全準拠で進めるわけではなく、自分たちの考えを
含める
1
DDDモデリング勉強会について
【過去の開催】
#1 DDDの基礎(講義)
#2 DDDの基礎(モデリング)
#3 DDDの基礎(グループモデリング)
#4 エンティティ、値オブジェクト(グループモデリング)
#5 エンティティ、値オブジェクト(レビュー)
2
アジェンダ
• 境界付けられたコンテキスト
• コンテキストマップ
• コンテキストマップを作ってみる
• コンテキストマップを使ってみる
3
アジェンダ
• 境界付けられたコンテキスト
• コンテキストマップ
• コンテキストマップを作ってみる
• コンテキストマップを使ってみる
4
境界付けられたコンテキスト
• ドメインモデルがどこに属するか
• ドメインモデルが通用する範囲
• ユビキタス言語の境界
5
境界づけられたコンテキスト
アカウント
銀行取引コンテキスト
アカウント
ユーザ管理コンテキスト
口座のこと
顧客の財務状況をあらわす
システムへログインするユーザーのこと
6
境界はどうやって決めるのか?
• 初めから完全に線は引けない
• ドメインエキスパートとの会話をしつつ必要に応じて
概念を整理していく
– 会話やモデルの語彙に違和感がある
• 同じ「言葉」別の「意味」
• 違う「言葉」同じ「意味」
• 別のコンテキストにも同じような語彙がある
– モデルの見た目に違和感がある
• 他から参照されないエンティティがある
• 多数のエンティティに保持されているエンティティがあ
る。
7
アジェンダ
• 境界付けられたコンテキスト
• コンテキストマップ
• コンテキストマップを作ってみる
• コンテキストマップを使ってみる
8
コンテキストマップって?
• 境界付けられたコンテキストが全体でどのよ
うな位置づけにいるのかを把握するツール
– 各コンテキスト間の関係
– 各コンテキストに含まれるドメイン
– 各コンテキストに含まれるドメイン間の関係 (関心
対象の部分を切り出す)
– 表現は自由(ホワイトボード等に書いても良い)
9
コンテキストマップを作る目的
現状をコンテキストマップで表現し、戦略的に
改善方向を決定する
現状のコンテキストマップを作る
問題を把握する
問題の改善方法を決める
問題を改善する
繰り
返す
10
Cコンテキスト
コンテキストマップの例
U
D
U
D
U
D
Bコンテキスト
Aコンテキスト
ACL
OHS/PL
U:上流(upstream)
D:下流(downstream)
OHS:公開ホストサービス(open host service)
PL:公表された言語(public language)
ACL:腐敗防止層(anticorruption layer)
A1ドメイン
A2ドメイン
Cドメイン
Bドメイン
11
アジェンダ
• 境界付けられたコンテキスト
• コンテキストマップ
• コンテキストマップを作ってみる
• コンテキストマップを使ってみる
12
コンテキストマップを作ってみる
• 随時作る
• 作ったものは捨てる
• 簡単に書けそうなところから手をつける
• 適当でもいいから書いてみる
理想形ではなく、あくま
で現状を表現する
13
次のシナリオで実際に作ってみよう
• 自社製品と他社製品の販売をしている会社
の既存の業務システムを段階的にリプレイス
する
• 販売管理サブシステムと在庫管理サブシステ
ムをリプレイスする
• 人事管理、製造管理、会計管理サブシステム
は今回のリプレイス対象外
14
コンテキストが分かれそうなのは・・
• サブシステム
• 外部システム
• パッケージ製品
• 業務の組織構造
• ソースのパッケージ
• 開発体制
etc.
通常のプロジェクト
では、コンテキスト
があいまい
15
開発対象外開発対象
最初はサブシステムでわけてみる
在庫管理
コンテキスト
販売管理
コンテキスト
生産・製造管理
コンテキスト
会計管理
コンテキスト
人事管理
コンテキスト
16
コンテキストマップをつくる
販売管理
コンテキスト
会計管理
コンテキスト
人事管理
コンテキスト
生産・製造管理
コンテキスト
在庫管理
コンテキスト
ACL
ACL
ACL
PL
U
U
D
D
パッケージ製品
17
アジェンダ
• 境界付けられたコンテキスト
• コンテキストマップ
• コンテキストマップを作ってみる
• コンテキストマップを使ってみる
18
問題かもしれない箇所を見つける
コンテキスト間に双方向の依存があるが・・
他にも・・
– ログイン管理・ユーザ管理とかどこ?
– 管理会計は?
正しい依存かを検証する
19
販売管理コンテキスト
受注
顧客
発注請求 在庫管理コンテキスト
在庫
コンテキストのドメインを洗い出す
20
販売管理に発注と受注のドメインが含まれてい
るためだった
双方向依存の原因は?
発注業務は、他社からの購買なので自社の製
品を売る販売管理とは違うコンテキストのはず
21
この問題を改善するためには
販売管理コンテキスト
受注
顧客
請求
在庫管理コンテキスト
在庫
購買管理コンテキスト
発注
22
改善した結果・・
販売管理
コンテキスト
会計管理
コンテキスト
人事管理
コンテキスト
生産・製造管理
コンテキスト
在庫管理
コンテキスト
ACL
ACL
ACL
PL
U
D
パッケージ製品
購買管理
コンテキスト
ACL
U
D
D
U
23
DDDモデリング勉強会について
【今後の予定】
#7 コンテキストマップ(モデリング) 5月
(1) お題をもとにコンテキストマップを作ってみる
(2) 作ったコンテキストマップから問題を見つける
#8 ドメインイベント(講義) 7月
#9 ドメインイベント(モデリング) 9月
24

More Related Content

What's hot

3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀増田 亨
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース増田 亨
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]Koichiro Matsuoka
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで増田 亨
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう増田 亨
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring増田 亨
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計増田 亨
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】増田 亨
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善増田 亨
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計増田 亨
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門Takuya Kitamura
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD増田 亨
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる増田 亨
 

What's hot (20)

3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀ドメイン駆動設計という仕事の流儀
ドメイン駆動設計という仕事の流儀
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
ドメイン駆動設計のプラクティスでカバーできること、できないこと[DDD]
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Springドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
ドメインロジックに集中せよ 〜ドメイン駆動設計 powered by Spring
 
3週連続DDDその3 ドメイン駆動設計 戦略的設計
3週連続DDDその3  ドメイン駆動設計 戦略的設計3週連続DDDその3  ドメイン駆動設計 戦略的設計
3週連続DDDその3 ドメイン駆動設計 戦略的設計
 
ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】ドメイン駆動設計とは何か 【入門編】
ドメイン駆動設計とは何か 【入門編】
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
 

Similar to DDDモデリング勉強会 #6

DDDモデリング勉強会 #7
DDDモデリング勉強会 #7DDDモデリング勉強会 #7
DDDモデリング勉強会 #7株式会社Jurabi
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかKoichiro Matsuoka
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Atsushi Kambara
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8Koichiro Matsuoka
 
コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意Mori Kazue
 
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうイマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうMori Kazue
 
ドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだ増田 亨
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
第1回 モデリング勉強会
第1回 モデリング勉強会第1回 モデリング勉強会
第1回 モデリング勉強会hakoika-itwg
 
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...Akira Tachibana
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)Masayuki Kanou
 
Zero shot word sense disambiguation using sense definition embeddings
Zero shot word sense disambiguation using sense definition embeddingsZero shot word sense disambiguation using sense definition embeddings
Zero shot word sense disambiguation using sense definition embeddingsRI
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~貴志 上坂
 
20150531 phpcon kansai
20150531 phpcon kansai20150531 phpcon kansai
20150531 phpcon kansaikumamidori
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】Tomoharu ASAMI
 
社内 DDD 勉強会 #5
社内 DDD 勉強会 #5社内 DDD 勉強会 #5
社内 DDD 勉強会 #5shingo suzuki
 
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real WorldKnowledge & Experience
 
MySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみたMySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみたNorio Nakamura
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回shingo suzuki
 

Similar to DDDモデリング勉強会 #6 (20)

DDDモデリング勉強会 #7
DDDモデリング勉強会 #7DDDモデリング勉強会 #7
DDDモデリング勉強会 #7
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意
 
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうイマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
 
ドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだ
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
第1回 モデリング勉強会
第1回 モデリング勉強会第1回 モデリング勉強会
第1回 モデリング勉強会
 
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
Zero shot word sense disambiguation using sense definition embeddings
Zero shot word sense disambiguation using sense definition embeddingsZero shot word sense disambiguation using sense definition embeddings
Zero shot word sense disambiguation using sense definition embeddings
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
 
20150531 phpcon kansai
20150531 phpcon kansai20150531 phpcon kansai
20150531 phpcon kansai
 
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
設計/ドメイン設計(2) 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第24回】
 
社内 DDD 勉強会 #5
社内 DDD 勉強会 #5社内 DDD 勉強会 #5
社内 DDD 勉強会 #5
 
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
 
MySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみたMySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみた
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
 

DDDモデリング勉強会 #6

Editor's Notes

  1. ドメインモデルのスコープ 境界付けは難しい  適切な境界がどこか、実際にどうすれば境界を決められるかは、難しい問題  システム全体をみての戦略的な決定。  言語的な境界となる  矛盾無く一貫性を保った概念の集合で表されるもの
  2. 同じコンテキスト内で話しをしているのに矛盾する どうも違うコンテキストの言葉が混じっている気がするという違和感
  3. 現状を書く 問題箇所にはマークをつけたりもする あまり細かすぎてもわからなくなる 一部抽出して詳細を書いたりも有り
  4. ドメインモデルを作るにあたって、最初からそのドメインの知識が完璧であり、 モデリングの技術も高く、ばっちりなモデルが作れる・・・なんていうのは、一部の天才か奇跡の産物のようなものである はじめは、ドメインエキスパートとコミュニケーションを繰り返し 知識を集めつつ、モデル作成⇒精査⇒知識追加⇒モデル改善といったように段々とモデルが深くなっていく 改善はインクリメンタルに行う 現状とかけ離れた理想像を提示する事は、通常は不可能なので、現状見えている問題点を改善する方法のみを決め、実施する。
  5. アップストリームコンテキストは、ダウンストリームコンテキストに影響を与える UDがない関係もある  パートナーシップ
  6. 適当は、ちょっと言いすぎだが、今わかっている現状や知識をもとに、 いったん「えいや!」と書いてみるのも大事。 ウォーターフォールのように厳密に分析・計画された最終状態を表しているものではない
  7. これが正解だという話ではないが、サブシステムとして分かれているのだから とっかかりになるだろうということ
  8. 他にも コンテキストの過不足 コンテキスト間の関係の集中や複雑さ 似たようなコンテキスト ・・・ 実際の業務とのマッピング
  9. 着目箇所について、詳細なサブドメインやドメインモデル、マッピングを表現して 問題なのかの検討を行う
  10. 販売管理コンテキスト内にあった発注サブドメインについて、購買管理コンテキストに分離
  11. 販売管理コンテキストと在庫管理コンテキストの相互依存が解消されたコンテキストマップ。 ・コンテキストマップ上だけ書き換えればよいという話ではない。 ・実装コードやテストコードなどなどドメインモデルを改善し、改善が達成したら、コンテキストマップに反映をする。