Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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)
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
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.
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
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
Paquetes en UML
Los paquetes ofrecen un mecanismo general para
la organizacin 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
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
Ejemplos
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>>
Ejemplos
<<include>>
Consignacin
<<include>>
Pago de Crdito
II. Breve Tour por UML
Diagrama de Secuencia
prestar(video, socio)
verificar situacin socio
registrar prstamo
entregar recibo
II. Breve Tour por UML
Diagrama de Colaboracin
:Socio
:Video
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 (Asociacin)
dirige director
Departamento Profesor
0..1 1
II. Breve Tour por UML
empleador trabajadores
Empresa Empleado
* 1..*
Cargo
superior
nombre
sueldo 0..1
subordinado 1..*
II. Breve Tour por UML
Ejemplos (Generalizacin)
Trabajador
{ disjunta, completa }
Ejemplos
Motor Piloto Vendedor de billetes
1..4 1..2 1
1 n
n
1 n 1 n
Avin Vuelo Reserva
n
{ disjunta, completa }
{ disjunta, completa }
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
Diagrama de Actividad
[no hay caf] [no zumo]
Buscar Bebida
[hay caf [hay zumo]
Encender mquina
/ cafetera.On
Caf en preparacin
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
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
Comment Comment
II. Breve Tour por UML
Resumen
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
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
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