Child pages
  • ST1 - Workshop M2: Transformation zum logischen Datenmodell (21.12.2020)

ST1 - Workshop M2: Transformation zum logischen Datenmodell (21.12.2020)

Sie sollen eine Software für eine Appartment Management Company schreiben, mit deren Hilfe die Firma die ihr anvertrauten Ferienappartments (VacationAppartment) managen kann. Hier sehen Sie das fachliche Datenmodell, das Sie zusammen mit dem Kunden erarbeitet haben. 

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).
  • 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.

Übung 1 -  Klassifizierung nach vier Datenarten

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)

Machen Sie dies für alle Geschäftsobjekte und Beziehungen. 

Lösung

Annotiert sind die Datentypen. Umkringelt die Änderungs- und Bewegungsdaten, die tatsächlich in dedizierte Klassen umgesetzt werden sollen. Zu entfernende Klassen sowie Entities und Value Objects sind ebenfalls annotiert (siehe Übungen 2, 3 und 4).

Übung 2 -  Markieren Sie überflüssige Klassen im fachlichen Datenmodell

Markieren Sie überflüssige Klassen nach den Regeln der Vorlesung. Dabei sollten Sie beachten: 

  • 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.)

Übung 3 - Fügen Sie fehlende Klassen hinzu

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. 
  • 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 beginDateendDate, price.

Listen Sie alle Klassen auf, die Sie im logischen Datenmodell sehen wollen. 

Übung 4 -  Entities oder Value Objects

Bestimmen Sie für alle Geschäftsobjekte im LDM, ob sie Entities oder Value Objects sind. 

Übung 5 - Modellieren Sie das LDM, und legen Sie dabei die Beziehungsrichtungen fest

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