You are on page 1of 126

1

Unidad 2. Tcnicas bsicas de modelado de objetos.


2.3 El UML como una herramienta de modelado de objetos.
Construccin de una casa para fido
Puede hacerlo una sola persona
Requiere:
Modelado mnimo
Proceso simple
Herramientas simples
2
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Construccin de una casa
Construida eficientemente y en un tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas ms sofisticadas
3
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Construccin de un rascacielos
4
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Claves en Desarrollo de SI
Herramientas Proceso
Notacin
5
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Sistema Computacional
Proceso de Negocios
Orden
Item
envo
El modelado captura las
partes esenciales del sistema

Abstraccin - Modelado Visual (MV)
6
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
MV para manejar la complejidad
7
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Interfaz de Usuario
(Visual Basic,
Java, ..)
Lgica del Negocio
(C++, Java, ..)
Servidor de BDs
(C++ & SQL, ..)
Modelar el sistema independientemente
del lenguaje de implementacin
MV para definir la Arquitectura del Software
8
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mltiples Sistemas
MV promueve la reutilizacin
Componentes
Reutilizados
9
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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:
Modelado Orientado a Objetos
Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo (Workflows)


10
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Situacin de Partida
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)

=> Necesidad de una notacin estndar
11
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Historia de 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
12
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Historia de UML
Nov 97
UML aprobado por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2002?
UML 2.0
Revisiones menores
13
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Participantes en UML 1.0
Rational Software
(Grady Booch, Jim
Rumbaugh y Ivar Jacobson)
Digital Equipment
Hewlett-Packard
i-Logix (David Harel)
IBM
ICON Computing
(Desmond DSouza)
Intellicorp and James
Martin & co. (James Odell)

MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys

14
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
UML aglutina enfoques OO
UML
Rumbaugh
Jacobson
Meyer
Harel
Wirfs-Brock
Fusion
Embly
Gamma et. al.
Shlaer-Mellor
Odell
Booch
Pre- and Post-conditions
State Charts
Responsabilities
Operation descriptions,
message numbering
Singleton classes
Frameworks, patterns,
notes
Object life cycles
15
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mtodos Formales en Modelado
Tipos de enfoques: no-formales, semi-
formales y formales

Las principales mejoras al utilizar mtodos
formales son:
Mayor rigor en la especificacin
Mejores condiciones para realizar la verificacin y
validacin en forma ms exhaustiva
Mejores condiciones para automatizacin de procesos
para la generacin automtica de prototipos y/o cdigo
final


16
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Inconvenientes en 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.
Ejemplos aislados
Monopolio de conceptos, tcnicas y mtodos entorno
a UML


17
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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:
Herramientas que proveen la notacin UML
Edicin de libros
Congresos, cursos, camisetas, etc.
18
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de UML
Use Case
Diagrams
Use Case
Diagrams
Diagramas de
Casos de Uso
Scenario
Diagrams
Scenario
Diagrams
Diagramas de
Colaboracin
State
Diagrams
State
Diagrams
Diagramas de
Componentes
Component
Diagrams
Component
Diagrams
Diagramas de
Distribucin
State
Diagrams
State
Diagrams
Diagramas de
Objetos
Scenario
Diagrams
Scenario
Diagrams
Diagramas de
Estados
Use Case
Diagrams
Use Case
Diagrams
Diagramas de
Secuencia
State
Diagrams
State
Diagrams
Diagramas de
Clases
Diagramas de
Actividad
Modelo
Un modelo es una descripcin completa de un sistema desde una perspectiva concreta
19
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Paquetes en UML
Los paquetes ofrecen un mecanismo general
para la organizacin de los modelos
agrupando elementos de modelado

Se representan grficamente como:
Nombre de
paquete
20
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Paquetes en UML
Cada paquete corresponde a un subconjunto
del modelo y contiene, segn el modelo, clases,
objetos, relaciones, componentes y diagramas
asociados

Un paquete puede contener otros paquetes, sin
lmite de anidamiento pero cada elemento
pertenece a (est definido en) slo un paquete
21
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Paquetes en UML

Una clase de un paquete puede aparecer en
otro paquete por la importacin a travs de
una relacin de dependencia entre paquetes

Todas las clases no son necesariamente
visibles desde el exterior del paquete, es
decir, un paquete encapsula a la vez que
agrupa
22
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
El Paradigma
Orientado a Objetos
23
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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


24
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Por qu la Orientacin a Objetos?

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 ...
25
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
...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
Problemas en OO
26
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Objetos
Objeto = unidad atmica que integra 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 concepto (ecuacin matemtica)
27
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Objetos
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
Un Objeto
Otro
Objeto
ms
28
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Objetos
Ejemplo de varios objetos relacionados:
Juan
Felipe
Libreta de
ahorro a
plazo
Dos clientes
del banco
Cuenta
corriente
Libreta de
ahorro
Cuenta
corriente
29
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Objetos
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
...
30
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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
31
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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)
32
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Estado
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
33
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Comportamiento
Ejemplo de interaccin:
Otro objeto
Un objeto
Un mensaje
Operacion 1
Operacion 2
34
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Comportamiento
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
35
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Persistencia
La persistencia de los objetos designa la capacidad
de un objeto trascender en el espacio/tiempo

Un objeto persistente conserva su estado en un
sistema de almacenamiento permanente
(usualmente memoria secundaria)

Podremos despus reconstruirlo, es decir, cogerlo de
memoria secundaria para utilizarlo en la ejecucin
(materializacin del objeto)

Los lenguajes OO no proponen soporte adecuado
para la persistencia, pues sta debera ser
transparente, un objeto existe desde su creacin
hasta que se destruya
36
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Comunicacin
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
37
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Comunicacin
Categoras de objetos:
Activos Pasivos
Clientes Servidores

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
38
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
El Concepto de Mensaje
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.

Una operacin es la especificacin y la
implementacin de una funcin efectuada por un
objeto.



39
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
El Concepto de Operacin
Las operaciones menipulan los atributos del
objeto.

Pueden tener parmetros de entrada y/o
salida.

Un mensaje de un objeto a otro involucra la
ejecucin de una operacin.


40
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
El Concepto de Operacin
El nombre del mensaje es el de la operacin.

Los parmetros del mensaje son los
parmetros de la operacin.


41
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso
42
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso
Los Casos de Uso (Ivar Jacobson) describen bajo la
forma de acciones y reacciones el comportamiento
de un sistema desde el p.d.v. del usuario

Permiten definir los lmites del sistema y las
relaciones entre el sistema y el entorno

Los Casos de Uso son descripciones de la
funcionalidad del sistema independientes de la
implementacin

Comparacin con respecto a los Diagramas de Flujo
de Datos del Enfoque Estructurado
43
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso

Los Casos de Uso 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

44
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo de Casos de Uso
Caso de Uso: Comprar productos
Actores: Cliente, Cajero
Tipo: Primario
Descripcin: Un cliente llega a la caja
registradora con los artculos que
comprar. El cajero registra los artculos y
cobra el importe. Al terminar la operacin
el cliente se marcha con los productos.
comprar productos
45
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso
Ejemplo:
Sistema
Actor A
Caso de uso X
Actor B
Caso de uso Y
46
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso
Actores:
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

47
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso
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


48
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso: Relaciones
UML define cuatro tipos de relacin en los
Diagramas de Casos de Uso:

Comunicacin:
Caso de Uso
Actor
49
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso: Relaciones

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






En UML se estereotipa como <<include>>
Caso de uso origen
Caso de uso destino
<<include>>
50
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso: Relaciones

Extensin : el Caso de Uso origen extiende el
comportamiento del Caso de Uso destino
Caso de uso origen
Caso de uso destino
<<extend>>
51
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso: Relaciones

Herencia : el Caso de Uso origen hereda la
especificacin del Caso de Uso destino y
posiblemente la modifica y/o ampla
Caso de uso origen
Caso de uso destino
52
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso: Relaciones
Ejemplo:
Identificacin
Giro por Internet
Cliente
Giro
<<extends>>
<<includes>>
<<extend>>
<<include>>
Transferencia por Internet
Transferencia
53
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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:
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?
54
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Casos de Uso: Construccin
La descripcin del Caso de Uso comprende:
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?

55
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
RF- <id del requisito> <nombre del requisito funcional>
Versin <numero de versin y fecha>
Autores <autor>
Fuentes <fuente de la versin actual>
Objetivos asociados <nombre del objetivo>
Descripcin 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 <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
Secuencia
Normal
n
Postcondicin <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
Excepciones
3
Rendimiento Paso Cota de tiempo
1 n segundos
2 n segundos
Frecuencia esperada <n de veces> veces / <unidad de tiempo>
Importancia {sin importancia, importante, vital}
Urgencia {puede esperar, hay presin, inmediatamente}
Comentarios <comentarios adicionales>

56
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Modelado de Interacciones
57
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Interaccin
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: los Diagramas de Colaboracin y
los Diagramas de Secuencia.
58
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de interaccin
Los Diagramas de Secuencia son ms adecuados
estn para observar la perspectiva cronolgica de
las interacciones

Los Diagramas de Colaboracin ofrecen una mejor
visin espacial mostrando los enlaces de
comunicacin entre objetos

Normalmente el D. de Colaboracin se obtiene a
partir del correspondiente D. de Secuencia
59
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Secuencia
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.
60
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Secuencia
Un ejemplo:
C B
A
m1
m2
m3
m4
m5
61
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Secuencia
Ejemplo
Quien llama Lnea telefnica Llamado
descuelga
tono
marcar
indicacin de llamada
timbre
descuelga
diga?
Las bandas
rectangulares
representan los
periodos de
actividad de los
objetos
62
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Estructuras de control
Podemos representar iteraciones en el envo de
mensajes, p.e., mientras se cumpla una
condicin:
While X
Loop
end Loop
63
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Estructuras de control
La iteracin puede expresarse tambin como
parte del mensaje:
*[condicin] Mensaje
64
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Estructuras de control
Las bifurcaciones condicionales pueden
representarse de esta forma:
If condicin
else
end if
65
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Colaboracin
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
66
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mensajes
Un mensaje desencadena una accin en el
objeto destinatario

Un mensaje se enva si han sido enviados los
mensajes de una lista (sincronizacin):

A
B
A.1, B.3 / 1:Mensaje
67
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mensajes
Un mensaje se enva iterada y secuencialmente
a un conjunto de instancias:

A
B
1 *[i:=1..n] : Mensaje
68
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mensajes
Un mensaje se enva iterada y
concurrentemente a un conjunto de instancias:

A
B
1 *| | [i:=1..n] : Mensaje
69
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mensajes
Un mensaje se enva de manera condicionada:

A
B
[x>y] 1: Mensaje
70
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mensajes
Un mensaje que devuelve un resultado:

A
B
1: distancia:= mover(x,y)
71
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Mensajes
Los argumentos de un mensaje pueden ser valores
obtenidos como consecuencia de las llamadas
anteriores

Los argumentos pueden ser tambin expresiones de
navegacin construidas a partir del objeto cliente

Los argumentos pueden omitirse en el diagrama

72
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Modelado Conceptual
73
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Clases
Modelado Conceptual:

Organizacin del conocimiento del dominio del problema
en un conjunto de abstracciones ordenadas de forma que
se obtiene un conocimiento ms profundo del problema
74
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Clases

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

75
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Clases: Notacin Grfica
Cada clase se representa en un rectngulo
con tres compartimientos:
nombre de la clase
atributos de la clase
operaciones de la clase
motocicleta
color
cilindrada
velocidad maxima
arrancar
acelerar
frenar
76
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Clases: Encapsulacin
La encapsulacin presenta dos ventajas
bsicas:
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

77
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Relaciones entre Clases
Los enlaces entre de objetos pueden representarse
entre las respectivas clases

Formas de relacin entre clases:

Asociacin y Agregacin (vista como un caso particular de
asociacin)
Generalizacin/Especializacin

Las relaciones de Agregacin y Generalizacin
forman jerarquas de clases
78
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Asociacin
La asociacin expresa una conexin bidireccional
entre objetos
Una asociacin es una abstraccin de la relacin
existente en los enlaces entre los objetos
Universidad
Estudiante
Univ. de Murcia:Universidad Antonio:Estudiante
Una asociacin
Un enlace
79
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo:


Asociacin
Persona Compaa
trabaja-para
nombre
s. s.
nombre
direccin
jefe
Administra
empleado
*
*
emplea-a
0.. 1
0.. 1
0.. 1
*
marido
casado-con
mujer
80
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Asociacin
Especificacin de multiplicidad (mnima...mxima)

1 Uno y slo uno
0..1 Cero o uno
M..N Desde M hasta N (enteros naturales)
* Cero o muchos
0..* Cero o muchos
1..* Uno o muchos (al menos uno)

La multiplicidad mnima >= 1 establece una
restriccin de existencia


81
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Asociacin Cualificada
Aerolnea Viajero nro_billete
*
0..1
Tablero
Ajedrez
fila
columna
1
1
Cuadro
Reduce la multiplicidad del rol opuesto al considerar el valor
del cualificador
82
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Agregacin
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

83
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplos



motor
coche
1
1
1
1
Persona
0..2
*
+Padre
0..2
+Hijos
*
84
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplos
Cuenta
Persona
1
*
or
Asociacin excluyente
Empresa
*
*
Usuario Estacin
est-autorizado-en
prioridad
privilegios
camb_privil
Autorizacin
*
*
Clase de asociacin
Polgono
Punto
contiene
3.. * 1
{ordenado}
Agregacin
85
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Jerarquas de
Generalizacin/Especializacin
Permiten gestionar la complejidad mediante un
ordenamiento taxonmico
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
86
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Nombres usados: clase padre - clase hija,
superclase - subclase, clase base - clase
derivada
Las subclases heredan caractersticas de sus
superclases, es decir, atributos y operaciones
(y asociaciones) de la superclase estn
disponibles en sus subclases
... Jerarquas de
Generalizacin/Especializacin
87
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.



Abstracciones ms generales.
vehiculo
vehiculo terrestre vehiculo areo
camion coche avion helicoptero
... Jerarquas de
Generalizacin/Especializacin
88
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
... Jerarquas de
Generalizacin/Especializacin
La especializacin es una tcnica muy eficaz para la
extensin y reutilizacin







Caracterizacin de la generalizacin en UML:
disjunta - no disjunta
total (completa) - parcial (incompleta)
coche
funcionando estropeado
89
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Un ejemplo combinado:
vehiculo
vehiculo terrestre
camion
coche
funcionando estropeado
vehiculo areo
avion helicoptero
comercial
militar
de menos de 1000kms
de ms de 1000 kms
esttica
esttica
esttica
dinmica
dinmica
... Jerarquas de Generalizacin/Especializacin
90
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Herencia Mltiple
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

91
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Polimorfismo
El trmino polimorfismo se refiere a que una
caracterstica de una clase puede tomar varias
formas

El polimorfismo representa 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
92
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Polimorfismo
Dormir()
{
en un rbol
}
Dormir()
{
sobrela espalda
}
Dormir()
{
sobre el vientre
}
Zoo Animal
Len Tigre Oso
1
*
Dormir()
{
}
93
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Polimorfismo
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
94
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Estados
95
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas 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 resto de objetos se puede considerar que
tienen un nico estado
El formalismo utilizado proviene de los
Statecharts (Harel)
96
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Estados
Cada objeto est en un estado en cierto instante
El estado est caracterizado parcialmente por los
valores 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
97
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Estados
Los D. de Estados son autmatas jerrquicos que
permiten expresar concurrencia, sincronizacin y
jerarquas de objetos
Los Diagramas 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

98
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo de un Diagrama de Estados para la
clase persona:

en el paro en activo
jubilado
contratar
perder empleo
jubilarse
jubilarse
Diagramas de Estados
99
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Las guardas permiten condicionar la
transicin:

a b
Evento[ condicin ]
Diagramas de Estados
100
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Acciones
Podemos especificar la ejecucin de una
accin como consecuencia de la transicin:

a b
Evento[ condicin ] / accin
Dicha accin tambin se
considera instantnea
101
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Podemos especificar el envo de un evento a
otro objeto como consecuencia de la
transicin:

a
b
Evento( arg1, arg2 )[ condicin ] / ^otro_objeto.evento(arg2)
Acciones
102
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Se puede especificar el hacer una accin
como consecuencia de entrar, salir o estar
en un estado:

estado A
entry: accin por entrar
exit: accin por salir
do: accin mientras en estado
Acciones
103
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Se puede especificar el hacer una accin
cuando ocurre en dicho estado un evento
que no conlleva salir del estado:

estado A
on evento_activador( arg1 )[ condicin ]: accin por evento
.. Acciones
104
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Actividades
Las actividades son similares a las acciones
pero tienen duracin y se ejecutan dentro de
un estado del objeto

Las actividades pueden interrumpirse en
todo momento, cuando se desencadena la
operacin de salida del estado
105
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Cuando una actividad finaliza se produce una
transicin automtica de salida del estado

a
do: actividad
b
[ not condicin ]
b
[ condicin ]
Actividades
106
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Generalizacin de Estados
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
107
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Generalizacin de Estados
Ejemplo:
a b
c
e1
e2
e2
108
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Quedara como:
c
a b a b
e1
e2
Generalizacin de Estados
109
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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:
c
a b a b
e1
e2
e1
e0
Generalizacin de Estados
110
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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
Generalizacin de Estados
111
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo:
e1
e1
Generalizacin de Estados
112
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Destruccin del Objeto
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
113
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Destruccin de Objeto
Ejemplo:
En tierra
Crear(matricula)
En vuelo
aterrizar
despegar
crash
114
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Transiciones temporizadas
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
115
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo:
a
esperar dinero
entry: Mostrar mensaje
do: Esperar 30 segundos
exit: cerrar ranura
b
anular transaccin
/ Abrir ranura
Depsito efectuado
Si en 30 segundos no se
introduce el dinero se
termina la actividad
pasando a anular la
transaccin. En
cualquier caso se cierra
la ranura.
Transiciones temporizadas
116
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo v.2:
Transiciones temporizadas
a
esperar dinero
entry: Mostrar mensaje
exit: cerrar ranura
b
anular transaccin
/ Abrir ranura
Depsito efectuado
Temporizador
(30 segundos)
117
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Modelado de Componentes
118
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
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
119
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
...Diagramas de Componentes
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.
Cada clase del modelo lgico se realiza en
dos componentes: la especificacin y el
cuerpo
120
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
La representacin grfica es la siguiente:
Genrico Cuerpo Especificacin
Package
specification
Package
body
Generic
package
Diagramas de Componentes
121
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Dependencias entre Componentes
Las relaciones de dependencia se utilizan en
los diagramas de componentes para indicar
que un componente utiliza los servicios
ofrecidos por otro componente
122
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Subsistemas
Los distintos componentes pueden agruparse en
paquetes segn un criterio lgico y con vistas a
simplificar la implementacin
Son paquetes estereotipados en <<subsistemas>>
NewPackage4
<<subsistema>>
123
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Modelado de Distribucin
124
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Diagramas de Distribucin
Los Diagramas de Distribucin muestran la
disposicin fsica de los distintos nodos que
componen un sistema y el reparto de los
componentes sobre dichos nodos
Nodo
125
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Los estereotipos permiten precisar la
naturaleza del equipo:
Dispositivos
Procesadores
Memoria

Los nodos se interconectan mediante
soportes bidireccionales (en principio) que
pueden a su vez estereotiparse
Diagramas de Distribucin
126
Unidad 2. Tcnicas bsicas de modelado de objetos.
2.3 El UML como una herramienta de modelado de objetos.
Ejemplo de conexin entre nodos:
Nodo
<<Procesador>
nodo2
<<dispositivo>>
dispositiv
o
conexin7
conexin1
<<<<TCP/IP>>>>
<<RDSI>>
En Rational Rose podemos
distinguir entre el dispositivo por
estereotipado y el dispositivo con
su propio smbolo
Diagramas de Distribucin

You might also like