Eine Neuigkeit von yourIT GmbH

Requirements-Engineering - Designmethoden

WIE KÖNNEN WIR AUS GROBEN ZIELEN UND VORGABEN DIE GRANULARITÄT VON ANFORDERUNGEN VERFEINERN UND DABEI GESCHÄFTSPROZESSE (USE CASES) UNTERSUCHEN? WENN WIR IN DER SOFTWAREENTWICKLUNG ÜBER FACHLICHE ANFORDERUNGEN SPRECHEN WOLLEN, SPRECHEN WIR AM BESTEN IN DER SPRACHE DER FACHEXPERTEN. IN DER SPRACHE DES KUNDEN! DAFÜR MÜSSEN ENTWICKLER, PRODUCT OWNER UND PROJEKTLEITER DIE FACHSPRACHE ERLERNEN. DIESER ANSATZ NENNT SICH DOMAIN-DRIVEN-DESIGN (DDD).

Domain-Driven-Design (DDD) - Modellierung nach Fachlichkeit

Der Grundsatz dieser Methode lässt sich kurz zusammenfassen: "Wir konzentrieren uns ausschließlich auf den fachlichen Teil eines Themas und nicht auf mögliche technische Lösungen." Als Hilfsmittel zur Modellierung sei hier auf das Domain Storytelling verwiesen!
Was sind eigentlich die Vorteile des DDD?
Die Kommunikation zwischen Fachexperten und Entwicklerteam ist frei von Störungen, denn es kann direkt über Prozesse, Abläufe oder Funktionen eingestiegen werden
Fachexperten können Ihre Anforderungen präziser formulieren, da sie sich in ihrer Fachdomain befinden

Requirements-Engineering - Designmethoden Agile Softwareentwicklung yourIT
Requirements-Engineering - Designmethoden

Wichtig beim Ansatz der Modellierung nach Fachlichkeit ist die Erarbeitung eines gemeinsamen Sprachschatzes (Glossar) auf Basis der Ubiquitous Language. Dieses Glossar ist die Grundlage der gemeinsamen Projektsprache - Kommunikation zwischen Entwickler, Product Owner, Projektleiter und Fachexperten. Als Hilfsmittel zur Modellierung gibt es unterschiedliche Werkzeuge, hier sei eines dieser genannt: wps.de

Strategisches Design - Bounded Context (BC)

Beim strategischen Design ordnen wir Fach-/Themengebiete die inhaltlich zusammengehören (Bounded Context). Wichtig hierbei ist die Klassifizierung und Dokumentation der Begrifflichkeiten pro Bounded Context.

Kontextbetrachtung am Beispiel Softwareentwicklung

Softwareentwicklung als Zentrum, hier findet die eigentliche Softwareentwicklung statt.
Anforderungen identifizieren
Entwürfe ausarbeiten
Anforderungen implementieren
Automatisierte Tests der Implementierung
Third-Level-Support
...
Rechnungswesen
Geschäftsbuchführung
Kosten- und Leistungsrechnung
Statistik
Planungsrechnung
Informationsaufgabe
...
Vetrieb/Marketing
Aufbau eines Kundenstammes
Pflege der bestehenden Kundenbeziehungen
Vorschläge zur Produktentwicklung
...
Support
Klassifizieren von Kundenanfragen
Klassifizierung und Fehlern
..
Buchhaltung
Bearbeitung der Transaktionen
Verfassen von Steuererklärungen
Verfassen von Lohnabrechnungen
Prüfung, Kontierung und Verbuchung von laufenden Geschäftsvorfällen
...
Zusammengehörige Fach-/Themengebiete zu ordnen ist das eine, aber wie gehen wir mit "Bounded Context" um? Die Antwort kommt prompt: Wir modellieren granulare Basisbausteine (Taktisches Design).

Taktisches Design

Taktisches Design oder auch Tactical Pattern genannt ist eine Reihe von Entwurfsmustern und Bausteinen, mit denen domänengesteuerte Systeme entworfen werden können. Selbst Projekte die nicht domänengesteuert sind, können von der Verwendung einiger taktischer DDD-Muster profitieren.

Welche taktischen Werkzeuge stehen uns hier zur Verfügung?

Im Vergleich zu strategischem domänengesteuertem Design ist taktisches Design viel praktischer und näher am eigentlichen Code. Strategisches Design befasst sich mit abstrakten Ganzen, während taktisches Design sich mit Klassen und Modulen befasst. Der Zweck des taktischen Entwurfs besteht darin, das Domänenmodell so zu verfeinern, dass es in Arbeitscode konvertiert werden kann.

Mehr Infois hierzu unter: https://docuframe.blogspot.com/2020/04/requirements-engineering-designmethoden.html#more

Erstellt am 30.06.2020 von

Unsere Website verwendet Cookies. Nähere Informationen, auch dazu, wie Sie das künftig verhindern können, finden Sie hier: Informationen zum Datenschutz

Hinweis verbergen