Kontakt
Mail: stefan.bente@th-koeln.de
Tel.: +49 2261 8196 6367
Skype: stefan.bente
Discord Server
Adresse:
Steinmüllerallee 4
51643 Gummersbach
Gebäude LC4
Raum 1708
Sprechstunde nach Vereinbarung
Terminanfrage: calendly.com Wenn Sie dieses Tool nicht nutzen wollen, schicken Sie eine Mail und ich weise Ihnen einen Termin zu.

Übung »ST1 - Workshop 29.11.2021, M3 - Transformation zum logischen Datenmodell«

Diese Übung soll Sie auf die Transformation vom fachlichen zum logischen Datenmodell vorbereiten, das ist der Inhalt von Praktikums-Meilenstein M3. Daraus können Sie dann sofort Ihren Code ableiten - das machen wir dann in M4.

Dauer
Ca. 360 min
Video(s) zu der Übung

Inhalt

Worum geht es?

Dieses Beispiel werden wir in der Übung nutzen (neben kleinen Übungs-“Schnipseln”).

Fachliches Datenmodell

Erklärungen:

  • Die Appartment Management Company betreut eine Anzahl von Vacation Appartments. Als Attribut ist zunächst nur die Größe (size) erfasst.
    • Kunden der Firma (Client) können Appartments mieten (rent) . In beiden Fällen betreut die Firma ihre Kunden (service).
    • Die Kunden können auch ein ein Teil-Eigentum (share-own) am Appartment erwerben, das sich zeitlich begrenzen lässt.
  • In beiden Fällen betreut die Firma ihre Kunden (service).
  • Die Firma kümmert sich bei den Appartments auch um die Wartung (manage). Dabei helfen festangestellte Hausmeister (CareTaker).
  • Betreuungsaktivitäten der Hausmeister brauchen in der Software nicht abgebildet zu werden. Das geschieht auf anderem Weg.
  • Sie sollen die Software zwar für die Firma Appartment Management Company erstellen, planen aber für später, die fertige Software dann auch an andere, ähnliche Firmen zu verkaufen. (Wir nehmen, dass Sie eine Client-Server-Software mit Webclient bauen und diese dann selbst hosten, um die Lösung an verschiedene Firmen zu verkaufen.)
  • Für ein Appartment muss jährlich ein Energie-Zertifikat erstellt werden (EnergyCertificate). Dieses wird für ein Jahr jeweils einmalig erstellt, und ändert sich später nicht mehr

Agenda

10:00 - 10:15 Allgemeine Fragen zu Orga und Inhalt von M3

Fragen?

10:15 - 10:45 Identifikation von überflüssigen Klassen

Schauen Sie sich das fachliche Datenmodell und gehen Sie die Hinweise durch. Gibt es Klassen, die man vielleicht für das logische Datenmodell streichen kann? Nuzten Sie auch das Gedankenexperiment aus dem Video: Stellen Sie sich vor, Sie bilden das Datenmodell auf eine relationale Datenbank ab. Dann hätte jedes Geschäftsobjekt seine eigene DB-Tabelle. Enthält diese Tabelle nur eine einzige Zeile? Dann brauchen Sie das Geschäftobjekt höchstwahrscheinlich nicht. Gibt es mehrere Zeilen in der Tabelle, braucht man es vielleicht.

Lösung

Es gibt zwei Klassen, die Sie untersuchen sollten.

  1. Caretaker - können Sie streichen. Wieso? “Betreuungsaktivitäten der Hausmeister brauchen in der Software nicht abgebildet zu werden. Das geschieht auf anderem Weg.”
  2. AppartmentManagementCompany - können Sie nicht streichen. Wieso? Wäre ein Kandidat für die “DB-Tabelle mit einer Zeile” - aber: “Sie sollen die Software zwar für die Firma Appartment Management Company erstellen, planen aber für später, die fertige Software dann auch an andere, ähnliche Firmen zu verkaufen.”. D.h. Sie brauchen eine mandantenfähige Software, die mehrere verschiedene Companies referenzieren wird. Das Geschäftsobjekt wird also weiter gebraucht.

10:45 - 12:30 Klassifizierung nach vier Datenarten

Video dazu (30 min) In den Vorlesungsvideos haben Sie eine Methode kennengelernt, Geschäftsobjekte und Beziehungen nach vier Datenarten zu klassifizieren:

  • Stammdaten (ST)
  • Änderungsdaten (ÄN)
  • Bestandsdaten (BS)
  • Bewegungsdaten (BW)

Schauen Sie sich das Video noch einmal an (25 min). Wenn Sie es schon gesehen haben, dann haben Sie so lange Pause. https://www.youtube.com/watch?v=w6967RWoLTk Quiz zur Übung (45 min) Hier sehen Sie ein einfaches fachliches Datenmodell zu einer Autoverleih-Firma. Wir machen ein Quiz: für die 4 Klassen und die drei Assoziationen stimmen wir ab, welcher Datentyp es ist, und diskutieren das.

QuizDatenarten

Lösung

QuizDatenarten-Loesung

Annotieren des fachliche Datenmodell zum Appartment-Management (30 min) Annotieren Sie das fachliche Datenmodell zum Appartment-Management. Diskutieren Sie das gern in kleinen Gruppen (Breakout-Rooms). Machen Sie dies für alle Geschäftsobjekte und Beziehungen.

Lösung

AnnotiertesFDM-Loesung1

12:30 - 13:30 Mittagspause

13:30 - 14:00 Entities oder Value Objects (1)

Bestimmen Sie für alle Geschäftsobjekte im fachlichen Datenmodell, ob sie Entities oder Value Objects sind. Entities sind mit “E” annotiert, Value Objects mit VO.

Lösung

AnnotiertesFDM-Loesung2

14:00 - 14:45 Identifizieren Sie fehlende Klassen

Gehen Sie die Bewegungs- (BW) und Änderungsdaten (ÄN) durch, und entscheiden Sie, wo Sie explizite Klassen benötigen.

  • Frühere Adressen von Kunden brauchen Sie nicht nachzuhalten, genauso wie abgelaufene Zertifikate.
  • Lesen Sie auch noch einmal aufmerksam die Erklärungen zum fachlichen Datenmodell. Für diese Daten machen machen Sie mit dem Kunden folgende Regeln aus:
  • Änderungsdaten haben die Form Verb in “-ing”-Form + Agreement, also so etwas wie EmployingAgreement. Änderungsdaten haben die Attribute beginDate und endDate.
  • Bewegungsdaten haben die Form Verb in “-ing”-Form + Contract, also so etwas wie LeasingContract. Bewegungsdaten haben die Attribute beginDate, endDate, price.

Lösung

Annotiert sind die Datentypen. Umkringelt die Änderungs- und Bewegungsdaten, die tatsächlich in dedizierte Klassen umgesetzt werden sollen. Damit braucht man zusätzlich folgende Klassen:

  • ServicingAgreement (beginDate, endDate)
  • ManagingAgreement (beginDate, endDate)
  • RentingContract (beginDate, endDate, price)
  • ShareOwningContract (beginDate, endDate, price)

AnnotiertesFDM-Loesung3

14:45 - 15:00 Pause

15:00 - ca. 17:00 Modellieren Sie das Logische Datenmodell, und legen Sie dabei die Beziehungsrichtungen fest

Video “Warum unidirektionale Beziehungen im logischen Datenmodell?” mit Fragen (45 min) Schauen Sie sich das Video noch einmal an (32min). Wenn Sie es schon gesehen haben, dann haben Sie so lange Pause. Stellen Sie mir gern zwischendurch oder hinterher Fragen. https://www.youtube.com/watch?v=RufBXPTt1SA Modellieren des LDM (45 min) Modellieren Sie das logische Datenmodell mit einem UML-Editor. Machen Sie dabei aus den ungerichteten noch gerichtete Beziehungen. Wenden Sie dabei die Regel “vom Speziellen zum Allgemeinen” an, die in dem entsprechenden Vorlesungsvideo erklärt wurde.

Lösung

LDM-Lösung

Entities oder Value Objects (2) Legen Sie für die neuen Klassen noch fest, ob sie Entities oder Value Objects sind.

Lösung

Die neuen Klassen sind alle Entities. Bei allen Agreements und Contracts will man Details ändern können, oder das Dokument durchläuft verschiedene Fertigstellungsphasen.