Skip to main content

¿Qué son los contratos de operación?

En el ámbito de la programación informática y la informática, los contratos de operación son una forma de especificar o documentar cómo una función particular cambiará los diferentes elementos dentro de un programa. A diferencia de una interfaz de programación abstracta (API) o un documento de control de interfaz, los contratos de operación se utilizan para ayudar durante la fase de desarrollo y modelado de la creación de una aplicación o sistema informático. En el nivel más básico, el contrato define cuatro características de la operación, específicamente el nombre de la operación, cualquier referencia a la operación en otras áreas del diseño, cualquier requisito de entrada o estado antes de que se realice la operación, y el estado de la operación. el sistema o las variables después de que se haya realizado la operación. El contrato no define nada específico sobre cómo funciona internamente la operación, y solo trata de cómo el estado de un programa se ve afectado por su uso.

Los contratos de operación, en general, no se crean para cada operación dentro de un modelo de programa. En cambio, están reservados para operaciones que son particularmente complejas o difíciles de rastrear. Varios lenguajes de modelado por computadora, como el Lenguaje de modelado unificado (UML), admiten contratos de operación y tienen formas de ayudar a visualizar cómo puede cambiar el estado de un programa una vez que se ha realizado la operación.

Las dos primeras definiciones necesarias para crear contratos de operación son el nombre de la operación, que puede ser cualquier cosa, y cualquier referencia cruzada. Una referencia cruzada es una lista de otras operaciones o áreas de un modelo de programa que utilizan la operación que se está definiendo o que la operación utilizará en su procesamiento. Esto ayuda a ver cómo interactúa un diseño general y es especialmente útil para ver cómo los cambios en un área del modelo afectarán a otras áreas.

Los contratos de operación luego definen las condiciones previas necesarias para ejecutar la operación. Esto puede implicar que ciertas variables se carguen con valores apropiados, o puede requerir que ciertas partes del programa estén en un estado particular. Si las condiciones previas no se cumplen cuando se ejecuta la operación, entonces la operación no tendrá lugar o podría fallar por completo. El contrato se utiliza como una herramienta abstracta, por lo que las condiciones previas generalmente son bastante generales e implican más el estado del programa que las variables específicas.

La parte final de los contratos de operación define cualquier condición posterior. Las condiciones posteriores son una lista de elementos dentro del modelo del programa que se han modificado debido a la ejecución de la operación. Esto puede especificar cambios en una estructura de datos o modificaciones en el estado del programa, como cambiar el control a un módulo separado. Mediante el uso de contratos de operación bien definidos, los programas se pueden modelar y modificar de manera efectiva antes de que comience la implementación real.