Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes...
-
Upload
narciso-castrejon -
Category
Documents
-
view
123 -
download
1
Transcript of Diagramas de Interacción. Interacción Es un comportamiento que compromete un conjunto de mensajes...
Diagramas de InteracciDiagramas de Interacciónón
InteracciónInteracción
Es un comportamiento que compromete Es un comportamiento que compromete un conjunto de mensajes intercambiados un conjunto de mensajes intercambiados entre un conjunto de objetos dentro de un entre un conjunto de objetos dentro de un contexto para lograr un propósitocontexto para lograr un propósito
Un mensaje es la especificación de una Un mensaje es la especificación de una comunicación entre objetos en la que se comunicación entre objetos en la que se transmite información con la expectativa transmite información con la expectativa de que la actividad se lleve a cabode que la actividad se lleve a cabo
Aspectos comunes enAspectos comunes eninteraccióninteracción
Objetos: Participantes en la interacciónObjetos: Participantes en la interacción Roles: Jugados por los objetosRoles: Jugados por los objetos Enlaces: Conexión semántica entre objetosEnlaces: Conexión semántica entre objetos Mensajes: Comunicación entre objetosMensajes: Comunicación entre objetos Secuenciación: Orden de los mensajesSecuenciación: Orden de los mensajes
Diagramas de InteracciónDiagramas de Interacción
Muestra la interacción entre los Muestra la interacción entre los objetos con sus relaciones y los objetos con sus relaciones y los mensajes que pueden enviar entre mensajes que pueden enviar entre ellosellos Diagramas de SecuenciaDiagramas de Secuencia Diagramas de ColaboraciónDiagramas de Colaboración
Un mensaje es la invocación de un Un mensaje es la invocación de un métodométodo
Diagramas de InteracciónDiagramas de Interacción
Modelan los aspectos dinámicos del Modelan los aspectos dinámicos del sistemasistema
Sirven para visualizar, especificar, Sirven para visualizar, especificar, construir y documentar la dinámica construir y documentar la dinámica de una sociedad particular de objetosde una sociedad particular de objetos
Modelan un flujo de control Modelan un flujo de control particular de un caso de usoparticular de un caso de uso
Diagramas de InteracciónDiagramas de Interacción
Muestra una interacción, que consiste Muestra una interacción, que consiste en un conjunto de objetos y las en un conjunto de objetos y las relaciones entre ellos, incluyendo los relaciones entre ellos, incluyendo los mensajes que deben ser enviados.mensajes que deben ser enviados.
Es un macro-algoritmo descrito Es un macro-algoritmo descrito gráficamentegráficamente
Son modelos dinámicos que Son modelos dinámicos que describen cómo los objetos colaboran describen cómo los objetos colaboran entre sí.entre sí.
Tipos de Diagramas deTipos de Diagramas deInteracciónInteracción Diagramas de SecuenciaDiagramas de Secuencia
Enfatiza el tiempo que indica el orden Enfatiza el tiempo que indica el orden de los mensajesde los mensajes
Es útil para describir escenarios donde Es útil para describir escenarios donde existe interacción con el usuarioexiste interacción con el usuario
Es utilizado para mostrar el diseño Es utilizado para mostrar el diseño detallado de un procedimiento (método)detallado de un procedimiento (método)
Diagrama de colaboraciónDiagrama de colaboración Enfatiza la organización estructural de Enfatiza la organización estructural de
los objetos que envían y reciben los objetos que envían y reciben informacióninformación
Tipos de Diagramas deTipos de Diagramas deInteracciónInteracción
Diagramas de EstadoDiagramas de Estado Muestra los posibles estados de un Muestra los posibles estados de un
objeto y las transiciones que causa un objeto y las transiciones que causa un cambio en el estadocambio en el estado
Diagramas de ActividadDiagramas de Actividad Muestra un flujo de actividades Muestra un flujo de actividades
involucradas en un simple procesoinvolucradas en un simple proceso
Propiedades ComunesPropiedades Comunes
Roles u objetosRoles u objetos Comunicaciones o EnlacesComunicaciones o Enlaces MensajesMensajes
Pueden contener notas o Pueden contener notas o restriccionesrestricciones
Diagrama de SecuenciaDiagrama de Secuencia
Diagrama de interacción que destaca Diagrama de interacción que destaca la ordenación temporal de los la ordenación temporal de los mensajesmensajes
Se caracterizan por:Se caracterizan por: Línea de vidaLínea de vida
Línea discontinua verticalLínea discontinua vertical Representa la existencia de un objeto a lo Representa la existencia de un objeto a lo
largo de un periodo de tiempolargo de un periodo de tiempo
Diagrama de SecuenciaDiagrama de Secuencia
Se caracterizan por:Se caracterizan por: El foco de control es un rectángulo El foco de control es un rectángulo
delgado y estrecho que representa el delgado y estrecho que representa el periodo durante el cual el objeto periodo durante el cual el objeto desarrolla una accióndesarrolla una acción
Mensajes: Se representa con una Mensajes: Se representa con una flecha entre líneas de vida. La punta se flecha entre líneas de vida. La punta se dirige al receptor que es el que posee el dirige al receptor que es el que posee el método.método.
Diagrama de Secuencia Diagrama de Secuencia
Detalla cómo las operaciones son Detalla cómo las operaciones son llevadas a cabo, qué mensajes son llevadas a cabo, qué mensajes son enviados y cuándo.enviados y cuándo.
Es una representación que muestra, Es una representación que muestra, en determinado escenario de un en determinado escenario de un caso de uso, los eventos generados caso de uso, los eventos generados por actores externos, su orden y los por actores externos, su orden y los eventos internos del sistema.eventos internos del sistema.
Diagrama de SecuenciaDiagrama de Secuencia
Muestra la interacción de un conjunto de Muestra la interacción de un conjunto de objetos en una aplicación a través del objetos en una aplicación a través del tiempo.tiempo.
La creación de los diagramas de La creación de los diagramas de secuencia depende de la formulación de secuencia depende de la formulación de los casos de usolos casos de uso
Un diagrama de secuencia se modela Un diagrama de secuencia se modela para cada caso de uso, esto es, el para cada caso de uso, esto es, el diagrama de secuencia captura el diagrama de secuencia captura el comportamiento del caso de uso.comportamiento del caso de uso.
Diagramas de SecuenciaDiagramas de Secuencia
Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh
Diagrama de SecuenciaDiagrama de Secuencia
Están organizados de acuerdo al tiempo, Están organizados de acuerdo al tiempo, que avanza hacia la parte de inferior en el que avanza hacia la parte de inferior en el diagrama.diagrama.
Los objetos involucrados en la operación Los objetos involucrados en la operación son listados de izquierda a derecha de son listados de izquierda a derecha de acuerdo a cuando toman parte en la acuerdo a cuando toman parte en la secuencia.secuencia.
La dimensión La dimensión vertical vertical representa el representa el tiempo tiempo y la dimensión y la dimensión horizontal horizontal representa la representa la interacción interacción de objetos.de objetos.
Diagrama de SecuenciaDiagrama de Secuencia
Muestran, para un escenario específico de un Muestran, para un escenario específico de un caso de uso:caso de uso: los eventos que generan los actores externoslos eventos que generan los actores externos el orden de los eventosel orden de los eventos eventos entre los sistemaseventos entre los sistemas
Los sistemas se tratan como cajas negrasLos sistemas se tratan como cajas negras Debe realizarse un DS para el escenario Debe realizarse un DS para el escenario
principal de éxito del caso de uso, y los principal de éxito del caso de uso, y los escenarios alternativos complejos o escenarios alternativos complejos o frecuentesfrecuentes
No es necesario crear un DS para todosNo es necesario crear un DS para todos
Diagrama de SecuenciaDiagrama de Secuencia
MensajeMensaje
Representado como una línea sólida Representado como una línea sólida dirigida desde el objeto que emite el dirigida desde el objeto que emite el mensaje hacia el objeto que lo ejecuta. mensaje hacia el objeto que lo ejecuta. Consta de:Consta de: OperaciónOperación Número de secuencia (opcional)Número de secuencia (opcional) Argumentos de la operaciónArgumentos de la operación Valor de retorno de la operaciónValor de retorno de la operación Flecha de retorno de mensaje (opcional)Flecha de retorno de mensaje (opcional)
MensajeMensaje
Especificación del tipo de mensaje : Especificación del tipo de mensaje : sincrónico, asincrónico.sincrónico, asincrónico.
Especificación de creación ó Especificación de creación ó destrucción (la creación se muestra destrucción (la creación se muestra como un corrimiento del objeto hacia como un corrimiento del objeto hacia abajo)abajo)
CondiciónCondición IteraciónIteración
Mensaje a “Self” o “this”Mensaje a “Self” o “this”
:Registro
Msj1()Limpiar()
Creación de ObjetosCreación de Objetos
:Registro :Venta
Realizarpago(dineroEntregado)
:PagoCreate(dineroEntregado)
Autorizar()
La línea de vida muestra laDuración de la vida de un Objeto en el diagrama
Los objetos creados recientemente se sitúan a su altura de creación
Destrucción de objetosDestrucción de objetos
:Venta
:PagoCreate(dineroEntregado)
Autorizar()
…
“Destroy()”
El mensaje estereotipado con “destroy” y la X indica la destrrucción explícita del objeto
Mensajes condicionalesMensajes condicionales
:Foo :Bar
[color = rojo] calcular()
Mensaje1()
Mensajes CondicionalesMensajes CondicionalesMutuamente ExclusivosMutuamente Exclusivos
:A :BMensaje1()
:C
[x>15] calcular()
[x<10] calcular()
Iteración para un ÚnicoIteración para un ÚnicoMensajeMensaje
:Simulador :Aleatorio
* [i=1..N]: Num:=SiguienteEnt()
EjecutarSimulación()
Iteración Sobre una SerieIteración Sobre una Seriede Mensajesde Mensajes
:Simulador :Aleatorio
Horas:=SiguienteEnt()
EjecutarSimulación()
:Programador
Trabajar(horas)
*[i:=1..N]
Comer()
Iteración sobre unIteración sobre unMultiobjetoMultiobjeto
:Venta
*:st:=getSubTotal()
…
T=getTotal()
:LíneaDeVenta
Invocación EstáticaInvocación Estática
:Foo :java.util.collections
Lista:=sincronizedList(UnaLista)
Mensaje1()
Mensaje a una clase o una Invocación a un método estático
No subrayada → es una clase
Diagrama de Secuencia -Diagrama de Secuencia -EjercicioEjercicio
Desde una GUI se envíaDesde una GUI se envía solicita solicita una reservación a una cadena de una reservación a una cadena de hoteles, la cadena de hoteles a su hoteles, la cadena de hoteles a su vez envía la solicitud al hotel que el vez envía la solicitud al hotel que el usuario desea, si el hotel tiene usuario desea, si el hotel tiene habitaciones, hace una reservación habitaciones, hace una reservación y una confirmación.y una confirmación.
Diagrama de Secuencia –Diagrama de Secuencia –Tipos de mensajeTipos de mensaje
Los mensajes pueden ser:Los mensajes pueden ser: Sincrónicos: se envía el mensaje y se Sincrónicos: se envía el mensaje y se
espera hasta que haya una respuesta. espera hasta que haya una respuesta. ((waitwait))
Asincrónicos: permite enviar mensajes Asincrónicos: permite enviar mensajes adicionales mientras el original está adicionales mientras el original está siendo procesado. (siendo procesado. (nowaitnowait))
Diagrama de Secuencia –Diagrama de Secuencia –MensajesMensajes
SímboloSímbolo SignificadoSignificado
Mensaje simple, sincrónicoMensaje simple, sincrónico
ó asincrónicoó asincrónico
Mensaje simple de retornoMensaje simple de retorno
(opcional)(opcional)
Mensaje sincrónico (call)Mensaje sincrónico (call)
Diagrama de Secuecia –mensaje Diagrama de Secuecia –mensaje asíncrono-Ejercicioasíncrono-Ejercicio Una Una enfermera enfermera solicita un solicita un examen diagnóstico examen diagnóstico a a
un laboratorio médico. Hay dos mensajes un laboratorio médico. Hay dos mensajes asíncronos desde la asíncronos desde la enfermeraenfermera, preguntar a , preguntar a MedicalLab MedicalLab para reservar una fecha para el para reservar una fecha para el examen examen y preguntar a y preguntar a InsuranceCompany InsuranceCompany para para que apruebe el que apruebe el examenexamen. El orden en el cual los . El orden en el cual los mensajes son enviados o completados es mensajes son enviados o completados es irrelevante (el uno no espera hasta que el otro irrelevante (el uno no espera hasta que el otro regrese). regrese).
Si el Si el examen examen es aprobado por es aprobado por InsuranceCompanyInsuranceCompany, , la enfermera la enfermera programará el programará el examen examen en la fecha suministrada por en la fecha suministrada por MedicalLabMedicalLab..
Diagrama de Secuencia –Diagrama de Secuencia –VisibilidadVisibilidad
El objeto al que se le envía el El objeto al que se le envía el mensaje (mensaje (AA) debe ser visible por el ) debe ser visible por el objeto que envía el mensaje (objeto que envía el mensaje (BB) y ) y el mensaje debe corresponder a un el mensaje debe corresponder a un método de método de AA..
Diagrama de ClaseDiagrama de ClaseCursoCurso
-nombre:int-nombre:int
+BuscarEstudiante:String+BuscarEstudiante:String
+TieneDescuento:Boolean+TieneDescuento:Boolean
+AgregarEstudiante:void+AgregarEstudiante:void
DescuentoDescuento
-nombre: String-nombre: String
-porcentaje: int-porcentaje: int
+TieneDescuento:Boolean+TieneDescuento:Boolean
NotaNota
-puntuación:int-puntuación:intEstudianteEstudiante
-código:int-código:int
-promedio:int-promedio:int
+Estudiante+Estudiante
+DeEstudiante:Estudiante+DeEstudiante:Estudiante
+DeDatos:String+DeDatos:String
+DePromedio:int+DePromedio:int
+Agregar:void+Agregar:void
1 0..*
1
0..*
0..*Corresponde ←
Diagrama de Secuencia –Diagrama de Secuencia –VisibilidadVisibilidad
A A crea a crea a BB. En el ejemplo . En el ejemplo objCurso objCurso crea el crea el objEstobjEst, , ya que lo conoce y lo agrega a la colección de ya que lo conoce y lo agrega a la colección de estudiantesestudiantes
:ObjCurso
Curso:ObjEst
Estudiante
1:AgregarEstudiante(CodEst,Promest)
:CollEstudiantes
Estudiante1.1 :constructor
1.2 :AgregarObjEst):void
GUI
A
B
Diagrama de Secuencia –Diagrama de Secuencia –VisibilidadVisibilidad
Existe una relación de asociación Existe una relación de asociación entre la clase entre la clase A A y la clase y la clase BB, , A A puede puede invocar métodos de invocar métodos de BB. En el ejemplo . En el ejemplo se puede apreciar que los objetos sólo se puede apreciar que los objetos sólo envían mensajes a los objetos que envían mensajes a los objetos que conocen de acuerdo al diagrama de conocen de acuerdo al diagrama de clasesclases
Diagrama de Secuencia – RelaciónDiagrama de Secuencia – Relacióncon el Diagrama de Clasescon el Diagrama de Clases
Un diagrama de secuencia sirve para Un diagrama de secuencia sirve para Reconocer qué objetos pueden Reconocer qué objetos pueden
interactuar en el diagrama de secuenciainteractuar en el diagrama de secuencia Reconocer los métodos posiblesReconocer los métodos posibles Completar el diagrama de clasesCompletar el diagrama de clases Reconocer más métodos de una claseReconocer más métodos de una clase Crear asociaciones entre clasesCrear asociaciones entre clases
Diagramas de SecuenciaDiagramas de Secuencia
Se pueden representar condicionales Se pueden representar condicionales y buclesy bucles
Existen operadores de controlExisten operadores de control
Obj1: Clase1 Obj2: Clase2
Mensaje1()
Mensaje2()
con [cond]
Diagramas de secuenciaDiagramas de secuencia
Operadores de controlOperadores de control Ejecución opcional: Ejecución opcional:
OptOpt El cuerpo del operador de control se ejecuta si una El cuerpo del operador de control se ejecuta si una
condición de guarda es cierta cuando se entra en el condición de guarda es cierta cuando se entra en el operadoroperador
Ejecución condicionalEjecución condicional altalt El cuerpo del operador se divide en varias El cuerpo del operador se divide en varias
subregiones con líneas discontínuas horizontalessubregiones con líneas discontínuas horizontales Cada subregión se considera como una rama de la Cada subregión se considera como una rama de la
condicióncondición Cada subregión tiene una condición de guardaCada subregión tiene una condición de guarda Sólo se ejecuta una subregiónSólo se ejecuta una subregión Existe también la etiqueta [else]Existe también la etiqueta [else]
Diagramas de SecuenciaDiagramas de Secuencia
Operadores de controlOperadores de control Ejecución paralela:Ejecución paralela:
parpar El cuerpo del operador se divide en varias El cuerpo del operador se divide en varias
subregiones con líneas discontinuas subregiones con líneas discontinuas horizontaleshorizontales
Cada subregión representa una ejecución Cada subregión representa una ejecución en paralelo de manera concurrenteen paralelo de manera concurrente
La concurrencia no implica ejecución La concurrencia no implica ejecución físicamente simultánea. Significa que las físicamente simultánea. Significa que las acciones no están coordinadas y pueden acciones no están coordinadas y pueden ejecutarse en cualquier ordenejecutarse en cualquier orden
Diagramas de SecuenciaDiagramas de Secuencia
Operadores de controlOperadores de control Ejecución en bucle (iterativa):Ejecución en bucle (iterativa):
looploop loop (min,max) loop (min,max) Una condición de guarda aparece sobre Una condición de guarda aparece sobre
una línea de vida dentro del cuerpouna línea de vida dentro del cuerpo Se ejecuta el cuerpo del bucle mientras la Se ejecuta el cuerpo del bucle mientras la
guarda sea verdaderaguarda sea verdadera
Diagramas de SecuenciaDiagramas de Secuencia
Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh
Diagrama de SecuenciaDiagrama de Secuencia
Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh
Diagrama de Secuencia – Caso de Diagrama de Secuencia – Caso de uso: Hacer pedido cliente en uso: Hacer pedido cliente en RestauranteRestaurante
Diagrama de Secuencia – Caso de Diagrama de Secuencia – Caso de uso: Hacer pedido cliente en uso: Hacer pedido cliente en RestauranteRestaurante
Diagrama de colaboración/ Diagrama de colaboración/ comunicacióncomunicación Diagrama de interacción que destaca Diagrama de interacción que destaca
la organización estructural de los la organización estructural de los objetos que envían y reciben objetos que envían y reciben mensajes.mensajes.
No se muestran las líneas de vidaNo se muestran las líneas de vida Se pueden representar los mensajes Se pueden representar los mensajes
create y destroycreate y destroy Existen números de secuencia y se Existen números de secuencia y se
puede indicar el anidamientopuede indicar el anidamiento
Diagramas de ColaboraciónDiagramas de Colaboración
Explican gráficamente las Explican gráficamente las interacciones entre las instancias interacciones entre las instancias (objetos)(objetos)
Transmiten la misma información Transmiten la misma información que un diagrama de secuencia pero que un diagrama de secuencia pero se focalizan en roles de objetos en se focalizan en roles de objetos en lugar de los tiempos en que los lugar de los tiempos en que los mensajes son enviadosmensajes son enviados
Diagrama de ColaboraciónDiagrama de Colaboración
Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh
Diagramas de colaboraciónDiagramas de colaboración
Se caracterizan por:Se caracterizan por: El caminoEl camino Número de secuenciaNúmero de secuencia
Se puede representar la iteración y Se puede representar la iteración y los cicloslos ciclos Iteración: * [i: 1..n] // La clave es el *Iteración: * [i: 1..n] // La clave es el * Condición: [cond] Condición: [cond]
Diagrama de ColaboraciónDiagrama de Colaboración
Tomado de “El lenguaje unificado de modelado”. Booch, Jacobson, Rumbaugh
Diagramas de ColaboraciónDiagramas de Colaboración- Ejemplo- Ejemplo
Window:GUI
Achain:Cadenadehoteles
Ahotel:Hotel AReservation:Reservación ANotice:Confirmación
1.1:HacerReservación():Void
1.1.1:HacerReservación():Void
1.1.1.1:*[Por cada dia]HayHabitaciónDisponible():Boolean
1.1.1.2:[HayHabitación] 1.1.1.2.1
ElementosElementos
Objetos: se representan como un Objetos: se representan como un rectángulo con la notación objeto:Clase rectángulo con la notación objeto:Clase subrayados.subrayados.
Los enlaces conectan dos objetos, Los enlaces conectan dos objetos, representan instancias de una representan instancias de una asociación entre los objetos.asociación entre los objetos.
Cada enlace tiene un mensaje.Cada enlace tiene un mensaje. El mensaje tiene un dirección indicando El mensaje tiene un dirección indicando
visibilidad (navegabilidad).visibilidad (navegabilidad).
ElementosElementos
El mensaje tiene un número de El mensaje tiene un número de secuencia, el mensaje de nivel más alto secuencia, el mensaje de nivel más alto es etiquetado como 1es etiquetado como 1
Los mensajes enviados durante la Los mensajes enviados durante la misma llamada (mismo nivel) tienen el misma llamada (mismo nivel) tienen el mismo prefijo decimal, pero sufijos 1,2, mismo prefijo decimal, pero sufijos 1,2, etc.., de acuerdo a cuando ellos ocurrenetc.., de acuerdo a cuando ellos ocurren
Se pueden mostrar iteraciones, Se pueden mostrar iteraciones, condiciones y auto llamadoscondiciones y auto llamados
ElementosElementos
Al igual que en el diagrama de secuencia Al igual que en el diagrama de secuencia cada mensaje tiene asociado:cada mensaje tiene asociado: OperaciónOperación EtiquetaEtiqueta Número de secuenciaNúmero de secuencia Si el mensaje es de creación ó destrucción Si el mensaje es de creación ó destrucción ArgumentosArgumentos Valor de retornoValor de retorno Expresiones de condición e iteraciónExpresiones de condición e iteración
EjercicioEjercicio
En el siguiente ejemplo identificar:En el siguiente ejemplo identificar: Dirección de los mensajesDirección de los mensajes Primer mensajePrimer mensaje Primer mensaje internoPrimer mensaje interno ParámetrosParámetros CreaciónCreación InstanciasInstancias
EjemploEjemplo
:Registro :Venta
:Pago
RealizarPago(dineroEntregado) 1.RealizarPago(dineroEntregado)
1.1.Create(dineroEntregado)
EnlacesEnlaces
A lo largo del mismo enlace pueden fluir múltiples A lo largo del mismo enlace pueden fluir múltiples mensajes y mensajes en ambas direccionesmensajes y mensajes en ambas direcciones
:Registro :Venta
1.RealizarPago(dineroEntregado)
2.Foo()
2.1.Bar()
MensajesMensajes
Todos los mensajes fluyen en el mismo enlaceTodos los mensajes fluyen en el mismo enlace
:Registro :Venta
1:Msj2()
2:Msj3()
3.1:Msj5()
Msj1()
3:Msj4()
Mensajes a “self” o “this”Mensajes a “self” o “this”
:Registro
Msj1()
1:Limpiar()Mensaje a “This”
Creación de InstanciasCreación de Instancias
Secuencia de NumeraciónSecuencia de Numeración
Secuencia de NumeraciónSecuencia de Numeración(cont.)(cont.)
Mensajes CondicionalesMensajes Condicionales
Mensajes MutuamenteMensajes MutuamenteExclusivosExclusivos
Iteración o BucleIteración o Bucle
Iteración Sobre MultiobjetoIteración Sobre Multiobjeto
Mensajes a MétodosMensajes a MétodosEstáticosEstáticos
Colaboración vs SecuenciaColaboración vs Secuencia
TipoTipo ProsPros ContrasContras
SecuenciaSecuencia Muestra claramente la Muestra claramente la secuencia ordenada de secuencia ordenada de mensajes en el tiempomensajes en el tiempo Notación simpleNotación simple Tiene bloques de Tiene bloques de SentenciasSentencias
Consume mucho Consume mucho espacio horizontalespacio horizontal
ColaboraciónColaboración Económico en espacio, Económico en espacio, flexible para añadir nuevos flexible para añadir nuevos objetos en dos dimensionesobjetos en dos dimensionesMejor para ilustrar Mejor para ilustrar ramificacionesramificacionescomplejas, iteraciones ycomplejas, iteraciones y
concurrenciaconcurrencia
Difícil de ver la Difícil de ver la secuencia de mensajessecuencia de mensajesNotación más Notación más complejacompleja
Mensaje de CreaciónMensaje de Creación
<<actor>>GUI
1.AgregarEstudiante(codEst,promEst):Void →
ObjCurso:Curso
1.2.Agregar(ObjEst):Void →
colEstudiantes:Estudiante
ObjEst:Estudiante
1.1.<constructor>(int,int)→
Mensaje de CreaciónMensaje de Creación
<<actor>>GUI
1.AgregarEstudiante(codEst,promEst):Void →
ObjCurso:Curso
1.2.Agregar(ObjEst):Void →
colEstudiantes:Estudiante
ObjEst:Estudiante
1.1.<constructor>(int,int)
↓
Multiobjeto, iteraciónMultiobjeto, iteración
<<actor>>GUI
1:máximaNotaEst(codEst):int →
ObjCurso:Curso
↑ 1.1:.objEst=GetEstudiante(codEst):Estudiante
colEstudiantes:Estudiante
ObjEst:Estudiante
↓1.2:datosEst=máximaNotaEst():int
ObjNota:Nota
1.2.1:*[para cada nota] máximaNota=GetNota():int →