B3-T4 Diseño y programación orientada a objetos. Patrones de diseño y lenguaje de modelado unificado (UML). Flashcards

1
Q

Que es la sobrecarga ?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Si hablamos de UML, que es el OCL ?

A

Lenguaje formal utilizado en UML para definir restricciones y condiciones en los modelos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Si hablamos de UML, que es INV ?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cuáles son los cuatro elementos de los mecanismos de extensión de UML ?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿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.

A

B

Asociación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿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.

A

C

Estereotipos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿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)

A

Diagrama de despliegue

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cuál es la diferencia entre una relación de composición y una de agregación en un diagrama de clases?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿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

A

B

La disposición física de los nodos de hardware y componentes de software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿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

A

B

Visualizar la arquitectura física y cómo se distribuyen los componentes en el hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿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

A

B

Nodos y artefactos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿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

A

B

Cualquier dispositivo físico, como servidores, routers y estaciones de trabajo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿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

A

C

Información sobre la configuración del hardware y software asociado a cada nodo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿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

A

C

Al planificar la implementación física y la topología del sistema en el hardware

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

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.

A

B

El uso de diferentes interfaces para permitir que un objeto actúe de diferentes maneras según el contexto.

17
Q

¿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

A

Una relación en la que una clase es parte de otra y no puede existir sin ella.

18
Q

¿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.

A

B

Las interfaces definen un conjunto de métodos que deben ser implementados por las clases que las usan, pero no pueden contener implementaciones.

19
Q

¿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

A

La clase no puede ser instanciada directamente, pero puede contener métodos con o sin implementación.

20
Q

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í.

A

B

La herencia establece una relación de “es un”, mientras que la composición establece una relación de “tiene un”.

21
Q

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.

A

D

Muestra únicamente el modelado estático de un sistema software, que puede utilizarse en las diferentes fases de su ciclo de desarrollo.

22
Q

¿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

A

C

Diagrama de secuencia

23
Q

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

A

Diagrama de clases

24
Q

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

A

B

Diagrama de estado

25
Q

¿Qué tipo de relación entre clases se representa en UML con una línea con un triángulo en el extremo apuntando hacia la clase base?

a) Asociación
b) Composición
c) Generalización
d) Dependencia

A

C

Generalización

26
Q

¿Cuál de los siguientes diagramas de UML describe el comportamiento del sistema desde el punto de vista de los usuarios y cómo interactúan con el sistema?

a) Diagrama de interacción
b) Diagrama de clases
c) Diagrama de casos de uso
d) Diagrama de componentes

A

C

Diagrama de casos de uso

27
Q

Señale la respuesta INCORRECTA. El patrón de diseño “Composite”:

a) Es un patrón de diseño estructural que permite componer objetos en estructuras de árbol.

b) Sirve para construir objetos complejos a partir de otros más simples y similares entre sí.

c) Simplifica el tratamiento de los objetos creados que, al poseer de una interfaz común, se tratan todos de la misma manera.

d) Se recomienda su uso cuando se quiere añadir responsabilidades a objetos concretos de manera dinámica y transparente y sin afectar a otros objetos.

A

D

Se recomienda su uso cuando se quiere añadir responsabilidades a objetos concretos de manera dinámica y transparente y sin afectar a otros objetos.

28
Q

Cuál de los siguientes patrones de diseño se utiliza para crear una instancia de una clase de manera controlada, asegurándose de que haya solo una instancia en todo el sistema?

a) Factory Method
b) Singleton
c) Observer
d) Composite

A

B

Singleton

29
Q

¿Qué patrón de diseño se utiliza para crear objetos de una familia de clases relacionadas sin especificar las clases concretas que se deben instanciar?

a) Strategy
b) Abstract Factory
c) Builder
d) Command

A

B

Abstract Factory

30
Q

En el patrón Observer, ¿qué elemento notifica a los observadores cuando ocurre un cambio en el estado de un objeto observado?

a) El sujeto
b) El observador
c) El canal de comunicación
d) El controlador

A

A

El sujeto

31
Q

¿Cuál de los siguientes patrones de diseño permite separar la construcción de un objeto complejo de su representación, permitiendo crear diferentes representaciones de ese objeto?

a) Factory Method
b) Builder
c) Prototype
d) Adapter

A

B

Builder

32
Q

¿Qué patrón de diseño se utiliza para proporcionar una interfaz unificada para un conjunto de interfaces en un sistema?

a) Proxy
b) Adapter
c) Bridge
d) Facade

A

D

Facade