![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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022041301/5e1011cd6f3ce0610c0eb7fe/html5/thumbnails/22.jpg)
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