SlideShare une entreprise Scribd logo
1  sur  40
UML Transición de Estados

    Lic. César Alcántara Loayza
Objetivo
                 El diagrama de estados describe la vida
                  de un objeto en término de los eventos
                  que activan los cambios en el estado
                  del objeto. Identifica todos los eventos
                  externos e internos que pueden
                  cambiar el estado del objeto.


CAL/Fundamentos                                 2
Estado
                     Un estado describe la condición actual
                      de un objeto, por ejemplo, cuenta
                      sobregirada o la cuenta abierta.
                      Cuando la condición actual de la cuenta
                      se sobregira, la cuenta responderá
                      diferentemente de cuando la cuenta
                      está en la condición normal--se
                      rechazarán los cheques en lugar de
                      pagó.
CAL/Fundamentos                                   3
Secuencias y Estados
                     Contraste el alcance del diagrama de estados
                       con el del diagrama de secuencia. El alcance
                      del diagrama de estados es todo el tramo de
                      vida de un objeto. El alcance del diagrama de
                      secuencia es un solo escenario. Por
                      consiguiente, es posible derivar un diagrama
                      de estados del juego de diagramas de
                      secuencia que describen los casos del uso
                      que usan el objeto.

CAL/Fundamentos                                       4
Contexto del comportamiento
                     El diagrama de estados modela los
                      eventos que activan las transiciones de
                      un estado a otro estado. Cada evento
                      puede tener una acción
                      correspondiente que hace un cambio
                      en el objeto. Mientras un objeto está en
                      un estado, puede realizar trabajo
                      asociado con ese estado. Tal trabajo se
                      llama una actividad.
CAL/Fundamentos                                    5
Acción
                     Es una contestación a un evento en un
                      diagrama de estados, típicamente la
                      parte de la transición de un estado a
                      otro y típicamente atómico (no puede
                      dividirse en el subtareas).




CAL/Fundamentos                                  6
Actividad
                     Procesamiento que un objeto realiza
                      en particular a un estado específico.
                      Una actividad es típicamente no
                      atómica, es decir, puede componerse
                      de cualquier número de subtareas.




CAL/Fundamentos                                   7
Evento
                     Es un estímulo del sistema, a
                      menudo en la forma de un mensaje
                      de un objeto a otro.




CAL/Fundamentos                                 8
Diagrama de Estado
                     Se recomienda que observe cómo
                      parte de la declaración del problema
                      reflejan los elementos del modelo. Los
                      estados describen un objeto, de modo
                      que ellos aparecen típicamente como
                      adjetivos en la descripción del
                      problema, por ejemplo, cuenta abierta,
                      cuenta cerrada, factura retrasada.
CAL/Fundamentos                                   9
D. Actividad – D. Estado
                     El diagrama de actividad muestra el
                      flujo de control que pasa de una
                      actividad a otra, mientras que el
                      diagrama de estado muestra el flujo
                      de control de un estado a otro.




CAL/Fundamentos                                   10
D. Actividad – D. Estado
                     Use el diagrama de actividad cuando
                      todos los estados de un objeto mapean
                      a actividades. El movimiento de un
                      estado a otro se activa por la
                      realización de cada actividad. Use el
                      diagrama de estados cuando el objeto
                      tiene tanto estados activos y de espera
                      y los cambios son activados por
                      eventos externos y/o internos.
CAL/Fundamentos                                   11
D. Actividad – D. Estado
                     La base para el diagrama de
                      estados es la relación entre los
                      estados y los eventos.




CAL/Fundamentos                                    12
Estado Básico
                     Un estado se modela como un
                      rectángulo con bordes redondeados
                      con el nombre del estado dentro, al
                      igual que la forma corta del icono de
                      clase dónde sólo el compartimiento
                      del nombre es visible.
                                    Completo




CAL/Fundamentos                                    13
Notación del Evento
                 La notación de evento del diagrama de
                  estados es una flecha que conecta un estado
                  a otro estado. La flecha realmente es la
                  transición asociada con el evento. La
                  dirección de la flecha muestra la dirección de
                  la transición de un estado a otro.
                         Colocado   Productos disponibles   Completo




CAL/Fundamentos                                               14
Notación de la Acción
                 Una acción es asociada con un evento y se
                  modela usando una barra oblícua seguida al
                  evento, seguida a su vez por la descripción de
                  la acción. Una acción cambia el objeto de un
                  estado a otro estado. Una acción es una tarea
                  atómica, de modo que no se puede partir en
                  sub tareas componente, ni puede
                  interrumpirse. No hay punto de quiebre dentro
                  de él, y detenerlo a la mitad del camino dejarían
                  el estado del objeto indefinido.

CAL/Fundamentos                                       15
Notación de la Acción
                     FillOrder() es la acción para el evento
                      “productos disponibles”.

          Colocado             Productos disponibles / FillOrder()    Completo




CAL/Fundamentos                                                      16
Estado Inicial
                     El estado inicial de un objeto tiene su
                      propia única notación, un punto sólido
                      con una flecha que apunta al primer
                      estado asociado. El estado inicial indica
                      el estado en el que un objeto se crea o
                      se construye.
                                        Colocado




CAL/Fundamentos                                    17
Estado Final
                     Un objeto puede alcanzar un estado
                      final en que ninguna otra actividad
                      puede ocurrir y desde la que no se
                      puede regresar a un estado activo.
                      Debido a estas restricciones, el estado
                      final no se usa necesariamente en
                      todos los objetos.


CAL/Fundamentos                                    18
Estado Final

                     Completa      Cancelada




                                Archivada




CAL/Fundamentos                                19
Ejercicio
         Rastreamos el estado del cliente actual para evitar
          problemas de pago e identificar a clientes dignos de
          tratamiento preferente. Todos los clientes son inicialmente
          establecidos como prospecto, pero cuando ellos hacen su
          primer pedido, se cambian al estado activo.
         Si un cliente no paga una factura a tiempo, se pone en
          estado de prueba. Si ellos pagan a tiempo y han pedido
          más de $10,000 en los 6 meses anteriores ello garantiza
          un estado preferente. Sólo pueden cambiarse el estado
          preferente si el cliente llega tarde en dos o más pagos.
          Entonces vuelven al estado activo en lugar de prueba
          (dándoles el beneficio de la duda).

CAL/Fundamentos                                       20
Solución Ejercicio
                                    Prospecto




                           OrdenColocada / AdOrden(Orden)


                                      Activo         Pago pasado / SetPrueba(true)        En Prueba




                  Ordenes de 6 meses > 10,000 / SetPreferido(true)

                                                                Pagos pasados > 1 / SetPreferido(false)
                                    Preferente




CAL/Fundamentos                                                                         21
Estados extendidos
                     En la forma extendida el diagrama de
                      estados muestra actividades, eventos
                      interiores, y los eventos diferidos. No
                      muchas herramientas soportan
                      actualmente eventos interiores y los
                      eventos diferidos.



CAL/Fundamentos                                     22
Estados extendidos
                     Estado completo – representa el estado
                      de la orden




CAL/Fundamentos                                  23
Actividades
             Las actividades son procesos realizados dentro
              de un estado. Una actividad tiende a no ser
              atómica, es decir, una actividad puede ser un
              grupo o serie de tareas. Pueden interrumpirse
              las actividades. En este sentido, las actividades
              son diferentes de las acciones que son tareas
              atómicas, que no pueden interrumpirse. Para
              modelar actividades dentro de un estado use la
              palabra clave Do: seguido por uno o más
              actividades:

CAL/Fundamentos                                   24
Actividades
                     Estas actividades se
                      realizarán desde el momento
                      en que el objeto entra en el
                      estado hasta que el objeto
                      deja el estado.
                         Do : countUnits()
                         Do : generateStatement()
                         Do : displayHeartRate()
CAL/Fundamentos                                 25
Eventos Internos y diferidos
                     Los eventos internos son eventos que
                      no causan un cambio en el estado. A
                      veces ésta es una pista de que su
                      modelo no muestra suficiente detalle.
                      Pueden haber cambios en el
                      subestados dentro del estado actual.
                      Revisaremos subestados,
                      superestados, y eventos internos mas
                      adelante.
CAL/Fundamentos                                   26
Eventos Internos y diferidos
                     Los eventos diferidos son eventos
                      que se anuncian mientras el objeto
                      se encuentra en el estado actual pero
                      el objeto no responde a el hasta que
                      el objeto deja el estado.




CAL/Fundamentos                                   27
Notación ...
                     El objetivo de la presente lección es
                      definir la notación de los diagramas
                      de estados para acciones entry y exit
                      y eventos send.




CAL/Fundamentos                                   28
Notación
                     Modelar las transiciones de estado a
                      veces resulta en más de un evento que
                      transita al mismo estado.
                      Adicionalmente, cada evento tiene una
                      acción correspondiente. Por ejemplo:




CAL/Fundamentos                                  29
Condiciones entry redundantes

          El ejemplo tiene identicas acciones sobre las
           dos transiciones entrantes al estado bound
           (limitado)




CAL/Fundamentos                                 30
Remueve redundancia
                 Si la acción debe ser ejecutada sin
                  considerar cómo el objeto ingresa al estado,
                  use el concepto UML de entry action. El
                  formato es “entry:accion”




CAL/Fundamentos                                    31
Acciones exit redundantes
                     Un problema similar se da con eventos que
                      provocan a un objeto dejar un estado




CAL/Fundamentos                                      32
Remoción de redundancia
                 Cuando la misma accion debe ocurrir siempre que un objeto deja
                  un estado, use una acción exit. El formato es “exit:accion” , estos
                  ejemplos para acciones entry y exit muestran solo una acción,
                  pero podrían haber mas.




CAL/Fundamentos                                                     33
Evento send
          Cuando un ocurre un evento, un objeto algunas veces responde
           llamando o señalando otro objeto. Esto es llamado un “send event”.
           Adicione el evento send a la especificación del evento usando la
           notación “ target-object-name.event-name(parametros)”




CAL/Fundamentos                                              34
Ejercicio - instrucciones
                     Lea la declaración del problema
                      siguiente y construya un diagrama de
                      estados para el objeto Producto.




CAL/Fundamentos                                  35
Control de inventario
                     Declaración del problema
                         Primero se ingresan los productos en nuestro
                          sistema cuando son ordenados mediante una
                          orden de compra (el P.O.). Cada producto guarda
                          un registro de P.O. Original. Cuando el producto
                          se recibe, se pone en el inventario registrando la
                          ubicación dónde se coloca. Cuando el producto se
                          recibe, nosotros tenemos que actualizar la P.O.
                          para indicar que hemos recibido el producto."


CAL/Fundamentos                                              36
Control de inventario
                     Cuando un producto se vende, el producto
                      rastrea la orden a la que pertenece. Una
                      vez el producto se vende, se empaca para
                      envio y el embarque asociado se registra.
                      Una vez el producto se envía, necesitamos
                      registrar el despachador y la fecha que fue
                       recogido. De vez en cuando un producto
                      es devuelto. En este caso, devolvemos el
                      producto al inventario y registramos su
                      ubicación.

CAL/Fundamentos                                       37
Estado – Diagrama de Clase
                  Elementos del diagrama de estados vienen a
                   formar parte del diagrama de clase
                  Elemento del diagrama                Viene a ser en un diagrama de clases
                       de estados

                  Evento (todos los tipos)   Una operación, eventos signal tambien pueden ser objetos
                  Acción                     Una operación
                  Actividad                  Una operación
                  Guard Condition            Una lógica condicional dentro de un método
                  Send event                 Una llamada, dentro de un método, a una operación en otro
                                             objeto
                  Estado                     Un valor de atributo que representa la condición del objeto
                  Parametros                 operaciones o atributos que derivan el valor




CAL/Fundamentos                                                                       38
Notación
         El gráfico anterior introdujo el “send event." Un
          send event se usa para indicar la comunicación
          de un objeto a otro. En un diagrama de estados
          la fuente de los eventos que llegan no se muestra
          porque el mismo evento puede venir de cualquier
          número de otros objetos y la contestación debe
          ser la mismo. Sin embargo, un evento saliente
          debe definir un conjunto de objetos receptores asi
          sea sólo un objeto o una transmisión a todos los
          objetos.

CAL/Fundamentos                                39
Orden de los eventos
                 El orden de los eventos es importante al
                  traducir el modelo al código. Cuando un
                  evento ocurre:
                     1. Si una actividad está en marcha en el estado
                      actual, interrúmpalo.
                     2. Ejecute la salida: action/s.
                     3. Ejecute el event/action/s y cualquier send event.
                     4. Ejecute entry: action/s del nuevo estado.
                     5. Ejecute la(s) activity(ies).

CAL/Fundamentos                                            40

Contenu connexe

Tendances

Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisJulio Pari
 
Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Marta Silvia Tabares
 
Desarrollo iterativo e incremental
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incrementalnoriver
 
Leyes de la informática en venezuela
Leyes de la informática en venezuelaLeyes de la informática en venezuela
Leyes de la informática en venezuelaPedro Castillo
 
Sistema de información automatizado
Sistema de información automatizadoSistema de información automatizado
Sistema de información automatizadodavilan123
 
Calidad esquemas
Calidad esquemasCalidad esquemas
Calidad esquemasgines
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareWilliam Matamoros
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
Diccionario de base de datos
Diccionario de base de datosDiccionario de base de datos
Diccionario de base de datosalexis armas
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)UTN
 
Ads sistema-panaderia-ADS
Ads sistema-panaderia-ADSAds sistema-panaderia-ADS
Ads sistema-panaderia-ADSRosarioRuiz35
 
Sistemas Orientados a Objetos
Sistemas Orientados a ObjetosSistemas Orientados a Objetos
Sistemas Orientados a ObjetosMarcel Aponte
 
 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automáticoItzel656131
 
Funciones de DBA Y Tipos de base de datos
Funciones de DBA Y Tipos de base de datosFunciones de DBA Y Tipos de base de datos
Funciones de DBA Y Tipos de base de datosLuis Alva Espinoza
 
Cuadro comparativo analisis estructurado y orientado a objeto
Cuadro comparativo analisis estructurado y orientado a objeto Cuadro comparativo analisis estructurado y orientado a objeto
Cuadro comparativo analisis estructurado y orientado a objeto Freddy Rosales
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Gustavo Gualsema
 
Análisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objetoAnálisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objetoMariaCapuzzo
 

Tendances (20)

Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
 
Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2Ingeniería de software II- Parte 3.2
Ingeniería de software II- Parte 3.2
 
Desarrollo iterativo e incremental
Desarrollo iterativo e incrementalDesarrollo iterativo e incremental
Desarrollo iterativo e incremental
 
Leyes de la informática en venezuela
Leyes de la informática en venezuelaLeyes de la informática en venezuela
Leyes de la informática en venezuela
 
Funciones del DBA, SA Y DA
Funciones del DBA, SA Y DAFunciones del DBA, SA Y DA
Funciones del DBA, SA Y DA
 
Sistema de información automatizado
Sistema de información automatizadoSistema de información automatizado
Sistema de información automatizado
 
Calidad esquemas
Calidad esquemasCalidad esquemas
Calidad esquemas
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Diccionario de base de datos
Diccionario de base de datosDiccionario de base de datos
Diccionario de base de datos
 
El dba(administracion de base de datos)
El dba(administracion de base de datos)El dba(administracion de base de datos)
El dba(administracion de base de datos)
 
Ads sistema-panaderia-ADS
Ads sistema-panaderia-ADSAds sistema-panaderia-ADS
Ads sistema-panaderia-ADS
 
Sistemas Orientados a Objetos
Sistemas Orientados a ObjetosSistemas Orientados a Objetos
Sistemas Orientados a Objetos
 
 Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático Diagramas uml de sistema de cajero automático
 Diagramas uml de sistema de cajero automático
 
Arboles v2
Arboles v2Arboles v2
Arboles v2
 
Funciones de DBA Y Tipos de base de datos
Funciones de DBA Y Tipos de base de datosFunciones de DBA Y Tipos de base de datos
Funciones de DBA Y Tipos de base de datos
 
Cuadro comparativo analisis estructurado y orientado a objeto
Cuadro comparativo analisis estructurado y orientado a objeto Cuadro comparativo analisis estructurado y orientado a objeto
Cuadro comparativo analisis estructurado y orientado a objeto
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)
 
Diagrama de objeto
Diagrama de objetoDiagrama de objeto
Diagrama de objeto
 
Análisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objetoAnálisis estructurado y análisis orientado a objeto
Análisis estructurado y análisis orientado a objeto
 

En vedette

Diagrama de estados y diagrama de transiciones
Diagrama de estados y  diagrama de transicionesDiagrama de estados y  diagrama de transiciones
Diagrama de estados y diagrama de transicionesmaesearturo
 
Diagrama de interacción
Diagrama de interacciónDiagrama de interacción
Diagrama de interacciónJesus Arias
 
Diagramas de estado
Diagramas de estadoDiagramas de estado
Diagramas de estadogmjuan
 
Diagrama entidad relacion
Diagrama entidad relacionDiagrama entidad relacion
Diagrama entidad relacionmaderin33
 
Ut5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoUt5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoijmb666
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finitojunito86
 
Diagramas De Interaccion
Diagramas De InteraccionDiagramas De Interaccion
Diagramas De Interaccionjlrvpuma
 
Columnas diagrama de interacción
Columnas diagrama de interacciónColumnas diagrama de interacción
Columnas diagrama de interaccióncharenas
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades umlcamiloan40
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividadesTerryJoss
 
Maquinas de Estado Finito
Maquinas de Estado FinitoMaquinas de Estado Finito
Maquinas de Estado FinitoRosangela Perez
 

En vedette (14)

Diagrama de estados y diagrama de transiciones
Diagrama de estados y  diagrama de transicionesDiagrama de estados y  diagrama de transiciones
Diagrama de estados y diagrama de transiciones
 
Diagrama de interacción
Diagrama de interacciónDiagrama de interacción
Diagrama de interacción
 
Diagramas de estado
Diagramas de estadoDiagramas de estado
Diagramas de estado
 
Diagrama entidad relacion
Diagrama entidad relacionDiagrama entidad relacion
Diagrama entidad relacion
 
Ut5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de usoUt5. introduccion a uml. casos de uso
Ut5. introduccion a uml. casos de uso
 
Presentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado FinitoPresentacion 2 - Maquinas de Estado Finito
Presentacion 2 - Maquinas de Estado Finito
 
Clase 14a uml_estados
Clase 14a uml_estadosClase 14a uml_estados
Clase 14a uml_estados
 
Máquinas de Estado
Máquinas de EstadoMáquinas de Estado
Máquinas de Estado
 
Diagramas De Interaccion
Diagramas De InteraccionDiagramas De Interaccion
Diagramas De Interaccion
 
Columnas diagrama de interacción
Columnas diagrama de interacciónColumnas diagrama de interacción
Columnas diagrama de interacción
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Diagrama de actividades uml
Diagrama de actividades umlDiagrama de actividades uml
Diagrama de actividades uml
 
Diagrama de actividades
Diagrama de actividadesDiagrama de actividades
Diagrama de actividades
 
Maquinas de Estado Finito
Maquinas de Estado FinitoMaquinas de Estado Finito
Maquinas de Estado Finito
 

Similaire à Sesion 9 2 uml transicion estados

Similaire à Sesion 9 2 uml transicion estados (8)

Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Diagramas de estado
Diagramas de estadoDiagramas de estado
Diagramas de estado
 
Maquina estado 2
Maquina estado 2Maquina estado 2
Maquina estado 2
 
Clase 27
Clase 27Clase 27
Clase 27
 
Densy
DensyDensy
Densy
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
Diagramas de Estado
Diagramas de EstadoDiagramas de Estado
Diagramas de Estado
 
DIAGRAMAS DE ESTADO
DIAGRAMAS DE ESTADODIAGRAMAS DE ESTADO
DIAGRAMAS DE ESTADO
 

Plus de Julio Pari

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Julio Pari
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesJulio Pari
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesJulio Pari
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCJulio Pari
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMJulio Pari
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic EnterpriseJulio Pari
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioJulio Pari
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoJulio Pari
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de ArquitecturaJulio Pari
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISIJulio Pari
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIJulio Pari
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasJulio Pari
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIJulio Pari
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaJulio Pari
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialJulio Pari
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialJulio Pari
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bdJulio Pari
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sqlJulio Pari
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuarioJulio Pari
 

Plus de Julio Pari (20)

Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes #Ibm virtual la...
 
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesLinks kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Links kubernetes - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en KubernetesComandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
Comandos - Evento - Virtual Lab Despliegue de aplicaciones en Kubernetes
 
Indice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPCIndice General Tesis Sistemas UPC
Indice General Tesis Sistemas UPC
 
Arquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSMArquitectura Web FISI UNMSM
Arquitectura Web FISI UNMSM
 
Jelastic Enterprise
Jelastic EnterpriseJelastic Enterprise
Jelastic Enterprise
 
Marketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor OsorioMarketing Examen Parcial Profesor Osorio
Marketing Examen Parcial Profesor Osorio
 
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor CorderoIngenieria Software Examen Parcial 2013 2 Profesor Cordero
Ingenieria Software Examen Parcial 2013 2 Profesor Cordero
 
Documento de Arquitectura
Documento de ArquitecturaDocumento de Arquitectura
Documento de Arquitectura
 
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISISolucion Examen Parcial Sistemas Digitales UNMSM FISI
Solucion Examen Parcial Sistemas Digitales UNMSM FISI
 
Práctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa IIPráctica de Inventarios - Investigación Operativa II
Práctica de Inventarios - Investigación Operativa II
 
Armas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilasArmas silenciosas para guerras tranquilas
Armas silenciosas para guerras tranquilas
 
UML Java
UML JavaUML Java
UML Java
 
Formato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISIFormato de presentación de Proyecto UNMSM FISI
Formato de presentación de Proyecto UNMSM FISI
 
Cuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hijaCuento para nuestro hijo y nuestra hija
Cuento para nuestro hijo y nuestra hija
 
Ingeniería de Software Examen Parcial
Ingeniería de Software Examen ParcialIngeniería de Software Examen Parcial
Ingeniería de Software Examen Parcial
 
Sistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen ParcialSistemas Distribuidos Examen Parcial
Sistemas Distribuidos Examen Parcial
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Php06 instalacion my_sql
Php06 instalacion my_sqlPhp06 instalacion my_sql
Php06 instalacion my_sql
 
Php05 funciones usuario
Php05 funciones usuarioPhp05 funciones usuario
Php05 funciones usuario
 

Sesion 9 2 uml transicion estados

  • 1. UML Transición de Estados Lic. César Alcántara Loayza
  • 2. Objetivo  El diagrama de estados describe la vida de un objeto en término de los eventos que activan los cambios en el estado del objeto. Identifica todos los eventos externos e internos que pueden cambiar el estado del objeto. CAL/Fundamentos 2
  • 3. Estado  Un estado describe la condición actual de un objeto, por ejemplo, cuenta sobregirada o la cuenta abierta. Cuando la condición actual de la cuenta se sobregira, la cuenta responderá diferentemente de cuando la cuenta está en la condición normal--se rechazarán los cheques en lugar de pagó. CAL/Fundamentos 3
  • 4. Secuencias y Estados  Contraste el alcance del diagrama de estados con el del diagrama de secuencia. El alcance del diagrama de estados es todo el tramo de vida de un objeto. El alcance del diagrama de secuencia es un solo escenario. Por consiguiente, es posible derivar un diagrama de estados del juego de diagramas de secuencia que describen los casos del uso que usan el objeto. CAL/Fundamentos 4
  • 5. Contexto del comportamiento  El diagrama de estados modela los eventos que activan las transiciones de un estado a otro estado. Cada evento puede tener una acción correspondiente que hace un cambio en el objeto. Mientras un objeto está en un estado, puede realizar trabajo asociado con ese estado. Tal trabajo se llama una actividad. CAL/Fundamentos 5
  • 6. Acción  Es una contestación a un evento en un diagrama de estados, típicamente la parte de la transición de un estado a otro y típicamente atómico (no puede dividirse en el subtareas). CAL/Fundamentos 6
  • 7. Actividad  Procesamiento que un objeto realiza en particular a un estado específico. Una actividad es típicamente no atómica, es decir, puede componerse de cualquier número de subtareas. CAL/Fundamentos 7
  • 8. Evento  Es un estímulo del sistema, a menudo en la forma de un mensaje de un objeto a otro. CAL/Fundamentos 8
  • 9. Diagrama de Estado  Se recomienda que observe cómo parte de la declaración del problema reflejan los elementos del modelo. Los estados describen un objeto, de modo que ellos aparecen típicamente como adjetivos en la descripción del problema, por ejemplo, cuenta abierta, cuenta cerrada, factura retrasada. CAL/Fundamentos 9
  • 10. D. Actividad – D. Estado  El diagrama de actividad muestra el flujo de control que pasa de una actividad a otra, mientras que el diagrama de estado muestra el flujo de control de un estado a otro. CAL/Fundamentos 10
  • 11. D. Actividad – D. Estado  Use el diagrama de actividad cuando todos los estados de un objeto mapean a actividades. El movimiento de un estado a otro se activa por la realización de cada actividad. Use el diagrama de estados cuando el objeto tiene tanto estados activos y de espera y los cambios son activados por eventos externos y/o internos. CAL/Fundamentos 11
  • 12. D. Actividad – D. Estado  La base para el diagrama de estados es la relación entre los estados y los eventos. CAL/Fundamentos 12
  • 13. Estado Básico  Un estado se modela como un rectángulo con bordes redondeados con el nombre del estado dentro, al igual que la forma corta del icono de clase dónde sólo el compartimiento del nombre es visible. Completo CAL/Fundamentos 13
  • 14. Notación del Evento  La notación de evento del diagrama de estados es una flecha que conecta un estado a otro estado. La flecha realmente es la transición asociada con el evento. La dirección de la flecha muestra la dirección de la transición de un estado a otro. Colocado Productos disponibles Completo CAL/Fundamentos 14
  • 15. Notación de la Acción  Una acción es asociada con un evento y se modela usando una barra oblícua seguida al evento, seguida a su vez por la descripción de la acción. Una acción cambia el objeto de un estado a otro estado. Una acción es una tarea atómica, de modo que no se puede partir en sub tareas componente, ni puede interrumpirse. No hay punto de quiebre dentro de él, y detenerlo a la mitad del camino dejarían el estado del objeto indefinido. CAL/Fundamentos 15
  • 16. Notación de la Acción  FillOrder() es la acción para el evento “productos disponibles”. Colocado Productos disponibles / FillOrder() Completo CAL/Fundamentos 16
  • 17. Estado Inicial  El estado inicial de un objeto tiene su propia única notación, un punto sólido con una flecha que apunta al primer estado asociado. El estado inicial indica el estado en el que un objeto se crea o se construye. Colocado CAL/Fundamentos 17
  • 18. Estado Final  Un objeto puede alcanzar un estado final en que ninguna otra actividad puede ocurrir y desde la que no se puede regresar a un estado activo. Debido a estas restricciones, el estado final no se usa necesariamente en todos los objetos. CAL/Fundamentos 18
  • 19. Estado Final Completa Cancelada Archivada CAL/Fundamentos 19
  • 20. Ejercicio  Rastreamos el estado del cliente actual para evitar problemas de pago e identificar a clientes dignos de tratamiento preferente. Todos los clientes son inicialmente establecidos como prospecto, pero cuando ellos hacen su primer pedido, se cambian al estado activo.  Si un cliente no paga una factura a tiempo, se pone en estado de prueba. Si ellos pagan a tiempo y han pedido más de $10,000 en los 6 meses anteriores ello garantiza un estado preferente. Sólo pueden cambiarse el estado preferente si el cliente llega tarde en dos o más pagos. Entonces vuelven al estado activo en lugar de prueba (dándoles el beneficio de la duda). CAL/Fundamentos 20
  • 21. Solución Ejercicio Prospecto OrdenColocada / AdOrden(Orden) Activo Pago pasado / SetPrueba(true) En Prueba Ordenes de 6 meses > 10,000 / SetPreferido(true) Pagos pasados > 1 / SetPreferido(false) Preferente CAL/Fundamentos 21
  • 22. Estados extendidos  En la forma extendida el diagrama de estados muestra actividades, eventos interiores, y los eventos diferidos. No muchas herramientas soportan actualmente eventos interiores y los eventos diferidos. CAL/Fundamentos 22
  • 23. Estados extendidos  Estado completo – representa el estado de la orden CAL/Fundamentos 23
  • 24. Actividades  Las actividades son procesos realizados dentro de un estado. Una actividad tiende a no ser atómica, es decir, una actividad puede ser un grupo o serie de tareas. Pueden interrumpirse las actividades. En este sentido, las actividades son diferentes de las acciones que son tareas atómicas, que no pueden interrumpirse. Para modelar actividades dentro de un estado use la palabra clave Do: seguido por uno o más actividades: CAL/Fundamentos 24
  • 25. Actividades  Estas actividades se realizarán desde el momento en que el objeto entra en el estado hasta que el objeto deja el estado.  Do : countUnits()  Do : generateStatement()  Do : displayHeartRate() CAL/Fundamentos 25
  • 26. Eventos Internos y diferidos  Los eventos internos son eventos que no causan un cambio en el estado. A veces ésta es una pista de que su modelo no muestra suficiente detalle. Pueden haber cambios en el subestados dentro del estado actual. Revisaremos subestados, superestados, y eventos internos mas adelante. CAL/Fundamentos 26
  • 27. Eventos Internos y diferidos  Los eventos diferidos son eventos que se anuncian mientras el objeto se encuentra en el estado actual pero el objeto no responde a el hasta que el objeto deja el estado. CAL/Fundamentos 27
  • 28. Notación ...  El objetivo de la presente lección es definir la notación de los diagramas de estados para acciones entry y exit y eventos send. CAL/Fundamentos 28
  • 29. Notación  Modelar las transiciones de estado a veces resulta en más de un evento que transita al mismo estado. Adicionalmente, cada evento tiene una acción correspondiente. Por ejemplo: CAL/Fundamentos 29
  • 30. Condiciones entry redundantes  El ejemplo tiene identicas acciones sobre las dos transiciones entrantes al estado bound (limitado) CAL/Fundamentos 30
  • 31. Remueve redundancia  Si la acción debe ser ejecutada sin considerar cómo el objeto ingresa al estado, use el concepto UML de entry action. El formato es “entry:accion” CAL/Fundamentos 31
  • 32. Acciones exit redundantes  Un problema similar se da con eventos que provocan a un objeto dejar un estado CAL/Fundamentos 32
  • 33. Remoción de redundancia  Cuando la misma accion debe ocurrir siempre que un objeto deja un estado, use una acción exit. El formato es “exit:accion” , estos ejemplos para acciones entry y exit muestran solo una acción, pero podrían haber mas. CAL/Fundamentos 33
  • 34. Evento send  Cuando un ocurre un evento, un objeto algunas veces responde llamando o señalando otro objeto. Esto es llamado un “send event”. Adicione el evento send a la especificación del evento usando la notación “ target-object-name.event-name(parametros)” CAL/Fundamentos 34
  • 35. Ejercicio - instrucciones  Lea la declaración del problema siguiente y construya un diagrama de estados para el objeto Producto. CAL/Fundamentos 35
  • 36. Control de inventario  Declaración del problema  Primero se ingresan los productos en nuestro sistema cuando son ordenados mediante una orden de compra (el P.O.). Cada producto guarda un registro de P.O. Original. Cuando el producto se recibe, se pone en el inventario registrando la ubicación dónde se coloca. Cuando el producto se recibe, nosotros tenemos que actualizar la P.O. para indicar que hemos recibido el producto." CAL/Fundamentos 36
  • 37. Control de inventario  Cuando un producto se vende, el producto rastrea la orden a la que pertenece. Una vez el producto se vende, se empaca para envio y el embarque asociado se registra. Una vez el producto se envía, necesitamos registrar el despachador y la fecha que fue recogido. De vez en cuando un producto es devuelto. En este caso, devolvemos el producto al inventario y registramos su ubicación. CAL/Fundamentos 37
  • 38. Estado – Diagrama de Clase  Elementos del diagrama de estados vienen a formar parte del diagrama de clase Elemento del diagrama Viene a ser en un diagrama de clases de estados Evento (todos los tipos) Una operación, eventos signal tambien pueden ser objetos Acción Una operación Actividad Una operación Guard Condition Una lógica condicional dentro de un método Send event Una llamada, dentro de un método, a una operación en otro objeto Estado Un valor de atributo que representa la condición del objeto Parametros operaciones o atributos que derivan el valor CAL/Fundamentos 38
  • 39. Notación  El gráfico anterior introdujo el “send event." Un send event se usa para indicar la comunicación de un objeto a otro. En un diagrama de estados la fuente de los eventos que llegan no se muestra porque el mismo evento puede venir de cualquier número de otros objetos y la contestación debe ser la mismo. Sin embargo, un evento saliente debe definir un conjunto de objetos receptores asi sea sólo un objeto o una transmisión a todos los objetos. CAL/Fundamentos 39
  • 40. Orden de los eventos  El orden de los eventos es importante al traducir el modelo al código. Cuando un evento ocurre:  1. Si una actividad está en marcha en el estado actual, interrúmpalo.  2. Ejecute la salida: action/s.  3. Ejecute el event/action/s y cualquier send event.  4. Ejecute entry: action/s del nuevo estado.  5. Ejecute la(s) activity(ies). CAL/Fundamentos 40