You are on page 1of 126

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Construccin de una casa para fido

Puede hacerlo una sola persona Requiere: Modelado mnimo Proceso simple Herramientas simples

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Construccin de una casa

Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas ms sofisticadas
2

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Construccin de un rascacielos

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Claves en Desarrollo de SI
Notacin

Herramientas

Proceso

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Abstraccin - Modelado Visual (MV)


El modelado captura las partes esenciales del sistema
Orden Item

envo

Proceso de Negocios Sistema Computacional


5

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

MV para manejar la complejidad

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

MV para definir la Arquitectura del Software


Interfaz de Usuario (Visual Basic, Java, ..) Lgica del Negocio (C++, Java, ..)

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

Modelar el sistema independientemente del lenguaje de implementacin

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

MV promueve la reutilizacin
Mltiples Sistemas

Componentes Reutilizados

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 Orientado a Objetos de Datos de Componentes de Flujos de Trabajo (Workflows)
9

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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) => Necesidad de una notacin estndar
10

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

11

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Historia de UML
2002? UML 2.0

2000
1999 1998 Nov 97
UML aprobado por el OMG

UML 1.4 UML 1.3


Revisiones menores

UML 1.2

12

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

13

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

UML aglutina enfoques OO


Rumbaugh Booch Odell Shlaer-Mellor
Object life cycles

Jacobson Meyer
Pre- and Post-conditions

UML
State Charts

Harel

Gamma et. al.


Frameworks, patterns, notes

Embly
Singleton classes

Wirfs-Brock Fusion
Responsabilities Operation descriptions, message numbering

14

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Mtodos Formales en Modelado


Tipos de enfoques: no-formales, semiformales y formales

Las principales mejoras al utilizar mtodos formales son:


Mayor rigor en la especificacin Mejores condiciones para realizar la verificacin y validacin en forma ms exhaustiva Mejores condiciones para automatizacin de procesos para la generacin automtica de prototipos y/o cdigo final

15

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 entorno a UML

16

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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.

17

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de UML
Use Case Use Case Diagramas de Diagrams Diagrams Secuencia Scenario Scenario Diagramas de Diagrams Diagrams Colaboracin Scenario Scenario Diagramas de Diagrams Diagrams Estados Use Case Use Case Diagramas de Diagrams Diagrams Casos de Uso State State Diagramas de Diagrams Diagrams Clases State State Diagramas de Diagrams Diagrams Objetos State State Diagramas de Diagrams Diagrams Componentes
Component Component Diagrams Diagramas Diagrams de

Modelo

Diagramas de Actividad

Distribucin

Un modelo es una descripcin completa de un sistema desde una perspectiva concreta


18

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Paquetes en UML
Los paquetes ofrecen un mecanismo general para la organizacin de los modelos agrupando elementos de modelado Se representan grficamente como:
Nombre de paquete

19

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Paquetes en UML
Cada paquete corresponde a un subconjunto del modelo y contiene, segn el modelo, clases, objetos, relaciones, componentes y diagramas asociados Un paquete puede contener otros paquetes, sin lmite de anidamiento pero cada elemento pertenece a (est definido en) slo un paquete

20

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Paquetes en UML
Una clase de un paquete puede aparecer en otro paquete por la importacin a travs de una relacin de dependencia entre paquetes Todas las clases no son necesariamente visibles desde el exterior del paquete, es decir, un paquete encapsula a la vez que agrupa

21

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

El Paradigma Orientado a Objetos

22

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Por qu la Orientacin a Objetos?


Proximidad de los conceptos de modelado respecto de las entidades del mundo real
Mejora captura y validacin de requisitos Acerca el espacio del problema y el espacio de la solucin

Modelado integrado de propiedades estticas y dinmicas del mbito del problema


Facilita construccin, mantenimiento y reutilizacin

23

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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


24

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
25

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Objetos
Objeto = unidad atmica que integra 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 concepto (ecuacin matemtica)

26

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 Otro Objeto
27

Un Objeto

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Objetos
Ejemplo de varios objetos relacionados:
Dos clientes del banco

Felipe

Cuenta corriente Libreta de ahorro a plazo

Juan Libreta de ahorro Cuenta corriente

28

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
30

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
32

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Comportamiento
Ejemplo de interaccin:
Otro objeto
Un mensaje Operacion 2

Un objeto
Operacion 1

33

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

34

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Persistencia
La persistencia de los objetos designa la capacidad de un objeto trascender en el espacio/tiempo Un objeto persistente conserva su estado en un sistema de almacenamiento permanente (usualmente memoria secundaria) 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, pues sta debera ser transparente, un objeto existe desde su creacin hasta que se destruya
35

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

36

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Comunicacin
Categoras de objetos:
Activos Pasivos Clientes Servidores

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
37

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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. Una operacin es la especificacin y la implementacin de una funcin efectuada por un objeto.
38

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

El Concepto de Operacin
Las operaciones menipulan los atributos del objeto.

Pueden tener parmetros de entrada y/o salida. Un mensaje de un objeto a otro involucra la ejecucin de una operacin.

39

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

El Concepto de Operacin
El nombre del mensaje es el de la operacin. Los parmetros del mensaje son los parmetros de la operacin.

40

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Casos de Uso

41

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

42

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Casos de Uso
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

43

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Ejemplo de Casos de Uso


Caso de Uso: Comprar productos Actores: Cliente, Cajero comprar productos Tipo: Primario Descripcin: Un cliente llega a la caja registradora con los artculos que comprar. El cajero registra los artculos y cobra el importe. Al terminar la operacin el cliente se marcha con los productos.
44

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Casos de Uso
Ejemplo:
Sistema

Caso de uso X

Actor A Actor B Caso de uso Y


45

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
46

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

47

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Casos de Uso: Relaciones


UML define cuatro tipos de relacin en los Diagramas de Casos de Uso:
Comunicacin:

Actor Caso de Uso

48

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 destino

Caso de uso origen

En UML se estereotipa como <<include>>


49

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Casos de Uso: Relaciones


Extensin : el Caso de Uso origen extiende el comportamiento del Caso de Uso destino

<<extend>> Caso de uso destino Caso de uso origen

50

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 destino Caso de uso origen

51

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Casos de Uso: Relaciones


Ejemplo:
<<extends>> <<extend>> Giro por por Internet Transferencia Internet Cliente <<includes>> <<include>> Giro Transferencia

Identificacin

52

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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?

53

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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?

54

RF- <id del requisito> Unidad 2. Tcnicas bsicas de modelado de objetos. <nombre del requisito funcional> <numero de versin y fecha> Versin 2.3 El UML como una herramienta de modelado de objetos. <autor> Autores <fuente de la versin actual> Fuentes <nombre del objetivo> Objetivos asociados El sistema deber comportarse tal como se describe en Descripcin 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> Precondicin Secuencia Paso Accin Normal 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> Postcondicin Excepciones 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 Rendimiento Paso Cota de tiempo 1 n segundos 2 n segundos <n de veces> veces / <unidad de tiempo> Frecuencia esperada {sin importancia, importante, vital} Importancia {puede esperar, hay presin, inmediatamente} Urgencia <comentarios adicionales> Comentarios

55

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Modelado de Interacciones

56

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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: los Diagramas de Colaboracin y los Diagramas de Secuencia.

57

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de interaccin
Los Diagramas de Secuencia son ms adecuados estn para observar la perspectiva cronolgica de las interacciones Los Diagramas de Colaboracin ofrecen una mejor visin espacial mostrando los enlaces de comunicacin entre objetos Normalmente el D. de Colaboracin se obtiene a partir del correspondiente D. de Secuencia
58

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas 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.
59

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Secuencia
Un ejemplo:
A B C

m1

m2 m3

m4 m5

60

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Secuencia
Ejemplo
Quien llama Lnea telefnica Llamado descuelga

tono

marcar

Las bandas rectangulares representan los periodos de actividad de los objetos

indicacin de llamada

timbre

descuelga

diga?

61

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Estructuras de control
Podemos representar iteraciones en el envo de mensajes, p.e., mientras se cumpla una condicin:

While X Loop end Loop

62

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Estructuras de control
La iteracin puede expresarse tambin como parte del mensaje:

*[condicin] Mensaje

63

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Estructuras de control
Las bifurcaciones condicionales pueden representarse de esta forma:

If condicin else end if

64

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas 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

65

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

A
66

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Mensajes
Un mensaje se enva iterada y secuencialmente a un conjunto de instancias:

1 *[i:=1..n] : Mensaje B A

67

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Mensajes
Un mensaje se enva iterada y concurrentemente a un conjunto de instancias:

1 *| | [i:=1..n] : Mensaje B A

68

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Mensajes
Un mensaje se enva de manera condicionada:

[x>y] 1: Mensaje

B A

69

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Mensajes
Un mensaje que devuelve un resultado:

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

70

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Mensajes
Los argumentos de un mensaje pueden ser valores obtenidos como consecuencia de las llamadas anteriores Los argumentos pueden ser tambin expresiones de navegacin construidas a partir del objeto cliente

Los argumentos pueden omitirse en el diagrama

71

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Modelado Conceptual

72

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Clases
Modelado Conceptual:
Organizacin del conocimiento del dominio del problema en un conjunto de abstracciones ordenadas de forma que se obtiene un conocimiento ms profundo del problema

73

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

74

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

75

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

76

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

77

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 Antonio:Estudiante

Universidad Una asociacin

Estudiante

78

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Asociacin
Ejemplo:
marido
casado-con 0.. 1 mujer jefe 0.. 1 Administra 0.. 1

Persona * nombre s. s.

trabaja-para
emplea-a

* Compaa
nombre direccin

empleado

79

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

La multiplicidad mnima >= 1 establece una restriccin de existencia

80

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Asociacin Cualificada
Aerolnea
nro_billete

0..1

Viajero

Tablero Ajedrez

fila columna

Cuadro

Reduce la multiplicidad del rol opuesto al considerar el valor del cualificador

81

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
82

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Ejemplos
coche 1 0..2 +Padre 1 motor +Hijos *

Persona

83

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Ejemplos
Agregacin
Polgono
1 contiene 3.. *

{ordenado}

Punto

Persona Empresa
*

Cuenta
*

or
1

Asociacin excluyente

Usuario

est-autorizado-en

Estacin

Clase de asociacin

Autorizacin prioridad privilegios camb_privil

84

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Jerarquas de Generalizacin/Especializacin
Permiten gestionar la complejidad mediante un ordenamiento taxonmico
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
85

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

... Jerarquas de Generalizacin/Especializacin


Nombres usados: clase padre - clase hija, superclase - subclase, clase base - clase derivada Las subclases heredan caractersticas de sus superclases, es decir, atributos y operaciones (y asociaciones) de la superclase estn disponibles en sus subclases
86

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

... Jerarquas de Generalizacin/Especializacin


Abstracciones ms generales. vehiculo

vehiculo terrestre

vehiculo areo

camion

coche

avion

helicoptero
87

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

... Jerarquas de Generalizacin/Especializacin


La especializacin es una tcnica muy eficaz para la extensin y reutilizacin
coche

funcionando

estropeado

Caracterizacin de la generalizacin en UML:


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

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

... Jerarquas de Generalizacin/Especializacin


Un ejemplo combinado:
vehiculo

comercial vehiculo terrestre vehiculo areo esttica

esttica

esttica avion helicoptero

militar

camion

de menos de 1000kms dinmica de ms de 1000 kms

coche

dinmica

funcionando

estropeado

89

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
90

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Polimorfismo
El trmino polimorfismo se refiere a que una caracterstica de una clase puede tomar varias formas

El polimorfismo representa 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
91

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Polimorfismo
Zoo 1 * Animal Dormir() { }

Len

Oso

Tigre

Dormir() { sobre el vientre }

Dormir() { sobrela espalda }

Dormir() { en un rbol }
92

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

93

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Estados

94

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas 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 resto de objetos se puede considerar que tienen un nico estado El formalismo utilizado proviene de los Statecharts (Harel)

95

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Estados
Cada objeto est en un estado en cierto instante El estado est caracterizado parcialmente por los valores 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

96

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Estados
Los D. de Estados son autmatas jerrquicos que permiten expresar concurrencia, sincronizacin y jerarquas de objetos Los Diagramas 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

97

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Estados
Ejemplo de un Diagrama de Estados para la clase persona:
contratar en el paro perder empleo jubilarse jubilarse jubilado
98

en activo

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Estados
Las guardas permiten condicionar la transicin:
a Evento[ condicin ] b

99

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Acciones
Podemos especificar la ejecucin de una accin como consecuencia de la transicin:

Evento[ condicin ] / accin

Dicha accin tambin se considera instantnea


100

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Acciones
Podemos especificar el envo de un evento a otro objeto como consecuencia de la transicin:
a

Evento( arg1, arg2 )[ condicin ] / ^otro_objeto.evento(arg2)

b
101

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Acciones
Se puede especificar el hacer una accin como consecuencia de entrar, salir o estar en un estado:
estado A entry: accin por entrar exit: accin por salir do: accin mientras en estado

102

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

.. Acciones
Se puede especificar el hacer una accin cuando ocurre en dicho estado un evento que no conlleva salir del estado:
estado A on evento_activador( arg1 )[ condicin ]: accin por evento

103

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Actividades
Las actividades son similares a las acciones pero tienen duracin y se ejecutan dentro de un estado del objeto Las actividades pueden interrumpirse en todo momento, cuando se desencadena la operacin de salida del estado

104

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Actividades
Cuando una actividad finaliza se produce una transicin automtica de salida del estado
a do: actividad [ condicin ] [ not condicin ] b

105

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

106

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Generalizacin de Estados
Ejemplo:
a e2 e2 c e1 b

107

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Generalizacin de Estados
Quedara como:
e1

e2

c
108

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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 a e2 e0 b c

109

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

110

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Generalizacin de Estados
Ejemplo:

e1 e1

111

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

112

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Destruccin de Objeto
Ejemplo:
En vuelo crash

despegar Crear(matricula) En tierra

aterrizar

113

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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
114

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Transiciones temporizadas
Ejemplo:
Si en 30 segundos no se introduce el dinero se termina la actividad pasando a anular la transaccin. En cualquier caso se cierra la ranura.
/ Abrir ranura a

esperar dinero
entry: Mostrar mensaje do: Esperar 30 segundos exit: cerrar ranura anular transaccin

Depsito efectuado

b
115

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Transiciones temporizadas
Ejemplo v.2:
a

/ Abrir ranura esperar dinero entry: Mostrar mensaje exit: cerrar ranura Temporizador (30 segundos) anular transaccin

Depsito efectuado

b
116

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Modelado de Componentes

117

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

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

118

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

...Diagramas 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. Cada clase del modelo lgico se realiza en dos componentes: la especificacin y el cuerpo
119

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Componentes
La representacin grfica es la siguiente:
Especificacin Cuerpo Genrico

Package specification

Package body

Generic package
120

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Dependencias entre Componentes


Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente utiliza los servicios ofrecidos por otro componente

121

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Subsistemas
Los distintos componentes pueden agruparse en paquetes segn un criterio lgico y con vistas a simplificar la implementacin

Son paquetes estereotipados en <<subsistemas>>

<<subsistema>> NewPackage4

122

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Modelado de Distribucin

123

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Distribucin
Los Diagramas de Distribucin muestran la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos

Nodo

124

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Distribucin
Los estereotipos permiten precisar la naturaleza del equipo:
Dispositivos Procesadores Memoria

Los nodos se interconectan mediante soportes bidireccionales (en principio) que pueden a su vez estereotiparse
125

Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.

Diagramas de Distribucin
Ejemplo de conexin entre nodos:
<<Procesador> Nodo <<dispositivo>> nodo2

<<<<TCP/IP>>>> conexin1

conexin7 <<RDSI>> dispositiv En Rational Rose podemos o distinguir entre el dispositivo por

estereotipado y el dispositivo con su propio smbolo

126

You might also like