2.2 - Conceptos de diagramas de clases UML Flashcards
¿Qué es un diagrama de clases y para qué se utiliza?
Es una herramienta de modelado visual utilizada en programación orientada a objetos para representar las clases y las relaciones entre ellas.
Se utiliza para modelar la visión estática de un sistema y soportar los requisitos funcionales del sistema.
¿Cuáles son los compartimentos de un diagrama de clases y qué información se incluye en cada uno?
Las clases se representan gráficamente por medio de un rectángulo con tres divisiones internas. Los tres compartimentos alojan el nombre de la clase, sus atributos y sus operaciones, respectivamente.
¿Cómo se representan las relaciones entre clases en un diagrama de clases?
Se representan mediante líneas que conectan las clases. Las relaciones más comunes son las de asociación (Agregación y Composición), dependencia y generalización.
¿Cuál es el objetivo de establecer una visibilidad en los atributos y operaciones de una clase?
El objetivo es controlar el acceso a ellos desde otras clases.
Qué tipos de visibilidad existen?
(+) Public: los miembros son accesibles desde cualquier parte del sistema.
(-) Private: los miembros son accesibles sólo desde dentro de la clase que los define.
(#) Protected: los miembros son accesibles desde dentro de la clase que los define y desde las subclases que la heredan.
(~) Package: los miembros son accesibles sólo desde dentro del paquete que los contiene.
¿Cómo vincula el concepto de visibilidad en los atributos y operaciones con el de encapsulamiento?
El encapsulamiento en programación orientada a objetos implica ocultar los detalles internos de una clase y revelar solo una interfaz pública, usando la visibilidad para especificar qué partes son accesibles externamente.
¿Qué es una clase abstracta?
Una clase abstracta es una clase que no puede ser instanciada.
Que es una operación abstracta?
Una operación abstracta es una operación que no tiene una implementación definida, sino que se define en las subclases que la heredan.
¿Cómo se representa una clase abstracta?
En un diagrama de clases, una clase abstracta se representa con el nombre de la clase en negrita y cursiva, y con la etiqueta {abstracta} debajo del nombre de la clase.
¿Para qué se utiliza una clase abstracta?
Una clase abstracta se utiliza como una plantilla para definir atributos y operaciones comunes que serán heredados por sus subclases.
¿Qué es una interfaz?
Una interfaz define un contrato que las clases que la heredan deben cumplir.
¿Qué diferencia tiene una interfaz con una clase abstracta?
- Una interfaz sólo puede contener operaciones abstractas, mientras que una clase abstracta puede contener tanto operaciones abstractas como operaciones concretas.
- Una clase abstracta puede tener atributos, mientras que una interfaz no puede tener atributos.
- Una clase concreta puede implementar múltiples interfaces, pero sólo una clase abstracta.
¿Qué es una dependencia?
En UML, una dependencia es una conexión semántica entre dos elementos de modelado, uno independiente y otro dependiente.
¿Qué representa una asociación entre clases?
En UML, una asociación es una conexión semántica entre dos clases que representa una relación entre ellas.
Pueden presentar algunos elementos adicionales que dan detalle a la relación, como ser: nombre, multiplicidad, navegabilidad, roles, etc.
Explique nombre de rol y multiplicidad
En UML, el nombre de rol es un elemento adicional que se puede agregar a una asociación para describir el papel que juega una clase en la relación.
La multiplicidad, describe cuántos objetos están conectados en una instancia de una asociación