Inhalt
1 Einleitung.- 1.1 Einbettung und Motivation.- 1.2 Design.- 1.3 Codegenerierung.- 1.4 Gliederung.- 2 Die Mannheimer objektorientierte Analysemethode.- 2.1 Das statische Modell.- 2.2 Das dynamische Modell.- 2.3 Das funktionale Modell.- 3 Objektorientiertes Design für C++.- 3.1 Bezeichner.- 3.2 Datentypen.- 3.3 Nachrichtenverbindungen.- 3:4 Subjekte.- 4 Klassen.- 4.1 class oder struct.- 4.2 Abstrakte Klassen.- 4.3 Reihenfolge der Zugriffsrechte.- 4.4 friend-Deklarationen.- 4.5 Kanonische Form.- 4.6 Spezielle Eigenschaften.- 4.7 Eingebettete Typen.- 4.8 Parametrisierte Klassen.- 4.9 Header- und Implementationsdateien.- 4.10 Leere Klassen.- 4.11 Zusammenfassung.- 5 Attribute.- 5.1 Datentyp.- 5.2 Bitfelder.- 5.3 Initialisierung.- 5.4 static.- 5.5 const.- 5.6 Klassenkonstanten.- 5.7 mutable.- 5.8 volatile.- 5.9 Zugriffsrechte.- 5.10 Handle/body-Implementation.- 5.11 Abgeleitete Attribute.- 5.12 Zusammenfassung.- 6 Methoden.- 6.1 Name.- 6.2 Parameter.- 6.3 Typ des Rückgabewerts.- 6.4 Zugriffsrechte.- 6.5 inline.- 6.6 const.- 6.7 volatile.- 6.8 static.- 6.9 virtual.- 6.10 Überladene Funktionsnamen.- 6.11 Ausnahmespezifikationen.- 6.12 Implizite Methoden.- 6.13 Operatoren.- 6.14 Member-Templates.- 6.15 Zusammenfassung.- 7 Vererbungsbeziehungen.- 7.1 Zugriffsspezifizierer für Basisklassen.- 7.2 Virtuelle Basisklassen.- 7.3 Virtuelle Elementfunktionen.- 7.4 Überladen und verdecken.- 7.5 Standardargumente.- 7.6 Vermeidung doppelter Funktionsaufrufe bei virtuellen Basisklassen.- 7.7 Auflüsung von Namenskonflikten bei Mehrfachvererbung.- 7.8 Zusammenfassung.- 8 Aggregations-, Objekt- und Benutztbeziehungen.- 8.1 Individuelle versus standardisierte Programmierung von Beziehungen.- 8.2 Beziehungen zu einem Objekt.- 8.3 Beziehungen zu mehreren Objekten.- 8.4Bidirektionale Beziehungen und referentielle Integrität.- 8.5 Abgrenzung von Aggregations-, Objekt- und Benutztbeziehungen.- 8.6 Praktische Schwierigkeiten.- 8.7 Ansätze zur Wiederverwendung von Beziehungsfunktionalitä.- 8.8 Implementation.- 8.9 Zusammenfassung.- 9 Grafische Notation.- 9.1 Zugriffsrechte.- 9.2 Klassen.- 9.3 Attribute.- 9.4 Methoden.- 9.5 Vererbungsbeziehungen.- 9.6 Aggregations-, Objekt- und Benutztbeziehungen.- 9.7 Nachrichtenverbindungen.- 9.8 Subjekte.- 9.9 Anmerkungen.- 9.10 Filter.- 9.11 Zusammenfassung der Symbole.- 9.12 Depotbeispiel.- 10 Qualitätssicherung.- 10.1 Klasseninvarianten, Vor- und Nachbedingungen.- 10.2 Kritische Betrachtung.- 10.3 Checksummenberechnung als Klasseninvariante.- 10.4 Zusammenfassung.- 11 Allgemeine Anforderungen an C++-Codegeneratoren.- 11.1 Header-Dateien.- 11.2 Reihenfolge der Klassenelemente.- 11.3 Layout des generierten Programmcodes.- 11.4 Kommentare.- 11.5 Nachvollziehen des Programmablaufs.- 11.6 Compilereinschränkungen.- 11.7 Makefile.- 12 Prototyp des MAOOM ?Tools.- 12.1 Einbindung der Designskht in die Benutzerschnittstelle des MAOOAM?Tools.- 12.2 Codegenerierung.- 13 Geplante Erweiterungen.- 13.1 Reverse-Engineering.- 13.2 Wiederverwendung vo Klassen.- 13.3 Garbage-Collection.- 14 Zusammenfassung und Ausblick.
1 Einleitung.- 1.1 Einbettung und Motivation.- 1.2 Design.- 1.3 Codegenerierung.- 1.4 Gliederung.- 2 Die Mannheimer objektorientierte Analysemethode.- 2.1 Das statische Modell.- 2.2 Das dynamische Modell.- 2.3 Das funktionale Modell.- 3 Objektorientiertes Design für C++.- 3.1 Bezeichner.- 3.2 Datentypen.- 3.3 Nachrichtenverbindungen.- 3:4 Subjekte.- 4 Klassen.- 4.1 class oder struct.- 4.2 Abstrakte Klassen.- 4.3 Reihenfolge der Zugriffsrechte.- 4.4 friend-Deklarationen.- 4.5 Kanonische Form.- 4.6 Spezielle Eigenschaften.- 4.7 Eingebettete Typen.- 4.8 Parametrisierte Klassen.- 4.9 Header- und Implementationsdateien.- 4.10 Leere Klassen.- 4.11 Zusammenfassung.- 5 Attribute.- 5.1 Datentyp.- 5.2 Bitfelder.- 5.3 Initialisierung.- 5.4 static.- 5.5 const.- 5.6 Klassenkonstanten.- 5.7 mutable.- 5.8 volatile.- 5.9 Zugriffsrechte.- 5.10 Handle/body-Implementation.- 5.11 Abgeleitete Attribute.- 5.12 Zusammenfassung.- 6 Methoden.- 6.1 Name.- 6.2 Parameter.- 6.3 Typ des Rückgabewerts.- 6.4 Zugriffsrechte.- 6.5 inline.- 6.6 const.- 6.7 volatile.- 6.8 static.- 6.9 virtual.- 6.10 Überladene Funktionsnamen.- 6.11 Ausnahmespezifikationen.- 6.12 Implizite Methoden.- 6.13 Operatoren.- 6.14 Member-Templates.- 6.15 Zusammenfassung.- 7 Vererbungsbeziehungen.- 7.1 Zugriffsspezifizierer für Basisklassen.- 7.2 Virtuelle Basisklassen.- 7.3 Virtuelle Elementfunktionen.- 7.4 Überladen und verdecken.- 7.5 Standardargumente.- 7.6 Vermeidung doppelter Funktionsaufrufe bei virtuellen Basisklassen.- 7.7 Auflüsung von Namenskonflikten bei Mehrfachvererbung.- 7.8 Zusammenfassung.- 8 Aggregations-, Objekt- und Benutztbeziehungen.- 8.1 Individuelle versus standardisierte Programmierung von Beziehungen.- 8.2 Beziehungen zu einem Objekt.- 8.3 Beziehungen zu mehreren Objekten.- 8.4Bidirektionale Beziehungen und referentielle Integrität.- 8.5 Abgrenzung von Aggregations-, Objekt- und Benutztbeziehungen.- 8.6 Praktische Schwierigkeiten.- 8.7 Ansätze zur Wiederverwendung von Beziehungsfunktionalitä.- 8.8 Implementation.- 8.9 Zusammenfassung.- 9 Grafische Notation.- 9.1 Zugriffsrechte.- 9.2 Klassen.- 9.3 Attribute.- 9.4 Methoden.- 9.5 Vererbungsbeziehungen.- 9.6 Aggregations-, Objekt- und Benutztbeziehungen.- 9.7 Nachrichtenverbindungen.- 9.8 Subjekte.- 9.9 Anmerkungen.- 9.10 Filter.- 9.11 Zusammenfassung der Symbole.- 9.12 Depotbeispiel.- 10 Qualitätssicherung.- 10.1 Klasseninvarianten, Vor- und Nachbedingungen.- 10.2 Kritische Betrachtung.- 10.3 Checksummenberechnung als Klasseninvariante.- 10.4 Zusammenfassung.- 11 Allgemeine Anforderungen an C++-Codegeneratoren.- 11.1 Header-Dateien.- 11.2 Reihenfolge der Klassenelemente.- 11.3 Layout des generierten Programmcodes.- 11.4 Kommentare.- 11.5 Nachvollziehen des Programmablaufs.- 11.6 Compilereinschränkungen.- 11.7 Makefile.- 12 Prototyp des MAOOM ?Tools.- 12.1 Einbindung der Designskht in die Benutzerschnittstelle des MAOOAM?Tools.- 12.2 Codegenerierung.- 13 Geplante Erweiterungen.- 13.1 Reverse-Engineering.- 13.2 Wiederverwendung vo Klassen.- 13.3 Garbage-Collection.- 14 Zusammenfassung und Ausblick.
Titel
Objektorientiertes Design für C++
Untertitel
Entwicklung eines CASE-Tools mit C++ -Codegenerierung
Autor
EAN
9783642592416
Format
E-Book (pdf)
Hersteller
Veröffentlichung
07.03.2013
Digitaler Kopierschutz
Wasserzeichen
Dateigrösse
23.76 MB
Anzahl Seiten
187
Auflage
1997
Lesemotiv
Unerwartete Verzögerung
Ups, ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal.