Otwarte zapisy na: Domain Driven Design - modelowanie strategiczne i taktyczne

Formuła on-line z wykorzystaniem komunikatorów video.

Tytuł: Domain Driven Design - modelowanie strategiczne i taktyczne
Kod: ddd-workshop-DDD4
Kategoria: Warsztaty eksperckie DDD
Forma: 60% wykłady / 40% warsztaty
Czas trwania: 2+2 dni
Prowadzący: Sławomir Sobótka
Grupa docelowa: developerzy
architekci
analitycy
Koszt:
3000 PLN + 23% VAT
Lokalizacja: online na platformie zoom, terminy: część I: 18-19.03.2024, część II: 25-26.03.2024 godz 9-17
Data: 18.03.2024 - 26.03.2024
Zapisy do: 08.03.2024

Szkolenie składa się z 2 sesji, rozdzielonych kilkudniową przerwą, która da Ci czas na refleksje i sformułowanie pytań.

W trakcie szkolenia będziemy projektować iteracyjnie system na podstawie wymagań, które delikatnie zmieniają się z czasem.

Sesja I - modelowanie strategiczne (2 dni)
  • Event Storming - Process Level w celu uchwycenia sedna problemu
  • Umiejętności miękkie oparte o gramatykę generatywną Naoma Chomskyego: facylitacja stormingu, techniki zadawania pytań
  • Heurystyki odkrywania pod-domen biznesowych
  • Destylacja kontekstów w celu znalezienia niezależnych modeli odpowiednich do problemów
  • Mapowanie kontekstów - świadome podejmowanie decyzji o zależnościach pomiędzy zespołami
  • Archetypy modeli biznesowych jako sprawdzone rozwiązanie generycznych problemów
  • Architektura komponentowa - autonomiczne moduły oparte o Single Source of Truth
  • Topologie zespołów odpowiednie do dojrzałości domen biznesowych
Sesja II - modelowanie taktyczne (2 dni)
  • Event Storming - Tactical Design w celu uchwycenia reguł spójności
  • Building Blocks - elementy konstrukcyjne dla modeli
  • Style architektoniczne odpowiednia dla klas złożoności problemów
  • Zmiany granic kontekstów
  • Strategia testowania
  • API modułów: proceduralne, restful
  • Problemy implementacyjne: ORM, propagacja zdarzeń

Formuła warsztatu to kolejne omawianie technik i ich demonstracja przez trenera, po czym uczestnicy w podgrupach samodzielnie przechodzą tą samą ścieżkę na innych wymaganiach. W zadaniach są ukryte pułapki odzwierciedlające realne problemy projektowe, które omawiamy wspólnie po każdym etapie.

Wyróżniki warsztatu

  • Posiądziesz podstawowe kompetencje miękkie jakie powinien posiadać Modelarz
  • Dowiesz się jak dzielić system na niezależne moduły dzięki technice destylacji Bounded Contextów
  • Uświadomisz sobie decyzje architektoniczne, jakie musisz podjąć na każdym poziomie z C4 oraz poznasz sposoby zdobywania odpowiedzi na te pytania
  • Poznasz różne podejścia do modelowania: obiektowe, funkcyjne, oparte o archetypy

Program Warsztatu eksperckiego

  1. Zadanie wstępne - praca nad systemem, którego granice modułów są niepoprawne
    1. Próba integracji modułów przy pomocy zdarzeń i komend
    2. Analiza problemów
    3. Analiza genezy
    4. Wstęp do wizualizacji architektury systemów
      1. Podejście C4
      2. Drivery architektoniczne na każdym poziomie
      3. Pytania na jakie musimy sobie odpowiedzieć na każdym poziomie
  2. Modelowanie Strategiczne
    1. Podejście "od procesu" vs podejście "od domeny" w kontekście modelu Cynefin
    2. Event Storming
      1. Fazy: rozbieżna eksploracja, analiza, synteza i krystalizacja modelu
      2. Facylitacja sesji - Tips and Tricks
      3. Big Picture - otoczenie systemu
        1. Notacje wspomagające
      4. Process Level
        1. Heurystyki odkrywania pod-domen biznesowych
    3. Techniki destylacji Bounded Contextów
    4. Mapowanie Bounded Contextów
      1. Published Language
      2. Open Host
      3. Anti-corruption Layer
      4. Shared Kernel
    5. Mapa kontekstów jako artefakt do komunikacji z Product Ownerem
    6. Wstęp do archetypów modeli biznesowych na przykładzie generycznych pod-domen
    7. Modularyzacja na podstawie mapy kontekstów
      1. Single Source of Truth
      2. Single Point of Failure
    8. API komponentów
  3. Modelowanie Taktyczne
    1. Rodzaje logiki
    2. Event Storming Design Level
      1. Techniki zadawania pytań o granice spójności
    3. Koncepcja języka Wzorców DDD
      1. Potrzeba większej ilości building blocks niż serwis i encja (procedura i struktura danych)
    4. Agregaty
      1. Hermetyzacja i otwarcie na rozbudowę
      2. Określanie granic agregatów na podstawie spójności reguł biznesowych
      3. Modelowanie niezmienników
      4. Porównanie kilku modeli - konsekwencje pod względem zmian wymagań
      5. Kiedy nie stosować agregatów
    5. Value objects
      1. Zwiększenie siły wyrazu
      2. Styl funkcyjny
    6. Serwisy Domenowe
      1. Model procedur biznesowych
    7. Repozytoria
      1. Abstrakcja magazynu danych
      2. Orientacja na model domenowy zamiast na model danych
      3. Hermetyzacja reguł spójności danych
    8. Fabryki
      1. Walidacja
      2. Logika biznesowa podczas składania obiektów
      3. Wsparcie dla testability
    9. Polityki (strategie)
      1. Modelowanie w stylu funkcyjnym
      2. Open Close Principle (SOLID) w praktyce
      3. Podejście Supple Design
      4. Dekorowanie
      5. Umiejscowienie w 4 poziomach modelu
    10. Zdarzenia biznesowe
      1. Wewnątrzmodułowe vs zewnętrzne
      2. Antywzorce
        1. State transfer
        2. Opresyjne zdarzenia
    11. Specyfikacje
      1. Modelowanie złożonych warunków biznesowych
    12. Praktyczne przykłady modelowania biznesowego z wykorzystaniem Building Blocks
    13. Cztery poziomy modelu
      1. Decision Support
      2. Policy
      3. Operations
      4. Capability
  4. Architektura aplikacji - uwspólnienie modelu analitycznego i projektowego
    1. Podział logiki na aplikacyjną i domenową
    2. Podejście warstwowe - rozmieszczenie building blocks na warstwach
      1. Warstwa interfejsów (prezentacji)
      2. Warstwy logiki - rozwarstwienie na dwie warstwy logiki
        1. Logika aplikacyjna (API)
          1. Model tego CO system powinien robić (User Case lub User Story)
          2. Zapis Domain Story w formie czytelnej prozy
        2. Logika domenowa (Building Blocks DDD)
          1. Model tego JAK i DLACZEGO system powinien się tak zachowywać
      3. Warstwa infrastruktury
        1. Dostęp do danych
        2. Infrastruktura techniczna
          1. Problemy ORM
            1. n+1 SP
            2. Lazy Loading
            3. Optimistic Locking
          2. Problemy propagacji zdarzeń
            1. Bus vs Broker
            2. Zapewnienie przejścia z modularnego monolitu na system rozproszony
    3. Przełożenie Use Case/User Story na warstwę aplikacji
    4. Przełożenie modelu biznesowego na building blocks warstwy domenowej
  5. Architektura systemu
    1. Dobór strategii integracji na podstawie mapy kontekstów
    2. Zarys architektury integracji modułów
      1. Event Driven Architecture
      2. Microservices


Pobierz program w formacie PDF

Trenerzy

Poznaj eksperta, który będzie poprowadzić Twój Warsztat.

Informacje logistyczne

Szkolenie w formule online. Praca w podgrupach w narzędziach Miro i Zoom.

Zapisz się na warsztat

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ń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.

Regulamin świadczenia usług drogą elektroniczną, który znajduje się TUTAJ.

Materiały związane z warsztatem

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