Actividad Diagrama de Estados

14
CENTRO INDUSTRIAL Y DESARROLLO EMPRESARIAL SOACHA Tecnologo Analisis y Desarrollo de Sistemas de Informacion Material de Apoyo 2015 Instructora : Claudia Patricia Ramírez Triana 1 CONCEPTOS BÁSICOS 01. Un diagrama de estados muestra la secuencia de estados que un objeto ó una interacción pueden atravesar durante su existencia en respuesta a eventos externos o internos que provocan los cambios de un estado a otro. Un diagrama de estados es útil sólo para los objetos con un comportamiento Significativo. El resto de objetos se puede considerar que tienen un único Estado. Un diagrama de estados completa la definición de los casos de uso y sirven de base para el diseño de la interfaz de usuario. Los diagramas de estados y los diagramas de interacción son complementarios. Un ejemplo de un diagrama de estados podría ser: En un diagrama de estados el objeto analizado siempre posee un estado en un momento determinado, caracterizado por los valores de los atributos y los enlaces del objeto. El estado en el que se encuentra un objeto determina su comportamiento valido. Un diagrama de estados es un grafo dirigido y deterministico que permite expresar concurrencia, sincronización (Si la comunicación es síncrona el objeto debe esperar la respuesta)y jerarquías de objetos. Los estados inicial y final están diferenciados de los demás. Los elementos que conforman un diagrama de estados son:

description

Diagrama De Estados

Transcript of Actividad Diagrama de Estados

CONCEPTOS BASICOS 01

CENTRO INDUSTRIAL Y DESARROLLO EMPRESARIAL SOACHATecnologo Analisis y Desarrollo de Sistemas de InformacionMaterial de Apoyo2015Instructora: Claudia Patricia Ramrez Triana

2

CONCEPTOS BSICOS 01.

Un diagrama de estados muestra la secuencia de estados que un objeto una interaccin pueden atravesar durante su existencia en respuesta a eventos externos o internos que provocan los cambios de un estado a otro.

Un diagrama de estados es til slo para los objetos con un comportamiento

Significativo. El resto de objetos se puede considerar que tienen un nico

Estado.

Un diagrama de estados completa la definicin de los casos de uso y sirven de base para el diseo de la interfaz de usuario. Los diagramas de estados y los diagramas de interaccin son complementarios.

Un ejemplo de un diagrama de estados podra ser:

En un diagrama de estados el objeto analizado siempre posee un estado en un momento determinado, caracterizado por los valores de los atributos y los enlaces del objeto. El estado en el que se encuentra un objeto determina su comportamiento valido.

Un diagrama de estados es un grafo dirigido y deterministico que permite expresar concurrencia, sincronizacin (Si la comunicacin es sncrona el objeto debe esperar la respuesta)y jerarquas de objetos. Los estados inicial y final estn diferenciados de los dems.

Los elementos que conforman un diagrama de estados son:

Estados

Un estado se representa mediante de un rectngulo con las esquinas redondeadas. Puede tener de forma opcional uno o ms secciones, tales como el nombre y las transiciones internas.

En la seccin nombre se coloca el nombre del estado. Mientras que en la seccin transiciones internas se coloca una lista de acciones realizadas mientras el objeto estn en un estado segn el siguiente formato:

evento argumentos / accinCada nombre de evento puede aparecer ms de una vez en un nico estado. Las acciones pueden utilizar los atributos y enlaces del objeto al que pertenecen o los parmetros de transiciones de entrada. Las siguientes acciones utilizan palabras reservadas:

entrar: ocurre a la entrada del estado

salir: ocurren a la salida del estado

hacer: ocurren mientras est en el estado

Existen dos (2) estados especiales y que se distinguen del resto:

El estado inicial y el estado final. El primero ocurren cuando se crea un objeto y el segundo ocurre cuando este desaparece. Se ilustran mediante un punto negro y un punto negro con un circulo externo respectivamente.

Subestados

Adems de los compartimentos de nombre y transiciones internas, cada estado puede tener un compartimiento con un diagrama anidado.

Un estado se puede refinar ya sea mediante subestados concurrentes, a travs de relaciones AND mediante subestados mutuamente excluyentes, utilizando la relacin OR.

La expansin de un estado en subestados concurrentes se indica a travs de un grfico dividido en subregiones horizontales con lneas discontinuas. Cada una de estas subregiones horizontales puede tener un nombre opcional y debe contener un diagrama de estados anidado, con estados disjuntos.

La expansin de un estado en subestados sirve para determinar su estructura en detalle.

En dichos ilustraciones, los estados iniciales y finales se consideran

Pseudoestados, es decir, son un artificio notacional, no un elemento

Significativo.

Eventos

Un evento es un suceso notable. Una situacin que puede disparar una transicin.

Los eventos pueden ser de distintos tipos, no necesariamente excluyentes:

Seal recibida de forma explcita

Llamada a una operacin desde otro objeto.

Condicin que se verifica

Transcurso de un perodo de tiempo

Los eventos de seales ocurren cuando se recibe una seal explicita desde otro objeto. Los eventos de llamada ocurren se recibe una llamada de operacin por parte de otro objeto. Las seales y las llamadas se denotan por el nombre del disparador de la transicin.

Las seales y las llamadas se definen a travs del siguiente formato:

evento ( [parametro: tipoDatos] )

Los eventos de condiciones ocurren si una condicin dada ha sido verificada, normalmente descrita a travs de una expresin lgica. Estos eventos se denotan como condiciones de guarda en las transiciones, y no se les da nombre.

Un evento de condicin se representa a travs de una condicin sin evento, utilizando por ejemplo:

when( pH>7.0 )

Los eventos de tiempo ocurren por el transcurrir de un cierto tiempo luego de que un evento ocurre o por la ocurrencia de una determinada fecha u hora.

Un evento por transcurso de tiempo es una expresin que evala dicho intervalo. Por defecto indica el tiempo transcurrido en el estado en curso, por ejemplo:

after( 5 segundos )

Otros eventos temporales podran ser especificados como condiciones, como por ejemplo:

when( fecha=1/01/2000 )

Transiciones

Hay dos (2) tipos de transiciones:

a. Transiciones simples

Una transicin simple es una relacin entre dos estados, indicando que un objeto del primer estado entrar en el segundo estado y realizar ciertas operaciones cuando ocurra un evento dado si determinadas condiciones

se cumplen.

El disparador de la transicin es la ocurrencia del evento que est etiquetando la transicin.

El evento podra tener parmetros, que se utilizarn en:

- Las acciones especificadas en la transicin

- Las acciones iniciadas en el siguiente estado

Los eventos se procesan de forma exclusiva en cada momento, nunca concurrentemente.

Si un evento no disparara ninguna transicin, simplemente se ignora.

Las transiciones se representan por una flecha slida que va de un estado a otro, etiquetada por un string de transicin con el siguiente formato:

Evento ( [parametros] ) [condicin guarda] / accin

La condicin de guarda es una expresin lgica en trminos de los parmetros del evento disparado, atributos y enlaces del objeto al que pertenece la mquina de estados.

La accin es una expresin que se ejecuta cuando la transicin se dispara. La accin es un operador atmico pero una transicin puede contener varias clusulas de accin. Por ejemplo:

right-mouse-down ( localizacin ) [ localizacin en la ventana ] /

objecto:=objecto_pulsado( localizacin ) ; objecto.seleccionado ( )

b. Transiciones complejas

Una transicin es compleja cuando posee mltiples estados fuente y mltiples estados destino. Sirve para representar una sincronizacin de hilos concurrentes a travs de ramas AND/OR.

Acciones

Podemos especificar la ejecucin de una accin como consecuencia de la transicin. Por ejemplo:

Tambin podemos especificar el envo de un evento a otro objeto como consecuencia de la transicin:

Las acciones se escriben en trminos de operaciones, atributos, y

enlaces del objeto al que pertenecen, y parmetros del evento disparado.

Puede tener como receptor el mismo u otro objeto:

[ destino. ] evento_destino ( argumento... )

right-mouse-down ( localizacin ) [ localizacin en la ventana ] /

objecto:=objecto_pulsado( localizacin ) ; objecto.seleccionado ( )

Las acciones internas sirven para especificar el hacer una operacin como consecuencia de entrar, salir o estar en un estado:

Se puede especificar una accin cuando ocurre en dicho estado un evento que no obliga a salir del estado:

EJERCICIO PRACTICO 01.

Responda las siguientes preguntas marcando una X donde considere correcto.

La transicin entre estados de un objeto se debe a la ocurrencia de: Un cambio en un atributo del objeto

La activacin de comportamiento del objeto

Un evento

Un cambio en la relacin con otros objetos

El elemento ms importante en un diagrama de estados es el objeto.

Falso

Verdadero

EJERCICIO PRACTICO 02.

El alcohol tiene efectos lamentables en una persona. Inicialmente, una persona est sobria. Pero si bebe una copa, su nimo cambia; dice que est ``alegre''. Si a una persona en esta situacin se le da una mala noticia, vuelve a estar repentinamente sobria.

Sin embargo, si una persona ``alegre'' bebe otra copa, pasa a estar borracha. En este caso, le da lo mismo que se le d una mala noticia; por su falta de juicio, no hace caso y permanece borracha. Hay una forma de hacerla retornar a la sobriedad, y es arrojarle un cubo de agua a la cara. Tambin funciona lo que se conoce como ``dormir la mona''.

Si una persona borracha bebe otra copa ms, inmediatamente vomita y pasa a un estado ``lamentable''. De ah slo puede volver a la sobriedad durmiendo la mona. Eso s, si en ese momento se inocula una droga de diseo, el efecto ser tan violento que la conducir a la muerte.

Modelar este comportamiento de las personas mediante un diagrama de estados.

EJERCICIO PRACTICO 03.

Se desea representar el comportamiento del proceso de validacin de un cajero automtico.

Inicialmente el cursor se encuentra situado sobre el cuadro de texto del campo nombre de usuario.

El usuario introduce su nombre de usuario indicando cualquier carcter (excepto el tabulador). Si el usuario pulsa el tabulador o sita el cursor en el cuadro de texto de la contrasea, el sistema pasa a recoger la informacin sobre la contrasea de forma que ante cualquier carcter que introduce el

usuario (excepto tabulador, en cuyo caso el foco de control pasa al cuadro de texto del nombre del usuario) se muestra por pantalla un asterisco.

Cuando el usuario pulsa el botn enviar se realiza la validacin en el cajero considerando la informacin introducida en los cuadros de texto login y password de forma que si la validacin es positiva se enva un evento para que comience la aplicacin principal y el sistema de validacin

Finaliza su trabajo. S la validacin es negativa se muestra por pantalla un mensaje de validacin incorrecta y el nmero de intentos que quedan. Cuando se llega a los tres intentos el cajero muestra un mensaje y alcanza su estado final. Cuando la validacin es incorrecta el usuario puede o bien reintentar, en

Cuyo caso se limpian los cuadros de texto y se vuelve a iniciar el proceso, o cancelar en cuyo caso se llega al estado final.EJERCICIO PRACTICO 04.

Disear el diagrama de estados correspondiente a un sistema de reservas de un restaurante.

Los clientes pueden llamar por telfono para hacer una reserva. Si el cliente llega al restaurante veinte minutos despus de la hora de la reserva de la mesa, el sistema se encarga automticamente de dejar libre dicha mesa. En el caso de llegar a tiempo, bastar con indicar el nmero de la reserva y se les sentar en el lugar que les corresponde.

Por tanto, cada una de las mesas del restaurante podr estar en uno de los siguientes estados:

- Libre: Si no existe ninguna reserva sobre la mesa

- Reservada: Si hay una reserva hecha

- Ocupada: Si los comensales se encuentran en la mesa

- Pidiendo: Si el camarero se encuentra anotando el pedido de la mesa

- En espera de comida: Cuando los clientes esperan a que se les sirva

- Servidos: Los clientes tienen la comida en la mesa

- Esperando cuenta: Los clientes han pedido la cuenta

- Pagando: Los clientes tienen la cuenta en la mesaEJERCICIO PRACTICO 05.

Construya un diagrama de estados que represente el estado de una multa de trfico (impuesta, comunicada, recurrida, anulada, confirmada, cobrada, en embargo), teniendo en cuenta lo siguiente: Cuando se crea una multa, automticamente se enva una notificacin al conductor.

Si correos devuelve firmado el acuse de recibo o certifica que el conductor ha rechazado la notificacin la multa pasa a notificada.

A los 30 das sin recurrir pasa automticamente a confirmada. Si llega antes un recurso pasa a recurrida hasta que la autoridad competente decide confirmar o anular la sancin salvo que transcurran 6 meses sin decisin y en ese caso pasa tambin a anulada.

Si la multa est confirmada y transcurren 6 meses se inicia automticamente el procedimiento de embargo con comunicacin simultnea al interesado.

En cualquier momento apropiado la multa se puede pagar y pasa al estado cobrado.EJERCICIO PRACTICO 06.

Construya un diagrama de estados que represente el estado de una factura que emite un sistema para su cobro. La factura se crea e inicialmente tiene un estado emitida. Cuando llega un aviso del banco con el ingreso correspondiente se pasa a cobrada y se enva un mensaje al sistema contable con el importe cobrado.

Si pasan 45 das naturales sin ser cobrada la factura es reclamada automticamente (se emite un duplicado y se enva al deudor). En caso de transcurrir otros 90 das, si el importe es mayor o igual

a 3000 euros es reclamada en el juzgado y si el importe es menor se enva a una agencia especializada de reclamaciones que cobra una comisin del 10 %. Como resultado de los trmites en el juzgado o en la agencia y segn el resultado, la factura se cobra (y se enva el mensaje correspondiente) o se declara incobrable.

Si se produce una reclamacin del cliente, la factura queda suspendida hasta que se resuelva el caso: si el cliente tiene razn la factura se anula pero en caso contrario pasa directamente al estado reclamado automticamente (se emite un duplicado y se enva al deudor).

A los 5 aos de pagada, anulada o ser declarada incobrable, la factura es destruida.