Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DDDモデリング勉強会 #7
Search
株式会社Jurabi
October 01, 2024
0
6
DDDモデリング勉強会 #7
DDDモデリング勉強会#7 の発表資料
実際にコンテキストマップを作成してみるハンズオンです。
株式会社Jurabi
October 01, 2024
Tweet
Share
More Decks by 株式会社Jurabi
See All by 株式会社Jurabi
DDDモデリング勉強会 #6
jurabi
0
18
DDDモデリング勉強会 #9
jurabi
0
12
Deep Learning勉強会 逆伝播の仕組み
jurabi
0
12
RDBの世界をぬりかえていくモデルグラフDB〜truncus graphによるモデルファースト開発〜
jurabi
0
250
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How to Ace a Technical Interview
jacobian
276
23k
Navigating Team Friction
lara
183
15k
A Philosophy of Restraint
colly
203
16k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Mobile First: as difficult as doing things right
swwweet
222
9k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Thoughts on Productivity
jonyablonski
68
4.4k
A Tale of Four Properties
chriscoyier
157
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Faster Mobile Websites
deanohume
305
30k
Transcript
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