Slide 1

Slide 1 text

ドメイン駆動設計に RDRA2.0を活用する 2021年10月29日 有限会社システム設計 増田

Slide 2

Slide 2 text

RDRA 2.0 要点定義を素早く確実に進めるための 柔軟で精度の高いモデルベースの手法

Slide 3

Slide 3 text

業務フロー システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル データベースの設計と実装 機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 状態遷移 ありがちな要件定義とソフトウェア開発 画面・ユースケース・機能クラスの 一覧を作って個別に定義・開発

Slide 4

Slide 4 text

ビジネスユースケース (業務バリエーション) 業務フロー ビジネスルール システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 要件のモデル(RDRA) 区分 計算式 条件 判定表 分類 RDRA 2.0 のアプローチ ①視点を増やす

Slide 5

Slide 5 text

事業活動のモデル(ビジネスコンテキスト) 取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース (業務バリエーション) 業務フロー ビジネスルール システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 要件のモデル(RDRA) 区分 計算式 条件 判定表 分類 RDRA 2.0 のアプローチ ②関係で考える

Slide 6

Slide 6 text

RDRA2.0を ドメイン駆動設計に応用する

Slide 7

Slide 7 text

ドメイン駆動設計 第3章 モデル駆動設計(モデルと実装を一致させる) 第10章 しなやかな設計(変更を楽で安全にする) 第15章 蒸留(コアドメインに集中する)

Slide 8

Slide 8 text

事業活動のモデル(ビジネスコンテキスト) 取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース (業務バリエーション) 業務フロー システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 要件のモデル(RDRA) ソフトウェアの対象領域である 事業活動に焦点を合わせる

Slide 9

Slide 9 text

事業活動のモデル(ビジネスコンテキスト) 取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース (業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 事業活動の仕組み と決め事を言語化

Slide 10

Slide 10 text

取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース (業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)

Slide 11

Slide 11 text

取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース (業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの設計と実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス 収益構造 事業方針 アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)

Slide 12

Slide 12 text

取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務 ビジネスユースケース (業務バリエーション) 業務フロー ビジネスルールの言語化 システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル 状態遷移 ドメインモデルの設計と実装 事実の記録(不変) 状態の表現(可変) データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス 収益構造 事業方針 アプリケーションの設計と実装 要件のモデル(RDRA) 事業活動の 仕組と決め事 クラスで表現 区分 計算式 条件 判定表 分類 提示 予定 実行 申込 手配 約束 金額 数量 区分 範囲 集合 判定表 文脈 方針 日付 一覧 履歴 契約 計画 約束 結果 事業活動のモデル(ビジネスコンテキスト)