Está en la página 1de 48

UP – Fase

elaboración y
Diagramas de
Secuencia

1
A. Soriano – N. Zambrano (Universidad Central de Venezuela)
Proceso Unificado

Disciplinas Fases
Fundamentales
Inicio Elaboración Construcción Transición

Modelado del Negocio

Requerimientos

Análisis y Diseño

Implementación
Prueba
Entrega

Gerencia
de Configuración y
Cambio
Gerencia de Proyecto
Ambiente
Iteraciones

2
Arquitectura:
Principales Artefactos

• Modelo de Casos de Uso, Diagramas de Secuencia


• Modelo de Objetos del Dominio (Modelo Conceptual)
• Modelo de Diseño
• Modelo de Implementación

Artefactos principales para entender el


comportamiento del sistema
(¿Que hace?):

3
UML: Diagramas
Use Case
Use Case
Diagrams State
Diagrama
Diagrams de State
Use Case Diagrams
Diagrama
Use Case
Diagrams
Casos de Uso Diagrams de
Diagrama
Diagrams de Clases
Estados State
State
Diagrams
Diagrama
Diagrams de
Objeto

Scenario
Scenario
Diagrams
Diagrama
Diagrams de Component
Component
Diagrams
Actividad Diagrama
de
Diagramas Diagrams
Componentes

Scenario
Scenario
Diagrams
Diagrama
Diagrams de
Component
Diagrama de Component
Diagrams
Secuencia Diagrama de
Diagrams
Colaboración Despliegue
4
Vistas y Diagramas
Área Dinámica

Un Diagrama de Secuencia
Use Case
Use Case
Diagrams
Diagrama describe la interación
Diagrams de
Estados entre los objetos ordenada
Vista de Máquina de Estados
en el tiempo

Scenario
Scenario
Diagrams Vista
Diagrama
Diagrams de de Actividad
Actividad
Diagramas
Vista de Interacción
Scenario
Scenario
Diagrams
Diagrama
Diagrams de
Secuencia Diagrama de
Colaboración
5
Vistas y Diagramas

6
Extraído de “El Lenguaje Unificado de Modelado. Manual de Referencia”.
Rumbaugh, Jacobson, Booch. Addison Wesley 2000
Objetivos a alcanzar con esta clase

• Describir la notación básica de los


Diagramas de Secuencia de UML

• Usar los Diagramas de Interacción para


describir el comportamiento de un sistema

• Fase de elaboración de UP- Diagrama de


secuencia del sistema PV

7
Diagramas de Secuencia y el Proceso
Unificado

• Parten del modelo de Casos de Uso (una


refinación)
• Rara vez se construyen en la Fase de Inicio
• Generalmente se crean en la Fase de
Elaboración
• Se crean los diagramas correspondientes a
escenarios de la interacción en cuestión.

8
Diagrama de Secuencia

• Muestra los objetos que participan en una


interacción
• el intercambio de mensajes
• su ordenamiento en el tiempo

• Captura el comportamiento dinámico


• Describe todos los escenarios (forma
genérica) o un escenario particular (una
instancia)
9
Utilidad de los diagramas de secuencia

• Maneja la comunicación entre el sistema y los


actores

– captura requerimientos de la interfaz de


usuario (pero no muestra como la interfaz
será implementada)

• Son un medio para clarificar escenarios

10
Comportamiento del sistema – casos de
uso y diagramas de secuencia

• Es útil para definir el comportamiento del


software como “cajas negras”
• El comportamiento del sistema es una
descripción de “qué hace el sistema” (sin
explicar cómo lo hace)
• Casos de uso describen cómo los actores
interactúan con el sistema. Durante esta
interacción, un actor genera eventos.
• Un evento inicia una operación sobre el sistema.

11
Fase de Elaboración: 1° iteración

Casos de Uso  Diagramas de interacción


Describen la interacción entre los actores y el sistema
Durante la interacción, los actores envian eventos al
sistema
Estos eventos, implican generalmente la ejecución de
alguna operación del sistema.

¿Existe un orden o secuencia en que deben


producirse los eventos?
¿Es suficiente con el Diagrama de Casos de Uso?
12
Comportamiento del sistema – casos de
uso y diagramas de secuencia

• Un diagrama de secuencia es una


representación que muestra, para un escenario
de un caso de uso, los eventos que generan los
actores, su orden y posibles eventos internos en
el sistema..
• Todos los sistemas son tratados como cajas
negras. El diagrama enfatiza los eventos que se
dan entre los actores y el sistema

13
La notación UML

Diagrama de Secuencia
ob3:C3 ob4:C4
op( ) Línea de vida
ob1:C1

[x>0] op1(x ) creación Mensaje


ob2:C2

condicional [x<0] op2(x )

op3(w ) op3(z )

Activación

op4( )

destrucción

recursión
14
Diagramas de secuencia: Notación Básica
objetos, mensajes y valores retornados

: C1 : C2

mensaje 1 ( )
Valor (es) retorno
retornado (s)
asociado(s) con el
mensaje previo
Mensajes
mensaje 2 (p1,p2)

15
Diagramas de secuencia: Notación Básica
cajas de activación

: C1 : C2

mensaje 0 ( )
mensaje 1 ( )

retorno
Caja de
activación
mensaje 2 (p1,p2)

16
Diagramas de secuencia: Notación Básica
cajas de activación

: C1 : C2

mensaje 0 ( )
mensaje 1 ( )

retorno

mensaje 2 ( )
mensaje 3 (p1,p2)

17
Diagramas de secuencia: Notación Básica
recursión

: C1
Recursión
mensaje 0 ( )
Mensaje a si mismo
(“self” , “this”)
1( )
mensaje 1()

Caja de
activación

18
Diagramas de secuencia: Notación Básica
recursión

Ejemplo:

:Calculadora

factorial (n)

factorial (n-1)

19
Diagramas de secuencia: Notación Básica
creación de objetos

: C1 Creación de objetos

Mensaje 0 ( )

crear ( )
:C2

mensaje 1( )

20
Diagramas de secuencia: Notación Básica
creación de objetos

Ejemplo:
: Venta

agregarProducto (cod,cant)
:Línea de
crear( )
Venta de
Producto
dar (cod,cant)

21
Caso de Estudio: PV
Diagramas de secuencia: Notación Básica
destrucción de objetos

: C1

Mensaje 0 ( )

crear( )
:C2

<<destruir>>

Destrucción del objeto 22


Diagramas de secuencia: Notación Básica
mensajes condicionales

: C1 : C2

mensaje 0 ( )
[condición] mensaje 1 ( )

Mensaje
condicional

23
Diagramas de secuencia: Notación Básica
mensajes condicionales

Ejemplo:
: Ciudadano : Calculador

declaraciónImpuesto ( )
[sueldo>límite] impuesto (sueldo)

24
Diagramas de secuencia: Notación Básica
mensajes condicionales excluyentes

: C1 : C2 : C3

mensaje 0 ( )
[condición 1] mensaje 1 ( )

[condición 2] mensaje 2 ( )

Mensajes condicionales
mútuamente excluyentes
25
Diagramas de secuencia: Notación Básica
mensajes condicionales excluyentes

Ejemplo:
: Taller : Especialista : Especialista
en Sistemas de en Sistemas de
repararCarro ( ) Dirección Inyección
[fallaDirección] reparar( )

[fallaInyección] reparar( )

26
Diagramas de secuencia: Notación Básica
iteración de un mensaje

: C1 : C2

mensaje 0 ( )
[i:=1..N]: vi:=mensaje()

Iteración de un
mensaje

27
Diagramas de secuencia: 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 28
La notación UML
Diagrama de Secuencia
Actor:
ob1:C1 ob2 ob3 :C1

evento
op
Línea de vida
op(parámetros)

Mensaje
op(parámetros)

op(parámetros)

Activación
29
Diagramas de Secuencia
resumen

Los Diagramas de Secuencia


Permite representar gráficamente las interacciones
entre objetos y su correlación en el tiempo.

Considerando los sistemas como cajas negras, y


haciendo énfasis en los eventos y las operaciones:
Permiten una representación gráfica, para un
escenario particular de un caso de uso, de los eventos
que los actores externos generan, su orden así como
los eventos intersistema.
33
Diagrama de Secuencia

Muestra:
• Los objetos que participan en una interacción
• El intercambio de mensajes entre los objetos
• El ordenamiento en el tiempo de los mensajes

• Captura el comportamiento dinámico


• Permite describir todos los escenarios (forma
genérica) o un escenario particular (una instancia)
34
Utilidad de los diagramas de secuencia

• Maneja la comunicación entre el sistema y el


mundo exterior
– captura requerimientos de la interfaz de
usuario
– no muestra como la interfaz será
implementada
• Son un medio para clarificar escenarios.

35
Caso de Estudio :
Puntos de Venta (PV)
Caso de Estudio:
Sistema de Puntos de Venta

Puntos de Venta para ventas al detal en un


supermercado: PV (Puntos de Ventas)
Uso principal:
- registrar ventas
- manejar los pagos
Compuesto por: Ilustración extraída
de:
Appliyng UML and
- Computador patterns.
2° edición
- Lector de código de barra C. Larman
36
Prentice Hall. 2002
- Sofware del Sistema.
Ejemplo POS : Requerimientos Funcionales
Casos de Uso

POS
Procesar Venta

Cajero Pago
Servicio de
Autorizaciones de Pago
Manejar Devoluciones
<<actor>> <<actor>>
Sistema de Alquilar Sistema de
Actividad de Ventas Suscripciones

Analizar Actividad <<actor>>


Sistema Calculador
de Impuestos
Manejar Seguridad

...
Administrador del Manejar Usuarios
... 37
Sistema
Fase de Elaboración: 1° iteración
Refinar procesar venta

PV
<<include>> Iniciar Venta

<<include>>
Introducir Producto
Procesar Venta
<<include>>
Cajero Introducir cant

<<include>>
Terminar venta

38
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar Venta

Escenario Principal de Éxito


(pago en efectivo solamente):
:Sistema
1. El Cajero inicia una nueva venta :Cajero
2. El Cajero introduce el código
-y cantidad- del producto Actor
2.1 El Sistema registra el producto y externo al
presenta la descripción del producto, sistema
precio y subtotal
Se repite el paso 2 hasta
procesar todos los artículos y servicios Sistema como
3. El cajero termina la venta “caja negra”
3.1 El Sistema muestra el total con el
impuesto calculado

Límite 39
Escenario Principal de Éxito
(pago en efectivo solamente):

1. El Cajero inicia una nueva venta


2. El Cajero introduce el código
-y cantidad- del producto
2.1 El Sistema registra el producto y
presenta la descripción del producto,
precio y subtotal
Se repite el paso 2 hasta
procesar todos los artículos y servicios
3. El cajero termina la venta
3.1 El Sistema muestra el total con el
impuesto calculado
Pago
1. El Cajero pregunta al Cliente
la forma de pago e inicia el proceso de pago
2. El sistema registra la venta
3. El Sistema emite la factura

40
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar Venta

Escenario Principal de Éxito


(pago en efectivo solamente):
:Sistema
:Cajero
1. El Cajero inicia una nueva venta iniciarVenta()
2. El Cajero introduce el código
-y cantidad- del producto
2.1 El Sistema registra el producto y
presenta la descripción del producto, Mensaje
precio y subtotal del actor
Se repite el paso 2 hasta
procesar todos los artículos y servicios
3. El cajero termina la venta
3.1 El Sistema muestra el total con el
impuesto calculado

41
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar Venta

Escenario Principal de Éxito


(pago en efectivo solamente):
:Sistema
1. El Cajero inicia una nueva venta :Cajero
iniciarVenta()
2. El Cajero introduce el código
-y cantidad- del producto
introducirProducto(cod,cantidad)
2.1 El Sistema registra el producto y
presenta la descripción del producto,
precio y subtotal
Se repite el paso 2 hasta
procesar todos los artículos y servicios Mensaje con
3. El cajero termina la venta parámetros
3.1 El Sistema muestra el total con el
impuesto calculado

42
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar Venta

Escenario Principal de Éxito


(pago en efectivo solamente):
:Sistema
1. El Cajero inicia una nueva venta :Cajero
iniciarVenta()
2. El Cajero introduce el código
-y cantidad- del producto
introducirProducto(cod,cantidad)
2.1 El Sistema registra el producto y
presenta la descripción del producto, descripción, subtotal
precio y subtotal
Se repite el paso 2 hasta
procesar todos los artículos y servicios
3. El cajero termina la venta
3.1 El Sistema muestra el total con el Valor (es) retornado (s)
impuesto calculado asociado(s) con el mensaje
previo

43
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar Venta

Escenario Principal de Éxito


(pago en efectivo solamente):
:Sistema
1. El Cajero inicia una nueva venta :Cajero
iniciarVenta()
2. El Cajero introduce el código
-y cantidad- del producto
introducirProducto(cod,cantidad)
2.1 El Sistema registra el producto y
presenta la descripción del producto, descripción, subtotal
precio y subtotal
Se repite el paso 2 hasta *[otros productos]
procesar todos los artículos y servicios
3. El cajero termina la venta
3.1 El Sistema muestra el total con el Caja que puede
impuesto calculado encerrar un área
de iteración
*[...] es un
marcador de 44
iteración
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar Venta

Escenario Principal de Éxito


(pago en efectivo solamente):
:Sistema
1. El Cajero inicia una nueva venta :Cajero
iniciarVenta()
2. El Cajero introduce el código
-y cantidad- del producto
introducirProducto(cod,cantidad)
2.1 El Sistema registra el producto y
presenta la descripción del producto, descripción, subtotal
precio y subtotal
Se repite el paso 2 hasta *[otros productos]
procesar todos los artículos y servicios
3. El cajero termina la venta terminarVenta()
3.1 El Sistema muestra el total con el
impuesto calculado total con impuestos

45
Fase de Elaboración: 1° iteración
Diagrama de Secuencia de Procesar pago

:Sistema
:Cajero
iniciarVenta()

Escenario Principal de Éxito introducirProducto(cod,cantidad)


(Pago en efectivo solamente):
descripción, subtotal

1. El Cajero pregunta al Cliente *[otros productos]


la forma de pago e inicia el
proceso de pago terminarVenta()

2. El sistema registra la venta total con impuestos

3. El Sistema emite la factura pagar(monto)

vuelto y factura 46
Fase de Elaboración: 1° iteración
Escenario Principal de Éxito
(pago en efectivo solamente):
Diagrama de Secuencia de Procesar Venta
1. El Cajero inicia una nueva venta
2. El Cajero introduce el código
-y cantidad- del producto
2.1 El Sistema registra el producto y
presenta la descripción del
producto, precio y subtotal
Se repite el paso 2 hasta :Sistema
procesar todos los artículos y :Cajero
servicios iniciarVenta()
3. El cajero termina la venta
3.1 El Sistema muestra el introducirProducto(cod,cantidad)
total con el impuesto calculado
descripción, subtotal
Pago
*[otros productos]
1. El Cajero pregunta al Cliente
la forma de pago e inicia el terminarVenta()
proceso de pago
total con impuestos
2. El sistema registra la venta
pagar(monto)
3. El Sistema emite la factura
vuelto y factura 47
Fase de Elaboración: 1° iteración
Diagramas de Secuencia de Procesar Venta

Límite del Sistema


Sistema como
“caja negra”
Actor
:Sistema
externo al :Cajero
sistema iniciarVenta()

Caja que puede introducirProducto(cod,cantidad)


encerrar un área
de iteración descripción, subtotal
*[...] es un *[otros productos]
marcador de
iteración terminarVenta()

total con impuestos Un mensaje


Valor (es)
con parámetros
retornado (s) pagar(monto)
asociado(s) con el
mensaje previo vuelto y factura 48
Nominando las operaciones y eventos del
sistema

• El conjunto de las operaciones requeridas se


determina identificando los eventos del sistema.

– iniciarVenta()
– introducirProducto(cod, cantidad)
– terminarVenta()
– pagar(monto) Systema

iniciarVenta()
IntroducirProducto(cod,cantidad)
terminarVenta()
pago(monto) 49
Vistas y Diagramas
Área Dinámica

Use Case
Un Diagrama de Colaboración
Use Case
Diagrams
Diagrama
Diagrams de
describe la interación
Estados entre los objetos,
Vista de Máquina de Estados numerando
la secuencia de mensajes
Scenario
Scenario
Diagrams Vista
Diagrama
Diagrams de de Actividad
Actividad
Diagramas
Vista de Interacción
Scenario
Scenario
Diagrams
Diagrama
Diagrams de
Secuencia Diagrama de
Colaboración
50
La notación UML
Diagramas de interacción

Actor: ob1:C1 ob2 ob3 :C1

evento
op

3. op(parámetros)
1. evento 2. op op(parámetros
)
ob1:C1 ob2
op(parámetros)
Actor: 4.
op(parámetro) op(parámetros)

5. op(parámetros)
ob3 :C1

Diagrama de
Secuencia

Diagrama de
51
Colaboración

También podría gustarte