Bloques de construcción de uml



Descargar 150.01 Kb.
Página5/7
Fecha de conversión28.10.2018
Tamaño150.01 Kb.
1   2   3   4   5   6   7

Relaciones

Una clase puede tener una relación consigo misma, indicando que los objetos de esa clase están conectados entre sí.


Las relaciones se dibujan con una línea, empleando un tipo distinto de línea para cada tipo de relación o un símbolo específico.

Dependencia

Cuando objetos de una clase utilizan objetos de otra clase existe una relación de dependencia entre sus clases respectivas. Esta relación se representa en el diagrama de clases con una flecha discontinua en el sentido del elemento que se usa. Las clases, cuyos objetos usan los de otra clase, dependen de la especificación de la clase usada. Si cambia la especificación, habrá que hacer cambios en las clases que la usan.


Las dependencias generalmente se utilizan para indicar que una clase utiliza a otra como argumento en alguna operación o sus objetos utilizan alguna de las operaciones de la otra clase.


Se puede poner nombre a las dependencias para mejorar la comprensión del diagrama, pero generalmente no es necesario.



Asociación

Una asociación es una relación estructural. Esta relación expresa que se puede navegar desde los objetos de una clase hasta los objetos de la otra clase. La asociación se representa con una línea continua.




Las asociaciones se suelen emplear para indicar que una clase contiene un atributo de la otra clase. En UML se puede especificar el nombre de una asociación, el rol de cada clase y su multiplicidad o cardinalidad.




Una asociación es, en principio, bidireccional. Cuando se quiere limitar la navegación en un sólo sentido se dibuja una flecha que indique explícitamente el sentido permitido. Por ejemplo, en la figura los objetos de la clase Clave pueden acceder a los de la clase Usuario, pero no al revés. Una asociación entre dos clases es una relación entre iguales, conceptualmente ninguna de las clases tiene más importancia que otra. Sin embargo, a veces conviene destacar que una de las clases es un “todo” del que la otra clase forma “parte”. A esta relación “todo/partes” se le llama agregación simple. Gráficamente se representa con un rombo vacío en el extremo de la clase “todo”.




La agregación simple sólo es una relación conceptual, no tiene implicaciones en el comportamiento de las clases.


Existe otro tipo de agregación, la composición o agregación compuesta. La composición es también una relación “todo/partes”, pero con fuertes implicaciones de comportamiento. La composición liga la existencia de las partes al todo: si el todo desaparece también desaparecen sus partes. Gráficamente se representa con un rombo relleno en el extremo de la clase “todo”.



Generalización

La generalización o herencia expresa una relación entre una clase genérica y una o varias clases específicas. A la clase genérica se le llama clase madre y a las clases específicas hijas. La generalización indica que las hijas heredan los atributos, operaciones y relaciones de la clase madre (sólo se heredarán los elementos que sean públicos o protegidos). Las hijas pueden redefinir los elementos que heredan del padre y añadir sus propios atributos, operaciones y relaciones. Gráficamente, la generalización se representa con una línea continua acabada en una punta de flecha vacía.






UML permite especificar herencias múltiples, es decir que una clase herede el comportamiento de varias clases madre. Pero, hay que tener cuidado con el uso de la herencia múltiple. Afortunadamente no todos los lenguajes permiten su implementación.

Interfaces y realizaciones

A las clases abstractas puras, es decir, a las clases que no contienen ninguna implementación, se les llama interfaces.


En UML una interfaz es una colección de operaciones que sirven para especificar los servicios de una clase o un componente. Una interfaz sólo contiene las cabeceras de las operaciones, no su implementación. (Una interfaz de UML se corresponde con una clase virtual pura de C++ y con una “interface” de Java). Gráficamente una interfaz se puede representar de forma expandida como una clase estereotipada con la etiqueta <> o, en su forma abreviada, con una figura en forma de piruleta.


En los diagramas de clases se suele utilizar la forma expandida para representar las interfaces. La forma abreviada generalmente se usa en los diagramas de componentes.


Hay dos relaciones que pueden existir entre una clase y una interfaz: la dependencia y la realización.
La dependencia entre una clase y una interfaz tiene el mismo significado y representación que entre dos clases, indica que la clase usa la interfaz.
Para que una interfaz se pueda usar hace falta que otra clase implemente las operaciones que la interfaz especifica. A esta relación entre la interfaz y la clase que la implementa se le llama realización. La realización indica que la clase implementa todas las operaciones de la interfaz. Gráficamente la realización se representa como una generalización con la línea discontinua.




Diagrama de objetos

Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un instante de tiempo determinado. Puede verse como una fotografía del sistema que muestra el estado de los objetos en ese instante.


La representación gráfica de un objeto en UML es igual que la de una clase pero con el nombre subrayado. Para mostrar el estado de un objeto, se indica el valor de sus atributos y sus objetos agregados.
La única relación entre objetos que se puede representar en UML es el enlace. Un enlace indica una conexión entre dos objetos. Dos objetos pueden estar conectados si existe una asociación o una dependencia entre las clases que instancian.



Los diagramas de objetos pueden contener paquetes y, cuando se quiere mostrar la clase que hay detrás de cada instancia, también pueden contener clases.



Compartir con tus amigos:
1   2   3   4   5   6   7


La base de datos está protegida por derechos de autor ©composi.info 2017
enviar mensaje

    Página principal