UML Domine el lenguaje de modelado más utilizado en la actualidad
7, MÁQUINAS DE ESTADO MODELADO DINAMICO AVANZADO En el capítulo anterior vimos una parte importante y trascendental para el mode lado del comportamiento de nuestros sistemas a través de los diagramas de inte racción y los de actividad. En ambos se mostraba el comportamiento específico ante una determinada situación en donde intervenían varias instancias de objetos que trabajaban en colaboración. Sin embargo, estos diagramas no son útiles si queremos modelar el comportamiento de un objeto determinado de manera ais lada. Por ejemplo, para un sistema de base de datos, nos podría interesar ver la evolución del catálogo a medida que las distintas consultas se fueran resolviendo dentro del motor. Para estos casos, UM L nos brinda un tipo de diagrama especial denominado diagramas de estado o statecharts en inglés. Un diagrama de esta do para un determinado objeto mostrará cómo se irá desarrollando ante los dis tintos eventos que ocurrirán a medida que el sistema avance en su ejecución. Aprovechando el principio de abstracción, podemos utilizar los diagramas de estado no sólo para especificar el ciclo de vida de un objeto, sino también para modelar el sistema en sí. Supongamos que deseamos desarrollar un software para controlar los movimientos de un cajero automático. Un usuario puede realizar movimientos en el cajero si antes ingresó correctamente su clave de seguridad. Una vez concluida la operación, el cliente opta entre terminar, con lo que se le devuelve su tarjeta, o realizar otra operación. Este comportamiento básico del sis tema puede ilustrarse a través de un diagrama de estados. Clave Incorrecta Esperando Ingresa Tapeta Nueva Operación Ingresando Clave Ctave Correcta Realizar Operación Cancelar Devolviendo Tarjeta Fin F igu ra 1. Diagrama de estados que muestra el comportam iento clásico de un cajero automático. Con sólo observar la figura 1 podemos llegar a interesantes conclusiones respecto de nuestro sistema. Inicialmente, éste se encuentra en un estado inicial Esperando y. 210
RkJQdWJsaXNoZXIy MjI4NDcx