Übag Vertrag muster

Schließlich sollten wir darauf hinweisen, dass die Gefahr besteht, dass die Zulassung von Verbraucherverträgen, die die Spezifikation eines Dienstanbieters vorantreiben, die konzeptionelle Integrität dieses Anbieters untergraben könnte. Dienstleistungen kapseln diskrete, identifizierbare, wiederverwendbare Geschäftsfunktionen, deren Integrität nicht durch unangemessene Anforderungen beeinträchtigt werden sollte, die außerhalb ihres Mandats liegen. Vertragsbedingungen sollten bei der Ausführung eines fehlerfreien Programms niemals verletzt werden. Verträge werden daher in der Regel nur während der Softwareentwicklung im Debugmodus überprüft. Später bei der Veröffentlichung werden die Vertragsprüfungen deaktiviert, um die Leistung zu maximieren. Die folgende Tabelle fasst die Merkmale der drei in diesem Artikel beschriebenen Vertragstypen zusammen: Anbieterverträge haben folgende Merkmale: Softwaredesigner müssen formale, präzise und überprüfbare Schnittstellenspezifikationen für Softwarekomponenten definieren, die die normale Definition abstrakter Datentypen um Vorbedingungen, Nachkonditionen und Invarianten erweitern. Diese Spezifikationen werden als « Verträge » bezeichnet, in Übereinstimmung mit einer konzeptionellen Metapher mit den Bedingungen und Pflichten von Geschäftsverträgen. Leider werden wir mit unserem bestehenden Setup bestehende Verbraucher brechen, wenn wir eine erforderliche Komponente – in diesem Fall das Feld InStock – aus unserem erweiterbaren Schema entfernen. Um den Anbieter zu beheben, müssen wir das gesamte System reparieren: Wenn wir die Funktionalität aus dem Anbieter entfernen und einen neuen Vertrag veröffentlichen, muss jede Consumer-Anwendung mit dem neuen Schema erneut bereitgestellt und die Interaktionen zwischen Diensten gründlich getestet werden. Der ProductSearch-Service kann sich in dieser Hinsicht nicht unabhängig von seinen Verbrauchern entwickeln: Anbieter und Verbraucher müssen alle gleichzeitig springen. Viele Programmiersprachen haben Möglichkeiten, solche Behauptungen zu machen. DbC hält diese Verträge jedoch für so wichtig für die Softwarekorrektheit, dass sie Teil des Entwurfsprozesses sein sollten.

Tatsächlich plädiert DbC dafür, die Behauptungen zuerst zu schreiben. [Zitat erforderlich] Verträge können durch Codekommentare geschrieben werden, die von einer Testsammlung erzwungen werden, oder beides, auch wenn es keine spezielle Sprachunterstützung für Verträge gibt. Das Verbraucher-Gesteuerte Vertragsmuster gilt entweder im Kontext eines einzigen Unternehmens oder einer geschlossenen Gemeinschaft bekannter Dienstleistungen: genauer gesagt, in einem Umfeld, in dem Anbieter einen gewissen Einfluss darauf ausüben können, wie Verbraucher Verträge mit ihnen abschließen. Unabhängig davon, wie leicht die Mechanismen für die Kommunikation und Darstellung von Erwartungen und Verpflichtungen sind, müssen Anbieter und Verbraucher über vereinbarte Kanäle und Konventionen Bescheid wissen, akzeptieren und annehmen. Dies fügt einer bereits komplexen Serviceinfrastruktur unweigerlich eine Schicht an Komplexität und Protokollabhängigkeit hinzu. Wir werden die Schemaerweiterentwicklung hier nicht weiter diskutieren. Es genügt zu sagen, dass Erweiterungspunkte es uns ermöglichen, rückwärts- und vorwärtskompatible Änderungen an Schemas und Dokumenten vorzunehmen, ohne Dienstleister und Verbraucher zu brechen. Schemaerweiterungen helfen uns jedoch nicht, die Entwicklung eines Systems zu bewältigen, wenn wir eine angeblich brechende Änderung eines Vertrags vornehmen müssen. Verbraucherorientierte Verträge verringern nicht notwendigerweise die Kopplung zwischen Dienstleistungen.

Cette entrée a été publiée dans Non classé .