Desarrollo de Software OO usando UML

Download Report

Transcript Desarrollo de Software OO usando UML

Técnicas de Modelamiento
Introducción: UML
1
I. Introducción: UML
¿Qué 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
Modelado
Modelado
Modelado
Orientado a Objetos
de Datos
de Componentes
de Flujos de Trabajo (Workflows)
2
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
3
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
4
I. Introducción: UML
Historia de UML
UML 2.0
2001
UML 1.4
2000
1999
1998
Nov ‘97
UML 1.3
Revisiones menores
UML aprobado por el OMG
UML 1.2
5
I. Introducción: UML
Participantes en UML 1.0

Rational Software
(Grady Booch, Jim Rumbaugh y
Ivar Jacobson)





Digital Equipment
Hewlett-Packard
i-Logix (David Harel)
IBM
ICON Computing
(Desmond D’Souza)

Intellicorp and James
Martin & co. (James Odell)









MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys
6
I. Introducción: UML
UML “aglutina” enfoques OO
Rumbaugh
Booch
Jacobson
Odell
Meyer
Pre- and Post-conditions
Shlaer-Mellor
Object life cycles
UML
Harel
State Charts
Gamma et. al.
Frameworks, patterns,
notes
Embly
Singleton classes
Wirfs-Brock
Fusion
Responsabilities
Operation descriptions,
message numbering
7
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.
10
Breve Tour por UML
11
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
12
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
13
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
14
II. Breve Tour por UML
... Diagramas de UML
Los diagramas expresan gráficamente partes de un modelo
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
Colaboración
Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados
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
Distribución
15
II. Breve Tour por UML
Organización de Modelos
4+1 vistas de Kruchten (1995)
Vista Lógica
Vista de los
Casos de Uso
Vista de
Procesos
Vista de
Realización
Vista de
Distribución
Este enfoque sigue el browser de Rational Rose
16
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)
17
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
18
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
19
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
20
II. Breve Tour por UML
… Paquetes en UML
Práctica 1
21
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
22
II. Breve Tour por UML
Ejemplos
Supervisor
Administrativo
Verificar Situación del Cliente
Preparar Catálogo
Sistema
Inventario
Tipos de Venta
23
II. Breve Tour por UML
… Ejemplos
En el paquete tipos de venta:
Venta Normal
Vendedor
Venta en Rebajas
Venta en Ofertas
24
II. Breve Tour por UML
… Ejemplos
Cliente
Solicitar Préstamo
[Tarjeta Caducada]
<<extend>>
Solicitar Nueva Tarjeta
25
II. Breve Tour por UML
… Ejemplos
Reintegro Cuenta Corriente
<<include>>
Verificar Operación
Cliente
<<include>>
Reintegro Cuenta de Crédito
Práctica 2
26
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
27
II. Breve Tour por UML
Ejemplos (Clase y Visibilidad)
28
II. Breve Tour por UML
… Ejemplos (Asociación)
Departamento
dirige
0..1
director
Profesor
1
29
II. Breve Tour por UML
… Ejemplos (Clase Asociación)
empleador
trabajadores
Empresa
Empleado
1..*
*
Cargo
nombre
sueldo
superior
0..1
subordinado 1..*
30
II. Breve Tour por UML
… Ejemplos (Generalización)
Trabajador
{ disjunta, completa }
Directivo
Administrativo
Obrero
31
II. Breve Tour por UML
… Ejemplos
Motor
1..4
1
Avión
Vendedor de billetes
Piloto
1
n
1..2
1
n
n
Vuelo
1
n
Reserva
n
{ disjunta, completa }
1
Avión militar
Avión comercial
Línea aérea
{ disjunta, completa }
Avión de carga
Avión de pasajeros
Prácticas 4-8
32
II. Breve Tour por UML
Diagrama de Secuencia
: Encargado
:WInPréstamos
:Socio
:Video
:Préstamo
prestar(video, socio)
verificar situación socio
verificar situación video
registrar préstamo
entregar recibo
33
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
34
II. Breve Tour por UML
Diagrama de Estados
alta
baja
sin préstamos
número_préstamos = 0
Socio
número : int
nombre : char[50]
número_prestamos : int = 0
prestar
devolver[ número_préstamos = 1 ]
alta()
baja()
prestar(código_libro : int, fecha : date)
devolver(código_libro : int, fecha : date)
número_préstamos > 0
con préstamos
prestar
devolver[ número_préstamos > 1 ]
35
II. Breve Tour por UML
Diagrama de Actividad
Buscar Bebida
[no hay café]
[hay café
Poner café en filtro
[no zumo]
[hay zumo]
Añadir agua al depósito Coger taza
Coger zumo
Poner filtro en máquina
Encender máquina
/ cafetera.On
Café en preparación
indicador de fin
Servir café
Beber
36
II. Breve Tour por UML
… Otro Ejemplo (con swim lines)
Pasajero
Solicitar pasaje
Vendedor
Airline
Verificar
existencia vuelo
Dar detalles vuelo
Informar alternativas
y precios
Seleccionar vuelo
Solicitar pago Reservar plazas
Confirmar
plaza reservada
Pagar pasaje
Emitir billete
Práctica 9
37
II. Breve Tour por UML
Diagrama Componentes
Control y Análisis
Interf az de Terminal
Comment
Comment
Gestión de Cuentas
Comment
Rutinas de Coneccion
Comment
Acceso a BD
Comment
38
II. Breve Tour por UML
Diagrama de Despliegue
Servidor Central
Control y Análisis
Comment
Acceso a BD
Comment
Rutinas de Coneccion
Comment
T erminal de Consulta
Rutinas de Coneccion
Comment
Punto de Venta
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Gestión de Cuentas
Interfaz de Terminal
Comment
Comment
Práctica 10
39
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
40
Referencias
•  www.dsic.upv.es/~uml
41