i

Fachkonzept - Datenmodell

Grundidee: Nachbildung von Gegenstandsbereichen

Programme bzw. Software-Systeme werden entwickelt, um bestimmte Aufgaben automatisiert zu erledigen. Die Aufgaben betreffen dabei in der Regel einen bestimmten Gegenstandsbereich aus unserer Lebenswelt. Damit ein Programm diese Aufgaben erledigen kann, muss der Gegenstandsbereich im Programm dargestellt werden. Das Nachbilden von Gegenstandsbereichen ist also ein zentraler Aspekt bei der Entwicklung von Programmen.

Miniwelt

Mit Miniwelt bezeichnen wir den Weltausschnitt / Gegenstandsbereich, der dem zu entwickelnden Programm (Software-System) zu Grunde liegt.

Im Kontext Verwaltung von Bankkonten lässt sich die Miniwelt wie folgt beschreiben:

  • Eine Bank verwaltet Kundendaten und Kontodaten.
  • Eine Bank ermöglicht es ihren Kunden, Geldbeträge auf ihre Konten ein- und auszuzahlen.
  • Eine Bank ermöglicht es ihren Kunden, Geldbeträge auf andere Konten zu überweisen.
  • ...

Modell

Wenn das zu entwickelnde Programm (Software-System) komplexer ist, dann sollte man nicht gleich mit den Eintippen von Programmcode beginnen, sondern sich erst einmal Gedanken über die Struktur des zu erstellenden Produkts machen. Hierzu gehört es insbesondere, die Miniwelt so zu beschreiben, dass sie von einem Programm verwaltet und verarbeitet werden kann. Zu diesem Zweck entwickelt man ein Datenmodell zur Miniwelt.

Ein Modell ist eine vereinfachende Darstellung einer Miniwelt, die (für einen bestimmten Zweck ausgewählte) Teilaspekte der Miniwelt strukturgetreu beschreibt.

Aufgabe eines objektorientiertes Datenmodells ist es, die Struktur der Miniwelt mit Hilfe von Objekten und deren Beziehungen zu beschreiben.

Im Kontext Simulation eines Roboters könnte dieses Datenmodell mit folgenden Diagrammen beschrieben werden:

Objektdiagramm:

Objektdiagramm

Klassendiagramm:

Klassendiagramm

Beachte, dass ein Datenmodell nur die Miniwelt berücksichtigt, nicht jedoch irgendwelche Besonderheiten des zu entwicklenden Systems wie z. B. eine Benutzeroberfläche.

Entwicklung eines Datenmodells

Bei der Entwicklung eines Datenmodells sollte man alles Unwichtige weglassen. Im Fall der Bankwelt ist es zunächst unwichtig, wie die Kontoauszüge gestaltet werden sollen.

Bei der Entwicklung eines Datenmodells sollte man von speziellen Gegebenheiten abstrahieren und Objekte allgemein konzipieren. Das hat den Vorteil, dass man solche Objekte eher in anderen Problembereichen wiederverwenden kann. Im Fall der Bankwelt ist es wohl günstiger, Konten und Kunden mit verschiedenen Objekten darzustellen.

Bei der Modellierung der Objekte sollte man sich stets fragen: Wer ist für was zuständig? Wer muss wen kennen? Wer soll die Kontrolle über wen haben?

Suche

v
7.2.4.6.2
dev.inf-schule.de/oop/python/roboter/datenmodelle/konzept_datenmodell
dev.inf-schule.de/7.2.4.6.2
dev.inf-schule.de/@/page/PR5ig8MIzm7QKaol

Rückmeldung geben