ドメイン駆動設計入門研修

Domain-Driven Design (DDD) Essentials

ドメイン駆動設計入門研修

Problem

この研修で解決できる3つの問題

Offer

ドメイン駆動設計入門で設計の判断軸と共通言語を身につけ、
ビジネス要件の発展に対応できる設計へ最短距離で近づきます

Before

ソフトウェアの構造が不適切で変更が難しい
ビジネス要件と実装技術が混在しており要件の発展が難しい

ビジネス要件についての共通語彙があり,要件の発展が実装技術に妨げられない。

DDDは、ソフトウェアが解決しようとする問題(ドメイン)に集中することができる設計手法です。
ユーザインターフェースやデータベースアクセスとビジネス要件を実現するコードを明確に分離することにより、ソフトウェアがビジネス要件に合わせて発展することを容易にします。

また、ドメインの専門家や開発者を含む開発者全員がビジネス要件について同じ認識を持ち、その認識が設計やコードに反映されるようにすることを助けます。

Benefit

研修受講による問題解決アプローチの変化

受講前の悩み

変更影響が読めず毎回綱渡りで、負債と手戻りが増える

要件指示の内容に抜け漏れや認識ズレが生じる
  • 仕様変更のたびに影響範囲が読めず、リリース遅延と品質低下が起きる
  • 用語と責務が統一されず、議論が空回りし、設計・保守が属人化する
  • 場当たり的な設計判断で負債が累積し、テストが雪だるま式に増える

境界×共通言語で変更を局所化し、品質と速度を両立

ビジネス要件が複雑で意図や背景まで伝わらない
  • 境界づけと集約で変更点を局所化し、影響予測が可能に(リードタイム短縮)
  • ユビキタス言語で共通理解を形成し、要件解釈のブレと引き継ぎコストを削減
  • モデル主導の設計基準を確立し、変更コストの見積もり精度と品質の安定性が向上

本研修の受講により、良いソフトウェア設計の考え方と、そのためにドメイン駆動設計がどのように役立つかを理解できます。

ドメイン駆動設計の理念やその実現方法、具体的なソフトウェア設計やコーディングをどのように行うかの概要を理解することができます。

Training Detail

研修詳細

研修名

ドメイン駆動設計入門

研修概要

本研修では、良いソフトウェア設計の考え方や、そのための方法論としてドメイン駆動設計の基礎を学習します。良いソフトウェア設計とは何か、どのように実現することができるか、またオブジェクト指向で開発する際に役立つ原則やデザインパターンについてご覧いただきます。ドメイン駆動設計の理念や、その実現のための戦略(ユビキタス言語・ドメインモデルなど)、ソフトウェアの構築に役立つ戦術(レイヤードアーキテクチャ・エンティティ・値オブジェクト・リポジトリなど)もご覧いただきます。参加者内でのディスカッションや、Javaのサンプルをクラウド上の開発環境で動かすことを通し、理解の定着を図ります。

こんな企業に
おすすめ

  • ビジネス要件の変化に強いソフトウェア設計をしたい
  • プロダクト横断で設計基準・用語を統一したい
  • レガシー更改に先立ち、設計の土台を整えたい

対象者

若手〜中堅のアプリ/バックエンドエンジニア、設計リード、テックリード候補、要件定義と設計レビューを担う人

研修のゴール

  • 良いソフトウェア設計のポイントを説明できる
  • オブジェクト指向での良い設計についてポイントを説明できる
  • ドメイン駆動設計の理念を理解し、理念の実現のためにどんな戦略があるか理解している
  • ドメイン駆動設計の理念の実現のために、設計やコーディングで利用する戦術を理解している

研修
カリキュラム

詳しくはこちらをクリック ↓

1日目 午前

  • ソフトウェア設計の重要性(外部品質と内部品質、設計の流れ)
  • オブジェクト指向に沿った設計思想(レイヤードアーキテクチャ、SOLID)〔座学〕

1日目 午後

  • 設計例/GoFパターン/さまざまなアーキテクチャ〔座学+ディスカッション+ハンズオン〕
  • DDDの基礎:ドメイン/ドメインエキスパート、境界づけられたコンテキスト、コンテキストマップ〔座学+ディスカッション〕

2日目 午前

  • ユビキタス言語、ドメインモデル〔座学+ディスカッション〕

2日目 午後

  • ドメインモデル(続き)/エンティティ・集約・リポジトリ(識別子・振る舞い・集約の検討)、値オブジェクト
  • サンプルWebアプリ紹介&実行〔ハンズオン〕

前提知識
スキル

  • オブジェクト指向言語での開発経験(Java推奨)
  • 基本的な設計用語(クラス、インターフェース、依存)の理解

※お客様の知識・スキルに応じて研修レベルの調整が可能です。お気軽にご相談ください。

必要な
受講環境

  • ブラウザアクセス型の開発環境を提供(受講者1名につき1環境、Javaサンプルを確認可能)
  • 安定したインターネット接続(上り/下り10Mbps以上推奨)、HTTPS の通信が可能であること
  • 最新Chrome/Edge、ヘッドセット推奨

日数

2日間

※お客様のご要望に応じてカスタマイズが可能です。お気軽にご相談ください。

関連情報

Contact Form

お問い合わせフォーム

まずは具体的な課題をお聞かせいただけますか?
貴社の課題解決に役立つかご提案させていただきます。