Fehlervermeidung & Vertragsmodell Flashcards
Was ist ein Mistake?
Menschliche Fehlhandlung, die zu einem Fehler (Fault) führt
Was ist ein Fault?
Fehler im Quelltext der Software
Was ist ein Failure?
Versagen eines Systems aufgrund
eines oder mehrerer Faults
Was ist ein Error?
Die Realisierung entspricht nicht der Forderung
Was besagt das Vertragsmodell in der Softwareentwicklung?
Vertrag beschreibt:
* welche Vorleistung Klient erbringen muss,
* damit Dienstleister seine Leistung garantiert
Wie wird eine Benutzt-Beziehung hergestellt in Java?
- In Klasse A werden Variablen vom Typ B deklariert.
- In einer Methode der Klasse A werden Methoden an Exemplaren der Klasse B aufgerufen.
Worauf bezieht sich das Vertragsmodell?
- den Aufruf von Methoden,
- die Überprüfung von Aufrufparametern sowie des Zustands des gerufenen Exemplars.
Beschreibe den Vertrag des Vertragsmodells
- bezieht sich immer auf eine Operation einer Klasse.
- wird in der Dienstleister-Klasse festgelegt.
- Vertragsbedingungen werden als Zusicherungen spezifiziert.
Beschreibe die Zusicherungen des Vertragsmodells
- Vorbedingungen
– eingehalten vor der Ausführung der Operation - Nachbedingungen
– erfüllt nach der Ausführung der Operation Zusätzlich - Invarianten
– Bedingungen, die immer gelten sollen, als Klassen- Invarianten
Woraus besteht das Vertragsmodell?
- dem Vertrag und
- den Zusicherungen als boolesche Ausdrücke (Prädikate)
Wie läuft der Mechanismus des Vertragsmodells ab?
Vertrag wird bei Methodenaufruf geprüft:
* Klient muss sicherstellen, dass Vorbedingungen der Operation erfüllt sind.
* Beim Dienstleister muss geprüft werden, ob die Vorbedingung gilt.
* Wenn die Vorbedingung erfüllt ist, führt Dienstleister die Operation aus.
* Dienstleister garantiert durch Nachbedingungen, dass Leistung erbracht.
Was ist eine Klasseninvariante?
ist eine allgemeine Randbedingung des Vertrags, muss bei jedem Methodenaufruf gelten
Wann garantiert der Dienstleister die Nachbedingung?
Wenn der Klient die Vorbedingungen erfüllt
Welche Rechte und Pflichten hat der Klient?
- hat die Pflicht, die Methode nur aufzurufen,
wenn Zustand des Dienstleisters es erlaubt. - hat das Recht, die ordnungsgemäße Erfüllung
des Vertrags
Welche Rechte und Pflichten hat der Dienstleister?
- hat die Pflicht, die versprochene Leistung zu erbringen.
- hat das Recht bei Nichteinhaltung des Vertrags durch Klienten, die Operation nicht auszuführen.