Sie sind auf Seite 1von 14

Propiedades de las asociaciones de diagramas de

clases de UML
Visual Studio 2010

En un diagrama de clases de Visual Studio Ultimate, se pueden dibujar asociaciones entre cualquier
par de tipos.Un tipo es una clase, interfaz o enumeración.

Una asociación indica que el sistema que se está desarrollando almacena vínculos de alguna clase
entre las instancias de los tipos asociados.Generalmente, no suele tener que ver con la
implementación de los vínculos.Podría tratarse, por ejemplo, de punteros, filas de una tabla, nombres
con referencias cruzadas de XML, etc.

Una asociación es un método que muestra en forma de diagrama un atributo o un par de


atributos.Por ejemplo, si ha definido una clase Restaurante para que tenga un atributo de tipo Menú,
puede establecer la misma definición dibujando una asociación entre Restaurante y Menú.

Para dibujar una asociación, en el cuadro de herramientas, haga clic en Association, haga clic en el
primer tipo y, a continuación, en el segundo.Puede hacer clic dos veces en el mismo tipo para
mostrar que las instancias pueden vincularse a otras instancias del mismo tipo.

Propiedades

Estas son las propiedades de una asociación en un diagrama de clases de UML.

Para ver las propiedades de una asociación, haga clic con el botón secundario del mouse en la
asociación y, a continuación, haga clic en Propiedades.Las propiedades aparecen en la ventana
Propiedades.

Algunas de las propiedades también pueden verse en el diagrama, como se muestra en la ilustración
siguiente.

Propiedad Descripción
Name (1) Identifica la asociación.También aparece en el diagrama junto al punto
intermedio de la asociación.

Qualified Identifica la asociación de manera inequívoca.Utiliza como prefijo el nombre


Name calificado del paquete que contiene el primer rol de la asociación.

Elementos de Número de elementos de trabajo vinculados a esta asociación.Para vincular


trabajo elementos de trabajo, vea Cómo: Vincular elementos de trabajo con elementos de
modelo.

Color Color del conector.A diferencia de otras propiedades, esta es una propiedad de
esta vista de la asociación, y no una propiedad de la relación subyacente del
modelo.

First Role Cada extremo de la asociación se denomina rol.En cada rol se describen las
propiedades del atributo equivalente de la clase en el extremo contrario de la
Second Role asociación.

En el diagrama del ejemplo, la asociación entre Menú y Elemento del menú tiene
los roles denominados Menú y Contenido.

Contenido es el nombre de un atributo de la clase Menú.

Propiedades de cada rol

Para ver las propiedades de cada rol, expanda la propiedad First Role o Second Role.

Propiedad Valor Descripción


predeterminado
Role Name Nombre del tipo de Nombre del rol.Aparece junto al extremo de la asociación del
(2) este rol. diagrama.

Agregación None None (4): representa una relación general entre instancias de
las clases.

Composite (5): el objeto de este rol contiene el objeto del rol


opuesto.Puede utilizar la herramienta Compuesta para crear
una asociación mediante una agregación compuesta.

Shared (6): el objeto de este rol contiene referencias al objeto


del otro rol.Puede utilizar la herramienta Aggregation para
crear una asociación mediante una agregación compartida.

La interpretación exacta dependerá de la convención local.

Is Derived False Si es true, el objeto de este extremo del vínculo se calcula a


partir de otros atributos y asociaciones.Por ejemplo,
MyWorkPlace se calcula a partir de MyEmployer.WorkPlace.Los
detalles deberían especificarse en la descripción o en un
comentario adjunto.

Is Derived False Si es true, el rol es la unión de un conjunto de roles de tipos


Union derivados.

Is True La asociación se puede leer en esta dirección.Si se proporciona


Navigable una instancia del rol contrario, el software que se está
describiendo puede determinar de forma eficaz la instancia
asociada en este rol.

Si un rol es navegable y el otro no lo es, aparece una flecha (7)


en la asociación que indica la dirección navegable.

De forma predeterminada, la herramienta de asociación crea


una asociación que es navegable en una dirección.Para
convertirla en una asociación bidireccional, puede seleccionar
la asociación, hacer clic en la etiqueta inteligente que aparece
y, a continuación, hacer clic en Hacer bidireccional.

Is Read False Si es true, no se puede cambiar ninguna instancia de la


Only asociación una vez creada.El vínculo siempre se establece con
el mismo objeto.

Multiplicity 1 1: este extremo de la asociación siempre se vincula a un


(3) objeto.En la ilustración, cada Elemento del menú tiene un
Menú.

0..1: este extremo de la asociación se vincula a un objeto o no


hay vínculos.

*: cada objeto del otro extremo de la asociación está vinculado


a una colección de objetos de este extremo y la colección
puede estar vacía.

1..*: cada objeto del otro extremo de la asociación está


vinculado al menos a un objeto de este extremo.En la
ilustración, cada Menú tiene al menos un Elemento del menú.

n ..m: cada objeto del otro extremo tiene una colección de


entre n y m vínculos en este extremo.

Is Ordered False Si es true, los formularios de la colección devueltos forman una


lista secuencial.El valor de Multiplicity tiene que ser mayor que
1.

Es Unique False Si es true, no hay valores duplicados en la colección devuelta.El


valor de Multiplicity tiene que ser mayor que 1.

Visibilidad Public Public: puede verse globalmente

Private: no puede verse fuera del tipo propietario

Protected: puede verse en los tipos derivados del propietario

Package: puede verse en otros tipos del mismo paquete.

Vea también

Diagramas de clases de UML: Referencia


Visual Studio 2010

En los diagramas de clases de UML, se describen el objeto y las estructuras de información que se
utilizan en la aplicación, tanto de forma interna como en la comunicación con los usuarios.Esta
información se describe sin hacer referencia a ninguna implementación concreta.Las clases y
relaciones se pueden implementar de muchas maneras, por ejemplo, en tablas de bases de datos, en
nodos XML o en composiciones de objetos de software.

Nota
En este tema se analizan los diagramas de clases de UML.Existe otro tipo de diagrama de clases,
el diagrama de clases .NET, que se utiliza para visualizar el código del programa.Para obtener
más información, vea Diseñar y ver clases y tipos.

Leer diagramas de clases

En la tabla de esta sección se describen los elementos que pueden verse en un diagrama de clases de
UML.Para obtener información sobre las propiedades de estos elementos, vea los temas siguientes:

 Propiedades de los tipos de diagramas de clases de UML


 Propiedades de los atributos de diagramas de clases de UML
 Propiedades de las operaciones de diagramas de clases de UML
 Propiedades de las asociaciones de diagramas de clases de UML

Para obtener más información acerca de cómo se dibujan diagramas de clases de UML, vea
Diagramas de clases de UML: Instrucciones.Para obtener más información acerca de cómo se crean y
dibujan diagramas de modelado, vea Cómo: Modificar un modelo UML y los diagramas.
Form Elemento Descripción
a
1 Class Definición de objetos que comparten ciertas características
estructurales y de comportamiento.Para obtener más información, vea
Propiedades de los tipos de diagramas de clases de UML.

1 Clasificador Nombre general de una clase, interfaz o enumeración.Los


componentes, casos de uso y actores también son clasificadores.

2 Control de Si no puede ver los detalles de un clasificador, haga clic en el botón de


expandir y expansión situado en la parte superior izquierda del clasificador.Es
contraer posible que también necesite hacer clic en el icono [+] de cada
segmento.

3 Attribute Valor con tipo que se adjunta a cada instancia de un clasificador.

Para agregar un atributo, haga clic en la sección Atributos y, a


continuación, presione ENTRAR.Escriba la forma del atributo.Para
obtener más información, vea Propiedades de los atributos de
diagramas de clases de UML.

4 Operación Método o función que pueden realizar las instancias de un


clasificador.Para agregar una operación, haga clic en la sección
Operaciones y, a continuación, presione ENTRAR.Escriba la forma de
la operación.Para obtener más información, vea Propiedades de las
operaciones de diagramas de clases de UML.

5 Asociación Relación entre los miembros de dos clasificadores.Para obtener más


información, vea Propiedades de las asociaciones de diagramas de
clases de UML.

5a Agregación Asociación que representa una relación de propiedad compartida.La


propiedad Aggregation del rol del propietario se establece en
Shared.

5b Composición Asociación que representa una relación parte/todo.La propiedad


Aggregation del rol del propietario se establece en Composite.

6 Nombre de Nombre de una asociación.El nombre puede quedarse vacío.


asociación

7 Nombre de rol Nombre de un rol, es decir, un extremo de una asociación.Puede


utilizarse para hacer referencia al objeto asociado.En la ilustración
anterior, cualquier Pedido O tiene O.ChosenMenu como Menú
asociado.

Cada rol tiene sus propias propiedades, que se muestran bajo las
propiedades de la asociación.

8 Multiplicity Indica cuántos de los objetos de este extremo se pueden vincular a


cada objeto del otro.En el ejemplo, cada Pedido debe vincularse
exactamente a un solo Menú.

* significa que no hay límite superior en el número de vínculos que se


pueden establecer.

9 Generalización El clasificador específico hereda parte de su definición del clasificador


general.El clasificador general se encuentra en el extremo del conector
de la flecha.El clasificador específico hereda los atributos, las
asociaciones y las operaciones.

Utilice la herramienta Herencia para crear una generalización entre


dos clasificadores.
Form Elemento Descripción
a
10 Interface Definición de parte del comportamiento de un objeto que puede
observarse desde el exterior.Para obtener más información, vea
Propiedades de los tipos de diagramas de clases de UML.

11 Enumeració Clasificador que se compone de un conjunto de valores literales.


n

12 Paquete Grupo de clasificadores, asociaciones, acciones, líneas de vida,


componentes y paquetes.En un diagrama de clases lógicas se muestra que
los paquetes y clasificadores de miembros están incluidos dentro del
paquete.

El ámbito de los nombres se limita a los paquetes, de modo que Clase1 en


el Paquete1 será distinto que Clase1 fuera de ese paquete.El nombre del
paquete forma parte de las propiedades Qualified Name de su contenido.

Puede establecer la propiedad Linked Package de cualquier diagrama de


UML para hacer referencia a un paquete.Todos los elementos que cree en
ese diagrama, formarán parte del paquete.En el Explorador de modelos
UML, estos elementos aparecerán bajo el paquete.

13 Importar Relación entre paquetes que indica que un paquete incluye todas las
definiciones de otro.
14 Dependenci La definición o implementación del clasificador dependiente podría cambiar
a si el clasificador situado en el extremo con la punta de flecha se modifica.

Form Elemento Descripción


a
15 Realization La clase implementa las operaciones y atributos definidos por la interfaz.

Utilice la herramienta Herencia para crear una realización entre una clase y
una interfaz.

16 Realizació Presentación alternativa de la misma relación.La etiqueta del símbolo circular


n identifica la interfaz.

Para crear esta presentación, seleccione una relación de realización


existente.Aparecerá una etiqueta inteligente cerca de la asociación.Haga clic
en la etiqueta inteligente y, a continuación, haga clic en Mostrar como
círculo.

Vea también

diagrama de clases - Presentation Transcript

1. Diagramas de Clase
2.
 Asociación
 Asociación Simple
 Agregación
 Composición
 Generalización

Relaciones

3. Asociaciones
o Un profesor enseña. Modele el diagrama de clases.

Profesor Curso maestro clase Nombres de rol

o Multiplicidad
o Número de objetos asociados, con cada instancia de la clase.
 Default= 1;
 Cero or más (*);
 n..m; rango de n a m inclusive

1..* * enseña Nombre de asociación Indicador de dirección: cómo leer el nombre

4. Asociaciones – Una pregunta


o Cómo modelaría el siguiente caso?
o “ Ud. tiene 2 archivos: MiDeber.java y URLsUtiles.doc. El primero puede ser
accesado sólo por usted y el segundo por todo el mundo.”

Archivo y Usuario . . . Ahora, los permisos se asocian con el archivo o, se asocian con el usuario? Clases
a crear?

5. Clase de Asociación Archivo Usuario Permisos * 1..* Una clase de asociación clase clase
6. Ejercicio
o Cuál de las siguientes alternativas describen mejor el siguiente diagrama de clases:
o a) Cada libro debe tener figuras y capítulos.
o b) Cada libro puede tener figuras y capítulos
o c) Cada libro tiene capítulos, pero solo algunos tienen figuras
o d) Cada libro tiene figuras pero solo algunos tienen capítulos

Figura Libro Capítulo * *

7. Ejercicio en clase
o Se requiere hacer un sistema para una compañía que renta vehículos. Hay varios
modelos de vehículos tales como: convertibles, furgonetas y automóviles. Se desea registrar: el
número de puertas, color y el año del vehículo. Para los automóviles se desea registrar la marca. Se
guardarán los siguientes datos de los clientes: nombre, apellido, dirección y teléfono. Un cliente
puede hacer más de una reservación y puede alquilar más de un vehículo. Se desean guardar las
fechas en que se realizan los alquileres y la reservaciones. Se tienen varios tipos de alquiler: diario,
semanal y por millas recorridas, cada uno de estos tendrá distintos precios. Para el alquiler por
millas recorridas, se desea conocer el total de millas recorridas. Realice el diagrama de clases no
olvidar poner la visibilidad y los tipos de datos de los atributos y métodos.
8. Ejercicio en clase
o Se requiere desarrollar un sistema para una compañía que maneja suscripciones de
revistas. Es necesario llevar un registro de la siguiente información de cada cliente: nombre,
dirección y teléfono. Además se desea guardar la identificación y nombre de la revista. Las
categorías de las revistas son entretenimiento, deportes y decoración. Se van a poder realizar los
pagos de suscripciones con tarjeta de crédito. Las suscripciones pueden ser anuales, trimestrales o
semestrales. De cada suscripción es necesario guardar la fecha y el valor de la suscripción. Realice
el diagrama de clases del sistema, no olvide poner la visibilidad y los tipos de datos de los atributos
y los métodos.
9. Ejercicio en Clase
o Se quiere hacer un sistema, para una compañía donde se venden y reparan
bicicletas. A diferencia de otras compañías esta, arma las bicicletas, de acuerdo a los
requerimientos de sus clientes. Cada bicicleta es ensamblada con tres partes: un marco, dos llantas
y un asiento. A cada bicicleta se le asigna un único número de referencia, un costo, y garantía. Se
usan partes (asientos, marcos y llantas), de distintos proveedores. Es importante saber el número
telefónico del proveedor para contactarlo. Se requiere guardar de cada venta de bicicletas, la fecha
y el costo total. Los datos de los clientes también son almacenados (nombre, dirección, teléfono).
Las bicicletas son clasificadas en tres tipos: carrera, montañeras y de terreno. Para las bicicletas de
carrera se requiere guardar el número de velocidades que tiene. Cuando un cliente trae una
bicicleta a repararla, se deben guardar los siguientes datos: la fecha, número de referencia de la
bicicleta, el tiempo estimado en que se terminará la reparación, y la descripción del daño que se
quiere reparar. Realice el diagrama de clases del sistema, agregue los atributos y métodos que crea
conveniente. Además no olvide poner la visibilidad y los tipos de datos de los atributos y los
métodos.
10.
o Se le pide que cree un sistema de Administración de Eventos para asistir a las
comunidades de la ESPOL. Para organizar un evento, este primero es planificado por los miembros
de la comunidad. Los miembros de una organización tienen un nombre de usuario, nombre,
apellido, edad, password, titulo y un tipo: Administrador o Normal. Durante la fase de planificación,
el administrador ingresa el tipo del evento (CHARLA, TALLER o CURSO), el nombre, asigna
responsables entre los miembros de la organización, y a cada uno se le asigna una tarea y una
fecha límite para cumplirla. También se asigna una fecha, un lugar y las personas que dictarán el
evento. Cuando el administrador considera conveniente, escoge el publicar el evento. Para esto,
debe confirmar que todas las tareas asignadas fueron cumplidas. También se debe decidir si el
evento recibirá inscripciones (pues puede que sea sin inscripción), desde y hasta que fecha estas
se mantendrán abiertas y si se desea manejar cupo debe también ingresar el número. En este
momento es cuando se asigna que miembro de la comunidad va a estar encargado de controlar la
asistencia. Una vez publicado un evento, cualquier miembro puede consultarlo y registrarse en el
mismo si este lo permite. Una vez registrado, el miembro puede cancelar su inscripción, siempre
que el evento esté aun publicado. El administrador también puede decidir posponer e incluso
cancelar un evento que se encuentra publicado. A la hora del evento, el miembro encargado de
controlar la asistencia tendrá acceso al listado de inscripciones. En dicho listado, el puede indicar
quienes asistieron, para luego generar un reporte de asistencias.
11.
o El subdecanato necesita un sistema para automatizar el proceso de selección de
ayudantes académicos.Este sistema será usado por estudiantes y profesores. Al ingresar al sistema
un estudiante podrá consultar las ayudantías académicas disponibles y solicitar a aquellas que
desee. Posteriormente podrá consultar el estatus de dicha solicitud. Un profesor, al ingresar al
sistema, obtendrá un listado de las materias que coordina y podrá abrir ayudantías en solo para
dichas materias. Posteriormente podrá consultar las solicitudes ingresadas por los estudiantes y
visualizarlas en el orden que desee(Ejemplo: por promedio general, por promedio en la materia en
cuestión). Cuando lo considere apropiado, el profesor podrá escoger una solicitud para una materia
dada.Un estudiante ha tomado muchas materias, la información del estudiante es:numero de
matrícula, nombre, e-mail y promedio general. Por cada materia tomada por un estudiante se
registra el codigo de la materia, promedio de la misma, semestre en que fue tomada y estatus
(REPROBADA o APROBADA). Una materia esta definida por codigo, nombre, un profesor que la
coordina y la cantidad de paralelos abiertos en el semestre actual. Un profesor tiene un nombre,
numero de cédula. Una ayudantía es abierta por un profesor, le pertenece a una materia especifica,
y tiene un total de horas para la misma(min. 5), una fecha máxima para aplicar, así como un
estatus: cuando la ayudantía es recien creada esta VACANTE , cuando se excede la fecha máxima
para aplicar, la ayudantía entra EN REVISION y cuando el profesor se decide por una solicitud,
entra en estado de OCUPADA. Una ayudantía podrá recibir varias solicitudes. Un estudiante puede
solicitar una ayudantía, es decir, crear una solicitud. Una solicitud está asociada con un estudiante y
una ayudantía y contiene una fecha de creación, alguna observación que desee indicar el
estudiante y un estatus (CREADA, EN REVISION, DENEGADA, ACEPTADA) .

II.3 Diagramas de Estructura Estatica

Los Diagramas de Estructura Estática de UML se van a utilizar para representar tanto Modelos
Conceptuales (ver sección IV.3.2) como Diagramas de Clases de Diseño (ver sección IV.4.4). Ambos
usos son distintos conceptualmente, mientras los primeros modelan elementos del dominio los segundos
presentan los elementos de la solución software. Ambos tipos de diagramas comparten una parte de la
notación para los elementos que los forman (clases y objetos) y las relaciones que existen entre los
mismos (asociaciones). Sin embargo, hay otros elementos de notación que serán exclusivos de uno u otro
tipo de diagrama.

II.3.1 Clases
Una clase se representa mediante una caja subdividida en tres partes: En la superior se muestra el nombre
de la clase, en la media los atributos y en la inferior las operaciones. Una clase puede representarse de
forma esquemática, con los atributos y operaciones suprimidos, siendo entonces tan solo un rectángulo
con el nombre de la clase. En la Figura 5 se ve cómo una misma clase puede representarse a distinto nivel
de detalle según interese, y según la fase en la que se esté.
II.3.2 Objetos
Un objeto se representa de la misma forma que una clase. En el compartimento superior aparecen el
nombre del objeto junto con el nombre de la clase subrayados, según la siguiente sintaxis:
nombre_del_objeto: nombre_de_la_clase Puede representarse un objeto sin un nombre específico,
entonces sólo aparece el nombre de la clase.

II.3.3 Asociaciones
Las asociaciones entre dos clases se representan mediante una línea que las une. La línea puede tener una
serie de elementos gráficos que expresan características particulares de la asociación. A continuación se
verán los más importantes de entre dichos elementos gráficos.

II.3.3.1 Nombre de la Asociación y Dirección


El nombre de la asociación es opcional y se muestra como un texto que está próximo a la línea. Se puede
añadir un pequeño triángulo negro sólido que indique la dirección en la cual leer el nombre de la
asociación. En el ejemplo de la Figura 7 se puede leer la asociación como “Director manda sobre
Empleado”.
Los nombres de las asociaciones normalmente se incluyen en los modelos para aumentar la legibilidad.
Sin embargo, en ocasiones pueden hacer demasiado abundante la información que se presenta, con el
consiguiente riesgo de saturación. En ese caso se puede suprimir el nombre de las asociaciones
consideradas como suficientemente conocidas. En las asociaciones de tipo agregación y de herencia no se
suele poner el nombre.

II.3.3.2 Multiplicidad

La multiplicidad es una restricción que se pone a una asociación, que limita el número de instancias de
una clase que pueden tener esa asociación con una instancia de la otra clase. Puede expresarse de las
siguientes formas:
• Con un número fijo: 1.
• Con un intervalo de valores: 2..5.
• Con un rango en el cual uno de los extremos es un asterisco. Significa que es un intervalo abierto. Por
ejemplo, 2..* significa 2 o más.
• Con una combinación de elementos como los anteriores separados por comas: 1, 3..5, 7, 15..*.
• Con un asterisco: * . En este caso indica que puede tomar cualquier valor (cero o más).

II.3.3.3 Roles
Para indicar el papel que juega una clase en una asociación se puede especificar un nombre de rol.

Se representa en el extremo de la asociación junto a la clase que desempeña dicho rol.

II.3.3.4 Agregación
El símbolo de agregación es un diamante colocado en el extremo en el que está la clase que representa el
“todo”.
II.3.3.5 Clases Asociación
Cuando una asociación tiene propiedades propias se representa como una clase unida a la línea de la
asociación por medio de una línea a trazos. Tanto la línea como el rectángulo de clase representan el
mismo elemento conceptual: la asociación. Por tanto ambos tienen el mismo nombre, el de la asociación.
Cuando la clase asociación sólo tiene atributos el nombre suele ponerse sobre la línea (como ocurre en el
ejemplo de la Figura 11). Por el contrario, cuando la clase asociación tiene alguna operación o asociación
propia, entonces se pone el nombre en la clase asociación y se puede quitar de la línea.

II.3.3.6 Asociaciones N-Arias


En el caso de una asociación en la que participan más de dos clases, las clases se unen con una línea a un
diamante central. Si se muestra multiplicidad en un rol, representa el número potencial de tuplas de
instancias en la asociación cuando el resto de los N-1 valores están fijos. En la Figura 12 se ha impuesto
la restricción de que un jugador no puede jugar en dos equipos distintos a lo largo de una temporada,
porque la multiplicidad de “Equipo” es 1 en la asociación ternaria.

II.3.3.7 Navegabilidad
En un extremo de una asociación se puede indicar la navegabilidad mediante una flecha. Significa que es
posible "navegar" desde el objeto de la clase origen hasta el objeto de la clase destino. Se trata de un
concepto de diseño, que indica que un objeto de la clase origen conoce al (los) objeto(s) de la clase
destino, y por tanto puede llamar a alguna de sus operaciones.

II.3.4 Herencia
La relación de herencia se representa mediante un triángulo en el extremo de la relación que corresponde
a la clase más general o clase “padre”.

Si se tiene una relación de herencia con varias clases subordinadas, pero en un diagrama concreto no se
quieren poner todas, esto se representa mediante puntos suspensivos. En el ejemplo de la Figura 13, sólo
aparecen en el diagrama 3 tipos de departamentos, pero con los puntos suspensivos se indica que en el
modelo completo (el formado por todos los diagramas) la clase “Departamento” tiene subclases
adicionales, como podrían ser “Recursos Humanos” y “Producción”.

II.3.5 Elementos Derivados

Un elemento derivado es aquel cuyo valor se puede calcular a partir de otros elementos presentes en el
modelo, pero que se incluye en el modelo por motivos de claridad o como decisión de diseño. Se
representa con una barra “/” precediendo al nombre del elemento derivado.

Das könnte Ihnen auch gefallen