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

DDDモデリング勉強会 #7