Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un...

Preview:

Citation preview

Análisis y modelado de sistemas de software

Análisis - Modelado de comportamiento

Máquinas de estados

Blanca A. Vargas Govea vargasgovea@itesm.mxAbril 2, 2013

Photo Credit: <a href="http://www.flickr.com/photos/14516334@N00/337114890/">aussiegall</a> via <a href="http://compfight.com">Compfight</a> <a href="http://creativecommons.org/licenses/by/2.0/">cc</a>

Fase final

● Diseño– Máquinas de estado– Interfaces– Clases (otros aspectos)– Persistencia– Vistas

● Implementación

Ya estamos por aquí

Objetivo

● Retroalimentación – Comentarios sobre errores frecuentes.

● Conocer otro tipo de diagrama de comportamiento: Máquina de estados.

Photo Credit: <a href="http://www.flickr.com/photos/32066106@N06/5019940179/">HikingArtist.com</a> via <a href="http://compfight.com">Compfight</a> <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/">cc</a>

Retroalimentación: errores frecuentes

Diagramas de actividad

● Representar la dirección del flujo.

● Si en una actividad, el flujo termina, se debe indicar, no dejar actividades sin fin explícito.

Diagramas de actividad

● Poner corchetes en la condición.

● Si existe un proceso en el cual se obtienen los valores de la condición, indicarlo.

● Notación correcta. No inventarla. Si el software la tiene distinta, aclararlo.

Diagramas de casos de uso

● Poner el sujeto.● Relación de inclusión

<<include>>– va desde el caso de uso

base al incluido. Es un caso que siempre ocurre.

– La línea es discontínua.– La cabeza de flecha es

abierta.– No parte de actores, va de

caso de uso a caso de uso.

Diagramas de casos de uso

● Relación de extensión <<extend>>– Comportamiento

opcional.– Va desde el caso de uso

que se extiende al base.

● Generalización– Representa un caso de

uso específico con respecto a uno general.

Diagramas de clases

● Las clases de asociación no llevan flechas.

● Se recomienda poner etiqueta/nombre a la asociación.

Diagramas de clases

● Agregación– Un uso pudo ser en el

ejemplo de la escuela. Un salón se compone de: sillas, escritorio, pizarrón.

– El rombo no significa decisión.

Diagramas de secuencia

● Usar– comentarios/notas

para mayor claridad. Ejemplo: la retroalimentación que el señor X dió después de una semana de que recibiera su pedido.

– Símbolo para indicar el sistema/sub-sistema que se modela.

Diagramas de Estado

Diagrama de estados

● Es un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida en respuesta a eventos.

● Estados● Eventos● Transiciones● Acciones

Estado

● Está definido por el valor de sus atributos y sus relaciones con otros objetos en un punto en el tiempo.

● No todos los atributos afectan el estado. Por ejemplo, el teléfono.

● Ejemplo– Paciente Nuevo– Paciente Actual– Paciente Anterior

Evento

● Es algo que pasa en cierto punto del tiempo y cambia los valores que describen a un objeto, cambiando su estado.

● Una condición que se cumple.

● Ejemplo– El Paciente se registra.– El Paciente deja de

acudir con su médico por más de 5 años.

Transición-Evento-Acción

● Transición Es la →relación que representa el movimiento de un objeto al pasar de un estado a otro.

● Acción Proceso →atómico que no puede ser interrumpido.

● Ejemplo– Se envía una

orden/return notificación

– Anochece/cerrar ventanas()

– Se registra/genera un ID()

Elementos de un diagrama de estados

Estado:Representa elestado de un objeto

Estado inicial:Punto en el cual elobjeto empieza a existir

Estado final:Representa el fin dela actividad

Transición:Representa el cambio de un objetode un estado a otro.Se dispara por la ocurrencia del eventoque se indica en su etiqueta

Evento:Es una condición que se hace realidady que dispara el cambio del objeto deun estado a otro

unEvento/acciones

Marco:Representa elcontexto de la máquina de estados

[condición]

Ejemplo: Paciente

Clase Paciente en el contexto de un ambiente de hospital. Un paciente entraen el hospital y se registra. Si el médico encuentra al paciente saludable, puedeirse y después de dos semanas ya no se considera Paciente. Si no es saludable,permenece en observación hasta que el diagnóstico cambie.

Ejemplo: Hombre lobo

Photo Credit: <a href="http://www.flickr.com/photos/49348226@N00/2365789660/">Sick Sad M!kE</a> via <a href="http://compfight.com">Compfight</a> <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/">cc</a>

Construcción

1. Determinar el contexto de la máquina de estados. Generalmente es una clase, puede ser un conjunto de clases, un sub-sistema o el sistema completo.

2.Identificar los estados que un objeto tendrá en su vida.

3.Determinar la secuencia de estados por los que un objeto pasará durante su vida.

4.Identificar los eventos, condiciones y acciones asociados a las transiciones.

5.Validar la máquina de estados asegurándote de que cada estado es alcanzable y de que es posible dejar todos los estados.

21

Actividad 19: individual

Pensar en el envío de un paquete por un servicio de mensajería (DHL, Estafeta). Describe el proceso por el cual el paquete pasa desde que lo preparas hasta que tu destinatario lo recibe. Descríbelo desde el punto de vista del paquete.

22

Tarea: equipo2o avance de proyecto.Seguir las especificaciones del documento visto en la sesión 18.

Fecha de presentación Viernes 5 de Abril