Sie sind auf Seite 1von 47

Desarrollo de Software

Orientado a Objeto usando UML


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

www.dsic.upv.es/~uml

Contenido
I.

II.
III.

IV.
V.

Introduccin
Modelado de Software
UML
Breve Tour por UML
El Paradigma Orientado a Objeto usando UML
Fundamentos del Modelado OO
Diagrama de Casos de Uso
Diagramas de Interacciones
Diagrama de Clases
Diagrama de Estados / Diagramas de Actividad
Diagrama de Componentes
Diagrama de Despliegue
Proceso de Desarrollo de SW basado en UML
Conclusiones

www.dsic.upv.es/~uml

Introduccin
Modelado de SW

www.dsic.upv.es/~uml

I. Introduccin: Modelado de SW

Construccin de una casa para fido

Puede hacerlo una sola persona


Requiere:
Modelado mnimo
Proceso simple
Herramientas simples

www.dsic.upv.es/~uml

I. Introduccin: Modelado de SWI

Construccin de una casa

Construida eficientemente y en un tiempo


razonable por un equipo
Requiere:
Modelado
Proceso bien definido
Herramientas ms sofisticadas

www.dsic.upv.es/~uml

I. Introduccin: Modelado de SI

Construccin de un rascacielos

www.dsic.upv.es/~uml

I. Introduccin: Modelado de SWI

Claves en Desarrollo de SI
Notacin

Herramientas

www.dsic.upv.es/~uml

Proceso

Introduccin: UML

www.dsic.upv.es/~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:

www.dsic.upv.es/~uml

Modelado Orientado a Objetos


Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo (Workflows)
9

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

www.dsic.upv.es/~uml

10

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

www.dsic.upv.es/~uml

11

I. Introduccin: UML

Historia de UML
UML 2.0

2001

UML 1.4

2000
1999
1998
Nov 97

www.dsic.upv.es/~uml

UML 1.3
Revisiones menores

UML aprobado por el OMG

UML 1.2

12

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

Intellicorp and James


Martin & co. (James Odell)

www.dsic.upv.es/~uml

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

13

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

www.dsic.upv.es/~uml

14

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

www.dsic.upv.es/~uml

15

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

www.dsic.upv.es/~uml

16

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.

www.dsic.upv.es/~uml

17

Breve Tour por UML

www.dsic.upv.es/~uml

18

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

www.dsic.upv.es/~uml

19

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

www.dsic.upv.es/~uml

20

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

www.dsic.upv.es/~uml

21

II. Breve Tour por UML

... Diagramas de UML


Los diagramas expresan grficamente 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
Colaboracin

Scenario
Scenario
Diagramas de
Diagrams
Diagrams
Estados

www.dsic.upv.es/~uml

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

Distribucin

22

II. Breve Tour por UML

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

Vista Lgica
Vista de los
Casos de Uso

Vista de
Procesos

Vista de
Realizacin

Vista de
Distribucin

Este enfoque sigue el browser de Rational Rose

www.dsic.upv.es/~uml

23

II. Breve Tour por UML

... Organizacin de Modelos


Propuesta de Rational Unified Process (RUP)

M.
M.
M.
M.
M.
M.
M.
M.
M.

de Casos de Uso del Negocio (Business Use-Case Model)


de Objetos del Negocio (Business Object Model)
de Casos de Uso (Use-Case Model)
de Anlisis (Analysis Model)
de Diseo (Design Model)
de Despliegue (Deployment Model)
de Datos (Data Model)
de Implementacin (Implementation Model)
de Pruebas (Test Model)

www.dsic.upv.es/~uml

24

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

www.dsic.upv.es/~uml

25

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

www.dsic.upv.es/~uml

26

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

Prctica 1

www.dsic.upv.es/~uml

27

II. Breve Tour por UML

Paquetes en UML

Prctica 1

www.dsic.upv.es/~uml

28

II. Breve Tour por UML

Diagrama de Casos de Uso


Casos de Uso es una tcnica para capturar
informacin sobre lo que el cliente quiere qu
se haga. Responde a la pregunta qu debe
hacer el sistema a construir?
No pertenece estrictamente al enfoque
orientado a objeto, es una tcnica para captura
de requerimientos funcionales

www.dsic.upv.es/~uml

29

II. Breve Tour por UML

Ejemplos

Supervisor

Administrativo

Verificar Situacin del Cliente

Preparar Catlogo

Sistema
Inventario

Tipos de Venta

www.dsic.upv.es/~uml

30

II. Breve Tour por UML

Ejemplos
En el paquete tipos de venta:

Venta Normal

Vendedor

Venta en Rebajas

Venta en Ofertas

www.dsic.upv.es/~uml

31

II. Breve Tour por UML

Ejemplos

Cliente

Solicitar Prstamo

[Tarjeta Caducada]
<<extend>>

Solicitar Nueva Tarjeta

www.dsic.upv.es/~uml

32

II. Breve Tour por UML

Ejemplos

Reintegro Cuenta Corriente

<<include>>

Verificar Operacin

Cliente

<<include>>

Reintegro Cuenta de Crdito


Prctica 2

www.dsic.upv.es/~uml

33

II. Breve Tour por UML

Diagrama de Secuencia

: Encargado

:WInPrstamos

:Socio

:Video

:Prstamo

prestar(video, socio)
verificar situacin socio
verificar situacin video

registrar prstamo
entregar recibo

www.dsic.upv.es/~uml

34

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

Prctica 3

www.dsic.upv.es/~uml

35

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

www.dsic.upv.es/~uml

36

II. Breve Tour por UML

Ejemplos (Clase y Visibilidad)

www.dsic.upv.es/~uml

37

II. Breve Tour por UML

Ejemplos (Asociacin)

Departamento

dirige
0..1

www.dsic.upv.es/~uml

director

Profesor
1

38

II. Breve Tour por UML

Ejemplos (Clase Asociacin)


empleador

trabajadores

Empresa

Empleado
1..*

Cargo
nombre
sueldo

superior
0..1

subordinado 1..*

www.dsic.upv.es/~uml

39

II. Breve Tour por UML

Ejemplos (Generalizacin)

Trabajador

{ disjunta, completa }

Directivo

www.dsic.upv.es/~uml

Administrativo

Obrero

40

II. Breve Tour por UML

Ejemplos
Motor
1..4

1
Avin

Vendedor de billetes

Piloto

1..2

Vuelo

Reserva

{ disjunta, completa }

1
Avin militar

Avin comercial

Lnea area

{ disjunta, completa }

Avin de carga

www.dsic.upv.es/~uml

Avin de pasajeros

Prcticas 4-8

41

II. Breve Tour por UML

Diagrama de Estados
alta

baja

sin prstamos

nmero_prstamos = 0

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 ]

www.dsic.upv.es/~uml

42

II. Breve Tour por UML

Diagrama de Actividad
[no hay caf]

[no zumo]

Buscar Bebida
[hay zumo]

[hay caf

Poner caf en filtro

Aadir agua al depsito

Coger taza
Coger zumo

Poner filtro en mquina

Encender mquina
/ cafetera.On
Caf en preparacin
indicador de fin
Servir caf

www.dsic.upv.es/~uml

Beber
43

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

www.dsic.upv.es/~uml

Prctica 9

44

II. Breve Tour por UML

Diagrama Componentes
Control y Anlisis
Interfaz de Terminal

Comment

Comment

Gestin de Cuentas
Comment

www.dsic.upv.es/~uml

Rutinas de Coneccion
Comment

Acceso a BD
Comment

45

II. Breve Tour por UML

Diagrama de Despliegue
Serv idor Central

C ontrol y Anlisis
C omment

Acceso a BD
C omment

R utinas de C oneccion
C omment

Terminal de C ons ulta


R utinas de C oneccion
C omment

Punto de Venta

Interf az de Terminal
C omment

R utinas de C oneccion
C omment

Gestin de C uentas
C omment

Interf az de Terminal
C omment

Prctica 10

www.dsic.upv.es/~uml

46

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

www.dsic.upv.es/~uml

47

Das könnte Ihnen auch gefallen