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

22
Análisis y modelado de sistemas de software Análisis - Modelado de comportamiento Máquinas de estados Blanca A. Vargas Govea [email protected] Abril 2, 2013

Upload: others

Post on 24-Sep-2019

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

Análisis y modelado de sistemas de software

Análisis - Modelado de comportamiento

Máquinas de estados

Blanca A. Vargas Govea [email protected] 2, 2013

Page 2: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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í

Page 3: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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>

Page 4: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

Retroalimentación: errores frecuentes

Page 5: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 6: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 7: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 8: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 9: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

Diagramas de clases

● Las clases de asociación no llevan flechas.

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

Page 10: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 11: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 12: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

Diagramas de Estado

Page 13: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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

Page 14: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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

Page 15: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 16: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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()

Page 17: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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]

Page 18: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 19: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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>

Page 20: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 21: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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.

Page 22: Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un modelo dinámico que muestra los diferentes estados de un solo objeto durante su vida

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