Вы находитесь на странице: 1из 13

Introduccin a UML

Qu es UML?
UML = Unified Modeling Language
Un lenguaje de propsito general para el
modelado orientado a objetos. Impulsado por el
Object Management Group (OMG, www.omg.org)
UML combina notaciones provenientes desde:
Modelado Orientado a Objetos
Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo (Workflows)
Historia de UML
Comenz como el Mtodo Unificado, con la
participacin de Grady Booch y Jim Rumbaugh.
Luego se uni Ivar Jacobson.
Los Tres Amigos son socios en la compaa
Rational Software. Herramienta CASE Rational
Rose
Historia de UML
Nov 97
UML aprobado
por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2005?
UML 2.0
Revisiones menores
UML 1.5 2003
Participantes en UML
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
UML rene enfoques de 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
Inconvenientes en UML
Definicin del proceso de desarrollo usando UML.
UML no es una metodologa
Perspectivas de UML
UML es el lenguaje de modelado orientado a objetos
estndar predominante ahora y en los prximos aos
Razones:
Participacin de metodlogos influyentes
Participacin de importantes empresas
Estndar del OMG
Evidencias:
Herramientas que proveen la notacin UML
Edicin de libros (ms de 300 en www.amazon.com)
Congresos, cursos, etc.
Breve Tour por 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
Cada modelo es completo desde su punto de vista del sistema,
sin embargo, existen relaciones de trazabilidad entre los
diferentes modelos
Modelos y Diagramas
Diagramas de UML
Modelamiento esttico
Diagrama de Clases
Diagrama de Objetos
Modelamiento dinmico
Diagrama de Casos de Uso
Diagrama de Estados
Diagrama de Actividad
Diagramas de Interaccin
Diagrama de Secuencia
Diagrama de Colaboracin
Modelado fsico (de implementacin)
Diagrama de Componentes
Diagrama de Despliegue
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
Modelos
Los diagramas expresan grficamente partes de un modelo
Organizacin de Modelos
Propuesta de Rational Unified Process (RUP)
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)
Uso de 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
Ejemplo de paquetes
CheckingAccount
Customers
Banking
Customers
Banking
<<access>>
CheckingAccount
(f rom Banking)
Otra Cl ase
Diagrama de Casos de Uso
Es una tcnica para capturar informacin
respecto de los servicios que un sistema
proporciona a su entorno
No pertenece estrictamente al enfoque
orientado a objeto, es una tcnica para captura
y especificacin de requisitos
Ejemplo de casos de uso
Retirar dinero
Consult ar Ext ract o
Cliente
Realizar transferencia
Diagrama de Secuencia
: Encargado
: WInPrstamos :Socio :Video : Prstamo
prestar(video, socio)
verificar situacin socio
verificar situacin video
regi strar prstamo
entregar recibo
Diagrama de Colaboracin
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
1: prestar(video, socio)
2: verificar situacin socio
3: verificar situacin video
4: registrar prstamo
5: entregar recibo
Diagrama de clases
Avin militar
Avin comercial
Avin de carga Avin de pasajeros
Motor Vendedor de billetes
Avin
1..4
1
1..4
1
Piloto
Reserva
n
1
n
1
Lnea area
Vuelo
n 1 n 1
1..2
n
1..2
n
n 1 n 1
1
n
1
n
{ disjunta, completa }
{ disjunta, completa }
Diagrama de Estados
con prstamos
sin pr stamos
alta baja
prestar devol ver [ nmero_prst amos = 1 ]
pres tar
devolver[ nmero_prstamos > 1 ]
nmero_prstamos = 0
nmero_prstamos > 0
Socio
nmero : i nt
nombre : char[50]
nmero_prestamos : int = 0
alta()
baja()
prestar(cdigo_libro : int, fecha : date)
devolver(cdi go_libro : int, fecha : date)
Diagrama de Actividad
B u sc ar B e bid a
[ n o h ay c af ]
P o ne r caf
e n filtro
A ad i r ag u a
al d e psi to
C og er taz a
P on er filtro
e n m qu ina
E n ce nd er
m q uin a
C af en
p re pa rac i n
/ c afet e ra.O n
S erv ir ca f B eb e r
C o g er
z umo
[ h ay ca f ]
i ndi cado r d e fi n
[ ha y z u mo ]
[ no z u mo ]
Diagrama Componentes
Interfaz de Terminal
Gestin de Cuentas Rutinas de conexin Acceso a BD
Control y Anlisis
Diagrama de Despliegue
Punto de Venta
Servidor Central
Terminal de Consulta
Gestin de Cuentas
C
Interfaz de Terminal
C
Rutinas de Coneccion
C
Rutinas de Coneccion
C
Interfaz de Terminal
C
Rutinas de Coneccion
C
Acceso a BD
C
Control y Anlisis
C
Diagrama de Despliegue
Servidor Central
Punto de Venta
Terminal de Consulta
Acceso a BD
Rutinas de conexin
Cont rol y Anlisis
Rutinas de conexin
Gestin de Cuentas Interfaz de Terminal
Rutinas de conexin Interfaz de Terminal
Servidor Central
Punto de Venta
Component Diagram:
Components / Servidor
Central
Component Di agram:
Components / Punto de
Venta
Terminal de
Consulta
Component Di agram:
Components / Terminal
de Consulta
Resumen
UML define una notacin que se expresa
como diagramas
Sirven para representar modelos /
subsistemas o partes de ellos