SlideShare a Scribd company logo
1 of 20
DDDモデリング勉強会
第7回
2016/4/27(水)
19:00 – 20:00
DDDモデリング勉強会について
【目的】
• 「エリック・エヴァンスのドメイン駆動設計(DDD本)
」を題材として、DDDの勉強をする
• 興味のあるテーマについて、講義+実践(モデリング)を
通して、DDDの手法を理解する
• DDD本に完全準拠で進めるわけではなく、自分たちの考
えを含める
2
DDDモデリング勉強会について
【過去の開催】
#1 DDDの基礎(講義)
#2 DDDの基礎(モデリング)
#3 DDDの基礎(グループモデリング)
#4 エンティティ、値オブジェクト(グループモデリング)
#5 エンティティ、値オブジェクト(レビュー)
#6 コンテキストマップ(講義)
3
テーマ
• コンテキストマップを作ってみる
4
構成
「コンテキストマップ作成」は2回構成
【本日】
グループ毎に指定された要件からコンテキストマップを
作成
【次回】
作成した各グループのコンテキストマップの発表/総評
5
お題
• プロジェクト管理ツール
– プロジェクトのタスク管理、進捗管理、情報共有を行う。
6
進め方
1. As Isのコンテキストマップを作成
– 要件、概念モデル、ソースコードが存在していて、コンテキストマップは
ない
※このフェーズではコンテキストマップ作成に注力して下さい
【所要時間:15分】
2. 1.で作成したコンテキストマップに追加要件を加えた、To
Beのコンテキストマップ修正案を作成
– コンテキストマップ修正案を作成していく過程で、As Isの概念モデルに不
整合が出る場合は概念モデルの修正もして下さい
【所要時間:30分】
7
【 As Is要件】
• プロジェクト
– プロジェクトの閲覧/作成/更新/削除ができること
– プロジェクトは複数作成できること
8
【 As Is要件】
• チケット
– 1つのチケットは1プロジェクトに属すること
– チケットの閲覧/作成/更新/削除ができること
– 登録済みのチケットに注記を追加できること
– チケットには複数の添付ファイルを設定できること
設定できるタイミングは、チケット作成/更新時、注記追記時とする
– チケットに対して状態を設定できること
– チケット間の関連が設定できること
例:AチケットがBチケットは関連している
– チケットの検索ができること
• 検索条件の項目は作成者、担当者、期間FromToとする
9
【 As Is要件】
• Wiki
– 1つのWikiは1プロジェクトに属すること
– Wikiの閲覧/作成/更新/削除ができること
10
【As Is要件】
• アカウント(ユーザーアカウント)
– アカウントには各種権限が与えられている
– この権限の設定により、ユーザーができる操作が制限される
【権限】
– プロジェクト閲覧/作成/更新/削除
– アカウント閲覧/作成/更新/削除
– チケット閲覧/作成/更新/削除
– Wiki閲覧/作成/更新/削除
– アカウントへの権限設定
11
【asis素材】概念モデル(全体)
12
【asis素材】概念モデル(チケット部詳細)
13
【asis素材】ソースコードパッケージ構成
14
【追加要件】
• 文章検索できる機能
– 指定したキーワードを条件に検索できること
ただし、検索できるのは自分に閲覧権限がある範囲と
する
• 対象とする項目はチケットのメッセージ、添付ファイルのコメント
、添付ファイル内の文字列、Wikiとする
※オフィスファイルやpdfファイル等は対象外とする
15
【追加要件】
• チケット運用にワークフローを適用する
– ワークフロールールの作成/更新/削除ができること
– チケットにワークフローを適用できること
• チケットの状態を遷移させてワークフローを進める
例:開始→着手中→作業完了→レビュー待ち→レビュー済み→終了
16
DDDモデリング勉強会について
【今後の予定】
#8 コンテキストマップ(総評) 6月
#9 ドメインイベント(講義) 8月
#10 ドメインイベント(モデリング) 9月
17
【asis用語】
• アカウント
– アクセスできる利用者(ユーザ)を識別するもの
• プロジェクト
– 業務を管理する単位
• チケット
– 作業の1タスク
18
【非機能要件】
• サーバ数:2台(8CPU/16GB/1TB)
• 想定ユーザ数:1,000人
• 想定プロジェクト数:100件
• 想定チケット数:1,000,000件
• 想定チケット登録数:~1,000件/秒
• 応答時間:10ms
• その他
– サーバ台数を増やす事で、対応可能な件数を増やせる(スケールアウト可能)
– データは必ず2台以上のサーバに保持させる(可用性)
– その他のエンティティの想定数は上記の想定数から一般的に想定される値で良い
19
【追加要件】
• その他
– 追加要件を満たすための想定作業工数は10人月とする
• asisの時点でインフラストラクチャー層のフレームワークは完成して
いる
• asisの単体試験、結合試験は自動化されている
• 工数は結合試験までを積み上げ対象とする(結合試験は含まない)
20

More Related Content

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

コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意Mori Kazue
 
MySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみたMySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみたNorio Nakamura
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Atsushi Kambara
 
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...Akira Tachibana
 
ドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだ増田 亨
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかKoichiro Matsuoka
 
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうイマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうMori Kazue
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンスGuildWorks
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス増田 亨
 
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real WorldKnowledge & Experience
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する増田 亨
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンスkumamidori
 
はじめてのWordPress講座01
はじめてのWordPress講座01はじめてのWordPress講座01
はじめてのWordPress講座01sainoslide
 
WordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えることWordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えることWeb nist
 
菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)
菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)
菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)schoowebcampus
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)Masayuki Kanou
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みhaljik Seiji
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)A AOKI
 

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

コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意
 
MySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみたMySQL Workbench をモデリングツールとして使ってみた
MySQL Workbench をモデリングツールとして使ってみた
 
Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1Implementing Domain-Driven Design: Part 1
Implementing Domain-Driven Design: Part 1
 
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
 
ドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだドメイン駆動設計 思えば遠くにきたもんだ
ドメイン駆動設計 思えば遠くにきたもんだ
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
 
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろうイマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
イマドキの「タグ=HTML」とスタイルシート=CSS」を知ろう
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
概念モデリング ワークショップ 基礎編 - Conceptual Modeling for Real World
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス大阪DDD読書会ワークショップvol.1ガイダンス
大阪DDD読書会ワークショップvol.1ガイダンス
 
はじめてのWordPress講座01
はじめてのWordPress講座01はじめてのWordPress講座01
はじめてのWordPress講座01
 
WordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えることWordPress アジュール部 テーマ制作について考えること
WordPress アジュール部 テーマ制作について考えること
 
菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)
菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)
菊池崇のレスポンシブWEBデザイン道場(1限目:マーケティングから考えるRWD)
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
ドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩みドメイン駆動設計を実践するプログラマーの悩み
ドメイン駆動設計を実践するプログラマーの悩み
 
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
「実践ドメイン駆動設計」 から理解するDDD (2018年11月)
 

DDDモデリング勉強会 #7