Kompiuterių programavimo ir kompiuterių mokslo srityje operacijų sutartys yra būdas nurodyti arba dokumentuoti, kaip tam tikra funkcija pakeis skirtingus programos elementus. Skirtingai nuo abstrakčios programavimo sąsajos (API) ar sąsajos valdymo dokumento, operacijų sutartys yra naudojamos kuriant kompiuterio taikomąją programą ar sistemą, kuriant ir modeliuojant. Paprasčiausiu lygiu sutartyje apibrėžiamos keturios operacijos ypatybės, konkrečiai operacijos pavadinimas, visos nuorodos į operaciją kitose projektavimo srityse, bet kokie įvesties arba būsenos reikalavimai prieš operaciją ir operacijos būsena. sistema ar kintamieji po operacijos atlikimo. Sutartyje nieko konkretaus neapibrėžiama, kaip operacija veikia viduje, o tik kalbama apie tai, kaip programos būsena turi įtakos jos naudojimui.
Veiklos sutartys paprastai nėra sudaromos kiekvienai programos modelio operacijai. Vietoj to, jie yra skirti operacijoms, kurios yra ypač sudėtingos arba sunkiai stebimos. Kelios kompiuterinio modeliavimo kalbos, pvz., Unified Modeling Language (UML), palaiko operacijų sutartis ir turi būdų, kaip padėti vizualizuoti, kaip programos būsena gali pasikeisti atlikus operaciją.
Pirmieji du apibrėžimai, kurių reikia norint sukurti operacijos sutartis, yra operacijos pavadinimas, kuris gali būti bet koks, ir bet kokios kryžminės nuorodos. Kryžminė nuoroda yra kitų operacijų arba programos modelio sričių, kurios naudoja apibrėžiamą operaciją arba kurias operacija naudos apdorojant, sąrašas. Tai padeda pamatyti, kaip bendras dizainas sąveikauja, ir ypač naudinga norint pamatyti, kaip vienos modelio srities pakeitimai paveiks kitas sritis.
Toliau operacijos sutartys apibrėžia išankstines sąlygas, būtinas operacijai vykdyti. Tai gali apimti reikalavimą tam tikriems kintamiesiems įkelti atitinkamas reikšmes, arba gali reikėti, kad tam tikros programos dalys būtų tam tikros būsenos. Jei prielaidos nebus įvykdytos atliekant operaciją, operacija neįvyks arba gali visiškai nepavykti. Sutartis naudojama kaip abstraktus įrankis, todėl prielaidos paprastai yra gana bendros ir labiau susijusios su programos būsena, o ne su konkrečiais kintamaisiais.
Paskutinėje eksploatavimo sutarčių dalyje apibrėžiamos visos vėlesnės sąlygos. Posąlygos yra programos modelio elementų, kurie buvo pakeisti dėl operacijos vykdymo, sąrašas. Tai gali nurodyti duomenų struktūros pakeitimus arba programos būsenos pakeitimus, pvz., valdymo perkėlimą į atskirą modulį. Naudojant tiksliai apibrėžtas veiklos sutartis, programas galima modeliuoti ir efektyviai modifikuoti prieš pradedant realų įgyvendinimą.