Consulting - Objektorientierung |
wiretec |
| Objektorientierung | Objektorientierte Analyse | Objektorientiertes Design |
| UML | Objektorientierte Programmierung | Java |
Mit der Objektorientierung (kurz OO) als berühmten Paradigmenwechsel wird häufig die damit erwartete Produktivitätssteigerung assoziiert. Diese beruht im Wesentlichen auf einer zu erzielenden hohen Wiederverwendbarkeit von Softwarekomponenten (durch Klassenbibliotheken), von Analyseergebnissen (als Analysemuster, sog. Analysis-Patterns) und von Entwurfsergebnissen (als Entwurfsmuster, sog. Design-Patterns).
Die verbesserte Wiederverwendbarkeit der Objektorientierung wird mittels folgender vier Grundprizipien erreicht:
Abstraktion: Objekte werden anhand von Bauplänen - den sogenannten Klassen - gebildet; diese Baupläne können über die Vererbungsmechanismen der Objektorientierung voneinander abgeleitet werden. Objekte eines (Software-) Systems sind dahingehend gekapselt, dass sie eine Einheit aus Daten und Funktionen bilden und dass ihr Inneres der Aussenwelt verborgen bleibt (Information-Hiding). Schnittstellen sind klar definiert: die Objekte wirken lediglich über den Austausch von Nachrichten aufeinander ein; sie kommunizieren. Die Kommunikationspfade der Objekte untereinander werden über deren Beziehungsgeflecht definiert.
Die optimale Ausschöpfung der Vorteile der Objektorientierung beginnt bereits mit der geeigneten Formulierung der Anwenderanforderungen an ein System. Die objektorientierte Analyse - kurz OOA - stellt hierzu geeignete Methoden bereit. Nicht jede Fragestellung ist neu und muss von Grund auf neu entwickelt werden - Experten der Modellierung greifen auf ein weites Spektrum an bekannten Analysemustern zurück.
Im weiteren Verlauf der Projektarbeit sind die Analyse-Ergebnisse in einen Systementwurf zu überführen. D.h. das fachliche Modell aus der Analyse ist zu einem technischen Modell der Anwendung weiter zu entwickeln. Für objektorientiertes Design - kurz OOD - spielen Fragestellungen der technischen Architektur eine zentrale Rolle. Hier wäre z.B. das Schichtenmodell zu erwähnen. Analog zur objektorientierten Analyse sind auch viele Standard-Fragestellungen zum Entwurf eines Systems bereits als Entwurfsmuster in der Literatur beschrieben.
Eine weitere wesentliche Herausforderung bei der Entwicklung von Systemen ist die Kommunikation im Team und Dokumentation der Projektergebnisse. Hier bietet die Unified Modeling Language (UML) die notwendigen Darstellungsmittel auf einer normierten Basis. Die objektorientierte Programmierung (OOP) hat in diesen Darstellungsmitteln der UML ein Grundlage, Systeme mit größtmöglicher Konsistenz zum Modell zu realisieren.
Eine der erfolgreichsten Programmiersprachen der Gegenwart ist Java. Die Entwickler von Java haben ihr Ziel so formuliert: "Java soll eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale, portable, leistungsstarke, Multithread-fähige, dynamische Programmiersprache sein." Der Erfolg von Java begründet sich wesentlich dadurch, dass diese Ansprüche in einer für viele Programmierer akzeptablen Weise umgesetzt wurden. Und tatsächlich, die Sprache und ihre Klassenbibliotheken ermöglichen die Entwicklung einfacher Applets zur Auflockerung von Web-Seiten wie auch der von vollwertigen Anwendungssystemen. Sprachlich ist Java an C++ angelehnt, wenn auch im Detail auffällige Unterschiede anzumerken sind.
| Training: | Grundlagen der Objektorientierung |
| Objektorientierte Analyse / UML | |
| Objektorientiertes Design / UML | |
| Objektorientierte Programmierung / Java |