jede (Software-)Komponente implementiert eine Schnittstelle, die die notwendigen Eigenschaften beschreibt.
Zusammenhang zwischen Argument und Resultat (Ein- und Ausgabedaten)
Zusammenhang zwischen Programmzustand vor und nach der Ausführung (Vor- und Nachbedingung)
Objekt-Invarianten (Beziehungen zwischen Attributen)