Está en la página 1de 75

ANALISIS Y DISEÑO DE

SISTEMAS

SESION 08

UNIVERSIDAD NACIONAL DE INGENIERIA


Facultad de Ingeniería Industrial y de Sistemas
Ing. Jesús Walter Antaurco Trujillo
Wantaurco@yahoo.com
Objetivos de la clase
 Realizar una descripción del
lenguaje UML (continuación)
 Analizar con detalle el modelado del
comportamiento y el modelado de
Implementación

2
Contenidos
1. Modelado de Comportamiento
 Diagrama de interacción
 Diagrama de secuencia
 Diagrama de comunicación
 Diagrama de estados
 Diagrama de estados
 Diagrama de actividades
2. Modelado de Implementación
 Diagrama de componentes
 Diagrama de despliegue

3
1. Modelado del
Comportamiento

4
Enlaces y Asociaciones
 Un enlace es :
 una conexión semántica entre objetos.
 una instancia de una asociación.
 un camino por el cual viaja un mensaje
Persona
+empleado +patron Empresa
calcularCompensacion() 1..*
asignar() *

enlace
p:Persona :Empresa

1: asignar(desarrollo)

mensaje 5
Modelado del comportamiento

 Se describe cómo los objetos colaboran entre


sí para realizar cierta actividad.
 Se expresan mediante los diagramas de
interacción:
 Diagramas de Secuencia y Diagramas de
Comunicación.
 También se describe las máquinas de estado
que caracterizan a los objetos
 Diagramas de estado
 Diagramas de actividades
6
Diagramas de Interacción

 Describen una interacción.


 Diagramas de Secuencia:
 Destacan la ordenación temporal de los
mensajes
 Diagramas de Comunicación:
 Destacan la organización estructural de los
objetos participantes.
 Ambos tiene una equivalencia semántica
7
Objetos de un diagrama de secuencia
 Una persona externa proceso, o algo que interactúan con un
sistema, subsistema o clase.
 Instancia de una clase

 Ejecución de un procedimiento, incluyendo el tiempo que


espera para los procedimientos anidados para ejecutar
 Referencia a otro diagrama de secuencia

 Colección de mensajes asociados


 Comunicación que transmite información con la expectativa de
que la acción se derivarán
 mensaje recursivo: el remitente y receptor son el mismo objeto
 Procedimiento de llamada con mensaje de activación por def.
 Procedimiento mensaje llamada recursiva con activación def.
 Especifica el final de un procedimiento. Generalmente se asocia
con una llamada a procedimiento
 Mensaje recursivo con un tipo de retorno de flujo de control
8
Diagramas de Secuencia
Emisor Central:Central Receptor

Listo

Mensaje self
tono
Objeto
T iempo
marcar numero

Busca numero
[timbrado<30 seg]: tono sonando
timbre sonando
Foco de
control o de
activacion
telefono levantado
para tono
Linea de
vida
para timbre

Mensajes

9
Mensajes
 Especificación de una comunicación entre objetos
que transmite información, con la expectativa de
desencadenar una actividad.

 Los objetos pueden cooperar mediante el uso de


varios tipos de peticiones (enviar una señal,
invocar una operación, crear un objeto, eliminar
un objeto existente, etc.)

10
Mensajes
 El envío de una señal se utiliza para desencadenar
una reacción del receptor de forma asíncrona y sin
una respuesta.
 La invocación de una operación se aplicará una
operación a un objeto en un modo síncrono o
asíncrono, y pueden requerir una respuesta del
receptor.
 Todas estas solicitudes constituyen mensajes.
Corresponden a los estímulos en el lenguaje UML

11
Mensajes
El símbolo de mensaje es una flecha apuntando en su
dirección, y también puede mostrar la siguiente
información:
 Un número de secuencia que indica el orden en que

se intercambian los mensajes (ver "Los números de


secuencia“)
 El nombre del mensaje (o el nombre de la operación

asociada) metodo
 La condición [cond] metodo()

 El valor de retorno v:= getObjeto()

 El argumento metodo(arg)
12
Diagramas de Secuencia
: : : Pedido : LineaPedido : Item
InterfacePedido ControladorPedido
1: preparar()
2: preparar() 3: * preparar()
4: hayStock:=check()

5: [hayStock] eliminar()
6: pedir?:= necesarioPedir()

7: [pedir?] <<create>> : ItemPedido


8:

9: [hayStock] <<create>>
: ItemEntregado

Numeracion
Simple jerarquica o Iteración Condición Asignación Creación
Secuencial de objetos
13
Diagramas de Comunicación
1: preparar() 2: preparar()
: : ControladorPedido : Pedido
InterfacePedido

6: pedir?:= necesarioPedir() 3: * preparar()

4: hayStock:=check()
: Item 5: [hayStock] eliminar() :
LineaPedido

7: [pedir?] <<create>> 8: [hayStock] <<create>>

: ItemPedido
:
ItemEntregado

14
Diagrama de Secuencia
c:Cliente p:ProxyODBC

<<create>> :Transaccion

establecerAcciones
establecerValores

Línea de vida
establecerValores
tiempo
exito

<<destroy>>

Foco de
control

15
Diagrama de Comunicación

1: <<create>>
2: establecerAcciones
6: <<destroy>>
c:Cliente :Transac
cion
5: exito

3: establecerValores
4: establecerValores

p:Proxy
ODBC

16
Diagrama de Secuencia
c:Cliente a:Ayuda
Planificacion
<<create>> :AgenteBilletes

establecerItinerario(i)
calcularRuta

ruta

<<destroy>>

notificar

17
Diagrama de comunicación
3: calcularRuta

1: <<create>>
2: establecerItinerario(i)
5: <<destroy>>

c:Cliente :Agente
Billetes

4: ruta

6: notificar

a:Ayuda
Planificacion

18
Numeración secuencial
2: m2()

1: m1() 3: m3()

:A :B :C

4: m4()

:D

Confusión en el flujo de ejecución

19
Numeración jerárquica

:A :B :C :D

1. m1()
1.1. m2()

1.2. m3()

1.3. m4()

20
Numeración jerárquica
1.1. m2( )

1. m1( ) 1.2. m3( )


:A :B :C

1.3. m4( )

:D

21
Numeración jerárquica

:A :B :C :D

1. m1( )
1.1. m2( )

1.1.1. m3( )

1.2. m4( )

22
Numeración jerárquica
1.1. m2( )

1. m1( ) 1.1.1. m3( )


:A :B :C

1.2. m4( )

:D

23
Numeración jerárquica
1.1. m2()

1. m1() 1.2. m3()

:A :B :C

1.3. m4()

:D

24
Tipos de mensajes
Un mensaje de flujo de control tiene los
siguientes valores:
 Simple (indefinido)
 Llamada de operación o flujo anidado de control
 Síncrono (procedimiento de llamada)
 El emisor espera hasta recibir el resultado
 Asíncrono
 El emisor no espera a recibir el resultado
 Retorno
 Indica el retorno de una llamada
25
Síncrono

Retorno

26
Uso de los diagramas de interacción

 Modelado del aspecto dinámico.


 Modelado del flujo de control que caracteriza
el comportamiento de un sistema:
 casos de uso
 colaboraciones
 patrones
 frameworks
 operaciones

27
Caso de Uso (Escenario)

28
Caso de uso (comunicación)

: Technical : Launch :OrderManager :EvaluatedOrders o : Order : OrderLine : Product : WorkOrder


Responsible Manufacturing GUI

selectOrder()
selectOrder(cod)
o:=find(cod)

launchManufacturing()
launchManufacturing(cod)

launch manufacturing()
*generateWO()
tpl:=getTemplate()

createWO(tpl)

29
Caso de uso de negocio

viajero: Empleado encargado: Empleado contable : Empleado pagador : Empleado

solicitudPermisoViaje()

PermisoViaje()

informeGastos(unInforme)
OKgastos(unInforme)

solicitudPago(viajero)

30
Caso de uso de negocio

: Cliente : Comercial : JefeTecnico : JefeProduccion

darCursoPedido()
estudiarPedido()

* analizarFabricacionProducto()

planificarFabricacion()
informarAnalisisPedido()
acceptarPedido()

31
Diagramas de Secuencia vs.
Diagramas de Comunicación
 Equivalencia semántica
 Simples para comportamientos simples.
 Si hay mucho comportamiento condicional, usar
diferentes escenarios.
 Diagramas de secuencia muestran mejor el
orden en que se ejecutan los mensajes
 Diagramas de comunicación muestran
claramente los objetos con que interactúa un
determinado objeto.

32
DIAGRAMA DE MAQUINA DE ESTADOS

 Diagrama de Estados
 Diagrama de Actividades

33
Diagrama de Estados
 Los Diagramas de Estados representan
autómatas de estados finitos, desde el
punto de vista de los estados y las
transiciones

 Son útiles sólo para los objetos con un


comportamiento significativo

34
… Diagrama de Estados
 Cada objeto está en un estado en cierto
instante
 El estado está caracterizado parcialmente
por los valores algunos de los atributos del
objeto
 El estado en el que se encuentra un objeto
determina su comportamiento
 Cada objeto sigue el comportamiento
descrito en el D. de Estados asociado a su
clase
35
… Diagrama de Estados
 Los D. de Estados son grafos dirigidos
 Los D. De Estados de UML son deterministas
 Los estados inicial y final están diferenciados
del resto
 La transición entre estados es instantánea y
se debe a la ocurrencia de un evento

36
… Diagrama de Estados
 Estados y Transiciones
Evento [condición] / Acción

A B

Tanto el evento como la acción se


consideran instantáneos

37
… Diagrama de Estados
 Ejemplo de un Diagrama de Estados
para la clase persona:

38
Acciones
 Podemos especificar la solicitud de un servicio a
otro objeto como consecuencia de la transición:

Evento [condición] / OtroObjeto.Operación

39
Estados

Rastreando
acción entrada entry/ activarModo(enRastreo)
exit / activarModo(noRastreo)
acción salida
transición interna nuevoObjetivo/rastreador.adquirir
do / seguirObjetivo actividad
evento diferido autotest / defer

40
… Acciones
 Se puede especificar el ejecutar una
acción como consecuencia de entrar, salir,
estar en un estado, o por la ocurrencia de
un evento:
Rastreando
acción entrada entry/ activarModo(enRastreo)
exit / activarModo(noRastreo)
acción salida
transición interna nuevoObjetivo/rastreador.adquirir
do / seguirObjetivo actividad
evento diferido autotest / defer

41
Generalización de Estados
 Podemos reducir la complejidad de estos
diagramas usando la generalización de
estados
 Distinguimos así entre superestado y
subestados
 Un estado puede contener varios subestados
disjuntos
 Los subestados heredan las variables de
estado y las transiciones externas

42
Generalización de Estados
 Ejemplo:
e1
A B

e2
e2

43
Generalización de Estados

 Quedaría como:

e1
Aa b
B

e2

C
44
… Generalización de Estados

 Las transiciones de entrada deben ir


hacia subestados específicos:

e1
Aa Bb

e2

e0

C
45
… Generalización de Estados

 Es preferible tener estados iniciales de


entrada a un nivel de manera que desde
los niveles superiores no se sepa a qué
subestado se entra:
e1
Aa b
B

e2 C
e0

46
… Generalización de Estados
 La agregación de estados es la
composición de un estado a partir de
varios estados independientes
 La composición es concurrente por lo
que el objeto estará en alguno de los
estados de cada uno de los subestados
concurrentes

47
… Generalización de Estados
 Ejemplo:

48
Diagramas de Actividades
 Muestran un flujo de actividades.
 Es un caso especial de máquina de estados.
 Incluye:
 estados actividad y estados acción
 transiciones
 objetos
 Una actividad produce alguna acción que
produce algún cambio en el sistema o retorna
un valor.

49
Estados Acción y Estados Actividad
 Un estado acción no se puede descomponer,
representa una computación atómica.
 Un estado actividad no es atómico, se
compone de otros estados acción y actividad.
 Al entrar se ejecuta la acción o actividad, al
terminar el flujo de control pasa a la siguiente
acción o actividad.
 Misma notación
Procesar
Pedido

50
Transiciones
estado inicial

Planificar
Proceso

Asignar Tareas
transiciones

estado final
51
Bifurcación

52
División y Unión

Preparar conversación
división

Descomprimir

Gesticular
Mover boca Emitir audio

unión

Limpieza
53
Solicitar Producto

Procesar Pedido
Extraer Articulos

Enviar Pedido

Recibir Producto Facturar al cliente

Pagar Factura
Cerrar Pedido
54
Cliente Ventas Almacen

Solicitar Producto

Procesar Pedido
Extraer Articulos

Enviar Pedido

Recibir Producto Facturar al cliente


Calles
Pagar Factura
Cerrar Pedido
55
Cliente Ventas Almacen

Solicitar Producto

Procesar Pedido
Extraer Articulos

o: Pedido Enviar Pedido


[en progreso]

Recibir Producto Facturar al cliente o: Pedido


[completado]
b: Factura
[impagada]
Pagar Factura
Cerrar Pedido
56
: Cliente : Comercial : JefeTecnico : JefeProduccion

:Catalogo
p:Pedido
Rellenar Pedido [propuesto]

:Plantilla de
Produccion
p:Pedido
Cursar pedido
[en_evaluacion]

Analizar viabilidad

p:Pedido
[evaluado]
:Producto
Especial
Notificar rechazo [ NO ] ¿Viable ?
de pedido
[ SI ]
Fin KO
:Plantilla de
Produccion
Mucha p:Pedido
[rechazado]

información :Orden de
Trabajo
Notificar aceptacion Ordenar fabricacion
[pendiente]
de pedido

Planificar produccion
p:Pedido
[aceptado]

Fin OK

57
Cliente Comercial Jefe Tecnico Jefe Produccion

Inicio

Introducir
Pedido

Cursar Pedido Analizar Pedido


Viable

Denegar Pedido Viable


[no]
[si]

Aceptar Pedido

Ordenar
Fabricacion

Planificar
Produccion

58
Utilidad de los diagramas de
actividades
 Modelado de flujos de trabajo (workflow)
como son los procesos de negocio (business
process).
 Se puede asociar a cualquier elemento de
modelado, pero lo más normal es asociarlo a
una operación: diagrama de flujo de las
acciones.

59
2. Modelado de la
Implementación

60
Diagrama de Componentes
 Los diagramas de componentes describen los
elementos físicos del sistema y sus relaciones
 Muestran las opciones de realización,
incluyendo código fuente, binario y ejecutable
 Un componente es una parte física y

reemplazable de un sistema.
 Esta conformado por un conjunto de interfaces

y proporciona su implementación.

61
...Diagrama de Componentes
 Los componentes representan todos los tipos de
elementos software que entran en la fabricación de
aplicaciones informáticas.
 Pueden ser simples archivos, paquetes de Java,
bibliotecas cargadas dinámicamente, etc.
 Las relaciones de dependencia se utilizan en los
diagramas de componentes para indicar que un
componente utiliza los servicios ofrecidos por otro
componente
 Normalmente especificado por uno o más
clasificadores (clases, interfaces, tipo de dato,..) que
residen en el componente, y un conjunto de ellos
define su interfaz externa.
62
Propiedades de un componente
 Es una unidad de despliegue independiente.
 Puede ser conectado con otros componentes
 En una aplicación dada existirá una única copia
 Es una parte sustituible de un sistema (conforma con
una interfaz)
 Realiza una función bien definida
 Abarca más de una comunicación de clases
 Existe en el contexto de una arquitectura bien
definida.
 Presupone una infraestructura tecnológica en la que se
piensa utilizar

63
Componentes

 Ejemplo:

agenteFraudes.dll

<<EXE>>
Realiza Explorador
agenteFraudes
politicaFraudes
busquedaPatrones

64
Componentes
AsignacionAula.exe

 Ejemplo:

AsignaturaUSP

Asignacion

AulaUSP

Reserva

65
… Diagramas de Componentes
 Ejemplo:

66
Modelado de ejecutables

 Ejemplo:

v.exe

Vwbas20.dll vwdev20.dll
vwsrc20.dll

67
Diagrama de Despliegue

NODOS
 Un nodo es un elemento físico que existe en

tiempo de ejecución y representa un recurso


computacional que puede tener memoria y
capacidad de procesamiento.
 Los componentes se ejecutan en nodos

 Los nodos representan el despliegue físico de

los componentes.

68
.....Diagrama de despliegue
 Los Diagramas de despliegue muestran la
disposición física de los distintos nodos que
componen un sistema y el reparto de los
componentes sobre dichos nodos

Nodo

69
… Diagrama de despliegue
 Los estereotipos permiten precisar la
naturaleza del equipo:
 Dispositivos

 Procesadores

 Memoria

 Los nodos se interconectan mediante


soportes bidireccionales que pueden a su vez
estereotiparse

70
… Diagrama de despliegue
 Ejemplo de conexión entre nodos:
<<Cliente>> <<Servidor>>
Terminal Punto <<TCP/IP>>
Base de
de Venta Datos

<<RDSI>>
<<RDSI>>
Control
Podemos distinguir tipos
de nodos y conexiones
por estereotipado
71
… Diagrama de despliegue

72
Diagrama de Despliegue

terminal

<<10-T-Ethernet>> servidor Unidad


RAID

<<RS-232>>
Consola

73
Modem

<<procesador> <<procesador>> internet


servidor cache servidor cache

<<red>> red local

<<procesador> <<procesador> <<procesador>> <<procesador>>


servidor servidor servidor servidor
principal

74
Análisis y Diseño de Sistemas

FIN Sesión 8

UNIVERSIDAD NACIONAL DE INGENIERIA


Facultad de Ingeniería Industrial y de Sistemas
Ing. Jesús Walter Antaurco Trujillo
Wantaurco@yahoo.com 75

También podría gustarte