Professional Documents
Culture Documents
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.
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.
envo
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
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
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.2
12
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
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.
Jacobson Meyer
Pre- and Post-conditions
UML
State Charts
Harel
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.
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
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
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.
22
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
23
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
Facilita la transicin entre distintas fases Favorece el desarrollo iterativo del sistema Disipa la barrera entre el qu y el cmo
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
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.
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
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.
48
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
50
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
51
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
Identificacin
52
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
53
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
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
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:
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:
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
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
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
74
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
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.
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
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)
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
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
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
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.
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
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.
funcionando
estropeado
Unidad 2. Tcnicas bsicas de modelado de objetos. 2.3 El UML como una herramienta de modelado de objetos.
esttica
militar
camion
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
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() { 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:
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
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.
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
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.
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
<<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
126