Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un...
Transcript of Análisis y modelado de sistemas de software - blancavg.comblancavg.com/tc2004ma/s19ma.pdfEs un...
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
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