You are on page 1of 231

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 SW

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 SW

Claves en Desarrollo de SI
Notacin

Herramientas

www.dsic.upv.es/~uml

Proceso

I. Introduccin: Modelado de SW

Abstraccin - Modelado Visual


(MV)
El modelado captura las
partes esenciales del sistema
Orden
Item

envo

Proceso de Negocios
Sistema Computacional

www.dsic.upv.es/~uml

I. Introduccin: Modelado de SW

MV para manejar la
complejidad

www.dsic.upv.es/~uml

I. Introduccin: Modelado de SW

MV para definir la Arquitectura


del SW
Interfaz de Usuario
(Visual Basic,
Java, ..)

Lgica del Negocio


(C++, Java, ..)

Servidor de BDs
(C++ & SQL, ..)

Modelar el sistema independientemente


del lenguaje de implementacin

www.dsic.upv.es/~uml

10

I. Introduccin: Modelado de SW

MV promueve la
reutilizacin
Mltiples Sistemas

Componentes
Reutilizados

www.dsic.upv.es/~uml

11

Introduccin: UML

www.dsic.upv.es/~uml

12

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

www.dsic.upv.es/~uml

Orientado a Objetos
de Datos
de Componentes
de Flujos de Trabajo (Workflows)

13

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

14

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

15

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
UML aprobado por el OMG

UML 1.2

Revisiones
menores

16

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

17

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

18

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

19

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

20

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

21

Breve Tour por UML

www.dsic.upv.es/~uml

22

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

23

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

24

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

25

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

26

II. Breve Tour por UML

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

Vista Lgica

Vista de
Realizacin

Vista de los
Casos de Uso
Vista de
Procesos

Vista de
Distribucin

Este enfoque sigue el browser de Rational Rose

www.dsic.upv.es/~uml

27

II. Breve Tour por UML

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

www.dsic.upv.es/~uml

28

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

29

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

30

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

31

II. Breve Tour por UML

Paquetes en UML

Prctica 1

www.dsic.upv.es/~uml

32

II. Breve Tour por UML

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

www.dsic.upv.es/~uml

33

II. Breve Tour por UML

Ejemplos

Supervisor

Administrativo

Verificar Situacin del Cliente

Preparar Catlogo

Sistema
Inventario

Tipos de Venta

www.dsic.upv.es/~uml

34

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

35

II. Breve Tour por UML

Ejemplos

Cliente

Solicitar Prstamo

[Tarjeta Caducada]
<<extend>>

Solicitar Nueva Tarjeta

www.dsic.upv.es/~uml

36

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

37

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

38

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

39

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
40
operaciones
www.dsic.upv.es/~uml

II. Breve Tour por UML

Ejemplos (Clase y Visibilidad)

Alumno
DNI : char[10]
nmero_exp : int
nombre : char[50]
alta()
poner_nota(asignatura : char *, ao : int, nota : float)
matricular(cursos : asignatura, ao : int)
listar_expediente()

www.dsic.upv.es/~uml

41

II. Breve Tour por UML

Ejemplos (Asociacin)

Departamento

dirige
0..1

www.dsic.upv.es/~uml

director

Profesor
1

42

II. Breve Tour por UML

Ejemplos (Clase
Asociacin)
Empresa

empleador

trabajadores

Empleado

1..*

Cargo
nombre
sueldo

superior
0..1

subordinado 1..*

www.dsic.upv.es/~uml

43

II. Breve Tour por UML

Ejemplos (Generalizacin)

Trabajador

{ disjunta, completa }

Directivo

www.dsic.upv.es/~uml

Administrativo

Obrero

44

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

45

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

46

II. Breve Tour por UML

Diagrama de Actividad
Buscar Bebida

[no hay caf]

[hay caf
Poner caf en filtro

[no zumo]
[hay zumo]

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
47

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

48

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

49

II. Breve Tour por UML

Diagrama de Despliegue
Servidor Central

Control y Anlisis
Comment

Acceso a BD
Comment
Rutinas de Coneccion
Comment

Terminal de Consulta
Rutinas de Coneccion
Comment
Punto de Venta

Interfaz de Terminal
Comment

Rutinas de Coneccion
Comment

Gestin de Cuentas

Interfaz de Terminal

Comment

Comment

Prctica 10

www.dsic.upv.es/~uml

50

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

51

El Paradigma
Orientado a Objeto
usando UML

www.dsic.upv.es/~uml

52

III. El Paradigma Orientado a Objeto

Por qu la Orientacin a
Objetos?

Proximidad de los conceptos de modelado


respecto de las entidades del mundo real

Modelado integrado de propiedades estticas y


dinmicas del mbito del problema

Mejora captura y validacin de requisitos


Acerca el espacio del problema y el espacio de la
solucin

Facilita construccin, mantenimiento y reutilizacin

www.dsic.upv.es/~uml

53

III. El Paradigma Orientado a Objeto

Por qu la Orientacin a
Objetos?

Conceptos comunes de modelado durante el


anlisis, diseo e implementacin
Facilita la transicin entre distintas fases
Favorece el desarrollo iterativo del sistema
Disipa la barrera entre el qu y el cmo

Sin embargo, existen problemas ...

www.dsic.upv.es/~uml

54

III. El Paradigma Orientado a Objeto

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
...La mayora de los usuarios de la OO no utilizan
los conceptos de la OO de forma purista, como
inicialmente se pretenda. Esta prctica ha sido
promovida por muchas herramientas y lenguajes
que intentan utilizar los conceptos en diversos
grados
--Wolfgang Strigel

www.dsic.upv.es/~uml

55

III. El Paradigma Orientado a Objeto

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

www.dsic.upv.es/~uml

56

III. El Paradigma Orientado a Objeto

Reflexiones respecto de Situacin


Actual de Desarrollo de SI
Anlisis
Enfoque
Estructurado

DFDs
E-R

Diagramas de Casos de Uso


Diagramas de Actividad
Diagramas de Secuencia
Diagramas de Colaboracin d

Enfoque OO

www.dsic.upv.es/~uml

Diseo
DEs
Modelo
Relacional
Modelo
Relacional !!

Diagrama de Clases
Diagrama de Estados
Diagramas de Actividad

Implementacin
Entornos de
Programacin
Visual

Bases de Datos
(Objeto-)
Relacionales

57

Fundamentos de Modelado
OO

www.dsic.upv.es/~uml

58

III. El Paradigma OO: Fundamentos de Modelado OO

Objetos

Objeto = unidad atmica que encapsula


estado y comportamiento

La encapsulacin en un objeto permite


una alta cohesin y un bajo acoplamiento

Un objeto puede caracterizar una entidad


fsica (coche) o abstracta (ecuacin
matemtica)

www.dsic.upv.es/~uml

59

III. El Paradigma OO: Fundamentos de Modelado OO

Objetos

El Modelado de Objetos permite


representar el ciclo de vida de los objetos
a travs de sus interacciones
En UML, un objeto se representa por un
rectngulo con un nombre subrayado
Otro
Objeto
ms

Un Objeto

Otro
Objeto

www.dsic.upv.es/~uml

60

III. El Paradigma OO: Fundamentos de Modelado OO

Objetos

Ejemplo de varios objetos relacionados:


Cuenta Corriente 101
Juan
Banco de Valencia

Felipe
Cuenta Corriente 114

www.dsic.upv.es/~uml

61

III. El Paradigma OO: Fundamentos de Modelado OO

Objetos

Objeto = Identidad + Estado +


Comportamiento
El estado est representado por los valores de
los atributos
Un atributo toma un valor en un dominio
concreto
Un coche
Azul
979 Kg
70 CV
...

www.dsic.upv.es/~uml

62

III. El Paradigma OO: Fundamentos de Modelado OO

Clases y Objetos

www.dsic.upv.es/~uml

63

III. El Paradigma OO: Fundamentos de Modelado OO

Identidad

Oid (Object Identifier)


Cada objeto posee un oid. El oid establece la identidad
del objeto y tiene las siguientes caractersticas:
Constituye un identificador nico y global para cada
objeto dentro del sistema
Es determinado en el momento de la creacin del objeto
Es independiente de la localizacin fsica del objeto, es
decir, provee completa independencia de localizacin

www.dsic.upv.es/~uml

64

III. El Paradigma OO: Fundamentos de Modelado OO

Identidad
Es independiente de las propiedades del objeto, lo cual
implica independencia de valor y de estructura
No cambia durante toda la vida del objeto. Adems, un oid no
se reutiliza aunque el objeto deje de existir
No se tiene ningn control sobre los oids y su manipulacin
resulta transparente

Sin embargo, es preciso contar con algn medio para hacer


referencia a un objeto utilizando referencias del dominio
(valores de atributos)

www.dsic.upv.es/~uml

65

III. El Paradigma OO: Fundamentos de Modelado OO

Estado

El estado evoluciona con el tiempo

Algunos atributos pueden ser constantes

El comportamiento agrupa las competencias de


un objeto y describe las acciones y reacciones
de ese objeto

Las operaciones de un objeto son consecuencia


de un estmulo externo representado como
mensaje enviado desde otro objeto

www.dsic.upv.es/~uml

66

III. El Paradigma OO: Fundamentos de Modelado OO

Comportamiento

Ejemplo de interaccin:

www.dsic.upv.es/~uml

67

III. El Paradigma OO: Fundamentos de Modelado OO

Comportamiento

Los mensajes navegan por los enlaces, a


priori en ambas direcciones

Estado y comportamiento estn


relacionados

Ejemplo: no es posible aterrizar un avin si


no est volando. Est volando como
consecuencia de haber despegado del
suelo

www.dsic.upv.es/~uml

68

III. El Paradigma OO: Fundamentos de Modelado OO

Persistencia

La persistencia de los objetos designa la capacidad


de un objeto trascender en el espacio/tiempo

Podremos despus reconstruirlo, es decir, cogerlo


de memoria secundaria para utilizarlo en la
ejecucin (materializacin del objeto)

Los lenguajes OO no proponen soporte adecuado


para la persistencia, la cual debera ser
transparente, un objeto existe desde su creacin
hasta que se destruya

www.dsic.upv.es/~uml

69

III. El Paradigma OO: Fundamentos de Modelado OO

Comunicacin

Un sistema informtico puede verse


como un conjunto de objetos autnomos
y concurrentes que trabajan de manera
coordinada en la consecucin de un fin
especfico

El comportamiento global se basa pues


en la comunicacin entre los objetos que
la componen

www.dsic.upv.es/~uml

70

III. El Paradigma OO: Fundamentos de Modelado OO

Comunicacin

Categoras de objetos:
Activos - Pasivos
Cliente Servidores, Agentes

Objeto Activo: posee un hilo de ejecucin (thread) propio


y puede iniciar una actividad

Objeto Pasivo: no puede iniciar una actividad pero puede


enviar estmulos una vez que se le solicita un servicio

Cliente es el objeto que solicita un servicio. Servidor es el


objeto que provee el servicio solicitado

www.dsic.upv.es/~uml

71

III. El Paradigma OO: Fundamentos de Modelado OO

Comunicacin

Los agentes renen las caractersticas


de clientes y servidores

Son la base del mecanismo de


delegacin

Introducen indireccin: un cliente


puede comunicarse con un servidor
que no conoce directamente

www.dsic.upv.es/~uml

72

III. El Paradigma OO: Fundamentos de Modelado OO

Comunicacin

Ejemplo en el que un agente hace de


aislante:
Un agente

Sevidor 1

Servidor 2
Un cliente

www.dsic.upv.es/~uml

73

III. El Paradigma OO: Fundamentos de Modelado OO

El Concepto de Mensaje

La unidad de comunicacin entre objetos se


llama mensaje

El mensaje es el soporte de una


comunicacin que vincula dinmicamente los
objetos que fueron separados previamente
en el proceso de descomposicin

Adquiere toda su fuerza cuando se asocia al


polimorfismo y al enlace dinmico

www.dsic.upv.es/~uml

74

III. El Paradigma OO: Fundamentos de Modelado OO

El Concepto de Mensaje
Objeto 1

: Mensaje A
Objeto 2

: Mensaje C

: Mensaje E

Objeto 3

Objeto 4

: Mensaje D

www.dsic.upv.es/~uml

75

III. El Paradigma OO: Fundamentos de Modelado OO

Mensaje y Estmulo

Un estmulo causar la invocacin de una operacin,


la creacin o destruccin de un objeto o la aparicin
de una seal

Un mensaje es la especificacin de un estmulo

Tipos de flujo de control:

Llamada a procedimiento o flujo de control anidado


Flujo de control plano
Retorno de una llamada a procedimiento
Otras variaciones
Esperado (balking)
Cronometrado (time-out)

www.dsic.upv.es/~uml

76

III. El Paradigma OO: Diagrama de Casos de Us

Diagrama de Casos de Uso

www.dsic.upv.es/~uml

77

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso

Los Casos de Uso (Ivar Jacobson) describen bajo la


forma de acciones y reacciones el comportamiento
de un sistema desde el p.d.v. del usuario

Permiten definir los lmites del sistema y las


relaciones entre el sistema y el entorno

Los Casos de Uso son descripciones de la


funcionalidad del sistema independientes de la
implementacin

Comparacin con respecto a los Diagramas de Flujo


de Datos del Enfoque Estructurado

www.dsic.upv.es/~uml

78

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso

Los Casos de Uso cubren la carencia


existente en mtodos previos (OMT, Booch)
en cuanto a la determinacin de requisitos

Los Casos de Uso particionan el conjunto de


necesidades atendiendo a la categora de
usuarios que participan en el mismo

Estn basado en el lenguaje natural, es


decir, es accesible por los usuarios

www.dsic.upv.es/~uml

79

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso

Ejemplo:

Actor A

Caso de Uso A

Caso de Uso B

www.dsic.upv.es/~uml

Actor B

80

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso
Actores:

Principales: personas que usan el sistema


Secundarios: personas que mantienen o administran el
sistema
Material externo: dispositivos materiales imprescindibles
que forman parte del mbito de la aplicacin y deben ser
utilizados
Otros sistemas: sistemas con los que el sistema interacta

La misma persona fsica puede interpretar varios


papeles como actores distintos

El nombre del actor describe el papel desempeado

www.dsic.upv.es/~uml

81

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso

Los Casos de Uso se determinan observando y


precisando, actor por actor, las secuencias de
interaccin, los escenarios, desde el punto de
vista del usuario

Un escenario es una instancia de un caso de uso

Los casos de uso intervienen durante todo el ciclo


de vida. El proceso de desarrollo estar dirigido
por los casos de uso

www.dsic.upv.es/~uml

82

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso: Relaciones

UML define cuatro tipos de relacin en los


Diagramas de Casos de Uso:
Comunicacin

Actor

www.dsic.upv.es/~uml

Caso de Uso

83

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Relaciones
Inclusin : una instancia del Caso de Uso origen
incluye tambin el comportamiento descrito por el
Caso de Uso destino
<<include>>

Caso de Uso Origen

Caso de Uso Destino

<<include>> reemplaz al denominado <<uses>>

www.dsic.upv.es/~uml

84

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Relaciones
Extensin : el Caso de Uso origen
extiende el comportamiento del Caso de
Uso destino
<<extend>>

Caso de Uso Origen

www.dsic.upv.es/~uml

Caso de Uso Destino

85

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Relaciones
Herencia : el Caso de Uso origen hereda
la especificacin del Caso de Uso destino
y posiblemente la modifica y/o ampla

Caso de Uso Hijo

www.dsic.upv.es/~uml

Caso de Uso Padre

86

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Relaciones

Ejemplo:
<<include>>

Cliente

Identificacin

Transferencia

<<extend>>

Transferencia en Internet

www.dsic.upv.es/~uml

87

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Relaciones

Ejemplo:

www.dsic.upv.es/~uml

88

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Construccin

Un caso de uso debe ser simple, inteligible, claro y


conciso
Generalmente hay pocos actores asociados a cada
Caso de Uso
Preguntas clave:
cules son las tareas del actor?
qu informacin crea, guarda, modifica,
destruye o lee el actor?
debe el actor notificar al sistema los cambios
externos?
debe el sistema informar al actor de los
cambios internos?

www.dsic.upv.es/~uml

89

III. El Paradigma OO: Diagrama de Casos de Us

Casos de Uso:
Construccin

La descripcin del Caso de Uso comprende:


el inicio: cundo y qu actor lo produce?
el fin: cundo se produce y qu valor devuelve?
la interaccin actor-caso de uso: qu mensajes
intercambian ambos?
objetivo del caso de uso: qu lleva a cabo o
intenta?
cronologa y origen de las interacciones
repeticiones de comportamiento: qu
operaciones son iteradas?
situaciones opcionales: qu ejecuciones
alternativas se presentan en el caso de uso?

www.dsic.upv.es/~uml

90

III. El Paradigma OO: Diagrama de Casos de Us


RF- <id del requisito>
Versin
Autores
Fuentes
Objetivos asociados
Descripcin

Precondicin
Secuencia
Normal

Postcondicin
Excepciones

Rendimiento
Frecuencia esperada
Importancia
Urgencia
Comentarios

www.dsic.upv.es/~uml

<nombre del requisito funcional>


<numero de versin y fecha>
<autor>
<fuente de la versin actual>
<nombre del objetivo>
El sistema deber comportarse tal como se describe en
el siguiente caso de uso { concreto cuando <evento de
activacin> , abstracto durante la realizacin de los
casos de uso <lista de casos de uso>}
<precondicin del caso de uso>
Paso Accin
1
{El <actor> , El sistema} <accin realizada por el
actor o sistema>, se realiza el caso de uso
< caso de uso RF-x>
2
Si <condicin>, {el <actor> , el sistema} <accin
realizada por el actor o sistema>>, se realiza el
caso de uso < caso de uso RF-x>
3
4
5
6
n
<postcondicin del caso de uso>
Paso Accin
1
Si <condicin de excepcin>,{el <actor> , el
sistema} }<accin realizada por el actor o
sistema>>, se realiza el caso de uso
< caso de uso RF-x>, a continuacin este caso
de uso {continua, aborta}
2
3
Paso Cota de tiempo
1
n segundos
2
n segundos
<n de veces> veces / <unidad de tiempo>
{sin importancia, importante, vital}
{puede esperar, hay presin, inmediatamente}
<comentarios adicionales>

91

III. El Paradigma OO: Diagrama de Casos de Us

Modelo de Casos de Uso y


Modelo Conceptual (Anlisis)

La especificacin de cada caso de uso y


los correspondientes D. de Interaccin
establecen el vnculo con el modelo
conceptual

En mtodos OO que carecen de una


tcnica de captura de requisitos se
comienza inmediatamente con la
construccin del modelo conceptual
(anlisis)
Prctica 11

www.dsic.upv.es/~uml

92

Diagramas de Interaccin

www.dsic.upv.es/~uml

93

III. El Paradigma OO: Diagramas de Interaccin

Interaccin

Los objetos interactan para realizar


colectivamente los servicios ofrecidos por
las aplicaciones. Los diagramas de
interaccin muestran cmo se comunican
los objetos en una interaccin

Existen dos tipos de diagramas de


interaccin: el Diagrama de Colaboracin
y el Diagrama de Secuencia

www.dsic.upv.es/~uml

94

III. El Paradigma OO: Diagramas de Interaccin

Mensajes
Sintaxis para mensajes:
predecesor / guarda secuencia: retorno := msg(args)

www.dsic.upv.es/~uml

95

III. El Paradigma OO: Diagramas de Interaccin

Diagramas de interaccin

El Diagrama de Secuencia es ms adecuados


para observar la perspectiva cronolgica de
las interacciones

El Diagrama de Colaboracin ofrece una mejor


visin espacial mostrando los enlaces de
comunicacin entre objetos

El D. de Colaboracin puede obtenerse


automticamente a partir del correspondiente
D. de Secuencia (o viceversa)

www.dsic.upv.es/~uml

96

III. El Paradigma OO: Diagramas de Interaccin

Diagrama de Secuencia

Muestra la secuencia de mensajes entre


objetos durante un escenario concreto

Cada objeto viene dado por una barra vertical

El tiempo transcurre de arriba abajo

Cuando existe demora entre el envo y la


atencin se puede indicar usando una lnea
oblicua

www.dsic.upv.es/~uml

97

III. El Paradigma OO: Diagramas de Interaccin

Diagrama de Secuencia

www.dsic.upv.es/~uml

98

III. El Paradigma OO: Diagramas de Interaccin

Diagrama de Secuencia
mostrando foco de
control,
condiciones, recursin
creacin y destruccin
de objetos

www.dsic.upv.es/~uml

99

III. El Paradigma OO: Diagramas de Interaccin

Diagrama de Secuencia

www.dsic.upv.es/~uml

100

III. El Paradigma OO: Diagramas de Interaccin

Diagrama de Colaboracin

Son tiles en la fase exploratoria para


identificar objetos

La distribucin de los objetos en el


diagrama permite observar
adecuadamente la interaccin de un
objeto con respecto de los dems

La estructura esttica viene dada por los


enlaces; la dinmica por el envo de
mensajes por los enlaces

www.dsic.upv.es/~uml

101

III. El Paradigma OO: Diagramas de Interaccin

Mensajes

Un mensaje desencadena una accin en el


objeto destinatario

Un mensaje se enva si han sido enviados


los mensajes de una lista (sincronizacin):

A.1, B.3 / 1:Mensaje

www.dsic.upv.es/~uml

102

III. El Paradigma OO: Diagramas de Interaccin

Mensajes

Un mensaje se enva de manera


condicionada:
[x>y] 1: Mensaje

B
A

www.dsic.upv.es/~uml

103

III. El Paradigma OO: Diagramas de Interaccin

Mensajes

Un mensaje que devuelve un resultado:

1: distancia:= mover(x,y)
B
A

Prctica 12

www.dsic.upv.es/~uml

104

Diagrama de Clases

www.dsic.upv.es/~uml

105

III. El Paradigma OO: Diagrama de Clases

Clasificacin

El mundo real puede ser visto desde abstracciones


diferentes (subjetividad)

Mecanismos de abstraccin:

Clasificacin / Instanciacin
Composicin / Descomposicin
Agrupacin / Individualizacin
Especializacin / Generalizacin

La clasificacin es uno de los mecanismos de abstraccin


ms utilizados

www.dsic.upv.es/~uml

106

III. El Paradigma OO: Diagrama de Clases

Clases

La clase define el mbito de definicin


de un conjunto de objetos

Cada objeto pertenece a una clase

Los objetos se crean por instanciacin


de las clases

www.dsic.upv.es/~uml

107

III. El Paradigma OO: Diagrama de Clases

Clases: Notacin Grfica

Cada clase se representa en un


rectngulo con tres compartimientos:
nombre de la clase
atributos de la clase
operaciones de la clase

motocicleta
color
cilindrada
velocidad maxima
arrancar
acelerar
frenar

www.dsic.upv.es/~uml

108

III. El Paradigma OO: Diagrama de Clases

Clases: Notacin Grfica

Otros ejemplos:
lista
pila
primero
ultimo
aadir
quitar
cardinalidad

www.dsic.upv.es/~uml

apilar
desapilar
cardinalidad

109

III. El Paradigma OO: Diagrama de Clases

Clases: Encapsulacin

La encapsulacin presenta dos ventajas


bsicas:
Se protegen los datos de accesos indebidos
El acoplamiento entre las clases se
disminuye
Favorece la modularidad y el mantenimiento

Los atributos de una clase no deberan ser


manipulables directamente por el resto de
objetos

www.dsic.upv.es/~uml

110

III. El Paradigma OO: Diagrama de Clases

Clases: Encapsulacin

Los niveles de encapsulacin estn heredados


de los niveles de C++:

(-) Privado : es el ms fuerte. Esta parte es


totalmente invisible (excepto para clases friends en
terminologa C++)

(#) Los atributos/operaciones protegidos estn


visibles para las clases friends y para las clases
derivadas de la original

(+) Los atributos/operaciones pblicos son visibles


a otras clases (cuando se trata de atributos se est
transgrediendo el principio de encapsulacin)

www.dsic.upv.es/~uml

111

III. El Paradigma OO: Diagrama de Clases

Clases: Encapsulacin

Ejemplo:
Reglas de visibilidad
+ Atributo pblico : int
# Atributo protegido : int
- Atributo privado : int
+ "Operacin pblica"
# "Operacin protegida"
- "Operacin privada"

www.dsic.upv.es/~uml

112

III. El Paradigma OO: Diagrama de Clases

Relaciones entre Clases

Los enlaces entre de objetos pueden


representarse entre las respectivas clases

Formas de relacin entre clases:


Asociacin y Agregacin (vista como un caso
particular de asociacin)
Generalizacin/Especializacin

Las relaciones de Agregacin y Generalizacin


forman jerarquas de clases

www.dsic.upv.es/~uml

113

III. El Paradigma OO: Diagrama de Clases

Asociacin

La asociacin expresa una conexin


bidireccional entre objetos
Una asociacin es una abstraccin de la
relacin existente en los enlaces entre los
objetos
Univ. de Murcia:Universidad

Un enlace

Universidad

Antonio:Estudiante

Estudiante
Una asociacin

www.dsic.upv.es/~uml

114

III. El Paradigma OO: Diagrama de Clases

Asociacin

Ejemplo:
marido
casado-con

Administra

www.dsic.upv.es/~uml

0.. 1
mujer
jefe
0.. 1

0.. 1

Persona *
nombre
s. s.

trabaja-para
emplea-a

* Compaa
nombre
direccin

empleado

115

III. El Paradigma OO: Diagrama de Clases

Asociacin

Especificacin de multiplicidad
(mnima...mxima)
1 Uno y slo uno
0..1
Cero o uno
M..N
Desde M hasta N (enteros naturales)
* Cero o muchos
0..*Cero o muchos
1..*Uno o muchos (al menos uno)

La multiplicidad mnima >= 1 establece


una restriccin de existencia

www.dsic.upv.es/~uml

116

III. El Paradigma OO: Diagrama de Clases

Asociacin Cualificada
Aerolnea

Tablero
Ajedrez

nro_billete

0..1

1
fila
columna

Viajero

Cuadro

Reduce la multiplicidad del rol opuesto al considerar el


valor
del cualificador

www.dsic.upv.es/~uml

117

III. El Paradigma OO: Diagrama de Clases

Agregacin

La agregacin representa una relacin


parte_de entre objetos

En UML se proporciona una escasa


caracterizacin de la agregacin

Puede ser caracterizada con precisin


determinando las relaciones de
comportamiento y estructura que existen entre
el objeto agregado y cada uno de sus objetos
componentes

www.dsic.upv.es/~uml

118

III. El Paradigma OO: Diagrama de Clases

Agregacin:
Caracterizacin

Caracterizaciones relacionadas con la multiplicidad

Multiplicidad Mnima
0
flexible
> 0 estricta
Multiplicidad

Objeto
Agregado
(mna, mxa)

Multiplicidad Mnima
(mnc,
0
nulos permitidos
> 0 nulos no
Objeto
permitidos

mxc)

Componente

www.dsic.upv.es/~uml

Mxima
1
disjunto
> 1 no disjunto

Multiplicidad Mxima
1
univaluado
> 1 multivaluado

119

III. El Paradigma OO: Diagrama de Clases

... Agregacin:
Caracterizacin

En UML slo se distingue entre agregacin y composicin (aggregate


composition), siendo esta ltima disjunta y estricta
Adems se una agregacin se podra caracterizar segn:

Puede el objeto parte comunicarse directamente con objetos externos al


objeto agregado?
No => inclusiva
Si => no inclusiva
Puede cambiar La composicin del objeto agregado?
Si => dinmica
No => esttica

www.dsic.upv.es/~uml

120

III. El Paradigma OO: Diagrama de Clases

Ejemplos

www.dsic.upv.es/~uml

121

III. El Paradigma OO: Diagrama de Clases

... Ejemplos

www.dsic.upv.es/~uml

122

III. El Paradigma OO: Diagrama de Clases

Ejemplos
Agregacin

Cuenta

1 contiene

Polgono

3.. *

{ordenado}

Persona

or
1

Punto

Asociacin excluyente

Empresa

Usuario

est-autorizado-en

Estacin

Autorizacin
prioridad
Clase de asociacin privilegios
camb_privil

www.dsic.upv.es/~uml

123

III. El Paradigma OO: Diagrama de Clases

Clases y Objetos

Diagrama de Clases y Diagramas de


Objetos pertenecen a dos vistas
complementarias del modelo

Un Diagrama de Clases muestra la


abstraccin de una parte del dominio

Un Diagrama de Objetos representa una


situacin concreta del dominio

Las clases abstractas no son instanciadas

www.dsic.upv.es/~uml

124

III. El Paradigma OO: Diagrama de Clases

Generalizacin

Permite gestionar la complejidad mediante un


ordenamiento taxonmico de clases

Se obtiene usando los mecanismos de


abstraccin de Generalizacin y/o
Especializacin

La Generalizacin consiste en factorizar las


propiedades comunes de un conjunto de clases
en una clase ms general

www.dsic.upv.es/~uml

125

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Nombres usados: clase padre - clase hija.


Otros nombres: superclase - subclase,
clase base - clase derivada

Las subclases heredan propiedades de


sus clases padre, es decir, atributos y
operaciones (y asociaciones) de la clase
padre estn disponibles en sus clases
hijas

www.dsic.upv.es/~uml

126

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

La Generalizacin y Especializacin son


equivalentes en cuanto al resultado: la
jerarqua y herencia establecidas

Generalizacin y Especializacin no son


operaciones reflexivas ni simtricas
pero s transitivas

www.dsic.upv.es/~uml

127

III. El Paradigma OO: Diagrama de Clases

... Generalizacin
Vehculo

Veihculo Terrestre

Coche

www.dsic.upv.es/~uml

Camin

Vehculo Areo

Avin

Helicptero

128

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

La especializacin es una tcnica muy eficaz para la


extensin y reutilizacin
Coche

Funcionando

Restricciones predefinidas en UML:

Estropeado

disjunta - no disjunta
total (completa) - parcial (incompleta)

www.dsic.upv.es/~uml

129

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

La nocin de clase est prxima a la de


conjunto

Dada una clase, podemos ver el conjunto


relativo a las instancias que posee o bien
relativo a las propiedades de la clase

Generalizacin y especializacin expresan


relaciones de inclusin entre conjuntos

www.dsic.upv.es/~uml

130

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Particionamiento del espacio de objetos


=> Clasificacin Esttica

Particionamiento del espacio de estados


de los objetos => Clasificacin Dinmica

En ambos casos se recomienda considerar


generalizaciones/especializaciones
disjuntas

www.dsic.upv.es/~uml

131

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Un ejemplo de Clasificacin Esttica:


Vehculo Areo
{ esttica }

Avin

www.dsic.upv.es/~uml

Helicptero

132

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Un ejemplo de Clasificacin Dinmica:


Coche
{ dinmica }

Funcionando

www.dsic.upv.es/~uml

Estropeado

133

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Extensin: Posibles instancias de una


clase

Intensin: Propiedades definidas en una


clase
A
int(A) int(B)
ext(B) ext(A)
B

www.dsic.upv.es/~uml

134

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Clasificacin Esttica
C0

ext(C0) = ext(Ci)
{ static }

completa
ext(Ci) ext(Cj) =

C1

www.dsic.upv.es/~uml

Cn

disjunta

135

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Clasificacin Dinmica
C0

ext(C0) = ext(Ci)

{ dinmica }

completa

extt(Ci) extt(Cj) = disjunta en t


extt1(Ci) extt2(Cj)
posiblemente

C1

www.dsic.upv.es/~uml

Cn

no disjunta en
diferentes
instantes
136

III. El Paradigma OO: Diagrama de Clases

... Generalizacin

Ejemplo: varias especializaciones a partir


de la misma clase padre, usando
discriminadores:
Comercial

Militar

uso
Vehculo Areo

estructura

Avin

www.dsic.upv.es/~uml

Helicptero
137

III. El Paradigma OO: Diagrama de Clases

Clasificacin Mltiple (herencia


mltiple)

Se presenta cuando una subclase tiene ms de


una superclase

La herencia mltiple debe manejarse con


precaucin. Algunos problemas son el conflicto
de nombre y el conflicto de precedencia

Se recomienda un uso restringido y


disciplinado de la herencia. Java y Ada 95
simplemente no ofrecen herencia mltiple

www.dsic.upv.es/~uml

138

III. El Paradigma OO: Diagrama de Clases

Herencia Mltiple

Uso disciplinado de la herencia mltiple:


clasificaciones disjuntas con clases padre en
hojas de jerarquas alternativas
Bpedo

Cuadrpedo

nro patas

nro patas
Herbvoro

Con Pelos
comida

cubertura
Con Plumas

cobertura

Animal
comida

cobertura

Carnvoro

Con Escamas

Conejo

www.dsic.upv.es/~uml

139

III. El Paradigma OO: Diagrama de Clases

Principio de Sustitucin

El Principio de Sustitucin de Liskow


(1987) afirma que:
Debe ser posible utilizar cualquier
objeto instancia de una subclase en el
lugar de cualquier objeto instancia de
su superclase sin que la semntica del
programa escrito en los trminos de la
superclase se vea afectado.

www.dsic.upv.es/~uml

140

III. El Paradigma OO: Diagrama de Clases

Principio de Sustitucin

Dado que los programadores pueden


introducir cdigo en las subclases
redefiniendo las operaciones, es posible
introducir involuntaria-mente incoherencias
que violen el principio de sustitucin

El polimorfismo que veremos a continuacin


no debera implementarse sin este principio

www.dsic.upv.es/~uml

141

III. El Paradigma OO: Diagrama de Clases

Polimorfismo

El trmino polimorfismo se refiere a que una


caracterstica de una clase puede tomar
varias formas

El polimorfismo representa en nuestro caso


la posibilidad de desencadenar operaciones
distintas en respuesta a un mismo mensaje

Cada subclase hereda las operaciones pero


tiene la posibilidad de modificar localmente
el comportamiento de estas operaciones

www.dsic.upv.es/~uml

142

III. El Paradigma OO: Diagrama de Clases

Polimorfismo

Ejemplo: todo animal duerme, pero


cada clase lo hace de forma distinta
Animal
dormir()

?
dormir

?
Len

www.dsic.upv.es/~uml

Oso

Tigre

143

III. El Paradigma OO: Diagrama de Clases

Polimorfismo
Animal
dormir()

Dormir()
{
}

Len

Oso

Tigre

dormir()

dormir()

dormir()

Dormir()
{
sobre el vientre
}

www.dsic.upv.es/~uml

Dormir()
{
sobrela espalda
}

Dormir()
{
en un rbol
}
144

III. El Paradigma OO: Diagrama de Clases

Polimorfismo

La bsqueda automtica del cdigo


que en cada momento se va a ejecutar
es fruto del enlace dinmico

El cumplimiento del Principio de


Sustitucin permite obtener un
comportamiento y diseo coherente

www.dsic.upv.es/~uml

145

Diagrama de Estados

www.dsic.upv.es/~uml

146

III. El Paradigma OO: Diagrama de Estados

Diagrama de Estados

Los Diagramas de Estados representan


autmatas de estados finitos, desde el
p.d.v. de los estados y las transiciones

Son tiles slo para los objetos con un


comportamiento significativo

El formalismo utilizado proviene de los


Statecharts (Harel)

www.dsic.upv.es/~uml

147

III. El Paradigma OO: Diagrama de Estados

Diagrama de Estados

Cada objeto est en un estado en cierto instante


El estado est caracterizado parcialmente por los
valores algunos de los atributos del objeto
El estado en el que se encuentra un objeto
determina su comportamiento
Cada objeto sigue el comportamiento descrito en
el D. de Estados asociado a su clase
Los D. De Estados y escenarios son complementarios

www.dsic.upv.es/~uml

148

III. El Paradigma OO: Diagrama de Estados

Diagrama de Estados

Los D. de Estados son autmatas jerrquicos


que permiten expresar concurrencia,
sincronizacin y jerarquas de objetos
Los D. de Estados son grafos dirigidos
Los D. De Estados de UML son deterministas
Los estados inicial y final estn diferenciados
del resto
La transicin entre estados es instantnea y
se debe a la ocurrencia de un evento

www.dsic.upv.es/~uml

149

III. El Paradigma OO: Diagrama de Estados

Diagrama de Estados

Estados y Transiciones
Evento [condicin] / Accin

B
Tanto el evento como la accin se
consideran instantneos

www.dsic.upv.es/~uml

150

III. El Paradigma OO: Diagrama de Estados

Diagrama de Estados

Ejemplo de un Diagrama de Estados


para la clase persona:
contratar
en el paro

en activo
perder empleo

jubilarse
jubilarse
jubilado

www.dsic.upv.es/~uml

151

III. El Paradigma OO: Diagrama de Estados

Acciones

Podemos especificar la solicitud de un


servicio a otro objeto como
consecuencia de la transicin:
A

Evento [condicin] / OtroObjeto.Operacin

www.dsic.upv.es/~uml

152

III. El Paradigma OO: Diagrama de Estados

Acciones

Se puede especificar el ejecutar una


accin como consecuencia de entrar,
salir, estar en un estado, o por la
ocurrencia de un evento:
estado A
entry: accin por entrar
exit: accin por salir
do: accin mientras en estado
on evento: accin

www.dsic.upv.es/~uml

153

III. El Paradigma OO: Diagrama de Estados

Generalizacin de Estados

Podemos reducir la complejidad de


estos diagramas usando la
generalizacin de estados
Distinguimos as entre superestado y
subestados
Un estado puede contener varios
subestados disjuntos
Los subestados heredan las variables
de estado y las transiciones externas

www.dsic.upv.es/~uml

154

III. El Paradigma OO: Diagrama de Estados

Generalizacin de Estados

Ejemplo:
e1

e2
e2
C

www.dsic.upv.es/~uml

155

III. El Paradigma OO: Diagrama de Estados

Generalizacin de Estados

Quedara como:

Aa

e1

b
B

e2

www.dsic.upv.es/~uml

156

III. El Paradigma OO: Diagrama de Estados

Generalizacin de
Estados

Las transiciones de entrada deben ir


hacia subestados especficos:
e1
Aa

Bb
e2

e0

www.dsic.upv.es/~uml

157

III. El Paradigma OO: Diagrama de Estados

Generalizacin de
Estados

Es preferible tener estados iniciales de


entrada a un nivel de manera que
desde los niveles superiores no se sepa
a qu subestado se entra:
e1
Aa

b
B
e2

www.dsic.upv.es/~uml

C
e0

158

III. El Paradigma OO: Diagrama de Estados

Generalizacin de
Estados

La agregacin de estados es la
composicin de un estado a partir de
varios estados independientes

La composicin es concurrente por lo


que el objeto estar en alguno de los
estados de cada uno de los subestados
concurrentes

www.dsic.upv.es/~uml

159

III. El Paradigma OO: Diagrama de Estados

Generalizacin de
Estados

Ejemplo:

e1

www.dsic.upv.es/~uml

e1

160

III. El Paradigma OO: Diagrama de Estados

Generalizacin de
Estados

Ejemplo:

www.dsic.upv.es/~uml

161

III. El Paradigma OO: Diagrama de Estados

Historia

Por defecto, los autmatas no tienen


memoria

Es posible memorizar el ltimo subestado


visitado para recuperarlo en una transicin
entrante en el superestado que lo engloba

Tambin es posible la memorizacin para


cualquiera de los subestados anidados
(aparece un * junto a la H)

www.dsic.upv.es/~uml

162

III. El Paradigma OO: Diagrama de Estados

Historia

Ejemplo:
A

d2
B
in
D

out
d1
C

H*

www.dsic.upv.es/~uml

163

III. El Paradigma OO: Diagrama de Estados

Historia

Ejemplo:
Enjuague

Lavado

Secado

cerrar puerta

abir puerta

Espera

www.dsic.upv.es/~uml

164

III. El Paradigma OO: Diagrama de Estados

Destruccin del Objeto

La destruccin de un objeto es efectiva


cuando el flujo de control del autmata
alcanza un estado final no anidado

La llegada a un estado final anidado


implica la subida al superestado
asociado, no el fin del objeto

www.dsic.upv.es/~uml

165

III. El Paradigma OO: Diagrama de Estados

Destruccin de Objeto

Ejemplo:
En vuelo

despegar
Crear(matricula)

www.dsic.upv.es/~uml

crash

aterrizar

En tierra

166

III. El Paradigma OO: Diagrama de Estados

Transiciones temporizadas

Las esperas son actividades que tienen


asociada cierta duracin

La actividad de espera se interrumpe


cuando el evento esperado tiene lugar

Este evento desencadena una transicin


que permite salir del estado que alberga la
actividad de espera. El flujo de control se
transmite entonces a otro estado

www.dsic.upv.es/~uml

167

III. El Paradigma OO: Diagrama de Estados

Transiciones
temporizadas

Ejemplo:

A
/ Abrir ranura
esperar dinero
entry: Mostrar mensaje
exit: cerrar ranura

despus de
30 segundos

anular
transaccin

Depsito efectuado

www.dsic.upv.es/~uml

168

III. El Paradigma OO: Diagrama de Estados

Diagrama de Actividad

El Diagrama de Actividad es una especializacin


del Diagrama de Estado, organizado respecto de
las acciones y usado para especificar:
Un mtodo
Un caso de uso
Un proceso de negocio (Workflow)

Las actividades se enlazan por transiciones


automticas. Cuando una actividad termina se
desencadena el paso a la siguiente actividad

www.dsic.upv.es/~uml

169

III. El Paradigma OO: Diagrama de Estados

Ejemplos

www.dsic.upv.es/~uml

170

III. El Paradigma OO: Diagrama de Estados

... Ejemplos

www.dsic.upv.es/~uml

171

III. El Paradigma OO: Diagrama de Estados

... Ejemplos

www.dsic.upv.es/~uml

172

Diagrama de
Componentes

www.dsic.upv.es/~uml

173

III. El Paradigma OO: Diagrama de Componente

Diagrama de
Componentes

Los diagramas de componentes


describen los elementos fsicos del
sistema y sus relaciones

Muestran las opciones de realizacin


incluyendo cdigo fuente, binario y
ejecutable

www.dsic.upv.es/~uml

174

III. El Paradigma OO: Diagrama de Componente

...Diagrama de
Componentes

Los componentes representan todos los


tipos de elementos software que entran
en la fabricacin de aplicaciones
informticas. Pueden ser simples
archivos, paquetes de Ada, bibliotecas
cargadas dinmicamente, etc.

Las relaciones de dependencia se utilizan


en los diagramas de componentes para
indicar que un componente utiliza los
servicios ofrecidos por otro componente

www.dsic.upv.es/~uml

175

III. El Paradigma OO: Diagrama de Despliegue

Diagramas de
Componentes

Ejemplo:

www.dsic.upv.es/~uml

176

Diagrama de Despliegue

www.dsic.upv.es/~uml

177

III. El Paradigma OO: Diagrama de Despliegue

Diagrama de Despliegue

Los Diagramas de Despliegue muestran


la disposicin fsica de los distintos
nodos que componen un sistema y el
reparto de los componentes sobre
dichos nodos
Nodo

www.dsic.upv.es/~uml

178

III. El Paradigma OO: Diagrama de Despliegue

Diagrama de
Despliegue

Los estereotipos permiten precisar la


naturaleza del equipo:
Dispositivos
Procesadores
Memoria

Los nodos se interconectan mediante


soportes bidireccionales que pueden a
su vez estereotiparse

www.dsic.upv.es/~uml

179

III. El Paradigma OO: Diagrama de Despliegue

Diagrama de
Despliegue

Ejemplo de conexin entre nodos:


<<Cliente>>
Terminal Punto
de Venta

<<Servidor>>
<<TCP/IP>>

Base de
Datos

<<RDSI>>

Podemos distinguir
tipos de nodos y
connexiones por
estereotipado

www.dsic.upv.es/~uml

Control

<<RDSI>>

180

Proceso de Desarrollo
de SW basado en UML

www.dsic.upv.es/~uml

181

IV. Proceso de Desarrollo de SW basado en UM

Qu es un Proceso de Desarrollo de
SW?

Define Quin debe hacer Qu, Cundo y Cmo


debe hacerlo

Requisitos nuevos
o modificados

Proceso de Desarrollo
de Software

Sistema nuevo
o modificado

No existe un proceso de software universal. Las


caractersticas de cada proyecto (equipo de
desarrollo, recursos, etc.) exigen que el proceso
sea configurable

www.dsic.upv.es/~uml

182

IV. Proceso de Desarrollo de SW basado en UM

Historia de RUP
Rational Unified Process
1998

RationalObjectory Process
1996-1997

Objectory Process

Pruebas funcionales
Pruebas de desempe
Gestin de requisitos
Gestin de cambios y
configuracin
Ingeniera de Negocio
Ingeniera de datos
Diseo de interfaces

UML

1987-1995

Enfoque Ericsson

www.dsic.upv.es/~uml

183

IV. Proceso de Desarrollo de SW basado en UM

Dos Dimensiones

www.dsic.upv.es/~uml

184

IV. Proceso de Desarrollo de SW basado en UM

Fases e Hitos (Milestones)

Inception Elaboration

Objetivos
(Vision)

Construction

Arquitectura

Transition

Capacidad
Operacional
Inicial

Release
del Producto

tiempo

www.dsic.upv.es/~uml

185

IV. Proceso de Desarrollo de SW basado en UM

Elementos en RUP

Workflows (Disciplinas)
Workflows Primarios

Business Modeling (Modado del Negocio)


Requirements (Requisitos)
Analysis & Design (Anlisis y Diseo)
Implementation (Implementacin)
Test (Pruebas)
Deployment (Despliegue)

Workflows de Apoyo
Environment (Entorno)
Project Management (Gestin del Proyecto)
Configuration & Change Management (Gestin de Configuracin
y Cambios)

www.dsic.upv.es/~uml

186

IV. Proceso de Desarrollo de SW basado en UM

... Elementos en RUP


Workflow, Workflow Detail , Workers, Actividades y Artefactos
Ejemplo
Workflow: Requirements

Workflow Detail:Analyse the Proble

Workers

www.dsic.upv.es/~uml

Artefactos
Actividades

187

IV. Proceso de Desarrollo de SW basado en UM

... Elementos en RUP


Workers
Analyst workers

Business-Process Analyst
Business Designer
Business-Model Reviewer
Requirements Reviewer
System Analyst
Use-Case Specifier
User-Interface Designer

Developer workers

www.dsic.upv.es/~uml

Architect
Architecture Reviewer
Capsule Designer
Code Reviewer
Database Designer
Design Reviewer
Designer
Implementer
Integrator

Testing professional workers


Test Designer
Tester

Manager workers

Change Control Manager


Configuration Manager
Deployment Manager
Process Engineer
Project Manager
Project Reviewer

Other workers

Any Worker
Course Developer
Graphic Artist
Stakeholder
System Administrator
Technical Writer
Tool Specialist

188

IV. Proceso de Desarrollo de SW basado en UM

... Elementos en RUP


Workers, Actividades, Artefactos
Ejemplo: System Analyst Worker

www.dsic.upv.es/~uml

189

IV. Proceso de Desarrollo de SW basado en UM

... Elementos en RUP


Artefactos

Resultado parcial o final que es producido y


usado durante el proyecto. Son las entradas y
salidas de las actividades

Un artefacto puede ser un documento, un


modelo o un elemento de modelo

Business Modeling
Deployment Set
Conjuntos
de Artefactos
Set

Project Management Set

Requirements Set

Configuration & Change


Management Set
Analysis & Design Set
Environment Set
Implementation Set

Test Set

www.dsic.upv.es/~uml

190

IV. Proceso de Desarrollo de SW basado en UM

... Elementos en RUP


Artefactos, Workers, Actividades
Ejemplo:Business Modeling Artifact Set

www.dsic.upv.es/~uml

191

IV. Proceso de Desarrollo de SW basado en UM

Caractersticas Esenciales de
RUP

Proceso Dirigido por los Casos de Uso

Proceso Iterativo e Incremental

Proceso Centrado en la Arquitectura

www.dsic.upv.es/~uml

192

IV. Proceso de Desarrollo de SW basado en UM

Proceso dirigido por los Casos de Uso


Capturar, definir y
validar los casos de
uso

Requisitos
Anlisis & Diseo
Implementacin
Pruebas

www.dsic.upv.es/~uml

Casos de Uso
integran el
trabajo

Realizar los
casos de uso
Verificar que se
satisfacen los
casos de uso

193

IV. Proceso de Desarrollo de SW basado en UM

... Proceso dirigido por los Casos de Us


trace
Caso de Uso

trace

Realizacin de Anlisis Realizacin de Diseo

trace

trace

Pruebas
Unitarias
Pruebas Funcionales

Caso de Prueba

[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
194

www.dsic.upv.es/~uml

IV. Proceso de Desarrollo de SW basado en UM

... Proceso dirigido por los Casos de Us

www.dsic.upv.es/~uml

195

IV. Proceso de Desarrollo de SW basado en UM

Proceso Iterativo e
Incremental

El ciclo de vida iterativo se basa en la


evolucin de prototipos ejecutables que
se muestran a los usuarios y clientes
En el ciclo de vida iterativo a cada
iteracin se reproduce el ciclo de vida
en cascada a menor escala
Los objetivos de una iteracin se
establecen en funcin de la evaluacin
de las iteraciones precedentes

www.dsic.upv.es/~uml

196

IV. Proceso de Desarrollo de SW basado en UM

... Proceso Iterativo e


Incremental

Las actividades se encadenan en una


mini-cascada con un alcance limitado por
los objetivos de la iteracin
Anlisis
Diseo

n veces

www.dsic.upv.es/~uml

Codific.
Pruebas e
Integracin
197

IV. Proceso de Desarrollo de SW basado en UM

... Proceso Iterativo e


Incremental

Cada iteracin comprende:

Planificar la iteracin (estudio de riesgos)


Anlisis de los Casos de Uso y escenarios
Diseo de opciones arquitectnicas
Codificacin y pruebas. La integracin del nuevo
cdigo con el existente de iteraciones anteriores
se hace gradualmente durante la construccin
Evaluacin de la entrega ejecutable (evaluacin
del prototipo en funcin de las pruebas y de los
criterios definidos)
Preparacin de la entrega (documentacin e
instalacin del prototipo)

www.dsic.upv.es/~uml

198

IV. Proceso de Desarrollo de SW basado en UM

Proceso Iterativo e Incremental


Enfoque
Cascada

Enfoque
Iterativo e
Incremental

www.dsic.upv.es/~uml

199

IV. Proceso de Desarrollo de SW basado en UM

... Proceso Iterativo e


Incremental
Grado de Finalizacin de Artefactos

www.dsic.upv.es/~uml

200

IV. Proceso de Desarrollo de SW basado en UM

Proceso Centrado en la
Arquitectura

Arquitectura de un sistema es la organizacin o


estructura de sus partes ms relevantes
Un arquitectura ejecutable es una
implementacin parcial del sistema, construida
para demostrar algunas funciones y
propiedades

RUP establece refinamientos sucesivos de una


arquitectura ejecutable, construida como un
Inception
Elaboration
Transition
prototipo
evolutivo Construction

Architecture

www.dsic.upv.es/~uml

201

IV. Proceso de Desarrollo de SW basado en UM

Fases del Ciclo de Vida

El ciclo de vida consiste en una serie de ciclos, cada


uno de los cuales produce una nueva versin del
producto

Cada ciclo est compuesto por fases y cada una de


estas fases est compuesta por un nmero de
iteraciones

Las fases son:

Inicio o Estudio de oportunidad


Elaboracin
Construccin
Transicin

www.dsic.upv.es/~uml

202

IV. Proceso de Desarrollo de SW basado en UM

...Fases del Ciclo de Vida

Inicio o Estudio de oportunidad (inception)


Define el mbito y objetivos del proyecto
Se define la funcionalidad y capacidades del
producto

Elaboracin
Tanto la funcionalidad como el dominio del
problema se estudian en profundidad
Se define una arquitectura bsica
Se planifica el proyecto considerando
recursos disponibles

www.dsic.upv.es/~uml

203

IV. Proceso de Desarrollo de SW basado en UM

...Fases del Ciclo de Vida

Construccin

www.dsic.upv.es/~uml

El producto se desarrolla a travs de


iteraciones donde cada iteracin involucra
tareas de anlisis, diseo e implementacin
Las fases de estudio y anlisis slo dieron una
arquitectura bsica que es aqu refinada de
manera incremental conforme se construye
(se permiten cambios en la estructura)
Gran parte del trabajo es programacin y
pruebas
Se documenta tanto el sistema construido
como el manejo del mismo
Esta fase proporciona un producto construido
junto con la documentacin
204

IV. Proceso de Desarrollo de SW basado en UM

...Fases del Ciclo de Vida

Transicin
Se libera el producto y se entrega al usuario
para un uso real
Se incluyen tareas de marketing, empaquetado
atractivo, instalacin, configuracin,
entrenamiento, soporte, mantenimiento, etc.
Los manuales de usuario se completan y
refinan con la informacin anterior
Estas tareas se realizan tambin en iteraciones

www.dsic.upv.es/~uml

205

Esfuerzo respecto de las Workflows


Inception

Elaboration

Construction

Transition

15%

Requisitos
Una iteracin en la
fase de elaboracin
Anlisis

10%

Diseo

15%
30%

Implementacin

15%

Pruebas
P re lim ina ry
Ite ra tion (s)

ite r.
#1

ite r.
#2

ite r.
#n

ite r.
# n+ 1

ite r.
# n+2

ite r.
#m

ite r.
#m +1

5% mantenimiento10% gestin cambios

www.dsic.upv.es/~uml

206

IV. Proceso de Desarrollo de SW basado en UM

...Esfuerzo respecto de las Fases


Inception

Elaboration

Construction

Transition

Requisitos
Una iteracin en la
fase de elaboracin
Anlisis

Diseo

Implementacin

Pruebas
P re lim ina ry
Ite ra tion (s)

Esfuerzo:
Duracin:
www.dsic.upv.es/~uml

5%
10%

ite r.
#1

ite r.
#2

20%
30%

ite r.
#n

ite r.
# n+ 1

65%
50%

ite r.
# n+2

ite r.
#m

ite r.
#m +1

10%
10%

207

Conclusiones

www.dsic.upv.es/~uml

208

V. Conclusiones

Claves en el Desarrollo de SI
Notacin
UML

Herramientas
p.e. Rational Rose

www.dsic.upv.es/~uml

Proceso
p.e. Rational Unified Process
209

V. Conclusiones

Contexto de Desarrollo:
Grado de Complejidad

www.dsic.upv.es/~uml

210

V. Conclusiones

Modelado de SI: Algunas


Reflexiones

Modelar para la concebir el sistema y/o para la


documentarlo

Pragmatismo, los modelos deben ser tiles

Sencillez y Elegancia

Distintos nivel de abstraccin, diferentes modelos

Seguimiento de transformaciones durante el proceso


(Traceability)

Sincronizacin de modelos

Dificultades para la introduccin de tcnicas y herramientas


de modelado

www.dsic.upv.es/~uml

211

V. Conclusiones

... Finalmente

Apostar por enfoque Orientado a Objetos


usando notacin UML

Problemas actuales en implementacin, al


usar entornos de programacin visual y/o
bases de datos relacionales

Posibles mejoras a mediano plazo


Evolucin: Uso de BDOO y/o mejoras en los LPOO
Revolucin: Generacin Automtica de Cdigo a
partir de Modelos OO (Compilacin de Modelos)

www.dsic.upv.es/~uml

212

V. Conclusiones

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

www.dsic.upv.es/~uml

213

Aplicaciones Web con UML

Arquitectura de aplicaciones Web

Modelamiento de aplicaciones Web

www.dsic.upv.es/~uml

214

Arquitectura WEB

Actualidad

Herramientas
Poco sobre el proceso de desarrollo.

Fcil creacin de hojas HTML usando herramientas


simples

Desarrollo sin un trabajo serio de anlisis y diseo.

Cualquier sistema de complejidad no trivial,


necesita ser analizado y modelado.

www.dsic.upv.es/~uml

215

Arquitectura WEB

Diferencia entre Aplicacin WEB y sitio


WEB

Una aplicacin Web es un sitio Web donde la


navegacin a travs del sitio, y la entrada de datos por
parte de un usuario, afectan el estado de la lgica del
negocio. En esencia, una aplicacin Web usa un sitio
Web como entrada (front-end) a una aplicacin tpica.
...Si no existe lgica del negocio en el servidor, el
sistema no puede ser llamado aplicacin Web.
[Conallen 99]

www.dsic.upv.es/~uml

216

Arquitectura WEB

Componentes principales

www.dsic.upv.es/~uml

Servidor Web
Conexin de red
Clientes (browsers), uno o ms

217

Arquitectura WEB

Arquitectura bsica de una aplicacinsitio Web

www.dsic.upv.es/~uml

Informacin mostrada est tpicamente


almacenada en archivos
Muchas veces esta informacin est almacenada en
una base de datos y las pginas son creadas
dinmicamente.
Los sitios Web que usan este esquema, son llamados
sitios dinmicos.

218

Arquitectura WEB

Componentes: Pagina WEB

Applets ActiveX
TAGS HTML
Links
Forms
Frames

www.dsic.upv.es/~uml

Scripts dinmicos (ejecutados en el servidor)


Scripts dinmicos (ejecutados en el cliente)

219

Arquitectura WEB

Componentes: Applets ActiveX

No pueden acceder al cliente fuera del browser


Sistema de archivos
Sistema operativo
Propiedades de la computadora

www.dsic.upv.es/~uml

220

Arquitectura WEB

Componentes: Formularios

www.dsic.upv.es/~uml

Textbox
Textarea
Checkbox
Radio button group
Button
Selection list
Submit

221

Arquitectura WEB

Componentes: Servidor
Web

Puede existir una capa


intermedia, compuesta por
componentes, que se
ejecutan no
necesariamente en el
servidor Web

Encapsula la lgica del


negocio

Componentes compilados
Objetos (business objects).

www.dsic.upv.es/~uml

mtodos
atributos

222

Arquitectura WEB

Arquitectura generalizada de una aplicacin Web

www.dsic.upv.es/~uml

223

Modelado de aplicaciones
WEB
Conallen propone una extensin al UML para disear
aplicaciones Web:

www.dsic.upv.es/~uml

224

Modelado de aplicaciones
WEB

Pagina web > Objeto

Scripts procesados en el Servidor


Mtodos
Propiedades

Scripts procesados en el Cliente


Mtodos
Propiedades
Objetos (Applets-ActiveX)

www.dsic.upv.es/~uml

225

Modelado de aplicaciones
WEB

Scripts procesados en el Servidor

www.dsic.upv.es/~uml

Generan pginas procesadas por el cliente (Relacion)


La relacin es en una sola direccin
Se utiliza el estereotipo <<builds>>

226

Modelado de aplicaciones
WEB

Algunos scripts del servidor podran


redireccionar ciertas solicitudes de
procesamiento a otros scripts en el servidor

Se utiliza el estereotipo <<redirects>>

Pgina que delega


funcionalidad

www.dsic.upv.es/~uml

227

Modelado de aplicaciones
WEB

Pginas vinculadas

www.dsic.upv.es/~uml

Podran ser paginas dinmicas o estticas


Se utiliza el estereotipo <<links>>

228

Modelado de aplicaciones
WEB

Pginas vinculadas
Si el vinculo incluye parmetros, estos son modelados
como atributos del link fuera de la asociacin

www.dsic.upv.es/~uml

229

Modelado de aplicaciones
WEB

Formularios

www.dsic.upv.es/~uml

Se modelan con el
estereotipo
<<form>>

230

Modelado de aplicaciones
WEB

Frames

www.dsic.upv.es/~uml

Se utiliza el
estereotipo <<target
link>>

231

You might also like