Skip to main content

Vad är driftskontrakt?

När det gäller datorprogrammering och datavetenskap är driftskontrakt ett sätt att specificera eller dokumentera hur en viss funktion kommer att förändra olika element inom ett program.Till skillnad från ett abstrakt programmeringsgränssnitt (API) eller ett gränssnittskontrolldokument används driftskontrakt för att hjälpa till under utvecklings- och modelleringsfasen för att skapa en datorapplikation eller system.På den mest grundläggande nivån definierar kontraktet fyra funktioner i operationen, särskilt namnet på operationen, eventuella hänvisningar till operationen i andra områden i designen, alla krav för input eller tillstånd innan operationen utförs och tillståndet försystemet eller variablerna efter operationen har utförts.Kontraktet definierar inte något specifikt om hur operationen fungerar internt, och istället hanterar bara hur tillståndet för ett program påverkas av dess användning.

Operationskontrakt är i allmänhet inte byggda för varje operation inom en programmodell.Istället är de reserverade för operationer som är särskilt komplexa eller svåra att spåra.Flera datormodelleringsspråk, såsom Unified Modeling Language (UML), stödjer driftskontrakt och har sätt att hjälpa till att visualisera hur ett program kan förändras när operationen har utförts.

De två första definitionerna som krävs för att skapa driftskontraktär namnet på operationen, som kan vara vad som helst, och alla korsreferenser.En korsreferens är en lista över andra operationer eller områden i en programmodell som använder operationen som definieras eller som operationen kommer att använda vid sin bearbetning.Detta hjälper till att se hur en övergripande design interagerar och är särskilt användbar för att se hur förändringar i ett område i modellen kommer att påverka andra områden.

Operationskontrakt definierar nästa de förutsättningar som krävs för att driva operationen.Detta kan innebära att vissa variabler ska laddas med lämpliga värden, eller det kan kräva att vissa delar av programmet är i ett visst tillstånd.Om förutsättningarna inte uppfylls när operationen utförs, kommer operationen inte att äga rum eller kan misslyckas helt.Kontraktet används som ett abstrakt verktyg, så förutsättningarna är vanligtvis ganska allmänna och mer involverar programmets tillstånd än specifika variabler.

Den slutliga delen av Operation-kontrakt definierar eventuella efterkonditioner.Efterkonditioner är en lista över objekt inom programmodellen som har ändrats på grund av genomförandet av operationen.Detta kan specificera ändringar i en datastruktur eller ändringar av programmets tillstånd, till exempel att flytta kontroll till en separat modul.Genom användning av väldefinierade driftskontrakt kan program modelleras och modifieras effektivt innan den faktiska implementeringen börjar.