
Objektorientiertes Design für C++
Entwicklung eines CASE-Tools mit C++ -Codegenerierung
Stefan Kuhlins(Author)
Physica (Publisher)
Published on 9. December 1996
Book
Paperback/Softback
XIV, 187 pages
978-3-7908-0983-1 (ISBN)
Description
Die Generierung von C++-Programmcode im Rahmen von CASE-Tools ist das Thema dieses Buchs. Aufbauend auf dem statischen Analysemodell für den Problembereich werden die für die C++-Codegenerierung zusätzlich erforderlichen Informationen zusammengestellt. Außerdem wird eine grafische Designnotation speziell für C++ entwickelt, die sich an den "Klassikern" (Coad/Yourdon und Booch) orientiert. C++-Programmierer profitieren insbesondere von den im Hauptteil dargestellten fortgeschrittenen Programmiertechniken.
More details
Series
Edition
1997 ed.
Language
German
Place of publication
Heidelberg
Germany
Target group
Professional and scholarly
Research
Illustrations
25 s/w Abbildungen
XIV, 187 S. 25 Abb.
Dimensions
Height: 235 mm
Width: 155 mm
Thickness: 12 mm
Weight
318 gr
ISBN-13
978-3-7908-0983-1 (9783790809831)
DOI
10.1007/978-3-642-59241-6
Schweitzer Classification
Other editions
Additional editions

Stefan Kuhlins
Objektorientiertes Design für C++
Entwicklung eines CASE-Tools mit C++ -Codegenerierung
E-Book
03/2013
Physica
€38.66
Available for download
Content
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.