SlideShare una empresa de Scribd logo
1 de 54
Diagramas de Secuencia


          Lic. César Alcántara Loayza
Diagramas De Secuencia
                     El objetivo del análisis del problema es definir
                      el propósito e interfaces de cada recurso del
                      dominio del problema.
                     Se determinó el propósito al definir cada
                      clase y sus relaciones en un diagrama de
                      clases.
                     Ahora veremos las interfaces. Las principales
                      herramienta para descubrir y comprender las
                      interfaces son los diagramas de interacción .
CAL/Fundamentos                                                    2
Diagramas De Secuencia
                     Los diagramas de secuencia y
                      colaboración son usados para modelar
                      interacciones entre los objetos . Los
                      diagramas de secuencia ilustran la
                      interacción entre objetos en el tiempo.
                      Los diagramas de colaboración ilustran
                      las interacciones de los objetos a través
                      de enlaces entre objetos.
CAL/Fundamentos                                              3
Diagramas de Secuencia
           Las interacciones ayudan a definir el propósito
            de un objeto, esto decir, las formas en las que
            un objeto participa en tareas, como se comunica
            y trabaja con otros objetos, el por que se
            necesita del objeto.
           Las interfases son preguntas y solicitudes que
            un objeto es capaz de responder. Si la
            declaración del problema dice que un objeto
            debe ser capaz de responder una pregunta o
            responder a una solicitud, entonces el objeto
            debe tener una interface correspondiente.
CAL/Fundamentos                                          4
Diagramas De Secuencia
                 Operaciones y atributos:
                     Una interface aparece como una operación
                      en una definición de clase. Las
                      operaciones describen lo que el objeto
                      puede hacer y lo que puede hacerle al
                      objeto. Las operaciones pueden recibir,
                      manipular y regresar información. Esta
                      información aparece en las definiciones de
                      clase como atributos.
CAL/Fundamentos                                                5
Diagramas De Secuencia
                 Los diagramas de secuencia muestran
                  objetos que se comunican unos con
                  otros a lo largo del tiempo. Utilizando,
                  objetos, linea de vida de los objetos y
                  flechas de mensaje.




CAL/Fundamentos                                              6
Diagramas De Secuencia
                 En siguiente diagrama de secuencia:
                     Los objetos usan la notación estandar, un
                      rectangulo que contiene el nombre del objeto, dos
                      puntos y el nombre de la clase del objeto. Estos
                      tres elementos subrayados. El nombre del objeto
                      es opcional. Nombreobjeto:nombreclase.
                     La linea de vida del objeto es una línea
                      discontínua vertical.
                     Los mensajes aparecen como flechas.


CAL/Fundamentos                                                           7
Diagramas De Secuencia
                   Factura : Cliente   Orden de Factura : Orden               : Inventario



                                   orden( )

                                retornar orden

                                AddArticulo( )
                                                    ProductoDisponible(Producto)

                                                          retorno verdadero



                                              AddProducto(producto)

                                  retorno ok




CAL/Fundamentos                                                                              8
Diagramas De Secuencia
                 Mensaje.
                     Un mensaje se presenta como una flecha
                      horizontal desde la línea de vida del objeto que
                      envía hasta la línea de vida del objeto que recibe.
                     La terminología puede varias entre las versiones
                      de UML ..
                     Una posición en la línea de vida indica un punto
                      relativo en el tiempo. El tope de la línea
                      representa el comienzo de la línea de vida. La
                      parte baja corresponde al final de la linea de vida.

CAL/Fundamentos                                                          9
Diagramas De Secuencia
                     El contexto del diagrama de secuencia
                      es la comunicación entre objetos. El
                      alcance del diagrama de secuencia
                      está determinado por la fase actual del
                      ciclo de vida del proyecto. Durante el
                      análisis del problema, el alcance es la
                      comunicación entre los actores, el
                      sistema y los recursos del sistema .
CAL/Fundamentos                                            10
Diagramas De Secuencia
           Al construir un diagrama de secuencia es útil
            partir el proceso en dos partes:
                 Paso 1: describir las interacciones entre el actor y el
                  sistema. Esto permite mantener el diagrama tan
                  simple como sea posible. Mientras se trabaja en
                  comprender como debe trabajar el caso de uso.
                 Paso 2: expandir el sistema para incluir los recursos
                  usados por el sistema. Una vez que se sabe como
                  debe trabajar el caso de uso, se remapea el
                  comportamiento del sistema para mostrar los objetos
                  recursos usados por el sistema para completar el
                  comportamiento.
CAL/Fundamentos                                                       11
Diagramas De Secuencia
                                                         : Sistema Bancario
                      : Cliente


      Primer paso:                       retira $100

                              fondos insuficientes ¿otro monto?




                                         retira $45

                             denominación inválida ¿otro monto?




                                         retira $40

                                        $40 + recibo




CAL/Fundamentos                                                               12
Diagramas De Secuencia
                                                                     : Sistema Bancario                          : Cuenta
                          : Cliente

                                                  retira $100
                                                                                              retira $100

                                                                                          fondos insuficientes
                                       fondos insuficientes ¿otro monto?



           Segundo paso                           retira $45

                                                                               denominación válida?

                                      denominación inválida ¿otro monto?




                                                  retira $40
                                                                                               retira $40

                                                                                                  OK

                                                 $40 + recibo




CAL/Fundamentos                                                                                                             13
Diagramas de Secuencia
                     Muchos casos de uso incluyen decisiones.
                      Cursos de acción que resultan de multiples
                      decisiones pueden ser muy complejas. Los
                      diagramas de secuencia UML permiten
                      bifurcaciones pero son dificiles de leer, por
                      ello se recomienda que el diagrama de
                      secuencia se limite a un solo escenario. Un
                      escenario es una ruta lógica (ejecución
                      particular) del caso de uso.

CAL/Fundamentos                                                   14
Modelando Escenarios
                     Transformar una especificación textual en un
                      diagrama de secuencia:
                         Un escenario describe una serie ordenada de
                          eventos dentro de un caso de uso. El objetivo del
                          diagrama de secuencia es asignar
                          responsabilidades de los eventos a los objetos, de
                          forma que definan las interfaces del objeto. Para
                          construir un diagrama de secuencia se debe
                          emparejar cada evento del escenario con los
                          objetos que participan en el evento como
                          remitente y receptor.

CAL/Fundamentos                                                         15
Modelando Escenarios
                     Para dibujar un diagrama de secuencia,
                      evalue cada evento del escenario e
                      identifique el objeto que inicia el evento .
                      Luego identifique el objeto que está
                      mejor preparado para responder .
                      Dibuje una flecha de evento desde el
                      objeto iniciador al objeto que responde.
                      Rotule la flecha de evento con la
                      descripción del evento
CAL/Fundamentos                                                16
Modelando Escenarios
                     A medida que coloca eventos en el
                      diagrama de secuencia cuide la
                      posición sobre la linea de vida del
                      objeto desde arriba hacia abajo en el
                      orden en el que ocurren. Ajuste el
                      orden de ser necesario.



CAL/Fundamentos                                               17
Realización
                 La realización de los CUS se pueden
                  hacer con diagramas de colaboración
                  (modelo de análisis y luego aplicación
                  del análisis de robustez) ó se pueden
                  emplear diagramas de secuencia ó se
                  puede hacer textualmente.



CAL/Fundamentos                                            18
Obtener las 20 siguientes
                                               presentaciones por fecha                    Evento 1

                     A                                                                                                             C


                                        Muestre las                      Obtener los eventos para las 20                     Evento 3
                  Evento 2            presentaciones                      presentaciones seleccionadas



                                                                                   Mostrar los                    Evento 4
                                                                                    eventos



                   Evento 5                                                                        B
                                                                                                                                        Evento 5
                                                                                                 [ selecciona evento ]
                                                                 selecciona presentación
                              [ Ingresa rango fechas ]
                     Validar fechas                    [ timeout ]

Tomarlo               ingresadas                                                     Obtener detalle de               obtener presentaciones para
                                                                     [ cancela ]      presentaciones
                                          Mostrar mensaje                                                                 evento seleccionado

solo como                                     timeout


ejemplo visual        fechas válidas
                                                                                                 mostrar detalle de

de escenarios        Muestra presentaciones para el       [ fechas inválidas ]
                                                                                                  presentaciones                  A

                            rango de fechas

                  Evento 6
                                                         mostrar mensaje
                                                             de error                                    B

                                      C


                                                                     B
CAL/Fundamentos                                                                                                                               19
Modelando Escenarios
                 Utilice un escenario como fuente de los
                  eventos. De la especificación (representada
                  por el diagrama de actividad) se ha
                  seleccionado un escenario (marcado con
                  color celeste)  una ruta lógica.
                 En el diagrama de actividad se ha utilizado
                  las notas como conectores (color gris).



CAL/Fundamentos                                             20
Modelando Escenarios
                     Para el primer evento (Obtener las 20
                      siguientes presentaciones por fecha),
                      escoja la clase del diagrama de clases
                      que describa el objeto que inicia el
                      evento. El objeto que da inicio puede
                      ser una clase que representa un actor,
                      el sistema mismo, o uno de los
                      recursos del dominio del problema . En
                      este caso el objeto iniciador es el
                      cliente.
CAL/Fundamentos                                           21
Modelando Escenarios
                     Las clases que participan

                                                        Evento
                                  SistemaDeBoletaje


                        Cliente
                                                       0..*
                                                      Presentación




CAL/Fundamentos                                                      22
Modelando Escenarios


                                                             : SistemaDeBoletaje
                   : Cliente


                        Obtener 20 siguientes presentaciones por fecha




CAL/Fundamentos                                                                    23
Modelando Escenarios
                     Para cada evento se encoge una clase que
                      describa el objeto que recibe y responde al
                      evento.


                                                                    : SistemaDeBoletaje
                          : Cliente


                               Obtener 20 siguientes presentaciones por fecha

                                          Mostrar presentaciones




CAL/Fundamentos                                                                           24
Modelando Escenarios
                     Se repite el procedimiento para cada evento
                      hasta que todos los eventos se apliquen al
                      diagrama de secuencia

                                                                  : SistemaDeBoletaje   : Presentación
                       : Cliente


                             Obtener 20 siguientes presentaciones por fecha

                                        Mostrar presentaciones


                             Mostrar presentaciones




CAL/Fundamentos                                                                                          25
Modelando Escenarios

                                                             : SistemaDeBoletaje                    : Presentación
                  : Cliente


                        Obtener 20 siguientes presentaciones por fecha

                                   Mostrar presentaciones


                        Mostrar presentaciones
                                                              obtener eventos para 20 presentaciones seleccionadas


                                                                                   listar eventos

                                       Mostrar eventos




CAL/Fundamentos                                                                                                      26
Modelando Escenarios
                                                             : SistemaDeBoletaje                    : Presentación            : Evento
                  : Cliente


                        Obtener 20 siguientes presentaciones por fecha

                                   Mostrar presentaciones


                        Mostrar presentaciones
                                                              obtener eventos para 20 presentaciones seleccionadas


                                                                                   listar eventos

                                          Mostrar eventos

                                                                                                                Actividad 5
                                      selecionar evento

                                                                         Obtener presentaciones para evento seleccionado
                              evento
                              activador
                                                                                        Listar presentaciones


                                    Listar presentaciones
                                                                                                                Valor
                                                                                                                retornado


CAL/Fundamentos                                                                                                                          27
Modelando Escenarios
                                                              : SistemaDeBoletaje                    : Presentación            : Evento
                   : Cliente


                         Obtener 20 siguientes presentaciones por fecha

                                    Mostrar presentaciones


                         Mostrar presentaciones
                                                               obtener eventos para 20 presentaciones seleccionadas


                                                                                    listar eventos

                                           Mostrar eventos

                                                                                                                 Actividad 5
                                       selecionar evento

                                                                          Obtener presentaciones para evento seleccionado
                               evento
                               activador
                                                                                         Listar presentaciones

                                     Listar presentaciones
                                                                                                                 Valor
                                                                                                                 retornado
                           Mostrar eventos




CAL/Fundamentos                                                                                                                           28
Modelando Escenarios
                 Transformar eventos en objetos:
                     Asignar eventos a objetos:
                          Una vez que se han distribuido los eventos de
                           un escenario en un diagrama de secuencia,
                           vuelva al diagrama y verifique que el propósito
                           de los objetos corresponde con los eventos en
                           los que ellos participan.




CAL/Fundamentos                                                          29
Modelando Escenarios
                     Aplique una medida de cohesión preguntando:
                          ¿Todos los eventos iniciados por el objeto soportan el

                           propósito (único) del objeto?
                          ¿Los eventos a los que el objeto responde encajan con

                           el propósito (único) del objeto?, o ¿al objeto se le piden
                           algo que no lo relaciona directamente con su propósito
                           principal?
                     Aplique una medida de acoplamiento de los objetos. Las
                      interacciones implícitamente identifican dependencias. Las
                      preguntas son:
                          ¿Las dependencia refuerzan la adecuada división de

                           trabajo a través del objeto, o simplemente complica la
                           comunicación?
                          ¿Las dependencias reflejan el funcionamiento del mundo

                           real?

CAL/Fundamentos                                                                 30
Modelando Escenarios
                     Evalúe el propósito del objeto:
                         Cuando se asigna una nueva tarea a un
                          objeto, se está en efecto agregando nueva
                          responsabilidad a la “descripción del
                          trabajo” de objeto. Las nuevas
                          responsabilidades afectan al objeto de la
                          misma manera que lo haría adicionar
                          mayores responsabilidades a su trabajo.


CAL/Fundamentos                                                 31
Interfaces
                     Convertir eventos en operaciones:
                         Completar la descripción del evento
                          adicionando información que es pasado
                          con el evento y la respuesta esperada.
                          Ambos elementos son opcionales, es
                          decir, no todos los eventos necesitan
                          parámetros y no todos los eventos tienen
                          respuestas.
                           
                               Ejem., Notificar en algunos casos solo como
                               alarma, en otros puede esperar respuesta.
CAL/Fundamentos                                                          32
Interfaces
                     Convertir descripciones de eventos en
                      operaciones:
                         El objetivo de crear un diagrama de secuencia es
                          descubrir y documentar las interfaces de cada
                          clase. Para definir completamente cada interface,
                          debe convertir la descripción del evento en una
                          signatura de operación formal. La definición formal
                          de una signatura de operación consiste de un
                          nombre, parámetros de entrada (o argumentos),
                          el tipo de dato de retorno esperado y
                          restricciones.

CAL/Fundamentos                                                          33
Interfaces
                     +NombreOperación (NombreArg: Tipo Dato
                      {Restricciones}, ... ) : Tipo Dato Retornado
                      {Restricciones}
                         NombreOperación: requerido
                         Se permite cualquier número de argumentos
                         Tipo de datos retornado: requerido para un valor
                          regresado, pero los valores de retorno son
                          opcionales.
                         Visibilidad (+): Requerida antes de la generación
                          del código.

CAL/Fundamentos                                                          34
Interfaces
                 Los argumentos o parámetros son elementos
                  de datos que el objeto necesita para ejecutar
                  la operación.
                 El tipo de datos retornado describe la clase
                  de información que debe darse como
                  resultado de completar la operación.
                 Las restricciones son simplemente texto en
                  formato libre que describen las reglas y
                  limitaciones en la ejecución de la operación.
CAL/Fundamentos                                              35
Interfaces
          Descripción de Evento                   Elementos de la descripción de la Operación
          Obtener las presentaciones   Nombre Operación           Argumentos               Retorno
          Para un rango de fechas      ObtPresentación     FechaInicio, FechaFinal Lista presentaciones
                                       Signatura completa: ObtPresentación (FechaInicio, FechaFinal):
                                                           ListaPresentaciones
          Mostrar                      Mostrar             ListaPresentaciones
          Presentaciones               Signatura completa: Mostrar (ListaPresentaciones) ó
                                                           MostrarPresentación (ListaPresentaciones)
          Obtener Evento               ObtenerEvento                                 Evento
          Para una Presentación        Signatura completa: ObtenerEvento():Evento

          Mostrar                      Mostrar               Lista Eventos
          Evento                       Signatura completa:   Mostar (Lista Eventos)
                                                             ó MostarEvento (Lista Eventos)




CAL/Fundamentos                                                                                       36
Descubriendo Atributos
                 Cada pieza de información usada por el
                  sistema debe se definida como atributo.
                  Cada atributo debe pertenecer a un
                  objeto. Aún si un atributo es derivado y
                  nunca se almacena, algún objeto debe
                  poseer las reglas para derivarlo.


CAL/Fundamentos                                          37
Descubriendo Atributos
                 - / NombreAtributo: Tipo Dato = Valor
                  por omisión {Restricciones}

                     - Visibilidad: requerida antes de generar
                      código.
                     / Indicador de atributo derivado: opcional



CAL/Fundamentos                                                    38
Descubriendo Atributos
                 Cada argumento de una operación
                  debe tener una fuente, ¿el objeto que
                  inicia el evento posee la data?, Si no es
                  así, ¿de donde lo obtiene?. Mire el
                  diagrama de clases y encuentre la
                  clase que debería tener la data.
                  Actualize el diagrama de secuencia
                  para mostrar como el objeto iniciador
                  ha obtenido la data desde el objeto que
                  la posee.
CAL/Fundamentos                                          39
Descubriendo Atributos
                      Ejemplo expandir un diagrama de
                       secuencia con parámetros
                                                       Asiento
                  Cliente
                                                                                              Boleto
                                                            1
                          1
                                                        Ubica                              0..1
                                                                            utiliza
                      realiza

                          0..*                              0..*        1
                                    reserva                                           Pone Precio
                  Compra                          AsientoPresentación                                      NivelPrecio
                                 0..*         1                                0..*                 0..1




CAL/Fundamentos                                                                                                     40
Descubriendo Atributos
                 Diagrama de secuencia inicial para el caso
                  de uso comprar asientos:
                        : Cliente                      : Compra            : AsientoPresentación            : Boleto

                           Paga(lista asientos presentacion)

                                                                  ObtenerPrecio

                                                                      Precio


                                                               Descuento

                                                                    UsarBoleto
                                                                                               Boleto

                                                                                          Regresar boleto

                                                                  Regresar boleto


                               Regresar conjunto boletos




CAL/Fundamentos                                                                                                        41
Descubriendo Atributos
                     Retornos de la operación:
                         La misma lógica se aplica a los retornos de
                          operaciones. ¿El objeto que responde posee la
                          data?, Si no es así, ¿de donde la obtiene?, ¿El
                          objeto deriva la data usando sus propias
                          operaciones?, ¿El objeto ha hallado el valor
                          usando otros objetos?. Actualice el diagrama de
                          secuencia para adicionar los objetos que poseen
                          la data y muestre como obtiene la data el objeto
                          original.

CAL/Fundamentos                                                         42
Descubriendo Atributos
                     En el ejemplo .. cuando un cliente
                      quiere comprar asientos para la
                      presentación, debe proporcionar el tipo
                      de precio para cada sitio para que el
                      sistema conozca que tipo de precio
                      cargar, es decir, adulto, estudiante,
                      adulto mayor o niño:


CAL/Fundamentos                                            43
Descubriendo Atributos
                                                             Agregue un precio
                                                             Para cada sitio

                  : Cliente                      : Compra             : AsientoPresentación             : Boleto

                     Paga(lista asientos presentacion)

                                                            ObtenerPrecio          El cliente es el único objeto que
                                                                                   conoce que tipo de precio
                                                                                   aplicar para cada sitio.
                                                                Precio
                                                                                   Adicionar el tipo de precio a los
                                                                                   parámetros de la operación de
                                                         Descuento                 pago invocada por el cliente.

                                                              UsarBoleto
                                                                                          Boleto

                                                                                     Regresar boleto

                                                            Regresar boleto


                         Regresar conjunto boletos




CAL/Fundamentos                                                                                                        44
Descubriendo Atributos
           Para hallar el precio por
            asientopresentación, asientopresentación
            debe pedir el precio a nivelprecio. Cuando
            se pide el precio asientopresentación
            debe proporcionar el tipo de modo que
            nivelprecio decida que precio retornar.


CAL/Fundamentos                                     45
Descubriendo Atributos
                  : Cliente                       : Compra             : AsientoPresentación            : Boleto      : NivelPrecio


                      Paga(lista asientos presentacion)
                                                              ObtenerPrecio
                                                                                          ObtenerPrecio(TipoPrecio)

                                                                                                   Precio

                                                                 Precio

                                                          Descuento



                                                                                          Boleto
                                                               UsarBoleto
                                                                                      Regresar boleto

                                                             Regresar boleto

                          Regresar conjunto boletos




CAL/Fundamentos                                                                                                                       46
Descubriendo Atributos
          Cada vez que haga un refinamiento, itere a
           traves del proceso de modelamiento:
                 Evalúe el diagrama de clases para encontrar objetos
                  que participan en la interacción.
                 Adicione nuevos objetos.
                 Identifique nuevos eventos.
                 Reevalúe el propósito de los objetos participantes.
                 Convierta los eventos en operaciones.
                 Convierta la información en atributos.
                 Asigne propietario a los atributos.
                 Repita hasta que todos los parámetros y retornos
                  esten considerados.
CAL/Fundamentos                                                    47
Revisión
                     Uno de los principales problemas en el
                      diseño de software es decidir que incluir en
                      el: cada elemento tomado en cuenta requiere
                      dinero y tiempo para desarrollar y soportar.
                      ¿Cómo puede asegurarse que está gastando
                      el tiempo y dinero de la mejor manera? 
                      Utilizar diagramas de clase, de secuencia y
                      modelo de casos de uso como referencias
                      cruzadas.

CAL/Fundamentos                                                48
Revisión
                 Comparar estas tres vistas una con otra
                  ayuda a descubrir y justificar las
                  operaciones y atributos necesarios para
                  soportar las expectativas del usuario.




CAL/Fundamentos                                         49
Revisión
                     Hemos revisado:
                         El propósito y la función de los diagramas de
                          secuencia: descubrir y definir las interfaces de
                          las clases.
                         Transformar los escenarios de casos de uso en
                          diagramas de secuencia: usar un escenario
                          para crear un diagrama de secuencia.
                          Transformar cada evento del escenario en un
                          evento en el diagrama de secuencia. Asignar
                          responsabilidad del evento a los objetos emisor
                          y receptor.
CAL/Fundamentos                                                          50
Revisión
                     El valor de las interacciones para el modelado de
                      objetos: justificar la necesidad de cada interface
                      de clase como parte de los requerimientos de los
                      casos de uso.
                     Como descubrir y documentar las operaciones
                      desde las interacciones: convertir cada evento en
                      una operación.
                     Como descubir y documentar atributos de las
                      operaciones: convertir todos los argumentos y
                      retornos de la operación en atributos. Rastree las
                      fuentes de cada atributo identificado en la
                      secuencia.
CAL/Fundamentos                                                      51
Reconciliar Modelos
                     Un diagrama por si mismo es muy dificil de
                      verificar. Pero cuando se usan juntos
                      diferentes diagramas del mismo problema el
                      proceso de comparación y contraste revela
                      problemas potenciales.
                     Para identificar discrepancias:
                         Como probar escenarios.
                         Como probar clases.
                         Como probar interfaces.
                         Como reconocer los patrones de reconciliación.

CAL/Fundamentos                                                        52
Reconciliar Modelos
                     Aunque el diagrama de clases es el
                      único usado para generar código los
                      otros diagramas son herramientas que
                      ayudan a comprender las clases. El
                      diagrama de clases tiene una
                      perspectiva limitada del dominio del
                      problema; No muestra como se
                      comportan los objetos cuando se usa el
                      sistema.
CAL/Fundamentos                                          53
Reconciliar Modelos
                 Para ver el comportamiento de los
                  recursos, se necesitan modelos que
                  describan como se usan los recursos,
                  viendo las interacciones entre clases, la
                  creación y disposición de recursos y los
                  patrones de colaboración de cada
                  comportamiento.

CAL/Fundamentos                                          54

Más contenido relacionado

La actualidad más candente

Curso Uml 2.4 Diagramas De Comportamiento
Curso Uml   2.4 Diagramas De ComportamientoCurso Uml   2.4 Diagramas De Comportamiento
Curso Uml 2.4 Diagramas De ComportamientoEmilio Aviles Avila
 
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)BiingeSof
 
Diagramas de interaccion
Diagramas de interaccionDiagramas de interaccion
Diagramas de interacciongmjuan
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracionstill01
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccionjent46
 
Teoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegueTeoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegueRobert Rodriguez
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)josue salas
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Del análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosDel análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosJuan Pablo Bustos Thames
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNSergio Sanchez
 

La actualidad más candente (20)

Curso Uml 2.4 Diagramas De Comportamiento
Curso Uml   2.4 Diagramas De ComportamientoCurso Uml   2.4 Diagramas De Comportamiento
Curso Uml 2.4 Diagramas De Comportamiento
 
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
DIAGRAMAS DE INTERACCIÓN (SECUENCIA Y COLABORACIÓN)
 
Curso Uml 2.6 Otros Diagramas
Curso Uml   2.6 Otros DiagramasCurso Uml   2.6 Otros Diagramas
Curso Uml 2.6 Otros Diagramas
 
Diagramas de interaccion
Diagramas de interaccionDiagramas de interaccion
Diagramas de interaccion
 
diagrama de colaboracion
diagrama de colaboraciondiagrama de colaboracion
diagrama de colaboracion
 
diagramas de interaccion
diagramas de interacciondiagramas de interaccion
diagramas de interaccion
 
Introducion uml
Introducion umlIntroducion uml
Introducion uml
 
Tipos diagrama uml SENA
Tipos diagrama uml SENATipos diagrama uml SENA
Tipos diagrama uml SENA
 
Teoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegueTeoria del modelado de objetos otros diagramas actividad despliegue
Teoria del modelado de objetos otros diagramas actividad despliegue
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Del análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratosDel análisis al diseño. diagramas de secuencia y contratos
Del análisis al diseño. diagramas de secuencia y contratos
 
Diagrama de secuencia
Diagrama de secuenciaDiagrama de secuencia
Diagrama de secuencia
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagramas
DiagramasDiagramas
Diagramas
 
Unidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióNUnidad 8 Diagramas De InteraccióN
Unidad 8 Diagramas De InteraccióN
 
Juti introducción a uml
Juti   introducción a umlJuti   introducción a uml
Juti introducción a uml
 
UML
UMLUML
UML
 
Exposición uml diagramas
Exposición uml diagramasExposición uml diagramas
Exposición uml diagramas
 

Similar a Sesion diagrama de secuencia 2010 i

Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
planeacion de software
planeacion de softwareplaneacion de software
planeacion de softwareMaria Lopez
 
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.pptDiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.pptJoseChaaparroo1
 
Elementos de comportamiento
Elementos de comportamientoElementos de comportamiento
Elementos de comportamientoAlumic S.A
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)josue salas
 
Clase diagramas desecuencia
Clase diagramas desecuenciaClase diagramas desecuencia
Clase diagramas desecuenciaESTEVAN GOMEZ
 
Glosario terminologia java
Glosario terminologia javaGlosario terminologia java
Glosario terminologia javaorus004
 
Para la elaboración de cuadros, diagramas y mapas
Para la elaboración de cuadros, diagramas y mapasPara la elaboración de cuadros, diagramas y mapas
Para la elaboración de cuadros, diagramas y mapasmarcodeagua
 
Diagramas de UML ingeniería
Diagramas de UML  ingenieríaDiagramas de UML  ingeniería
Diagramas de UML ingeniería1214pedron
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemasjoalmerca6
 

Similar a Sesion diagrama de secuencia 2010 i (20)

2
22
2
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
planeacion de software
planeacion de softwareplaneacion de software
planeacion de software
 
Diagramas de colaboracion
Diagramas de colaboracionDiagramas de colaboracion
Diagramas de colaboracion
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Colabora2
Colabora2Colabora2
Colabora2
 
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.pptDiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
DiagramasDeSecuencia COMP Y ABAST5-SEM.ppt
 
Elementos de comportamiento
Elementos de comportamientoElementos de comportamiento
Elementos de comportamiento
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
05 modelo de diseño
05 modelo de diseño05 modelo de diseño
05 modelo de diseño
 
Clase diagramas desecuencia
Clase diagramas desecuenciaClase diagramas desecuencia
Clase diagramas desecuencia
 
Trabajo2
Trabajo2Trabajo2
Trabajo2
 
Glosario terminologia java
Glosario terminologia javaGlosario terminologia java
Glosario terminologia java
 
Uml1
Uml1Uml1
Uml1
 
Uml1
Uml1Uml1
Uml1
 
Para la elaboración de cuadros, diagramas y mapas
Para la elaboración de cuadros, diagramas y mapasPara la elaboración de cuadros, diagramas y mapas
Para la elaboración de cuadros, diagramas y mapas
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Diagramas de UML ingeniería
Diagramas de UML  ingenieríaDiagramas de UML  ingeniería
Diagramas de UML ingeniería
 
ingenieria1
ingenieria1ingenieria1
ingenieria1
 
Analisis y diseño de sistemas
Analisis y diseño de sistemasAnalisis y diseño de sistemas
Analisis y diseño de sistemas
 

Más 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
 

Más 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 diagrama de secuencia 2010 i

  • 1. Diagramas de Secuencia Lic. César Alcántara Loayza
  • 2. Diagramas De Secuencia  El objetivo del análisis del problema es definir el propósito e interfaces de cada recurso del dominio del problema.  Se determinó el propósito al definir cada clase y sus relaciones en un diagrama de clases.  Ahora veremos las interfaces. Las principales herramienta para descubrir y comprender las interfaces son los diagramas de interacción . CAL/Fundamentos 2
  • 3. Diagramas De Secuencia  Los diagramas de secuencia y colaboración son usados para modelar interacciones entre los objetos . Los diagramas de secuencia ilustran la interacción entre objetos en el tiempo. Los diagramas de colaboración ilustran las interacciones de los objetos a través de enlaces entre objetos. CAL/Fundamentos 3
  • 4. Diagramas de Secuencia  Las interacciones ayudan a definir el propósito de un objeto, esto decir, las formas en las que un objeto participa en tareas, como se comunica y trabaja con otros objetos, el por que se necesita del objeto.  Las interfases son preguntas y solicitudes que un objeto es capaz de responder. Si la declaración del problema dice que un objeto debe ser capaz de responder una pregunta o responder a una solicitud, entonces el objeto debe tener una interface correspondiente. CAL/Fundamentos 4
  • 5. Diagramas De Secuencia  Operaciones y atributos:  Una interface aparece como una operación en una definición de clase. Las operaciones describen lo que el objeto puede hacer y lo que puede hacerle al objeto. Las operaciones pueden recibir, manipular y regresar información. Esta información aparece en las definiciones de clase como atributos. CAL/Fundamentos 5
  • 6. Diagramas De Secuencia  Los diagramas de secuencia muestran objetos que se comunican unos con otros a lo largo del tiempo. Utilizando, objetos, linea de vida de los objetos y flechas de mensaje. CAL/Fundamentos 6
  • 7. Diagramas De Secuencia  En siguiente diagrama de secuencia:  Los objetos usan la notación estandar, un rectangulo que contiene el nombre del objeto, dos puntos y el nombre de la clase del objeto. Estos tres elementos subrayados. El nombre del objeto es opcional. Nombreobjeto:nombreclase.  La linea de vida del objeto es una línea discontínua vertical.  Los mensajes aparecen como flechas. CAL/Fundamentos 7
  • 8. Diagramas De Secuencia Factura : Cliente Orden de Factura : Orden : Inventario orden( ) retornar orden AddArticulo( ) ProductoDisponible(Producto) retorno verdadero AddProducto(producto) retorno ok CAL/Fundamentos 8
  • 9. Diagramas De Secuencia  Mensaje.  Un mensaje se presenta como una flecha horizontal desde la línea de vida del objeto que envía hasta la línea de vida del objeto que recibe.  La terminología puede varias entre las versiones de UML ..  Una posición en la línea de vida indica un punto relativo en el tiempo. El tope de la línea representa el comienzo de la línea de vida. La parte baja corresponde al final de la linea de vida. CAL/Fundamentos 9
  • 10. Diagramas De Secuencia  El contexto del diagrama de secuencia es la comunicación entre objetos. El alcance del diagrama de secuencia está determinado por la fase actual del ciclo de vida del proyecto. Durante el análisis del problema, el alcance es la comunicación entre los actores, el sistema y los recursos del sistema . CAL/Fundamentos 10
  • 11. Diagramas De Secuencia  Al construir un diagrama de secuencia es útil partir el proceso en dos partes:  Paso 1: describir las interacciones entre el actor y el sistema. Esto permite mantener el diagrama tan simple como sea posible. Mientras se trabaja en comprender como debe trabajar el caso de uso.  Paso 2: expandir el sistema para incluir los recursos usados por el sistema. Una vez que se sabe como debe trabajar el caso de uso, se remapea el comportamiento del sistema para mostrar los objetos recursos usados por el sistema para completar el comportamiento. CAL/Fundamentos 11
  • 12. Diagramas De Secuencia : Sistema Bancario : Cliente Primer paso: retira $100 fondos insuficientes ¿otro monto? retira $45 denominación inválida ¿otro monto? retira $40 $40 + recibo CAL/Fundamentos 12
  • 13. Diagramas De Secuencia : Sistema Bancario : Cuenta : Cliente retira $100 retira $100 fondos insuficientes fondos insuficientes ¿otro monto? Segundo paso retira $45 denominación válida? denominación inválida ¿otro monto? retira $40 retira $40 OK $40 + recibo CAL/Fundamentos 13
  • 14. Diagramas de Secuencia  Muchos casos de uso incluyen decisiones. Cursos de acción que resultan de multiples decisiones pueden ser muy complejas. Los diagramas de secuencia UML permiten bifurcaciones pero son dificiles de leer, por ello se recomienda que el diagrama de secuencia se limite a un solo escenario. Un escenario es una ruta lógica (ejecución particular) del caso de uso. CAL/Fundamentos 14
  • 15. Modelando Escenarios  Transformar una especificación textual en un diagrama de secuencia:  Un escenario describe una serie ordenada de eventos dentro de un caso de uso. El objetivo del diagrama de secuencia es asignar responsabilidades de los eventos a los objetos, de forma que definan las interfaces del objeto. Para construir un diagrama de secuencia se debe emparejar cada evento del escenario con los objetos que participan en el evento como remitente y receptor. CAL/Fundamentos 15
  • 16. Modelando Escenarios  Para dibujar un diagrama de secuencia, evalue cada evento del escenario e identifique el objeto que inicia el evento . Luego identifique el objeto que está mejor preparado para responder . Dibuje una flecha de evento desde el objeto iniciador al objeto que responde. Rotule la flecha de evento con la descripción del evento CAL/Fundamentos 16
  • 17. Modelando Escenarios  A medida que coloca eventos en el diagrama de secuencia cuide la posición sobre la linea de vida del objeto desde arriba hacia abajo en el orden en el que ocurren. Ajuste el orden de ser necesario. CAL/Fundamentos 17
  • 18. Realización  La realización de los CUS se pueden hacer con diagramas de colaboración (modelo de análisis y luego aplicación del análisis de robustez) ó se pueden emplear diagramas de secuencia ó se puede hacer textualmente. CAL/Fundamentos 18
  • 19. Obtener las 20 siguientes presentaciones por fecha Evento 1 A C Muestre las Obtener los eventos para las 20 Evento 3 Evento 2 presentaciones presentaciones seleccionadas Mostrar los Evento 4 eventos Evento 5 B Evento 5 [ selecciona evento ] selecciona presentación [ Ingresa rango fechas ] Validar fechas [ timeout ] Tomarlo ingresadas Obtener detalle de obtener presentaciones para [ cancela ] presentaciones Mostrar mensaje evento seleccionado solo como timeout ejemplo visual fechas válidas mostrar detalle de de escenarios Muestra presentaciones para el [ fechas inválidas ] presentaciones A rango de fechas Evento 6 mostrar mensaje de error B C B CAL/Fundamentos 19
  • 20. Modelando Escenarios  Utilice un escenario como fuente de los eventos. De la especificación (representada por el diagrama de actividad) se ha seleccionado un escenario (marcado con color celeste)  una ruta lógica.  En el diagrama de actividad se ha utilizado las notas como conectores (color gris). CAL/Fundamentos 20
  • 21. Modelando Escenarios  Para el primer evento (Obtener las 20 siguientes presentaciones por fecha), escoja la clase del diagrama de clases que describa el objeto que inicia el evento. El objeto que da inicio puede ser una clase que representa un actor, el sistema mismo, o uno de los recursos del dominio del problema . En este caso el objeto iniciador es el cliente. CAL/Fundamentos 21
  • 22. Modelando Escenarios  Las clases que participan Evento SistemaDeBoletaje Cliente 0..* Presentación CAL/Fundamentos 22
  • 23. Modelando Escenarios : SistemaDeBoletaje : Cliente Obtener 20 siguientes presentaciones por fecha CAL/Fundamentos 23
  • 24. Modelando Escenarios  Para cada evento se encoge una clase que describa el objeto que recibe y responde al evento. : SistemaDeBoletaje : Cliente Obtener 20 siguientes presentaciones por fecha Mostrar presentaciones CAL/Fundamentos 24
  • 25. Modelando Escenarios  Se repite el procedimiento para cada evento hasta que todos los eventos se apliquen al diagrama de secuencia : SistemaDeBoletaje : Presentación : Cliente Obtener 20 siguientes presentaciones por fecha Mostrar presentaciones Mostrar presentaciones CAL/Fundamentos 25
  • 26. Modelando Escenarios : SistemaDeBoletaje : Presentación : Cliente Obtener 20 siguientes presentaciones por fecha Mostrar presentaciones Mostrar presentaciones obtener eventos para 20 presentaciones seleccionadas listar eventos Mostrar eventos CAL/Fundamentos 26
  • 27. Modelando Escenarios : SistemaDeBoletaje : Presentación : Evento : Cliente Obtener 20 siguientes presentaciones por fecha Mostrar presentaciones Mostrar presentaciones obtener eventos para 20 presentaciones seleccionadas listar eventos Mostrar eventos Actividad 5 selecionar evento Obtener presentaciones para evento seleccionado evento activador Listar presentaciones Listar presentaciones Valor retornado CAL/Fundamentos 27
  • 28. Modelando Escenarios : SistemaDeBoletaje : Presentación : Evento : Cliente Obtener 20 siguientes presentaciones por fecha Mostrar presentaciones Mostrar presentaciones obtener eventos para 20 presentaciones seleccionadas listar eventos Mostrar eventos Actividad 5 selecionar evento Obtener presentaciones para evento seleccionado evento activador Listar presentaciones Listar presentaciones Valor retornado Mostrar eventos CAL/Fundamentos 28
  • 29. Modelando Escenarios  Transformar eventos en objetos:  Asignar eventos a objetos:  Una vez que se han distribuido los eventos de un escenario en un diagrama de secuencia, vuelva al diagrama y verifique que el propósito de los objetos corresponde con los eventos en los que ellos participan. CAL/Fundamentos 29
  • 30. Modelando Escenarios  Aplique una medida de cohesión preguntando:  ¿Todos los eventos iniciados por el objeto soportan el propósito (único) del objeto?  ¿Los eventos a los que el objeto responde encajan con el propósito (único) del objeto?, o ¿al objeto se le piden algo que no lo relaciona directamente con su propósito principal?  Aplique una medida de acoplamiento de los objetos. Las interacciones implícitamente identifican dependencias. Las preguntas son:  ¿Las dependencia refuerzan la adecuada división de trabajo a través del objeto, o simplemente complica la comunicación?  ¿Las dependencias reflejan el funcionamiento del mundo real? CAL/Fundamentos 30
  • 31. Modelando Escenarios  Evalúe el propósito del objeto:  Cuando se asigna una nueva tarea a un objeto, se está en efecto agregando nueva responsabilidad a la “descripción del trabajo” de objeto. Las nuevas responsabilidades afectan al objeto de la misma manera que lo haría adicionar mayores responsabilidades a su trabajo. CAL/Fundamentos 31
  • 32. Interfaces  Convertir eventos en operaciones:  Completar la descripción del evento adicionando información que es pasado con el evento y la respuesta esperada. Ambos elementos son opcionales, es decir, no todos los eventos necesitan parámetros y no todos los eventos tienen respuestas.  Ejem., Notificar en algunos casos solo como alarma, en otros puede esperar respuesta. CAL/Fundamentos 32
  • 33. Interfaces  Convertir descripciones de eventos en operaciones:  El objetivo de crear un diagrama de secuencia es descubrir y documentar las interfaces de cada clase. Para definir completamente cada interface, debe convertir la descripción del evento en una signatura de operación formal. La definición formal de una signatura de operación consiste de un nombre, parámetros de entrada (o argumentos), el tipo de dato de retorno esperado y restricciones. CAL/Fundamentos 33
  • 34. Interfaces  +NombreOperación (NombreArg: Tipo Dato {Restricciones}, ... ) : Tipo Dato Retornado {Restricciones}  NombreOperación: requerido  Se permite cualquier número de argumentos  Tipo de datos retornado: requerido para un valor regresado, pero los valores de retorno son opcionales.  Visibilidad (+): Requerida antes de la generación del código. CAL/Fundamentos 34
  • 35. Interfaces  Los argumentos o parámetros son elementos de datos que el objeto necesita para ejecutar la operación.  El tipo de datos retornado describe la clase de información que debe darse como resultado de completar la operación.  Las restricciones son simplemente texto en formato libre que describen las reglas y limitaciones en la ejecución de la operación. CAL/Fundamentos 35
  • 36. Interfaces Descripción de Evento Elementos de la descripción de la Operación Obtener las presentaciones Nombre Operación Argumentos Retorno Para un rango de fechas ObtPresentación FechaInicio, FechaFinal Lista presentaciones Signatura completa: ObtPresentación (FechaInicio, FechaFinal): ListaPresentaciones Mostrar Mostrar ListaPresentaciones Presentaciones Signatura completa: Mostrar (ListaPresentaciones) ó MostrarPresentación (ListaPresentaciones) Obtener Evento ObtenerEvento Evento Para una Presentación Signatura completa: ObtenerEvento():Evento Mostrar Mostrar Lista Eventos Evento Signatura completa: Mostar (Lista Eventos) ó MostarEvento (Lista Eventos) CAL/Fundamentos 36
  • 37. Descubriendo Atributos  Cada pieza de información usada por el sistema debe se definida como atributo. Cada atributo debe pertenecer a un objeto. Aún si un atributo es derivado y nunca se almacena, algún objeto debe poseer las reglas para derivarlo. CAL/Fundamentos 37
  • 38. Descubriendo Atributos  - / NombreAtributo: Tipo Dato = Valor por omisión {Restricciones}  - Visibilidad: requerida antes de generar código.  / Indicador de atributo derivado: opcional CAL/Fundamentos 38
  • 39. Descubriendo Atributos  Cada argumento de una operación debe tener una fuente, ¿el objeto que inicia el evento posee la data?, Si no es así, ¿de donde lo obtiene?. Mire el diagrama de clases y encuentre la clase que debería tener la data. Actualize el diagrama de secuencia para mostrar como el objeto iniciador ha obtenido la data desde el objeto que la posee. CAL/Fundamentos 39
  • 40. Descubriendo Atributos  Ejemplo expandir un diagrama de secuencia con parámetros Asiento Cliente Boleto 1 1 Ubica 0..1 utiliza realiza 0..* 0..* 1 reserva Pone Precio Compra AsientoPresentación NivelPrecio 0..* 1 0..* 0..1 CAL/Fundamentos 40
  • 41. Descubriendo Atributos  Diagrama de secuencia inicial para el caso de uso comprar asientos: : Cliente : Compra : AsientoPresentación : Boleto Paga(lista asientos presentacion) ObtenerPrecio Precio Descuento UsarBoleto Boleto Regresar boleto Regresar boleto Regresar conjunto boletos CAL/Fundamentos 41
  • 42. Descubriendo Atributos  Retornos de la operación:  La misma lógica se aplica a los retornos de operaciones. ¿El objeto que responde posee la data?, Si no es así, ¿de donde la obtiene?, ¿El objeto deriva la data usando sus propias operaciones?, ¿El objeto ha hallado el valor usando otros objetos?. Actualice el diagrama de secuencia para adicionar los objetos que poseen la data y muestre como obtiene la data el objeto original. CAL/Fundamentos 42
  • 43. Descubriendo Atributos  En el ejemplo .. cuando un cliente quiere comprar asientos para la presentación, debe proporcionar el tipo de precio para cada sitio para que el sistema conozca que tipo de precio cargar, es decir, adulto, estudiante, adulto mayor o niño: CAL/Fundamentos 43
  • 44. Descubriendo Atributos Agregue un precio Para cada sitio : Cliente : Compra : AsientoPresentación : Boleto Paga(lista asientos presentacion) ObtenerPrecio El cliente es el único objeto que conoce que tipo de precio aplicar para cada sitio. Precio Adicionar el tipo de precio a los parámetros de la operación de Descuento pago invocada por el cliente. UsarBoleto Boleto Regresar boleto Regresar boleto Regresar conjunto boletos CAL/Fundamentos 44
  • 45. Descubriendo Atributos  Para hallar el precio por asientopresentación, asientopresentación debe pedir el precio a nivelprecio. Cuando se pide el precio asientopresentación debe proporcionar el tipo de modo que nivelprecio decida que precio retornar. CAL/Fundamentos 45
  • 46. Descubriendo Atributos : Cliente : Compra : AsientoPresentación : Boleto : NivelPrecio Paga(lista asientos presentacion) ObtenerPrecio ObtenerPrecio(TipoPrecio) Precio Precio Descuento Boleto UsarBoleto Regresar boleto Regresar boleto Regresar conjunto boletos CAL/Fundamentos 46
  • 47. Descubriendo Atributos  Cada vez que haga un refinamiento, itere a traves del proceso de modelamiento:  Evalúe el diagrama de clases para encontrar objetos que participan en la interacción.  Adicione nuevos objetos.  Identifique nuevos eventos.  Reevalúe el propósito de los objetos participantes.  Convierta los eventos en operaciones.  Convierta la información en atributos.  Asigne propietario a los atributos.  Repita hasta que todos los parámetros y retornos esten considerados. CAL/Fundamentos 47
  • 48. Revisión  Uno de los principales problemas en el diseño de software es decidir que incluir en el: cada elemento tomado en cuenta requiere dinero y tiempo para desarrollar y soportar. ¿Cómo puede asegurarse que está gastando el tiempo y dinero de la mejor manera?  Utilizar diagramas de clase, de secuencia y modelo de casos de uso como referencias cruzadas. CAL/Fundamentos 48
  • 49. Revisión  Comparar estas tres vistas una con otra ayuda a descubrir y justificar las operaciones y atributos necesarios para soportar las expectativas del usuario. CAL/Fundamentos 49
  • 50. Revisión  Hemos revisado:  El propósito y la función de los diagramas de secuencia: descubrir y definir las interfaces de las clases.  Transformar los escenarios de casos de uso en diagramas de secuencia: usar un escenario para crear un diagrama de secuencia. Transformar cada evento del escenario en un evento en el diagrama de secuencia. Asignar responsabilidad del evento a los objetos emisor y receptor. CAL/Fundamentos 50
  • 51. Revisión  El valor de las interacciones para el modelado de objetos: justificar la necesidad de cada interface de clase como parte de los requerimientos de los casos de uso.  Como descubrir y documentar las operaciones desde las interacciones: convertir cada evento en una operación.  Como descubir y documentar atributos de las operaciones: convertir todos los argumentos y retornos de la operación en atributos. Rastree las fuentes de cada atributo identificado en la secuencia. CAL/Fundamentos 51
  • 52. Reconciliar Modelos  Un diagrama por si mismo es muy dificil de verificar. Pero cuando se usan juntos diferentes diagramas del mismo problema el proceso de comparación y contraste revela problemas potenciales.  Para identificar discrepancias:  Como probar escenarios.  Como probar clases.  Como probar interfaces.  Como reconocer los patrones de reconciliación. CAL/Fundamentos 52
  • 53. Reconciliar Modelos  Aunque el diagrama de clases es el único usado para generar código los otros diagramas son herramientas que ayudan a comprender las clases. El diagrama de clases tiene una perspectiva limitada del dominio del problema; No muestra como se comportan los objetos cuando se usa el sistema. CAL/Fundamentos 53
  • 54. Reconciliar Modelos  Para ver el comportamiento de los recursos, se necesitan modelos que describan como se usan los recursos, viendo las interacciones entre clases, la creación y disposición de recursos y los patrones de colaboración de cada comportamiento. CAL/Fundamentos 54