Jakie są umowy operacyjne?
W dziedzinie programowania komputerowego i informatyki umowy operacyjne są sposobem na określenie lub udokumentowanie, w jaki sposób określona funkcja zmieni różne elementy w programie. W przeciwieństwie do abstrakcyjnego interfejsu programistycznego (API) lub dokumentu kontrolnego interfejsu, umowy operacyjne są wykorzystywane do pomocy na etapie tworzenia i modelowania tworzenia aplikacji lub systemu komputerowego. Na najbardziej podstawowym poziomie umowa określa cztery cechy operacji, w szczególności nazwę operacji, wszelkie odniesienia do operacji w innych obszarach projektu, wszelkie wymagania dotyczące danych wejściowych lub stanu przed przeprowadzeniem operacji oraz stan system lub zmienne po wykonaniu operacji. Umowa nie definiuje niczego konkretnego na temat tego, jak operacja działa wewnętrznie, a zamiast tego dotyczy jedynie wpływu programu na jego użycie.
Zasadniczo umowy operacyjne nie są budowane dla każdej operacji w ramach modelu programu. Zamiast tego są zarezerwowane dla operacji, które są szczególnie złożone lub trudne do śledzenia. Kilka języków modelowania komputerowego, takich jak Unified Modeling Language (UML), obsługuje kontrakty operacyjne i ma sposoby na wizualizację, w jaki sposób stan programu może się zmienić po wykonaniu operacji.
Dwie pierwsze definicje wymagane do utworzenia kontraktów operacyjnych to nazwa operacji, która może być dowolna, i wszelkie odniesienia. Odsyłacz to lista innych operacji lub obszarów modelu programu, które wykorzystują zdefiniowaną operację lub które operacja wykorzysta podczas przetwarzania. Pomaga to zobaczyć, jak oddziałuje ogólny projekt i jest szczególnie użyteczne, gdy widzi, jak zmiany w jednym obszarze modelu wpłyną na inne obszary.
Następnie umowy operacyjne określają warunki konieczne do uruchomienia operacji. Może to obejmować wymaganie załadowania określonych zmiennych odpowiednimi wartościami lub może wymagać, aby niektóre części programu były w określonym stanie. Jeśli warunki wstępne nie zostaną spełnione, gdy operacja zostanie wykonana, operacja nie zostanie wykonana lub może zakończyć się niepowodzeniem. Umowa jest używana jako narzędzie abstrakcyjne, więc warunki wstępne są zwykle dość ogólne i bardziej dotyczą stanu programu niż określonych zmiennych.
Ostateczna część umów operacyjnych określa wszelkie warunki dodatkowe. Warunki końcowe to lista elementów w modelu programu, które zostały zmienione z powodu wykonania operacji. Może to określać zmiany w strukturze danych lub modyfikacje stanu programu, takie jak przeniesienie kontroli do oddzielnego modułu. Dzięki zastosowaniu ściśle określonych umów operacyjnych programy można skutecznie modelować i modyfikować przed rozpoczęciem faktycznej realizacji.