3. Ziele eines fachlichen Datenmodells
● Grundlage für die Kommunikation mit Domänenexperten
● Wörterbuch für alle Projektbeteiligten
● Verstehen der fachlichen Strukturen und Zusammenhänge
● Bildet in Kombination mit Use Cases Basis einer fachlichen Architektur
● Abgrenzungen
● Entsteht während der Anforderungsaufnahme
● Plattformunabhängig – keine technischen Datentypen
● Fachlich spezifisch – Datentypen werden fachlich exakt beschrieben
3
4. Elemente von Fachklassenmodellen
● Fachliche Entitäten
● Klassen, deren Instanzen eine fachliche Identität besitzen
● Gleichheit wird an der Identität festgemacht
● Üblicherweise werden fachliche Entitäten persistiert
● Beispiel:
Identifikation von Kunden im Online-Shop über E-Mail-Adressen
Kunden mit gleichem Namen und gleichem Geburtsdatum sind nicht identisch
● Fachliche Wertetypen
● Klassen, deren Instanzen keine fachliche Identität besitzen
● Gleichheit wird am Wert festgemacht
● Es erfolgt keine explizite Persistierung, sondern nur implizite durch Entitäten
● Beispiel:
Es gibt beliebig viele 2-Euro-Stücke, ihr Wert ist identisch. Fachlich sind sie gleich, es
gibt aber keine Möglichkeit ihre Identität festzustellen.
4
6. Modellierung von fachlichen Wertetypen
● In UML auf drei Arten modelliert
● Primitive Datentypen
● Wertetyp besitzt keine Attribute und kann auf Basisdatentyp (Boolean, Integer,
Long, Float, Double, String) zurückgeführt werden
● Aufzählungstypen
● Wertetyp besitzt keine Attribute und die Wertemenge ist gering
● Sprachlich orientierte Werte eignen sich gut als Literale
● Beschreibung von Zuständen fachlicher Entitäten
● Komplexe Datentypen
● Als UML-Klassen modelliert
● Können sowohl Wertetypen als aus Entitäten referenzieren (Assoziationsklassen)
6
8. Modellierung von fachlichen Entitäten und Assoziationen
● Darstellung von fachlichen Entitäten als UML-Klassen
● Fachliche Entitäten besitzen lediglich Attribute und Assoziationen, keine Methoden
● Attribute sind fachliche Wertetypen
● Attribute mit mehr als einem möglichen Wert werden als Wertetyp mit Multiplizität
und Ausprägung {bag}, {ordered}, {sequence} modelliert
● Assoziationen können zu fachlichen Entitäten oder Wertetypen in der Rolle von
Assoziationsklassen bestehen
● Modellierung von Assoziationen
● Fachliche Multiplizitäten sollten erkennbar sein (z.B. 1..5, 0..7, 3..*)
● Navigierbarkeit sollte ersichtlich sein, leitet sich aus Anwendungsfällen oder
funktionalen Zusammenhängen ab
● Fachliche Bidirektionale Assoziationen sind explizit erlaubt
● Statt Assoziationsklassen zu verwenden, sollten Assoziationsenden mit
Ausprägungen {bag}, {ordered}, {sequence} versehen werden, sofern die Assoziation
keine weiteren Attribute besitzt
8
9. Beispiele zur Modellierung fachlicher Entitäten
● Buch besitzt ISBN-Nummer, Fachliche Entitäten und Assoizationen
Erscheinungsjahr und gehört in Kategorie (Auszug)
● Buch hat mindestens einen Preis
(Preise haben keine Identität)
● Buch hat mindestens einen Autor,
gibt es mehrere Autoren, ist deren
Reihenfolge wichtig
● Autoren haben einen Namen und
Vornamen und keines oder mehrere
Bücher geschrieben
● Funktional kann sowohl vom Autor auf
die Bücher zugegriffen werden, als auch
vom Buch auf den oder die Autoren
9
10. Verwendung dieser Unterlagen
● Wir stellen diese Unterlagen unter der Creative Commons Lizenz CC-BY-NC-SA zur allen
am Thema Interessierten Verfügung.
● Es ist erlaubt, die Unterlagen unter gleichen Bedingungen zu
● kopieren
● verteilen
● übertragen und
● adaptieren, wenn
● die ursprünglichen Autoren genannt werden und
● die Verwendung nicht zu kommerziellen Zwecken stattfindet.
● Details zur Lizenz sind hier zu finden:
http://creativecommons.org/licenses/by-nc-sa/3.0/
10