Die Anwendungsfälle haben wir werden der Anforderungsanalyse erfasst als UML Use-Case Diagramm und als Tabellen oder Prosatext im Pflichtenheft oder Gesamtspezifikation spezifiziert und beschrieben. Das Use-Case Diagramm unten gibt einen Überblick über die Anwendungsfälle der Basar Anwendung.
Anschließend haben wir das Fachmodell werden der Anforderungsanalyse erfasst als UML Klassen Diagramm. Das Fachmodell beschreibt die fachlichen Klassen der Anwendung. Auf dem Modell operieren die erfassten Anwendungsfälle. Daher macht es Sinn das Modell aus dem Use-Case Diagramm abzuleiten. Das Klassen Diagramm unten gibt einen Überblick über die Klassen des Fachmodell der Basar Anwendung (Attribute sind im Modell nicht dargestellt).
Im Rahmen der Spezifikation der Anwendungsbausteine im Systementwurf in der Bausteinsicht haben wir die Methode Domain Driven Design kennengelernt zur Spezifikation der Geschäftlogik einer Fachanwendung als Domain Modell. Die Methode Domain Driven Design beschrieben von Eric Evans im Buch "Domain Driven Design – Trackling Complexity in Heart of Software" beschriebt die folgenden Model Element Typen.
Entities
"Many objects are not fundamentally defined by their attributes, but rather by a thread of continuity and identity" – Eric Evans. Eine Klasse vom Typ Entity beschreibt also ein Objekt das eine Identität hat z.B. Kunden.
Value Objects
"Many objects have no conceptual identity. These objects describe some characteristic of a thing" – Eric Evans. Ein Klasse vom Typ Value Object beschreibt ein Objekt das keine Identität hat. Also ein Objekt das kein eindeutigen technischen oder fachlichen Schlüssel besetzt der die Objektidentität beschreibt. Vielmehr beschreibt der Wert der Attribute bzw. Attribut die Identität des Objekts. Beispiel ein Objekt vom Typ Farbe ist dann gleich (hat die selbe Objektidentität) wenn es die gleichen RGB Werte z.B. für Schwarz hat.
Services
Repositories
Factories
Domain Driven Design Beispiel
Nach dem wir einige der Grundbegriffe des Domain Driven Design beschrieben haben, sehen Sie unten ein Klassendiagramm für das Domain Modell der Basar Anwendung erstellt nach den Ideen des Domain Driven Design.
Da wir etwas in Verzug mit dem Stoff der Vorlesung sind, werden wir in der nächsten Vorlesung "Build Prozesse und Configuration Management" am 12.11.2010 das Thema Systementwurf und Domain Driven Design nochmals wiederholen und vertiefen.
Literatur:
- Domain-Driven Design - Eric J. Evans 2003
Links:
- Domain Driven Design Sample Application - http://dddsample.sourceforge.net/
Keine Kommentare:
Kommentar veröffentlichen