- Topic
-
Conceptos
- describe el intercambio de mensajes de líneas de vida ordenados en el tiempo
- ilustran la realización de casos de uso (CU)
- normalmente se hace uno por flujo general y otro por flujo alternativo
- aclaran los roles de los objetos
- NO incluye relaciones entre los objetos
-
Elementos de un DS
- Frames (límites)
-
Líneas de Vida (objetos)
- da idea del tiempo de los objetos de la clase en el CU
-
Barras de Tiempo (focos de control)
- representa el conjunto de mensajes que mantienen relación consecutiva
-
Scripts
- usados en escenarios muy complejos
pueden ser escritos en pseudo código o lenguaje natural
-
Fragmentos Combinados
- Alternative (alt) if...then...else
- Option (opt) switch
- Break (break)
- Parallel (par)
- Week Sequencing (seq) no hay que seguir un orden específico de ejecución
- Strict Sequencing (strict)
- Critical Region (region) se debe ejecutar sin interrupciones
- Ignore (ignore) mensajes que no interesan si aparecen (normalmente durante pruebas)
- Consider (consider) lo opuesto a "ignore"
- Assertion (assert) únicas secuencias válidas
- Negative (neg) normalmente para respuesta ante un error/caída del sistema
- Loop (loop)
-
Mensajes (estímulos):
Comunicación entre objetos
que conlleva información y la
expectativa de obtener un
resultado
-
Contienen:
- Parámetros
message(parameter1,parameter2)
- Condición
[condicion] : mensaje()
- Iteración
*[condicion iteracion] : mensaje()
-
Tipos de mensajes
-
Debido a su nivel de término:
- Completados
- Perdidos
- Encontrados
- van o vienen de un elemento de fin
-
Por su naturaleza:
-
Síncronos
-
Asíncronos
-
De retorno
- objeto que espera una respuesta antes de continuar
return:=message(parameter) --------------|>
- objeto no espera respuesta para seguir
message(parameter) ----------->
- para mostrar el retorno de un asíncrono o para mensajes de error
message(return) <- - - - - - -
-
Control
-
Centralizado: pocos objetos gobiernan el flujo enviando y recibiendo mensajes
-
Descentralizado: la mayoría de objetos se comunican unos con otros sin intervención de un controlador