Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Kod: DDD-DDD-intro
Kategoria: Domain Driven Design
Forma: 75% wykłady / 25% warsztaty
Czas trwania: 1
Grupa docelowa: testerzy
analitycy
management

Domain Driven Design jest obecnie jedyną metodyką, która w sposób kompleksowy wspiera od strony technicznej zwinne podejście do wytwarzania oprogramowania.

Kompleksowe podejście DDD obejmuje: modelowanie złożonych domen we współpracy z Ekspertem Domenowym, zalecane architektury i projektowanie z wykorzystaniem sprawdzonych Building Blocks aż po techniki tworzenia testowalnego kodu, który z założenia jest otwarty na iteracyjny proces rozbudowy i kruszenia wiedzy (Knowledge Crunching).

Korzyści płynące z wykorzystania DDD

  • Techniki i wzorce strategiczne, których celem jest rozwiązanie typowych problemów organizacyjnych
    • efektywne techniki prowadzenia sesji modelowania z uczestnictwem Ekspertów Domenowych
    • skupienie wysiłku na Core Domain: inwestycja najlepszych ludzi i technik DDD jedynie w krytyczne moduły
    • techniki separacji osobnych domen (Bounded Context) wyznaczanych przez granice wiedzy Ekspertów Domenowych, redukcja ryzyka związanego z tworzeniem monolitów
    • techniki integracji modułów otwartych na zmiany i skalowanie wydajnościowe
    • strategie współpracy zespołów (w tym w modelu outsourcing) pracujących nad osobnymi modułami
  • Techniki i wzorce taktyczne, których celem jest rozwiązanie typowych problemów technicznych i jakościowych
    • język wzorców dla tworzenia modelu - Building Blocks
    • architektury odpowiednie do tworzenia rozszerzalnych systemów
    • podejścia wspierające i ułatwiające testowania utomatyczne
  • Płynna integracja ze Scrum dzięki podejściu Modeling Whirlpool

Projekt referencyjny

Sprawdź naszą implementację przykładowego projektu DDD+CqRS: Sample Leaven.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Dzięki szkoleniu nabierzesz ogólnej intuicji na temat tego czy DDD może mieć zastosowanie w klasach problemów z jakimi styka się Twój zespół
  • Podczas przykładowej sesji modelowania poznasz ogólny zarys procesu modelowania (role i odpowiedzialności)
  • Dowiesz się jakie są warunki konieczne do efektywnego wprowadzenia DDD oraz poznasz ryzyka

Program Szkolenia

Pobierz program w formacie PDF
  1. Wstęp do Domain Driven Design - narzędzie do komunikowania się i gromadzenia wiedzy w organizacji
    1. Stosowalność DDD
      1. Klasa złożoności systemu
      2. Głębokość systemu - co system robi "pod maską"
      3. Systemy sterujące światem vs systemy zbierające dane
      4. Kiedy nie stosować DDD
      5. Podejście DDD Lite - zwiększenie jakości technicznej
    2. Role w procesie - odpowiedzialność i cechy osobowości i umiejętności
      1. Ekspert domenowy - źródło wiedzy, walidator modelu
      2. Modelarz (architekt domeny) - twórca modelu
      3. Facilitator - koordynator procesu we wstępnej fazie
    3. Wprowadzenie Ubiquitous Language
      1. Wspólna płaszczyzna porozumienia pomiędzy Ekspertami Domenowymi i zespołem developerskim
  2. Proces i techniki modelowania
    1. Podejście "od procesu" vs podejście "od domeny"
    2. Zwinny Proces Modelowania "Model Exploration Whirlpool"
      1. Fazy
      2. Artefakty
      3. Walidacja modelu
    3. Techniki lingwistyczne
      1. User Story vs Domain Story
      2. Techniki pełnych zdań zamiast zbierania rzeczowników
      3. Eksploracja domeny przy pomocy zdań podmiot.orzeczenie(dopełnienie, przydawka)
      4. Gibberish Game - usuwanie dwuznaczności i odkrywanie nowych koncepcji domenowych
      5. Słowo-Znaczenie(Kontekst)-Reguły
          Odwrócenie kolejności w celu odkrywania ukrytych koncepcji domenowych
    4. Techniki wizualizacji
      1. Grupowanie operacji wokół niezmienników
      2. Metafory wizualne realnych Agregatów
      3. Poziomy modelu
      4. Separacja modelu pod kątem podatności na zmiany i niestabilności
    5. Przełożenie Use Case/User Story na warstwę aplikacji
    6. Przełożenie modelu biznesowego na building blocks warstwy domenowej
  3. Przegląd Wzorców Taktycznych - Building Blocks
    1. Koncepcja języka Wzorców DDD
    2. Sposoby dokumentowania modelu
      1. Domain Story
      2. Wizualizacje: dobór najbardziej odpowiednich technik
    3. Encje, Agregaty, Value objects, Serwisy Domenowe, Repozytoria, Fabryki, Polityki (strategie), Zdarzenia biznesowe, Specyfikacje
    4. Dodatkowe wzorce: Sagi, Dekoratory Polityk, Agregat jako maszyna stanów,
    5. Praktyczne przykłady modelowania biznesowego z wykorzystaniem Building Blocks
  4. Przykład sesji modelowania
    1. Odpowiedzialność ról
    2. Techniki odkrywania ukrytej złożoności modelu
    3. Techniki dokumentowania
    4. Techniki przełamywania impasu w sesji modelowania

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń