SlideShare una empresa de Scribd logo
1 de 64
Técnicas de Modelamiento
                             Sesión 5
 Modelado de Interacciones

           Prof. César Luza Montero
Facultad de Ingeniería de Sistemas e Informática
  Universidad Nacional Mayor de San Marcos




        Copyright © 2008, Cesar Luza, Lima-Perú
Mensajes e Interacciones
 Los objetos en un sistema O-O interactúan entre
  ellos mediante mensajes que solicitan algún servicio
  del objeto receptor.
 El objeto receptor responde el mensaje a través de
  algún método definido y conocido por el objeto
  emisor.         1: setAsignaturaEnTutoria( )
                                                                : GestorTutorias

                                               4: [enTutoria]
              : Profesor


              3: enTutoria := estaEnTutoria( )
            7: setPeridoActual(PeriodoTutoria)


                                                   2: setEnTutoria( )

                                                      5: create( )
                                                  6: setInicioPerido( )
                             asignatura :                                 nuevoPeriodoTutoria
                           TutoriaAsignatura                                   : Periodo

                                                                                          2
¿ Qué es un Mensaje?
 Es la especificación de una comunicación
  entre un objeto emisor y otro que actúa
  como receptor; con la expectativa de
  desencadenar en este último, una
  actividad.




                                            Conectar()
                   :MandoADistancia                         :Televisor
                                             Canal(4)


                                                        3
¿ Qué es una Interacción
  Una Interacción es el conjunto de mensajes
   intercambiados entre un conjunto de objetos,
   dentro de un contexto para lograr un propósito.
  Se modelan mediante diagramas de interacción
   del UML
                                 : GestorT utorias                   asignatura :              nuevoPeriodoTutoria :
          : Profesor
                                                                   TutoriaAsignatura                 Periodo


               setAsignaturaEnTutoria( )
                                                setEnTutoria( )


                                                                             enTutoria := estaEnTutoria( )


                                                     [enTutoria]
                                                                                       create( )

                                                                                  setInicioPerido( )



                                                                               setPeridoActual(PeriodoT utoria)



                                                                                                                       4
Diagramas de Interacción
  Describen una interacción.
  Dos tipos: Diagramas de Secuencia y Colaboración
  Diagramas de Secuencia:
       Destacan el orden temporal de los mensajes
  Diagramas de Colaboración:
       Destacan la organización estructural de los
        objetos participantes.
  Tienen equivalencia semántica




                                             5
Ejemplo de Diagrama de Secuencia

                      : GestorT utorias                   asignatura :              nuevoPeriodoTutoria :
: Profesor
                                                        TutoriaAsignatura                 Periodo


     setAsignaturaEnTutoria( )
                                     setEnTutoria( )


                                                                  enTutoria := estaEnT utoria( )


                                          [enTutoria]
                                                                            create( )

                                                                       setInicioPerido( )



                                                                    setPeridoActual(PeriodoT utoria)




                                                                                            6
Ejemplo de Diagrama de Colaboración
                 1: setAsignaturaEnTutoria( )
                                                      : GestorTutorias

                                     4: [enTutoria]
    : Profesor


    3: enTutoria := estaEnTutoria( )
  7: setPeridoActual(PeriodoTutoria)


                                         2: setEnTutoria( )

                                            5: create( )
                                        6: setInicioPerido( )
                   asignatura :                                 nuevoPeriodoTutoria
                 TutoriaAsignatura                                   : Periodo



                                                                            7
Elementos fundamentales
 De forma general el diagrama de Secuencia está
  formado por:
      Objetos y líneas de tiempo por objeto
      Iconos de Mensaje: uno por cada mensaje, entre dos
       líneas de tiempo
      Mensaje: nombrados, comúnmente sin numerar
 De forma general el diagrama de Colaboración está
  formado por:
      Objetos y enlaces entre objetos
      Iconos de Mensaje: uno para varios mensajes
      Mensajes: nombrados y numerados




                                                8
Objetos y líneas de vida

     un objeto cliente :     un objeto servidor :
          cliente                 servidor

                       mensaje                          Objetos




                       Icono del
                                                    Línea de vida
                        mensaje




                                                    9
Mensaje simple
  Envío de Mensaje simple:
     Un solo hilo de ejecución
     El objeto activo pasa el control al objeto pasivo




        un objeto cliente :    un objeto servidor :
             cliente                servidor

                          mensaje




                                                      10
Mensaje de Retorno(Return)
 Envío de mensaje Retorno
    Muestra el valor de retorno de un mensaje
    Debe evitarse ya que un retorno esta siempre implícito al
     final de un mensaje

              un objeto cliente :             un objeto servidor :
                   cliente                         servidor
                                    mensaje


                          valor de retorno del mensaje




                                                                     11
Foco de control
 Muestra (de forma simbólica) la duración de una acción.




                un objeto cliente :   un objeto servidor :
                     cliente               servidor
                                mensaje 1


                                mensaje 2                    duración
     Foco de
                                mensaje 3
     control



                                                             12
Mensaje a si mismo
   Mensaje a sí mismo: es posible que un objeto se envíe
    un mensaje a sí mismo


         un objeto cliente :    un objeto servidor :
              cliente                servidor

                           mensaje
                                            mensaje a sí mismo




                                                                 13
Otros elementos

               un objeto cliente : cliente               un objeto servidor : servidor




                              mensaje(un parametro, otro parametro)
  Mensaje
     con                                resultado = mensaje
                                                                               Mensaje con
  resultado                                  *mensaje                          parámetros
                                         [condicion] mensaje

     Indica
   iteración
                                      Si se cumple la
                                       condición se
                                     envía el mensaje

                                                                       14
Utilidad del diagrama de secuencia
 Para documentar casos de uso
    Se considera dos tipos de objetos: actor y sistema (caja
     negra).
    El diagrama se conoce como Diagrama de Secuencia del
     Sistema (DSS)
 Para realizar casos de uso
      A nivel de análisis, se consideraran actores y objetos del
       dominio
      A nivel de diseño, los actores se sustituyen por objetos
       interfaz
      Este caso permite encontrar las operaciones de cada
       clase identificada en el modelo de dominio.


                                                   15
Realización de casos de uso
 Una Realización de Casos de Uso (RCU) describe como un
  escenario de un CU es realizado por varios objetos
  colaborando entre sí.
 Se representa con diagramas de secuencia, colaboración y de
  clases.
 La definición de una RCU se inicia con el Análisis de Casos de
  Uso (Modelo de Análisis) y se completa con el diseño de
  casos de uso (Modelo de diseño).
 El objetivo de una RCU es especificar que clases deben ser
  construidas para implementar ese caso de uso.



                    realizacion de caso de uso


                                                  16
¿Qué es el modelo de análisis?
 Es un modelo conceptual de objetos,
 que ayuda a refinar los requerimientos y
 permite a los desarrolladores describir la estructura interna
  del sistema.
 El modelo de análisis proporciona una configuración
  conceptual del sistema que consiste de objetos de :
      interfaz,
      entidad e
      control.




                                                   17
¿Qué es el modelo de análisis?
               F01.01 Consulta saldo




 Cliente      I_Cajero            C_Gestor_Interfaz         Cta_Cliente




           I_Autenticacion    C_Verificador_Autenticacio
                                          n


                                                           18
Clase Interfaz
 Las Clases Interfaz o frontera o “Boundary” se usan para
  modelar la interacción entre el sistema y los actores.
 Esta interacción involucra recibir (y presentar)
  información y peticiones desde usuarios y sistemas
  externos.
 Representan la abstracción de ventanas, formularios,
  paneles, interfaces de comunicación, impresoras,
  sensores, terminales o dispositivos.




                                                19
Clase Interfaz
Ejemplo:
 La interfaz de pago es usada para soportar la interacción
   entre el actor cajero y el caso de uso de Registrar Pago.




                                 IU_Pago
         Cajero



                                               20
Clases Entidad
 Las Clases Entidad (Entity) son usadas para modelar la
  información que tiene permanencia en el tiempo y es
  persistente.
 Modelan la información y el comportamiento asociado de
  algún concepto como una persona, evento u objeto del
  mundo real.
 Usualmente muestran la estructura de datos lógica que
  contribuye a la comprensión de la información que
  depende el sistema.




                                             21
Clases Entidad
 Ejemplo:
  La clase entidad Pago permite mostrar la información
    de un pago en la interfaz de pago.




                                     consulta


                         IU_Pago
  Cajero
                                                Pago

                                            22
Clase Controladora
 Las clases “control” representan la coordinación, secuencia,
  gestión de transacciones y control de otros objetos.
 Usualmente se usan para encapsular el control relacionado
  con un caso de uso específico.
 También se usan para representar cálculos y derivaciones
  complejas, como la lógica del negocio que no se puede
  relacionar con ninguna entidad.
 La dinámica del sistema se modela en una clase
  controladora, que se encarga de delegar trabajo a otras
  clases.




                                                 23
Clase Controladora
Ejemplo:
 La controladora de pagos es responsable de la
   coordinación entre la interfaz de pagos y la entidad pago.




                               Registrar
                                                   Crear
                      IU_Pago
                                   Controladora
   Cajero
                                    de Pagos

                                                           Pago

                                                  24
Diagrama de clases de análisis

 Es un diagrama que muestra las clases de análisis y sus
  relaciones.



                               Registrar
                                                  Crear
                      IU_Pago      Controladora
    Cajero
                                    de Pagos

                                                            Pag
                                                            o
                                                  25
Modelo de Casos de Uso vs. Modelo de
    Análisis
            Use-Case Model                         Analysis Model
   Se describe usando el lenguaje      Se describe usando el lenguaje del
    del cliente.                         desarrollador.
   Es la vista externa del sistema.    Es la vista interna del sistema.
   Se usa a manera de contrato         Se usa para que los desarrolladores
    entre clientes y desarrolladores      comprendan como el sistema debe
    para definir lo que el sistema        ser diseñado e implementado.
    debe y no debe hacer                No debe contener redundancias ni
   Puede contener redundancias e        inconsistencias en la interpretación
    inconsistencias en el enlace con     de los requerimientos.
    los requerimientos.                 Bosqueja como realizar la
   Captura la funcionalidad del         funcionalidad dentro del sistema.
    sistema


                                                            26
Proceso de Conversión: Casos de Uso  Análisis
 MODELO DE CASOS DE USO                       MODELO DE ANÁLISIS

                             «trace»



         caso de uso (MCU)                             Realización (MA)




                                       Interfaz              Gestor/Control      Entidad



                                                  Artefactos del modelo de análisis



                                                                                           F01.01 Consulta saldo




Diagrama de                                             Cliente                          I_Cajero             C_Gestor_Interfaz        Cta_Cliente


Clases de Análisis
Atómico



                                                                                      I_Autenticacion     C_Verificador_Autenticacio
                                                                                                                      n
Modelo de las vistas


     El modelo de las “4+1 Vistas”

           Vista lógica                 Vista de Implementación
  Analistas – Diseñadores
                                                 Programadores
  Estructura          Vista de casos de uso
                                                 Manejo del Sw
                            Usuario final
   Vista de Proceso         Funcionalidad
  Integradores de sistemas             Ingeniero de sistemas
  Desempeño                            Topología del sistema,
  Escalabilidad                        instalación


                                                                28
Relación entre Vistas…

Vista de Casos de Uso   Vista Lógica

                        Modelo de Análisis




                                   29
Relación entre Modelos de
distintas vistas
                                Vista Lógica
Vista de Casos de Uso
                                Modelo de Análisis
                        <<Trace>>




                                           30
Entradas y Salidas del
Proceso




                         31
¿Qué es el análisis de casos de uso?




                             32
¿Qué es el análisis de casos de uso?




                             33
¿Cómo se hace el análisis de casos de
uso?




                            34
¿Cómo se hace el análisis de casos de
uso?




                            35
Análisis de casos de uso




                           36
Encontrando clases en los casos de
uso




                            37
¿Cómo son las clases de análisis?




                            38
Estereotipos




               39
Clases de límite (Boundary)




                         40
Interfases con otros sistemas




                          41
El rol de una clase Boundary

           <<boundary>>

                               <<control>>      <<boundary>>




Actor      <<boundary>>
                                                               Actor




                          <<entity>>         <<entity>>




        Modela la interacción entre el sistema y su ambiente
                                                  42
Boundary Classes




Studentr             Register for Courses             Course Catalog System




  RegisterForCoursesFor                     CourseCatalogSystem
  m                                                          43
Clase de Entidad (Entity)




                            44
El rol de una clase Entidad




Almacenar y manejar información en el sistema
                                        45
Clase de Control




                   46
Rol de una clase Control




                           47
Control Classes
 Una clase control por caso de uso




Student      Register for Courses     Course Catalog System




             RegistrationController
                                             48
Encontrando objetos entidad




                       49
Filtrando sustantivos




                        50
Escenario inscribirse en cursos-
crear un horario




                            51
Sustantivos del escenario del caso de uso
inscribirse en cursos-crear un horario




                             52
Filtrando el escenario del caso de uso
inscribirse en cursos-crear un horario




                               53
Análisis de objetos filtrados en el
escenario del caso de uso inscribirse en
cursos-crear un horario




                                54
Creando clases entidad




                         55
Clases entidad identificadas en el
escenario del caso de uso inscribirse en
cursos-crear un horario




                                56
Encontrando clases límite




                            57
Candidatos a clases límite en el escenario
del caso de uso inscribirse en cursos-
crear un horario




                                58
Bosquejo de pantalla




                       59
Encontrando clases de control




                        60
Clases de Control en el caso de uso
inscribirse a cursos




                            61
Diagrama de Vista de Clases
Participantes (VOPC)




                          62
Ejemplo de VOPC




                  63
Tarea
 Desarrollar el caso planteado por el profesor




                                      64

Más contenido relacionado

La actualidad más candente

Diseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseñoDiseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseñoJuan Jose Gonzalez Faundez
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcionalAlejandra MA
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003Diana Vásquez
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introduçãoelliando dias
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classeSuissa
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de softwareilianacon
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfRene Guaman-Quinche
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequenciaItalo Costa
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagramRamakant Soni
 

La actualidad más candente (20)

Diseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseñoDiseños estructurales usando uml con clases de análisis y modelos de diseño
Diseños estructurales usando uml con clases de análisis y modelos de diseño
 
Presentacion Patrones Creacionales
Presentacion Patrones CreacionalesPresentacion Patrones Creacionales
Presentacion Patrones Creacionales
 
Programación lógica y funcional
Programación lógica y funcionalProgramación lógica y funcional
Programación lógica y funcional
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
Diagramas de actividades
Diagramas de actividadesDiagramas de actividades
Diagramas de actividades
 
design patterns - introdução
design patterns - introduçãodesign patterns - introdução
design patterns - introdução
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Diagrama de classe
Diagrama de classeDiagrama de classe
Diagrama de classe
 
UML
UMLUML
UML
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de software
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Sequence Diagram
Sequence DiagramSequence Diagram
Sequence Diagram
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdf
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequencia
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Sequence diagram- UML diagram
Sequence diagram- UML diagramSequence diagram- UML diagram
Sequence diagram- UML diagram
 

Destacado

Analisis y Diseo de Sistemas (base de datos)
Analisis y Diseo de Sistemas (base de datos)Analisis y Diseo de Sistemas (base de datos)
Analisis y Diseo de Sistemas (base de datos)Yovana Connie Roca Avila
 
Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?Maxime Bernard
 
Luis albarracin base de datos 2 parte
Luis albarracin base de datos 2 parteLuis albarracin base de datos 2 parte
Luis albarracin base de datos 2 parteLuis Albarracin
 
13 Clase Flujo De Analisis
13 Clase Flujo De Analisis13 Clase Flujo De Analisis
13 Clase Flujo De AnalisisJulio Pari
 
Clase 1 Sistema De Gestion De Base De Datos
Clase 1   Sistema De Gestion De Base De DatosClase 1   Sistema De Gestion De Base De Datos
Clase 1 Sistema De Gestion De Base De Datososwchavez
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Softwarelcastillo110
 

Destacado (9)

SenseiDB
SenseiDBSenseiDB
SenseiDB
 
Analisis y Diseo de Sistemas (base de datos)
Analisis y Diseo de Sistemas (base de datos)Analisis y Diseo de Sistemas (base de datos)
Analisis y Diseo de Sistemas (base de datos)
 
Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?Comment réussir son projet en Angular 1.5 ?
Comment réussir son projet en Angular 1.5 ?
 
Luis albarracin base de datos 2 parte
Luis albarracin base de datos 2 parteLuis albarracin base de datos 2 parte
Luis albarracin base de datos 2 parte
 
13 Clase Flujo De Analisis
13 Clase Flujo De Analisis13 Clase Flujo De Analisis
13 Clase Flujo De Analisis
 
Modelo er
Modelo erModelo er
Modelo er
 
Clase 1 Sistema De Gestion De Base De Datos
Clase 1   Sistema De Gestion De Base De DatosClase 1   Sistema De Gestion De Base De Datos
Clase 1 Sistema De Gestion De Base De Datos
 
Star uml
Star umlStar uml
Star uml
 
DiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del SoftwareDiseñO Del Software E IngenieríA Del Software
DiseñO Del Software E IngenieríA Del Software
 

Similar a Tm05 modelo de_interacción

Similar a Tm05 modelo de_interacción (10)

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.
 
ProgramacióN Orientada A Objetos
ProgramacióN Orientada A ObjetosProgramacióN Orientada A Objetos
ProgramacióN Orientada A Objetos
 
Astema3
Astema3Astema3
Astema3
 
Diseno
DisenoDiseno
Diseno
 
Carlos villalovos
Carlos villalovosCarlos villalovos
Carlos villalovos
 
Awt
AwtAwt
Awt
 
IntroPython s2.pdf
IntroPython s2.pdfIntroPython s2.pdf
IntroPython s2.pdf
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Guia n2 tam 2009 1
Guia n2 tam 2009 1Guia n2 tam 2009 1
Guia n2 tam 2009 1
 

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
 

Tm05 modelo de_interacción

  • 1. Técnicas de Modelamiento Sesión 5 Modelado de Interacciones Prof. César Luza Montero Facultad de Ingeniería de Sistemas e Informática Universidad Nacional Mayor de San Marcos Copyright © 2008, Cesar Luza, Lima-Perú
  • 2. Mensajes e Interacciones  Los objetos en un sistema O-O interactúan entre ellos mediante mensajes que solicitan algún servicio del objeto receptor.  El objeto receptor responde el mensaje a través de algún método definido y conocido por el objeto emisor. 1: setAsignaturaEnTutoria( ) : GestorTutorias 4: [enTutoria] : Profesor 3: enTutoria := estaEnTutoria( ) 7: setPeridoActual(PeriodoTutoria) 2: setEnTutoria( ) 5: create( ) 6: setInicioPerido( ) asignatura : nuevoPeriodoTutoria TutoriaAsignatura : Periodo 2
  • 3. ¿ Qué es un Mensaje?  Es la especificación de una comunicación entre un objeto emisor y otro que actúa como receptor; con la expectativa de desencadenar en este último, una actividad. Conectar() :MandoADistancia :Televisor Canal(4) 3
  • 4. ¿ Qué es una Interacción  Una Interacción es el conjunto de mensajes intercambiados entre un conjunto de objetos, dentro de un contexto para lograr un propósito.  Se modelan mediante diagramas de interacción del UML : GestorT utorias asignatura : nuevoPeriodoTutoria : : Profesor TutoriaAsignatura Periodo setAsignaturaEnTutoria( ) setEnTutoria( ) enTutoria := estaEnTutoria( ) [enTutoria] create( ) setInicioPerido( ) setPeridoActual(PeriodoT utoria) 4
  • 5. Diagramas de Interacción  Describen una interacción.  Dos tipos: Diagramas de Secuencia y Colaboración  Diagramas de Secuencia:  Destacan el orden temporal de los mensajes  Diagramas de Colaboración:  Destacan la organización estructural de los objetos participantes.  Tienen equivalencia semántica 5
  • 6. Ejemplo de Diagrama de Secuencia : GestorT utorias asignatura : nuevoPeriodoTutoria : : Profesor TutoriaAsignatura Periodo setAsignaturaEnTutoria( ) setEnTutoria( ) enTutoria := estaEnT utoria( ) [enTutoria] create( ) setInicioPerido( ) setPeridoActual(PeriodoT utoria) 6
  • 7. Ejemplo de Diagrama de Colaboración 1: setAsignaturaEnTutoria( ) : GestorTutorias 4: [enTutoria] : Profesor 3: enTutoria := estaEnTutoria( ) 7: setPeridoActual(PeriodoTutoria) 2: setEnTutoria( ) 5: create( ) 6: setInicioPerido( ) asignatura : nuevoPeriodoTutoria TutoriaAsignatura : Periodo 7
  • 8. Elementos fundamentales  De forma general el diagrama de Secuencia está formado por:  Objetos y líneas de tiempo por objeto  Iconos de Mensaje: uno por cada mensaje, entre dos líneas de tiempo  Mensaje: nombrados, comúnmente sin numerar  De forma general el diagrama de Colaboración está formado por:  Objetos y enlaces entre objetos  Iconos de Mensaje: uno para varios mensajes  Mensajes: nombrados y numerados 8
  • 9. Objetos y líneas de vida un objeto cliente : un objeto servidor : cliente servidor mensaje Objetos Icono del Línea de vida mensaje 9
  • 10. Mensaje simple  Envío de Mensaje simple:  Un solo hilo de ejecución  El objeto activo pasa el control al objeto pasivo un objeto cliente : un objeto servidor : cliente servidor mensaje 10
  • 11. Mensaje de Retorno(Return)  Envío de mensaje Retorno  Muestra el valor de retorno de un mensaje  Debe evitarse ya que un retorno esta siempre implícito al final de un mensaje un objeto cliente : un objeto servidor : cliente servidor mensaje valor de retorno del mensaje 11
  • 12. Foco de control  Muestra (de forma simbólica) la duración de una acción. un objeto cliente : un objeto servidor : cliente servidor mensaje 1 mensaje 2 duración Foco de mensaje 3 control 12
  • 13. Mensaje a si mismo  Mensaje a sí mismo: es posible que un objeto se envíe un mensaje a sí mismo un objeto cliente : un objeto servidor : cliente servidor mensaje mensaje a sí mismo 13
  • 14. Otros elementos un objeto cliente : cliente un objeto servidor : servidor mensaje(un parametro, otro parametro) Mensaje con resultado = mensaje Mensaje con resultado *mensaje parámetros [condicion] mensaje Indica iteración Si se cumple la condición se envía el mensaje 14
  • 15. Utilidad del diagrama de secuencia  Para documentar casos de uso  Se considera dos tipos de objetos: actor y sistema (caja negra).  El diagrama se conoce como Diagrama de Secuencia del Sistema (DSS)  Para realizar casos de uso  A nivel de análisis, se consideraran actores y objetos del dominio  A nivel de diseño, los actores se sustituyen por objetos interfaz  Este caso permite encontrar las operaciones de cada clase identificada en el modelo de dominio. 15
  • 16. Realización de casos de uso  Una Realización de Casos de Uso (RCU) describe como un escenario de un CU es realizado por varios objetos colaborando entre sí.  Se representa con diagramas de secuencia, colaboración y de clases.  La definición de una RCU se inicia con el Análisis de Casos de Uso (Modelo de Análisis) y se completa con el diseño de casos de uso (Modelo de diseño).  El objetivo de una RCU es especificar que clases deben ser construidas para implementar ese caso de uso. realizacion de caso de uso 16
  • 17. ¿Qué es el modelo de análisis?  Es un modelo conceptual de objetos,  que ayuda a refinar los requerimientos y  permite a los desarrolladores describir la estructura interna del sistema.  El modelo de análisis proporciona una configuración conceptual del sistema que consiste de objetos de :  interfaz,  entidad e  control. 17
  • 18. ¿Qué es el modelo de análisis? F01.01 Consulta saldo Cliente I_Cajero C_Gestor_Interfaz Cta_Cliente I_Autenticacion C_Verificador_Autenticacio n 18
  • 19. Clase Interfaz  Las Clases Interfaz o frontera o “Boundary” se usan para modelar la interacción entre el sistema y los actores.  Esta interacción involucra recibir (y presentar) información y peticiones desde usuarios y sistemas externos.  Representan la abstracción de ventanas, formularios, paneles, interfaces de comunicación, impresoras, sensores, terminales o dispositivos. 19
  • 20. Clase Interfaz Ejemplo:  La interfaz de pago es usada para soportar la interacción entre el actor cajero y el caso de uso de Registrar Pago. IU_Pago Cajero 20
  • 21. Clases Entidad  Las Clases Entidad (Entity) son usadas para modelar la información que tiene permanencia en el tiempo y es persistente.  Modelan la información y el comportamiento asociado de algún concepto como una persona, evento u objeto del mundo real.  Usualmente muestran la estructura de datos lógica que contribuye a la comprensión de la información que depende el sistema. 21
  • 22. Clases Entidad Ejemplo:  La clase entidad Pago permite mostrar la información de un pago en la interfaz de pago. consulta IU_Pago Cajero Pago 22
  • 23. Clase Controladora  Las clases “control” representan la coordinación, secuencia, gestión de transacciones y control de otros objetos.  Usualmente se usan para encapsular el control relacionado con un caso de uso específico.  También se usan para representar cálculos y derivaciones complejas, como la lógica del negocio que no se puede relacionar con ninguna entidad.  La dinámica del sistema se modela en una clase controladora, que se encarga de delegar trabajo a otras clases. 23
  • 24. Clase Controladora Ejemplo:  La controladora de pagos es responsable de la coordinación entre la interfaz de pagos y la entidad pago. Registrar Crear IU_Pago Controladora Cajero de Pagos Pago 24
  • 25. Diagrama de clases de análisis  Es un diagrama que muestra las clases de análisis y sus relaciones. Registrar Crear IU_Pago Controladora Cajero de Pagos Pag o 25
  • 26. Modelo de Casos de Uso vs. Modelo de Análisis Use-Case Model Analysis Model  Se describe usando el lenguaje  Se describe usando el lenguaje del del cliente. desarrollador.  Es la vista externa del sistema.  Es la vista interna del sistema.  Se usa a manera de contrato  Se usa para que los desarrolladores entre clientes y desarrolladores comprendan como el sistema debe para definir lo que el sistema ser diseñado e implementado. debe y no debe hacer  No debe contener redundancias ni  Puede contener redundancias e inconsistencias en la interpretación inconsistencias en el enlace con de los requerimientos. los requerimientos.  Bosqueja como realizar la  Captura la funcionalidad del funcionalidad dentro del sistema. sistema 26
  • 27. Proceso de Conversión: Casos de Uso  Análisis MODELO DE CASOS DE USO MODELO DE ANÁLISIS «trace» caso de uso (MCU) Realización (MA) Interfaz Gestor/Control Entidad Artefactos del modelo de análisis F01.01 Consulta saldo Diagrama de Cliente I_Cajero C_Gestor_Interfaz Cta_Cliente Clases de Análisis Atómico I_Autenticacion C_Verificador_Autenticacio n
  • 28. Modelo de las vistas El modelo de las “4+1 Vistas” Vista lógica Vista de Implementación Analistas – Diseñadores Programadores Estructura Vista de casos de uso Manejo del Sw Usuario final Vista de Proceso Funcionalidad Integradores de sistemas Ingeniero de sistemas Desempeño Topología del sistema, Escalabilidad instalación 28
  • 29. Relación entre Vistas… Vista de Casos de Uso Vista Lógica Modelo de Análisis 29
  • 30. Relación entre Modelos de distintas vistas Vista Lógica Vista de Casos de Uso Modelo de Análisis <<Trace>> 30
  • 31. Entradas y Salidas del Proceso 31
  • 32. ¿Qué es el análisis de casos de uso? 32
  • 33. ¿Qué es el análisis de casos de uso? 33
  • 34. ¿Cómo se hace el análisis de casos de uso? 34
  • 35. ¿Cómo se hace el análisis de casos de uso? 35
  • 36. Análisis de casos de uso 36
  • 37. Encontrando clases en los casos de uso 37
  • 38. ¿Cómo son las clases de análisis? 38
  • 40. Clases de límite (Boundary) 40
  • 41. Interfases con otros sistemas 41
  • 42. El rol de una clase Boundary <<boundary>> <<control>> <<boundary>> Actor <<boundary>> Actor <<entity>> <<entity>> Modela la interacción entre el sistema y su ambiente 42
  • 43. Boundary Classes Studentr Register for Courses Course Catalog System RegisterForCoursesFor CourseCatalogSystem m 43
  • 44. Clase de Entidad (Entity) 44
  • 45. El rol de una clase Entidad Almacenar y manejar información en el sistema 45
  • 47. Rol de una clase Control 47
  • 48. Control Classes  Una clase control por caso de uso Student Register for Courses Course Catalog System RegistrationController 48
  • 51. Escenario inscribirse en cursos- crear un horario 51
  • 52. Sustantivos del escenario del caso de uso inscribirse en cursos-crear un horario 52
  • 53. Filtrando el escenario del caso de uso inscribirse en cursos-crear un horario 53
  • 54. Análisis de objetos filtrados en el escenario del caso de uso inscribirse en cursos-crear un horario 54
  • 56. Clases entidad identificadas en el escenario del caso de uso inscribirse en cursos-crear un horario 56
  • 58. Candidatos a clases límite en el escenario del caso de uso inscribirse en cursos- crear un horario 58
  • 60. Encontrando clases de control 60
  • 61. Clases de Control en el caso de uso inscribirse a cursos 61
  • 62. Diagrama de Vista de Clases Participantes (VOPC) 62
  • 64. Tarea  Desarrollar el caso planteado por el profesor 64

Notas del editor

  1. Invocación de métodos Medio de colaboración entre objetos
  2. Es importante recordar que la vista arquitectónica de un sistema está compuesta por un conjunto de perspectivas distintas, cada una llamada una vista del sistema. Cada vista se compone a su vez de uno o más modelos generados en las distintas etapas del proceso de desarrollo, por ejemplo, la Vista Funcional o de Casos de Uso contiene el modelo de Casos de Uso, formado por el diagrama general de Casos de Uso y la descripción detallada o especificación de cada uno.
  3. En el ejemplo es posible observar tanto los modelos como los elementos que conforman cada vista: La vista de casos de uso: formada por el modelo de casos de uso ( Diagrama de Casos de Uso y Descripción detallada de casos de uso) La vista Lógica: Contiene el modelo de análisis, el cuál a su vez contiene las realizaciones de Casos de Uso, y por cada realización, los correspondientes diagramas de clase, colaboración y secuencia que dan forma a los escenarios dentro del caso de uso. Es importante mencionar que la vista lógica no sólo está formada por el modelo de análisis, sin embargo, se muestra este único modelo porque por el momento no se ha llegado a la disciplina de diseño, donde se genera un modelo adicional al modelo de análisis.
  4. Una realización de casos de uso describe cómo un caso de uso en particular es modelado dentro del modelo de análisis primero y después dentro del modelo de diseño, en términos de objetos colaboradores. Una realización de caso de uso reúne los casos de uso del modelo de casos de uso con las clases y relaciones definidas dentro de los modelos de la vista lógica. Esto se logra porque en una realización de caso de uso se especifica qué clases deben ser construidas para implementar cada caso de uso. En UML, las realizaciones de caso de uso se representan con colaboraciones estereotipadas. El símbolo para una colaboración es una elipse que contiene el nombre de la colaboración. El símbolo para una realización de caso de uso es una versión con líneas punteadaas del símbolo de colaboración. Es importante entender que una realización de caso de uso dentro del modelo de diseño o análisis puede ser rastreada (traced) hacia el correspondiente caso de uso dentro del modelo de casos de uso. Para ello se dibuja una línea punteada con una flecha en forma de triángulo, desde la realización del caso de uso hacia el correspondiente caso de uso en el modelo de casos de uso. Dentro de UML, una realización de caso de uso puede representarse utilizando un conjunto de diagramas que modelan el contexto de la colaboración (las clases/objetos que implementan un caso de uso y sus relaciones –diagrama de clases), y las interacciones de las colaboraciones ( Cómo estas clases/objetos interactúan para desarrollar la colaboración –diagramas de colaboración y diagramas de secuencia). El número y tipo de diagramas que se utilizan depende de qué se necesita representar para proporcionar la imagen completa de la colaboración y, además, de los lineamientos establecidos para el proyecto en desarrollo.
  5. Esta gráfica resume lo que ya se había presentado anteriormente: el análisis de casos de uso no sólo toma información del modelo de casos de uso, sino que puede utilizar información del glosario de términos, el modelo del dominio, descripción del problema, herramientas para levantamiento de información y especificación suplementaria. .
  6. Una vez analizado el caso de uso tenemos los primeros elementos conceptuales del sistema: las clases del análisis y sus correspondientes colaboraciones. A medida que analizamos más y más casos de uso, aparecen nuevas clases y las existentes se complementan.
  7. En este ejemplo queda claro el papel de las clases boundary o interfase: sirven como medio de interacción entre el sistema y los actores que se encuentran en el medio ambiente dentro del cual se ejecuta el sistema. En este caso los objetos de las clases boundary pueden representar medios para comunicarse con otro sistema de software, un dispositivo o un actor humano.
  8. Por regla general, al menos una clase boundary sirve como medio de comunicación entre los un actor y el correspondiente caso de uso.
  9. Normalmente el número de clases Entidad variará dependiendo de los conceptos que requieren almacenamiento persistente dentro del caso de uso. Igual que las clases boundary, las clases entidad sufren un proceso de refinamiento a medida que se ubica a la misma clase entidad dentro de distintas realizaciones de caso de uso.
  10. Por regla general se trata de encapsular la lógica de control de un caso de uso dentro de una clase Conttrol. Suele ser un buen hábito de diseño utilizar únicamente una clase control por cada caso de uso, y así encapsular en un sólo elemento la lógica del caso de uso correspondiente.
  11. Este ejemplo muestra una técnica básica para descubrir los elementos susceptibles de ser modelados dentro de una clase entidad. Los elementos en rojo han sido descartados. La leyenda que aparece entre paréntesis indica la razón. Algunas de estas razones pueden ser: el sustantivo es un atributo, representa acciones, representa un objeto límite o de interfase, entre otras.
  12. Aunque se presenta un diagrama VOPC simple, la idea en general es presentar un diagrama de clases completo donde se muestren las asociaciones entre clases, los atributos, multiplicidad, roles, etc.