uml diagramas de interaccion

21
Ing. Gustavo Delgado Ugarte UML UML - - Diagramas de interacci Diagramas de interacci ó ó n n ( ( Secuencia y Colaboraci Secuencia y Colaboraci ó ó n n ) )

Upload: dennisala

Post on 09-Nov-2015

325 views

Category:

Documents


3 download

DESCRIPTION

Los diagramas UML de secuencia y de colaboración (llamadosdiagramas de interacción) se utilizan para modelar los aspectosdinámicos de un sistema.

TRANSCRIPT

  • Ing. Gustavo Delgado Ugarte

    UML UML -- Diagramas de interacciDiagramas de interaccinn ((Secuencia y ColaboraciSecuencia y Colaboracinn))

  • IntroducciIntroduccinn

    Los diagramas UML de secuencia y de colaboracin (llamados diagramas de interaccin) se utilizan para modelar los aspectos dinmicos de un sistema.

    Un diagrama de interaccin consiste en un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos. Los diagramas de secuencia destacan el orden temporal de los mensajes. Los diagramas de colaboracin destacan la organiza- cin estructural de los objetos que envan y reciben mensajes.

  • objetoA:A objetoB:B objetoC:C

    mensaje1( )mensaje2( )mensaje3( )

    mensaje4( )

    EjemplosEjemplos Diagrama de secuencia:

    destaca el orden temporal de los mensajes.

    objetoA:A

    objetoB:B objetoC:C

    1: 2: mensaje1( )3: 2:

    2.1: mensaje2( )2.2: mensaje3( )

    Diagrama de colaboracin: destaca la relacin estructural entre los objetos que interactan

    objetos tiempo

  • ConceptosConceptos

    Ambos diagramas (secuencia y colaboracin) son semntica- mente equivalentes. Se puede pasar de uno a otro sin prdida de informacin. En los diagramas de secuencia, la linea de vida de un objeto es la lnea discontinua vertical, que representa la existencia de un objeto a lo largo de un periodo de tiempo. El foco de control es un rectngulo delgado que representa el periodo de tiempo durante el cual un objeto ejecuta una accin.

  • EjemploEjemplo

    Ejemplo 1: Se quiere modelar una llamada a travs de una central telefnica. Para esto se tienen cuatro objetos involucrados: dos interlocutores (s y r), una central y una conversacin. La secuencia empieza cuando un interlocutor enva un mensaje a la central al descolgar el auricular. La central da el tono de llamada, y el interlocutor marca el nmero al que desea llamar. El tiempo de marcado debe ser menor que 30 segundos.

  • EjemploEjemplo s:Interlocutor :Central r:Interlocutor

    c:Conversacin

    descolgarAuricular( ) darTonoDeLlamada( )

    *marcarDigito( ) marcando

    {marcando.tiempoEjecucion < 30 segs}

    enrutarLlamadas(s,n)

    llamar( ) descolgarAuricular( )

    conectar(r,s) conectar(r) conectar(s)

    Los interlocutopres r y s pueden intercambiar informacin despus de conectarse.

  • NotaciNotacinn Los diagramas de colaboracin explican grficamente las interacciones entre las instancias del modelo (objetos). Por ejemplo:

  • NotaciNotacinn

    msg1() { for i := 1 to 10 { miB.mens2(); miC.mens3(); } }

    Un objeto se puede enviar un mensaje a s mismo:

    Es posible representar iteraciones:

  • NotaciNotacinn Secuencia de los mensajes en un diagrama de colaboracin:

  • NotaciNotacinn Es posible definir mensajes condicionales:

  • NotaciNotacinn

    Es posible definir trayectorias mutuamente excluyentes:

  • NotaciNotacinn Un multiobjeto, por ejemplo un arreglo en Java, se representa como una pila de objetos:

    Se pueden enviar mensajes a multiobjetos:

  • NotaciNotacinn Ejemplo de crear un objeto y agregarlo a un multiobjeto:

  • EjemploEjemplo

    Ejemplo 2: Matricular un nuevo estudiante en la universidad. Hay cuatro objetos involucrados: un encargado de matrcula, un estudiante, un curso y la universidad. La accin comienza cuando el encargado de matrcula crea un objeto estudiante, lo aade a la universidad, y le pide al objeto estudiante que se matricule. El objeto estudiante obtiene (de s mismo) su plan de estudio, e identifica los cursos que quiere matricular.

  • EjemploEjemplo

    s:Estudiante

    matriculado = False s:Estudiante

    matriculado = True

    r:EncargadoMatricula :Universidad

    3.4:

    c1:Curso c2:Curso

    1: 3: matricular( )

    3.3: agregar(s) 3.2: agregar(s)

    3.1: obtenerPlanEstudios( )

    2: agregarEstudiante(s)

    {asociacin} {asociacin}

  • Uso de diagramasUso de diagramas

    La creacin de los diagramas de secuencia depende de la formulacin de los casos de uso. Los casos de uso indican cmo los actores interac- tan con el sistema. Durante la operacin del sistema, los actores gene- ran eventos, solicitando alguna operacin a cambio.

    Uso de diagramas de secuencia para modelar los casos de uso: El diagrama de secuencia de un sistema es una representacin que muestra, en determinado escenario de un caso de uso, los eventos generados por actores externos, su orden y los eventos internos del sistema.

  • Uso de diagramasUso de diagramas Ejemplo: caso de uso para compra de productos en un supermercado.

    Caso de uso: Comprar productos Actores: Cliente, cajero Tipo: Primario Descripcin: Un Cliente llega a la caja registradora con los artculos que va a comprar. El Cajero registra los artculos y cobra el importe. Al terminar la operacin, el Cliente se marcha con los productos.

  • Uso de diagramasUso de diagramas Ejemplo: caso de uso para compra de productos en un supermercado.

  • Uso de diagramasUso de diagramas Ejemplo: caso de uso para compra de productos en un supermercado.

    Def.: Un evento es una accin externa de entrada, que un actor produce en el sistema. En el ejemplo anterior, se tienen tres eventos: pasarProducto, terminarVenta y efectuarPago. Una vez que se identifican los eventos, se registran en la entidad que corresponda. Por ejemplo:

  • Uso de diagramasUso de diagramas Ejemplo: caso de uso para compra de productos en un supermercado.

    Para cada evento que se produce en el sistema, se debe hacer un diagrama de colaboracin. Ejemplo: