 |
 | |  |  | | Beschreibung |  |
Bei der objektorientierten Softwareentwicklung werden reale Objekte (z.B. Aktoren, Sensoren, Maschinen) in Softwareobjekte abgebildet. Ein Programm arbeitet dann konzeptionell nicht mehr sequenziell verschiedene Funktionsbereiche eines Algorithmus ab, wie dies bei der prozeduralen Programmierung der Fall ist. Vielmehr wird die Software durch die Interaktion und Kommunikation der verschiedenen Objekte und deren Zustandsänderungen ausgeführt.
Der Begriff Objektorientierung lässt sich in weiteren Teilbereich zerlegen:
- Objektorientierte Analyse (OOA) beschreibt die Phase, in der Anforderungen an das zu entwickelnde System gesammelt und beschrieben werden. Hier existieren verschiedene Vorgehensmodelle wie Rational Unified Process, actiF oder V-Modell.
- Objektorientiertes Desing (OOD) setzt die in der OOA erstellten Anforderungen in einen objektorientierten Systementwurf um.
- Objektorientierte Programmierung (OOP) setzt den Systementwurf aus OOD in eine konkrete objektorientierte Programmiersprache um.
Als Standardbeschreibungssprache für OOA und OOD hat sich die Unified Modelling Language (UML) durchgesetzt. Diese von der Object Management Group (OMG) standardisierte grafische Beschreibung stellt die Grundlage für eine einheitliche Sicht auf das zu entwickelnde System dar. Derzeit aktuell ist die Version 2.
Die Objektorientierung kennt vier grundlegende Konzepte:
- Abstraktion: Jedes Objekt in einem System wird als abstraktes Modell eines Akteurs angesehen. Es besitzt einen internen Zustand und kann mit anderen Objekten kommunizieren. Dabei müssen Objektinterna nicht offen gelegt werden.
- Kapselung: Objekte können die internen Zustände anderer Objekte nicht verändern. Kommunikation ist nur über definierte Schnittstellen möglich.
- Polymorphie: Unterschiedliche Objekte können auf gleiche Nachrichten unterschiedlich reagieren.
- Vererbung: Auf Basis einer Objektdefinition können neue Objekte mit zusätzlichen Eigenschaften erstellt werden. Dabei beinhalten sie auch die Eigenschaften des urpsrünglichen Objekts, haben also diese Eigenschaften „geerbt“.
Mehrere gleichartige Objekte (identisch in Struktur und Verhalten) werden in einer Klasse zusammengefasst. Objekte stellen zur Laufzeit eines objektorientierten Systems vorhandene Instanzen einer Klasse dar.
Klassen können Attribute (Eigenschaften), Operationen (Verhaltensbeschreibungen) und Beziehungen zu anderen Klassen (Vererbung etc.) besitzen.
Die Vorteile eines objektorientierten Vorgehens sind unter anderem:
- Die Komplexität der Anwendungsgebiete wird durch die strukturierte Vorgehensweise reduziert.
- Zwischen Entwicklern und Experten im Anwendungsbereich wird die Kommunikation durch eine gemeinsame (und dem Menschen eher entsprechende) Sichtweise auf das Problem vereinfacht.
- Die vielfältigen Abstraktionsmöglichkeiten der Objektorientierung lassen eine einfachere Wiederverwendung der erzielten Ergebnisse zu.
|  |
 | |  |  | |  | |  | |  |  |  | | Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben. |
|
|  | |  |  |   | Übergeordnet |  |  |  | |  |  | |  |  | |  |  | |  |  |  |  |  | Objektorientierung |  |  |  |  |   | Untergeordnet |  |  |  | |  |  | |  |  |  |  |  |
|