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 Ampelsystem
lässt sich die Miniwelt wie folgt beschreiben:
- Das Ampelsystem besteht aus mehreren Ampeln.
- Ein Ampelmanager steuert die Ampeln, indem er diese nach einem Schaltplan gezielt aktiviert.
- Zum durchlaufen des Schaltplans benutzt der Ampelmanager einen Zähler, der zyklisch die Takte im Schaltplan durchzählt.
- ...
Modell
Bei der Entwicklung eines Programms bzw. Software-Systems 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 vom Programm bzw. Software-System 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.
Beachte, dass eine Miniwelt meist mit verschiedenen Modelle beschrieben werden kann. Bei Modellen kann man daher in der Regel nicht sagen, dass sie richtig oder falsch sind. Man kann nur begründen, warum sie die Miniwelt mehr oder weniger gut erfassen.
Beschreibung von Modellen
Zur Beschreibung objektorientierter Modelle benutzt man meist UML-Diagramme.
UML steht für uniform modeling language
und ist eine normierte
Bildsprache, mit der man objektorientierte Modelle beschreiben kann.
UML stellt verschiedene Diagrammtypen zur Beschreibung von Modellen zur Verfügung. Im folgenden Abschnitt werden einige dieser Diagrammtypen im Kontext Ampelsystem vorgestellt.
Entwicklung von Datenmodellen
Bei der Entwicklung eines objektorientierten Datenmodells sollte man von der Miniwelt ausgehen und versuchen, Objekte der Miniwelt durch entsprechende Softwareobjekte zu beschreiben. Beachte, dass ein Datenmodell nur die Miniwelt berücksichtigt, nicht jedoch irgendwelche Besonderheiten des zu entwicklenden Systems wie z. B. eine Benutzeroberfläche.
Jedes Objekt eines Datenmodells sollte für einen bestimmten Aufgabenbereich zuständig sein. Ein solches System aus Objekten mit klar umgrenzten Zuständigkeiten erhöht die Durchschaubarkeit des zu entwickelnden Software-Systems und erleichtert es, das System nachträglich abzuändern oder zu erweitern.
Bei der Konzeption von Objekten / Klassen sollte man alles Unwichtige weglassen. Insbesondere sollte man von speziellen Gegebenheiten abstrahieren und Objekte eher allgemein konzipieren. Das hat den Vorteil, dass man solche Objekte eher in anderen Problembereichen wiederverwenden kann.