Académique Documents
Professionnel Documents
Culture Documents
1
www.dsic.upv.es/~uml
UML = Unified Modeling
Language
Un lenguaje de propósito 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)
I. Introducción: UML
Situación de Partida
Diversos métodos y técnicas OO, con muchos
aspectos en común pero utilizando distintas
notaciones
Inconvenientes para el aprendizaje, aplicación,
construcción y uso de herramientas, etc.
Pugna entre distintos enfoques (y correspondientes
gurús)
Historia de UML
Comenzó como el “Método Unificado”, con la
participación de Grady Booch y Jim
Rumbaugh. Se presentó en el OOPSLA’95
El mismo año se unió Ivar Jacobson. Los
“Tres Amigos” son socios en la compañía
Rational Software. Herramienta CASE
Rational Rose
I. Introducción: UML
Historia de UML
2001 UML 2.0
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor UML
Object life cycles
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly Wirfs-Brock
Singleton classes Responsabilities
Fusion
Operation descriptions,
message numbering
I. Introducción: UML
Aspectos Novedosos
Definición semi-formal del Metamodelo de UML
Inconvenientes en UML
Definición del proceso de desarrollo usando UML.
UML no es una metodología
Falta integración con respecto de otras técnicas tales
como patrones de diseño, interfaces de usuario,
documentación, etc.
Ejemplos aislados
Perspectivas de UML
UML será el lenguaje de modelado orientado a objetos
estándar predominante los próximos años
Razones:
– Participación de metodólogos influyentes
– Participación de importantes empresas
– Aceptación del OMG como notación estándar
Evidencias:
– Herramientas que proveen la notación UML
– “Edición” de libros
– Congresos, cursos, “camisetas”, etc.
Breve Tour por UML
II. Breve Tour por UML
Modelos y Diagramas
• Un modelo captura una vista de un sistema del mundo
real. Es una abstracción de dicho sistema, considerando
un cierto propósito. Así, el modelo describe
completamente aquellos aspectos del sistema que son
relevantes al propósito del modelo, y a un apropiado
nivel de detalle.
Diagramas de UML
Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboración Modelo Componentes
Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribución
Estados Diagramas de
Actividad
II. Breve Tour por UML
Organización de Modelos
4+1 vistas de Kruchten (1995)
Vista de
Vista Lógica Realización
Vista de los
Casos de Uso
Vista de Vista de
Procesos Distribución
Paquetes en UML
Los paquetes ofrecen un mecanismo general para
la organización de los modelos/subsistemas
agrupando elementos de modelado
Nombre de
paquete
II. Breve Tour por UML
… Paquetes en UML
Cada paquete corresponde a un submodelo
(subsistema) del modelo (sistema)
… Paquetes en UML
Todas las clases no son
necesariamente visibles desde
el exterior del paquete, es decir,
un paquete encapsula a la vez
que agrupa
Práctica 1
II. Breve Tour por UML
… Paquetes en UML
Práctica 1
II. Breve Tour por UML
Ejemplos
Preparar Catálogo
Administrativo S is tema
Inventario
Ti pos de Venta
II. Breve Tour por UML
… Ejemplos
En el paquete tipos de venta:
Venta Normal
Venta en Rebajas
Vendedor
Venta en Ofertas
II. Breve Tour por UML
… Ejemplos
Solicitar Préstamo
Cliente
[Tarjeta Caducada]
<<extend> >
… Ejemplos
<<include>>
Reintegro Cuenta Corriente
<<include>>
Práctica 2
II. Breve Tour por UML
Diagrama de Secuencia
prestar(video, socio)
verificar situación socio
registrar préstamo
entregar recibo
II. Breve Tour por UML
Diagrama de Colaboración
:Socio
:Video
5: entregar recibo
: Encargado 4: registrar préstamo
:Préstamo
Práctica 3
II. Breve Tour por UML
Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el
análisis y diseño
Un diagrama de clases presenta las clases del sistema
con sus relaciones estructurales y de herencia
La definición de clase incluye definiciones para
atributos y operaciones
El modelo de casos de uso aporta información para
establecer las clases, objetos, atributos y operaciones
II. Breve Tour por UML
A lum no
D NI : c har[10]
núm ero_ex p : int
nom bre : c har[50]
alta()
poner_nota(as ignatura : c har *, año : int, nota : float)
m atric ular(c urs os : as ignatura, año : int)
lis tar_ex pediente()
II. Breve Tour por UML
… Ejemplos (Asociación)
0..1 1
II. Breve Tour por UML
* 1..*
Cargo
superior
nombre
sueldo 0..1
subordinado 1..*
II. Breve Tour por UML
… Ejemplos (Generalización)
Trabajador
{ disjunta, completa }
… Ejemplos
Motor Piloto Vendedor de billetes
1..4 1..2 1
1 n
n
1 n 1 n
Avión Vuelo Reserva
n
{ disjunta, completa }
{ disjunta, completa }
Prácticas 4-8
Avión de carga Avión de pasajeros
II. Breve Tour por UML
Diagrama de Estados
alta baja
Socio
número : int
nombre : char[50]
número_prestamos : int = 0
pres tar devol ver [ núm ero_p rést amo s = 1 ]
alta()
baja()
prestar(código_libro : int, fecha : date)
devolver(código_libro : int, fecha : date) núm ero_prés tam os > 0
c on prés tam os
pres tar
Diagrama de Actividad
[no hay café] [no zumo]
Buscar Bebida
[hay café [hay zumo]
Encender máquina
/ cafetera.On
Café en preparación
indicador de fin
Servir café
Beber
II. Breve Tour por UML
Solicitar pasaje
Verificar
existencia vuelo
Informar alternativas
y precios
Seleccionar vuelo
Confirmar
Pagar pasaje plaza reservada
Emitir billete
Práctica 9
II. Breve Tour por UML
Diagrama Componentes
Control y Análisis
Interfaz de Terminal
Comment
Comment
Diagrama de Despliegue
Servidor Central Control y Análisis
Acceso a BD Comment
Comment
Rutinas de Coneccion
Comment
Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Comment Comment
Punto de Venta
Rutinas de Coneccion
Comment
Comment Comment
Práctica 10
II. Breve Tour por UML
Resumen