Als erstes erfolgt in der Regel die Festlegung aus welchen Elementardatentypen (in Java z.B. int oder double) ein Datentyp besteht und welche Operationen auf dem Datentyp benötigt werden. In Programmiersprachen wie C# oder C++ ist ferner zu entscheiden, ob es sich um einen stackbasierten Wertetyp handeln soll oder um eine Datenklasse. In Java entfällt diese Entscheidung leider, da keine programmdefinierten Wertetypen möglich sind.
Als Datenklasse wird eine Klasse bezeichnet die einen Datentyp und Operationen darauf implementiert. Bei der Modellierung ist grundsätzlich zu entscheiden ob Instanzen der Klasse
Neben der Zusammensetzung eines Datentypen aus Elementartypen und den Operationen auf einem Datentypen sind oftmals Restriktionen und die Spezialisierung von Datentypen relevant.
Nehmen wir als Beispiel die Typen Line und Point aus der zweidimensionalen Vektorgeometrie. Hier betrachten wir den Typ Line, definiert durch zwei geordnete Punkte vom Typ Point und interpretiert als gerichtete kürzeste Verbindung zwischen den zwei Punkten.
Bei der Modellierung stellen sich unter anderem folgende Fragen:
Die Modellierung der Datentypen hat einen großen Einfluss auf die Lesbarkeit und auf die Häufigkeit von Programmfehlern. So erfordert die Zulassung von Null-Referenzen zusätzliche Fallunterscheidungen und führt bei unachtsamer Programmierung schnell zu einem Laufzeitfehler. Erlaubt ein Datentyp wie Line beispielsweise die Länge null, so kann nicht mehr ungeprüft durch seine Länge dividiert werden und die Orientierung der Linie ist nur noch eine optionale Eigenschaft die undefiniert ist wenn die Linie die Länge null hat.
Zur Startseite
Anmerkungen: