Archive for the ‘KonzMod’ Category

Konzeptionelle Modellierung I

Montag, Oktober 22nd, 2012

Auch in der objektorientierten Theorie gilt, wie in allen anderen Methoden zur Modellierung von Datenstrukturen, dass zu Beginn der Anwendungsbereich strukturiert werden muss. Dazu müssen Realweltphänomene, Attribute und Methoden in Zusammenhang gebracht werden. Folgende einfachen Faustregeln helfen dabei:

  1. Ein Realweltphänomen, das identifiziert und durch mindestens ein Attribut beschrieben wird, wird zur Klasse.
    Wird z.B. in einer Unternehmensdatenbank zu Projekten die Projetkbezeichnung (bezProjekt) gefunden, liegt erst mal nur ein Attribut vor, eines das z.B. bei ANGESTELLTEN festhalten könnte, in welchen Projekten sie mitarbeiten. Kommt aber ein zweites Attribut hier hinzu, z.B. Projektdauer (dauerProj) oder auch ein drittes (Projektbudget: budgetProj), dann werden die Projekte zu einer eigenen Klasse.
  2. Legt man die Klasse dann durch Zuweisung der restlichen Attribute und Methoden endgültig fest, muss man unbedingt darauf achten, dass sich alle Attribute auf ALLE Objekte der Klasse beziehen.
    Hat man z.B. in einer Klasse ANGESTELLTE „normale“ Mitarbeiten und Entwickler und es taucht das Attribut Programmiersprache (ps) auf, dann ist dies nur für einen Teil der Angestellten gültig, d.h. die Klasse muss zerlegt werden in zwei verschiedene, ENTWICKLER und SONSTIGE_ANGESTELLTE.
  3. Stellt man fest, dass mehrere Klassen entstehen, deren Attribute und/oder Methoden sich teilweise überlappen, liegt die in der Lehrveranstaltung besprochene Generalisierung/Spezialisierung vor. Diese ist dann anzulegen

Für Kenner der relationalen Datenbanktheorie: Punkt 2 ersetzt einen Teil der Überlegungen (2NF, 3NF), die man dort zur Normalisierung von Relationen macht. Beziehen sich alle Attribute auf alle Objekte, kann es die in 2NF und 3NF diskutierten Redundanzen nicht geben.