Sei sulla pagina 1di 41

Desarrollo de Software

Orientado a Objeto usando UML


Patricio Letelier Torres
letelier@dsic.upv.es

Departamento Sistemas Informáticos y Computación (DSIC)


Universidad Politécnica de Valencia (UPV) - España

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)

Establecer una notación estándar


I. Introducción: UML

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

2000 UML 1.4

1999 UML 1.3


Revisiones menores
1998
UML 1.2
Nov ‘97 UML aprobado por el OMG
I. Introducción: UML

Participantes en UML 1.0


 MCI Systemhouse
 Rational Software  Microsoft
(Grady Booch, Jim Rumbaugh y Ivar
Jacobson)  ObjecTime
 Digital Equipment  Oracle Corp.
 Hewlett-Packard  Platinium Technology
 i-Logix (David Harel) Sterling Software

 IBM
 Taskon
 ICON Computing
(Desmond D’Souza)  Texas Instruments
 Intellicorp and James Martin  Unisys
& co. (James Odell)
I. Introducción: 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. Introducción: UML

Aspectos Novedosos
 Definición semi-formal del Metamodelo de UML

 Mecanismos de Extensión en UML:


 Stereotypes
 Constraints
 Tagged Values

Permiten adaptar los elementos de modelado,


asignándoles una semántica particular
I. Introducción: 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

 “Monopolio de conceptos, técnicas y métodos en torno


a UML”
I. Introducción: UML

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.

• Diagrama: una representación gráfica de una colección


de elementos de modelado, a menudo dibujada como un
grafo con vértices 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 interés

 El código fuente del sistema es el modelo más detallado del


sistema (y además 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 Interacción
 Diagrama de Secuencia
 Diagrama de Colaboración
Diagramas de implementación
 Diagrama de Componentes
 Diagrama de Despliegue
II. Breve Tour por UML

... Diagramas de UML


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

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

Este enfoque sigue el browser de Rational Rose


II. Breve Tour por UML

... Organización 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 Análisis (Analysis Model)
 M. de Diseño (Design Model)
 M. de Despliegue (Deployment Model)
 M. de Datos (Data Model)
 M. de Implementación (Implementation Model)
 M. de Pruebas (Test Model)
II. Breve Tour por UML

Paquetes en UML
 Los paquetes ofrecen un mecanismo general para
la organización de los modelos/subsistemas
agrupando elementos de modelado

 Se representan gráficamente 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 límite


de anidamiento pero cada elemento pertenece a (está
definido en) sólo un paquete

 Una clase de un paquete puede aparecer en otro


paquete por la importación a través de una relación 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

Práctica 1
II. Breve Tour por UML

… Paquetes en UML

Práctica 1
II. Breve Tour por UML

Diagrama de Casos de Uso


 Casos de Uso es una técnica para capturar
información de cómo un sistema o negocio
trabaja, o de cómo se desea que trabaje

 No pertenece estrictamente al enfoque orientado


a objeto, es una técnica para captura de
requisitos
II. Breve Tour por UML

Ejemplos

Verificar Situación del Cliente


Supervisor

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

Solic itar N ueva Tarjeta


II. Breve Tour por UML

… Ejemplos

<<include>>
Reintegro Cuenta Corriente

Cliente Verificar Operación

<<include>>

Reintegro Cuenta de Crédito

Práctica 2
II. Breve Tour por UML

Diagrama de Secuencia

:WInP réstamos :Socio :Video : Préstamo


: Encargado

prestar(video, socio)
verificar situación socio

verificar situación video

registrar préstamo

entregar recibo
II. Breve Tour por UML

Diagrama de Colaboración
:Socio

:Video

2: verificar situación socio

1: prestar(video, socio) 3: verificar situación video


:WInPréstamos

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

Ejemplos (Clase y Visibilidad)

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)

dirige direc tor


Departam ento Profes or

0..1 1
II. Breve Tour por UML

… Ejemplos (Clase Asociación)


empleador trabajadores
Empresa Empleado

* 1..*

Cargo
superior
nombre
sueldo 0..1

subordinado 1..*
II. Breve Tour por UML

… Ejemplos (Generalización)

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
Avión Vuelo Reserva

n
{ disjunta, completa }

Avión militar Avión comercial Línea aérea

{ disjunta, completa }

Prácticas 4-8
Avión de carga Avión de pasajeros
II. Breve Tour por UML

Diagrama de Estados

alta baja

núm er o_prés tam os = 0


sin pr éstam os

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

devolver[ núm ero_prés tam os > 1 ]


II. Breve Tour por UML

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

Poner café en filtro Añadir agua al depósito Coger taza

Poner filtro en máquina Coger zumo

Encender máquina
/ cafetera.On
Café en preparación

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
Práctica 9
II. Breve Tour por UML

Diagrama Componentes

Control y Análisis
Interfaz de Terminal
Comment
Comment

Gestión de Cuentas Acceso a BD


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

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

Gestión de Cuentas Interfaz de Terminal

Comment Comment

Práctica 10
II. Breve Tour por UML

Resumen

 UML define una notación que se expresa


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

 El 80 por ciento de la mayoría de los


problemas pueden modelarse usando
alrededor del 20 por ciento de UML-- Grady
Booch

Potrebbero piacerti anche