Što su operativni ugovori?

U području računalnog programiranja i računalne znanosti, ugovori o operaciji su način da se specificira ili dokumentira kako će određena funkcija promijeniti različite elemente unutar programa. Za razliku od sučelja apstraktnog programiranja (API) ili kontrolnog dokumenta sučelja, ugovori o radu koriste se kao pomoć tijekom faze razvoja i modeliranja stvaranja računalne aplikacije ili sustava. Na najosnovnijoj razini, ugovor definira četiri značajke operacije, točnije naziv operacije, sve reference na operaciju u drugim područjima dizajna, sve zahtjeve za unos ili stanje prije izvođenja operacije i stanje sustav ili varijable nakon što je operacija izvedena. Ugovor ne definira ništa specifično o tome kako operacija funkcionira interno, već se bavi samo time kako na stanje programa utječe njegova upotreba.

Operativni ugovori se općenito ne izrađuju za svaku operaciju unutar programskog modela. Umjesto toga, rezervirani su za operacije koje su posebno složene ili ih je teško pratiti. Nekoliko jezika za računalno modeliranje, kao što je Unified Modeling Language (UML), podržavaju ugovore o operacijama i imaju načine za vizualizaciju kako se stanje programa može promijeniti nakon što se operacija izvede.

Prve dvije definicije potrebne za stvaranje ugovora o operaciji su naziv operacije, koji može biti bilo što, i bilo koje unakrsne reference. Unakrsna referenca je popis drugih operacija ili područja programskog modela koji koriste operaciju koja se definira ili koja će operacija koristiti u svojoj obradi. To pomaže vidjeti kako cjelokupni dizajn djeluje i posebno je korisno u sagledavanju kako će promjene u jednom području modela utjecati na druga područja.

Operativni ugovori zatim definiraju preduvjete potrebne za izvođenje operacije. To može uključivati ​​zahtjev da se određene varijable učitaju s odgovarajućim vrijednostima ili može zahtijevati da određeni dijelovi programa budu u određenom stanju. Ako preduvjeti nisu ispunjeni kada se operacija izvrši, tada se operacija neće dogoditi ili bi mogla u potpunosti propasti. Ugovor se koristi kao apstraktni alat, tako da su preduvjeti obično prilično opći i više uključuju stanje programa nego specifične varijable.

Završni dio ugovora o radu definira sve naknadne uvjete. Postuvjeti su popis stavki unutar modela programa koje su promijenjene zbog izvođenja operacije. To može specificirati promjene strukture podataka ili modifikacije stanja programa, kao što je prebacivanje kontrole na zasebni modul. Korištenjem dobro definiranih ugovora o radu, programi se mogu učinkovito modelirati i modificirati prije početka stvarne implementacije.