Skip to main content

Hvad er operationskontrakter?

Inden for computerprogrammering og datalogi er driftskontrakter en måde at specificere eller dokumentere, hvordan en bestemt funktion vil ændre forskellige elementer i et program.I modsætning til en abstrakt programmeringsgrænseflade (API) eller et interfacekontroldokument bruges driftskontrakter til at hjælpe i udviklings- og modelleringsfasen med at oprette en computerapplikation eller system.På det mest basale niveau definerer kontrakten fire funktioner i operationen, specifikt navnet på operationen, eventuelle henvisninger til operationen i andre områder af designet, eventuelle krav til input eller tilstand inden operationen udføres, og tilstanden afSystemet eller variablerne efter operationen er blevet udført.Kontrakten definerer ikke noget specifikt om, hvordan driften fungerer internt, og i stedet beskæftiger sig kun med, hvordan staten for et program påvirkes af dets anvendelse.

Operation -kontrakter er generelt ikke bygget til enhver operation inden for en programmodel.I stedet er de forbeholdt operationer, der er særligt komplekse eller vanskelige at spore.Flere computermodelleringssprog, såsom Unified Modelling Language (UML), supportoperationskontrakter og har måder at hjælpe med at visualisere, hvordan staten for et program kan ændre sig, når operationen er blevet udført.

De to første definitioner, der kræves for at oprette driftskontrakterer navnet på operationen, som kan være hvad som helst, og eventuelle krydshenvisninger.En krydshenvisning er en liste over andre operationer eller områder i en programmodel, der bruger operationen, der defineres, eller som operationen vil bruge i dens behandling.Dette hjælper med at se, hvordan et overordnet design interagerer og er især nyttigt til at se, hvordan ændringer i et område af modellen vil påvirke andre områder.

Operationskontrakter Definer derefter de forudsætninger, der er nødvendige for at køre operationen.Dette kan involvere at kræve, at visse variabler indlæses med passende værdier, eller det kan kræve, at visse dele af programmet er i en bestemt tilstand.Hvis forudsætningerne ikke er opfyldt, når operationen udføres, vil operationen ikke finde sted eller muligvis mislykkes fuldstændigt.Kontrakten bruges som et abstrakt værktøj, så forudsætningerne er normalt temmelig generelle og mere involverer programmets tilstand end specifikke variabler.

Den sidste del af driftskontrakter definerer eventuelle post-konditioner.Efterbetingelser er en liste over varer inden for programmodellen, der er ændret på grund af udførelsen af operationen.Dette kan specificere ændringer i en datastruktur eller ændringer af programmets tilstand, såsom at skifte kontrol til et separat modul.Gennem brug af veldefinerede driftskontrakter kan programmer modelleres og ændres effektivt, før den faktiske implementering begynder.