Un contratto è un documento che descrive ciò che ci si aspetta da un’operazione, ponendo l’accento sull’analisi piuttosto che sulla progettazione, cioè sul cosa piuttosto che sul come. Più comunemente, i contratti sono espressi sotto forma di pre- e post-condizioni relative ai cambiamenti di stato.