Objektorientiertes Design für C++: Entwicklung eines CASE-Tools mit C++ -Codegenerierung by Stefan KuhlinsObjektorientiertes Design für C++: Entwicklung eines CASE-Tools mit C++ -Codegenerierung by Stefan Kuhlins

Objektorientiertes Design für C++: Entwicklung eines CASE-Tools mit C++ -Codegenerierung

byStefan Kuhlins

Paperback | December 9, 1996 | German

Pricing and Purchase Info

$86.36 online 
$90.95 list price save 5%
Earn 432 plum® points

Prices and offers may vary in store

Quantity:

In stock online

Ships free on orders over $25

Not available in stores

Title:Objektorientiertes Design für C++: Entwicklung eines CASE-Tools mit C++ -CodegenerierungFormat:PaperbackPublished:December 9, 1996Publisher:Physica-Verlag HDLanguage:German

The following ISBNs are associated with this title:

ISBN - 10:3790809837

ISBN - 13:9783790809831

Look for similar items by category:

Reviews

Table of Contents

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.1.1 Klassen.- 2.1.2 Attribute.- 2.1.3 Methoden.- 2.1.4 Vererbungsbeziehungen.- 2.1.5 Objektbeziehungen.- 2.1.6 Aggregationsbeziehungen.- 2.1.7 Kardinalitäten.- 2.1.8 Nachrichtenverbindungen.- 2.1.9 Subjekte.- 2.1.10 Beispiel Depotverwaltung.- 2.1.11 Klassenspezifikationen.- 2.2 Das dynamische Modell.- 2.2.1 Szenarios und Ereignisfolgediagramme.- 2.2.2 Zustandsdiagramme.- 2.3 Das funktionale Modell.- 3 Objektorientiertes Design für C++.- 3.1 Bezeichner.- 3.2 Datentypen.- 3.2.1 Datentypen der ODMG.- 3.2.2 Besonderheiten des ganzzahligen Datentyps int.- 3.2.3 Komplexe Datentypen.- 3.2.4 Abgeleitete Datentypen und typedef.- 3.2.5 Dynamische Felder.- 3.2.6 union.- 3.2.7 Eingabe von 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.12.1 Konstruktoren.- 6.12.2 Destruktor.- 6.12.3 Zuweisungsoperator.- 6.12 4 Compilergenerierte Elementfunktionen.- 6.12.5 Zugriffsfunktionen.- 6.13 Operatoren.- 6.13.1 Eigenschaften von Operatorfunktionen.- 6.13.2 Vorschläge zur Umsetzung überladener Operatoren.- 6.13.3 Additive Operatoren.- 6.13.4 Vergleichsoperatoren.- 6.13.5 Logische Operatoren.- 6.13.6 Ein- und Ausgabeoperatoren.- 6.13.7 Speicherverwaltung.- 6.13.8 Zeigerklassen.- 6.13.9 Kommaoperator.- 6.13.10 Funktionsaufrufoperator.- 6.13.11 Typumwandlungen.- 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.4 Bidirektionale 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.8.1 Unidirektionale Objektbeziehungen mit Kardinalität C, 1.- 8.8.2 Unidirektionale Objektbeziehungen mit Kardinalität 0,n.- 8.8.3 Bidirektionale Objektbeziehungen mit Kardinalität 0,1.- 8.8.4 Bidirektionale Objektbeziehungen mit Kardinalität 0,n.- 8.9 Zusammenfassung.- 9 Grafische Notation.- 9.1 Zugriffsrechte.- 9.2 Klassen.- 9.2.1Spezielle Eigenschaften.- 9.2.2 Parametrisierte Klassen.- 9.2.3 Eingebettete Typen.- 9.2.4 f riend-Deklarationen.- 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.