Se puede hacer referencia a un diagrama de objetos como una captura de pantalla de las instancias en un sistema y la relación que existe entre ellas. Dado que los diagramas de objetos representan el comportamiento cuando los objetos han sido instanciados, podemos estudiar el comportamiento del sistema en un instante particular. Los diagramas de objetos son vitales para representar y comprender los requisitos funcionales de un sistema.
En otras palabras, “Un diagrama de objetos en el Lenguaje Unificado de Modelado (UML), es un diagrama que muestra una vista completa o parcial de la estructura de un sistema modelado en un momento específico. ”
Diferencia entre un objeto y un diagrama de clases:
un diagrama de objetos es similar a un diagrama de clases, excepto que muestra las instancias de las clases en el sistema. Representamos clasificadores reales y sus relaciones haciendo uso de diagramas de clase. Por otro lado, un diagrama de objetos representa instancias específicas de clases y relaciones entre ellas en un momento dado.
¿Qué es un clasificador?
En UML, un clasificador se refiere a un grupo de elementos que tienen algunas características comunes, como métodos, atributos y operaciones. Se puede pensar en un clasificador como una metaclase abstracta que traza un límite para un grupo de instancias que tienen características estáticas y dinámicas comunes. Por ejemplo, nos referimos a una clase, un objeto, un componente o un Node de implementación como clasificadores en UML, ya que definen un conjunto común de propiedades.
Un diagrama de objetos es un diagrama estructural que utiliza una notación similar a la de los diagramas de clases. Podemos diseñar diagramas de objetos instanciando clasificadores.
Los diagramas de objetos utilizan ejemplos del mundo real para representar la naturaleza y la estructura del sistema en un momento determinado . Dado que podemos utilizar los datos disponibles dentro de los objetos, los diagramas de objetos proporcionan una visión más clara de las relaciones que existen entre los objetos .
Figure – a class and its corresponding object
Notaciones utilizadas en diagramas de objetos:
- Objetos o especificaciones de instancias: cuando instanciamos un clasificador en un sistema, el objeto que creamos representa una entidad que existe en el sistema. Podemos representar los cambios en el objeto a lo largo del tiempo mediante la creación de múltiples especificaciones de instancias. Usamos un rectángulo para representar un objeto en un diagrama de objetos. Un objeto generalmente está vinculado a otros objetos en un diagrama de objetos.
Figura – notación para un ObjetoPor ejemplo: en la siguiente figura, dos objetos de la clase Estudiante están vinculados a un objeto de la clase Universidad.
Figura: un diagrama de objetos usando un enlace y 3 objetos - Enlaces: usamos un enlace para representar una relación entre dos objetos.
Figura: notación para un enlaceRepresentamos el número de participantes en el enlace para cada extremo del enlace. Usamos el término asociación para una relación entre dos clasificadores. El término enlace se utiliza para especificar una relación entre dos objetos o especificaciones de instancia. Usamos una línea continua para representar un vínculo entre dos objetos.
Notación Sentido 0..1 cero o uno 1 Sólo uno 0..* cero o más * cero o más 1..* Uno o mas 7 solo siete 0..2 cero o dos 4..7 cuatro a siete - Relaciones de dependencia: usamos una relación de dependencia para mostrar cuándo un elemento depende de otro elemento.
Figura – notación para relación de dependenciaLos diagramas de clases, los diagramas de componentes, los diagramas de implementación y de objetos utilizan relaciones de dependencia. Una dependencia se usa para representar la relación entre entidades dependientes e independientes en el sistema. Cualquier cambio en la definición o estructura de un elemento puede causar cambios en el otro. Este es un tipo de relación unidireccional entre dos objetos.
Las relaciones de dependencia son de varios tipos especificados con palabras clave (a veces entre paréntesis angulares”).Abstracción, Enlace, Realización, Sustitución y Uso son los tipos de relaciones de dependencia que se utilizan en UML.
Por ejemplo: en la figura a continuación, un objeto de la clase Player depende (o usa) un objeto de la clase Bat.
Figura: un diagrama de objetos que usa una relación de dependencia - Asociación: la asociación es una relación de referencia entre dos objetos (o clases).
Figura – notación para asociaciónCada vez que un objeto usa otro, se llama asociación. Usamos asociación cuando un objeto hace referencia a miembros del otro objeto. La asociación puede ser unidireccional o bidireccional. Usamos una flecha para representar la asociación.
Por ejemplo: el objeto de la clase Pedido está asociado con un objeto de la clase Cliente.
Figura: un diagrama de objetos usando asociación - Agregación: la agregación representa una relación «tiene un».
Figura – notación para agregaciónLa agregación es una forma específica de asociación. la agregación es más específica que la asociación ordinaria. Es una asociación que representa una relación parte-todo o parte-de. Es una especie de relación padre-hijo, sin embargo, no es herencia. La agregación se produce cuando el ciclo de vida de los objetos contenidos no depende en gran medida del ciclo de vida de los objetos contenedores.
Figura: un diagrama de objetos usando agregaciónPor ejemplo: una biblioteca tiene una relación de agregación con los libros. La biblioteca tiene libros o los libros son parte de la biblioteca. La existencia de libros es independiente de la existencia de la biblioteca. Durante la implementación, no hay mucha diferencia entre agregación y asociación. Usamos un diamante hueco en el objeto contenedor con una línea que lo une al objeto contenido.
- Composición: la composición es un tipo de asociación en la que el niño no puede existir independientemente del otro.
Figura – notación para la composiciónLa composición es también un tipo especial de asociación. También es una especie de relación padre-hijo pero no es herencia. Considere el ejemplo de un niño Gurkaran: Gurkaran se compone de piernas y brazos. Aquí Gurkaran tiene una relación de composición con sus piernas y brazos. Aquí las piernas y los brazos no pueden existir sin la existencia de su objeto principal. Entonces, cuando la existencia independiente del niño no es posible, usamos una relación de composición. Usamos un diamante relleno en el objeto contenedor con una línea que lo une al objeto contenido.
Figura: un diagrama de objetos usando composiciónPor ejemplo: en la figura a continuación, considere el objeto Bank1. Aquí no puede existir una cuenta sin la existencia de un banco.
Figura: un banco se compone de cuentas
Diferencia entre Asociación y Dependencia –
La asociación y la dependencia a menudo se confunden en su uso. Una fuente de confusión fue el uso de enlaces transitorios en UML 1. Los metamodelos ahora se manejan de manera diferente en UML 2 y el problema se resolvió.
Hay un gran número de dependencias en un sistema. Sólo representamos las que son imprescindibles transmitir para la comprensión del sistema. Necesitamos entender que toda asociación implica una dependencia en sí misma. Nosotros, sin embargo, preferimos no dibujarlo por separado. Una asociación implica una dependencia similar a la forma en que lo hace la generalización.
¿Cómo dibujar un diagrama de objetos?
- Dibuje todos los diagramas de clase necesarios para el sistema.
- Identifique los puntos cruciales en el tiempo en los que se necesita una instantánea del sistema.
- Identificar los objetos que cubren la funcionalidad crucial del sistema.
- Identificar la relación entre los objetos dibujados.
Usos de un diagrama de objetos:
- Modele el diseño estático (similar a los diagramas de clase) o la estructura de un sistema utilizando instancias prototípicas y datos reales.
- Nos ayuda a comprender las funcionalidades que el sistema debe entregar a los usuarios.
- Comprender las relaciones entre los objetos.
- Visualice, documente, construya y diseñe un marco estático que muestre instancias de objetos y sus relaciones en la historia dinámica de la vida de un sistema.
- Verifique que los diagramas de clases estén completos y precisos utilizando diagramas de objetos como casos de prueba específicos.
- Descubra hechos y dependencias entre instancias específicas y represente ejemplos específicos de clasificadores.
Este artículo es una contribución de Ankit Jain . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA