Vertragsmuster buch

Schließlich enthält das Buch ein detailliertes Glossar (Anhang A) objektorientierter Gestaltungskonzepte und Terminologie, Hinweise auf weitere Informationen zu Entwurfsmustern und Design by Contract (Anhang B) und eine Erläuterung von Design by Contract in anderen Sprachen (Anhang C). Anhang D zeigt Ihnen, wie Sie weitere Informationen zu diesem Buch erhalten. 0201309599P04062001 Diese Idee, die erstmals in der Eiffelsprache (Meyer, 1992a) unter dem Namen Design by Contract umgesetzt wurde, ist jetzt in mehreren anderen Programmiersprachen verfügbar, wie Java und sogar in der Unified Modeling Language (UML) mit der Object Constraint Language (OCL) (Warmer und Kleppe, 1999). Wie die Design-Muster-Idee ist auch das Design by Contract nicht an eine bestimmte Sprache gebunden, aber wir müssen eine für die Beschreibung konkreter Beispiele auswählen. Wir haben uns auf Eiffel niedergelassen, weil es die richtigen Paradigmen bietet, um den Bau von großen, hochwertigen objektorientierten Softwaresystemen anzugehen und ist recht einfach zu meistern. Dieses Buch kann somit als Begleiter der GoF für die Eiffel-Gemeinde verwendet werden; Wir glauben jedoch, dass dieses Buch auch für Menschen im Allgemeinen nützlich sein wird, die daran interessiert sind, den größten Nutzen aus den Designmusterideen in einem qualitätsbasierten Software-Engineering-Framework zu erzielen. Wir beschreiben viele Beispiele, mit der UML-Notation, und wir erklären auch in Abschnitt C.1, wie Design by Contract mit Java über das iContract-Tool verwendet werden kann (Kramer, 1998). Die ”fail hard”-Eigenschaft von DbC vereinfacht das Debuggen des Vertragsverhaltens, da das beabsichtigte Verhalten jeder Methode klar angegeben ist. Entwurfsmuster können als wiederverwendbare Mikroarchitekturen betrachtet werden, die zu einer Gesamtsystemarchitektur beitragen. Im Idealfall erfassen sie die Absicht hinter einem Entwurf, indem sie die Komponentenobjekte, ihre Kollaborationen und die Verteilung der Verantwortlichkeiten identifizieren. Der Zweck dieses Buches ist es, zu zeigen, wie diese Absicht explizit gemacht werden kann, basierend auf dem Begriff des Vertrags.

Ein Softwarevertrag erfasst gegenseitige Verpflichtungen und Vorteile zwischen Stakeholder-Komponenten – beispielsweise zwischen dem Kunden eines Dienstes und den Lieferanten, einschließlich Unterklassen, dieses Dienstes. Verträge stärken und vertiefen Schnittstellenspezifikationen. Gemäß der abstrakten Datentyptheorie besteht eine gängige Möglichkeit der Festlegung von Softwareverträgen darin, boolesche Assertionen, die als Pre- und Postconditions bezeichnet werden, für jeden angebotenen Dienst sowie Klasseninvarianten zum Definieren allgemeiner Konsistenzeigenschaften zu verwenden. Dann liest sich der Vertrag wie folgt: Der Kunde sollte einen Lieferanten nur in einem Zustand um eine Dienstleistung bitten, in dem die Klasseninvariante und die Voraussetzung der Dienstleistung eingehalten werden. Im Gegenzug verspricht der Lieferant, dass die in der Nachbedingung angegebene Arbeit erledigt wird und dass die Klasseninvariante weiterhin eingehalten wird. Auf diese Weise werden rechte und pflichten sowohl des Kunden als auch des Lieferanten sowie ihre Verantwortlichkeiten klar abgegrenzt. Teil I dieses Buches schafft den Rahmen für die Verwendung von Designmustern. Kapitel 1 stellt den Begriff der Designmuster und ihre Rolle im Softwarelebenszyklus vor. Kapitel 2 beschreibt die Argumente für eine optimale Verwendung von Konstruktionsmustern in einem qualitätsorientierten Software-Engineering-Prozess, basierend auf Design by Contract und zugehörigen Technologien. Mit Design Patterns and Contracts verfügen objektorientierte Software-Experten über eine neue Ressource, die ihnen dabei hilft, die Leistungsfähigkeit von Designmustern weiter zu nutzen. Dieses Buch stellt die Grundlagen von Softwareverträgen vor und zeigt, wie Design by Contract zur optimalen Nutzung von Designmustern in einem qualitätsorientierten Software-Engineering-Prozess beiträgt.

This entry was posted in Okategoriserade by admin. Bookmark the permalink.