UML Domine el lenguaje de modelado más utilizado en la actualidad
7. MÁQUINAS DE ESTADO Transiciones Una transición simboliza la ocurrencia de un evento o acción que provoca un cam bio de estado. Existen dos tipos de elementos que podemos asociar a una transición de manera de enriquecer expresivamente nuestros modelos. Por un lado, una tran sición puede tener asociada una determinada condición. En este caso, la transición únicamente ocurre si la condición se cumple. Por otro lado, así como teníamos acciones asociadas a un estado, podemos tener acciones asociadas a una transición. Las acciones se ejecutarán cuando la transición ocurra, siempre que la condición de ésta se satisfaga. Gráficamente, una condición se denota entre llaves, mientras que las acciones se expresan a continuación del evento que etiqueta la transición. Generalmente, se suele agregar el símbolo de una barra invertida para separar el nombre de las acciones de una transición. En caso de haber más de una acción aso ciada, éstas se separan a través de un punto y coma. Para ilustrar estos conceptos, retomemos el ejemplo del cajero automático, ya que nos piden agregar una nueva funcionalidad. Nos dicen que si una clave es ingresa da incorrectamente tres veces, la tarjeta debe ser retenida. La transición que nos lleve a un estado para retener la tarjeta tendrá asociada una condición. Esta condi ción es el predicado IntentosFailidos = 3. Para modelarla será necesario modelar el comportamiento de un contador IntentosFailidos, que será inicializado con el valor cero cada vez que se ingrese al estado Ingresando Clave. Cuando se ingrese una clave incorrecta, el contador aumentará en uno. Mientras tenga un valor menor a tres, se podrá ingresar nuevamente la clave. Todo el comportamiento del contador se modela a través de acciones y condiciones sobre las transiciones del diagrama de estados del diagrama de la figura 1 . Veamos el modelo con la nueva funcionalidad: Clave Incorrecta : |inientosFallidos <3| / IntenlosFallidos** IngresaTarjeta : / IntentosFallidosi’-O ¡IntentosFailidos—3| Esperando Ingresando Clave Cancelar: |lntentosFallldos<4] Clave Correcta Retener Tarjeta Nueva Operación Devolviendo Tarjeta Fin Realizar Operación Figura 6. Ampliación de la funcionalidad del cajero con acciones y condiciones en las transiciones. 216
RkJQdWJsaXNoZXIy MjI4NDcx