Beruflich Dokumente
Kultur Dokumente
FA C U LTA D D E I N G E N I E R I A Y A R Q U I T E C T U R A Ciclo
Gua de Laboratorio #4
Universidad de El Salvador TOO-115 Gua de Laboratorio #4
Contenido
1. Objetivos ................................................................................................................................. 3
2. Introduccin ............................................................................................................................ 3
3. Diagramas de Clases ............................................................................................................... 4
3.1. Diagrama de Modelo del Dominio ..................................................................................... 4
3.2. Diagrama de Implementacin de Clases............................................................................ 5
4. Clases ...................................................................................................................................... 5
4.1. Estereotipos Estndar para las Clases................................................................................ 9
4.2. Plantilla de Clase............................................................................................................... 12
5. Interfaces .............................................................................................................................. 12
6. Tipo de Datos ........................................................................................................................ 14
6.1. Tipos primitivos ................................................................................................................ 15
6.2. Enumeracin ..................................................................................................................... 16
7. Operacin.............................................................................................................................. 17
7.1. Mtodo ............................................................................................................................. 20
7.2. Operacin Abstracta ......................................................................................................... 21
8. Multiplicidad ......................................................................................................................... 21
8.1. Multiplicidad ..................................................................................................................... 22
8.2. Elemento de multiplicidad ............................................................................................... 23
9. Constraint ............................................................................................................................. 24
10. Asociacin ......................................................................................................................... 26
10.1. Extremo de la asociacin .............................................................................................. 28
10.2. Navegabilidad ............................................................................................................... 29
10.3. Aridad ............................................................................................................................ 31
10.4. Agregacin compartida y compuesta .......................................................................... 32
10.5. Clase asociacin ............................................................................................................ 32
10.6. Link ................................................................................................................................ 33
11. Agregacin ........................................................................................................................ 33
12. Composicin ..................................................................................................................... 36
13. Generalizacin .................................................................................................................. 38
________________________________________________________________________________
1. Objetivos
Que el estudiante sea capaz de:
Describir las relaciones entre los distintos elementos de un sistema a partir del uso
de los distintos clasificadores provistos por UML 2.5
Definir los distintos tipos de relaciones posibles a ser representadas en UML para
poder representar la interaccin existente entre elementos de un sistema de
estudio
Construir un diagrama de clases para presentar la estructura de un sistema en
especfico de estudio.
2. Introduccin
UML se encarga de proveer la estandarizacin del conjunto de herramientas para el
modelado del funcionamiento de los sistemas. Bsicamente el diagrama de clases permite
describir de manera grfica la estructura de un sistema a nivel de clases e interfaces. Incluye
informacin relevante a cualquier etapa del ciclo de vida puesto que adems representa
caractersticas del comportamiento de las instancias a obtener de las distintas clases del
diagrama. UML inclusive permite describir el acceso, visibilidad, navegabilidad,
multiplicidad e innumerables caractersticas que este tipo de diagrama esttico puede
poseer para definir mejor el comportamiento del sistema que modela.
3. Diagramas de Clases
4. Clases
Una clase es un clasificador que describe un conjunto de objetos que comparten las
mismas:
Caractersticas,
Restricciones,
Semnticas (significado).
debera estar centrado y en negrita, con la primera letra del nombre de la clase en
maysculas (si el conjunto de caracteres maneja maysculas).
Las caractersticas estticas se subrayan pero solamente sus nombres. Una elipsis ()
colocada como elemento final de una lista de caractersticas indica que existen
caractersticas adicionales pero que no se muestran en la lista.
Los atributos de una clase son representados por instancias de propiedad que son posedas
por la clase. Algunos de estos atributos pueden representar finales navegables de
asociaciones binarias.
Los objetos de una clase deben contener valores para cada atributo que es miembro de esa
clase, cumpliendo con las caractersticas definidas para ese atributo. Por ejemplo, debera
estar de acuerdo en el tipo y la multiplicidad.
Los atributos y las operaciones pueden ser agrupadas por visibilidad. Una palabra reservada
o smbolo especial se puede dar a todo el conjunto de caractersticas que comparten dicha
visibilidad.
Se pueden proveer compartimentos adicionales a las clases con dos fines: presentar ms
detalles de las mismas, tales como restricciones, o para dividir las caractersticas que ya se
estn presentando.
Una clase en UML puede ser usada como un espacio de nombres (namespace) para otros
clasificadores incluyendo clases, interfaces, casos de uso, etc. Los clasificadores anidados
son visibles nicamente dentro del namespace de la clase donde se encuentran.
Clases Abstractas
UML 2.4 menciona las clases abstractas, pero no provee ninguna definicin. Podemos
probablemente relacionar la definicin de clasificador abstracto a una clase abstracta.
Pudiramos asumir que en UML 2.x la clase abstracta no tiene una declaracin completa y
tpicamente no puede ser instanciada. Una clase abstracta est pensada para ser usada
por otros clasificadores (por ejemplo, como el objetivo de relaciones de generalizacin).
UML 2.4 no provee explicacin para una declaracin incompleta de una clase ni con lo
que est relacionado con el concepto de operacin abstracta que tambin estaba
presente en UML 1.4.2 y que est ausente en UML 2.x.
El intento de crear una instancia de una clase abstracta est indefinido algunos lenguajes
de programacin tomaran esta accin como ilegal, otros crearan una instancia parcial con
propsitos meramente de pruebas.
La clase abstracta fue definida en UML 1.4.2 como una clase que no puede ser directamente
instanciada. La clase abstracta existe nicamente para que otras clases hereden de ella y
para darle soporte a la reusabilidad de caractersticas que declara. No debe haber nunca
una instancia directa de una clase abstracta, aunque un objeto puede ser una instancia
indirecta a travs de una subclase que no sea abstracta.
Estos estereotipos de clases son parte del Analysis Profile en RSA, que es aplicado por
defecto con la plantilla de Modelo de Anlisis. Los estereotipos corresponden
aproximadamente a las partes del patrn de diseo Modelo-Vista-Controlador (MVC),
donde Boundary representa la Vista, Control es el Control, y Entity corresponde al Modelo.
El ejemplo de abajo presenta la clase con plantilla Array con dos parmetros formales de
plantilla. El primer parmetro de plantilla T es un parmetro de plantilla de una clase sin
restricciones. El segundo parmetro de plantilla n es un parmetro de plantilla de una
expresin entera.
El enlazamiento con plantilla para la clase enlazada Clientes substituye la clase sin
restricciones T con la clase Cliente y el lmite n con el valor entero 24. As, la clase enlazada
Clientes es un Array de 24 objetos de la clase Cliente.
5. Interfaces
Una interfaz es un clasificador que declara un conjunto de caractersticas u obligaciones
pblicas coherentes. Una interfaz especifica un contrato. Cualquier instancia de un
clasificador que realice (implemente) la interfaz, debe cumplir ese contrato y as proveer
los servicios descritos por el mismo.
Puesto que las interfaces son declaraciones, no es posible tener instancias de ellas. En su
lugar, se implementa una especificacin de interfaz por una instancia de un clasificador
instanciable, lo que significa que el clasificador instanciable presenta una fachada (facade)
pblica que se acopla a la especificacin de la interfaz.
Cualquier clasificador dado puede implementar ms de una interfaz. Una interfaz puede ser
implementada por un nmero diferente de clasificadores.
Una asociacin entre una interfaz y cualquier otro clasificador implica que una asociacin
respectiva debe existir entre cualquier implementacin de la interfaz y ese otro clasificador.
En particular, una asociacin entre interfaces, implica que la asociacin respectiva debe
existir entre implementaciones de dichas interfaces.
Notacin
Una interfaz puede ser presentada usando el smbolo de un rectngulo con la palabra
reservada interface precediendo al nombre.
Interface SiteSearch
Las obligaciones que pueden estar asociadas a una interfaz estn en la forma de varios tipos
de restricciones (tales como pre- y post- condiciones) o especificaciones de protocolo, las
cuales pueden imponer restricciones de orden en las interacciones a travs de la interfaz.
Una interfaz requerida especifica los servicios que un clasificador necesita para desarrollar
su funcin y cumplir sus propias obligaciones a sus clientes. Se especifica mediante una
dependencia de uso (usage dependency) entre el clasificador y la interfaz correspondiente.
Una interfaz en UML puede ser usada como un namespace por otros clasificadores,
incluyendo clases, interfaces, casos de uso, etc. Los clasificadores anidados son visibles
nicamente dentro del namespace de la interfaz que los contiene.
Note que en UML 1.4 una interfaz era formalmente equivalente a una clase abstracta sin
atributos ni mtodos y solamente operaciones abstractas.
6. Tipo de Datos
Un tipo de dato (data type) es un clasificador -similar a una clase- cuyas instancias son
identificadas nicamente por su valor.
Un uso tpico de un tipo de dato podra ser para representar tipos por valor (value types)
de un dominio de negocio, tipos primitivos o tipos estructurados de un lenguaje de
programacin. Por ejemplo, date/time, gnero, moneda, direccin, etc., todos pueden ser
definidos como tipos de datos. Todas las copias de una instancia de un tipo de dato y
cualquier instancia de ese tipo de dato con el mismo valor son consideradas instancias
iguales.
Cuando un tipo de dato es referenciado, por ejemplo, como un atributo de una clase, se
representa simplemente como el nombre del tipo de dato.
Booleano (Boolean),
Entero (Integer),
Natural sin lmites (UnlimitedNatural),
Cadena de caracteres (String),
Real.
Las instancias de los tipos primitivos no tienen identidad. Si dos instancias tienen la misma
representacin, entonces son indistinguibles.
Un tipo primitivo tiene la palabra reservada primitive sobre o antes del nombre del tipo
primitivo.
6.2. Enumeracin
Una enumeracin es un tipo de datos cuyos valores son enumerados en el modelo como
literales de enumeracin definidos por el usuario.
Una enumeracin puede ser presentada usando cualquier notacin de clasificador (un
rectngulo) con la palabra reservada enumeration. El nombre de la enumeracin se
coloca en la parte superior del compartimento. Un compartimento listando los atributos
de la enumeracin se coloca bajo el compartimento del nombre. Un compartimento
listando las operaciones de la enumeracin se coloca bajo el compartimento de atributos.
Una lista de literales de la enumeracin puede ser colocada, uno por lnea, en el
compartimento ms bajo. Los compartimentos de los atributos y de las operaciones
pueden ser omitidos, lo que normalmente se hace si estarn vacos.
7. Operacin
La especificacin UML 2.5 define una operacin como:
Una operacin en UML puede tener como mximo un parmetro de retorno. Una
operacin puede, adems, lanzar una excepcin durante su invocacin.
Una operacin puede ser redefinida en una especializacin del clasificador principal. Esta
redefinicin puede especializar los tipos de parmetros que posee, agregar nuevas
precondiciones o pos-condiciones, agregar nuevas excepciones a lanzar, o de otra manera
refinar la especificacin de la operacin.
visibilidad ::= + | - | # | ~
7.1. Mtodo
Una operacin perteneciente a una clase puede tener un mtodo relacionado que define
su comportamiento detallado.
Una operacin tambin puede tener un mtodo, el cul es una definicin detallada de
su comportamiento requerido. Es una responsabilidad del modelador asegurarse que
el comportamiento modelado detallado por el mtodo de la operacin cumpla con los
requerimientos de comportamiento dados por las pre- y pos-condiciones de la
operacin.
La resolucin del mtodo es un proceso que permite determinar un mtodo a ser usado
cuando una operacin fue invocada. Este proceso debera tomar en cuenta:
Los mtodos de una operacin pueden ser invocados tanto sncrona como
asncronamente, dependiendo de cmo ha sido llamada la operacin.
No hay notacin en cursiva para la operacin abstracta en UML 2.5 pero probablemente
an puede ser marcada utilizando {abstract}.
8. Multiplicidad
La multiplicidad en UML permite especificar cardinalidad esto es el nmero de
elementos de alguna coleccin de elementos.
8.1. Multiplicidad
Es una definicin de cardinalidad esto es el nmero de elementos de alguna coleccin
de elementos proveyendo un intervalo inclusivo de enteros no negativos para especificar
el nmero permitido de instancias del elemento descrito. El intervalo de multiplicidad
tiene una frontera inferior y una frontera superior (posiblemente infinita) segn se
describe a continuacin.
9. Constraint
Una restriccin (constraint) es un elemento empaquetable que representa alguna
condicin, restriccin o asercin relacionada a algn elemento (a quien le pertenece la
restriccin) o varios elementos. Las restricciones usualmente son especificadas por
expresiones Booleanas que deben evaluar a cierto (true) o a falso (false). Una restriccin
debe ser satisfecha (esto es evaluada a cierto) por un diseo correcto del sistema. Las
restricciones se usan normalmente por varios elementos en los diagramas de clases.
En general hay muchos tipos posibles de dueos para una restriccin. El elemento dueo
debe tener acceso a los elementos de la restriccin para verificarla. El dueo de la
restriccin determinar cuando sea evaluada la misma. Por ejemplo, una operacin puede
tener restricciones de pre-condicin y/o pos-condicin.
La especificacin UML no restringe los lenguajes que pueden ser usados para expresar
restricciones. Algunos ejemplos de lenguajes para restricciones son:
OCL
Java
Lenguaje de mquina comprensible
Lenguaje natural
OCL es un lenguaje para restricciones predefinido en UML pero si est utilizando una
herramienta para diagramar el UML, cualquier lenguaje para restricciones que esa
herramienta use puede ser aplicado.
Para un elemento cuya notacin es una cadena de texto (tal como un atributo de clase), la
cadena de restriccin puede seguir al elemento de cadena de texto entre llaves.
Para una restriccin que aplique a un nico elemento (tal como una clase o un camino de
asociacin), la cadena de restriccin puede ser colocada cerca del smbolo para dicho
elemento, preferiblemente cerca del nombre, si lo hubiere. Una herramienta UML debe
hacer posible determinar los elementos restringidos.
Para una restriccin que aplique a dos elementos (tales como dos clases o dos
asociaciones), la restriccin puede ser presentada como una lnea punteada entre los
elementos etiquetados por la cadena de restriccin entre llaves.
Si la restriccin se presenta como una lnea punteada entre dos elementos, se puede
colocar una punta de flecha en uno de los extremos. La direccin de la flecha es
informacin relevante dentro de la restriccin. El elemento en la cola de la flecha es
mapeado a la primera posicin y el elemento en la cabeza de la flecha es mapeado a la
segunda posicin en la coleccin de elementosRestringidos (constrainedElements).
La cadena de restriccin puede ser colocada con el smbolo de una nota (el mismo usado
para comentarios) y adjuntado a cada uno de los smbolos para los elementos restringidos
por medio de una lnea punteada.
10. Asociacin
Una asociacin es una relacin entre clasificadores que es usada para representar que las
instancias de los clasificadores pueden estar: vinculadas entre ellos o combinadas lgica o
fsicamente en algn tipo de agregacin.
Una asociacin normalmente se dibuja como una lnea gruesa conectando a dos
clasificadores o a un nico clasificador a s mismo. El nombre de la asociacin puede ser
ubicado en algn lugar cercano a la mitad de la lnea pero no muy cerca al final de
cualquiera de los extremos. Cada extremo de una lnea puede ser decorado con el nombre
del extremo de la asociacin (association end).
La idea del rol es que el mismo clasificador puede jugar el mismo o diferentes roles en las
asociaciones. Por ejemplo, el Profesor puede ser un autor de algunos Libros o un editor.
Los extremos de asociacin con ms de dos extremos deben ser posedos por la
asociacin.
propiedad del tipo representado por el clasificador tocado por el punto. Esta propiedad le
pertenece al clasificador al otro extremo.
El punto de propiedad puede ser usado en combinacin con otras notaciones de lneas
grficas para las propiedades de las asociaciones y los finales de las asociaciones. Esto
incluye al tipo de agregacin y a la navegabilidad.
El estndar UML no obliga al uso explcito de la notacin de pertenencia, pero define una
notacin que debera aplicarse en modelos donde eso haya sido escogido. La notacin del
punto debe ser aplicada a nivel de asociaciones completas o superiores, de manera que la
ausencia del punto representa pertenencia a la asociacin. En otras palabras, en
asociaciones binarias el punto ser omitido para aquellos extremos que no pertenecen al
clasificador.
La notacin de atributo puede ser usada para un extremo de asociacin que le pertenece
a una clase, porque un extremo de asociacin posedo por una clase tambin es un
atributo. Esta notacin puede ser usada en conjuncin con la notacin de flecha para
dejar perfectamente claro que el atributo tambin es un extremo de una asociacin.
10.2. Navegabilidad
La propiedad al extremo de una asociacin es navegable desde el lado opuesto de la
asociacin si instancias del clasificador en ese final del link pueden ser accedidos
eficientemente en tiempo de ejecucin desde instancias al otro lado del link.
Una propiedad al extremo de una asociacin, que pertenece a una clase final, o que es un
extremo navegable perteneciente a la asociacin; indica que la asociacin es navegable
desde los extremos opuestos; de lo contrario, la asociacin no es navegable desde los
extremos opuestos.
Notacin:
Un extremo navegable se indica por una punta de flecha abierta al final de una
asociacin
Un extremo no navegable se indica por una x pequea en el final de una
asociacin
Un extremo de asociacin sin adornos al final significa navegabilidad no
especificada.
Un smbolo de visibilidad puede ser aadido como adorno a un extremo navegable para
mostrar la visibilidad de ese extremo como un atributo del clasificador principal.
10.3. Aridad
Cada asociacin tiene una aridad especfica, ya que podra relacionar a dos o ms
elementos.
Asociacin Binaria
Un pequeo tringulo rellenado puede ser colocado al lado o en lugar del nombre de la
asociacin binaria para representar el orden de los extremos de la asociacin. La flecha
apunta a lo largo de la lnea con direccin al ltimo extremo en el orden del final de
asociacin. Esta notacin tambin indica que la asociacin puede ser leda del principio al
final del ltimo extremo.
Asociacin N-aria
Cualquier asociacin podra ser dibujada como un diamante (ms grande que el diamante
dibujado al final de la lnea) con una lnea gruesa para cada extremo de la asociacin
conectando al diamante con el clasificador que es del tipo del extremo. Una asociacin n-
aria con ms de dos extremos nicamente puede ser dibujada de esta manera.
10.6. Link
Un vnculo (link) es una instancia de una asociacin. Es una tupla con un valor para cada
extremo de la asociacin, donde cada valor es una instancia del tipo de ese extremo. La
asociacin tiene por lo menos dos extremos, representados por propiedades
(propiedades de extremo).
Un link se representa usando la misma notacin que para una asociacin. La lnea gruesa
conecta las instancias en lugar de a los clasificadores. El nombre del link puede mostrarse
subrayado, aunque no es requerido. Los nombres de los extremos (roles) y las flechas de
navegacin pueden mostrarse tambin.
11. Agregacin
La agregacin compartida (o simplemente agregacin) es una asociacin binaria entre
una propiedad y uno o ms objetos compuestos que agrupan un conjunto de instancias.
Es una forma dbil de agregacin cuando las instancias de las partes son independientes
de la compuesta. La agregacin compartida tiene las siguientes caractersticas:
Notacin
Tringulo significa que cada lnea Segmento podra ser una parte de varios tringulos, o
podra no pertenecer a ningn tringulo. Borrar una instancia de Tringulo especfica no
significa de ninguna manera que cualquiera o todos los segmentos sern borrados
tambin. (Note que hemos llamado a la coleccin de esas tres lneas Segmentos lados,
mientras que la convencin UML usual es usar la forma singular, esto sera lado, inclusive
para las colecciones.)
Una agregacin compartida puede ser representada junto a otros adornos de asociacin,
tales como navegabilidad y propiedad de extremo de asociacin. En el ejemplo abajo, la
lnea Segmento es navegable desde Tringulo. El extremo de asociacin lados le
pertenece al Tringulo (no por la asociacin en s misma), lo que significa que lados es un
atributo de Tringulo.
Errores
Tampoco ayudara si dibujsemos dos agregaciones separadas como se muestra abajo. Los
links de la agregacin deberan formar un grfico a-cclico directo de manera que ninguna
instancia compuesta podra ser parte directa o indirecta de s misma.
Historia
En UML 1.x los tipos para las agregaciones eran none, aggregate, y composite. UML 2.0
renombr el tipo de agregacin aggregate a shared, de manera que en UML 2.x los tipos
de agregacin son: none, shared, y composite.
Ejemplo
(Siguiente pgina)
12. Composicin
Una agregacin de composicin (o solamente composicin) es una forma de agregacin
fuerte con las siguientes caractersticas:
Notacin
Una agregacin de composicin se representa por una asociacin binaria decorada con un
diamante con relleno negro en el extremo del todo.
Note que, aunque parezca extrao, la multiplicidad del todo puede ser especificada como
0..1 (al menos uno) lo que significa que se le permite a la parte existir por s misma sin
estar obligada a pertenecer a un todo especfico.
Errores
13. Generalizacin
Es una relacin dirigida de taxonoma binaria (es decir, de clasificacin) entre un
clasificador ms general (sper clase) y un clasificador ms especfico (sub clase).
Cada instancia del clasificador especfico es tambin una instancia indirecta del
clasificador general, de manera que podemos decir Paciente es una Persona, Cuenta de
ahorro es una Cuenta, etc. A causa de esto, la relacin de generalizacin es tambin
formalmente llamada relacin es un.
Una generalizacin se representa con una lnea con un tringulo vaco como punta de
flecha entre los smbolos representando a las clases involucradas. La punta de la flecha
apunta al smbolo representando al clasificador general. Esta notacin es referida como el
estilo de destino separado.
Las relaciones de generalizacin que referencian al mismo clasificador general pueden ser
conectadas juntas con el mismo estilo de destino compartido.
13.1. Herencia
La herencia del ADOO (Anlisis y Diseo Orientado a Objetos) usualmente se define como
un mecanismo por el cul clases ms especficas (llamadas subclases o clases derivadas)
La herencia fue explicada en UML 1.4.2 usando los conceptos de un descriptor completo y
de un descriptor de segmento. Un descriptor completo contiene una descripcin de todos
los atributos, asociaciones, operaciones, y restricciones que el objeto contiene, y es
usualmente implcito porque se construye a partir de segmentos incrementales
combinados usando la herencia.
La especificacin UML 2.4 y la reciente UML 2.5 no proveen definicin para la herencia.
Las especificaciones UML 2.x dicen que con los clasificadores de especializacin de
generalizacin heredan caractersticas de un clasificador ms general. Adems, cualquier
restriccin aplicable a instancias de un clasificador general tambin aplica a las instancias
de los clasificadores especficos.
UML 2.5 provee una explicacin vaga e incompleta de cmo funciona la herencia en UML:
Herencia Mltiple
Por defecto, de UML 2.0 a UML 2.4.1 el set de generalizacin es {incomplete, disjoint},
mientras que en UML 2.5 el valor por defecto fue cambiado a {incomplete, overlapping}.
En el diagrama, las restricciones del set de generalizacin se colocan luego de los sets, cerca
de la punta de flecha comn o cerca de la lnea punteada del set de generalizacin.
La especificacin del powertype se muestra como dos puntos seguidos del nombre del
clasificador de powertype cerca del correspondiente set de generalizacin.
14. Dependencia
Es una relacin dirigida que es usada para mostrar que algn elemento UML o conjunto
de elementos requiere, necesita o depende de otros elementos del modelo para su
especificacin o implementacin. Por esto, la dependencia es llamada relacin cliente-
proveedor (supplier-client), donde el proveedor brinda algo al cliente, y as el cliente es en
cierto sentido incompleto mientras que es dependiente estructural o semnticamente del
elemento proveedor. Una modificacin al proveedor podra impactar en los elementos
cliente.
La dependencia es una relacin entre elementos nombrados, que en UML incluye varios
diferentes elementos, por ejemplo: clases, interfaces, componentes, artefactos,
paquetes, etc. Hay varios tipos de dependencia, como se muestra en el diagrama de
abajo.
Diagrama de clases
Diagrama de estructura compuesta
Diagrama de paquetes
Diagrama de componentes
Diagrama de despliegue
14.1. Usage
La dependencia de uso (usage) es una relacin de dependencia en donde un elemento
(cliente) requiere otro elemento (o conjunto de elementos) (proveedores) para su
completa implementacin u operacin.
La dependencia de uso se muestra con una dependencia con la palabra reservada use
sobre ella.
Create
Un create es una dependencia de uso que denota que el clasificador del cliente crea
instancias del clasificador del proveedor. Se denota por el estereotipo estndar create
Un create tambin especificar que la caracterstica designada crea una instancia del
clasificador al cual la caracterstica est agregado. Esta dependencia puede ser promovida
al clasificador conteniendo la caracterstica.
Call
Es una dependencia de uso que especifica que la operacin fuente invoca a la operacin
destino. Esta dependencia puede conectar una operacin fuente a alguna operacin
destino que se encuentre dentro del alcance incluyendo, pero no limitada a, operaciones
del clasificador que la encierra y operaciones de otros clasificadores visibles. Se denota
por el estereotipo estndar call cuya fuente es una operacin y cuyo destino es
tambin una operacin.
Esta relacin tambin puede ser aplicada a la clase que contiene una operacin, con la
idea que existe una operacin en la clase a la cul aplica la dependencia.
Send
Es una dependencia de uso cuya fuente es una operacin y cuyo destino es una seal,
especificando que la fuente enva una seal destino. Se denota con el estereotipo
estndar send.
Interface requerida
15. Abstraccin
La abstraccin es una relacin de dependencia que relaciona dos elementos nombrados
o conjuntos de elementos nombras representando el mismo concepto pero a diferentes
niveles de abstraccin o desde diferentes puntos de vista.
Puesto que la abstraccin es una dependencia, usualmente se define como una relacin
entre cliente/proveedor donde el cliente (sub-set o fuente) depende del proveedor (sub-
set o destino). Corresponde a una convencin comn de ADOO considerar al elemento
ms abstracto de la relacin el proveedor. Sin embargo, el modelador UML puede decidir
que para cierto dominio especfico o tarea es ms apropiado tener al elemento proveedor
ms abstracto dependiendo del elemento cliente ms especfico.
Sintaxis de la Abstraccin
Notacin
Por ejemplo, la clase del nivel de anlisis Cliente (proveedor, sub set o destino) puede ser
implementada en la clase de nivel de diseo ClienteInfo (cliente, sub set o fuente).
15.1. Derive
Es un estereotipo estndar de abstraccin que es usado para especificar la relacin de
derivacin en los elementos de un modelo que son usualmente, pero no necesariamente,
del mismo tipo. La derivacin es definida en UML como el cliente puede calcularse desde
el proveedor. La razn para tener tal cliente calculado puede ser la eficiencia en la
implementacin. El mapeo para la relacin de abstraccin especifica el clculo.
Fecha
Nacimiento
Edad
15.2. Refine
Es un estereotipo estndar de abstraccin que es usado para especificar una relacin de
refinamiento entre elementos de un modelo a diferentes niveles semnticos, tales como
anlisis, diseo e implementacin. Puede ser usado en transformaciones de modelos
Anlisis
ad Diseo
ad
15.3. Trace
Es un estereotipo estndar de abstraccin que es usado principalmente para dar
seguimiento a requerimientos y cambios en los Modelos para los elementos o conjuntos
de elementos que representan un mismo concepto en diferentes modelos. As, trace una
relacin inter-modelo.
El caso de uso Withdraw Cash del Modelo de Casos de Uso es rastreado por la
colaboracin Withdraw Cash en el Modelo de Diseo.