10

Click here to load reader

Softwarequalität - Fachklassenmodellierung

Embed Size (px)

DESCRIPTION

Vorlesung Softwarequalität: Die Folien zum Thema Fachklassenmodellierung.

Citation preview

Page 1: Softwarequalität - Fachklassenmodellierung

1

Softwarequalität

Fachklassenmodellierung

Gerrit Beine, [email protected]

Prof. Dr. Wolfgang [email protected]

Page 2: Softwarequalität - Fachklassenmodellierung

2

Ziele eines fachlichen Datenmodells

Page 3: Softwarequalität - Fachklassenmodellierung

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

Page 4: Softwarequalität - Fachklassenmodellierung

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-AdressenKunden 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.

Page 5: Softwarequalität - Fachklassenmodellierung

5

Fachklassenmodellierung

Page 6: Softwarequalität - Fachklassenmodellierung

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)

Page 7: Softwarequalität - Fachklassenmodellierung

7

Beispiele zur Modellierung fachlicher Wertetypen

Primitive Typen Aufzählungstypen

Komplexe Typen

Page 8: Softwarequalität - Fachklassenmodellierung

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

Page 9: Softwarequalität - Fachklassenmodellierung

9

Beispiele zur Modellierung fachlicher Entitäten

● Buch besitzt ISBN-Nummer, Erscheinungsjahr und gehört in Kategorie

● 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

Fachliche Entitäten und Assoizationen (Auszug)

Page 10: Softwarequalität - Fachklassenmodellierung

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/