© Liashko/Shutterstock.com
Vielfältige Aspekte des Domain-driven Designs

Eine gemeinsame Sprache sprechen


Softwareprojekte scheitern oft nicht an der Technik, sondern an interdisziplinärer Kommunikation, wenn es zwischen Entwicklern und Fachleuten Verständnisprobleme gibt. Sie arbeiten mit unterschiedlichen Terminologien und sprechen somit unterschiedliche Sprachen. Hilfreich ist ein einheitliches und standardisiertes Vorgehen, das Entwickler und Fachexperten integriert. Domain-driven Design (DDD) verfolgt dieses Ziel.

Oft wissen Fachexperten genau, welches Problem zu lösen ist, und Entwickler wissen, wie sie es lösen können, doch die Kommunikation funktioniert nicht. DDD soll eine Grundlage zur verbesserten Kommunikation fachlicher Aspekte bieten, komplexe Vorgänge anhand einer klar abgegrenzten Domäne sauber modelliert werden. Fachlichkeit und Fachlogik des Anwendungsgebiets werden abgebildet. Dafür arbeiten in der Regel Personen mit unterschiedlichen fachlichen Hintergründen zusammen. Eine ubiquitäre Sprache, ein einheitlicher Standard für die Beschreibung der Komponenten des Projekts, ist entscheidend. DDD schafft eine interdisziplinäre Fachsprache, um effektiv qualitativ bessere Software zu entwickeln.

Unter dem Begriff Domäne versteht man ein Wissensbereich, für den eine Softwarelösung erstellt werden soll. Domäne bezieht sich nicht nur auf Fachlichkeit, sondern auf alle Prozesse, Elemente, Beziehungen und Abhängigkeiten. Eine Voraussetzung für DDD ist, dass alle Projektbeteiligten sich zu Beginn des Lebenszyklus der Software mit der Domäne beschäftigen. Das Fachwissen soll dabei so dargestellt, kommuniziert und strukturiert werden, dass Architekten und Entwickler ein umfassendes Verständnis aller fachlichen Herausforderungen erhalten. Das Domänenmodell ist nicht von der Software abgetrennt, sondern soll sich mit der Software weiterentwickeln. Quellcode und Modell bedingen sich im DDD-Konzept gegenseitig und sollen sich zu jeder Zeit auf dem gleichen Entwicklungsstand befinden. Bei der Feststellung, dass die im Modell festgelegten Elemente so nicht im Code umgesetzt werden können, wird das Domänenmodell neu angepasst. So kann ein effektiver Entwicklungsprozess, bei dem sowohl Fach- als auch Entwicklerseite den Überblick behalten, sichergestellt werden. Ubiquitous Language, die auf die Domäne zugeschnitten ist, zieht sich wie ein roter Faden durch das Projekt und dient als Basis für die gesamte Kommunikation. Auch der Kontext spielt dabei eine wichtige Rolle, denn die sprachliche Eindeutigkeit ist nur innerhalb eines abgegrenzten Kontexts (Bounded Cont...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang