Menu

Seite313

Anonymous Joerg Reichert

3.1.3 Datenmodell für die Referenzimplementierung

Ecore-Datenmodell

UML-Datenmodell

Verbales Datenmodell

Das Datenmodell stellt einen sehr einfachen Online-Shop mit seinen Daten dar. Folgende Entitäten sind vorhanden:

  • Adressen (aka Address)
  • Personen (aka Person)
  • Kunden (aka Customer)
  • Rechnungen (aka Invoice)
  • Artikel (aka Article)
  • Artikeltypen (aka ArticleType)

Der Zusammenhang der Entitäten ist über die Beziehungen und Multiplizitäten modelliert und lässt sich wie folgt beschreiben:

  • eine Person hat mindestens eine Adresse (es können aber auch mehr sein)
  • eine Adresse ist keiner, einer oder vielen Personen zugeordnet
  • ein Kunde ist die Spezialisierung einer Person (somit hat er auch min. eine Adresse)
  • der Online-Shop hat Artikel
  • die Artikel lassen sich unterteilen in:
    • erwerbbare Artikel (sind keiner Rechnung zugeordnet)
    • bereits verkaufte Artikel (sind einer Rechnung zugeordnet)
  • jede Rechnung ist genau einem Kunden zugeordnet
  • einem Kunden können keine, eine oder viele Rechnungen zugeordnet sein
  • jede Rechnung besteht aus mindestens einen Artikel
  • jedem Artikel ist genau ein Artikeltyp zugeordnet

Spezielle fachliche Restriktionen, welche über das oben dargestellte Datenmodell hinausgehen ( wie zum Beispiel, dass einmal angelegte Rechnungen nicht mehr gelöscht werden dürfen) werden vom Generator nicht umgesetzt. Dafür muss dan der Code der Geschäftslogik angepasst werden.

Löschregeln

Aus dem Datenmodell ergeben sich folgende Löschregeln:

  • Adresse löschen
    1. überprüfen, ob der Adresse eine Person zugewiesen ist bzw. mehrere Personen zugewiesen sind
    2. nein -> Optionsfenster "Wollen sie Adresse löschen? -> Adresse löschen -> ENDE
    3. ja -> weiter mit 2.
    4. für jede Relation Adresse-Person ist zu prüfen: ist der Person nur eine Adresse zugewiesen
    5. nein -> Optionsfenster "Wollen sie Adresse löschen? mit dem Hinweis, dass die Adresse von Person_X1, Person_X" referenziert wird -> Adresse löschen -> ENDE
    6. ja -> Optionsfenster "Wollen sie Adresse löschen? mit dem Hinweis, dass die Adresse von Person_X1, Person_X" als einzige Adresse referenziert wird und deswegen auch diese Person(en) gelöscht werden und dadurch dann die Rechnungen_y1 bis Rechnung_y2 betroffen sind und dadurch die Artikel_z1 bis Artikel_z3 betroffen sind -> Adresse löschen -> ENDE

weiter zu 3.2 Aufteilung des Systems
zurück zu 3.1.2 Vorgehensweise
zurück zu 3.1 Persistente Daten
zurück zu 3 Entwurf
zurück zu Frontpage


Related

Documentation: FrontPage
Documentation: Seite000
Documentation: Seite300
Documentation: Seite310
Documentation: Seite312
Documentation: Seite314
Documentation: Seite320