Motor
VueIo
PiIoto
Compaa
area
Reserva
Los diagramas de clases proporcionan
una perspectiva esttica del sistema
(representan su diseo estructural).
Notacin
Atributos
[visibilidad] nombre [multiplicidad] [: tipo [= valor_por_defecto]]
Operaciones
[visibilidad] nombre ([[in|out] parmetro : tipo [, ]])[:tipo_devuelto]
- Los corchetes indican partes opcionales.
- Visibilidad: privada (-), protegida (#) o pblica (+)
- Multiplicidad entre corchetes (p.ej. [2], [0..2], [*], [3..*])
- Parmetros de entrada (in) o de salida (out).
OOP Introduccin: Java - 41 - Fernando Berzal
Diagramas de objetos
Muestran un conjunto de objetos y sus relaciones
(una situacin concreta en un momento determinado).
Los diagramas de objetos representan instantneas de instancias
de los elementos que aparecen en los diagramas de clases
Un diagrama de objetos expresa la parte esttica de una interaccin.
Para ver los aspectos dinmicos de la interaccin
se utilizan los diagramas de interaccin
(diagramas de secuencia y diagramas de comunicacin/colaboracin)
NOTA:
Los identificadores subrayados indican que se trata de objetos.
OOP Introduccin: Java - 42 - Fernando Berzal
Diagramas de interaccin
Muestran una interaccin concreta: un conjunto de objetos y sus
relaciones, junto con los mensajes que se envan entre ellos.
Diagramas de secuencia
Resaltan la ordenacin temporal de los mensajes que se intercambian.
Diagramas de comunicacin (UML 2.0)
= Diagramas de colaboracin (UML 1.x)
Resaltan la organizacin estructural
de los objetosque intercambian mensajes.
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
1: prestar(video, socio)
2: verificar situacin socio
3: verificar situacin video
4: registrar prstamo
5: entregar recibo
: Encargado
: WInPrstamos :Socio :Video : Prstamo
prestar(video, socio)
verificar situacin socio
verificar situacin video
regi strar prstamo
entregar recibo
OOP Introduccin: Java - 43 - Fernando Berzal
Los diagramas de secuencia y de comunicacin son isomorfos:
- Un diagrama de secuencia se puede transformar mecnicamente
en un diagrama de comunicacin.
- Un diagrama de comunicacin se puede transformar
automticamente en un diagrama de secuencia.
Diagramas de secuencia
Muestran la secuencia de mensajes entre objetos durante un escenario
concreto (paso de mensajes).
- En la parte superior aparecen los objetos que intervienen.
- La dimensin temporal se indica verticalmente
(el tiempo transcurre hacia abajo).
- Las lneas verticales indican el perodo de vida de cada objeto.
- El paso de mensajes se indica con flechas horizontales u oblicuas
(cando existe demora entre el envo y la atencin del mensaje).
- La realizacin de una accin se indica con rectngulos sobre las
lneas de actividad del objeto que realiza la accin.
Diagramas de comunicacin/colaboracin
La distribucin de los objetos en el diagrama permite observar
adecuadamente la interaccin de un objeto con respecto de los dems
- La perspectiva esttica del sistema viene dada por las relaciones
existentes entre los objetos (igual que en un diagrama de objetos).
- La vista dinmica de la interaccin viene indicada por el envo de
mensajes a travs de los enlaces existentes entre los objetos.
NOTA: Los mensajes se numeran para ilustrar
el orden en que se emiten.
OOP Introduccin: Java - 44 - Fernando Berzal
Otros diagramas UML
para representar aspectos dinmicos del sistema
- Diagramas de casos de uso
(actores y casos de uso del sistema)
Los diagramas de uso se suelen utilizar en el modelado
del sistema desde el punto de vista de sus usuarios para
representar las acciones que realiza cada tipo de usuario.
- Diagramas de estados
(estados y transiciones entre estados),
Los diagramas de estados son especialmente importantes
para describir el comportamiento de un sistema reactivo
(cuyo comportamiento est dirigido por eventos).
en el paro en activo
jubilado
contratar
perder empleo
jubil arse
jubilarse
Actor
Caso de Uso
OOP Introduccin: Java - 45 - Fernando Berzal
- Diagramas de actividades
(flujo de control en el sistema)
Los diagramas de actividades muestran el orden
en el que se van realizando tareas dentro de un sistema
(el flujo de control de las actividades).
Request
service
Play
Collect
order
Take order
Deliver order
Fill order
Stockroom Sales Customer
OOP Introduccin: Java - 46 - Fernando Berzal
Diagramas UML
para representar aspectos fsicos del sistema
- Diagramas de componentes
(componentes y dependencias entre ellos)
Organizacin lgica de la implementacin de un sistema
- Diagramas de despliegue
(nodos de procesamiento y componentes)
Configuracin del sistema en tiempo de ejecucin
Terminal Punto
de Venta
<<Cliente>>
Base de
Datos
<<Servidor>>
<<TCP/IP>>
<<RDSI>>
<<LAN>>
OOP Introduccin: Java - 47 - Fernando Berzal
Referencias
Pginas web
http://www.uml.org/
Pgina oficial de UML, uno de los estndares promovidos por el OMG.
http://www.cetus-links.org/oo_uml.html
Coleccin de enlaces relacionados con UML.
http://www.agilemodeling.com/essays/umlDiagrams.htm
Informacin prctica acerca de todos los diagramas UML 2
http://www.ootips.org/
Ideas clave en programacin orientada a objetos.
Libros
Martin Fowler: UML Distilled:
A Brief Guide to the Standard Object Modeling Language
3
rd
edition. Addison-Wesley, 2004. ISBN 0321193687
Grady Booch et al.:
Object-Oriented Analysis and Design with Applications
3
rd
edition. Addison-Wesley, 2004. ISBN 020189551X
Craig Larman: Applying UML and Patterns: An Introduction to
Object-Oriented Analysis and Design and the Unified Process
2
nd
edition. Prentice-Hall, 2001. ISBN 0130925691
Robert C. Martin:
Agile Software Development: Principles, Patterns, and Practices
Prentice-Hall, 2003. ISBN 0135974445