Beruflich Dokumente
Kultur Dokumente
www.dsic.upv.es/~uml
Contenido
I.
II.
III.
IV.
V.
Introduccin
Modelado de Software
UML
Breve Tour por UML
El Paradigma Orientado a Objeto usando UML
Fundamentos del Modelado OO
Diagrama de Casos de Uso
Diagramas de Interacciones
Diagrama de Clases
Diagrama de Estados / Diagramas de Actividad
Diagrama de Componentes
Diagrama de Despliegue
Proceso de Desarrollo de SW basado en UML
Conclusiones
www.dsic.upv.es/~uml
Introduccin
Modelado de SW
www.dsic.upv.es/~uml
I. Introduccin: Modelado de SW
www.dsic.upv.es/~uml
www.dsic.upv.es/~uml
I. Introduccin: Modelado de SI
Construccin de un rascacielos
www.dsic.upv.es/~uml
Claves en Desarrollo de SI
Notacin
Herramientas
www.dsic.upv.es/~uml
Proceso
Introduccin: UML
www.dsic.upv.es/~uml
I. Introduccin: UML
Qu es UML?
UML = Unified Modeling Language
www.dsic.upv.es/~uml
I. Introduccin: UML
Situacin de Partida
www.dsic.upv.es/~uml
10
I. Introduccin: UML
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
www.dsic.upv.es/~uml
11
I. Introduccin: UML
Historia de UML
UML 2.0
2001
UML 1.4
2000
1999
1998
Nov 97
www.dsic.upv.es/~uml
UML 1.3
Revisiones menores
UML 1.2
12
I. Introduccin: UML
Rational Software
(Grady Booch, Jim Rumbaugh y
Ivar Jacobson)
Digital Equipment
Hewlett-Packard
i-Logix (David Harel)
IBM
ICON Computing
(Desmond DSouza)
www.dsic.upv.es/~uml
MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys
13
I. Introduccin: UML
Jacobson
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
Object life cycles
UML
Harel
State Charts
Embly
Singleton classes
Wirfs-Brock
Fusion
Responsabilities
Operation descriptions,
message numbering
www.dsic.upv.es/~uml
14
I. Introduccin: UML
Aspectos Novedosos
Stereotypes
Constraints
Tagged Values
www.dsic.upv.es/~uml
15
I. Introduccin: UML
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
en torno a UML
www.dsic.upv.es/~uml
16
I. Introduccin: UML
Perspectivas de UML
UML ser el lenguaje de modelado orientado a
objetos estndar predominante los prximos
aos
Razones:
Evidencias:
www.dsic.upv.es/~uml
17
www.dsic.upv.es/~uml
18
Modelos y Diagramas
www.dsic.upv.es/~uml
19
www.dsic.upv.es/~uml
20
Diagramas de 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
Diagrama de Componentes
Diagrama de Despliegue
www.dsic.upv.es/~uml
21
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
www.dsic.upv.es/~uml
State
State
Diagramas de
Diagrams
Diagrams
Clases
Modelo
Diagramas de
Actividad
State
State
Diagramas de
Diagrams
Diagrams
Objetos
State
State
Diagramas de
Diagrams
Diagrams
Componentes
Component
Component
Diagrams
Diagramas
Diagrams de
Distribucin
22
Organizacin de Modelos
4+1 vistas de Kruchten (1995)
Vista Lgica
Vista de los
Casos de Uso
Vista de
Procesos
Vista de
Realizacin
Vista de
Distribucin
www.dsic.upv.es/~uml
23
M.
M.
M.
M.
M.
M.
M.
M.
M.
www.dsic.upv.es/~uml
24
Paquetes en 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
www.dsic.upv.es/~uml
25
Paquetes en 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
www.dsic.upv.es/~uml
26
Paquetes en UML
El operador :: permite
designar una clase definida en
un contexto distinto del actual
Prctica 1
www.dsic.upv.es/~uml
27
Paquetes en UML
Prctica 1
www.dsic.upv.es/~uml
28
www.dsic.upv.es/~uml
29
Ejemplos
Supervisor
Administrativo
Preparar Catlogo
Sistema
Inventario
Tipos de Venta
www.dsic.upv.es/~uml
30
Ejemplos
En el paquete tipos de venta:
Venta Normal
Vendedor
Venta en Rebajas
Venta en Ofertas
www.dsic.upv.es/~uml
31
Ejemplos
Cliente
Solicitar Prstamo
[Tarjeta Caducada]
<<extend>>
www.dsic.upv.es/~uml
32
Ejemplos
<<include>>
Verificar Operacin
Cliente
<<include>>
www.dsic.upv.es/~uml
33
Diagrama de Secuencia
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
prestar(video, socio)
verificar situacin socio
verificar situacin video
registrar prstamo
entregar recibo
www.dsic.upv.es/~uml
34
Diagrama de Colaboracin
:Socio
:Video
2: verificar situacin socio
1: prestar(video, socio)
5: entregar recibo
: Encargado
4: registrar prstamo
:Prstamo
Prctica 3
www.dsic.upv.es/~uml
35
Diagrama de Clases
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
www.dsic.upv.es/~uml
36
www.dsic.upv.es/~uml
37
Ejemplos (Asociacin)
Departamento
dirige
0..1
www.dsic.upv.es/~uml
director
Profesor
1
38
trabajadores
Empresa
Empleado
1..*
Cargo
nombre
sueldo
superior
0..1
subordinado 1..*
www.dsic.upv.es/~uml
39
Ejemplos (Generalizacin)
Trabajador
{ disjunta, completa }
Directivo
www.dsic.upv.es/~uml
Administrativo
Obrero
40
Ejemplos
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
www.dsic.upv.es/~uml
Avin de pasajeros
Prcticas 4-8
41
Diagrama de Estados
alta
baja
sin prstamos
nmero_prstamos = 0
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
www.dsic.upv.es/~uml
42
Diagrama de Actividad
[no hay caf]
[no zumo]
Buscar Bebida
[hay zumo]
[hay caf
Coger taza
Coger zumo
Encender mquina
/ cafetera.On
Caf en preparacin
indicador de fin
Servir caf
www.dsic.upv.es/~uml
Beber
43
Solicitar pasaje
Vendedor
Airline
Verificar
existencia vuelo
Pagar pasaje
Emitir billete
www.dsic.upv.es/~uml
Prctica 9
44
Diagrama Componentes
Control y Anlisis
Interfaz de Terminal
Comment
Comment
Gestin de Cuentas
Comment
www.dsic.upv.es/~uml
Rutinas de Coneccion
Comment
Acceso a BD
Comment
45
Diagrama de Despliegue
Serv idor Central
C ontrol y Anlisis
C omment
Acceso a BD
C omment
R utinas de C oneccion
C omment
Punto de Venta
Interf az de Terminal
C omment
R utinas de C oneccion
C omment
Gestin de C uentas
C omment
Interf az de Terminal
C omment
Prctica 10
www.dsic.upv.es/~uml
46
Resumen
UML define una notacin que se expresa
como diagramas sirven para representar
modelos/subsistemas o partes de ellos
www.dsic.upv.es/~uml
47