B3-T4 Diseño y programación orientada a objetos. Patrones de diseño y lenguaje de modelado unificado (UML). Flashcards
(138 cards)
Que es la sobrecarga ?
Dos o más métodos dentro de la misma clase pueden compartir el mismo nombre, siempre que sus declaraciones de parámetros sean diferentes.
ejemplo:
tengo una funcion persona que le paso el nombre y apellido, y otra funcion que tambien se llama persona que le paso el nombre y apellido, y además el lugar de nacimiento. La funcion persona sería una funcion sobrecargada
Si hablamos de UML, que es el OCL ?
Lenguaje formal utilizado en UML para definir restricciones y condiciones en los modelos
Si hablamos de UML, que es INV ? (T)
En UML (Lenguaje Unificado de Modelado), INV se refiere a Invariantes. Los invariantes son condiciones que deben ser siempre verdaderas para un objeto en un momento dado. Se utilizan para definir restricciones en los modelos UML, asegurando que ciertas propiedades del sistema se mantengan constantes a lo largo del tiempo.
Por ejemplo, en un diagrama de clases, un invariante puede especificar que el saldo de una cuenta bancaria nunca puede ser negativo
¿Cuáles son los cuatro elementos de los mecanismos de extensión de UML ? (T)
Estereotipos-Restricciones-Valores etiquetados-Perfiles
+++++++++++++++
Estereotipos: Extienden la semántica de los elementos del modelo. Ejemplo: «UI».
Restricciones: Condiciones o reglas que se imponen a los elementos del modelo. Ejemplo: {ordered}.
Valores etiquetados: Asocian información adicional a los elementos del modelo mediante etiquetas. Ejemplo: {RAM=64}.
Perfiles (Profiles): Conjuntos de estereotipos, restricciones y valores etiquetados que se utilizan para adaptar UML a un dominio específico o a un tipo particular de sistema
¿Cuál de las siguientes relaciones entre clases NO se considera una relación fuerte?
a) Composición.
b) Asociación.
c) Agregación.
d) Herencia.
B
Asociación
¿Qué elemento de UML se utiliza para extender la semántica de los elementos existentes en un diagrama, como por ejemplo, para indicar que una clase representa un componente de interfaz de usuario?
a) Restricciones.
b) Valores etiquetados.
c) Estereotipos.
d) Perfiles.
C
Estereotipos
¿Qué tipo de diagrama UML se utiliza para mostrar la disposición física de los nodos de hardware y los componentes de software en un sistema? (T)
Diagrama de despliegue
¿Cuál es la diferencia entre una relación de composición y una de agregación en un diagrama de clases? (T)
En la composición, el ciclo de vida del componente está ligado al de la contenedora, mientras que en la agregación, los ciclos de vida son independientes
¿Qué representa un diagrama de despliegue en UML?
a) La estructura lógica del software
b) La disposición física de los nodos de hardware y componentes de software
c) Las interacciones entre los usuarios y el sistema
d) Los flujos de trabajo del sistema
B
La disposición física de los nodos de hardware y componentes de software
¿Cuál es la función principal del diagrama de despliegue?
a) Mostrar las clases y sus relaciones
b) Visualizar la arquitectura física y cómo se distribuyen los componentes en el hardware
c) Representar la lógica del negocio
d) Detallar los casos de uso del sistema
B
Visualizar la arquitectura física y cómo se distribuyen los componentes en el hardware
¿Qué elementos se utilizan comúnmente en un diagrama de despliegue?
a) Clases y objetos
b) Nodos y artefactos
c) Actividades y decisiones
d) Componentes y interfaces
B
Nodos y artefactos
¿Qué tipo de nodos se pueden representar en un diagrama de despliegue?
a) Solo servidores
b) Cualquier dispositivo físico, como servidores, routers y estaciones de trabajo
c) Solo dispositivos móviles
d) Solo componentes lógicos
B
Cualquier dispositivo físico, como servidores, routers y estaciones de trabajo
¿Qué información adicional puede incluir un diagrama de despliegue?
a) Detalles sobre el código fuente
b) Descripciones sobre los procesos internos del sistema
c) Información sobre la configuración del hardware y software asociado a cada nodo
d) Solo nombres de los componentes
C
Información sobre la configuración del hardware y software asociado a cada nodo
¿En qué situaciones es especialmente útil un diagrama de despliegue?
a) Durante la fase de diseño lógico del software
b) Para modelar el comportamiento dinámico del sistema
c) Al planificar la implementación física y la topología del sistema en el hardware
d) Para documentar los requisitos funcionales del sistema
C
Al planificar la implementación física y la topología del sistema en el hardware
En diseño y programación orientada a objetos, una relación de generalización entre clases:
a) Implica que la subclase hereda las propiedades, el comportamiento y las relaciones de la superclase, a la vez que puede añadir sus propias propiedades, relaciones y comportamiento.
b) Describe un conjunto de enlaces, que definen las interconexiones semánticas entre las instancias de las clases que participan en la relación.
c) Asume una subordinación conceptual del tipo “todo/parte”, o bien “tiene un”.
d) Se representa mediante una línea discontinua que une la superclase y subclase con un rectángulo al lado de la superclase.
A
Implica que la subclase hereda las propiedades, el comportamiento y las relaciones de la superclase, a la vez que puede añadir sus propias propiedades, relaciones y comportamiento.
En la programación orientada a objetos, ¿qué se entiende por polimorfismo?
a) La capacidad de una subclase de heredar métodos y atributos de la superclase.
b) El uso de diferentes interfaces para permitir que un objeto actúe de diferentes maneras según el contexto.
c) La capacidad de un objeto de realizar diferentes tareas a través de diferentes clases.
d) La capacidad de un objeto de modificar el estado de otro objeto.
B
El uso de diferentes interfaces para permitir que un objeto actúe de diferentes maneras según el contexto.
¿Qué describe una relación de composición entre dos clases en la programación orientada a objetos?
a) Una relación en la que una clase es parte de otra y no puede existir sin ella.
b) Una relación en la que una clase hereda las propiedades y comportamientos de otra.
c) Una relación entre clases en la que una clase contiene referencias a objetos de otras clases.
d) Una relación en la que las clases pueden compartir atributos y métodos sin importar su jerarquía.
A
Una relación en la que una clase es parte de otra y no puede existir sin ella.
¿Cuál de las siguientes afirmaciones es cierta sobre las interfaces en la programación orientada a objetos?
a) Las interfaces permiten a una clase heredar atributos y métodos de otras clases.
b) Las interfaces definen un conjunto de métodos que deben ser implementados por las clases que las usan, pero no pueden contener implementaciones.
c) Las interfaces son opcionales y no deben ser implementadas por ninguna clase.
d) Las interfaces son clases abstractas con implementaciones predeterminadas para los métodos.
B
Las interfaces definen un conjunto de métodos que deben ser implementados por las clases que las usan, pero no pueden contener implementaciones.
¿Qué significa que una clase sea abstracta en la programación orientada a objetos?
a) La clase no puede ser instanciada directamente, pero puede contener métodos con o sin implementación.
b) La clase siempre debe ser instanciada antes de ser utilizada.
c) La clase no puede contener métodos, solo atributos.
d) La clase no puede heredar de otras clases, solo puede ser utilizada como base.
A
La clase no puede ser instanciada directamente, pero puede contener métodos con o sin implementación.
Cuál es la principal diferencia entre herencia y composición en el diseño orientado a objetos?
a) La herencia permite a una clase heredar métodos, mientras que la composición solo permite heredar atributos.
b) La herencia establece una relación de “es un”, mientras que la composición establece una relación de “tiene un”.
c) La herencia se utiliza para incluir objetos de otras clases dentro de una clase, mientras que la composición permite definir nuevas clases a partir de otras existentes.
d) La herencia no permite sobrescribir métodos, pero la composición sí.
B
La herencia establece una relación de “es un”, mientras que la composición establece una relación de “tiene un”.
Señale la respuesta INCORRECTA respecto al Lenguaje de Modelado Unificado (UML):
a) Es un lenguaje basado en diagramas para la especificación, visualización, construcción y documentación de cualquier sistema software.
b) Es independiente de las metodologías de análisis y diseño y de los lenguajes de programación que se utilicen en la construcción del software.
c) Se basa en el paradigma de la orientación a objetos.
d) Muestra únicamente el modelado estático de un sistema software, que puede utilizarse en las diferentes fases de su ciclo de desarrollo.
D
Muestra únicamente el modelado estático de un sistema software, que puede utilizarse en las diferentes fases de su ciclo de desarrollo.
¿Cuál de los siguientes diagramas de UML se utiliza principalmente para representar el comportamiento dinámico del sistema, mostrando la interacción entre objetos a lo largo del tiempo?
a) Diagrama de clases
b) Diagrama de componentes
c) Diagrama de secuencia
d) Diagrama de casos de uso
C
Diagrama de secuencia
En UML, ¿qué diagrama se utiliza para mostrar la relación estática entre clases, atributos, métodos y asociaciones?
a) Diagrama de clases
b) Diagrama de actividad
c) Diagrama de colaboración
d) Diagrama de estado
A
Diagrama de clases
En UML, ¿qué tipo de diagrama se utiliza para modelar las posibles transiciones entre los estados de un objeto en respuesta a eventos?
a) Diagrama de actividad
b) Diagrama de estado
c) Diagrama de secuencia
d) Diagrama de colaboración
B
Diagrama de estado