04 - 05 - Schnittstellen Flashcards
Was ist ein Kunde?
Ein Kunde eines Softwarenechanismuses ist ein System mjeglicher Art (Softwareelement, ein Nicht-Softwaresystem oder ein menschlicher Benutzer), der dieses System verwendet.
Was ist ein Anbieter?
Für seine Kunden ist dieser Mechanismus ein Anbieter.
Was ist eine Schnittstelle?
Eine Schnittstelle einer Menge von Softwaremechanismen ist die Beschreibung der Techniken, die es Kunden ermöglichen, diese Mechanismen zu nutzen.
Beispiele: Benutzeroberfläche wie GUI (graphische Benutzerschnittstelle), Programmschnittstelle (Kunden sind andere Softwaresysteme)
API (Programmierschnittstelle)
Was ermöglicht die Dokumentation von Programmen?
Es ermöglicht die Nutzung, Fehlersuche, Wiederverwendung, Integration mit anderen Programmen, Klassen, Komponenten, usw.
Was ist eine Klasse?
Spezifikation oder Bauplan für eine Reihe von möglichen Laufzeitobjekten, auf denen die gleichen Operationen ausgeführt werden können. Es repräsentiert eine Kategorie von Dingen. Ein Objekt ist eine spezielle Instanz dieser Dinge.
Was ist eine Instanz bzw. Objekt?
Objekte sind Instanzen oder Vorkommen ihrer Klassen. Eine Klasse ist die erzeugende Klasse des Objekts, wenn dieses letzteres eine Instanz der gennanten Klasse ist.
Wo existieren Klassen und Objekten?
Klassen existieren nur im Quellcode. Sie beschreiben die Eigenschaften der zugehörigen Instanzen (die Menge der Operationen, die verwalteten Daten)
Objekte existieren nur während der Ausführung (sichtbar im Quelltext durch Bezeichner, die Laufzeitobjekte bezeichnen)
Was ist der Typ eines Objekts?
Seine erzeugende Klasse
Was ist ein Vertrag? Welche Vertragsarten gibt es?
Ein Vertrag ist eine Menge von semantischen Bedingungen, die die Nutzungseigenschaften einer Klasse oder einer Operation charakterisiert.
Was ist eine Vorbedingung?
Eine Bedingung, die eine Operation jedem ihrer Aufrufer für einen erfolgreichen Aufruf aufferlegt.
Was ist eine Nachbedingung?
Eine Bedingung, die einer Operationen für eine korrekte Realisierung durch den Anbieter auferlegt ist.
Welche ist das Vorbedingungs- und Nachbedingungsprinzip?
VBP: Ein Aufrufer, der einer Operation aufruft, muss sicherstellen, dass die VB der Operation vor dem Aufruf erfüllt ist.
NBP: Eine Operationsrealisierung muss sicherstellen, dass, wenn die Vorbedingung der Operation zu Beginn der Ausführung erfüllt ist, die Operationsausführung an deren Ende die NB erfüllt.
Was ist eine Klasseninvariante?
Bedingungen, die zwischen beliebigen Operationsausführung auf den Objekten der Klasse gelten müssen.
Welche ist das Implikationsprinzip?
Eine Implikation hat den Wert wahr außer die Voraussetzung hat den Wer wahr und dann die Folgerung den Wert falsch.
Insbesondere, immer den Wert wahr wenn die Voraussetzung den Wert Falsch hat.
Was ist ein Bezeichner?
Ein vom Programmierer gewählter Name, der bestimmte Elemente des Programms repräsentiert.