1. Der Weg zur objektorientierten Softwareentwicklung
1.1. Die Software-Krise
“The major cause of the software crisis is] that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.”(1)
Die Softwarekrise trat Mitte der 1960er Jahre erstmalig auf, als die Kosten für die Software die Kosten für die Hardware überstiegen. Die Kosten bei der Entwicklung und dem Testen von Software stiegen exponentiell. Das führte zu Zeitdruck, dies zu Programmfehlern und schließlich zu unzufriedenen Anwendern. In Folge dessen kam es zu den ersten großen gescheiterten Software-Projekten.
-----------
(1) Vgl. Dijkstra (1972), „Solange es keine Maschinen gab, stellte die Programmierung kein Problem dar; als wir ein paar schwache Computer hatten, wurde die Programmierung zu einem kleineren Problem und nun da wir gigantische Computer haben, ist die Programmierung ein ebenso gigantisches Problem.“
========================================
INHALTSVERZEICHNIS
TABELLENVERZEICHNIS
1. DER WEG ZUR OBJEKTORIENTIERTEN SOFTWAREENTWICKLUNG
1.1. DIE SOFTWARE-KRISE
1.2. QUALITÄTSKRITERIEN VON SOFTWARE
2. DIE OBJEKTORIENTIERUNG
2.1. DEFINITION
2.2. KONZEPTE UND PRINZIPIEN DER OBJEKTORIENTIERUNG
2.2.1. OBJEKTE
2.2.2. ABSTRAKTION
2.2.3. KLASSEN
2.2.4. RELATIONEN/BEZIEHUNGEN
2.2.5. VERERBUNG
2.2.6. NACHRICHTEN
2.2.7. KAPSELUNG
2.2.8. POLYMORPHISMUS
3. OBJEKTORIENTIERTE SOFTWAREENTWICKLUNG
3.1. OBJEKTORIENTIERTE ANALYSE
3.2. OBJEKTORIENTIERTER ENTWURF
3.3. OBJEKTORIENTIERTE IMPLEMENTIERUNG
4. ZUSAMMENFASSUNG UND FAZIT
LITERATURVERZEICHNIS
Inhaltsverzeichnis
1. Der Weg zur objektorientierten Softwareentwicklung
1.1 Die Software-Krise
1.2 Qualitätskriterien von Software
2. Die Objektorientierung
2.1 Definition
2.2 Konzepte und Prinzipien der Objektorientierung
2.2.1 Objekte
2.2.2 Abstraktion
2.2.3 Klassen
2.2.4 Relationen/Beziehungen
2.2.5 Vererbung
2.2.6 Nachrichten
2.2.7 Kapselung
2.2.8 Polymorphismus
3. Objektorientierte Softwareentwicklung
3.1 Objektorientierte Analyse
3.2 Objektorientierter Entwurf
3.3 Objektorientierte Implementierung
4. Zusammenfassung und Fazit
Zielsetzung & Themen
Die Arbeit untersucht den Übergang von der klassischen, funktionsorientierten Softwareentwicklung zur objektorientierten Herangehensweise, um moderne Lösungsansätze für die Herausforderungen der Softwarekrise aufzuzeigen.
- Historische Entstehung der Softwarekrise und Qualitätskriterien
- Grundlegende Konzepte und Prinzipien der Objektorientierung
- Phasen der objektorientierten Softwareentwicklung (Analyse, Entwurf, Implementierung)
- Gegenüberstellung von Vor- und Nachteilen der Objektorientierung
- Bedeutung aktueller Programmiersprachen wie C++ und Java
Auszug aus dem Buch
2.2.1 Objekte
Objekte können Dinge, Personen oder Begriffe sein. Sie sind ein Abbild der realen Welt. In der objektorientierten Softwareentwicklung besitzt ein Objekt einen bestimmten Zustand und reagiert mit einem definierten Verhalten auf seine Umgebung. Jedes Objekt besitzt eine Identität, die es von allen Objekten unterscheidet. Ein Objekt kann mit einem oder mehreren anderen Objekten in Verbindung stehen. Der Zustand eines Objekts umfasst die Attribute und deren aktuelle Werte sowie die jeweiligen Verbindungen zu den anderen Objekten. Die beschreibenden Attribute sind unveränderliche Merkmale des Objekts, während die Attributwerte durchaus Änderungen unterliegen können. Das Verhalten eines Objekts wird durch seine Menge von Operationen beschrieben. Operationen sind ausführbar und führen zu einer Änderung oder eine Abfrage des Zustands des Objekts.
Zusammenfassung der Kapitel
1. Der Weg zur objektorientierten Softwareentwicklung: Beschreibt die Ursprünge der Softwarekrise in den 1960er Jahren sowie die Definition grundlegender Qualitätskriterien für moderne Software.
2. Die Objektorientierung: Definiert den Begriff der Objektorientierung und erläutert zentrale Konzepte wie Objekte, Klassen, Vererbung und Kapselung als Basis für moderne Softwareentwicklung.
3. Objektorientierte Softwareentwicklung: Detailliert den Prozess der Softwareerstellung durch die drei Phasen der Analyse, des Entwurfs und der Implementierung.
4. Zusammenfassung und Fazit: Bewertet die Vor- und Nachteile der objektorientierten Methode und stellt diese in tabellarischer Form einander gegenüber.
Schlüsselwörter
Objektorientierung, Softwareentwicklung, Softwarekrise, Software Engineering, Qualitätskriterien, Klassen, Objekte, Vererbung, Kapselung, Polymorphismus, Analyse, Entwurf, Implementierung, Systemmodell, Wiederverwendbarkeit
Häufig gestellte Fragen
Worum geht es in dieser Arbeit?
Die Arbeit befasst sich mit den Grundlagen der objektorientierten Softwareentwicklung und deren Abgrenzung zur klassischen, funktionsorientierten Programmierung.
Was sind die zentralen Themenfelder?
Die Themen umfassen die Geschichte der Softwarekrise, objektorientierte Prinzipien wie Abstraktion und Polymorphismus sowie den Prozess vom Entwurf bis zur Implementierung.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist es, den Mehrwert und die Funktionsweise der objektorientierten Softwareentwicklung darzulegen, insbesondere unter dem Aspekt der Wiederverwendbarkeit von Komponenten.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit basiert auf einer theoretischen Aufarbeitung bestehender Fachliteratur zur Softwaretechnik und zum Software Engineering.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in die Definition und Erklärung der objektorientierten Grundbegriffe sowie die Darstellung der Phasen der objektorientierten Softwareentwicklung.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wichtige Begriffe sind Objektorientierung, Softwarekrise, Systemmodell, Kapselung, Vererbung, Analyse und Entwurf.
Was versteht man unter dem Begriff "Kapselung"?
Kapselung bezeichnet eine schützende Hülle für Objekte, die den Zugriff auf Daten einschränkt und nur über definierte Operationen ermöglicht, was auch als Informationsverbergung bekannt ist.
Warum ist das "Bottom-up-Prinzip" relevant?
Das Bottom-up-Prinzip ist bei der Objektorientierung von Bedeutung, da es die Vorgehensweise beschreibt, bei der komplexe Software aus einzelnen, wiederverwendbaren Komponenten zusammengesetzt wird.
Wie unterscheidet sich die Analysephase?
In der Analysephase arbeiten Entwickler eng mit Auftraggebern zusammen, um ein konkretes, logisches Systemmodell der realen Welt zu erstellen, ohne dabei bereits eine technische Lösung festzulegen.
Was beinhaltet die Implementierung?
Die Implementierung ist der Prozess der Übersetzung des Lösungsbereichsmodells aus dem Entwurf in ausführbaren Quelltext unter Anwendung der festgelegten Methoden und Attribute.
- Quote paper
- Heiko Ennen (Author), 2008, Die objektorientierte Softwareentwicklung, Munich, GRIN Verlag, https://www.grin.com/document/90746