Quali sono i contratti operativi?
Nel regno della programmazione informatica e dell'informatica, i contratti operativi sono un modo per specificare o documentare come una particolare funzione cambierà diversi elementi all'interno di un programma. A differenza di un'interfaccia di programmazione astratta (API) o di un documento di controllo dell'interfaccia, i contratti operativi vengono utilizzati durante la fase di sviluppo e modellizzazione della creazione di un'applicazione o un sistema informatico. Al livello più elementare, il contratto definisce quattro caratteristiche dell'operazione, in particolare il nome dell'operazione, eventuali riferimenti all'operazione in altre aree del progetto, eventuali requisiti di input o stato prima che l'operazione venga eseguita e lo stato di il sistema o le variabili dopo l'esecuzione dell'operazione. Il contratto non definisce nulla di specifico su come funziona internamente l'operazione, ma si occupa solo di come lo stato di un programma è influenzato dal suo utilizzo.
I contratti operativi, in generale, non vengono creati per ogni operazione all'interno di un modello di programma. Al contrario, sono riservati per operazioni particolarmente complesse o difficili da tracciare. Diversi linguaggi di modellizzazione del computer, come Unified Modeling Language (UML), supportano i contratti di operazione e hanno modi per aiutare a visualizzare come lo stato di un programma può cambiare una volta eseguita l'operazione.
Le prime due definizioni richieste per creare contratti di operazione sono il nome dell'operazione, che può essere qualsiasi cosa e qualsiasi riferimento incrociato. Un riferimento incrociato è un elenco di altre operazioni o aree di un modello di programma che utilizzano l'operazione in corso di definizione o che l'operazione utilizzerà durante la sua elaborazione. Ciò aiuta a vedere come interagisce un progetto complessivo ed è particolarmente utile per vedere come le modifiche a un'area del modello influenzeranno altre aree.
I contratti operativi definiscono successivamente i presupposti necessari per eseguire l'operazione. Ciò può comportare la necessità di caricare determinate variabili con valori appropriati, oppure può richiedere che determinate parti del programma si trovino in uno stato particolare. Se le condizioni preliminari non vengono rispettate quando l'operazione viene eseguita, l'operazione non avrà luogo o potrebbe non riuscire completamente. Il contratto viene utilizzato come strumento astratto, quindi le condizioni preliminari di solito sono abbastanza generali e coinvolgono più lo stato del programma rispetto a variabili specifiche.
La parte finale dei contratti operativi definisce eventuali post-condizioni. Le post-condizioni sono un elenco di elementi all'interno del modello del programma che sono stati modificati a causa dell'esecuzione dell'operazione. Questo può specificare le modifiche a una struttura di dati o le modifiche allo stato del programma, come ad esempio il trasferimento del controllo su un modulo separato. Tramite l'uso di contratti operativi ben definiti, i programmi possono essere modellati e modificati in modo efficace prima dell'inizio dell'attuazione effettiva.