Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

増田 亨
October 29, 2021
4.6k

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

モデルベースの要件定義手法のRDRA2.0を、ドメイン駆動設計の文脈でどう利用しているかの紹介です。
RDRA2.0で導入されたビジネスルールの視点を中心に、クラス設計に結ぶつけていくことでドメインモデルを作っていくアプローチです。

増田 亨

October 29, 2021
Tweet

Transcript

  1. 業務フロー システム境界 (インタフェース) ユースケース 画面 外部接続 情報モデル データベースの設計と実装 機能クラス データ操作クラス

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

    状態遷移 データベースの設計と実装 業務機能クラス データ操作クラス 画面制御クラス API制御クラス アプリケーションの設計と実装 要件のモデル(RDRA) 区分 計算式 条件 判定表 分類 RDRA 2.0 のアプローチ ①視点を増やす
  3. 事業活動のモデル(ビジネスコンテキスト) 取引先 顧客 商品 サービス 在庫 部門 部門 業務 業務

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

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

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

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

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

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