Objektmodell
Objektmodelle dienen heute vor allem als Entwurfsgrundlage in der objektorientierten Softwareentwicklung. Mit ihrer Hilfe können statische Strukturen von Klassen und Objekten sowie deren Verhalten und Relationen grafisch verdeutlicht und entwickelt werden.
Die wichtigsten Eigenschaften von Beziehungen in Objektmodellen sind Hierarchie, Abstraktion, Kapselung, Modularität und Typisierung. In der objektorientierten Softwareentwicklung ist der Entwurf einer der wichtigsten Schritte im Entwicklungsprozess. Daher wurde mit der Unified Modeling Language ein Standard für den Entwurf von Objektmodellen geschaffen. Objektmodelle werden jedoch nicht nur zur Entwicklung und Veranschaulichung von Softwarebausteinen verwendet. Sie sind zudem ein Werkzeug, um komplexe Systeme durch Abstraktion auf einfache Art und Weise darzustellen. So findet man – wenn auch seltener – auch Objektmodelle von Datenbanken oder Hardwarekomponenten, zum Beispiel von Prozessoren.
Geschichte
Objektmodelle entstanden mit dem Begriff des Objekts, nicht nur im Bereich der Softwareentwicklung, in den 1970er Jahren. Vorerst wurden sie zur Komplexitätsbewältigung von großen Systemen in verschiedenen Bereichen, wie zum Beispiel dem Datenbank-Engineering und der Hardwareentwicklung, eingesetzt. Erst durch Fortschritte in diversen Programmiersprachen, vor allem aber Simula 67 und Smalltalk, und der Forschung im Bereich der Künstlichen Intelligenz, mauserten sie sich zu Entwicklungswerkzeugen der Softwareindustrie. Auch in der Hardwareindustrie wurden sie zur Beschreibung von Systemarchitekturen mit zunehmender Komplexität immer wichtiger.