Está en la página 1de 59

1

Desarrollo de Software
Orientado a Objeto usando UML

2
Introduccin
Modelado de SW
3
Construccin de una casa para fido
Puede hacerlo una sola persona
Requiere:
Modelado mnimo
Proceso simple
Herramientas simples
I. Introduccin: Modelado de SW
4
Construccin de una casa
Construida eficientemente y en un tiempo
razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas ms sofisticadas
I. Introduccin: Modelado de SWI
5
Construccin de un rascacielos
I. Introduccin: Modelado de SI
6
Claves en Desarrollo de SI
Herramientas Proceso
Notacin
I. Introduccin: Modelado de SWI
7
Sistema Computacional
Proceso de Negocios
Orden
Item
envo
El modelado captura las
partes esenciales del sistema

Abstraccin - Modelado Visual (MV)
I. Introduccin: Modelado de SW
8
II. Notacin (Visual) - Beneficios
Interface de Usuario
(Visual Basic,
Java, ..)
Lgica del Negocio
(C++, Java, ..)
Servidor de BDs
(C++ & SQL, ..)
Mltiples Sistemas
Componentes
Reutilizados
Manejar la complejidad
Modelar el sistema
independientemente
del lenguaje de
implementacin
Promover la Reutilizacin
9
Introduccin: UML
10
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
11
Los Creadores del UML
James Rumbaugh
Grady Booch
OMG(Grupo de Administracin de Objetos)
Estndar en la Industria del
Software
Rational
Software
Corporation
Ivar Jacobson
12
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
13
Analoga simple
Lenguaje de Comunicacin
Lenguaje Unificado de Modelado
a-e-i-o-u
PR OVEED OR
PED . BALON
COM P RA
AC TU ALI Z A STOC K
C AN C ELA F AC TU R A
AR C H I VA PAGOS F AC .
AD MI N I STR AD OR
Silabas,
Oraciones
Escribir una Cancin
Crear un Libro
Escribir una Poesa
Crear modelos para:
Anlisis,
Diseo,
Implementacin de
Sistemas.
14
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
15
Historia de UML
Nov 97
UML aprobado por el OMG
1998
1999
2000
UML 1.2
UML 1.3
UML 1.4
2001-2003
UML 2.0
Revisiones menores
I. Introduccin: UML
16
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 DSouza)
Intellicorp and James
Martin & co. (James Odell)

MCI Systemhouse
Microsoft
ObjecTime
Oracle Corp.
Platinium Technology
Sterling Software
Taskon
Texas Instruments
Unisys

I. Introduccin: UML
17
UML aglutina enfoques 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
I. Introduccin: UML
18
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
19
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
20
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.
I. Introduccin: UML
21
Objetivos de UML
I. Introduccin: UML
1. Proporcionar a los usuarios un lenguaje de modelado
visual expresivo y utilizable para el desarrollo e
intercambio de modelos significativos.
2. Proporcionar mecanismos de extensin y
especializacin.
3. Proporcionar una base formal para entender el lenguaje
de modelado.
4. Fomentar el crecimiento del mercado de las
herramientas OO.
5. Soportar conceptos de desarrollo de alto nivel como
pueden ser colaboraciones, armazones, patrones y
componentes.
22
Breve Tour por UML
23
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
24
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
... Modelos y Diagramas
II. Breve Tour por UML
25
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
26
... 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
Modelo
II. Breve Tour por UML
Los diagramas expresan grficamente partes de un modelo
27
Diagramas de UML
Diagramas de estructura enfatizan en los
elementos que deben existir en el sistema
modelado:

Diagrama de Clases
Diagrama de Componentes
Diagrama de Objetos
Diagrama de estructura Compuesta (UML 2.0)
Diagrama de Despliegue
Diagrama de Paquetes

28
Diagramas de UML

Diagramas comportamiento enfatizan en lo
que debe suceder en el sistema modelado:

Diagrama de Actividades
Diagrama de Casos de Uso
Diagrama de estados
29
Diagramas de UML
Diagramas Interaccin, un subtipo de
diagramas de comportamiento, que enfatiza
sobre el flujo de control y de datos entre los
elementos del sistema modelado:

Diagrama de Secuencia
Diagrama de Comunicacin
Diagrama de Tiempos (UML 2.0)
Diagrama de Vista de Interaccin (UML 2.0)
30
31
4+1 vistas de Kruchten (1995)
Vista Lgica
Vista de
Procesos
Vista de
Distribucin
Vista de
Realizacin
Vista de los
Casos de Uso
Organizacin de Modelos
Este enfoque sigue el browser de Rational Rose
II. Breve Tour por UML
32
... 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
33
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
34
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
35
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
36
...Paquetes en Rational Rose
II. Breve Tour por UML
CheckingAccount
Customers
Banking
Customers
Banking
<<access>>
CheckingAccount
(f rom Banking)
Otra Clase
37
Paquetes en UML
II. Breve Tour por UML
38
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
39
Ejemplos
II. Breve Tour por UML
Supervisor
Verificar Situacin del Cliente
Administrativo
Preparar Catlogo
Sistema
Inventario
Tipos de Venta
40
Ejemplos
En el paquete tipos de venta:
II. Breve Tour por UML
Venta Normal
Venta en Rebajas
Venta en Ofertas
Vendedor
41
Ejemplos
II. Breve Tour por UML
Solicitar Nueva Tarjeta
Cliente
Solicitar Prstamo
<<extend>>
[Tarjeta Caducada]
42
Ejemplos
II. Breve Tour por UML
Verificar Operacin
Reintegro Cuenta Corriente
Cliente
Reintegro Cuenta de Crdito
<<include>>
<<include>>
Prctica 2
43
Diagrama de Secuencia
II. Breve Tour por UML
: Encargado
:WInPrstamos :Socio :Video :Prstamo
prestar(video, socio)
verificar situacin socio
verificar situacin video
registrar prstamo
entregar recibo
44
Diagrama de Colaboracin
Prctica 3
II. Breve Tour por UML
: Encargado
:WInPrstamos
:Socio
:Video
:Prstamo
1: prestar(video, socio)
2: verificar situacin socio
3: verificar situacin video
4: registrar prstamo
5: entregar recibo
45
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
46
Ejemplos (Clase y Visibilidad)
II. Breve Tour por UML
47
Ejemplos (Asociacin)
Profesor Departamento
1 0..1
director
1
dirige
0..1
II. Breve Tour por UML
48
Ejemplos (Clase Asociacin)
II. Breve Tour por UML
Empresa Empleado
1..* * 1..* *
trabajadores empleador
Cargo
nombre
sueldo
0..1
1..*
superior
subordinado
1..*
0..1
49
Ejemplos (Generalizacin)
II. Breve Tour por UML
Trabajador
Directivo Administrativo Obrero
{ disjunta, completa }
50
Ejemplos
Prcticas 4-8
II. Breve Tour por UML
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 }
51
Diagrama de Estados
con prstamos
sin prstamos
alta baja
prestar devolver[ nmero_prstamos = 1 ]
prestar
devolver[ nmero_prstamos > 1 ]
nmero_prstamos = 0
nmero_prstamos > 0
II. Breve Tour por UML
Socio
nmero : int
nombre : char[50]
nmero_prestamos : int = 0
alta()
baja()
prestar(cdigo_libro : int, fecha : date)
devolver(cdigo_libro : int, fecha : date)
52
Diagrama de Actividad
II. Breve Tour por UML
Buscar Bebida
[ no hay caf ]
Poner caf
en filtro
Aadir agua
al depsito
Coger taza
Poner filtro
en mquina
Encender
mquina
Caf en
preparacin
/ cafetera.On
Servir caf Beber
Coger
zumo
[ hay caf ]
indicador de fin
[ hay zumo ]
[ no zumo ]
53
Otro Ejemplo (con swim lines)
Prctica 9
II. Breve Tour por UML
Solicitar
pasaje
Seleccionar
vuelo
Pagar
pasaje
Verificar
existencia vuelo
Informar alternativas y
precios
Solicitar
pago
Reservar
plazas
Emitir
billete
Dar detalles
vuelo
Confirmar plaza
reservada
Airline Vendedor Pasaj ero
54
Diagrama Componentes
II. Breve Tour por UML
Interfaz de Terminal
Gestin de Cuentas Rutinas de conexin Acceso a BD
Control y Anlisis
55
Diagrama de Despliegue
Punto de Venta
Servidor Central
Terminal de Consulta
Gestin de Cuentas
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Rutinas de Coneccion
Comment
Interfaz de Terminal
Comment
Rutinas de Coneccion
Comment
Acceso a BD
Comment
Control y Anlisis
Comment
Prctica 10
II. Breve Tour por UML
56
Diagrama de Despliegue en Rational
Prctica 10
II. Breve Tour por UML
Servidor Central
Punto de Venta
Terminal de Consulta
Acceso a BD
Rutinas de conexin
Control 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 Diagram:
Components / Punto de
Venta
Terminal de
Consulta
Component Diagram:
Components / Terminal
de Consulta
57
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
II. Breve Tour por UML
58
Bibliografa Recomendada
UML
www.omg.org/uml/
Meta-links www.celigent.com/uml/ y www.cetus-links.org/oo_uml.html
Pierre-Alain Muller Instant UML
Martin Fowler, UML Destilled (UML Gota a Gota)
Terry Quatrani, Visual Modeling ..., un caso de estudio

Herramientas CASE
Herramientas basadas en UML
www.objectsbydesign.com/tools/umltools_byPrice.html
International Council in SE (INCOSE) www.incose.org/tools/
Herramientas basadas en UML
www.objectsbydesign.com/tools/umltools_byPrice.html
Otras
Revista IEEE Software, Conferencias: OOPSLA, ECOOP
Patrones www.enteract.com/bradapp/docs/patterns-intro.html,
Tutoriales en ingls www.celigent.com/omg/umlrtf/tutorials.htm

V. Conclusiones
59
Bibliografa Recomendada
V. Conclusiones
Patricio Letelier Torres (letelier@dsic.upv.es)
Departamento Sistemas Informticos y Computacin (DSIC)
Universidad Politcnica de Valencia (UPV) - Espaa

También podría gustarte