Professional Documents
Culture Documents
Facultad de Informtica Departamento de Lenguajes y Sistemas Informticos e Ingeniera de Software Universidad Pontificia de Salamanca en Madrid
Resumen
Modelado avanzado de clases Modelado avanzado de relaciones Interfaces, tipos y roles Paquetes Instancias Diagramas de objetos
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
2
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
3
Tipos de clasificador:
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
4
Visibilidad
Especifica si un elemento de un clasificador puede ser utilizado por otros clasificadores.
Valores:
public (+)
protected(#) private(-).
CuentaCorriente #numero #saldo -inters +consultarSaldo() +ingresar(cantidad: real)()
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
5
Alcance
Especifica si una caracterstica aparece en cada instancia o si hay una nica ocurrencia para todas las instancias. Valores:
instancia: sin adorno. clasificador: aparece subrayada.
Proceso #numero #prioridad -numProcesos
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
6
Jerarqua
Clase u operacin abstracta:
nombre en cursiva.
Clase hoja:
propiedad {leaf} bajo el nombre de la clase.
Clase raz:
propiedad {root} bajo el nombre de la clase.
Operacin hoja:
no es polimrfica y no puede ser redefinida. propiedad {leaf} junto al nombre de la operacin.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
7
Multiplicidad
Nmero de instancias que puede tener una clase.
Consiste en una especificacin del rango de cardinalidades permitidas.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
8
Atributos
Sintaxis completa:
[visibilidad] nombre [multiplicidad] [:tipo] [=valor_inicial] [{propiedades}]
valores adicionales, pero una vez creado un valor no puede modificarse ni eliminarse. frozen: El valor del atributo no se puede modificar tras inicializar el objeto.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
9
Operaciones
Signatura: nombre de la operacin + parmetros + tipo retorno. Operacin: especifica un servicio que se puede requerir de cualquier objeto de la clase. Mtodo: implementacin de una operacin. En una jerarqua de herencia puede haber varios mtodos para una misma operacin. Sintaxis de una operacin:
[visibilidad] nombre [(lista parmetros)] [:tipo retorno] [{propiedades}]
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
10
Operaciones (y ll)
Sintaxis de los parmetros de una operacin:
[direccin] nombre :tipo [=valor_por_defecto]
Direccin:
in: parmetro de entrada que no puede modificarse.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
11
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
12
Elementos estndar
Todos los mecanismos de extensibilidad de UML se aplican a las clases. Valores etiquetados: permiten extender las propiedades de la clase. Estereotipos: permiten especificar nuevos tipos de componentes. Estereotipos estndar para clases:
metaclass: clasificador cuyos objetos son clases.
powertype: clasificador cuyos objetos son los hijos de un padre dado
(metaclase cuyas instancias son subclases de otra clase). stereotype: el clasificador es un estereotipo aplicable a otros elementos. utility: clase cuyos atributos y operaciones tienen alcance de clase.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
13
Especificar una mquina de estados para la clase. Especificar una colaboracin que represente a la clase. Pre y Postcondiciones, e invariante en un lenguaje formal como OCL.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
14
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
15
Dependencia
Una dependencia simple suele bastar para la mayora de relaciones de uso a modelar. Para matizar, UML define 17 estereotipos especficos. Estereotipos que se aplican a dependencias entre clases y objetos:
bind: relaciona una plantilla con su clase instanciada. derive: el origen puede calcularse a partir del destino. friend: el origen tiene una visibilidad especial en destino. instanceOf: el objeto origen es una instancia del clasificador destino. instantiate: el origen crea instancias del destino (entre objetos). powertype: el destino es un supratipo (clasificador cuyos objetos son
todos los hijos de un padre dado). refine: especifica que el origen es ms detallado que el destino. use: la semntica origen depende de la sem. de la parte pblica destino.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
16
Dependencia (ll)
Estereotipos que se aplican a dependencias entre paquetes:
access: el origen tiene permiso para referenciar elementos del destino.
import: los contenidos pblicos del destino pasan a formar parte del
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
17
Dependencia (y lll)
Estereotipo que aparece en las mquinas de estados:
send: la operacin origen enva el evento destino.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
18
Generalizacin
La herencia simple sin adornos suele bastar. Para matizar, UML define 1 estereotipo y 4 restricciones especficas. Estereotipo:
implementation: el hijo hereda hereda la implementacin del padre
pero no soporta sus interfaces ni los hace pblicos, violando la semntica de sustitucin (derivacin privada de C++).
Restricciones estndar:
complete: no se permiten hijos adicionales a los ya especificados. incomplete: se permiten hijos adicionales. disjoint: los objetos del padre no pueden tener ms de uno de los
hijos como tipo. overlapping: los objetos del padre pueden tener ms de uno de los hijos como tipo.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
19
Asociacin
Adornos bsicos: nombre, roles, multiplicidades y agregacin. Otros adornos:
Calificacin: permite especificar cualificadores. Como en OMT. Especificador de interfaz: permite especificar el rol que se desempea.
nombreRol : nombreInterfaz trabajador : IEmpleado
supervisor : IGestor
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
20
Asociacin (ll)
Permiso
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
21
Realizacin
Relacin semntica entre clasificadores, en la que uno especifica un contrato y otro garantiza que lo cumplir. En la representacin, la punta de flecha apunta al clasificador que especifica el contrato. 2 usos habituales:
Mostrar la relacin entre un caso de uso y la colaboracin que lo realiza:
Validar contrasea Caso de Uso Validacin Colaboracin
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
22
Realizacin (ll)
Mostrar la relacin entre una interfaz y la clase o componente que
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
23
Realizacin (y lll)
La realizacin se puede mostrar de dos maneras:
Forma cannica: estereotipo + lnea dirigida discontnua Forma abreviada: notacin en forma de cabeza de alfiler
<<interface>> ChoiceBlock
setDefault(choice) getChoice(): Choice
PopUpMenu
ChoiceBlock
PopUpMenu setDefault(choice) getChoice(): Choice Forma cannica Forma abreviada
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
24
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
25
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
26
Persona
Empleado
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
27
componente (se puede usar OCL). asociando una mquina de estados a la interfaz para especificar el orden de las operaciones. asociando colaboraciones a la interfaz que especifiquen su comportamiento esperado.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
28
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
29
representar cada instancia dinmica en un diagrama de interaccin. Mostrar el cambio para cada objeto, dibujndolo una vez para cada rol.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
30
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
31
Paquetes
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
32
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
33
mismo paquete.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
34
cliente, lo que obliga a usar nombres de ruta. access: permiso de acceso de un solo sentido en el que los nombres del paquete proveedor se aaden al espacio de nombres del cliente.
establecer jerarquas de generalizacin entre los paquetes si existen.
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
35
de ms alto nivel.
Vista de diseo
Vista de procesos
Vista de despliegue
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
36
Instancias
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
37
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
38
Diagramas de Objetos
Luis Joyanes, Salvador Snchez, Hctor Castn Universidad Pontificia de Salamanca en Madrid
Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software
Octubre 1999
39