Softwarequalität - Fachklassenmodellierung

2,026 views

Published on

Vorlesung Softwarequalität:
Die Folien zum Thema Fachklassenmodellierung.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,026
On SlideShare
0
From Embeds
0
Number of Embeds
629
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Softwarequalität - Fachklassenmodellierung

  1. 1. Softwarequalität FachklassenmodellierungProf. Dr. Wolfgang Golubski Gerrit Beine, M.Sc. golubski@fh-zwickau.de mail@gerritbeine.com 1
  2. 2. Ziele eines fachlichen Datenmodells 2
  3. 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. 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
  5. 5. Fachklassenmodellierung 5
  6. 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
  7. 7. Beispiele zur Modellierung fachlicher Wertetypen Primitive Typen AufzählungstypenKomplexe Typen 7
  8. 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. 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. 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

×