SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Softwarequalität



               Fachklassenmodellierung



Prof. Dr. Wolfgang Golubski      Gerrit Beine, M.Sc.
      golubski@fh-zwickau.de        mail@gerritbeine.com


                                                           1
Ziele eines fachlichen Datenmodells




                                      2
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
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
Fachklassenmodellierung




                          5
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
Beispiele zur Modellierung fachlicher Wertetypen

 Primitive Typen                           Aufzählungstypen




Komplexe Typen




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

Más contenido relacionado

Más de Gerrit Beine

Conway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-ArchitekturConway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-ArchitekturGerrit Beine
 
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wirdBeyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wirdGerrit Beine
 
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias CurveMastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias CurveGerrit Beine
 
Gut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile ArchitekturenGut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile ArchitekturenGerrit Beine
 
Beyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meisternBeyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meisternGerrit Beine
 
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...Gerrit Beine
 
Backlog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo SimulationenBacklog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo SimulationenGerrit Beine
 
Der hyperbolische Thread-Koeffizient
Der hyperbolische Thread-KoeffizientDer hyperbolische Thread-Koeffizient
Der hyperbolische Thread-KoeffizientGerrit Beine
 
Vom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerVom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerGerrit Beine
 
Die Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der PraxisDie Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der PraxisGerrit Beine
 
Vom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerVom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerGerrit Beine
 
Technische Schulden - mit Notizen
Technische Schulden - mit NotizenTechnische Schulden - mit Notizen
Technische Schulden - mit NotizenGerrit Beine
 
Technische Schulden
Technische SchuldenTechnische Schulden
Technische SchuldenGerrit Beine
 
Die Product Owner Toolbox
Die Product Owner ToolboxDie Product Owner Toolbox
Die Product Owner ToolboxGerrit Beine
 
Agile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit NotizenAgile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit NotizenGerrit Beine
 
Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...Gerrit Beine
 
Scaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen WegenScaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen WegenGerrit Beine
 
NTFS On Disk Structure
NTFS On Disk StructureNTFS On Disk Structure
NTFS On Disk StructureGerrit Beine
 

Más de Gerrit Beine (20)

Conway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-ArchitekturConway’s Law & Soziologie in der Software-Architektur
Conway’s Law & Soziologie in der Software-Architektur
 
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wirdBeyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
Beyond User Stories - Backlogs priorisieren, wenn es anspruchsvoll wird
 
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias CurveMastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
Mastering Cargo Cult - Dunning, Kruger & die Agile Bias Curve
 
Gut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile ArchitekturenGut genug - Rahmenbedingungen für agile Architekturen
Gut genug - Rahmenbedingungen für agile Architekturen
 
Beyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meisternBeyond Agile – Ungewissheit mit der Real Option Theory meistern
Beyond Agile – Ungewissheit mit der Real Option Theory meistern
 
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
Backlog Priorisierung 2020: Wertmodelle & Simulationen von Intangibles zur Pr...
 
Backlog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo SimulationenBacklog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
Backlog Priorisierung mit Cost of Delay & Monte Carlo Simulationen
 
Der hyperbolische Thread-Koeffizient
Der hyperbolische Thread-KoeffizientDer hyperbolische Thread-Koeffizient
Der hyperbolische Thread-Koeffizient
 
Broken by Design
Broken by DesignBroken by Design
Broken by Design
 
Vom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerVom Projektleiter zum Product Owner
Vom Projektleiter zum Product Owner
 
Die Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der PraxisDie Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
Die Testedimaryp - Über die Antimonie des agilen Testens in der Praxis
 
Vom Projektleiter zum Product Owner
Vom Projektleiter zum Product OwnerVom Projektleiter zum Product Owner
Vom Projektleiter zum Product Owner
 
Antifragilität
AntifragilitätAntifragilität
Antifragilität
 
Technische Schulden - mit Notizen
Technische Schulden - mit NotizenTechnische Schulden - mit Notizen
Technische Schulden - mit Notizen
 
Technische Schulden
Technische SchuldenTechnische Schulden
Technische Schulden
 
Die Product Owner Toolbox
Die Product Owner ToolboxDie Product Owner Toolbox
Die Product Owner Toolbox
 
Agile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit NotizenAgile Coach zu werden ist nicht schwer... - mit Notizen
Agile Coach zu werden ist nicht schwer... - mit Notizen
 
Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...Agile Coach zu werden ist nicht schwer...
Agile Coach zu werden ist nicht schwer...
 
Scaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen WegenScaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
Scaled, Distributed, Agile - Produktentwicklung auf neuen Wegen
 
NTFS On Disk Structure
NTFS On Disk StructureNTFS On Disk Structure
NTFS On Disk Structure
 

Softwarequalität - Fachklassenmodellierung

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