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

Domain-Driven Design – Unterlagen Pflichtprogramm

Domain-Driven Design – Unterlagen Pflichtprogramm

Avatar for WPS – Workplace Solutions

WPS – Workplace Solutions

January 01, 2020
Tweet

More Decks by WPS – Workplace Solutions

Other Decks in Programming

Transcript

  1. WPS – Workplace Solutions #dddkonkret www.wps.de kandinsky.comp-8.jpg by Nicolas Pioch

    / CC BY-SA-3.0 / cropped from original VORSTELLUNG UND FORMALES Domain-driven Design konkret
  2. WPS – Workplace Solutions GmbH Vereinsziele: Erstellung und Pflege einheitlicher

    Lehr- und Ausbildungspläne für Softwarearchitekten (Certified Professional for Software Architecture) Definition von Zertifizierungsprüfungen auf Basis der CPSA-Lehrpläne Sicherstellung der fachlich- inhaltlichen Qualität von Lehre, Aus- und Weiterbildung für Softwarearchitektur iSAQB? Internation al Software Architectur e Qualificati on Board e.V.
  3. WPS – Workplace Solutions GmbH • In Planung Expert Level

    • Vertiefung des Foundation Levels. • Der Lehrplan besteht aus einzelnen Modulen, die bestimmte Schwerpunkte haben. Advanced Level • Aufgaben, Methoden und Techniken für die Entwicklung von Softwarearchitekturen. • Alle Aspekte, die für Softwarearchitektur wesentlich sind. Technologische, organisatorische und soziale Faktoren. Foundation Level iSAQB-Zertifizierungsstufen
  4. WPS – Workplace Solutions GmbH Methodische Kompetenz: Systematisches Vorgehen bei

    Architekturaufgaben, unabhängig von Technologien. Technische Kompetenz: Kenntnis und Anwendung von Technologien zur Lösung von Entwurfsaufgaben. Kommunikative Kompetenz: Fähigkeiten zur produktiven Zusammenarbeit mit unterschiedlichen Stakeholdern, Kommunikation, Präsentation, Argumentation, Moderation. à Alle drei Kompetenzbereiche müssen abgedeckt sein (mindestens 10 Credit Points pro Kompetenzbereich) à Insgesamt sind 70 Credit Points erforderlich à 10 Credit Points entsprechen in der Regel einem Schulungstag à Eine Schulung zu einem Lehrplanmodul bringt maximal 30 Credit Points, auch wenn sie länger als 3 Tage ist à Es ist möglich sich bestimmte andere Zertifikate anerkennen zu lassen Kompetenzbereiche Advanced Level
  5. WPS – Workplace Solutions GmbH Prüfung und Zertifizierung Wenn Sie

    als CPSA-A geprüft werden möchten, müssen Sie sich bei einer der anerkannten Zertifizierungsstellen anmelden. Die Zertifizierungsstelle schickt Ihnen in Absprache eine Prüfungsaufgabe zu, die Sie in etwa 40 Arbeitsstunden lösen und deren Lösung Sie dokumentieren müssen. Sie schicken die Lösung an die Zertifizierungsstelle ein. Die Zertifizierungsstelle bestellt zwei unabhängige Prüfer und übergibt ihnen Ihre Lösung, so dass sie begutachtet werden kann. Die Prüfer telefonieren anschließend noch mit Ihnen als Teilnehmer. Sie müssen Ihre Lösung in diesem Gespräch erklären und verteidigen. Wenn die Prüfer bestätigen, dass Sie alle Voraussetzungen für den CPSA-A erfüllen, dass Ihre Lösung gut ist und dass Sie die Lösung gut dokumentiert, erklärt und verteidigt haben, stellt Ihnen die Zertifizierungsstelle das CPSA-A Zertifikat aus. Prüfung iSAQB Advanced Level
  6. WPS – Workplace Solutions GmbH MODUL AGILA Methodik 20 |

    Kommunikation 10 Softwaresysteme und -architekturen nach agilen Prinzipien entwerfen und weiterentwickeln Agile Prinzipien und Ideen auf Architekturarbeit übertragen Architekturpraktiken sinnvoll in agiles Vorgehen verankern Arbeiten in selbstorganisierte Teams und gemeinsam wahrgenommene Verantwortung erfordern neue Fähigkeiten, sowohl technischer als auch methodischer und kommunikativer Art. Diese werden theoretisch und praktisch behandelt. à https://www.wps.de/schulungen/isaqb/agila
  7. WPS – Workplace Solutions GmbH MODUL IMPROVE Technik 10 |

    Methodik 20 Softwarearchitekturen anhand ökonomischer und technischer Ziele systematisch verbessern Grundlagen von Evolution und Verbesserung von Softwarearchitekturen Ist-Situation analysieren Probleme und Lösungsansätze schätzen und bewerten Verbesserung langfristig planen Typische Ansätze und Beispiele für Verbesserung à https://www.wps.de/schulungen/isaqb/improve
  8. WPS – Workplace Solutions GmbH MODUL Domain-Driven Design Methodik 20

    | Kommunikation 10 Passgenaue Softwarearchitekturen durch Kommunikation mit den Fachexperten und einheitliche Konstruktionsbausteine entwickeln Eine gemeinsame Sprache erleichtert die Zusammenarbeit Software nach fachlichen Gesichtspunkten strukturieren Kommunikation ist der Schlüssel – miteinander und zwischen Teams Bausteine von DDD geben team-übergreifende Anleitungen für die Konstruktion à https://www.wps.de/schulungen/isaqb/ddd
  9. WPS – Workplace Solutions GmbH MODUL FLEX Technik 20 |

    Methodik 10 Flexible Architekturkonzepte und Methoden, um Software schnell und mit hoher Qualität in die Produktion zu bringen: Microservices entwerfen DevOps und Continuous Delivery umsetzen Containerisierung Resiliente Systeme betreiben à https://www.wps.de/schulungen/isaqb/flex
  10. WPS – Workplace Solutions GmbH MODUL CLOUDINFRA Technik 20 |

    Methodik 10 Architekturkonzepte und Methoden, um Software in der Cloud sicher und flexibel zu betreiben und das Skalierungspotential auszuschöpfen: Microservices verstehen Cloudangebote und deren Anwendung Containerisierung und Container-Manager einsetzen Resiliente Systeme betreiben à https://www.wps.de/schulungen/isaqb/cloudinfra Selbstbedienung nach Bedarf Erreichbar per Internet Ressourcen-Pool für mehrere Kunden Service wird gemessen bzw. überwacht Hohe Elastizität Microservices Containers Platforms Cloud Infrastructure
  11. WPS – Workplace Solutions GmbH Modul ARCEVAL Methodik 20 Softwarearchitekturen

    methodisch fundiert dokumentieren und bewerten Qualitätsanforderungen erfassen und beschreiben Formale und informelle Bewertungsmethoden Architekturentscheidungen treffen und verfolgen Werkzeuge und Metriken zur Qualitätsbewertung à https://www.wps.de/schulungen/isaqb/arceval 1 2 3 4 5 Architektur (implizit/dokumentiert) Codebasis (Sourcen, Configs, …) Prozess (allgemein/domänenspezifisch) Anforderungen (und Rahmenbedingungen) Kosten Q Q Q Q Q Wartbarkeit Performance Einfachheit Flexibilität Time-to-Market Fehlertoleranz Q Q Skalierbarkeit Lösung Q
  12. WPS – Workplace Solutions GmbH Modul WEBSEC Technik 20 |

    Methodik 10 Sicherheit in Analyse– und Entwicklungsprozesse integrieren mit Fokus auf Webapplikationen Basiswissen und Begriffe: Was ist „Security“? Analyse von Schutzbedarf und Angriffsvektoren Kryptografische Grundlagen Übliche Schwachstellen von Webapplikation und Gegenmaßnahmen à https://www.wps.de/schulungen/isaqb/websec
  13. WPS – Workplace Solutions GmbH Weitere Module Technik Methodik Komm.

    ADOC Architektur-Dokumentation 20 BLOCKCHAIN Konsensbildung in wenig vertrauenswürdigen dezentralen Anwendungen 20 10 EAM Enterprise Architecture Management 30 EMBEDDED Embedded Systems 20 10 FUNAR Funktionale Softwarearchitektur 20 10 REQ4ARC Requirements für Softwarearchitekten 20 10 SOA-T Serviceorientierte Architekturen 20 10 SOFT Soft Skills für Softwarearchitekten 30 SWAM Mobile Architekturen 20 10 WEB Web-Architekturen 30 à https://www.isaqb.org/de/zertifizierungen/zertifizierungen-uebersicht/cpsa-advanced-level/
  14. “Football is a simple game; 22 men chase a ball

    for 90 minutes and at the end, the Germans win.” Gary Lineker Gary Lineker in 2011 by Christophe95 CC BY-SA-3.0
  15. “How to draw an owl: Lessons in becoming an expert

    in a couple of easy steps” by Cea / CC BY-2.0
  16. Ubiquitous Language Building Blocks Domain Event Aggregate Entity Value Object

    Bounded Context Strategic Design Context Mapping Collaborative Modeling Domain Expert Event Storming Modeling in Code Domain Storytelling Core Domain Domain Model
  17. Microservices CQRS Hexagonal Architecture Agile Event Sourcing Extreme Programming Scrum

    Cloud Self-Contained Sytems Verticals Clean Architecture DevOps AWS Azure Onion Architecture
  18. WPS – Workplace Solutions #dddkonkret www.wps.de kandinsky.comp-8.jpg by Nicolas Pioch

    / CC BY-SA-3.0 / cropped from original GESCHICHTE, FALLSTUDIE & DDD IM ÜBERBLICK Domain-driven Design konkret
  19. Blue Book 1968 ... Conways Law CQRS Event Sourcing 2015

    ’16 ’17 ’14 ’13 ’12 2010 ’11 ’09 ’08 ’07 ’06 2005 ’04 ’03 ’02 2000 ’01 ’99 ’98 ’19 2020 ’18 ’21 ’22 ’23 ’24 2025 Red Book
  20. > > > Fallstudie < < < Cargo ship, logistics

    industry by rawpixel.com / CC0-1.0
  21. Skyline Pudong am Morgen August 2016 by O.S. / CC

    BY-SA-4.0 Hamburg - Elbphilharmonie - 2016 by Avda / CC BY-SA-3.0
  22. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 E R Z E UG T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN
  23. class LoremIpsum { public void foo(Baz b) //... public void

    bar() //... } Human Head and Brain Diagram by Patrick J. Lynch / CC BY-2.5 Rosie the Riveter / Public Domain
  24. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 E R Z E UG T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN
  25. VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET ROUTE NAUTIKER

    <<Entity>> Silhouette verschiebe() drehe()
  26. abstract-woman-wireframe-geometric by geralt / Pixabay License Amelia Earhart by Viktor

    Keppler / Public Domain Joint Dolls by Alexas_Fotos / Pixabay License Emotions by Prawny / Pixabay License
  27. abstract-woman-wireframe-geometric by geralt / Pixabay License Amelia Earhart by Viktor

    Keppler / Public Domain Joint Dolls by Alexas_Fotos / Pixabay License Emotions by Prawny / Pixabay License
  28. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 E R Z E UG T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN TIEFEN- MESSUNG MANÖVER- PLANUNG MANÖVER- PLANUNG TIEFEN- MESSUNG
  29. 15.04.24 //// Seite 113 WPS – Workplace Solutions GmbH @hofstef

    (VERMEINTLICH) TECHNISCHE PROBLEME § „Wollen (Micro)Services bauen und suchen Hilfe beim Schneiden der Services.“ § „Sind mit technisch geschnittenen Services auf die Nase gefallen“ § „Haben Wartung übernommen, verstehen das System nicht!“ § „Monolith ist zu komplex, wie können wir ihn modularisieren?“ § „Teile der Anwendung skalieren nicht mehr. Wie lösen wir das aus dem Monolithen raus?“
  30. 15.04.24 //// Seite 114 WPS – Workplace Solutions GmbH @hofstef

    ORGANISATORISCHE PROBLEME § „Nach raschem Wachstum der Software und des Teams brauchen wir tragfähige Strukturen“ § „Teams stehen sich gegenseitig auf den Füßen und arbeiten nicht mehr effizient“
  31. 15.04.24 //// Seite 115 WPS – Workplace Solutions GmbH @hofstef

    STRATEGISCHE PROBLEME § „Müssen unsere Online-Kompetenz ausbauen“ § „Schnellere Time-to-Market“ § „Können unser Kerngeschäft nicht länger mit Standardsoftware abbilden“
  32. Prinzipien hinter dem agilen Manifest Wir folgen diesen Prinzipien: Unsere

    höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen. Wir heißen Anforderungsänderungen selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden. Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können. […] https://agilemanifesto.org/principles.html DOMÄNE KENNEN- L ER NEN AUF- TEIL EN SPRACHE MODELL CODE
  33. class Silhouette { public void verschiebeUm(Laenge l) //... public void

    dreheUm(Winkel w) //... } Human Head and Brain Diagram by Patrick J. Lynch / CC BY-2.5 Rosie the Riveter / Public Domain
  34. schnell intensiv ultra leichtgewichtig macht Spaß in die Domäne stürzen

    an die Grenzen gehen den Anwendungsfall erleben EVENT STORMING
  35. Prinzipien hinter dem Agilen Manifest Wir folgen diesen Prinzipien: […]

    Fachexperten und Entwickler müssen während des Projektes täglich zusammenarbeiten. Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen und vertraue darauf, dass sie die Aufgabe erledigen. Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht. […] https://agilemanifesto.org/principles.html „Es gibt nur eine Definition of Done: Den Roundhouse Kick!“ Chuck Norris
  36. SZENARIO: MANÖVERSIMULATION IM HAFEN PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT

    TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT
  37. EVENT Ein FACHLICH RELEVANTES EREIGNIS Hier ist etwas geschehen, das

    uns fachlich EIN STÜCK WEITER gebracht hat. PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT
  38. ORANGER STICKIE In VERGANGENHEITSFORM Tipp: In GROSSBUCHSTABEN EVENT PEIL- POSITION

    ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL »ROT« GEFÄRBT
  39. PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT KONKRET WERDEN! Andere Details

    = andere Geschichte EVENT TIEFENZAHL »ROT« GEFÄRBT
  40. SZENARIO: MANÖVERSIMULATION IM HAFEN PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT

    TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNET ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETTE DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETTE AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETTE 300M VER- SCHOBEN M SIM
  41. SZENARIO: MANÖVERSIMULATION IM HAFEN PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT

    TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNET ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETTE DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETTE AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETTE 300M VER- SCHOBEN M SIM
  42. SZENARIO: MANÖVERSIMULATION IM HAFEN PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT

    TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNET ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETTE DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETTE AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETTE 300M VER- SCHOBEN M SIM STURMFLUT ERWARTET ALLE LIEGE- PLÄTZE BELEGT PEILSCHIFF AUF GRUND GELAUFEN
  43. SZENARIO: MANÖVERSIMULATION IM HAFEN PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT

    TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNET ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETTE DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETTE AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETTE 300M VER- SCHOBEN M SIM BEI WELCHEN TIEFEN? HIER PASSAGE BERÜCK- SICHTI- GEN!
  44. Offene FRAGE oder PROBLEM PINKER STICKIE Kurz in Prosa beschreiben.

    In die Nähe des betroffenen Events hängen! HOTSPOT PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT BEI WELCHEN TIEFEN?
  45. BIG PICTURE EVENT STORMING PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT

    TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNET ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETTE DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETTE AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETTE 300M VER- SCHOBEN M SIM STURMFLUT ERWARTET ALLE LIEGE- PLÄTZE BELEGT PEILSCHIFF AUF GRUND GELAUFEN BEI WELCHEN TIEFEN? HIER PASSAGE BERÜCK- SICHTI- GEN!
  46. $ HOTSPOT EVENT COMMAND READ MODEL POLICY SYSTEM J L

    EVENT STORMING MUSTERSPRACHE AGGREGATE COMMAND ACTOR Tag 3 Taktisches Design Tag 1 Big Picture invoked on translated into generates invoked on generates triggers invokes invokes observed by
  47. 15.04.24 //// Seite 3 WPS – Workplace Solutions ÜBERSICHT §

    Schneiden der Domäne mit Subdomains § Die Welt verstehen § Unterteilungen finden § Core, Supporting, und Generic Subdomains § Modellbildung mit Bounded Contexts § Beziehungen erfassen mit Context Maps à Strategisches Design – Design im Großen
  48. 15.04.24 //// Seite 4 WPS – Workplace Solutions § Unser

    Hirn ist zu klein, um die Welt im Ganzen zu begreifen § Deshalb bauen wir uns Modelle ØWir abstrahieren ØWesentliches behalten ØUnwesentliches weglassen WIE KÖNNEN WIR DIE WELT VERSTEHEN? ? Foto: Maiconfz/pixabay/ CC0 Foto: Wikipedia/CC-PD
  49. 15.04.24 //// Seite 5 WPS – Workplace Solutions MEHRERE MODELLE

    / KLEINE MODELLE Foto: Maiconfz/pixabay/CCO Foto: Globus from book shelf/wikipedia/ CC-BY-3.0 Foto:Clker-Free-Vector-Images/pixabay/ CCO Foto: Wasserseemüller-Globus/Wikipedia/CC-PD-Mark
  50. 15.04.24 //// Seite 6 WPS – Workplace Solutions “Newton was

    a genius, but not because of the superior computational power of his brain. Newton's genius was, on the contrary, his ability to simplify, idealize, and streamline the world so that it became, in some measure, tractable to the brains of perfectly ordinary men.” – Jerry Weinberg ISAAC NEWTON AND MODELS
  51. 15.04.24 //// Seite 7 WPS – Workplace Solutions WIE KÖNNEN

    WIR DIE DOMÄNE VERSTEHEN / IN SOFTWARE GIEßEN? ? § Klassischer Ansatz: § Ein Stück Software, das die Domäne im Ganzen modelliert und möglichst detailgenau abbildet § Hoffnung: § Probleme werden einmal und für alle Zeiten gelöst § Keine Duplikation
  52. 15.04.24 //// Seite 9 WPS – Workplace Solutions § Mehrere

    vermischte mentale Modelle § Unbeherrschbare Komplexität § Whack-a-Mole issues § Abhängigkeiten unter den Teams KLASSISCHES DOMÄNENMODELL – REALITÄT Foto: CMS Higgs-even/Wikipedia/CC-BY-SA-3.0
  53. 15.04.24 //// Seite 10 WPS – Workplace Solutions § Die

    Domäne kann in Subdomänen aufgeteilt werden èKeine Vermischung! èKein big ball of mud § Arten von Subdomänen § Kern (Core Subdomain) § Unterstützende (Supporting Subdomain) § Allgemeine (Generic Subdomain) STRATEGISCHES DESIGN
  54. 15.04.24 //// Seite 11 WPS – Workplace Solutions § Die

    Domäne ist zu komplex für Verständnis im Ganzen § Mehrere kleinere Modelle entwickeln § Mehrere Stücke Software bauen – eines pro Modell WIE KÖNNEN WIR DIE DOMÄNE VERSTEHEN / IN SOFTWARE GIEßEN? ?
  55. 15.04.24 //// Seite 12 WPS – Workplace Solutions Indikatoren: §

    Grenzen im Prozess § Statusänderungen, die das »Wesen« eines Arbeitsgegenstandes verändern (z.B.: § »Vertrag rechtskräftig«, § »Warenkorb bestellt«) § Abteilungen in der Organisation § Kontextuelle Sprache § Unterschiedlicher Umgang mit den Arbeitsgegenständen § Unterschiedliche zeitliche Trigger § NICHT: Nach Arbeitsgegenständen selbst! WIE SCHNEIDE ICH MEINE DOMÄNE?
  56. 15.04.24 //// Seite 14 WPS – Workplace Solutions POINTS OF

    NO RETURN Welche Ereignisse schließen Teilprozesse dauerhaft ab?
  57. 15.04.24 //// Seite 15 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN M SIM
  58. 15.04.24 //// Seite 16 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN M SIM
  59. 15.04.24 //// Seite 17 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN M SIM
  60. 15.04.24 //// Seite 18 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! PEIL- POSITION ERREICHT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN M SIM
  61. 15.04.24 //// Seite 19 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ON HT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S
  62. 15.04.24 //// Seite 20 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ON HT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S
  63. 15.04.24 //// Seite 21 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ON HT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S BOUNDARY
  64. 15.04.24 //// Seite 22 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ON HT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S BOUNDARY EVENT
  65. 15.04.24 //// Seite 24 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ON HT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S VORBEREITUNG MANÖVER- PLANUNG
  66. 15.04.24 //// Seite 26 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ON HT TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S VORBEREITUNG MANÖVER- PLANUNG
  67. 15.04.24 //// Seite 27 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S VORBEREITUNG MANÖVER- PLANUNG
  68. 15.04.24 //// Seite 28 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG
  69. 15.04.24 //// Seite 29 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- MESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  70. 15.04.24 //// Seite 30 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- MESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE Ist die berechnete Zoomstufe für die Tidevorhersage relevant?
  71. 15.04.24 //// Seite 31 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- MESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE Die Manöverplanung benötigt die berechnete Zoomstufe!
  72. 15.04.24 //// Seite 32 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET EFE AN DIENST MELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG N- NG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  73. 15.04.24 //// Seite 33 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET EFE AN DIENST MELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG N- NG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE Die Tidevorhersage beginnt »spontan«, ohne auslösendes Event von außen!
  74. 15.04.24 //// Seite 34 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET EFE AN DIENST MELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG N- NG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  75. 15.04.24 //// Seite 35 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET EFE AN DIENST MELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG N- NG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  76. 15.04.24 //// Seite 36 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- ESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  77. 15.04.24 //// Seite 37 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- ESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  78. 15.04.24 //// Seite 38 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN TIEFE »10M« GEPEILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFEN BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- ESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  79. 15.04.24 //// Seite 39 WPS – Workplace Solutions BENENNUNG VON

    SUBDOMAINS § Ausdrücken, was geschieht: Was ist die Mission der Subdomäne? § Substantivierte Verben § Häufig: -ung-Formen PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- MESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE PEILPLAN ERSTELLT Pro-Tipp: Schaue auf das ERGEBNIS des Teilprozesses!
  80. 15.04.24 //// Seite 40 WPS – Workplace Solutions SUBDOMAINS IM

    HAFEN TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG
  81. 15.04.24 //// Seite 41 WPS – Workplace Solutions ÜBUNG: Findet

    Points-of-no-Return und identifiziert die Subdomänen des Kinos.
  82. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 E R Z E UG T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN
  83. 15.04.24 //// Seite 44 WPS – Workplace Solutions SUBDOMÄNEN IN

    DOMAIN STORIES FINDEN § Bleibe in grobgranularen Stories § Gruppiere die Schritte § Zeichne Grenzen um Aktivitäten und Arbeitsgegenstände § Lasse Akteure außerhalb dieser Grenzen § Passe ggf. das Layout der Stories an die neuen Grenzen an § Beachte Indikatoren (Prozessgrenzen, Statusänderungen, Sprache, usw.) § Nutze »pure« Domain Stories § Fokussiere auf den Papierprozess (rein fachliches Vorgehen, nicht digitalisiert) § Füge virtuelle Akteure hinzu
  84. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 E R Z E UG T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN TIEFEN- MESSUNG Gruppiere die Schritte • Grenze um Aktivitäten und Arbeitsgegenstände • Akteure bleiben außerhalb Benenne die Gruppen
  85. 15.04.24 //// Seite 46 WPS – Workplace Solutions ÜBUNG: Zieht

    Grenzen in Domain Stories der Fallstudie
  86. 15.04.24 //// Seite 49 WPS – Workplace Solutions PARETO-PRINZIP (80-20-REGEL)

    Vilfredo Pareto 20 % 80 % Die letzten 20 % Die teuren 80 % Umfang Aufwand/ Zeit Basis Perfektion
  87. 15.04.24 //// Seite 50 WPS – Workplace Solutions CORE DOMAIN

    § Teil der Geschäftsdomäne § Von entscheidender Wichtigkeit für den Unternehmenserfolg èHier muss die Firma sich hervorheben èDieses Projekt sollte die höchste Priorität bekommen èDas Softwaresystem, das die Kerndomäne repräsentiert, ist ein Wettbewerbsvorteil, kein notwendiges Übel. èUSP (Unique Selling Point) Grafik: Core by Virginie Angéloz from the Noun Project
  88. 15.04.24 //// Seite 51 WPS – Workplace Solutions § Supporting

    Subdomain § Modelliert einen Aspekt, der entscheidend ist, aber nicht Teil des Kerns § Teilweise spezialisiert für das Geschäft § Generic Subdomain § Nicht spezialisiert § Notwendig für die Gesamtlösung èNicht unwichtig! èKein Bedarf hier exzellent zu sein SUPPORTING UND GENERIC SUBDOMAIN Foto:Customer support/Sharique.m3em/Wikipedia/CC-BY-SA-4.0
  89. 15.04.24 //// Seite 52 WPS – Workplace Solutions KANO-MODELL Kundenzufriedenheit

    Grad der Umsetzung Basis-Features Leistungs-Features Begeisterungs-Features In Core oder Supporting/Generic Domains? Noriaki Kano
  90. 15.04.24 //// Seite 53 WPS – Workplace Solutions SUBDOMAINS IM

    HAFEN TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG
  91. 15.04.24 //// Seite 54 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Das allumfassende Modell kann oft nicht gebaut werden § Komplexität § Kosten § Die Domäne zerfällt in Subdomains § Subdomains sind unterschiedlich wichtig § Die Core Domain ist am wichtigsten § Supporting und Generic Subdomains unterstützen
  92. 15.04.24 //// Seite 55 WPS – Workplace Solutions ÜBUNG: Was

    ist Core-Domain? Was Supporting/Generic? (Miro: per Tag annotieren)
  93. 15.04.24 //// Seite 3 WPS – Workplace Solutions ÜBERSICHT §

    Schneiden der Domäne mit Subdomains § Modellbildung mit Bounded Contexts § Problem- versus Lösungsraum § Horizontale vs. vertikale Schichtung § Brownfield Strategic Design § Beziehungen erfassen mit Context Maps à Strategisches Design – Design im Großen
  94. 15.04.24 //// Seite 4 WPS – Workplace Solutions PROBLEMRAUM VERSUS

    LÖSUNGSRAUM (PROBLEM SPACE vs SOLUTIONS SPACE) § Problemraum: § Ermöglicht uns, über die geschäftlichen Herausforderungen nachzudenken § Hier befinden wir uns nur in der Fachlichkeit § Besteht aus 1 – n Subdomänen § Lösungsraum: § Konzentriert darauf, wofür und wie wir Software implementieren, die das Problem löst § Hier gibt es auch Technik § Besteht aus 1 – n Bounded Contexts § Je ein subdomänenspezifisches Softwaremodelle Foto: gerat/pixabay/CC0
  95. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 E R Z E UG T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN TIEFEN- MESSUNG MANÖVER- PLANUNG MANÖVER- PLANUNG PEILPLAN- ERSTELLUNG TIEFENMESSUNG
  96. 15.04.24 //// Seite 10 WPS – Workplace Solutions MODELLE IM

    HAFEN TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG
  97. 15.04.24 //// Seite 11 WPS – Workplace Solutions BOUNDED CONTEXTS

    § Jedes Modell hat einen Kontext § Kontext = Grundsätzliche Voraussetzungen, damit Begriffe eine bestimmte Bedeutung erhalten § Wird ein Modell aufgespalten, so ist für jedes Teilmodell eine Kontextdefinition erforderlich § Setze explizite Grenzen in § Teamorganisation § Code/Modulen § Datenbank-Schemata § (Quellcodeverwaltung) § (Deployment-Einheiten)
  98. 15.04.24 //// Seite 12 WPS – Workplace Solutions Übung: Subdomänen

    aus Event Storming und Domain Storytelling zusammenführen: Welche Namen sind die richtigen?
  99. 15.04.24 //// Seite 20 WPS – Workplace Solutions KUNDE W

    ÜNSCHT SICH 1 VERKÄUFER UNTERSCHREIBT VON HÄNDIG T AUS FÜR VERTRAG 3 RISIKOMANAG ER VERTRAG GIBT WEITER AN 4 VERTRAG V O T IER T PRÜFT B ER EC HN ET 5 6 7 KALKU- LIERT A N 8 2 AUTO BONITÄT LEASING- RATE AUTO WIEDERVER- KAUFSWERT VERTRAG
  100. 15.04.24 //// Seite 21 WPS – Workplace Solutions KUNDE UNTERSCHREIBT

    VERTRAG 3 RISIKOMANAG ER VERTRAG VOTIERT 7 «Entity» Vertrag unterschreibe() votiere()
  101. 15.04.24 //// Seite 23 WPS – Workplace Solutions «Entity» Vertrag

    unterschreibe() votiere() verlaengere() beende() verkaufe_an_refinanzierer() …
  102. 15.04.24 //// Seite 25 WPS – Workplace Solutions KUNDE W

    ÜNSCHT SICH 1 VERKÄUFER UNTERSCHREIBT VON HÄNDIG T AUS FÜR VERTRAG 3 RISIKOMANAG ER VERTRAG GIBT WEITER AN 4 VERTRAG V O T IER T PRÜFT B ER EC HN ET 5 6 7 KALKU- LIERT A N 8 2 AUTO BONITÄT LEASING- RATE AUTO WIEDERVER- KAUFSWERT VERTRAG VERTRIEB RISIKOBEWERTU NG VERTRIEB RISIKOBEWERTU NG
  103. 15.04.24 //// Seite 27 WPS – Workplace Solutions <<Entity>> Vertrag

    unterschreibe() <<Entity>> Vertrag votiere() VERTRIEB RISIKO- BEWERTUNG
  104. 15.04.24 //// Seite 28 WPS – Workplace Solutions Indikatoren: §

    Grenzen im Prozess § Statusänderungen, die das »Wesen« eines Arbeitsgegenstandes verändern (z.B.: § »Vertrag rechtskräftig«, § »Warenkorb bestellt«) § Abteilungen in der Organisation § Kontextuelle Sprache § Unterschiedlicher Umgang mit den Arbeitsgegenständen § Unterschiedliche zeitliche Trigger § NICHT: Nach Arbeitsgegenständen selbst! WIE SCHNEIDE ICH MEINE DOMÄNE? – REVISITED
  105. 15.04.24 //// Seite 29 WPS – Workplace Solutions Subdomains: §

    Teil der Domäne § Fachliche Einteilung § Schon da § Problemraum Bounded Contexts: § Teil des Designs / der Modellbildung § Technische Einteilung § Wird gebaut § Lösungsraum SUBDOMAINS VS BOUNDED CONTEXTS
  106. 15.04.24 //// Seite 30 WPS – Workplace Solutions VERHÄLTNIS BOUNDED

    CONTEXT / SUBDOMAIN § In einem Projekt, das auf der grünen Wiese nach DDD gebaut wurde (Greenfield) haben wir eine 1:1-Abbildung von BC und Subdomain § In der Startphase eines Projektes wird ein BC eine Subdomäne nur zum Teil abdecken § In späteren Phasen ist oft ein Mismatch vorhanden (Brownfield), z.B.: § 1 System für n Probleme § n Systeme für 1 Problem § überlappende / doppelte / fehlende Verantwortlichkeiten § Legacy-Systeme sind oft »Unbounded Contexts« Zwei Seiten einer Medaille Foto: Dreibund Medaille/Wikipedia/CC BY-SA 3.0
  107. 15.04.24 //// Seite 31 WPS – Workplace Solutions Zoomstufen- berechnung

    Peilplan- erstellung Tide- vorher- sage Tiefen- messung Manöver- planung IM HAFEN: SUBDOMAINS = BOUNDED CONTEXTS Tide- vorher- sage Manöver- planung Tiefen- messung Subdomain Bounded Context Peilplan- erstellung Zoomstufen- berechnung
  108. 15.04.24 //// Seite 32 WPS – Workplace Solutions Hauptbuch- führung

    SUBDOMAINS / ABTEILUNGEN VS. BOUNDED CONTEXTS Lohnbuch- haltung Personal- wesen proALPHA ERP Banksystem § Ziel: Eins-zu-eins-Abbildung § In brownfield-Situation oft nicht möglich. § Manchmal auch im Greenfield nicht möglich, z.B. weil: § Standardsoftware eingesetzt wird § Technische Gründe Subdomain Context / (Dritt-)System Vertrieb Vertrieb
  109. 15.04.24 //// Seite 33 WPS – Workplace Solutions KONTEXTE –

    fachlich, organisatorisch, technisch technisch (SYSTEME/SYSTEMMODULE) fachlich (SUBDOMÄNEN) organisatorisch (TEAMS)
  110. 15.04.24 //// Seite 34 WPS – Workplace Solutions KONTEXTE –

    BEISPIEL: technisch CORE MASTER BI (Das Beispiel entspricht grob der tatsächlichen Situation bei einem Kunden)
  111. 15.04.24 //// Seite 35 WPS – Workplace Solutions KONTEXTE –

    NEGATIV-BEISPIEL: fachlich vs. technisch CORE MASTER BI V ERKAU F FA KTU RA VERSAND ARTIKEL- AUSWAHL
  112. 15.04.24 //// Seite 36 WPS – Workplace Solutions KONTEXTE –

    NEGATIV-BEISPIEL: fachlich vs. technisch vs. organisatorisch CORE MASTER BI VERKAU F FAKTU RA VERSAND ARTIKEL- AUSWAHL TEAM BESTAND TEAM BI TEAM SALE TEA M LO G ISTIK
  113. 15.04.24 //// Seite 37 WPS – Workplace Solutions KONTEXTE –

    NEGATIV-BEISPIEL: fachlich vs. technisch vs. organisatorisch CORE MASTER BI VERKAU F FAKTU RA VERSAND ARTIKEL- AUSWAHL TEAM BESTAND TEAM BI TEAM SALE TEA M LO G ISTIK An den Brüchen entstehen »Schmerzen«! • fachlich • technisch • organisatorisch Und kompliziert ist es auch noch! BIG BALL OF PAIN
  114. 15.04.24 //// Seite 38 WPS – Workplace Solutions KONTEXTE –

    POSITIV-BEISPIEL: fachlich V ERKAU F FA KTU RA ARTIKEL- AUSWAHL VERSAND
  115. 15.04.24 //// Seite 39 WPS – Workplace Solutions KONTEXTE –

    POSITIV-BEISPIEL: fachlich vs. technisch V ERKAU F FA KTU RA VERSAND ARTIKEL- AUSWAHL
  116. 15.04.24 //// Seite 40 WPS – Workplace Solutions KONTEXTE –

    POSITIV-BEISPIEL: fachlich vs. technisch vs. organisatorisch TEA M V ERKAU F TEA M FA KTU RA TEAM VERSAND TEAM ARTIKEL- AUSWAHL Es bleibt zusammen, was zusammen gehört! • fachlich • technisch • organisatorisch Und es ist so einfach! Beinahe trivial.
  117. 15.04.24 //// Seite 41 WPS – Workplace Solutions KONTEXTE –

    NEGATIV-BEISPIEL: fachlich vs. technisch vs. organisatorisch CORE MASTER BI VERKAU F FAKTU RA VERSAND ARTIKEL- AUSWAHL TEAM BESTAND TEAM BI TEAM SALE TEA M LO G ISTIK TEA M V ERKAU F TEA M FA KTU RA TEAM VERSAND TEAM ARTIKEL- AUSWAHL
  118. 15.04.24 //// Seite 42 WPS – Workplace Solutions ALIGNMENT /

    DIMENSIONEN ANEINANDER AUSRICHTEN technisch (SYSTEME / SYSTEM-MODULE) fachlich (SUBDOMÄNEN) organisatorisch (TEAMS) technisch (SYSTEME / SYSTEM-MODULE) fachlich (SUBDOMÄNEN) organisatorisch (TEAMS)
  119. 15.04.24 //// Seite 43 WPS – Workplace Solutions JEDER BOUNDED

    CONTEXT KANN EIN EIGENES TEAM HABEN § Teams entwickeln unabhängig voneinander § Jedes Team hat eine Zuständigkeit / ist Besitzer eines Modells § Jedes Team vereint fachliches und technisches Wissen (cross-functional)
  120. 15.04.24 //// Seite 44 WPS – Workplace Solutions HORIZONTALE vs.

    VERTIKALE SCHICHTUNG VERTIKAL: fachlich HORIZONTAL: technisch ARTIKEL- AUSWAHL VERKAUF FAKTURA VERSAND UI APPLICATION DOMAIN DATABASE
  121. 15.04.24 //// Seite 45 WPS – Workplace Solutions TEAM-ZUORDNUNG –

    BEISPIEL 1 VERTIKAL: fachlich HORIZONTAL: technisch ARTIKEL- AUSWAHL VERKAUF FAKTURA VERSAND UI APPLICATION DOMAIN DATABASE TEAM ARTIKEL- AUSWAHL TEAM VERKAUF TEAM VERSAND TEAM FAKTURA
  122. 15.04.24 //// Seite 46 WPS – Workplace Solutions TEAM-ZUORDNUNG –

    BEISPIEL 1 VERTIKAL: fachlich HORIZONTAL: technisch ARTIKEL- AUSWAHL VERKAUF FAKTURA VERSAND UI APPLICATION DOMAIN DATABASE TEAM ARTIKEL- AUSWAHL TEAM VERKAUF TEAM VERSAND TEAM FAKTURA
  123. 15.04.24 //// Seite 47 WPS – Workplace Solutions TEAM ARTIKEL-

    AUSWAHL TEAM-ZUORDNUNG – BEISPIEL 2 – UI als BOUNDED CONTEXT? VERTIKAL: fachlich HORIZONTAL: technisch ARTIKEL- AUSWAHL VERKAUF FAKTURA VERSAND UI APPLICATION DOMAIN DATABASE TEAM VERKAUF TEAM VERSAND TEAM FAKTURA TEAM WEBSHOP
  124. 15.04.24 //// Seite 48 WPS – Workplace Solutions SOFTWARE ALS

    SOZIO-TECHNISCHES SYSTEM “Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.” — Melvin E. Conway, How Do Committees Invent? Melvin Conway
  125. 15.04.24 //// Seite 49 WPS – Workplace Solutions SOFTWARE AS

    SOCIO-TECHNICAL SYSTEM II “The organization of the software and the organization of the software team will be congruent.” Eric S. Raymond “If you have four groups working on a compiler, you'll get a 4-pass compiler.”
  126. 15.04.24 //// Seite 51 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Die Domäne hat einen Lösungs- und einen Problemraum § Große Projekte werden auf mehrere Teams aufgeteilt § Ein Domänenmodell muss konsistent sein § Definiere einen Bounded Context für jedes Modell § Klare Grenzen § Bounded Contexts kommunizieren oft über Domain Events § Auch im Brownfield ist strategisches Design möglich
  127. 15.04.24 //// Seite 52 WPS – Workplace Solutions ÜBUNG: Subdomains

    zusammenführen: welche Subdomains werden Bounded Contexts?
  128. 15.04.24 //// Seite 6 WPS – Workplace Solutions DEN MONOLITHEN

    ZERLEGEN – STRATEGISCHE TRANSFORMATION Vier Schritte: 1. Wiederentdecken der Fachdomäne § Collaborative Modeling 2. Modellieren der fachlichen Soll-Architektur § Soll-Context Map 3. Abgleich Ist- mit Soll-Architektur § Architectur Analyse (à WPS ArcEval Schulung / Beratung) § Ist-Context Map 4. Priorisieren und Durchführen der Umbaumaßnahmen § Zum Lernen zuerst eine Supporting Domain herauslösen § Dann die Core-Domain(s)
  129. 15.04.24 //// Seite 7 WPS – Workplace Solutions alt alt

    alt alt neu neu new new “einfach den Schalter umlegen” 1 2 3 4 5 a.k.a. big bang replacement
  130. 15.04.24 //// Seite 11 WPS – Workplace Solutions Fazit: ist

    besser als Strangler Fig Application Big Bang Replacement
  131. 15.04.24 //// Seite 13 WPS – Workplace Solutions Michelangelo: »Einfach

    alles wegschlagen, was nicht nach Löwe aussieht.«
  132. 15.04.24 //// Seite 14 WPS – Workplace Solutions BOUNDED CONTEXT

    UND DEPLOYMENT Distributed Big Ball Of Mud Modular Monolith a.k.a. »Modulith« Microservices Monolithic Big Ball Of Mud Simon Brown
  133. 15.04.24 //// Seite 15 WPS – Workplace Solutions Literatur: https://hschwentner.io/domain-driven-refactorings

    Mehr am: Transformation Day (optionaler 4. DDD Schulungstag / bzw. auf Anfrage)
  134. 15.04.24 //// Seite 16 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Brownfield Software / Monolithen mit Subdomains schneiden § Core Subdomain extrahieren § Strangler Fig Application Pattern
  135. 15.04.24 //// Seite 3 WPS – Workplace Solutions ÜBERSICHT §

    Schneiden der Domäne mit Subdomains § Modellbildung mit Bounded Contexts § Beziehungen erfassen mit Context Maps § Beziehungen zwischen Bounded Contexts § Beziehungen zwischen Teams § Integration von Bounded Contexts zu Gesamtsystem à Strategisches Design – Design im Großen Lewin Fidel David Amon
  136. 15.04.24 //// Seite 4 WPS – Workplace Solutions CONTEXT MAPPING

    § Wir haben die Domäne mit Bounded Contexts zerteilt, aber die Teile sind nicht völlig unabhängig voneinander! § Welche Beziehungen gibt es zwischen den Teams / Contexten? § Mit welchen Integrationsmustern werden sie implementiert? § Eine Context Map zeigt in einem Diagramm: § Alle Bounded Contexts § Und ihre gegenseitigen Abhängigkeiten
  137. 15.04.24 //// Seite 5 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG
  138. 15.04.24 //// Seite 6 WPS – Workplace Solutions CONTEXT MAPPING

    PATTERNS § Zusammenarbeit zwischen Teams: § Separate Ways § Partnership § Upstream-Downstream: § Customer-Supplier § Conformist § Technische Umsetzung der Schnittstelle: § Anti-Corruption Layer § Open-Host-Service § Published Language § Shared Kernel § Anti-Pattern: Big Ball of Mud
  139. 15.04.24 //// Seite 7 WPS – Workplace Solutions SEPARATE WAYS

    § Wenn es keinen fachlichen Grund gibt, zwei Bounded Contexts zu integrieren, d.h. sie sind wirklich unabhängig voreinander § Oder wenn es zwar einen Grund gibt, aber die Integration zweier Bounded Contexts nicht genug Nutzen verspricht à jedes Team geht seinen eigenen Weg. Evtl. ab und zu manuelle Übertragung einiger Daten durch Nutzer. § Oder, wenn es explizit verboten ist, dass zwei Contexte direkt interagieren Foto: GiselaFotografie, Pixabay License A B C X
  140. 15.04.24 //// Seite 8 WPS – Workplace Solutions PARTNERSHIP §

    Die Teams einigen sich gemeinsam auf Schnittstelle / Modell § Gemeinsames Ziel / voneinander abhängige Ziele § Teams können nur gemeinsam Erfolg haben à wenig Autonomie § Hoher Abstimmungsaufwand § Viele Meetings § Gemeinsames Deployment § Unterstützung bei Features, Integration, Test § Gemeinsames (Teil-)Modell § Private Schnittstelle à Auf Dauer ist dies eher ein Anti-Pattern à Wir streben unabhängigere Teams an Foto: Wikipedia/flickr/CC-BY Ryan C
  141. 15.04.24 //// Seite 9 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG PARTNERSHIP
  142. 15.04.24 //// Seite 10 WPS – Workplace Solutions EINSCHUB: GERICHTETE

    BEZIEHUNGEN ZWISCHEN TEAMS Einige Mapping-Typen unterscheiden zwischen Upstream und Downstream: § Ein Team liefert für ein anderes § Upstream-Team: Setzt eine Fachlichkeit um § Downstream-Team: Setzt darauf auf § Datenfluss vs. Modelhoheit àDatenfluss ist üblicherweise trivial àInteressanter ist: Welches Teams spezifiziert das gemeinsame Modell, das für die inter-context Kommunikation zuständig ist? Foto: benralexander/pixabay/CC0
  143. 15.04.24 //// Seite 11 WPS – Workplace Solutions CUSTOMER-SUPPLIER DEVELOPMENT

    § Supplier-Team (upstream) § Customer-Team (downstream) § Supplier stellt Dienstleistung / Modell bereit § Customer nutzt diese Dienstleistung / das Modell § Customer kann Einfluss auf Supplier nehmen via: § Anforderungen § Akzeptanztests § Supportanfragen / Unterstützung bei Integration Foto: Clker-Free-Vector-Images/pixabay/CC0
  144. 15.04.24 //// Seite 12 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG CUST SUPP
  145. 15.04.24 //// Seite 13 WPS – Workplace Solutions CONFORMIST §

    Das Upstream-Team stellt einen Dienst / ein Modell bereit § Downstream-Team übernimmt dieses unverändert (1:1) § D. h. übernimmt auch Teil der Ubiquitous Language von Upstream § Downstream-Team hat keinen Einfluss auf Upstream-Team Foto: Staff Sgt. D. Myles Cullen/Wikipedia/PD US Air Force
  146. 15.04.24 //// Seite 14 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG CON FORM IST
  147. 15.04.24 //// Seite 16 WPS – Workplace Solutions ANTI-CORRUPTION LAYER

    (ACL) § Das Gegenteil von Conformist – d. h. defensive Integration § Downstream-Team übersetzt zwischen eigenem Modell und dem des Upstream-Teams § Bei Änderungen im Upstream-Modell muss nur ACL angepasst werden § ACL kann z. B. als Adapter einer Ports & Adapter-Architektur implementiert Domain Model Bounded Context (downstream) ACL kennt Upstream Daten- modell kennt stellt bereit
  148. 15.04.24 //// Seite 17 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG ACL
  149. 15.04.24 //// Seite 18 WPS – Workplace Solutions OPEN-HOST-SERVICE Ein

    Bounded Context (upstream): § definiert ein Protokoll/API § zum Zugriff auf sein Modell (i. d. R. vereinfachtes Modell an der Schnittstelle) § als eine Menge von Services § für mehrere, ihm unbekannte, Consumer § Offen, weil jeder das Protokoll verwenden kann § Die entstehende API ist wohldefiniert und –dokumentiert Quelle: edwardpye/pixabay/CC0
  150. 15.04.24 //// Seite 19 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG O H S
  151. 15.04.24 //// Seite 20 WPS – Workplace Solutions PUBLISHED LANGUAGE

    § Eine gut dokumentierte Sprache zum Informationsaustausch § Kann definiert werden in § XML Schema § JSON Schema § Protobuf § usw. § Oft »spricht« ein Open-Host-Service eine PL § Beispiele: § SEPA-XML für Überweisungen und Mandate § BIPRO für Versicherungen § HL7 FHIR für Gesundheitswesen § WMS für Kartendaten Quelle: Merker Berlin/Wikipedia/PD-self
  152. 15.04.24 //// Seite 21 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG OHS + PL
  153. 15.04.24 //// Seite 22 WPS – Workplace Solutions SHARED KERNEL

    § Bounded Contexts enthalten ein kleines, gemeinsam genutztes Teilmodell, den Shared Kernel. § Wird dieser Shared Kernel weiterentwickelt, werden alle beteiligten Teams mit einbezogen. § Die Kontexte der Teams bleiben weiterhin voneinander abgegrenzt. § Shared Kernel bedeutet: Beziehung auf Team-Ebene und auf Code-Ebene. § Kandidaten für Shared Kernel sind z. B. Standards wie ICD-10 (medizinische Diagnosen) Foto: Sander van der Wel/Wikipedia/CC BY-SA 2.0
  154. 15.04.24 //// Seite 23 WPS – Workplace Solutions BIG BALL

    OF MUD § Das Context-Mapping Anti-Pattern § Oft bei Altsystemen anzutreffen § Keine saubere Aufteilung in Bounded Contexts Foto: Benutzer:Summi/Wikipedia/CC-BY-SA-3.0-migrated
  155. 15.04.24 //// Seite 24 WPS – Workplace Solutions INTEGRATION VON

    BOUNDED CONTEXTS § Im Monolithen: § Methodenaufruf § Façade § Observer § Mit Microservices: § RPC § SOAP § REST § Messaging Foto: unclelkt/pixabay/CC0
  156. 15.04.24 //// Seite 25 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG REST CSV- IMPORT REST RPC
  157. 15.04.24 //// Seite 26 WPS – Workplace Solutions CONTEXT-MAPPING IM

    HAFEN-BEISPIEL TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG REST CSV- IMPORT REST RPC OHS + PL O H S ACL CON FORM IST CUST SUPP
  158. 15.04.24 //// Seite 27 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Context Maps zeigen Bounded Contexts und ihre Beziehungen § Sie sollen: § Team-übergreifende Kommunikation unterstützen (z. B. wenn es um Kontextübergreifende Anforderungen geht) § »project thinking« der Teams ermöglichen § Integrationsbedarf erkennen und passende Integrationsformen erkennen § Einige Context Mapping Patterns können miteinander kombiniert werden
  159. 15.04.24 //// Seite 28 WPS – Workplace Solutions ÜBUNG: In

    der Context Map: a) Beziehungen einzeichnen b) mit den Context-Mapping Patterns annotieren.
  160. 15.04.24 //// Seite 3 WPS – Workplace Solutions ÜBERSICHT §

    Technische Sprache vs. Domänen-Sprache § Warum eine Ubiquitous Language? § Sprachen sind lebendig
  161. “There are only two hard things in Computer Science: cache

    invalidation and naming things.” Phil Karlton
  162. 15.04.24 //// Seite 6 WPS – Workplace Solutions TECHNISCHE SPRACHE

    Auf den Feature Branch pushen? Den Container hochfahren Ich baue dafür ein Interface Foto: Boboss74/deviantart Foto: Cronoxyd/Wikipedia/CC BY-SA 3.0 Foto: Microsoft/Wikipedia/PD ineligible
  163. 15.04.24 //// Seite 7 WPS – Workplace Solutions DOMÄNEN-SPRACHE –

    BEISPIEL MANÖVERPLANUNG Tiefenzahl Maßstab Silhouette Peilplan Markierung Länge ü.a. Breite Baggertoleranz
  164. 15.04.24 //// Seite 8 WPS – Workplace Solutions DOMÄNEN-SPRACHE –

    BEISPIEL SCHACH Brett König Figuren Spieler Schachuhr Foto: Fotograf Frank Hoppe/ Garry Kasparov/Wikipedia/PD-self Foto: Wikipedia/PD shape Foto: Thomas Depenbusch (Depi)/flickr/CC BY 2.0 Foto: Wikipedia/CC BY-SA 3.0 Foto: Wikipedia/CC BY-SA 3.0
  165. 15.04.24 //// Seite 9 WPS – Workplace Solutions DOMÄNEN-SPRACHE –

    BEISPIEL SCHACH II Remis Zugzwang Schachmatt Partie Zug Rochade
  166. 15.04.24 //// Seite 10 WPS – Workplace Solutions DOMÄNEN-SPRACHE –

    BEISPIEL SCHACH III – VERBEN Aufgeben Ziehen Schlagen Schachuhr drücken Rochieren
  167. 15.04.24 //// Seite 11 WPS – Workplace Solutions WARUM BRAUCHEN

    WIR EINE UBIQUITOUS LANGUAGE? Fach- sprache Techno Babble ? Domain Expert Developer
  168. 15.04.24 //// Seite 12 WPS – Workplace Solutions Fach- sprache

    Techno Babble Fach- sprache WARUM BRAUCHEN WIR EINE UBIQUITOUS LANGUAGE?
  169. 15.04.24 //// Seite 13 WPS – Workplace Solutions Fach- sprache

    Techno Babble WARUM BRAUCHEN WIR EINE UBIQUITOUS LANGUAGE?
  170. 15.04.24 //// Seite 14 WPS – Workplace Solutions Techno Babble

    Fach- sprache WARUM BRAUCHEN WIR EINE UBIQUITOUS LANGUAGE? Modellmonopol UML BPNM SQL … Expert Noob
  171. 15.04.24 //// Seite 18 WPS – Workplace Solutions { Fach-

    sprache } UBIQUITOUS LANGUAGE public class Peilplan { public void zieheTiefenlinien() { /* ... */ } public void faerbeTiefenzahlen() { /* ... */ } } Fach- sprache
  172. 15.04.24 //// Seite 19 WPS – Workplace Solutions UBIQUITOUS LANGUAGE

    Fach- sprache Techno Babble { Fach- sprache } Fach- sprache Fach- sprache
  173. 15.04.24 //// Seite 20 WPS – Workplace Solutions Fach- sprache

    UBIQUITOUS LANGUAGE Fach- sprache Techno Babble { Fach- sprache } Fach- sprache Fach- sprache Fach- sprache BA
  174. 15.04.24 //// Seite 21 WPS – Workplace Solutions Fach- sprache

    UBIQUITOUS LANGUAGE Fach- sprache Techno Babble { Fach- sprache } Fach- sprache Fach- sprache BA
  175. 15.04.24 //// Seite 22 WPS – Workplace Solutions UBIQUITOUS LANGUAGE

    § Fachexperten verstehen keine Begriffe zu technischen Umsetzungen § Fachexperten sprechen den Jargon ihrer Domäne, der für Außenstehende wiederum schwer verständlich sein kann è Eine gemeinsame Sprache ist notwendig! § Welche soll es sein? § Die der Entwickler? § Die der Fachexperten? § Etwas dazwischen? èPrinzip von DDD: »Verwende eine Sprache die auf dem Domänenmodell basiert« Foto: The Tower of Babel/Pieter Brueghel the Elder/Wikipedia/CC-PD-Mark
  176. 15.04.24 //// Seite 23 WPS – Workplace Solutions ! class

    Schlangenbaendiger class LowCostCarrier Queue Handler Gemeinkostenträger UBIQUITOUS LANGUAGE – ENGLISCH ODER DEUTSCH?
  177. 15.04.24 //// Seite 24 WPS – Workplace Solutions Fach- sprache

    Techno Babble Fach- sprache WIE ENTWICKELN WIR EINE UBIQUITOUS LANGUAGE?
  178. 15.04.24 //// Seite 25 WPS – Workplace Solutions WIE ENTWICKELN

    WIR EINE UBIQUITOUS LANGUAGE? § Event Storming § Domain Storytelling § Scenario Casting § Interviews + Prosa-Szenarios § Hospitation § Fachliche Einführungskurse § Beispiel: »1-Tages-Crashkurs für neue Mitarbeiter/innen in der nautischen Zentrale« § Glossar Modernes Collaborative Modeling Klassisches Requirements Engineering
  179. 15.04.24 //// Seite 26 WPS – Workplace Solutions DOMAIN STORYTELLING

    § Ausprobieren § Erklären § Beispiele § Bounded Contexts mit Domain Storytelling
  180. LEGT NAUTIKER KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST

    PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN BERECHNET 3 ERZ EU G T 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN
  181. 15.04.24 //// Seite 32 WPS – Workplace Solutions SATZ FÜR

    SATZ PEILPLAN SENDET NAUTIKER PEILDIENST AN »Der Peildienst sendet den Peilplan an den Nautiker« SCHICKT
  182. 15.04.24 //// Seite 33 WPS – Workplace Solutions Akteur Arbeits-

    gegenstand Aktivität Notiz BILDWORTSCHATZ THE QUICK BROWN FOX… 3 Sequenz- nummer
  183. 15.04.24 //// Seite 34 WPS – Workplace Solutions A w

    arbeitet an A v gibt weiter mithilfe von w B an A kollaboriert auf w B kollaboriert auf
  184. 15.04.24 //// Seite 35 WPS – Workplace Solutions BILDWORTSCHATZ –

    ARBEITSGEGENSTÄNDE PEILT ZEICHNET PEILPLAN TIEFE
  185. 15.04.24 //// Seite 38 WPS – Workplace Solutions AKTEURE EINFACH

    / ARBEITSGEGENSTÄNDE MEHRFACH ZEICHN ET SCHICKT PEILPLAN PEILPLAN PEILDIENST 4 3
  186. 15.04.24 //// Seite 39 WPS – Workplace Solutions SCHRITTFOLGE ANNOTIERT

    / NOTIZEN ZEICHN ET 4 SCHICKT 3 PEILDIENST Peilplan durch Einzeichnen der letzten Tiefenlinie fertig gestellt PEILPLAN FERTIGER PEILPLAN
  187. 15.04.24 //// Seite 41 WPS – Workplace Solutions Akteur Arbeits-

    gegenstand Aktivität Notiz SCENARIO-BASIERTE MODELLIERUNG – KEIN IF/SWITCH/OR/… THE QUICK BROWN FOX… 3 Sequenz- nummer
  188. 15.04.24 //// Seite 42 WPS – Workplace Solutions »Denn manchmal

    sind drei gute Beispiele besser für das Verständnis der Anforderungen als eine schlechte Abstraktion.« -- Peter Hruschka in Busines Analysis und Requirements Engineering, S.102, Hanser, 2014
  189. 15.04.24 //// Seite 43 WPS – Workplace Solutions SCOPE Detailgrad

    § Grobgranular: § Einstieg/Überblick über die Domäne § Subdomänen und Bounded Contexts finden § Projektumfang abgrenzen § Feingranular: § Implementierbares Domain Model § Arbeitsabläufe analysieren oder gestalten Zeitpunkt § Ist: Problemraum analysieren § Soll: Lösungsraum gestalten § Verschiedene Soll-Zeitpunkte sind möglich (Soll in 6 Monaten, in 2 Jahren, …) Domain Purity: § Prozess mit heutiger oder zukünftiger Software- Unterstützung § Prozess ohne Software modellieren: § Reine Fachlichkeit § Befreit den Prozess von technischen Begriffen
  190. 15.04.24 //// Seite 46 WPS – Workplace Solutions Werkzeuge --

    EGON.IO https://www.wps.de/modeler/ • https://egon.io/ • https://github.com/WPS/egon.io
  191. 15.04.24 //// Seite 49 WPS – Workplace Solutions Wir empfehlen:

    § Reden, reden, reden § Collaborative Modeling: § Event storming § Domain storytelling § Interviews & Szenarien § Glossare ... DIE UBIQUITOUS LANGUAGE ENTWICKELN Fach- sprache Fach- sprache
  192. 15.04.24 //// Seite 50 WPS – Workplace Solutions UML, BPMN

    & Co sind mit Vorsicht zu genießen: § Von Software-Entwicklern für Software- Entwickler § Für Workshops bedingt geeignet à Gefahr, dem Kunden ungewollte eine abstrakte IT-Sicht aufzudrängen § Schwerpunkt auf Dokumentation statt auf Kommunikation DIE UBIQUITOUS LANGUAGE ENTWICKELN Fach- sprache Techno Babble ?
  193. 15.04.24 //// Seite 52 WPS – Workplace Solutions GLOSSAR §

    Für Kernkonzepte (weil viel Arbeit) § bereits existierende Begriffe § rekonstruierte Begriffe § neue Begriffsbildungen § Wichtiger am Anfang des Projektes und für neue Mitarbeiter § Oft Wegwerfprodukt (nicht mehr gepflegt) § Ein Wörterbuch ersetzt keinen Sprachkurs! Woher kommen die Wörter fürs Glossar? Foto: George Eastman Museum/Wikipedia
  194. 15.04.24 //// Seite 53 WPS – Workplace Solutions GLOSSAR –

    BEISPIELDOMÄNE SCHACH SPIELER EINE VON ZWEI PERSONEN, DIE FIGUREN AUF DEM BRETT BEWEGT. SPRINGER (PFERD) EINE FIGUR, VON DER JEDER SPIELER ZWEI BESITZT. WIRD ZWEI FELDER VOR UND EINES ZUR SEITE BEWEGT. SPRINGT BEIM VORZIEHEN ÜBER FIGUREN HINWEG, OHNE SIE ZU SCHLAGEN. Beschreibung Begriff Oberbegriff Unterscheidungs -merkmale Verweis auf anderen Begriff Synonym
  195. 15.04.24 //// Seite 54 WPS – Workplace Solutions JEDER BOUNDED

    CONTEXT HAT SEINE EIGENE UBIQUITOUS LANGUAGE MARKIER- UNG PEIL- PLAN TIEFEN- ZAHL MANÖVERPLANUNG TIEFEN- MESSUNG PEIL- SCHIFF TIEFEN- ZAHL
  196. 15.04.24 //// Seite 55 WPS – Workplace Solutions JEDER BOUNDED

    CONTEXT HAT SEIN EIGENES GLOSSAR TIEFENZAHL PER ECHOLOT GEMESSENE TIEFE AN EINEM BESTIMMTEN ORT BEI NORMALNULL TIEFENMESSUNG TIEFENZAHL TIEFE AN EINEM BESTIMMTEN ORT UNTER BERÜCKSICHTIGUNG VON EBBE UND FLUT MANÖVER- PLANUNG
  197. 15.04.24 //// Seite 56 WPS – Workplace Solutions SPRACHEN SIND

    LEBENDIG: FACHSPRACHE Brett König Figuren Spieler Schachuhr Foto: Fotograf Frank Hoppe/ Garry Kasparov/Wikipedia/PD-self Foto: Wikipedia/CC BY-SA 3.0 Foto: Wikipedia/PD shape Foto: Wikipedia/CC BY-SA 3.0 Foto: Thomas Depenbusch (Depi)/flickr/CC BY 2.0
  198. 15.04.24 //// Seite 57 WPS – Workplace Solutions SPRACHEN SIND

    LEBENDIG: UBIQUITOUS LANGUAGE (ITERATION 1) Brett Figuren Spieler Foto: Fotograf Frank Hoppe/ Garry Kasparov/Wikipedia/PD-self Foto: Wikipedia/PD shape Foto: Wikipedia/CC BY-SA 3.0
  199. 15.04.24 //// Seite 58 WPS – Workplace Solutions SPRACHEN SIND

    LEBENDIG: UBIQUITOUS LANGUAGE (ITERATION 2) Figuren Spieler Nichtmenschlicher Spieler Brett Foto: Fotograf Frank Hoppe/ Garry Kasparov/Wikipedia/PD-self Foto: Wikipedia/PD shape Foto: Wikipedia/CC BY-SA 3.0 Foto: Jim Gardner/Wikipedia/CC BY 2.0
  200. 15.04.24 //// Seite 59 WPS – Workplace Solutions SPRACHEN SIND

    LEBENDIG § Experimentiere mit alternativen Ausdrucksformen § Das Modell und die Sprache entwickeln sich weiter § Überarbeite dann den Code § Benenne Klassen, Methoden, Module § Entspreche dem neuen Modell § Eine Sprache will gesprochen werden: § Beseitige Unklarheiten durch Konversation Foto: Tkgd2007/Wikipedia/CC BY-SA 3.0
  201. 15.04.24 //// Seite 60 WPS – Workplace Solutions BEISPIEL: PROBLEME

    IN FACHSPRACHE DISKUTIEREN UND LÖSEN Entwickler unter sich: »Wie bauen wir das Housekeeping der Schiffssilhouetten-Tabelle in der Oracle-DB?« »Keine Ahnung, lass uns den Nautiker fragen.« Entwickler zum Nautiker: »Wie lange müssen Schiffssilhouetten aufbewahrt werden?« Nautiker: »Gar nicht mehr. Früher war das hilfreich, als wir sie noch aus Pappe basteln mussten. Jetzt mit der Software ist es so einfach, mal eben eine neue Silhouette anzulegen… das reicht völlig.« Entwickler am Rechner: »DROP TABLE Schiffsilhouetten;«
  202. 15.04.24 //// Seite 61 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Softwareentwickler und Fachexperten sprechen verschiedene Sprachen § Wir brauchen eine gemeinsame Sprache à die Ubiquitous Language § Jeder Bounded Context hat seine eigene Ubiquitous Language § Jeder muss die Ubiquitous Language verwenden § Die Ubiquitous Language entwickelt sich im Projektverlauf weiter
  203. ÜBUNG: GLOSSAREINTRÄGE SCHREIBEN: Eine Karte pro Begriff/Subdomäne Subdomäne: PEILDIENST Begriff:

    Tiefenzahl Beschreibung: … Subdomäne: MANÖVER-PLANUNG Begriff: Tiefenzahl Beschreibung: …
  204. 15.04.24 //// Seite 6 WPS – Workplace Solutions Fach-sprache Beispiele,

    Szenarien, Verhalten SPEZIFIKATION ANHAND VON BEISPIELEN (SPECIFICATION BY EXAMPLE) Gespräche einfangen (capturing conversations)
  205. 15.04.24 //// Seite 7 WPS – Workplace Solutions LEGT NAUTIKER

    KAPITÄN FRAGT NACH 7 SCHIFFS- SILHOUETTE AUF PEILDIENST PEILSCHIFF TIEFE PEILT 1 SENDET 2 AN B ER EC HNET 3 ERZEUGT 4 SENDET 5 PEILPLAN AN VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET 9 MELDET AN 6 ROUTE ROUTE PEILPLAN PEILPLAN TIEFEN- ZAHLEN ROUTE TIEFENLINIEN IM HAFEN Route finden Als ein Nautiker will ich die Schiffssilhouette verschieben und drehen, um eine Route zu finden Gibt es Beispiele hierfür?
  206. 15.04.24 //// Seite 8 WPS – Workplace Solutions Route finden

    BEISPIELE FINDEN MIT EXAMPLE MAPPING Es wird gewarnt, wenn eine Schiffsilhouette mit 5m Tiefgang auf einen Bereich mit 4m Wassertiefe bewegt wird. Bei einer Seekartentiefe von 5m und einem Tidenstieg von 0,4m (Flut) ist die Wassertiefe 5,4m Es ist alles ok, wenn eine Schiffsilhouette mit 5m Tiefgang auf einen Bereich mit 6m Wassertiefe bewegt wird. Bei einer Seekartentiefe von 5m und einem Tidenfall von 0,4m (Ebbe) ist die effektive Wassertiefe 4,6m Warnung bei zu geringer Wassertiefe Tidenhub beachten Als ein Nautiker will ich die Schiffssilhouette verschieben und drehen, um Route zu finden Wieviel Puffer braucht man unter dem Bug? Collaborative Modeling (Business + Dev/QA/UX) Beispiel / Szenario Regel / Akzeptanz- kriterium Funktionalität / User Story Frage
  207. 15.04.24 //// Seite 10 WPS – Workplace Solutions GEFUNDENE BEISPIELE

    DOKUMENTIEREN Spezifikation Routenplanung Spezifikation Peilplanerstellung
  208. 15.04.24 //// Seite 11 WPS – Workplace Solutions AUTOMATISIERTE AKZEPTANZTESTS

    Verhaltens- Spezifikation Testergebnisse automatisierte Akzeptanztests Software Toolunterstützung: - Cucumber/Gherkin Feature Files - FitNesse Wiki/Tabellen
  209. 15.04.24 //// Seite 12 WPS – Workplace Solutions GHERKIN: SZENARIO

    (SCENARIO) Funktionalität: Routenplanung Szenario: Warnung bei zu geringer Wassertiefe Gegeben sei eine Schiffsilhouette mit 5m Tiefgang Wenn die geringste Wassertiefe unter dem Bug 4m beträgt Dann soll eine Warnung ausgegeben werden. Szenario: Alles ok bei ausreichender Wassertiefe Gegeben sei eine Schiffsilhouette mit 5m Tiefgang Wenn die geringste Wassertiefe unter dem Bug 6m beträgt Dann soll keine Warnung ausgegeben werden. (Feature) (Scenario) (Given) (When) (Then) #language: de (Schlüsselwort) (Freitext)
  210. 15.04.24 //// Seite 13 WPS – Workplace Solutions GHERKIN: SZENARIOGRUNDRISS

    (SCENARIO OUTLINE) Funktionalität: Routenplanung Szenariogrundriss: Warnung bei zu geringer Wassertiefe Gegeben sei eine Schiffsilhouette mit <Tiefgang> Tiefgang Wenn die geringste Wassertiefe unter dem Bug <Wassertiefe> beträgt Dann soll <Ausgabe> ausgegeben werden. Beispiele: | Tiefgang | Wassertiefe | Ausgabe | | 5m | 4m | Warnung | | 5m | 4,9m | Warnung | | 5m | 5,0m | Warnung | | 5m | 5,1m | - | | 5m | 6m | - | (Scenario Outline) (Examples) #language: de (Variable)
  211. 15.04.24 //// Seite 14 WPS – Workplace Solutions GHERKIN: ZWISCHENRÄUME

    FÜR DOKUMENTATION Funktionalität: Routenplanung Um eine sichere Route in den Hafen ermitteln zu können, soll der Nautiker beim verschieben der Schiffssilhouette Feedback über Untiefen erhalten. Der NAUTIKER ist die Person, die die Routenplanung vornehmen darf. Die ROUTE ist die Strecke, die das Schiff zum gefahrlosen einlaufen in den Hafen nehmen soll. Die SCHIFFSSILHOUTTE beschreibt die Ausmaße und Tiefe des Schiffs im Wasser. Szenariogrundriss: Warnung bei zu geringer Wassertiefe WASSERTIEFE ist die minimale Distanz zwischen Wasseroberfläche und Grund in einem Bereich. Sie berücksichtigt den Tidenhub (-> Tiefenhub.feature) zum Zeitpunkt der Simulation. Beispiele: Simulation für 09:10 Uhr (Flut) Routenplanung mit typischen Wasserständen bei Flut. Beispiele: Simulation für 15:48 Uhr (Ebbe) Routenplanung mit typischen Wasserständen bei Ebbe. User Story / Narrativ / Motivation Glossar / Begriffsdefinitionen Freitexte nutzen für z. B.
  212. 15.04.24 //// Seite 16 WPS – Workplace Solutions AUTOMATISIERTE AKZEPTANZTESTS

    Verhaltens- Spezifikation Testergebnisse automatisierte Akzeptanztests Software
  213. 15.04.24 //// Seite 17 WPS – Workplace Solutions SPEZIFIKATIONS- UND

    AUTOMATISIERUNGSSCHICHT Fachliche Spezifikation REST API GUI Domain Kern UI Tests API Tests Unit Tests
  214. 15.04.24 //// Seite 18 WPS – Workplace Solutions ANTI-PATTERNS §

    Szenarien sollen Fachlichkeit ausdrücken (UL), und nicht: § UI-Interaktionen (»Wenn Bob auf Login klickt…«) § Datenbanken (»Gegeben sei folgende Kundentabelle…«) § Implementierungsdetails, z. B. Parsen/Validierung von technischen Werten Login 28.02.2021 29.02.2021 30.02.2021 31.02.2021 01.03.2021 ✗ ✗ ✗
  215. 15.04.24 //// Seite 19 WPS – Workplace Solutions SCHRITTDEFINITIONEN MIT

    CUCUMBER UND JAVA (STEP DEFINITIONS) import io.cucumber.java.de.Gegebensei; import io.cucumber.java.de.Wenn; import io.cucumber.java.de.Dann; public class StepDefinitions { @Gegebensei("eine Schiffsilhouette mit 5m Tiefgang") public void eine_schiffsilhouette_mit_5m_tiefgang() { // Arrange } @Wenn("die geringste Wassertiefe unter dem Bug 4m beträgt") public void die_geringste_wassertiefe_unter_dem_bug_4m_beträgt() { // Act } @Dann("soll eine Warnung ausgegeben werden.") public void soll_eine_warnung_ausgegeben_werden() { // Assert } } Given: Vorbedingungen prüfen und Ausgangssituation herstellen When: Aktion durchführen oder Ereignis empfangen Then: Nachbedingungen und Ergebnisse prüfen Die Klasse wird für jedes Gherkin-Szenario intantiiert, Dann wird für jede Zeile im Szenario (given, when, then) die entsprechende Methode ausgeführt, Und wenn kein Fehler geworfen wird, ist der Test erfolgreich.
  216. 15.04.24 //// Seite 20 WPS – Workplace Solutions LEBENDIGE DOKUMENTATION

    (LIVING DOCUMENTATION) Korrektheit / Relevanz Dokumentation Spezifikation Akzeptanztests
  217. 15.04.24 //// Seite 21 WPS – Workplace Solutions BDD vs.

    DDD Fachmodelle Behaviour-Driven Development Fachverhalten Domain-Driven Design (Black-Box Sicht) (White-Box Sicht)
  218. 15.04.24 //// Seite 22 WPS – Workplace Solutions LITERATUR §

    Introducing BDD, Dan North: https://dannorth.net/introducing-bdd/ § Specification By Example, Gojko Adzic § Writing Great Specifications, Kamil Nicieja § Example Mapping, Matt Wynne: https://cucumber.io/blog/2015/12/08/example-mapping-introduction § https://jbehave.org/ § https://cucumber.io/
  219. 15.04.24 //// Seite 23 WPS - Workplace Solutions GmbH ZUSAMMENFASSUNG

    § Über fachliches Verhalten reden § Anhand von Beispielen spezifizieren § Als Akzeptanztests automatisieren § Lebendige Dokumentation erhalten
  220. 15.04.24 //// Seite 3 WPS – Workplace Solutions ÜBERSICHT §

    Klassische Schichtenarchitekturen § Hexagonal / Onion / Clean Architecture § Entwicklung eines Domänenmodells § Entwurfsprinzipien
  221. 15.04.24 //// Seite 4 WPS – Workplace Solutions ARCHITEKTUR MIT

    BOUNDED CONTEXTS TIDE- VORHER- SAGE TIEFEN- MESSUNG PEILPLAN- ERSTELLUNG ZOOMSTUFEN- BERECHNUNG MANÖVER- PLANUNG
  222. 15.04.24 //// Seite 5 WPS – Workplace Solutions ARCHITEKTUR INNERHALB

    EINES BOUNDED CONTEXT User Interface Application Domain Infrastructure MANÖVER- PLANUNG
  223. 15.04.24 //// Seite 6 WPS – Workplace Solutions ARCHITEKTUR DER

    DOMAIN-SCHICHT? User Interface Application Domain Infrastructure MANÖVER- PLANUNG
  224. 15.04.24 //// Seite 7 WPS – Workplace Solutions FOWLER: DOMAIN

    LOGIC PATTERNS § Transaction Script § Table Module § Domain Model § (Anemic Domain Model) § (Polluted Domain Model) Foto: Autor Webysther Nunes/Martin Fowler/Wikipedia/CC-BY-SA-4.0
  225. 15.04.24 //// Seite 8 WPS – Workplace Solutions TRANSACTION SCRIPT

    § Organisiert die Geschäftslogik in einzelne Prozeduren § Jede Prozedur deckt eine Anfrage vom Presentation Layer ab § Transaktionsklammern korrespondieren direkt mit Prozeduren § Kommunikation direkt oder nur über schlanken Adapter mit DB § Für einfache Probleme TiefenRechner berechneZoomstufe(peilplanNummer: long, zoom: byte): byte[][] Button UI- + Fachlogik persistente Fachdaten
  226. 15.04.24 //// Seite 9 WPS – Workplace Solutions TABLE MODULE

    § Fachlogik in einer Klasse pro Datenbanktabelle implementiert § Algorithmen arbeiten direkt auf den ResultSets Peilplaene berechneZoomstufe(PeilplanNummer, zoom): byte[][] readPeilplan(PeilplanID) : ResultSet Fachlogik persistente Fachdaten
  227. 15.04.24 //// Seite 10 WPS – Workplace Solutions DOMAIN MODEL

    § Typische OO-Modellierung § POJOs/POCOs/POPOs § Design unabhängig von Datenbank § OR-Mapping ist nötig § Verwendung von Konzepten wie Kapselung Peilplan berechneZoomstufe(zoom: Massstab): Zoomstufe Zoomstufe Persistenz Massstab Fachlogik + -daten Später wichtig: Wie passt das zu Schichtenarchitektur?
  228. 15.04.24 //// Seite 11 WPS – Workplace Solutions § Fachlich

    benannte Entities § Ohne fachliches Verhalten § Nur Getter und Setter § z.B. Java Beans § »Verkümmerte« Entities (= nur die Fachdaten) § Fachlogik nur in Services ANEMIC DOMAIN MODEL Foto: Vampire/Wikipedia/FAL PeilplanService berechneZoomstufe() Peilplan getTiefenzahlen() setTiefenzahlen()
  229. 15.04.24 //// Seite 12 WPS – Workplace Solutions § Domain

    Model § Verschmutzt durch Technik § z. B. JPA-Annotations POLLUTED DOMAIN MODEL
  230. 15.04.24 //// Seite 13 WPS – Workplace Solutions FACHLOGIK UND

    FACHDATEN GEHÖREN ZUSAMMEN FRONTEND BACKEND DB Transaction Script Table Module Domain Model FRONTEND BACKEND DB FRONTEND BACKEND DB Fachlogik + -daten Persistenz UI- + Fachlogik persistente Fachdaten persistente Fachdaten Fachlogik UI-Logik UI-Logik UI- + Fachlogik UI- + Fachlogik
  231. 15.04.24 //// Seite 14 WPS – Workplace Solutions FOWLER: WANN

    MODELLIERT MAN EINE FACHDOMÄNE? Erweiterungs- aufwand Komplexität der Geschäftslogik Domain Model Table Module Transaction Skript Anemic DM Polluted DM
  232. 15.04.24 //// Seite 15 WPS – Workplace Solutions JEDER BOUNDED

    CONTEXT HAT SEINE EIGENE ARCHITEKTUR MANÖVER- PLANUNG ZOOMSTUFEN- BERECHNUNG Transaction Script Domain Model
  233. 15.04.24 //// Seite 17 WPS – Workplace Solutions SCHICHTENARCHITEKTUR –

    KRITIK MANÖVERPLANUNG User Interface Application Domain Infrastructure Domain-Schicht ist an Datenbank- Schicht gebunden à Technologie steigt hoch in die Fachlichkeit à Keine saubere Trennung von Fachlichkeit und Technologie!
  234. 15.04.24 //// Seite 18 WPS – Workplace Solutions below above

    IDEE: VON OBEN / UNTEN NACH INNEN / AUSSEN out- side inside
  235. 15.04.24 //// Seite 19 WPS – Workplace Solutions port port

    HEXAGONALE ARCHITEKTUR / PORTS AND ADAPTERS Foto: Dennis Hamilton/flickr/CC BY 2.0 http://alistair.cockburn.us/Hexagonal%2Barchitecture/ adapter adapter Alistair Cockburn application / domain infrastructure
  236. 15.04.24 //// Seite 20 WPS – Workplace Solutions VON SCHICHTEN

    ZU HEXAGONEN User Interface Application/ Domain Infrastructure User Interface Application/ Domain Infrastructure Dependency Inversion Application/ Domain Primary / Driving Adapters Secondary / Driven Adapters port port
  237. 15.04.24 //// Seite 21 WPS – Workplace Solutions VON SCHICHTEN

    ZU HEXAGONEN DOMAIN Port Port Port Port Port Port Adapter Adapter Adapter Adapter Adapter Adapter Web-UI Web- Controller (Servlet) http (Domain) Repo DB- Adapter DB Web-UI Web- Controller (Servlet) (Domain) Repo DB- Adapter DB http benutzt implementiert In welcher Schicht liegt der DB-Adapter? Aggre- gate
  238. 15.04.24 //// Seite 22 WPS – Workplace Solutions DEPENDENCY INVERSION

    PRINCIPLE Depend on abstractions, not on concretions! Robert C. Martin “Uncle Bob” !
  239. 15.04.24 //// Seite 23 WPS – Workplace Solutions Entities CLEAN

    ARCHITECTURE Use Cases Controllers Gateways Presenters W eb Devices DB UI External Interfaces Robert C. Martin ”Uncle Bob“
  240. 15.04.24 //// Seite 24 WPS – Workplace Solutions ONION ARCHITECTURE

    U I “application core” domain services domain model infra app ture struc serv lication ices Jeffrey Palermo ! !
  241. 15.04.24 //// Seite 25 WPS – Workplace Solutions ONION ARCHITECTURE

    – Die 4 Grundsätze § The application is built around an independent object model § Inner layers define interfaces. Outer layers implement interfaces § Direction of coupling is toward the center § All application core code can be compiled and run separate from infrastructure à Leicht zu testender Anwendungskern à Passt gut zu TDD -- https://jeffreypalermo.com/2013/08/onion-architecture-part-4-after-four-years/ Jeffrey Palermo ! !
  242. 15.04.24 //// Seite 28 WPS – Workplace Solutions DER FACHLICHE

    KERN Fachlogik / Fachbegriffe Port Port Port Port Port Port Adapter Adapter Adapter Adapter Adapter Adapter FACHLICHER KERN
  243. 15.04.24 //// Seite 29 WPS – Workplace Solutions DER FACHLICHE

    KERN IM BOUNDED CONTEXT Fachlogik / Fachbegriffe Port Port Port Port Port Port Adapter Adapter Adapter Adapter Adapter Adapter DB UI BOUNDED CONTEXT
  244. 15.04.24 //// Seite 30 WPS – Workplace Solutions DER FACHLICHE

    KERN – DIE FACHLICHE »DNA« Bild: https://philschatz.com/anatomy-book/resources/0312_Animal_Cell_and_Components.jpg
  245. 15.04.24 //// Seite 32 WPS – Workplace Solutions DIE OBJEKTORIENTIERTE

    GRUNDIDEE: FACHLICHE GEGENSTÄNDE ALS AUSGANGSPUNKT Fachlogik / Fachbegriffe
  246. 15.04.24 //// Seite 33 WPS – Workplace Solutions VOM SZENARIO

    ZUM DOMÄNEN-MODELL Ein Szenario zeigt uns, wie wir mit Fachobjekten umgehen
  247. 15.04.24 //// Seite 37 WPS – Workplace Solutions VON DER

    DOMAIN STORY ZUM DOMÄNENMODELL Silhouette VERSCHIEBT SILHOUETTE NAUTIKER LÄNGE Laenge verschiebeUm(:Laenge) UM 8
  248. 15.04.24 //// Seite 41 WPS – Workplace Solutions ZURÜCK ZUM

    SZENARIO FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- MESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  249. 15.04.24 //// Seite 42 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN FE M« ILT TIEFENZAHL EINGE- ZEICHNET TIEFE AN PEILDIENST GEMELDET TIEFENZAHL »ROT« GEFÄRBT TIEFEN- LINIE GEZOGEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET UMLAUF- BAHN DES MONDES BERECHNET TIDEKURVE ERSTELLT SILHOUETT E DER LÄNGE 100M AUSGE- SCHNITTEN SILHOUETT E AUF ÖSTLICHE RICHTUNG GEDREHT SILHOUETT E 300M VER- SCHOBEN S PEILPLAN- ERSTELLUNG MANÖVER- PLANUNG TIEFEN- MESSUNG ZOOMSTUFEN- BERECHNUNG TIDE- VORHERSAGE
  250. 15.04.24 //// Seite 43 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG
  251. 15.04.24 //// Seite 44 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG WER tut WAS WOMIT, um ausgehend vom Start-Event das End-Event zu erreichen? … …
  252. 15.04.24 //// Seite 47 WPS – Workplace Solutions Geringste Tiefenzahl

    in diesem Bereich: 11.2 m WIR MÜSSEN TIEFENZAHLEN ZUSAMMENFASSEN UND WÄHLEN DIE GERINGSTE (WEIL DORT DAS SCHIFF AUF GRUND LAUFEN KÖNNTE)
  253. 15.04.24 //// Seite 48 WPS – Workplace Solutions 11.2 Geringste

    Tiefenzahl in diesem Bereich: 11.2 m UM EINEN ZOOM-LEVEL VOLLSTÄNDIG ZU BERECHNEN WIEDERHOLEN WIR DIES FÜR ALLE BEREICHE DES PEILPLANS
  254. 15.04.24 //// Seite 49 WPS – Workplace Solutions UND ERHALTEN

    EINEN PLAN MIT GERINGERER AUFLÖSUNG, AUF DEM WIR BEIM HERAUSZOOMEN ALLE RELEVANTEN TIEFEN SEHEN
  255. 15.04.24 //// Seite 50 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN
  256. 15.04.24 //// Seite 51 WPS – Workplace Solutions PEILPLAN GEZEICHNE

    T LEGE MASSSTAB FÜR ZOOMSTUFE FEST ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN COMMAND Eine AKTION, DIE DURCHZUFÜHREN IST, um das nächste Event zu erreichen.
  257. 15.04.24 //// Seite 52 WPS – Workplace Solutions PEILPLAN GEZEICHNE

    T ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN LEGE MASSSTAB FÜR ZOOMSTUFE FEST BLAUER STICKIE In BEFEHLSFORM COMMAND
  258. 15.04.24 //// Seite 53 WPS – Workplace Solutions PEILPLAN GEZEICHNE

    T LEGE MASSSTAB FÜR ZOOMSTUFE FEST ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LASSET UNS SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN
  259. 15.04.24 //// Seite 54 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN
  260. 15.04.24 //// Seite 55 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein muss?
  261. 15.04.24 //// Seite 56 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN GERINGSTE TIEFENZAHL GEFUNDEN Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein muss?
  262. 15.04.24 //// Seite 57 WPS – Workplace Solutions PEILDIENST: SENDE

    FERTIGEN PEILPLAN SENDE FERTIGEN PEILPLAN PEIL- DIENST AKTEURE IM SZENARIO DREHE SILHOUETT E AUF OST- SÜD-OST ZIEHE TIEFEN- LINIE PEIL- DIENST NAU- TIKER AKTEUR NAUTIKER: DREHE SILHOUETT E AUF OST- SÜD-OST PEILDIENST: ZIEHE TIEFEN- LINIE Akteur- zentrierte Methode
  263. 15.04.24 //// Seite 58 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein mus? GERINGSTE TIEFENZAHL GEFUNDEN
  264. 15.04.24 //// Seite 59 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein mus? GERINGSTE TIEFENZAHL GEFUNDEN ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN
  265. 15.04.24 //// Seite 60 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein mus? GERINGSTE TIEFENZAHL GEFUNDEN ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN ZOOMSTUFE
  266. 15.04.24 //// Seite 61 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T LEGE MASSSTAB FÜR ZOOMSTUFE FEST ERZEUGE EINE NEUE ZOOMSTUFE ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN ZOOMSTUFE GELBER STICKIE HAUPTWORT Fachbegriff
  267. 15.04.24 //// Seite 62 WPS – Workplace Solutions LASSET UNS

    SOFTWARE BAUEN ZUM ZOOMEN VON PEILPLÄNEN PEILPLAN GEZEICHNE T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein mus? GERINGSTE TIEFENZAHL GEFUNDEN ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN ZOOMSTUFE TIEFENZAHL PEILPLAN MASSSTAB GRÖSSE BEREICH
  268. 15.04.24 //// Seite 63 WPS – Workplace Solutions PEILPLAN GEZEICHNE

    T ZOOM- STUFE BERECHNET ZOOMSTUFEN- BERECHNUNG LEGE MASSSTAB FÜR ZOOMSTUFE FEST BESTIMME GRÖSSE DES BEREICHS EINER TIEFENZAHL TEILE DEN PEILPLAN AUF IN BEREICHE DIESER GRÖSSE FINDE DIE GERINGSTE TIEFENZAHL IN JEDEM DIESER BEREICHE ERSETZE DAMIT DIE TIEFENZAHLE N IN JEDEM DIESER BEREICHE ERZEUGE EINE NEUE ZOOMSTUFE Hängt das nicht eher von der Bildschirmauflösung ab, wie groß ein Bereich sein mus? GERINGSTE TIEFENZAHL GEFUNDEN ÜBERNIMM ALLE TIEFENZAHLE N AUS DEM PEILPLAN ZOOMSTUFE TIEFENZAHL PEILPLAN MASSSTAB GRÖSSE BEREICH TACTICAL EVENT STORMING
  269. 15.04.24 //// Seite 66 WPS – Workplace Solutions Stickies statt

    CRC-Karten Doku- ment Betreff Datum Register- abschnitt Ordner beschrift e wähle Dokument nach Betreff lege Register an kenn- zeichne füge ein Dokument nach Datum ein Stich- wort gib Stichwort vergleiche mit anderem Betreff füge Dokument ein entnimm Dokument • Nimm die Entities (gelb) und die Commands (blau) aus dem Event Storming. • Ordne die Commands den Entities, die sie verändern, zu.
  270. 15.04.24 //// Seite 67 WPS – Workplace Solutions Stickies statt

    CRC-Karten – Schritt 1 Doku- ment Betreff Datum Register- abschnitt Ordner beschrift e wähle Dokument nach Betreff lege Register an kenn- zeichne füge ein Dokument nach Datum ein Stich- wort gib Stichwort vergleiche mit anderem Betreff füge Dokument ein entnimm Dokument Zwei Fragen sind für die Zuordnung der Commands wichtig: • Welches Fachobjekt wird durch den Command verändert? • Welches Fachobjekt wird durch den Command sondiert? verändert den Ordner sondiert den Betreff
  271. 15.04.24 //// Seite 68 WPS – Workplace Solutions Stickies statt

    CRC-Karten – Schritt 2 Doku- ment Betreff Datum Register- abschnitt Ordner beschrift e wähle Dokument nach Betreff lege Register an kenn- zeichne füge ein Dokument nach Datum ein Stich- wort gib Stichwort vergleiche mit anderem Betreff Doku- ment Betreff Datum Register- abschnitt Stich- wort füge Dokument ein entnimm Dokument Betreff • Füge den Fachbegriffen ihre Collaborators (pink) hinzu. Doku- ment à Collaborators sind andere, von einem Command benötigte Fachbegriffe! Nicht mit Akteuren verwechseln!
  272. 15.04.24 //// Seite 69 WPS – Workplace Solutions Schritt 3

    – FERTIG! Doku- ment Betreff Datum Register- abschnitt Ordner beschrift e wähle Dokument nach Betreff lege Register an kenn- zeichne füge ein Dokument nach Datum ein Stich- wort gib Stichwort vergleiche mit anderem Betreff füge Dokument ein entnimm Dokument • Ersetze Collaborators (pink) durch Pfeile. à Ergebnis: Klassendiagramm!
  273. 15.04.24 //// Seite 70 WPS – Workplace Solutions … und

    so sähe dasselbe Modell als Klassendiagramm aus: Ordner § legeAn: Registerabschnitt § wähleNachBetreff(Betreff): Dokument § beschrifte(Betreff) § fügeEin(Dokument) § entnimm: Dokument Betreff § vergleicheMit(Betreff) § gibStichwort: Stichwort Stichwort Registerabschnitt § fügeEinNachDatum(Dokument, Datum) § kennzeichne(Betreff) Datum Dokument
  274. 15.04.24 //// Seite 71 WPS – Workplace Solutions … und

    so sähe dasselbe Modell als Klassendiagramm aus: Ordner § legeAn: Registerabschnitt § wähleNachBetreff(Betreff): Dokument § beschrifte(Betreff) § fügeEin(Dokument) § entnimm: Dokument Betreff § vergleicheMit(Betreff) § gibStichwort: Stichwort Stichwort Registerabschnitt § fügeEinNachDatum(Dokument, Datum) § kennzeichne(Betreff) Datum Dokument
  275. 15.04.24 //// Seite 82 WPS – Workplace Solutions LÄNGE ...

    werden in ihrem Verhalten fachlich modelliert ... ... und softwaretechnisch in fachlichen Klassen beschrieben. Laenge Position public class Silhouette { void verschiebeUm(Laenge len) { assert len != null; // ... position.add(len)); } } Fachliche Gegenstände… VERSCHIEBT LÄNGE SILHOUETTE SILHOUETTE VERSCHOBEN VERSCHIEBE UM SILHOUETTE NAUTIKER 8
  276. 15.04.24 //// Seite 83 WPS – Workplace Solutions SCHNITTSTELLEN DER

    FACHLICHEN KLASSEN Das Konzept der Modellierung von fachlichen Klassen: • Wähle anwendungsfachliche Begriffe (à als Substantiv) • Beschreibe Umgangsformen (à als Verb) und die dabei benötigten weiteren Gegenstände. Keine Daten modellieren. Schiff-Silhouette Verschiebe Drehe Position? Länge ü.a.? Breite? ...
  277. 15.04.24 //// Seite 84 WPS – Workplace Solutions ARTEN VON

    FACHLICHEN UMGANGSFORMEN AN SCHNITTSTELLEN Umgangsformen: die Art und Weise, wie mit Gegenständen im Rahmen der verschiedenen Aufgaben gearbeitet wird. Wir untersuchen: § Welche Informationen werden an den Gegenständen "abgelesen"? § Welche Veränderungen werden an den Gegenständen vorgenommen und welche Aktionen werden ausgelöst, ohne dass sie zerstört oder in andersartige Gegenstände transformiert werden? àCQS-Prinzip von Bertrand Meyer Schiff-Silhouette • Verschiebe • Drehe • Position? • Länge ü.a.? • Breite? ...
  278. 15.04.24 //// Seite 85 WPS – Workplace Solutions § Eine

    Methode soll entweder § Zustand ändern è Command § Zustand auslesen è Query § Aber nicht beides! § D.h. das Auslesen eines Zustands sollte keine Seiteneffekte haben! § Sonst drohen Risiken und Nebenwirkungen. COMMAND-QUERY-SEPARATION PRINCIPLE
  279. 15.04.24 //// Seite 87 WPS – Workplace Solutions DEPENDENCY INVERSION

    PRINCIPLE (DIP) a. High-level modules should not depend on low-level modules. Both should depend on abstractions (e.g. interfaces). b. Abstractions should not depend on details. Details (concrete implementations) should depend on abstractions. Robert C. Martin ”Uncle Bob“ – https://web.archive.org/web/20110714224327/http://www.objectmentor.com/resources/articles/dip.pdf
  280. 15.04.24 //// Seite 88 WPS – Workplace Solutions below ACYCLIC

    DEPENDENCY PRINCIPLE above allowed forbidden
  281. 15.04.24 //// Seite 89 WPS – Workplace Solutions Große Zyklen

    wachsen: Erste Analyse 119 Klassen aus 4 Komponenten + 28 weitere Klassen
  282. 15.04.24 //// Seite 90 WPS – Workplace Solutions Große Zyklen

    wachsen: Zweite Analyse 327 Klassen aus 8 Komponenten brauchen sich gegenseitig
  283. 15.04.24 //// Seite 91 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Wir bauen einen fachlichen Anwendungskern pro Bounded Context § Dieser enthält die Fachlogik und ist frei von UI und Infrastruktur-Code § Infrastruktur wird über Adapter angebunden (Dependency Inversion / Dependency Injection)
  284. 15.04.24 //// Seite 3 WPS – Workplace Solutions Entities Value

    Objects Aggregates Services Factories Repositories
  285. 15.04.24 //// Seite 4 WPS – Workplace Solutions ENTITIES §

    Objekte einer Fachdomäne, die der Anwender bearbeitet § An ihnen schlagen sich die Arbeitsergebnisse nieder! § Können aus anderen Entities zusammengesetzt sein § Besitzen unveränderliche Identität § Sichern ihre eigene Konsistenz und Integrität § Haben klar definierten Lebenszyklus § Besitzen einen (meist veränderlichen) Zustand § Beschreiben ihren Zustand mit Value Objects § Synonyme: Business Object / Domain Object / Material § NICHT ZU VERWECHSELN mit dem Begriff »Entity« aus dem Entity-Relationship-Modell! Foto: Bundesrepublik Deutschland/Wikipedia/PD Germany Foto: Thomas G./Wikipedia/CC BY-SA 3.0
  286. 15.04.24 //// Seite 6 WPS – Workplace Solutions ENTITIES «Entity»

    Peilplan peilplanNummer markiere(Markierung) «Entity» Silhouette name verschiebeUm(Länge) «Entity» Markierung id wähleFarbe(Farbe)
  287. 15.04.24 //// Seite 7 WPS – Workplace Solutions VALUE OBJECTS

    § Value Objects sind Symbole für Werte eines bestimmten Typs in der Fachdomäne § Identitätslos § Symbolisieren bei Gleichheit denselben Wert § Sie werden vom Anwender nicht bearbeitet und sind unveränderlich § Können ggf. (aus anderen Value Objects) berechnet werden § Können aus anderen Value Objects bestehen, aber nie aus Entities! § Synonyme: Fachwert, Wert, Whole Value ValueObject 2,5 ValueObject ValueObject ValueObject ValueObject zwei- einhalb
  288. 15.04.24 //// Seite 9 WPS – Workplace Solutions VALUE OBJECTS

    «Value Object» Tiefenzahl centimeter : int equals() <<Value Object>> Position latitude : float longitude: float equals() <<Value Object>> Diameter centimeter : int equals()
  289. 15.04.24 //// Seite 10 WPS – Workplace Solutions VALUE OBJECTS

    – WEITERES § Whole Value (Tiefe = „100 cm“ statt TiefeInCentimeter = „100“) § Methoden dürfen Zustand nicht verändern, aber »neue« Value Objects zurückgeben § In Java < 14 viel Boilerplate-Code nötig § è Project Lombok: @Value § è ab Java 14: record types § Operators / Operator Overloading (je nach Sprachunterstützung) § Der gleiche Begriff kann im einem Bounded Context Entity sein und im anderen Value Object à https://c2.com/ppr/checks.html
  290. 15.04.24 //// Seite 11 WPS – Workplace Solutions IMMUTABILTY ALLEIN

    MACHT NOCH KEIN VALUE OBJECT Values Entities Mutable Immutable
  291. 15.04.24 //// Seite 14 WPS – Workplace Solutions AGGREGATES §

    Aggregates sind Entities, die für sich genommen relevant sind (und nicht nur als Teil einer anderen Entity) § Schützen Konsistenz und Integrität ihrer inneren Entities § Besitzen grundsätzlich eine gekennzeichnete Entität als Einstiegspunkt (Wurzel / Root) § Werden üblicherweise persistiert § Als Ganzes! § Nicht notwendigerweise relational! § Synonyme: Composite (UML) Root Entity Entity Entity Entity Aggregate Entity (Single-Entity) Aggregate
  292. 15.04.24 //// Seite 15 WPS – Workplace Solutions VALUE OBJECTS

    IN ENTITIES / AGGREGATES § Value Objects sind unveränderlich und können von beliebiger Stelle referenziert werden. àTechnisches Implementierungsdetail, z.B. in Java àKönnen natürlich auch direkt in einer Entity als Wert eingebettet sein, z.B. via Structs in C# àUnveränderlichkeit heißt es ist egal, ob man eine geteilte Instanz oder beliebig viele Kopien des Wertes hat, und ob sie separat auf dem Heap oder eingebettet im Objekt liegen àWahl kann Performance-Auswirkungen haben Root Entity VO VO VO Aggregate Irgendein anderes Objekt
  293. 15.04.24 //// Seite 17 WPS – Workplace Solutions AGGREGATES «Root

    Entity» Peilplan peilplanNummer markiere(Markierung) «Inner Entity» Markierung id wähleFarbe(Farbe)
  294. 15.04.24 //// Seite 18 WPS – Workplace Solutions Aggregate «Aggregate

    Root» Peilplan «Entity» Markierung «Value Object» Tiefenzahl
  295. 15.04.24 //// Seite 19 WPS – Workplace Solutions REFERENZEN ZWISCHEN

    AGGREGATES § Aggregates referenzieren sich gegenseitig nur über (Wurzel-Entity) IDs, nicht über Objektreferenzen § Sofortige Konsistenz nur innerhalb eines Aggregates; über mehrere gilt Eventual Consistency Bestellung Position 1 4711 Position 2 Artikel Artikel Position 3 4711 4812 ID: 4711 ID: 4812
  296. 15.04.24 //// Seite 20 WPS – Workplace Solutions REFERENZEN ZWISCHEN

    AGGREGATES «Root Entity» Peilplan peilplanNummer markiere(Markierung) «Root Entity» Silhouette name verschiebeUm(Länge) «Inner Entity» Markierung id wähleFarbe(Farbe) angezeigte
  297. 15.04.24 //// Seite 22 WPS – Workplace Solutions REPOSITORIES §

    Sind die Zugriffspunkte auf die Aggregates! § Kapseln die technischen Details der technischen Infrastrukturschicht § Bilden Daten auf fachliche Entities und Value Objects ab § Persistieren Entities z. B. in Datenbanken Repository Aggregate Aggregate Aggregate Aggregate Aggregate
  298. 15.04.24 //// Seite 24 WPS – Workplace Solutions REPOSITORY: ZWEIGETEILTE

    IMPLEMENTIERUNG «Repository Interface» Kartenschrank holePeilplan(:Gebiet, Massstab) : Peilplan legeZurück(:Peilplan) «Repository Implementation» MySQLKartenschrank Domain Infrastructure
  299. 15.04.24 //// Seite 27 WPS – Workplace Solutions Service (DOMAIN)

    SERVICES § (Domain) Services stellen Abläufe oder Prozesse der Fachdomäne dar § Und zwar solche, die nicht von Aggregaten ausgeführt werden können / sollen § Sie sind zustandslos! § Parameter und Ergebnisse ihrer Operationen sind Entities und Value Objects Aggregate Entity Value Object Aggregate Value Object Entity Aggregate Value Object Entity Value Object
  300. 15.04.24 //// Seite 29 WPS – Workplace Solutions Domain Event

    DOMAIN EVENTS § Sind aus fachlicher Sicht relevant § Ereignisse sind bereits geschehen § NICHT die Dinge, die erst noch geschehen sollen! § Einige Bounded Contexts reagieren auf diese fachlichen Ereignisse, andere nicht § Werden zur Kommunikation zwischen Bounded Contexts verwendet § fördern deren Entkoppelung § erleichtern asynchrone Prozesse § Werden oft mithilfe von Messaging ausgetauscht
  301. 15.04.24 //// Seite 30 WPS – Workplace Solutions MANÖVER- PLANUNG

    PEILPLAN- ERSTELLUNG PEILPLAN ERSTELLT DOMAIN EVENTS IM HAFEN
  302. 15.04.24 //// Seite 31 WPS – Workplace Solutions EVENT SOURCING

    § Klassische Speicherung von Aggregaten: § Der Zustand als Ganzes wird gespeichert § Commands ändern Felder § Event Store § Die (zustandsändernden) Ereignisse werden gespeichert § Commands fügen Events hinzu § Append-only § Es gibt kein Löschen von Events § Aber stornierende Events § Aggregate-Zustand wird durch Replay der Events wiederhergestellt § History-Funktion § Snapshots für Performance bzw. nach Abschluss gewisser Geschäftszeiträume (Geschäfts-Tag / Monat / Jahr)
  303. 15.04.24 //// Seite 32 WPS – Workplace Solutions EVENT SOURCING

    IM HAFEN Beispielszenario: Zustandsspeicherung: Event Sourcing: § Silhouette an Position A Position = A Position = A § Verschiebe um 50m Position = B Verschoben um 50m § Drehe um +30° Position = C Gedreht um +30° § Verschiebe um 100m Position = D Verschoben um 100m § Drehe -30° Position = E Gedreht um -30° § Silhouette an Position Z Position = Z Position = (A+50m, +30°,+100,-30°) = Z
  304. 15.04.24 //// Seite 33 WPS – Workplace Solutions EVENT SOURCING

    IM HAFEN § Klassische Implementierung: § Ändern der aktuellen Position § Event Sourced: § Merken der Verschiebungen und Drehungen Silhouette verschiebeUm(:Laenge) dreheUm(:Winkel) position() position Silhouette verschiebeUm(:Laenge) dreheUm(:Winkel) position() bewegungen() bewegungen «DomainEvent» SilhouetteGedreht winkel() «DomainEvent» SilhouetteVerschoben laenge()
  305. 15.04.24 //// Seite 34 WPS – Workplace Solutions FACTORIES §

    Factories erzeugen Aggregates (und ggf. auch Value Objects) § Aggregates und Value Objects müssen nicht unbedingt über Factories erzeugt werden. § new Peilplan() ist ok! § Kapseln komplexe Erzeugungslogik § Erhalten Invarianten à erstellt fertiges Aggregat § Siehe auch Factory und Builder Pattern der GOF Factory Aggregate Aggregate ValueObject Aggregate ValueObject
  306. 15.04.24 //// Seite 35 WPS – Workplace Solutions § Orchestrieren

    Anwendungsfälle § Dienen dem technischen Zugriff auf den Domain Layer. § Nutzen Fachlogik aus dem Domain-Layer, implementieren selbst aber keine Fachlogik! § Liegen im Application-Layer (OBERHALB des Domain-Layers)! § Bieten ein API / bilden eine Fassade. § Eher Technik-getrieben § Transaktionen § Security § Backend for Frontend APPLICATION SERVICE Foto: Fotograf Andreas Praefcke/Wikipedia/PD-self
  307. 15.04.24 //// Seite 36 WPS – Workplace Solutions ARCHITECTURE HAMBURGER

    Application Domain Infrastructure UI coarse grained Henning Schwentner !
  308. 15.04.24 //// Seite 37 WPS – Workplace Solutions Domain ELEMENTE

    DES DOMAIN-KERNELS User Interface Infrastructure Application Domain Service Factory Aggregate Value Object Repository Root Entity Entity Domain Event Application Service (Adapter) (Adapter) (Adapter) (Adapter)
  309. 15.04.24 //// Seite 38 WPS – Workplace Solutions Domain ELEMENTE

    DES DOMAIN-KERNELS User Interface Infrastructure Application Domain Service Factory Aggregate Value Object Root Entity Entity Domain Event Application Service (Adapter) Repository Implementation (Adapter) (Adapter) Repository Interface
  310. 15.04.24 //// Seite 39 WPS – Workplace Solutions Domain Kernel

    RepoInMemory Repo RepoTest • Repo: Interface des Repositorys à „Syntax“ • RepoTest: Akzeptanz-Tests/Unit-Test für das Repository à »Semantik« • RepoInMemory: Referenz-Implementierung des Repositorys • Ohne Persistenz. • Nutzbar als (umfassend getesteter) »Mock« in fachlichen Tests. • Schnell im Mob zu realisierende Implementierung. Aggregate NOCHMAL GENAUER
  311. 15.04.24 //// Seite 40 WPS – Workplace Solutions Adapter 3

    Adapter 2 Adapter 1 Domain Kernel OracleDB xxx .csv RepoInMemory RepoCsv RepoRelational RepoRest Repo RepoTest 3rd party (REST-API) TRENNUNG TECHNISCHE & FACHLICHE ARCH.
  312. 15.04.24 //// Seite 41 WPS – Workplace Solutions Der Domänen-Kern

    setzt ALLE fachlichen Features unseres Bounded Contexts um! Domänen Kern Ich kann alles!
  313. 15.04.24 //// Seite 42 WPS – Workplace Solutions ELEMENTE VON

    APPLICATION- UND DOMAIN-SCHICHT Application Services Factories Aggregates Repositories »Mikro-Schichtung« (nicht strikt!) Fachbegriffe • Unterstützen Lebenszyklus • übergreifende Fachlogik Entities Value Objects Services Events • Prozesse und Anwendungsfälle • Integration
  314. 15.04.24 //// Seite 43 WPS – Workplace Solutions ARCHITECTURE HAMBURGER

    fine grained model repository interface controller use case service entity value object view data model repository implementation widget library REST frame- work transaction handling domain library programming language ORM file system access domain event Henning Schwentner !
  315. 15.04.24 //// Seite 45 WPS – Workplace Solutions MODULE ZUR

    STRUKTURIERUNG EINES FACHLICHEN KERNS MANÖVER-PLANUNG SILHOUETTE MODUL TIDE MODUL PEILPLAN MODUL Peilplan Markierung ZoomService Peiplan Repository Tiefe Position Silhouette Silhouette Repository TideService Tageszeit
  316. 15.04.24 //// Seite 46 WPS – Workplace Solutions ZUSAMMENFASSUNG §

    Taktisches Design mit Bausteinen § Mustersprache von DDD § Entities, Value Objects, Aggregates, Events § Services, Factories, Repositories § Application Services, Use Cases § Hexagonale Architektur, Architektur-Hamburger § Module zur Strukturierung eines fachlichen Kerns
  317. 17.04.24 //// Seite 4 WPS – Workplace Solutions DOMÄNE KEN

    N EN - L ER N EN A U F - T E IL E N SPRACHE MODELL CODE Event Storming Subdomains Domain Storytelling Core, Supporting, Generic Subdom ains Bounded Contexts Brownfield Development Context Maps Ubiquitous Language BDD, Example Mapping Hexagonal Architecture Entities Microservices Event Sourcing Collaborative Modelling Value Objects Services Events Building Blocks Aggregates Repositories Scenario Casting / Orientierungsszenario
  318. “How to draw an owl: Lessons in becoming an expert

    in a couple of easy steps” by Cea / CC BY-2.0
  319. 17.04.24 //// Seite 6 WPS – Workplace Solutions Blue Book

    1968 ... Conways Law CQRS Event Sourcing 2015 ’16 ’17 ’14 ’13 ’12 2010 ’11 ’09 ’08 ’07 ’06 2005 ’04 ’03 ’02 2000 ’01 ’99 ’98 ’19 2020 ’18 ’21 ’22 ’23 ’24 2025 Red Book
  320. 17.04.24 //// Seite 7 WPS – Workplace Solutions TUTORIALS §

    https://tutorials.entwickler.de § https://leasingninja.io
  321. 17.04.24 //// Seite 10 WPS – Workplace Solutions Software@Work §

    WPS Konferenz § Highlights und Trends in der Softwareentwicklung § Anwendungsfälle aus der Praxis
  322. 17.04.24 //// Seite 11 WPS – Workplace Solutions iSAQB®-Trainings der

    WPS § Foundation Level § Trainingslager Softwarearchitektur (iSAQB® Foundation Level) § Advanced Level § DDD konkret (iSAQB® Modul DDD) § Agile Architektur konkret (iSAQB® Modul AGILA) § Architekturbewertung konkret (iSAQB® Modul ARCEVAL) § Softwarearchitekturen verbessern (iSAQB® Modul IMPROVE) § Microservices und DevOps konkret (iSAQB® Modul FLEX) § Infrastruktur, Container, Cloud-Native (iSAQB® Modul CLOUDINFRA) § Web Security (iSAQB® Modul WEBSEC)
  323. 17.04.24 //// Seite 13 WPS – Workplace Solutions Beispiel für

    iSAQB® Advanced Level „Fahrplan“ § Trainingslager Softwarearchitektur § (iSAQB® Foundation Level) § Domain-Driven Design konkret § iSAQB® Modul DDD § Architektur- verbesserung § iSAQB® Modul IMPROVE § Infrastruktur, Container, Cloud- Native § iSAQB® Modul CLOUDINFRA M T K ✓ 20 10 0 20 0 10 Brownfield Microservices 10 20 0 50 20 10
  324. 17.04.24 //// Seite 15 WPS – Workplace Solutions Vertiefungsangebote der

    WPS § Individuelle Vertiefungsworkshops § Architekturworkshops § Domain-Driven Transformation § Docker & Kubernetes Camp § Java Camp, Kotlin Camp § Szenario-basiertes Vorgehen § Anforderungsanalyse: § Domain Storytelling, Event Storming § Scenario Casting, Orientierungsszenarios, Scenario Backlog, User Story Mapping § Remote Modeling § Einführung ins Testen (Testverfahren, Testmanagement) § BDD, TDD (Backend / Frontend), Entwicklertag/Coden, …
  325. 17.04.24 //// Seite 16 WPS – Workplace Solutions Vertiefungsangebote der

    WPS § Agilität § Scrum Master I und Agile Praxis § Product Owner I § Agile Leadership § Gamification im Projektalltag (Bingo Bongo Testing, Kanban Pizza Game, …) § Architekturanalysen / -workshops § Statische Codeanalyse, Metrik-basierte Bewertung von Software, Modularity Maturity Index (MMI) § Audits § Beratung, individuelle Modularisierungsstrategien im Brownfield-Umfeld § Coaching und Moderation auf allen Ebenen durch unsere Experten
  326. 17.04.24 //// Seite 17 WPS – Workplace Solutions ENDE §

    Vielen Dank! § Bitte gebt noch euer Feedback zu dieser Schulung! Feedback