Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DIAGRAMAS DE SECUENCIA
Y CONTRATOS
Universidad Simón Bolívar. Ing. de Software.
Prof. Ivette Carolina Martínez
Arquitectura: Del Análisis al Diseño
OBJETIVOS:
Identificar las diferencias básicas entre Análisis y
Diseño.
Definir la arquitectura de un sistema.
sistema.
Aprender la elaboración del modelo conceptual de
un sistema (listo?)
Análisis vs. Diseño
Análisis Diseño
Se enfoca en comprender el Se enfoca en comprender
problema. la solución.
Diseño idealizado.
Operaciones y atributos
Comportamiento.
Rendimiento.
Estructura del Sistema.
Cercano al código real.
Requerimientos Funcionales.
Ciclos de vida de los
Un pequeño modelo.
objetos.
Requerimientos no
funcionales.
Un modelo grande.
Bottom Up ó Top Down
Qué es Arquitectura?
Arquitectura de software se refiere al conjunto de decisiones
significativas respecto a la organización de un sistema de
software.
Selección de Elementos Estructurales y sus interfaces.
Código
Implementación
Diseño
Arquitectura
El Modelo de “4+1 Vistas”
Diagramas de Secuencia
OBJETIVO:
Ser capaz de describir el comportamiento
de un sistema, subsistema u operación
particular mediante un Diagrama de
Secuencia utilizando para ello el concepto y
representación de interacción, objeto,
mensaje, activación.
Modelos y Diagramas
Muestra:
los objetos que participan en una interacción
: C1 : C2
mensaje 1 ()
: C1 : C2
mensaje 0 ()
mensaje 1 ()
retorno
mensaje 2 (p1,p2)
Notación Básica: Cajas de Activación
: C1 : C2
mensaje 0 ()
mensaje 1 ()
retorno
Caja de activación
mensaje 2 (p1,p2)
Notación Básica: Cajas de Activación
: C1 : C2
mensaje 0 ()
mensaje 1 ()
retorno
mensaje 2 ()
mensaje 3 (p1,p2)
Notación Básica: Cajas de Activación
: C1 : C2
mensaje 0 ()
mensaje 1 ()
retorno
mensaje 2 ()
mensaje 3 (p1,p2)
Notación Básica: Recursión
: C1
Recursión
mensaje 0 ()
Mensaje a si mismo
(“self” , “this”)
mensaje 1()
Caja de activación
Notación Básica: Recursión
Ejemplo:
:Calculadora
factorial (n)
factorial (n-1)
Notación Básica creación de objetos
Creación de objetos
: C1
Mensaje 0 ()
crear()
:C2
mensaje 1()
Notación Básica creación de objetos
Ejemplo:
: Venta
agregarProducto (cod,cant)
crear()
:Línea de
Producto
modificar (cod,cant)
Notación Básica destrucción de objetos
: C1
Mensaje 0 ( )
crear()
:C2
destruir
: C1 : C2
mensaje 0 ()
[condición] mensaje 1 ()
Mensaje condicional
Notación Básica:
Mensajes Condicionales
Ejemplo:
: Ciudadano : Calculador
: C1 : C2 : C3
mensaje 0 ()
[condición 1] mensaje 1 ()
[condición 2] mensaje 2 ()
Mensajes condicionales
mútuamente excluyentes
Notación Básica: Mensajes
Condicionales Excluyentes
Ejemplo:
: Taller : Especialista en : Especialista en
Sistemas de Sistemas de
repararCarro () Dirección Inyección
[fallaDirección] reparar()
[fallaInyección] reparar()
Notación Básica: Iteración de un
mensaje
: C1 : C2
mensaje 0 ()
[i:=1..N]: vi:=mensaje ()
Iteración de un mensaje
Notación Básica:
Iteración de un mensaje
Ejemplo:
: Simulador :Random
simular()
[i:=1..N]: numi:=proximo()
Notación Básica:
Iteración de varios mensajes
: C1 : C2 : C3
mensaje 0 ()
mensaje 1 ()
mensaje 2 ()
Caja que puede
encerrar un área
de iteración
*[...] es un *[...]
marcador de
iteración
FDS
Notación Básica:
Iteración de varios mensajes
Ejemplo:
:Simulador : Random : Programador
simular()
horas:=próximoEntero()
trabajar (horas)
*[i:=1..N]
comer ()
FDS
Resumen:
Diagramas de Secuencia
¿Qué expresar?