Sie sind auf Seite 1von 185

Ingeniera de Software

Clase 6
UML

UNPSJB - 2005

Ingeniera de Software - Clase 6

Contenido de la clase 6

Desarrollo de soft OO usando UML

UNPSJB - 2005

Introduccin
Modelado del soft
UML (Conceptos bsicos)
Paradigma OO
Fundamentos
Diagramas de CU
Diagramas de Interacciones
Diagramas de clase
Diagramas de estado/actividad
Diagrama de componentes
Diagrama de despliegue

Ingeniera de Software - Clase 6

Bibliografa

UML
www.dsic.upv.es/~uml

Patricio Letelier Torres UPV (politcnica de


Valencia)

UML

Gota a Gota (Fowler)


UML (Booch, Rumbaugh, Jacobson)
Instant UML (Muller)
Webs

UNPSJB - 2005

www.omg.org/uml
Ingeniera de Software - Clase 6

Modelado del software

Ejemplos

Puede hacerlo una


sola persona
Requiere:

Modelado mnimo
Proceso simple
Herramientas simples

Construida
eficientemente y en
un tiempo razonable
de un equipo

Ingeniera de Software - Clase 6

Modelado
Proceso bien
definido
Herramientas ms
sofisticadas

Construccin de un
rascacielos

Construccin de una
casa

UNPSJB - 2005

Construccin de una
cucha para un perro

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Contexto de
desarrollo

Determinar
configuracin del
proceso
Recursos necesarios

Herramientas ms
sofisticadas an.

Claves en Desarrollo de SI

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Notacin

Herramientas

UNPSJB - 2005

Ingeniera de Software - Clase 6

Proceso

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Abstraccin - Modelado Visual (MV)


El modelado captura las
partes esenciales del sistema
Orden
Item

envo

Proceso de Negocios
Sistema Computacional
UNPSJB - 2005

Ingeniera de Software - Clase 6

Qu es UML?

UML = Unified Modeling Language


Un lenguaje de propsito general para el
modelado orientado a objetos
Documento OMG Unified Modeling
Language Specification
UML combina notaciones provenientes
desde:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Modelado
Modelado
Modelado
Modelado

Orientado a Objetos
de Datos
de Componentes
de Flujos de Trabajo (Workflows)

Ingeniera de Software - Clase 6

Motivacin

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Diversos mtodos y tcnicas OO, con


muchos aspectos en comn pero
utilizando distintas notaciones
Inconvenientes para el aprendizaje,
aplicacin, construccin y uso de
herramientas, etc.
Pugna entre distintos enfoques (y
correspondientes gurs)
Establecer una notacin estndar

Ingeniera de Software - Clase 6

Historia de UML

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Comenz como el Mtodo Unificado, con


la participacin de Grady Booch y Jim
Rumbaugh. Se present en el OOPSLA95

El mismo ao se uni Ivar Jacobson. Los


Tres Amigos son socios en la compaa
Rational Software. Herramienta CASE
Rational Rose

UNPSJB - 2005

Ingeniera de Software - Clase 6

Historia de UML
www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
UML 2.0

2001

UML 1.4

2000
1999
1998
Nov 97

UNPSJB - 2005

UML 1.3
UML aprobado por el OMG

UML 1.2

Ingeniera de Software - Clase 6

Revisiones
menores

10

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
UML aglutina enfoques OO

Rumbaugh
Booch

Jacobson

Odell

Meyer
Pre- and Post-conditions

Shlaer-Mellor

UML

Object life cycles

Harel

State Charts

Gamma et. al.


Frameworks, patterns,
notes

Embly
Singleton classes

Wirfs-Brock
Fusion

Responsabilities

Operation descriptions,
message numbering
UNPSJB - 2005

Ingeniera de Software - Clase 6

11

Aspectos Novedosos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Definicin semi-formal del Metamodelo de


UML
Mecanismos de Extensin en UML:

Stereotypes
Constraints
Tagged Values

Permiten adaptar los elementos de modelado,


asignndoles una semntica particular

UNPSJB - 2005

Ingeniera de Software - Clase 6

12

Inconvenientes en UML

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Definicin del proceso de desarrollo


usando UML. UML no es una metodologa
Falta integracin con respecto de otras
tcnicas tales como patrones de diseo,
interfaces de usuario, documentacin,
etc.
Monopolio de conceptos, tcnicas y
mtodos en torno a UML

Ingeniera de Software - Clase 6

13

Perspectivas de UML

UML ser el lenguaje de modelado


orientado a objetos estndar
predominante los prximos aos
Razones:

Participacin de metodlogos influyentes


Participacin de importantes empresas
Aceptacin del OMG como notacin estndar

Evidencias:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Herramientas que proveen la notacin UML


Edicin de libros
Congresos, cursos, etc.

Ingeniera de Software - Clase 6

14

Modelos y Diagramas

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un modelo captura una vista de un sistema del


mundo real. Es una abstraccin de dicho sistema,
considerando un cierto propsito. As, el modelo
describe completamente aquellos aspectos del
sistema que son relevantes al propsito del
modelo, y a un apropiado nivel de detalle.
Diagrama: una representacin grfica de una
coleccin de elementos de modelado, a menudo
dibujada como un grafo con vrtices conectados
por arcos

OMG UML 1.4 Specification

UNPSJB - 2005

Ingeniera de Software - Clase 6

15

... Modelos y Diagramas

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un proceso de desarrollo de software debe ofrecer un


conjunto de modelos que permitan expresar el
producto desde cada una de las perspectivas de inters
El cdigo fuente del sistema es el modelo ms
detallado del sistema (y adems es ejecutable). Sin
embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del


sistema, sin embargo, existen relaciones de
trazabilidad entre los diferentes modelos

Ingeniera de Software - Clase 6

16

Diagramas de UML

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Diagrama de Casos de Uso


Diagrama de Clases
Diagrama de Objetos
Diagramas de Comportamiento

Diagrama de Estados
Diagrama de Actividad

Diagramas de Interaccin

Diagrama de Secuencia
Diagrama de Colaboracin

Diagramas de implementacin

UNPSJB - 2005

Diagrama de Componentes
Diagrama de Despliegue

Ingeniera de Software - Clase 6

17

... Diagramas de UML

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los diagramas expresan grficamente partes de un modelo


Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Secuencia

Use Case
Use Case
Diagramas de
Diagrams
Diagrams
Casos de Uso

Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Colaboracin
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
UNPSJB - 2005

State
State
Diagramas de
Diagrams
Diagrams
Clases

State
State
Diagramas de
Diagrams
Diagrams
Componentes

Modelo

Diagramas de
Actividad

State
State
Diagramas de
Diagrams
Diagrams
Objetos

Component
Component
Diagrams
Diagramas
Diagrams de

Distribucin

Ingeniera de Software - Clase 6

18

Organizacin de Modelos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

4+1 vistas de Kruchten (1995)

Vista Lgica

Vista de
Realizacin

Vista de los
Casos de Uso
Vista de
Procesos

Vista de
Distribucin

Este enfoque sigue el browser de Rational Rose

UNPSJB - 2005

Ingeniera de Software - Clase 6

19

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
... Organizacin de Modelos

Propuesta de Rational Unified Process (RUP)

UNPSJB - 2005

M. de Casos de Uso del Negocio (Business Use-Case


Model)
M. de Objetos del Negocio (Business Object Model)
M. de Casos de Uso (Use-Case Model)
M. de Anlisis (Analysis Model)
M. de Diseo (Design Model)
M. de Despliegue (Deployment Model)
M. de Datos (Data Model)
M. de Implementacin (Implementation Model)
M. de Pruebas (Test Model)

Ingeniera de Software - Clase 6

20

Paquetes en UML

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los paquetes ofrecen un mecanismo


general para la organizacin de los
modelos/subsistemas agrupando
elementos de modelado
Se representan grficamente como:

Nombre de
paquete

UNPSJB - 2005

Ingeniera de Software - Clase 6

21

Paquetes en UML

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Cada paquete corresponde a un submodelo


(subsistema) del modelo (sistema)
Un paquete puede contener otros paquetes,
sin lmite de anidamiento pero cada
elemento pertenece a (est definido en)
slo un paquete
Una clase de un paquete puede aparecer en
otro paquete por la importacin a travs de
una relacin de dependencia entre
paquetes

Ingeniera de Software - Clase 6

22

Paquetes en UML

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Todas las clases no son


necesariamente visibles
desde el exterior del
paquete, es decir, un
paquete encapsula a la
vez que agrupa
El operador ::
permite designar una
clase definida en un
contexto distinto del
actual
Ingeniera de Software - Clase 6

23

Paquetes en UML

UNPSJB - 2005

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

24

Diagrama de Casos de Uso

UNPSJB - 2005

Casos de Uso es una


tcnica para capturar
informacin de cmo
un sistema o negocio Supervisor
trabaja, o de cmo se
desea que trabaje
No pertenece
estrictamente al
enfoque orientado a Administrativo
objeto, es una tcnica
para captura de
requisitos

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Verificar Situacin del Cliente

Preparar Catlogo

Sistema
Inventario

Tipos de Venta

25

Ejemplos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

En el paquete tipos de venta:

Otro Ejemplo

Venta Normal

Cliente

Solicitar Prstamo

[Tarjeta Caducada]

Vendedor

Venta en Rebajas

Venta en Ofertas

UNPSJB - 2005

Ingeniera de Software - Clase 6

<<extend>>

Solicitar Nueva Tarjeta

26

Ejemplos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Reintegro Cuenta Corriente

<<include>>

Verificar Operacin

Cliente

<<include>>

Reintegro Cuenta de Crdito

UNPSJB - 2005

Ingeniera de Software - Clase 6

27

Diagrama de Secuencia

:WInPrstamos

: Encargado

:Socio

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

:Video

:Prstamo

prestar(video, socio)
verificar situacin socio
verificar situacin video
registrar prstamo
entregar recibo

UNPSJB - 2005

Ingeniera de Software - Clase 6

28

Diagrama de Colaboracin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

:Socio

:Video
2: verificar situacin socio

1: prestar(video, socio)

3: verificar situacin video


:WInPrstamos

5: entregar recibo
: Encargado

4: registrar prstamo

:Prstamo
UNPSJB - 2005

Ingeniera de Software - Clase 6

29

Diagrama de Clases

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

El Diagrama de Clases es el diagrama principal


para el anlisis y diseo
Un diagrama de clases presenta las clases del
sistema con sus relaciones estructurales y de
herencia
La definicin de clase incluye definiciones para
atributos y operaciones
El modelo de casos de uso aporta informacin
para establecer las clases, objetos, atributos y
operaciones

Ingeniera de Software - Clase 6

30

Ejemplos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Asociacin
Asociacin

(Clase
(Clase yy Visibilidad)
Visibilidad)
Alumno

Departamento

DNI : char[10]
nmero_exp : int
nombre : char[50]

dirige
0..1

director

Profesor
1

alta()
poner_nota(asignatura : char *, ao : int, nota : float)
matricular(cursos : asignatura, ao : int)
listar_expediente()

UNPSJB - 2005

Ingeniera de Software - Clase 6

31

Ejemplos (Clase Asociacin)


www.dsic.upv.es/~uml

www.dsic.upv.es/~uml

Empresa

empleador

trabajadores

Empleado

1..*

Cargo
nombre
sueldo

superior
0..1

subordinado 1..*

UNPSJB - 2005

Ingeniera de Software - Clase 6

32

Ejemplos (Generalizacin) www.dsic.upv.es/~uml

www.dsic.upv.es/~uml

Trabajador

{ disjunta, completa }

Directivo

UNPSJB - 2005

Administrativo

Ingeniera de Software - Clase 6

Obrero

33

Ejemplos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Motor
1..4

1
Avin

Vendedor de billetes

Piloto

1..2

Vuelo

Reserva

{ disjunta, completa }

1
Avin militar

Avin comercial

Lnea area

{ disjunta, completa }

Avin de carga

UNPSJB - 2005

Avin de pasajeros

Ingeniera de Software - Clase 6

34

Diagrama de Estados
alta

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

baja
nmero_prstamos = 0

sin prstamos
Socio
nmero : int
nombre : char[50]
nmero_prestamos : int = 0

prestar

devolver[ nmero_prstamos = 1 ]

alta()
baja()
prestar(cdigo_libro : int, fecha : date)
devolver(cdigo_libro : int, fecha : date)

nmero_prstamos > 0
con prstamos
prestar

devolver[ nmero_prstamos > 1 ]


UNPSJB - 2005

Ingeniera de Software - Clase 6

35

Diagrama de Actividad
Buscar Bebida

[no zumo]

[no hay caf]

[hay caf
Poner caf en filtro

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

[hay zumo]

Aadir agua al depsito Agarrar taza


Agarrar zumo

Poner filtro en mquina

Encender mquina
/ cafetera.On
Caf en preparacin
indicador de fin
Servir caf
UNPSJB - 2005

Ingeniera de Software - Clase 6

Beber
36

Otro Ejemplo (con swim lines)


Pasajero

Solicitar pasaje

Vendedor

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Airline

Verificar
existencia vuelo
Dar detalles vuelo
Informar alternativas
y precios

Seleccionar vuelo

Solicitar pago Reservar plazas


Confirmar
plaza reservada

Pagar pasaje
Emitir billete
UNPSJB - 2005

Ingeniera de Software - Clase 6

37

Diagrama Componentes

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Control y Anlisis
Interfaz de Terminal

Comment

Comment

Gestin de Cuentas
Comment

UNPSJB - 2005

Rutinas de Coneccion
Comment

Ingeniera de Software - Clase 6

Acceso a BD
Comment

38

Diagrama de Despliegue
Servidor Central

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Control y Anlisis
Comment

Acceso a BD
Comment
Rutinas de Coneccion
Comment

Terminal de Consulta
Rutinas de Coneccion
Comment
Punto de Venta

Interfaz de Terminal
Comment

Rutinas de Coneccion
Comment

Gestin de Cuentas

Interfaz de Terminal

Comment

Comment

UNPSJB - 2005

Ingeniera de Software - Clase 6

39

Resumen

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

UML define una notacin que se expresa como


diagramas sirven para representar
modelos/subsistemas o partes de ellos
El 80 por ciento de la mayora de los problemas
pueden modelarse usando alrededor del 20 por
ciento de UML-- Grady Booch

Ingeniera de Software - Clase 6

40

UML
Paradigma OO
Diagramas

UNPSJB - 2005

Ingeniera de Software - Clase 6

41

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Por qu la Orientacin a Objetos?

Proximidad de los conceptos


de modelado respecto de las
entidades del mundo real

Mejora captura y validacin


de requisitos
Acerca el espacio del
problema y el espacio de la
solucin

Modelado integrado de
propiedades estticas y
dinmicas del mbito del
problema

Facilita construccin,
mantenimiento y reutilizacin

UNPSJB - 2005

Conceptos comunes
de modelado durante
el anlisis, diseo e
implementacin

Facilita la transicin
entre distintas fases
Favorece el desarrollo
iterativo del sistema
Disipa la barrera
entre el qu y el
cmo

Sin embargo, existen


problemas ...

Ingeniera de Software - Clase 6

42

Problemas en OO

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

...Los conceptos bsicos de la OO se


conocen desde hace dos dcadas, pero su
aceptacin todava no est tan extendida
como los beneficios que esta tecnologa
puede sugerir
...La mayora de los usuarios de la OO no
utilizan los conceptos de la OO de forma
purista, como inicialmente se pretenda.
Esta prctica ha sido promovida por
muchas herramientas y lenguajes que
intentan utilizar los conceptos en diversos
grados
--Wolfgang Strigel
UNPSJB - 2005

Ingeniera de Software - Clase 6

43

Problemas en OO

Un objeto contiene datos y operaciones que operan


sobre los datos, pero ...
Podemos distinguir dos tipos de objetos
degenerados:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un objeto sin datos (que sera lo mismo que una


biblioteca de funciones)
Un objeto sin operaciones, con slo operaciones del
tipo crear, recuperar, actualizar y borrar (que se
correspondera con las estructuras de datos
tradicionales)

Un sistema construido con objetos degenerados no


es un sistema verdaderamente orientado a objetos
Las aplicaciones de gestin estn constituidas
mayoritariamente por objetos degenerados

Ingeniera de Software - Clase 6

44

Reflexiones respecto de Situacin Actual de


Desarrollo de SI
Anlisis
Enfoque
Estructurado

DFDs
E-R

Diagramas de Casos de Uso


Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboracin d

Enfoque OO

UNPSJB - 2005

Diseo
DEs
Modelo
Relacional
Modelo
Relacional !!

Diagrama de Clases
Diagrama de Estados
Diagramas de Actividad
Ingeniera de Software - Clase 6

Implementacin
Entornos de
Programacin
Visual

Bases de Datos
(Objeto-)
Relacionales

45

Diagramas de Casos de Uso

UNPSJB - 2005

Ingeniera de Software - Clase 6

46

Casos de Uso

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Comparacin con respecto a los


Los Casos de Uso (Ivar
Diagramas de Flujo de Datos del
Jacobson) describen bajo la
Enfoque Estructurado
forma de acciones y
Un caso de uso es una funcin
reacciones el
atmica ofrecida por el sistema al
comportamiento de un
entorno (actores)
sistema desde el p.d.v. del
DFD puede ser detallada en un
usuario
DFD Hijo
Permiten definir los lmites
Caso Uso y Proceso igual
del sistema y las relaciones
modelado, pero caso de uso
expresa funcionalidad mediante
entre el sistema y el entorno
interaccin de actores
Los Casos de Uso son
Caso de uno no modela detalle
descripciones de la
funcional interno
funcionalidad del sistema
Relaciones de extensin y
independientes de la
generalizacin de CU no tienen
implementacin
igual en DFD

UNPSJB - 2005

Ingeniera de Software - Clase 6

47

Casos de Uso

UNPSJB - 2005

Los Casos de Uso cubren


la carencia existente en
mtodos previos (OMT,
Booch) en cuanto a la
determinacin de
requisitos
Los Casos de Uso
Actor A
particionan el conjunto de
necesidades atendiendo a
la categora de usuarios
que participan en el mismo
Estn basado en el
lenguaje natural, es decir,
es accesible por los
usuarios

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Caso de Uso A

Caso de Uso B

Actor B

48

Casos de Uso

Actores:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Principales: personas que usan el sistema


Secundarios: personas que mantienen o administran
el sistema
Material externo: dispositivos materiales
imprescindibles que forman parte del mbito de la
aplicacin y deben ser utilizados
Otros sistemas: sistemas con los que el sistema
interacta

La misma persona fsica puede interpretar varios


papeles como actores distintos
El nombre del actor describe el papel desempeado

Ingeniera de Software - Clase 6

49

Casos de Uso

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los Casos de Uso se determinan


observando y precisando, actor por actor,
las secuencias de interaccin, los
escenarios, desde el punto de vista del
usuario
Un escenario es una instancia de un caso
de uso
Los casos de uso intervienen durante todo
el ciclo de vida. El proceso de desarrollo
estar dirigido por los casos de uso
Ingeniera de Software - Clase 6

50

www.dsic.upv.es/~uml
Casos de Uso: Relacioneswww.dsic.upv.es/~uml

UML define cuatro


tipos de relacin
en los Diagramas
de Casos de Uso:

Comunicacin

Inclusin : una
instancia del Caso de
Uso origen incluye
tambin el
comportamiento
descrito por el Caso de
Uso destino
<<include>>

Caso de Uso Origen

Actor

UNPSJB - 2005

Caso de Uso Destino

<<include>>
reemplaz al
denominado <<uses>>

Ingeniera de Software - Clase 6

51

Caso de Uso

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Casos de Uso: Relaciones

Extensin : el Caso
de Uso origen
extiende el
comportamiento
del Caso de Uso
destino

Herencia : el Caso
de Uso origen
hereda la
especificacin del
Caso de Uso
destino y
posiblemente la
modifica y/o ampla

<<extend>>

Caso de Uso Origen

Caso de Uso Destino

Caso de Uso Hijo

UNPSJB - 2005

Ingeniera de Software - Clase 6

Caso de Uso Padre

52

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Casos de Uso: Relaciones

Ejemplo:
Identificacin

<<include>>

Cliente

Transferencia

<<extend>>

Transferencia en Internet

UNPSJB - 2005

Ingeniera de Software - Clase 6

53

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Casos de Uso: Relaciones

UNPSJB - 2005

Ejemplo:

Ingeniera de Software - Clase 6

54

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Casos de Uso: Construccin

Un caso de uso debe ser simple, inteligible, claro


y conciso
Generalmente hay pocos actores asociados a cada
Caso de Uso
Preguntas clave:

UNPSJB - 2005

cules son las tareas del actor?


qu informacin crea, guarda, modifica, destruye o
lee el actor?
debe el actor notificar al sistema los cambios
externos?
debe el sistema informar al actor de los cambios
internos?
Ingeniera de Software - Clase 6

55

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Casos de Uso: Construccin

La descripcin del Caso de Uso comprende:

UNPSJB - 2005

el inicio: cundo y qu actor lo produce?


el fin: cundo se produce y qu valor devuelve?
la interaccin actor-caso de uso: qu mensajes
intercambian ambos?
objetivo del caso de uso: qu lleva a cabo o
intenta?
cronologa y origen de las interacciones
repeticiones de comportamiento: qu operaciones
son iteradas?
situaciones opcionales: qu ejecuciones
alternativas se presentan en el caso de uso?

Ingeniera de Software - Clase 6

56

RF- <id del requisito>


Versin
Autores
Fuentes
Objetivos asociados
Descripcin

Precondicin
Secuencia
Normal

Postcondicin
Excepciones

Rendimiento
Frecuencia esperada
Importancia
Urgencia
Comentarios

UNPSJB - 2005

<nombre del requisito funcional>


<numero de versin y fecha>
<autor>
<fuente de la versin actual>
<nombre del objetivo>
El sistema deber comportarse tal como se describe en
el siguiente caso de uso { concreto cuando <evento de
activacin> , abstracto durante la realizacin de los
casos de uso <lista de casos de uso>}
<precondicin del caso de uso>
Paso Accin
1
{El <actor> , El sistema} <accin realizada por el
actor o sistema>, se realiza el caso de uso
< caso de uso RF-x>
2
Si <condicin>, {el <actor> , el sistema} <accin
realizada por el actor o sistema>>, se realiza el
caso de uso < caso de uso RF-x>
3
4
5
6
n
<postcondicin del caso de uso>
Paso Accin
1
Si <condicin de excepcin>,{el <actor> , el
sistema} }<accin realizada por el actor o
sistema>>, se realiza el caso de uso
< caso de uso RF-x>, a continuacin este caso
de uso {continua, aborta}
2
3
Paso Cota de tiempo
1
n segundos
2
n segundos
<n de veces> veces / <unidad de tiempo>
{sin importancia, importante, vital}
{puede esperar, hay presin, inmediatamente}
<comentarios adicionales>

Ingeniera de Software - Clase 6

57

Modelo de Casos de Uso y


www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Modelo Conceptual (Anlisis)

UNPSJB - 2005

La especificacin de cada caso de uso y


los correspondientes D. de Interaccin
establecen el vnculo con el modelo
conceptual
En mtodos OO que carecen de una
tcnica de captura de requisitos se
comienza inmediatamente con la
construccin del modelo conceptual
(anlisis)

Ingeniera de Software - Clase 6

58

Diagramas de Interaccin

UNPSJB - 2005

Ingeniera de Software - Clase 6

59

Interaccin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los objetos interactan para realizar


colectivamente los servicios ofrecidos por
las aplicaciones. Los diagramas de
interaccin muestran cmo se comunican
los objetos en una interaccin
Existen dos tipos de diagramas de
interaccin: el Diagrama de Colaboracin
y el Diagrama de Secuencia
Mensajes:
Sintaxis para mensajes
Predecesor/fuarda secuencia:retorno := msg
(args)

UNPSJB - 2005

Ingeniera de Software - Clase 6

60

Diagramas de interaccin

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

El Diagrama de Secuencia es ms
adecuados para observar la perspectiva
cronolgica de las interacciones
El Diagrama de Colaboracin ofrece una
mejor visin espacial mostrando los
enlaces de comunicacin entre objetos
El D. de Colaboracin puede obtenerse
automticamente a partir del
correspondiente D. de Secuencia (o
viceversa)
Ingeniera de Software - Clase 6

61

Diagrama de Secuencia

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Muestra la secuencia de mensajes


entre objetos durante un escenario
concreto
Cada objeto viene dado por una
barra vertical
El tiempo transcurre de arriba abajo
Cuando existe demora entre el
envo y la atencin se puede indicar
usando una lnea oblicua
Ingeniera de Software - Clase 6

62

www.dsic.upv.es/~uml
Diagrama de Secuenciawww.dsic.upv.es/~uml

UNPSJB - 2005

Ingeniera de Software - Clase 6

63

Diagrama de Secuencia
mostrando foco de
control,
condiciones, recursin
creacin y destruccin
de objetos

UNPSJB - 2005

Ingeniera de Software - Clase 6

64

www.dsic.upv.es/~uml
Diagrama de Secuenciawww.dsic.upv.es/~uml

UNPSJB - 2005

Ingeniera de Software - Clase 6

65

www.dsic.upv.es/~uml
Diagrama de Colaboracinwww.dsic.upv.es/~uml

UNPSJB - 2005

Son tiles en la fase exploratoria para


identificar objetos
La distribucin de los objetos en el
diagrama permite observar
adecuadamente la interaccin de un
objeto con respecto de los dems
La estructura esttica viene dada por los
enlaces; la dinmica por el envo de
mensajes por los enlaces

Ingeniera de Software - Clase 6

66

Mensajes

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un mensaje
desencadena una
accin en el objeto
destinatario
Un mensaje se enva
si han sido enviados
los mensajes de una
lista (sincronizacin):

Un mensaje se
enva de manera
condicionada:
[x>y] 1: Mensaje

A
A.1, B.3 / 1:Mensaje

A
UNPSJB - 2005

Ingeniera de Software - Clase 6

67

Mensajes

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un mensaje que devuelve un


resultado:
1: distancia:= mover(x,y)
B
A

UNPSJB - 2005

Ingeniera de Software - Clase 6

68

Diagrama de Clases

UNPSJB - 2005

Ingeniera de Software - Clase 6

69

Clasificacin

El mundo real puede ser visto desde


abstracciones diferentes (subjetividad)
Mecanismos de abstraccin:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Clasificacin / Instanciacin
Composicin / Descomposicin
Agrupacin / Individualizacin
Especializacin / Generalizacin

La clasificacin es uno de los mecanismos


de abstraccin ms utilizados

Ingeniera de Software - Clase 6

70

Clases

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La clase define el
mbito de
definicin de un
conjunto de objetos
Cada objeto
pertenece a una
clase
Los objetos se
crean por
instanciacin de las
clases

Cada clase se
representa en un
rectngulo con tres
compartimientos:

Ingeniera de Software - Clase 6

nombre de la clase
atributos de la clase
operaciones de la
clase
motocicleta
color
cilindrada
velocidad maxima
arrancar
acelerar
frenar

71

Clases: Notacin Grfica

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Otros ejemplos:
lista
pila
primero
ultimo
aadir
quitar
cardinalidad

UNPSJB - 2005

apilar
desapilar
cardinalidad

Ingeniera de Software - Clase 6

72

Clases: Encapsulacin

La encapsulacin presenta dos ventajas


bsicas:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Se protegen los datos de accesos indebidos


El acoplamiento entre las clases se disminuye
Favorece la modularidad y el mantenimiento

Los atributos de una clase no deberan ser


manipulables directamente por el resto de
objetos

Ingeniera de Software - Clase 6

73

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Clases: Encapsulacin (Recordar)

Los niveles de encapsulacin estn


heredados de los niveles de C++:

UNPSJB - 2005

(-) Privado : es el ms fuerte. Esta parte es


totalmente invisible (excepto para clases
friends en terminologa C++)
(#) Los atributos/operaciones protegidos estn
visibles para las clases friends y para las clases
derivadas de la original
(+) Los atributos/operaciones pblicos son
visibles a otras clases (cuando se trata de
atributos se est transgrediendo el principio de
encapsulacin)

Ingeniera de Software - Clase 6

74

Clases: Encapsulacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo:
Reglas de visibilidad
+ Atributo pblico : int
# Atributo protegido : int
- Atributo privado : int
+ "Operacin pblica"
# "Operacin protegida"
- "Operacin privada"

UNPSJB - 2005

Ingeniera de Software - Clase 6

75

Relaciones entre Clases

Los enlaces entre de objetos pueden


representarse entre las respectivas clases
Formas de relacin entre clases:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Asociacin y Agregacin (vista como un caso


particular de asociacin)
Generalizacin/Especializacin

Las relaciones de Agregacin y


Generalizacin forman jerarquas de
clases

Ingeniera de Software - Clase 6

76

Asociacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La asociacin expresa una conexin


bidireccional entre objetos
Una asociacin es una abstraccin de la
relacin existente en los enlaces entre los
objetos

Univ. de Murcia:Universidad

Un enlace

Antonio:Estudiante

Universidad

Estudiante
Una asociacin

UNPSJB - 2005

Ingeniera de Software - Clase 6

77

Asociacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo:
marido

casado-con

Administra

UNPSJB - 2005

0.. 1
mujer
jefe
0.. 1

0.. 1

Persona *
nombre
s. s.

trabaja-para
emplea-a

* Compaa
nombre
direccin

empleado

Ingeniera de Software - Clase 6

78

Asociacin

Especificacin de multiplicidad
(mnima...mxima)

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

1
0..1
M..N
*
0..*
1..*

Uno y slo uno


Cero o uno
Desde M hasta N (enteros naturales)
Cero o muchos
Cero o muchos
Uno o muchos (al menos uno)

La multiplicidad mnima >= 1 establece


una restriccin de existencia

Ingeniera de Software - Clase 6

79

Asociacin Cualificada

Aerolnea

Tablero
Ajedrez

nro_billete

0..1

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Viajero

fila
columna

Cuadro

Reduce la multiplicidad del rol opuesto al considerar el


valor
del cualificador

UNPSJB - 2005

Ingeniera de Software - Clase 6

80

Agregacin

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La agregacin representa una relacin


parte_de entre objetos
En UML se proporciona una escasa
caracterizacin de la agregacin
Puede ser caracterizada con precisin
determinando las relaciones de
comportamiento y estructura que existen
entre el objeto agregado y cada uno de
sus objetos componentes

Ingeniera de Software - Clase 6

81

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Agregacin: Caracterizacin

Caracterizaciones relacionadas con la multiplicidad

Multiplicidad Mnima
0
flexible
> 0 estricta
Multiplicidad

Objeto
Agregado
(mna, mxa)

Multiplicidad Mnima
(mnc,
0
nulos permitidos
> 0 nulos no
Objeto
permitidos
UNPSJB - 2005

mxc)

Mxima
1
disjunto
> 1 no disjunto

Multiplicidad Mxima
1
univaluado
> 1 multivaluado

Componente
Ingeniera de Software - Clase 6

82

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
... Agregacin: Caracterizacin

En UML slo se distingue entre agregacin y


composicin (aggregate composition),
siendo esta ltima disjunta y estricta
Adems se una agregacin se podra
caracterizar segn:

Puede el objeto parte comunicarse directamente


con objetos externos al objeto agregado?

Puede cambiar La composicin del objeto


agregado?

UNPSJB - 2005

No => inclusiva
Si => no inclusiva
Si => dinmica
No => esttica

Ingeniera de Software - Clase 6

83

Ejemplos

UNPSJB - 2005

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

84

... Ejemplos

UNPSJB - 2005

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

85

Ejemplos
Agregacin

Cuenta

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
1 contiene

Polgono

3.. *

{ordenado}

Persona

or
1

Punto

Asociacin excluyente

Empresa

Usuario

est-autorizado-en

Estacin

Autorizacin
prioridad
Clase de asociacin privilegios
UNPSJB - 2005

camb_privil

Ingeniera de Software - Clase 6

86

Clases y Objetos

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Diagrama de Clases y Diagramas de


Objetos pertenecen a dos vistas
complementarias del modelo
Un Diagrama de Clases muestra la
abstraccin de una parte del dominio
Un Diagrama de Objetos representa una
situacin concreta del dominio
Las clases abstractas no son instanciadas

Ingeniera de Software - Clase 6

87

Generalizacin

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Permite gestionar la complejidad


mediante un ordenamiento taxonmico de
clases
Se obtiene usando los mecanismos de
abstraccin de Generalizacin y/o
Especializacin
La Generalizacin consiste en factorizar
las propiedades comunes de un conjunto
de clases en una clase ms general

Ingeniera de Software - Clase 6

88

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Nombres usados: clase


padre - clase hija. Otros
nombres: superclase subclase, clase base clase derivada
Las subclases heredan
propiedades de sus clases
padre, es decir, atributos
y operaciones (y
asociaciones) de la clase
padre estn disponibles
en sus clases hijas

UNPSJB - 2005

La Generalizacin y
Especializacin son
equivalentes en
cuanto al resultado: la
jerarqua y herencia
establecidas
Generalizacin y
Especializacin no son
operaciones reflexivas
ni simtricas pero s
transitivas

Ingeniera de Software - Clase 6

89

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Vehculo

Veihculo Terrestre

Coche

UNPSJB - 2005

Camin

Vehculo Areo

Avin

Ingeniera de Software - Clase 6

Helicptero

90

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La especializacin es una tcnica muy


eficaz para la extensin y reutilizacin
Coche

Funcionando
Estropeadoen UML:
Restricciones
predefinidas

UNPSJB - 2005

disjunta - no disjunta
total (completa) - parcial (incompleta)

Ingeniera de Software - Clase 6

91

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La nocin de clase est


prxima a la de conjunto
Dada una clase, podemos
ver el conjunto relativo a
las instancias que posee o
bien relativo a las
propiedades de la clase
Generalizacin y
especializacin expresan
relaciones de inclusin
entre conjuntos

UNPSJB - 2005

Particionamiento del
espacio de objetos =>
Clasificacin Esttica
Particionamiento del
espacio de estados de
los objetos =>
Clasificacin Dinmica
En ambos casos se
recomienda considerar
generalizaciones/espe
cializaciones disjuntas

Ingeniera de Software - Clase 6

92

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un ejemplo de Clasificacin
Esttica:
Vehculo Areo

{ esttica }

Avin

UNPSJB - 2005

Helicptero

Ingeniera de Software - Clase 6

93

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un ejemplo de Clasificacin
Dinmica:
Coche
{ dinmica }

Funcionando

UNPSJB - 2005

Estropeado

Ingeniera de Software - Clase 6

94

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Extensin: Posibles instancias de una


clase
Intensin: Propiedades definidas en una
clase
A

int(A) int(B)
ext(B) ext(A)
B
UNPSJB - 2005

Ingeniera de Software - Clase 6

95

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Clasificacin Esttica
C0

ext(C0) = ext(Ci)
{ static }

completa
ext(Ci) ext(Cj) =

C1

UNPSJB - 2005

Cn

disjunta

Ingeniera de Software - Clase 6

96

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Clasificacin Dinmica
C0

ext(C0) = ext(Ci)

{ dinmica }

completa

extt(Ci) extt(Cj) = disjunta en t


extt1(Ci) extt2(Cj)
posiblemente

C1

UNPSJB - 2005

Cn

Ingeniera de Software - Clase 6

no disjunta en
diferentes
instantes
97

... Generalizacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo: varias especializaciones a partir de


la misma clase padre, usando
discriminadores:
Comercial

Militar

uso
Vehculo Areo

estructura

Avin
UNPSJB - 2005

Helicptero

Ingeniera de Software - Clase 6

98

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Clasificacin Mltiple (herencia mltiple)

UNPSJB - 2005

Se presenta cuando una subclase tiene


ms de una superclase
La herencia mltiple debe manejarse con
precaucin. Algunos problemas son el
conflicto de nombre y el conflicto de
precedencia
Se recomienda un uso restringido y
disciplinado de la herencia. Java y Ada 95
simplemente no ofrecen herencia mltiple

Ingeniera de Software - Clase 6

99

Herencia Mltiple

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Uso disciplinado de la herencia mltiple:


clasificaciones disjuntas con clases padre en hojas de
jerarquas alternativas
Bpedo

Cuadrpedo

nro patas

nro patas
Herbvoro

Con Pelos
comida

cubertura
Con Plumas

cobertura

Animal
comida

cobertura

Carnvoro

Con Escamas

Conejo
UNPSJB - 2005

Ingeniera de Software - Clase 6

100

Principio de Sustitucin

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

El Principio de Sustitucin de Liskow


(1987) afirma que:
Debe ser posible utilizar cualquier
objeto instancia de una subclase en
el lugar de cualquier objeto instancia
de su superclase sin que la
semntica del programa escrito en
los trminos de la superclase se vea
afectado.
Ingeniera de Software - Clase 6

101

www.dsic.upv.es/~uml
Principio de Sustitucin www.dsic.upv.es/~uml

UNPSJB - 2005

Dado que los programadores pueden


introducir cdigo en las subclases
redefiniendo las operaciones, es posible
introducir involuntariamente
incoherencias que violen el principio de
sustitucin
El polimorfismo que veremos a
continuacin no debera implementarse
sin este principio

Ingeniera de Software - Clase 6

102

Polimorfismo

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

El trmino polimorfismo se refiere a que


una caracterstica de una clase puede
tomar varias formas
El polimorfismo representa en nuestro caso
la posibilidad de desencadenar operaciones
distintas en respuesta a un mismo mensaje
Cada subclase hereda las operaciones pero
tiene la posibilidad de modificar localmente
el comportamiento de estas operaciones

Ingeniera de Software - Clase 6

103

Polimorfismo

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo: todo animal duerme, pero


cada clase lo hace de forma distinta
Animal
dormir()

?
dormir

?
Len

UNPSJB - 2005

Oso

Tigre

Ingeniera de Software - Clase 6

104

Polimorfismo
Animal
dormir()

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Dormir()
{
}

Len

Oso

Tigre

dormir()

dormir()

dormir()

Dormir()
{
sobre el vientre
}
UNPSJB - 2005

Dormir()
{
sobrela espalda
}
Ingeniera de Software - Clase 6

Dormir()
{
en un rbol
}
105

Polimorfismo

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La bsqueda automtica del cdigo


que en cada momento se va a
ejecutar es fruto del enlace
dinmico
El cumplimiento del Principio de
Sustitucin permite obtener un
comportamiento y diseo coherente

Ingeniera de Software - Clase 6

106

Diagrama de Estados

UNPSJB - 2005

Ingeniera de Software - Clase 6

107

Diagrama de Estados

Los Diagramas de Estados


representan autmatas de
estados finitos, desde el
p.d.v. de los estados y las
transiciones
Son tiles slo para los

objetos con un
comportamiento

significativo
El formalismo utilizado
proviene de los

Statecharts (Harel)

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

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
Los D. De Estados y escenarios son
complementarios

Ingeniera de Software - Clase 6

108

Diagrama de Estados

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los D. de Estados son autmatas


jerrquicos que permiten expresar
concurrencia, sincronizacin y jerarquas
de objetos
Los D. de Estados son grafos dirigidos
Los D. De Estados de UML son
deterministas
Los estados inicial y final estn
diferenciados del resto
La transicin entre estados es instantnea
y se debe a la ocurrencia de un evento
Ingeniera de Software - Clase 6

109

Diagrama de Estados

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Estados y Transiciones
Evento [condicin] / Accin

B
Tanto el evento como la accin se
consideran instantneos

UNPSJB - 2005

Ingeniera de Software - Clase 6

110

Diagrama de Estados

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo de un Diagrama de Estados


para la clase persona:
contratar
en el paro

en activo
perder empleo

jubilarse
jubilarse
jubilado

UNPSJB - 2005

Ingeniera de Software - Clase 6

111

Acciones

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Podemos especificar la solicitud de un


servicio a otro objeto como consecuencia de
la transicin:
A

Evento [condicin] / OtroObjeto.Operacin

B
UNPSJB - 2005

Ingeniera de Software - Clase 6

112

Acciones

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Se puede especificar el ejecutar una accin


como consecuencia de entrar, salir, estar en
un estado, o por la ocurrencia de un evento
estado A
entry: accin por entrar
exit: accin por salir
do: accin mientras en estado
on evento: accin

UNPSJB - 2005

Ingeniera de Software - Clase 6

113

www.dsic.upv.es/~uml
Generalizacin de Estadoswww.dsic.upv.es/~uml

UNPSJB - 2005

Podemos reducir la complejidad de estos


diagramas usando la generalizacin 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

Ingeniera de Software - Clase 6

114

www.dsic.upv.es/~uml
Generalizacin de Estadoswww.dsic.upv.es/~uml

Ejemplo:
e1

e2
e2
C

UNPSJB - 2005

Ingeniera de Software - Clase 6

115

www.dsic.upv.es/~uml
Generalizacin de Estadoswww.dsic.upv.es/~uml

Quedara como:
Aa

e1

b
B

e2

C
UNPSJB - 2005

Ingeniera de Software - Clase 6

116

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Generalizacin de Estados

Las transiciones de entrada deben ir hacia


subestados especficos:
e1
Aa

Bb
e2

e0

C
UNPSJB - 2005

Ingeniera de Software - Clase 6

117

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Generalizacin 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

UNPSJB - 2005

Ingeniera de Software - Clase 6

C
e0

118

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Generalizacin de Estados

UNPSJB - 2005

La agregacin de estados es la
composicin de un estado a partir
de varios estados independientes
La composicin es concurrente por
lo que el objeto estar en alguno de
los estados de cada uno de los
subestados concurrentes

Ingeniera de Software - Clase 6

119

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Generalizacin de Estados

Ejemplo:

e1

e1

UNPSJB - 2005

Ingeniera de Software - Clase 6

120

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Generalizacin de Estados

Ejemplo:

UNPSJB - 2005

Ingeniera de Software - Clase 6

121

Historia

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Por defecto, los autmatas no tienen


memoria
Es posible memorizar el ltimo subestado
visitado para recuperarlo en una
transicin entrante en el superestado que
lo engloba
Tambin es posible la memorizacin para
cualquiera de los subestados anidados
(aparece un * junto a la H)

Ingeniera de Software - Clase 6

122

Historia

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo:

d2
B
in
D

out
d1
C

H*
UNPSJB - 2005

Ingeniera de Software - Clase 6

123

Historia

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo:
Enjuague

Lavado

Secado

cerrar puerta

abir puerta

Espera
UNPSJB - 2005

Ingeniera de Software - Clase 6

124

Destruccin del Objeto

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La destruccin de un objeto es
efectiva cuando el flujo de control
del autmata alcanza un estado
final no anidado
La llegada a un estado final anidado
implica la subida al superestado
asociado, no el fin del objeto

Ingeniera de Software - Clase 6

125

Destruccin de Objeto

Ejemplo:
En vuelo

despegar
Crear(matricula)

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

crash

aterrizar

En tierra

Ingeniera de Software - Clase 6

126

www.dsic.upv.es/~uml
Transiciones temporizadaswww.dsic.upv.es/~uml

UNPSJB - 2005

Las esperas son actividades que tienen


asociada cierta duracin
La actividad de espera se interrumpe
cuando el evento esperado tiene lugar
Este evento desencadena una transicin
que permite salir del estado que alberga
la actividad de espera. El flujo de control
se transmite entonces a otro estado

Ingeniera de Software - Clase 6

127

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Transiciones temporizadas

Ejemplo:

/ Abrir ranura
esperar dinero
entry: Mostrar mensaje
exit: cerrar ranura

despus de
30 segundos

anular
transaccin

Depsito efectuado

B
UNPSJB - 2005

Ingeniera de Software - Clase 6

128

Diagrama de Actividad

El Diagrama de Actividad es una


especializacin del Diagrama de Estado,
organizado respecto de las acciones y
usado para especificar:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un mtodo
Un caso de uso
Un proceso de negocio (Workflow)

Las actividades se enlazan por


transiciones automticas. Cuando una
actividad termina se desencadena el paso
a la siguiente actividad
Ingeniera de Software - Clase 6

129

Ejemplos

UNPSJB - 2005

Ingeniera de Software - Clase 6

130

... Ejemplos

UNPSJB - 2005

Ingeniera de Software - Clase 6

131

... Ejemplos

UNPSJB - 2005

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

132

Diagrama de Componentes

UNPSJB - 2005

Ingeniera de Software - Clase 6

133

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Diagrama de Componentes

Los diagramas de
componentes describen
los elementos fsicos del
sistema y sus relaciones
Muestran las opciones
de realizacin
incluyendo cdigo
fuente, binario y

ejecutable

UNPSJB - 2005

Los componentes representan


todos los tipos de elementos
software que entran en la
fabricacin de aplicaciones
informticas. Pueden ser simples
archivos, paquetes de Ada,
bibliotecas cargadas
dinmicamente, etc.
Las relaciones de dependencia se
utilizan en los diagramas de
componentes para indicar que un
componente utiliza los servicios
ofrecidos por otro componente

Ingeniera de Software - Clase 6

134

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Diagramas de Componentes

Ejemplo:

UNPSJB - 2005

Ingeniera de Software - Clase 6

135

Diagrama de Despliegue

UNPSJB - 2005

Ingeniera de Software - Clase 6

136

Diagrama de Despliegue

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los Diagramas de Despliegue


muestran la disposicin fsica de los
distintos nodos que componen un
sistema y el reparto de los
componentes sobre dichos nodos
Nodo

UNPSJB - 2005

Ingeniera de Software - Clase 6

137

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Diagrama de Despliegue

Los estereotipos permiten precisar


la naturaleza del equipo:
Dispositivos
Procesadores
Memoria

UNPSJB - 2005

Los nodos se interconectan


mediante soportes bidireccionales
que pueden a su vez estereotiparse

Ingeniera de Software - Clase 6

138

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Diagrama de Despliegue

Ejemplo de conexin entre nodos:


<<Cliente>>
Terminal Punto
de Venta

<<Servidor>>
<<TCP/IP>>

Base de
Datos

<<RDSI>>

Podemos distinguir
tipos de nodos y
connexiones por
estereotipado
UNPSJB - 2005

Control

Ingeniera de Software - Clase 6

<<RDSI>>

139

Proceso de Desarrollo de SW
basado en UML

UNPSJB - 2005

Ingeniera de Software - Clase 6

140

Qu es un Proceso de Desarrollo de SW?

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Define Quin debe hacer Qu, Cundo y


Cmo debe hacerlo
Sistema nuevo
o modificado

Requisitos nuevos
o modificados

UNPSJB - 2005

Proceso de Desarrollo
de Software
No existe un proceso
de software
universal. Las caractersticas de cada
proyecto (equipo de desarrollo, recursos,
etc.) exigen que el proceso sea
configurable

Ingeniera de Software - Clase 6

141

Historia de RUP
Rational Unified Process
1998

RationalObjectory Process
1996-1997

Objectory Process

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Pruebas funcionales
Pruebas de desempe
Gestin de requisitos
Gestin de cambios y
configuracin
Ingeniera de Negocio
Ingeniera de datos
Diseo de interfaces

UML

1987-1995

UNPSJB - 2005

Enfoque Ericsson

Ingeniera de Software - Clase 6

142

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Dos dimensiones

UNPSJB - 2005

Ingeniera de Software - Clase 6

143

Fases e Hitos (Milestones)

Inception Elaboration

Objetivos
(Vision)

Construction

Arquitectura

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Transition

Capacidad
Operacional
Inicial

Release
del Producto

tiempo

UNPSJB - 2005

Ingeniera de Software - Clase 6

144

Elementos en RUP

Workflows (Disciplinas)

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Workflows Primarios
Business Modeling (Modado del Negocio)
Requirements (Requisitos)
Analysis & Design (Anlisis y Diseo)
Implementation (Implementacin)
Test (Pruebas)
Deployment (Despliegue)
Workflows de Apoyo
Environment (Entorno)
Project Management (Gestin del Proyecto)
Configuration & Change Management (Gestin
de Configuracin y Cambios)
Ingeniera de Software - Clase 6

145

... Elementos en RUP

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Workflow, Workflow Detail , Workers, Actividades


y Artefactos. Ejemplos
Workflow: Requirements

Workflow Detail:Analyse the Proble

Workers
UNPSJB - 2005

Ingeniera de Software - Clase 6

Artefactos
Actividades

146

... Elementos en RUP

Workers

Analyst workers

Business-Process Analyst
Business Designer
Business-Model Reviewer
Requirements Reviewer
System Analyst
Use-Case Specifier
User-Interface Designer

Developer workers

Architect
Architecture Reviewer
Capsule Designer
Code Reviewer
Database Designer
Design Reviewer
Designer
Implementer
Integrator

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Testing professional
workers

Test Designer
Tester

Change Control Manager


Configuration Manager
Deployment Manager
Process Engineer
Project Manager
Project Reviewer

Any Worker
Course Developer
Graphic Artist
Stakeholder
System Administrator
Technical Writer
Tool Specialist

Manager workers

Other workers

Ingeniera de Software - Clase 6

147

... Elementos en RUP

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Workers, Actividades, Artefactos


Ejemplo:

UNPSJB - 2005

System Analyst Worker

Ingeniera de Software - Clase 6

148

... Elementos en RUP

Artefactos
Resultado parcial o
final que es producido
y usado durante el
proyecto. Son las
entradas y salidas de
las actividades
Un artefacto puede
ser un documento, un
modelo o un elemento
de modelo

Conjuntos de
Artefactos

Business Modeling Set

Requirements Set
Analysis & Design Set
Implementation Set
Test Set
Deployment Set
Project Management Set
Configuration & Change
Management Set
Environment Set

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ingeniera de Software - Clase 6

149

... Elementos en RUP

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Artefactos, Workers, Actividades

Ejemplo:Business Modeling Artifact Set

UNPSJB - 2005

Ingeniera de Software - Clase 6

150

Caractersticas Esenciales de RUP

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

UNPSJB - 2005

Proceso Dirigido por los Casos de


Uso
Proceso Iterativo e Incremental
Proceso Centrado en la Arquitectura

Ingeniera de Software - Clase 6

151

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Proceso dirigido por los Casos de
Uso

Capturar, definir y
validar los casos de
uso

Requisitos
Anlisis & Diseo
Implementacin

Casos de Uso
integran el
trabajo

Verificar que se
satisfacen los
casos de uso

Pruebas

UNPSJB - 2005

Realizar los
casos de uso

Ingeniera de Software - Clase 6

152

... Proceso dirigido por los Casos de Uso


www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

trace
Caso de Uso

trace

Realizacin de Anlisis Realizacin de Diseo

trace

trace

Pruebas
Unitarias
Pruebas Funcionales

Caso de Prueba

[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
153
UNPSJB - 2005
Ingeniera de Software - Clase 6

..Proceso dirigido por los casos de Uso

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

UNPSJB - 2005

Ingeniera de Software - Clase 6

154

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
Proceso Iterativo e Incremental

UNPSJB - 2005

El ciclo de vida iterativo se basa en la


evolucin de prototipos ejecutables que
se muestran a los usuarios y clientes
En el ciclo de vida iterativo a cada
iteracin se reproduce el ciclo de vida en
cascada a menor escala
Los objetivos de una iteracin se
establecen en funcin de la evaluacin de
las iteraciones precedentes

Ingeniera de Software - Clase 6

155

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

... Proceso Iterativo e Incremental

Las actividades se encadenan en una minicascada con un alcance limitado por los
objetivos de la iteracin
Anlisis
Diseo

n veces
UNPSJB - 2005

Codific.
Pruebas e
Integracin
Ingeniera de Software - Clase 6

156

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

... Proceso Iterativo e Incremental

Cada iteracin comprende:

Planificar la iteracin (estudio de riesgos)


Anlisis de los Casos de Uso y escenarios
Diseo de opciones arquitectnicas
Codificacin y pruebas. La integracin del nuevo
cdigo con el existente de iteraciones anteriores
se hace gradualmente durante la construccin
Evaluacin de la entrega ejecutable (evaluacin
del prototipo en funcin de las pruebas y de los
criterios definidos)
Preparacin de la entrega (documentacin e
instalacin del prototipo)

UNPSJB - 2005

Ingeniera de Software - Clase 6

157

Proceso Iterativo e Incremental

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Enfoque
Cascada

Enfoque
Iterativo e
Incremental
UNPSJB - 2005

Ingeniera de Software - Clase 6

158

... Proceso Iterativo e Incremental

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Grado de Finalizacin de Artefactos

UNPSJB - 2005

Ingeniera de Software - Clase 6

159

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Proceso
Centrado
en la
Arquitectura
Arquitectura
de un sistema
es la
organizacin o

estructura de sus partes ms relevantes


Un arquitectura ejecutable es una implementacin
parcial del sistema, construida para demostrar
algunas funciones y propiedades
RUP establece refinamientos sucesivos de una
arquitectura ejecutable, construida como un prototipo
evolutivo

Inception Elaboration

Construction

Transition

Architecture
UNPSJB - 2005

Ingeniera de Software - Clase 6

160

Fases del Ciclo de Vida

El ciclo de vida consiste en una serie de ciclos,


cada uno de los cuales produce una nueva versin
del producto
Cada ciclo est compuesto por fases y cada una
de estas fases est compuesta por un nmero de
iteraciones
Las fases son:

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Inicio o Estudio de oportunidad


Elaboracin
Construccin
Transicin

Ingeniera de Software - Clase 6

161

www.dsic.upv.es/~uml
...Fases del Ciclo de Vida www.dsic.upv.es/~uml

Inicio o Estudio de oportunidad


(inception)

Elaboracin

UNPSJB - 2005

Define el mbito y objetivos del proyecto


Se define la funcionalidad y capacidades del
producto
Tanto la funcionalidad como el dominio del
problema se estudian en profundidad
Se define una arquitectura bsica
Se planifica el proyecto considerando recursos
disponibles

Ingeniera de Software - Clase 6

162

www.dsic.upv.es/~uml
...Fases del Ciclo de Vida www.dsic.upv.es/~uml

Construccin

El producto se desarrolla a travs de iteraciones


donde cada iteracin involucra tareas de anlisis,
diseo e implementacin
Las fases de estudio y anlisis slo dieron una
arquitectura bsica que es aqu refinada de manera
incremental conforme se construye (se permiten
cambios en la estructura)
Gran parte del trabajo es programacin y pruebas
Se documenta tanto el sistema construido como el
manejo del mismo
Esta fase proporciona un producto construido junto
con la documentacin

UNPSJB - 2005

Ingeniera de Software - Clase 6

163

www.dsic.upv.es/~uml
...Fases del Ciclo de Vida www.dsic.upv.es/~uml

Transicin

UNPSJB - 2005

Se libera el producto y se entrega al usuario


para un uso real
Se incluyen tareas de marketing, empaquetado
atractivo, instalacin, configuracin,
entrenamiento, soporte, mantenimiento, etc.
Los manuales de usuario se completan y
refinan con la informacin anterior
Estas tareas se realizan tambin en iteraciones

Ingeniera de Software - Clase 6

164

Esfuerzo respecto de las Workflows


Inception

Elaboration

Construction

Transition

15%

Requisitos
Una iteracin en la
fase de elaboracin
Anlisis

10%

Diseo

15%
30%

Implementacin

15%

Pruebas
P re lim ina ry
Ite ra tion (s)
UNPSJB - 2005

ite r.
#1

ite r.
#2

ite r.
#n

ite r.
# n+ 1

ite r.
# n+2

ite r.
#m

5% mantenimiento10% gestin cambios


Ingeniera de Software - Clase 6

ite r.
#m +1
165

...Esfuerzo respecto de las Fases


Inception

Elaboration

Construction

Transition

Requisitos
Una iteracin en la
fase de elaboracin
Anlisis

Diseo

Implementacin

Pruebas
P re lim ina ry
Ite ra tion (s)

Esfuerzo:
Duracin:

UNPSJB - 2005

ite r.
#1

ite r.
#2

ite r.
#n

ite r.
# n+ 1

5%
20%
65%
Ingeniera de Software - Clase 6
10%
30%
50%

ite r.
# n+2

ite r.
#m

ite r.
#m +1

10%
10%

166

UML - ANEXO
Fundamentos del Modelado OO
Para evaluacin por parte de los
alumnos

UNPSJB - 2005

Ingeniera de Software - Clase 6

167

Objetos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Objeto = unidad atmica que encapsula estado


y comportamiento

La encapsulacin en un objeto permite una alta


cohesin y un bajo acoplamiento

Un objeto puede caracterizar una entidad fsica


(coche) o abstracta (ecuacin matemtica)

UNPSJB - 2005

Ingeniera de Software - Clase 6

168

Objetos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

El Modelado de Objetos permite


representar el ciclo de vida de los
objetos a travs de sus interacciones
En UML, un objeto se representa por
un rectngulo con un nombre
subrayado
Otro
Objeto
ms

Un Objeto

Otro
Objeto
UNPSJB - 2005

Ingeniera de Software - Clase 6

169

Objetos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo de varios objetos


relacionados:
Cuenta Corriente 101
Juan

Banco de Valencia

Felipe
Cuenta Corriente 114

UNPSJB - 2005

Ingeniera de Software - Clase 6

170

Objetos

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Objeto = Identidad + Estado +


Comportamiento
El estado est representado por los valores
de los atributos
Un atributo toma un valor en un dominio
concreto
Un coche
Azul
979 Kg
70 CV
...

UNPSJB - 2005

Ingeniera de Software - Clase 6

171

Clases y Objetos

UNPSJB - 2005

Ingeniera de Software - Clase 6

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

172

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Identidad

Oid (Object Identifier)


Cada objeto posee un oid. El oid establece la identidad
del objeto y tiene las siguientes caractersticas:
Constituye un identificador nico y global para cada
objeto dentro del sistema

Es determinado en el momento de la creacin del


objeto

Es independiente de la localizacin fsica del objeto, es


decir, provee completa independencia de localizacin

UNPSJB - 2005

Ingeniera de Software - Clase 6

173

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Identidad

Es independiente de las propiedades del


objeto, lo cual implica independencia de valor
y de estructura
No cambia durante toda la vida del objeto.
Adems, un oid no se reutiliza aunque el
objeto deje de existir
No se tiene ningn control sobre los oids y su
manipulacin resulta transparente

Sin embargo, es preciso contar con algn


medio para hacer referencia a un objeto
utilizando referencias del dominio (valores de
atributos)

UNPSJB - 2005

Ingeniera de Software - Clase 6

174

Estado

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

El estado evoluciona con el tiempo


Algunos atributos pueden ser
constantes
El comportamiento agrupa las
competencias de un objeto y describe
las acciones y reacciones de ese objeto
Las operaciones de un objeto son
consecuencia de un estmulo externo
representado como mensaje enviado
desde otro objeto
Ingeniera de Software - Clase 6

175

Comportamiento

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo de interaccin:

Ingeniera de Software - Clase 6

176

Comportamiento

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los mensajes navegan por los enlaces, a


priori en ambas direcciones

Estado y comportamiento estn


relacionados

Ejemplo: no es posible aterrizar un avin


si no est volando. Est volando como
consecuencia de haber despegado del
suelo

UNPSJB - 2005

Ingeniera de Software - Clase 6

177

Persistencia

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La persistencia de los objetos designa la capacidad


de un objeto trascender en el espacio/tiempo

Podremos despus reconstruirlo, es decir, tomarlo


de memoria secundaria para utilizarlo en la
ejecucin (materializacin del objeto)

Los lenguajes OO no proponen soporte adecuado


para la persistencia, la cual debera ser
transparente, un objeto existe desde su creacin
hasta que se destruya

UNPSJB - 2005

Ingeniera de Software - Clase 6

178

Comunicacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un sistema informtico puede verse


como un conjunto de objetos
autnomos y concurrentes que trabajan
de manera coordinada en la consecucin
de un fin especfico

El comportamiento global se basa pues


en la comunicacin entre los objetos
que la componen

UNPSJB - 2005

Ingeniera de Software - Clase 6

179

III. El Paradigma OO: Fundamentos de Modelado OO

Comunicacin

Categoras de objetos:

Activos - Pasivos
Cliente Servidores, Agentes

Objeto Activo: posee un hilo de ejecucin


(thread) propio y puede iniciar una actividad
Objeto Pasivo: no puede iniciar una actividad
pero puede enviar estmulos una vez que se le
solicita un servicio
Cliente es el objeto que solicita un servicio.
Servidor es el objeto que provee el servicio
solicitado

UNPSJB - 2005

Ingeniera de Software - Clase 6

180

Comunicacin

UNPSJB - 2005

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Los agentes renen las caractersticas


de clientes y servidores
Son la base del mecanismo de
delegacin
Introducen indireccin: un cliente
puede comunicarse con un servidor
que no conoce directamente

Ingeniera de Software - Clase 6

181

Comunicacin

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Ejemplo en el que un agente hace de


aislante:
Un agente

Sevidor 1

Servidor 2
Un cliente

UNPSJB - 2005

Ingeniera de Software - Clase 6

182

El Concepto de Mensaje

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

La unidad de comunicacin entre objetos se


llama mensaje
El mensaje es el soporte de una comunicacin
que vincula dinmicamente los objetos que
fueron separados previamente en el proceso
de descomposicin
Adquiere toda su fuerza cuando se asocia al
polimorfismo y al enlace dinmico

UNPSJB - 2005

Ingeniera de Software - Clase 6

183

www.dsic.upv.es/~uml
El Concepto de Mensajewww.dsic.upv.es/~uml

Objeto 1

: Mensaje A
Objeto 2

: Mensaje C

: Mensaje E

Objeto 3

Objeto 4

: Mensaje D
UNPSJB - 2005

Ingeniera de Software - Clase 6

184

Mensaje y Estmulo

www.dsic.upv.es/~uml
www.dsic.upv.es/~uml

Un estmulo causar la invocacin de una


operacin, la creacin o destruccin de un objeto
o la aparicin de una seal
Un mensaje es la especificacin de un estmulo
Tipos de flujo de control:
Llamada a procedimiento o flujo de control
anidado
Flujo de control plano
Retorno de una llamada a procedimiento
Otras variaciones
Esperado (balking)
Cronometrado (time-out)

UNPSJB - 2005

Ingeniera de Software - Clase 6

185

Das könnte Ihnen auch gefallen