Está en la página 1de 46

Introduccin: UML

I. Introduccin: UML

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)
I. Introduccin: UML

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)

Establecer una notacin estndar


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
I. Introduccin: UML

Historia de UML
2001 UML 2.0

2000 UML 1.4

1999 UML 1.3


Revisiones menores
1998
UML 1.2
Nov 97 UML aprobado por el OMG
I. Introduccin: UML

Participantes en UML 1.0


Rational Software MCI Systemhouse
(Grady Booch, Jim Rumbaugh y Microsoft
Ivar Jacobson)
Digital Equipment ObjecTime
Hewlett-Packard Oracle Corp.
i-Logix (David Harel) Platinium Technology
IBM Sterling Software
ICON Computing Taskon
(Desmond DSouza)
Texas Instruments
Intellicorp and James
Martin & co. (James Odell) Unisys
I. Introduccin: UML

UML aglutina enfoques OO


Rumbaugh
Booch Jacobson

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. Introduccin: UML

Aspectos Novedosos
Definicin semi-formal del Metamodelo de UML
Mecanismos de Extensin en UML:
Stereotypes
Constraints
Tagged Values
Permiten adaptar los elementos de modelado,
asignndoles una semntica particular
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
I. Introduccin: UML

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.
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 abstraccin de dicho sistema, considerando un cierto
propsito. As, el modelo describe completamente aquellos
aspectos del sistema que son relevantes al propsito del modelo,
y a un apropiado nivel de detalle.

Diagrama: una representacin grfica de una coleccin de


elementos de modelado, a menudo dibujada como un grafo con
vrtices conectados por arcos

OMG UML 1.4 Specification


II. Breve Tour por UML

... Modelos y Diagramas

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

El cdigo fuente del sistema es el modelo ms detallado del sistema (y


adems es ejecutable). Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin


embargo, existen relaciones de trazabilidad entre los diferentes
modelos
II. Breve Tour por UML

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
II. Breve Tour por UML

... Diagramas de UML


Los diagramas expresan grficamente partes de un modelo
State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Secuencia

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Colaboracin Modelo Componentes

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Distribucin
Estados Diagramas de
Actividad
II. Breve Tour por UML

Organizacin de Modelos
4+1 vistas de Kruchten (1995)

Vista de
Vista Lgica Realizacin
Vista de los
Casos de Uso

Vista de Vista de
Procesos Distribucin

Este enfoque sigue el browser de Rational Rose


II. Breve Tour por UML

... 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)
II. Breve Tour por UML

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
II. Breve Tour por UML

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
II. Breve Tour por UML

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

El operador :: permite
designar una clase definida en
un contexto distinto del actual
II. Breve Tour por UML

Paquetes en UML
II. Breve Tour por UML

Diagrama de Casos de Uso

Casos de Uso es una tcnica para capturar


informacin de cmo un sistema o negocio
trabaja, o de cmo se desea que trabaje

No pertenece estrictamente al enfoque


orientado a objeto, es una tcnica para captura
de requisitos
II. Breve Tour por UML

Ejemplos

Verificar Situacin del Cliente


Supervisor

Preparar Catlogo
Administrativo Sistema
Inventario

Tipos 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 Prstamo
Cliente

[Tarjeta Caducada]

<<extend>>

Solicitar Nueva Tarjeta


II. Breve Tour por UML

Ejemplos

<<include>>
Consignacin

Cliente Verificar Operacin

<<include>>

Pago de Crdito
II. Breve Tour por UML

Diagrama de Secuencia

:WInPrstamos :Socio :Video :Prstamo


: Encargado

prestar(video, socio)
verificar situacin socio

verificar situacin video

registrar prstamo

entregar recibo
II. Breve Tour por UML

Diagrama de Colaboracin
:Socio

:Video

2: verificar situacin socio

1: prestar(video, socio) 3: verificar situacin video


:WInPrstamos

5: entregar recibo
: Encargado 4: registrar prstamo

:Prstamo
II. Breve Tour por UML

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
II. Breve Tour por UML

Ejemplos (Clase y Visibilidad)


II. Breve Tour por UML

Ejemplos (Asociacin)

dirige director
Departamento Profesor
0..1 1
II. Breve Tour por UML

Ejemplos (Clase Asociacin)

empleador trabajadores
Empresa Empleado
* 1..*

Cargo
superior
nombre
sueldo 0..1

subordinado 1..*
II. Breve Tour por UML

Ejemplos (Generalizacin)

Trabajador

{ disjunta, completa }

Directivo Administrativo Obrero


II. Breve Tour por UML

Ejemplos
Motor Piloto Vendedor de billetes

1..4 1..2 1

1 n
n
1 n 1 n
Avin Vuelo Reserva

n
{ disjunta, completa }

Avin militar Avin comercial Lnea area

{ disjunta, completa }

Avin de carga Avin de pasajeros


II. Breve Tour por UML

Diagrama de Estados

alta baja

nmero_prstamos = 0
sin prstamos

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

devolver[ nmero_prstamos > 1 ]


II. Breve Tour por UML

Diagrama de Actividad
[no hay caf] [no zumo]
Buscar Bebida
[hay caf [hay zumo]

Poner caf en filtro Aadir agua al depsito Coger taza

Poner filtro en mquina Coger zumo

Encender mquina
/ cafetera.On
Caf en preparacin

indicador de fin
Servir caf
Beber
II. Breve Tour por UML

Otro Ejemplo (con swim lines)


Pasajero Vendedor Airline

Solicitar pasaje
Verificar
existencia vuelo

Dar detalles vuelo

Informar alternativas
y precios
Seleccionar vuelo

Solicitar pago Reservar plazas

Confirmar
Pagar pasaje plaza reservada

Emitir billete
II. Breve Tour por UML

Diagrama Componentes (Dependencias)


Control y Anlisis
Interf az de Terminal
Comment
Comment

Gestin de Cuentas Acceso a BD


Rutinas de Coneccion
Comment Comment
Comment
II. Breve Tour por UML

Diagrama de Despliegue
Servidor Central Control y Anlisis

Acceso a BD Comment

Comment

Rutinas de Coneccion
Comment

T erminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Comment Comment

Punto de Venta
Rutinas de Coneccion
Comment

Gestin de Cuentas Interfaz de Terminal

Comment Comment
II. Breve Tour por UML

Resumen

UML define una notacin que se expresa


como diagramas sirven para representar
modelos/subsistemas o partes de ellos

El 80 por ciento de la mayora de los


problemas pueden modelarse usando
alrededor del 20 por ciento de UML-- Grady
Booch
El Paradigma
Orientado a Objeto
usando UML
III. El Paradigma Orientado a Objeto

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
III. El Paradigma Orientado a Objeto

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 ...


III. El Paradigma Orientado a Objeto

Problemas en OO
...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
III. El Paradigma Orientado a Objeto

Problemas en OO
Un objeto contiene datos y operaciones que operan sobre los
datos, pero ...
Podemos distinguir dos tipos de objetos degenerados:
Un objeto sin datos (que sera lo mismo que una biblioteca
de funciones)
Un objeto sin operaciones, con slo operaciones del tipo
crear, recuperar, actualizar y borrar (que se correspondera
con las estructuras de datos tradicionales)
Un sistema construido con objetos degenerados no es un
sistema verdaderamente orientado a objetos
Las aplicaciones de gestin estn constituidas
mayoritariamente por objetos degenerados
III. El Paradigma Orientado a Objeto

Reflexiones respecto de Situacin Actual


de Desarrollo de SI
Anlisis Diseo Implementacin

DFDs DEs
Enfoque Entornos de
Estructurado E-R Programacin
Modelo Visual
Diagramas de Casos de Uso Relacional
Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboracin d Modelo
Relacional !! Bases de Datos
(Objeto-)
Enfoque OO Diagrama de Clases
Relacionales
Diagrama de Estados
Diagramas de Actividad

También podría gustarte