Cuestiones
ayuda
option
Mi Daypo

TEST BORRADO, QUIZÁS LE INTERESEDAM ED. Unidades 4 y 5.

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
DAM ED. Unidades 4 y 5.

Descripción:
repaso para examen junio

Autor:
AVATAR

Fecha de Creación:
22/05/2023

Categoría:
Informática

Número preguntas: 300
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
No hay ningún comentario sobre este test.
Temario:
Señala los analizadores de código. CVS. PMD. FindBugs. Subversion.
Relaciona cada tag Javadoc con su función. @author @return @see @version.
Relaciona cada patrón de refactorización con su función correspondiente: Cambia el nombre de un paquete, clase, método o campo. Sustituye un bloque de código por un método. Traslada una clase de un paquete a otro, sin duplicar código. Crear métodos getter/setter para acceder a los campos de una clase.
Son patrones de refactorización: Depuración. Encapsular campos. Borrado seguro. Renombrado.
La refactorización: modifica el diseño y el comportamiento del código. modifica el diseño del código pero no su comportamiento. solo sirve para validar el sistema. es un proceso que cambia el comportamiento del programa.
Son herramientas de control de versiones: PMD. CVS. Subversion. Mercurial.
Son ejemplos de herramientas CASE para gestión de configuraciones: Subversion. Bugzilla. PMD. Rational.
La documentación nos permite... Explicar la finalidad de una clase. Explicar el funcionamiento de un método. Facilitar el trabajo de mantenimiento del software. Todas las respuestas anteriores son correctas.
El concepto de entrega hace referencia a: cada versión completa del sistema. una instancia de un sistema que se distribuye a usuarios externos al equipo de desarrollo. el conjunto de todas la versiones. la documentación generada en el desarrollo de software.
¿Qué patrón de refactorización se utiliza para crear métodos setter y getter? Renombrado. Campos encapsulados. Borrado seguro. Extraer la interfaz.
Son herramientas automatizadas de documentación: SchemeSpy. Javadoc. DoxyGen. JasperReport.
Los tipos de comentarios admitidos en Java son: no permite comentarios en código. comentarios de una línea. comentarios multilínea. comentarios estilo Javadoc.
El desarrollo guiado por pruebas (TDD Test Driven Development): es un tipo de prueba de validación. refactoriza el código al mismo tiempo que la pruebas. implica diseñar las pruebas al mismo tiempo que el software. implica que el diseño del código vaya en función de las pruebas.
La refactorización cambia en comportamiento del software. ¿Verdadero o falso? Verdadero Falso .
La herramienta de control de versiones en Visual Studio es: Git. Darcs. Mercurial. Team Foundation Server.
La planificación de la Gestión de Configuración del Software, es regulado por un estándar IEEE ¿Verdadero o falso? Verdadero Falso.
En CVS la orden que almacena la copia modificada en el repositorio es: checkout. commit. abort. update.
¿Cómo se llama el almacén de versiones de CVS? Directorio. Repositorio. Modulo. Rama.
Una versión: es el conjunto de todo un proyecto desarrollado. es cada elemento que forma parte de un proyecto. es cada fichero que compone un proyecto software. es la evolución de un único elemento, dentro de un sistema en desarrollo.
En la Gestión del Cambio se establecen los siguientes tipos de control: control de la documentación. control individual. control de gestión u organizado. control formal.
Los diagramas de actividad modelan la lógica del comportamiento de los casos de uso, normalmente, pero también de otros elementos como el proceso de negocio. ¿Verdadero o falso? Verdadero Falso.
¿Qué diagrama estructural utilizamos para representar los nodos de ejecución de un sistema distribuido? Diagrama de clases. Diagrama de objetos. Diagrama de componentes. Diagrama de despliegue.
Si en la representación de una clase en un diagrama aparece junto a un atributo el símbolo menos "–" significa que: Aún no se ha especificado el tipo del atributo. El nombre está mal escrito. El atributo es privado. Es un atributo de tipo simple, es decir, no se expande en otros atributos de tipo simple.
¿Cuál es el principal objetivo de un diagrama de colaboración? Mostrar la interacción entre objetos mediante el paso de mensajes entre ellos a lo largo del tiempo empleando lineas de vida. Describir la interacción entre objetos mediante el paso de mensajes entre ellos empleado conexiones entre objetos en un grafo. Describir el flujo de realización de acciones en un sistema. Describir como cambia la situación de un objeto en función de los eventos que se produzcan.
¿Qué elemento permite la comunicación de un objeto con el mundo exterior? Los atributos. Los mensajes. Los métodos. La ocultación de información.
El diagrama de actividad modela el flujo de actividades de un proceso, sin tener en cuenta que objeto desencadena la transición entre actividades, por lo que en este diagrama no se representan objetos. ¿Verdadero o falso? Verdadero Falso .
Une cada definición con su concepto. Permite capturar las características y comportamientos similares de un conjunto de objetos con el objetivo de darles una descripción formal. Reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Propiedad que permite subdividir una aplicación en partes más pequeñas, cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Aislar las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas. Reunir bajo el mismo nombre comportamientos diferentes. Relación que se establece entre objetos en los que unos utilizan las propiedades y comportamientos de otros formando una jerarquía.
¿Cómo se denomina a los métodos y atributos de una clase? Miembro. Propios. Característicos. Pertenecientes.
Determina la cardinalidad de las siguientes relaciones: Un profesor imparte al menos una asignatura. Una asignatura es impartida por un único profesor. Un alumno está matriculado en una o varias asignaturas. Una asignatura tiene ninguno o varios matriculados.
Según un diagrama de estados con los siguientes elementos de izquierda a derecha, parte del nodo inicial del que surge una flecha con el rótulo Crear hacia el estado Abierta. De este parte una flecha con rótulo cerrar[paso.vacio] al estado Cerrada. De Cerrada sale otra flecha con el rótulo cerrar cerradura al estado Cerrada con llave y de éste vuelve otra flecha con el texto abrir cerradura a Cerrada. De Cerrada con llave también parte una flecha a abierta con el texto abrir. Podemos abrir una puerta que esté cerrada con llave. ¿Verdadero o falso? Verdadero Falso.
El diagrama de secuencia y el de colaboración representan información semejante expresada desde diferentes puntos de vista. ¿Verdadero o falso? Verdadero Falso.
¿Qué diferencia un objeto de otro? Sus atributos. Sus métodos. Los mensajes que puede recibir. Los valores que toman los atributos.
¿Qué representa el estado inicial en el diagrama de estados de nivel más alto? Lo mismo que en cualquier subdiagrama, no tiene un significado especial. La creación de una instancia de la clase para la que se define el diagrama de estados. Qué el objeto para el que se crea tiene un comportamiento significativo en tiempo real y participa en varios diagramas de casos de uso. Qué aún no se ha producido ningún evento.
La creación de una abstracción que encapsula un conjunto de elementos del contexto del problema y que define sus atributos y operaciones pertenece a: La programación estructurada. La programación orientada a objetos. Se da en programación estructurada y en programación orientada a objetos. La programación dirigida por eventos.
Un evento solo dispara una transición. ¿Verdadero o falso? Verdadero Falso .
¿Cuáles de las siguientes son características de UML? Su creador es Ivar Jacobson. Se puede conectar con lenguajes de programación mediante ingeniería inversa y directa. Utiliza diferentes diagramas para representar distintos puntos de vista del sistema. Permite representar cosas como la arquitectura del sistema o qué módulos de software se van a crear.
¿En qué diagramas podemos encontrar objetos? En el diagrama de secuencia. En el diagrama de colaboración. En el diagrama de actividad. En el diagrama de estados.
Al proceso de obtener el diagrama entidad-relación a partir de una base de datos existente se le denomina: Reingeniería de datos. Ingeniería inversa de datos. Reingeniería de interfaces de usuario. Ingeniería inversa de lógica.
¿Qué características de la orientación a objetos hacen que el software producido sea de fácil mantenimiento y modificación? La recolección de basura y la encapsulación. La herencia y el polimorfismo. La encapsulación y la modularidad. La abstracción y la encapsulación.
Elige la afirmación más acertada. El estado de un objeto debe ser privado. Los métodos que ayudan a desarrollar la funcionalidad de una clase y que se heredan deberían ser públicos. Los métodos que definen funcionalidad deben ser privados. El protocolo debe ser protegido.
¿Cuál de las siguientes es una herramienta de control de versiones? CVS. Git. Subversion. Las tres anteriores lo son.
¿Cuál de los siguientes no es un comentario válido en Java? // Constructor por defecto /* Constructor por defecto / /*Constructor por defecto*/ /** Constructor por defecto */.
Las herramientas que nos permiten evaluar el código sin llegar a ejecutarlo, para obtener información que nos permita mejorarlo sin modificar la semántica se llaman… Analizadores de código. Diagramas de casos de uso. Diagramas de clases. JavaDoc.
¿Cómo representarías una relación entre una tabla llamada Empleado que tenga como atributos ganan-ciaAnuales y fechaContratación y como método calcularAntigüedad con tres clases llamadas EmpleadoHo-ras, EmpleadoAsalariado y EmpleadoAutónomo, que añaden atributos y métodos propios? Mediante una relación de herencia simple. Mediante una relación de herencia múltiple. Mediante una relación de agregación. Mediante una relación de composición.
Describen el comportamiento de un objeto y modifican sus características manipulando datos, realizan-do algún cálculo o monitorizando el objeto frente a la ocurrencia de un suceso. Atributos Atributos de enlace. Relaciones. Métodos.
¿Cuál de los siguientes no es un elemento principal de un diagrama UML en general?. Estructuras. Clases. Relaciones. Agrupaciones.
¿Cuál de las siguientes es una característica de la programación estructurada? Genera aplicaciones que interactúan pasándose mensajes. Tiene como núcleo funciones que actúan sobre estructuras de datos. Es posterior a la programación orientada a objetos. Utiliza una abstracción denominada clase.
Un escenario es… Una generalización de un caso de uso. Un caso particular de un diagrama de clases. Una generalización de un diagrama de clases. Un caso particular de un caso de uso.
Queremos modelar un sistema para manejar el funcionamiento de una empresa. Existen empleados y departamentos. Un empleado pertenece a un solo departamento siempre. Los departamentos se agrupan en centros. Un centro puede albergar uno o varios departamentos, pero un departamento no puede pertenecer a más de un centro. Un empleado además puede ser jefe añadiendo alguna información extra a la que ya posee. ¿Cómo modelarías la relación entre empleado y jefe? Un empleado es la generalización de un jefe. Un jefe es la generalización de un empleado. Un empleado es la extensión de un jefe. Un jefe es la extensión de un empleado.
¿Qué es posible representar en un diagrama de secuencia? Las relaciones entre clases. Las relaciones entre casos de uso. Iteraciones y condicionales. Refactorización y pruebas.
María, que trabaja en la empresa BK software, se dedica fundamentalmente al desarrollo de aplicacio-nes, pero además mantiene el sitio web de la empresa, y también se encarga de la gestión de las nóminas ya que también tiene hecho el ciclo de Administración y finanzas. Si tuviéramos que hacer el diagramas de casos de uso de la empresa BK Programación ¿con qué actor identificaríamos a María? Programador. Webmaster. Administrativo. Las tres son correctas.
¿Qué diagrama utilizarías para describir el flujo de mensajes a lo largo del tiempo de un caso de uso? Diagrama de secuencia. Diagrama de colaboración. Diagrama de actividad. Diagrama de estados.
¿Cuál de los siguientes no es un diagrama de comportamiento? Diagrama de clases. Diagrama de secuencia. Diagrama de casos de uso. Diagrama de estados.
¿Qué métodos especiales de una clase deben llamarse igual que ésta y crean una instancia nueva de la misma con o sin parámetros recibidos? Atributos. Constructores. Métodos. Operadores.
Una línea de vida en la que se aprecia un rectángulo con el rótulo : ¿Qué sentencia es correcta? El objeto es múltiple. Se representa un objeto genérico de una clase cuyo nombre conocemos. Se representa una clase. Se representa un objeto de una clase cuyo nombre desconocemos.
Los miembros de una clase que se definen como _____ sólo son accesibles desde las funciones miembro de la clase y desde las funciones de clases que hereden de ella. públicos. privados. protegidos. finales.
Lee con atención el enunciado de cómo se realiza un préstamo en una biblioteca: "Para retirar un libro de la biblioteca es preciso ser socio. Los socios tienen un carnet en el que aparece su nombre, apellidos, número de teléfono y su número de socio. Cuando un socio pide un libro en préstamo tiene que rellenar una ficha en la que se apunta el número de socio, el código del libro y la fecha de préstamo. Se debe devolver el libro a las dos semanas de haberlo retirado. Un socio no puede tener más de dos libros en préstamo". Se modela con una relación entre la clase Socio y Libro y un atributo de enlace llamado Préstamo. ¿Cómo se pasaría a código en lenguaje Java el atributo de enlace Préstamo? Se implementaría una clase Java llamada Préstamo con los atributos y operaciones de la clase Préstamo. Se implementaría una clase Java llamada Préstamo y se añadiría un atributo privado de tipo Préstamo a la clase Libro. Se implementaría una clase Java llamada Préstamo y se añadiría un atributo privado de tipo Préstamo a la clase Socio. Se implementaría una clase Java llamada Préstamo y se añadiría un atributo privado de tipo array de Préstamo a la clase Socio.
Los diagramas de casos de uso se utilizan para: Representar el flujo de actividades y Representar qué hace el sistema. Representar qué hace el sistema y Capturar requisitos funcionales. Capturar requisitos funcionales y Representar el flujo de actividades Ninguna de las anteriores.
Podemos incluir el objeto "sistema" dentro de un diagrama de colaboración o secuencia utilizando el estereotipo "system". ¿Verdadero o falso? Verdadero Falso.
En un diagrama de casos de uso en el que aparece un actor llamado Vendedor asociado con un caso de uso llamado Vender y un actor asociado a un caso de uso llamado Comprar por Internet, aparece un tercer caso llamado Actualizar Stock, necesario para la correcta ejecución de los otros dos, ¿qué tipo de relación usarías para unir Actualizar stock con los otros dos casos de uso?: Asociación. Generalización. Inclusión. Extensión.
¿Cuál de estos no es un diagrama de comportamiento? Diagrama de casos de uso. Diagrama de despliegue. Diagrama de tiempo. Diagrama de colaboración.
Los diagramas de actividad modelan la lógica del comportamiento de los casos de uso, normalmente, pero también de otros elementos como el proceso de negocio. ¿Verdadero o falso? Verdadero Falso.
Señala los analizadores de código. CVS y PMD. PMD y FindBugs. FindBugs y Subversion. Subversion y CVS.
La refactorización no es necesario documentarla. ¿Verdadero o falso? Verdadero Falso.
¿Qué tarea no forma parte de la Gestión de Configuraciones de Software? Generación de informes. Gestión del repositorio. Auditorías de configuraciones. Ninguna de las anteriores.
En la Gestión del Cambio se establecen los siguientes tipos de control: control individual. control de gestión u organizado. control formal. Todas son correctas.
¿Qué documento produce Javadoc? Genera un archivo HTML con la información de las clases y métodos. Genera un nuevo código fuente, con comentarios Javadoc. No produce ningún tipo de documento adicional. Genera una ejecutable.
Lee con atención el enunciado de cómo se realiza un préstamo en una biblioteca: "Para retirar un libro de la biblioteca es preciso ser socio. Los socios tienen un carnet en el que aparece su nombre, apellidos, número de teléfono y su número de socio. Cuando un socio pide un libro en préstamo tiene que rellenar una ficha en la que se apunta el número de socio, el código del libro y la fecha de préstamo. Se debe devolver el libro a las dos semanas de haberlo retirado. Un socio no puede tener más de dos libros en préstamo". Se modela con una relación entre la clase Socio y Libro y un atributo de enlace llamado Préstamo. Para modelar el cálculo del número de préstamos se crea un método llamado numeroPrestamos en la clase socio. ¿Qué visibilidad sería más recomendable poner al método? Público. Privado. Protegido. Paquete.
De las siguientes opciones, ¿Cuáles corresponden a tipos de estado especiales? Estado inicial y Estado final. Estado de llamada y Estado de señales. Estado inicial y Estado de llamada Estado de señales y Estado final.
Supón un diagrama de secuencia con las siguiente descripción: Aparece un objeto llamado :OB1 unido por una linea continua a otro objeto a su derecha llamado :OB2, con una flecha de :OB1 a :OB2 y el mensaje 1a:[x<0]:mensaje1(p). Abajo hay otro objeto llamado :OB3 unido a :OB1 con la flecha de :OB1 a :OB3 y el mensaje 1b[x>0]:mensaje2(). ¿Por qué es incorrecto el siguiente diagrama de colaboración?: Porque los números de secuencia están mal. Porque no se han especificado parámetros para el mensaje2. Porque la condición de guarda no contempla la posibilidad x=0. Porque las flechas están en dirección contraria.
El paso de un estado a otro se puede desencadenar por... ...la llamada a una función. ...el envío de una señal. ...el paso de un tiempo determinado. Todas las anteriores son correctas.
¿Qué elemento del diagrama de actividad utilizarías para especificar varios caminos de salida en un diagrama de actividad sin sincronización? Un nodo de bifurcación. Un nodo de fusión. Un nodo de división. Un nodo de unión.
En un diagrama de casos de uso en el que aparece un actor llamado Vendedor asociado con un caso de uso llamado Vender y un actor asociado a un caso de uso llamado Comprar por Internet, aparece un tercer caso llamado Actualizar Stock, necesario para la correcta ejecución de los otros dos, ¿Qué tipo de relación usarías para unir Actualizar stock con los otros dos casos de uso?: Asociación. Generalización. Inclusión. Extensión.
¿Cuáles de las siguientes son características de UML? Se puede conectar con lenguajes de programación mediante ingeniería inversa y directa. Utiliza diferentes diagramas para representar distintos puntos de vista del sistema. Permite representar cosas como la arquitectura del sistema o qué módulos de software se van a crear. Todas son correctas.
¿Cuál es el objetivo principal de la refactorización en el desarrollo de software? Cambiar la funcionalidad del programa. Mejorar la estructura interna del código. Introducir nuevos errores en el código. Optimizar el rendimiento del programa.
¿Qué beneficios se obtienen al aplicar la refactorización en el software? Facilitar el mantenimiento del software y encontrar errores. Modificar la funcionalidad del programa y reducir el rendimiento. Complicar el diseño del código y aumentar la posibilidad de errores. Agilizar el proceso de desarrollo y aumentar la complejidad del software.
¿Cómo se logra mejorar el diseño del software mediante la refactorización? Realizando cambios drásticos en el código existente. Comenzando desde cero y reescribiendo todo el programa. Aplicando pequeñas transformaciones al código sin alterar su funcionalidad. Añadiendo nuevas funcionalidades al software existente.
¿Qué diferencia la refactorización de la optimización en el desarrollo de software? La refactorización busca mejorar el rendimiento del software, mientras que la optimización se enfoca en la estructura interna. La refactorización modifica el comportamiento observable del software, mientras que la optimización no. La refactorización hace que el código sea más difícil de entender, mientras que la optimización lo hace más legible. La refactorización cambia la función principal del software, mientras que la optimización no.
¿Cuál de las siguientes opciones es un ejemplo de refactorización? Agregar una nueva funcionalidad al software. Optimizar el rendimiento de una sección del código. Extraer un método para mejorar la legibilidad del código. Cambiar la interfaz de usuario del software.
¿Cuál es un área problemática para la refactorización de aplicaciones? La modificación de esquemas y migración de datos en bases de datos. La modificación de la interfaz de usuario. Los cambios en el diseño de la aplicación. La optimización del rendimiento del software.
¿Qué sucede cuando se renombra un método público durante la refactorización? Todas las referencias al método se actualizan automáticamente. No es necesario cambiar las referencias al método. Se generan problemas si el método es utilizado por otras partes del proyecto. No es posible renombrar métodos públicos durante la refactorización.
¿En qué situación es recomendable no realizar la refactorización y optar por reescribir el código desde cero? Cuando se identifica un error de diseño en el código. Cuando se necesita optimizar el rendimiento del software. Cuando se deben realizar cambios en la interfaz de usuario. Cuando el código existente no funciona correctamente.
¿Cuál de los siguientes patrones de refactorización se refiere a cambiar el nombre de un paquete, clase, método o campo por un nombre más significativo? Sustituir bloques de código por un método. Campos encapsulados. Renombrado. Mover la clase.
¿Qué patrón de refactorización sugiere sustituir un bloque de código por un método para mejorar la legibilidad y reutilización del código? Renombrado. Sustituir bloques de código por un método. Campos encapsulados. Mover la clase.
¿Qué patrón de refactorización recomienda la creación de métodos getter y setter para cada campo definido en una clase? Mover del interior a otro nivel. Cambiar los parámetros del proyecto. Extraer la interfaz. Campos encapsulados.
¿Cuál es uno de los patrones de refactorización que implica mover una clase de un paquete a otro? Borrado seguro. Cambiar los parámetros del proyecto. Mover la clase. Renombrado.
¿Qué implica el patrón de refactorización de "Extraer la interfaz"? Crear una nueva interfaz de los métodos públicos no estáticos seleccionados. Renombrar un paquete, clase, método o campo por un nombre más significativo. Sustituir un bloque de código por un método. Mover una clase interna a un nivel superior en la jerarquía.
¿Cuál es el objetivo principal del análisis estático de código? Evaluar el software en tiempo de ejecución. Modificar la semántica del código fuente. Mejorar la base de código sin cambiar la funcionalidad. Encontrar errores en el código en tiempo real.
¿Cuál es una de las funciones principales de los analizadores de código? Detectar errores de compilación en el código fuente. Evaluar el rendimiento del software en tiempo de ejecución. Simplificar el flujo de datos en el código. Encontrar partes del código que pueden reducir el rendimiento o causar errores.
¿Cuál es una herramienta de análisis de código disponible para Java que se enfoca en detectar patrones y posibles errores? FindBugs. EasyPMD. CPD. Netbeans.
¿Cuál es una herramienta de análisis de código disponible para Java que se enfoca en buscar códigos duplicados? FindBugs. EasyPMD. CPD. Netbeans.
¿Dónde se suelen integrar los analizadores de código estático? En el compilador del lenguaje de programación. En los sistemas operativos. En los Entornos de Desarrollo (IDE). En los servidores de aplicaciones.
¿Cómo se instala el plug-in de EasyPMD en Netbeans? Se descarga de la página de plugins de Oracle y se añade a los complementos del IDE. Se instala automáticamente al instalar Netbeans. Se descarga directamente desde la página de EasyPMD y se ejecuta el archivo de instalación. Se copia manualmente el archivo del plug-in en la carpeta de instalación de Netbeans.
¿Qué información proporciona el informe PMD generado por EasyPMD? Localización y nombre de la regla que no se cumple. Recomendaciones de cómo resolver el problema. Navegación por el fichero de clases y descripción del error. Todas las respuestas anteriores son correctas.
¿Dónde se puede acceder a la configuración del analizador de código easyPMD en Netbeans? Herramientas - Opciones - Varios - easyPMD Ventana - Preferencias - easyPMD Proyecto - Propiedades - easyPMD Ayuda - Configuración - easyPMD.
¿Qué se puede hacer en la pestaña Rulestet de la configuración de easyPMD? Ver las reglas existentes y añadir nuevas reglas. Establecer qué tipos de información visualizar en los informes. Importar ficheros XML o JAR con reglas personalizadas. Ver descripciones del problema y ejemplos de aplicación de cada regla.
¿Qué se puede hacer en la opción "Manage Rulesets" de easyPMD? Importar un fichero XML o JAR con reglas personalizadas. Exportar las reglas existentes a un archivo. Eliminar reglas predefinidas del analizador. Configurar la frecuencia de ejecución del análisis estático.
¿Qué es el Desarrollo Guiado por Pruebas (TDD)? Un enfoque que integra las pruebas y la refactorización en el desarrollo de aplicaciones. Un enfoque que agiliza el ciclo de escritura de código y realización de pruebas de unidad. Un enfoque que permite que personas distintas a los programadores realicen las pruebas de unidad. Un enfoque que propone diseñar los casos de prueba antes de implementar el código.
¿Qué se hace primero en el Desarrollo Guiado por Pruebas? Se implementa la unidad y luego se diseñan las pruebas de unidad. Se realiza una competencia entre programadores y quienes realizan las pruebas. Se elaboran las pruebas de unidad antes de escribir el código a ser probado. Se documentan los errores encontrados durante las pruebas.
¿Qué se recomienda hacer durante el proceso de refactorización en el Desarrollo Guiado por Pruebas? Refactorizar el código tan pronto como pasa las pruebas para eliminar la redundancia y hacerlo más claro. Correr el riesgo de cometer errores durante la tarea de refactorización. Dejar los detalles de la refactorización a cargo de un programa que los trate automáticamente. Reescribir completamente el código para evitar cualquier cambio de funcionalidad.
¿Cuál de las siguientes afirmaciones describe correctamente la refactorización de código en los entornos de desarrollo actuales? Es un proceso manual que implica la modificación directa del código fuente. Requiere el uso de herramientas externas, ya que los entornos de desarrollo no brindan funciones de refactorización. Consiste en utilizar patrones específicos para modificar el código de manera automatizada y evitar redundancias y errores. Es una práctica desaconsejada debido a su alta probabilidad de inducir errores en el código.
¿Cuál de las siguientes opciones describe una función proporcionada por Netbeans para refactorizar el código? Realizar pruebas unitarias automatizadas. Detectar errores sintácticos en el código fuente. Cambiar el nombre de un paquete, clase, método o campo en todo el proyecto. Eliminar referencias a elementos de código sin comprobar si existen dependencias.
¿Qué implica la encapsulación de campos en Netbeans durante el proceso de refactorización? La generación automática de métodos getter y setter para un campo, con actualización de referencias en el código. La eliminación segura de campos redundantes en el código. La adición o eliminación de parámetros en los métodos existentes. La verificación de referencias a elementos del código antes de su eliminación.
¿Cuál es una ventaja clave de utilizar un sistema de control de versiones en el desarrollo de software? Facilita la colaboración simultánea de varios desarrolladores en el mismo proyecto. Permite la generación automática de código fuente estable. Reduce la necesidad de realizar pruebas unitarias en el código. Mejora la velocidad de compilación de la aplicación.
¿Cuál es la definición de una versión en el contexto del desarrollo de software? La forma particular de un objeto en un instante o contexto dado. Un conjunto de cambios realizados en el código fuente a lo largo del tiempo. Una herramienta de control de versiones utilizada en proyectos Java. El historial de cambios realizados en el código fuente de una aplicación.
¿Cuál es la diferencia entre CVS y Subversion como sistemas de control de versiones en proyectos Java? CVS es una herramienta de código abierto, mientras que Subversion es una herramienta propietaria. CVS es el sucesor natural de Subversion y se adapta mejor a las prácticas modernas de desarrollo. Subversion es una herramienta más antigua que CVS y tiene menos funcionalidades. Subversion se adapta mejor que CVS a las prácticas modernas de desarrollo de software.
¿Cuál es la función principal de una herramienta de control de versiones como CVS? Facilitar la colaboración concurrente en proyectos de desarrollo de software. Realizar copias de seguridad de los proyectos en un servidor central. Comparar diferentes versiones de ficheros y generar informes de cambios. Ejecutar órdenes y transferir datos entre diferentes elementos del sistema.
¿Cuál es la arquitectura utilizada por CVS? Cliente-servidor. P2P (peer-to-peer). Cliente-web. Monolítica.
¿Qué es una revisión en el contexto de un sistema de control de versiones? Una parte del proyecto identificada en un directorio específico del repositorio. Un cambio incremental en los archivos o en el repositorio completo. Una etiqueta que indica información importante sobre un conjunto de archivos o un módulo completo. Una copia actualizada del proyecto obtenida del repositorio mediante la orden "update".
¿Cuál es la función principal de una etiqueta en un sistema de control de versiones? Almacenar copias de seguridad del proyecto. Identificar cambios incrementales en los archivos. Facilitar la colaboración concurrente en un proyecto. Indicar información importante sobre un conjunto de archivos o un módulo.
¿Cuál es el propósito de utilizar ramas en un sistema de control de versiones? Mantener cambios en versiones antiguas del proyecto. Comparar diferentes versiones de ficheros y generar informes de cambios. Obtener una copia del trabajo para poder trabajar con ella. Almacenar la copia modificada en el repositorio.
¿Cuál es la orden utilizada para obtener una copia del trabajo en un sistema de control de versiones como CVS? Checkout Update Commit Abort.
¿Cuál es el propósito de la orden "checkout" en un sistema de control de versiones? Actualizar la copia de trabajo con cambios recientes en el repositorio. Almacenar la copia modificada en el repositorio. Abandonar los cambios en la copia de trabajo. Obtener una copia del trabajo para poder trabajar con ella.
¿Qué hace la orden "Update" en un sistema de control de versiones? Actualizar la copia de trabajo con cambios recientes en el repositorio. Almacenar la copia modificada en el repositorio. Abandonar los cambios en la copia de trabajo. Obtener una copia del trabajo para poder trabajar con ella.
¿Cuál es el propósito de la orden "Commit" en un sistema de control de versiones? Actualizar la copia de trabajo con cambios recientes en el repositorio. Almacenar la copia modificada en el repositorio. Abandonar los cambios en la copia de trabajo. Obtener una copia del trabajo para poder trabajar con ella.
¿Cuál es el propósito de la orden "Abort" en un sistema de control de versiones? Actualizar la copia de trabajo con cambios recientes en el repositorio. Almacenar la copia modificada en el repositorio. Abandonar los cambios en la copia de trabajo. Obtener una copia del trabajo para poder trabajar con ella.
¿Qué ocurre cuando se ejecuta la orden "Update" en un sistema de control de versiones? Se obtiene una copia del trabajo para poder trabajar con ella. Se actualiza la copia de trabajo con cambios recientes en el repositorio. Se almacena la copia modificada en el repositorio. Se abandonan los cambios en la copia de trabajo.
¿Cuál es la función del repositorio en un sistema de control de versiones? Almacenar versiones parciales de los archivos. Identificar partes específicas del proyecto. Almacenar los datos de los proyectos. Añadir información textual a los archivos.
¿Qué es una revisión en un sistema de control de versiones? Un directorio específico del repositorio. Una parte importante del proyecto. Un conjunto de archivos etiquetados. Una versión parcial o cambio en los archivos o repositorio completo.
¿Cuál es el propósito de utilizar una etiqueta en un sistema de control de versiones? Identificar partes específicas del proyecto. Almacenar versiones parciales de los archivos. Añadir información textual a los archivos. Indicar cambios paralelos en un módulo.
¿Cuál es el propósito principal del repositorio en un sistema de control de versiones? Almacenar copias locales de los archivos. Sincronizar los cambios realizados por varios desarrolladores. Almacenar toda la información y datos de un proyecto. Facilitar la importación de archivos hacia el repositorio.
¿Qué función desempeña el repositorio en relación con la evolución del sistema? Almacenar información sobre las versiones y temporización. Realizar cambios en el repositorio de forma simultánea. Sincronizar proyectos CVS en el IDE de Netbeans. Escanear proyectos abiertos en busca de directorios CVS.
¿Cómo se realiza la sincronización entre la copia local y el repositorio en el entorno de desarrollo Netbeans? Abriendo un proyecto CVS en el IDE. Comprobando los archivos de un repositorio. Importando los archivos hacia un repositorio. Escaneando los proyectos abiertos en busca de directorios CVS.
¿Cuáles son las dos herramientas de control de cambios destacadas en el desarrollo de proyectos Java? CVS y Visual Studio Team Foundation Server Subversion y Mercurial CVS y Subversion SourceSafe y Git.
¿Cuál de las siguientes herramientas es un sistema de gestión de versiones distribuido? SourceSafe Visual Studio Team Foundation Server Darcs Git.
¿Cuál de las siguientes herramientas de control de versiones fue diseñada por Linus Torvalds? SourceSafe Mercurial CVS Git.
¿Cuál de las siguientes tareas es una de las cuatro tareas básicas de la Gestión de Configuraciones de Software? Diseño de interfaces de usuario. Evaluación de la calidad del software. Identificación de la configuración. Implementación de pruebas de rendimiento.
¿Qué se busca garantizar mediante las auditorías de configuraciones en la Gestión de Configuraciones de Software? El cumplimiento de estándares de documentación. La generación de informes consistentes. La coordinación con otras actividades del proyecto. La reorganización de los componentes del software.
¿Cuál de las siguientes actividades no forma parte de la planificación de la Gestión de Configuraciones de Software? Identificación de la configuración. Control de cambios. Diseño de interfaces de usuario. Coordinación con otras actividades del proyecto.
¿Cuál es uno de los propósitos de la planificación de la Gestión de Configuraciones de Software? Establecer estándares de documentación. Evaluar y registrar los cambios de la configuración. Coordinar con otras actividades del proyecto. Diseñar interfaces de usuario.
¿Cuál de las siguientes actividades NO forma parte de las cuatro tareas básicas de la Gestión de Configuraciones de Software? Identificación de la configuración. Control de cambios. Auditorías de configuraciones. Generación de informes.
¿Qué se busca lograr mediante el control de cambios en la Gestión de Configuraciones de Software? Evaluar la consistencia del conjunto del sistema. Establecer estándares de documentación. Registrar todos los cambios realizados en la configuración software. Coordinar con otras actividades del proyecto.
¿Cuál es el propósito del control de cambios en un sistema de control de versiones? Evaluar y aprobar los cambios realizados en los elementos de configuración del software. Garantizar un desarrollo razonable y controlado de la aplicación. Establecer distintos niveles de control individual en el equipo de desarrollo. Realizar revisiones y aprobaciones formales durante el mantenimiento del software.
¿Qué implica el control de gestión u organizado en el control de cambios? Un procedimiento de revisión y aprobación para cada cambio propuesto en la configuración. Un registro formal y visible para la gestión de los cambios aprobados. Cambios informales en la documentación sin generar documentos formales. Evaluación y aprobación de las modificaciones durante la fase de mantenimiento.
¿En qué fase del ciclo de vida del software se realiza el control formal de cambios? Fase de desarrollo del software. Fase de integración de cambios en el repositorio. Fase de mantenimiento del software. Fase de evaluación y aprobación de nuevos elementos.
En el contexto de la evolución de un sistema software, ¿Qué representa el tronco (trunk)? La última versión del sistema que se distribuye a los usuarios externos. La variante principal del grafo de evolución. Las ramas secundarias del sistema que se desarrollan en paralelo. Los cambios mínimos necesarios para reconstruir cada nueva versión a partir de la anterior.
¿Cuál es la técnica de almacenamiento que almacena la primera versión completa y luego los cambios mínimos necesarios para reconstruir cada nueva versión a partir de la anterior? Deltas directos. Deltas inversos. Marcado selectivo. Fusión de variantes.
¿Qué elementos componen una entrega en el contexto de la gestión de entregas de un sistema software? Programas ejecutables, archivos de configuración, archivos de datos y documentación. Cabeza, tronco y ramas del grafo de evolución. Deltas directos, deltas inversos y marcado selectivo. Embalaje y publicidad asociados a la entrega.
¿Qué es el control de cambios en la gestión de versiones del software? Un mecanismo para evaluar y aprobar los cambios realizados en los elementos de configuración del software. El proceso de fusionar variantes secundarias en el tronco principal del grafo de evolución. El almacenamiento de versiones anteriores del software utilizando deltas inversos. La técnica de propagar los cambios a varias ramas del grafo de evolución.
¿Qué implica el concepto de fusión de variantes en la gestión de versiones del software? La aprobación de un nuevo elemento en el control individual. La evaluación de tareas de mantenimiento por un Comité de Control de Cambios. La unificación de una rama independiente con otra en el grafo de evolución. El almacenamiento selectivo del texto refundido de todas las versiones.
¿Cuál es una de las técnicas de almacenamiento utilizadas en la gestión de versiones del software? Almacenamiento de deltas inversos. Almacenamiento de marcado selectivo. Almacenamiento de versiones completas en un grafo de evolución. Almacenamiento de cambios mínimos necesarios para reconstruir cada versión.
¿Por qué es importante utilizar herramientas CASE en la gestión de configuraciones? Porque las herramientas CASE permiten gestionar la gran cantidad de datos en los procesos de configuración. Porque las herramientas CASE garantizan que el software funcione correctamente sin errores. Porque las herramientas CASE ofrecen entornos integrados para la gestión de versiones y seguimiento de cambios. Porque las herramientas CASE son open-source y están disponibles de forma gratuita.
¿Cuál es la diferencia entre los entornos de trabajo abiertos y los entornos integrados de Gestión de Configuraciones? Los entornos de trabajo abiertos son herramientas open-source, mientras que los entornos integrados son comerciales. Los entornos de trabajo abiertos ofrecen facilidades integradas, mientras que los entornos integrados requieren procedimientos organizacionales estándar. Los entornos de trabajo abiertos no permiten el intercambio de datos, mientras que los entornos integrados ofrecen una base de datos integrada. Los entornos de trabajo abiertos no requieren herramientas de seguimiento, mientras que los entornos integrados incluyen herramientas como Bugzilla.
¿Cuál es una herramienta de seguimiento de cambios mencionada en el texto? Bugzilla ClearCase Make CVS.
¿Cuál es el cliente de control de versiones utilizado en el IDE Microsoft Visual Studio? CVS Subversion Mercurial Visual Studio Team Foundation.
¿Cuál es uno de los principales propósitos de documentar el código? Explicar el funcionamiento del código en detalle. Añadir comentarios redundantes al código. Ocultar los errores del programa. Mantener el código en secreto.
¿Por qué es importante documentar el código para el mantenimiento posterior? Para ocultar los errores del programa. Para asegurarse de que el código no sea modificado. Para facilitar la detección de errores. Para evitar que otras personas lean el código.
¿Cuál es el objetivo principal de la documentación del código? Repetir lo que hace el código. Explicar cómo se implementa el código. Explicar por qué se hace algo en el código. Asegurar que el código no tenga errores.
¿Cuál es uno de los propósitos de los comentarios en el código? Indicar errores en el código. Facilitar la compilación del programa. Explicar el objetivo de las sentencias y métodos. Modificar la funcionalidad del código.
¿Cuál es la sintaxis utilizada para comentar varias líneas en Java? // comentario /* comentario / /* comentario */ // comentario //.
¿Cuándo es conveniente agregar comentarios en el código? Al final de cada línea de código. Solo al principio de las clases. Al principio de cada método y clase. Solo si el código es confuso.
¿Cuál es el propósito de los comentarios en el código? Explicar el objetivo de las sentencias. Indicar errores en el código. Realizar pruebas unitarias. Definir variables locales.
¿Qué herramientas se usan para automatizar y enriquecer la documentación del código? JavaDoc, SchemeSpy y Visual Studio. JavaDoc, SchemeSpy y Doxygen. CVS, Subversion y Mercurial. Eclipse, Netbeans y Visual Studio.
¿Cuál es la sintaxis correcta para iniciar y finalizar un comentario de clase en JavaDoc? /* comentario / // comentario <!-- comentario --> /** comentario */.
¿Qué etiquetas son obligatorias al documentar los constructores y métodos en JavaDoc? @param y @return @param y @exception @exception y @throws @return y @throws.
¿Qué etiqueta se utiliza para referenciar a otras clases y métodos en JavaDoc? @see @link @ref @include.
¿Cuál es la etiqueta utilizada para especificar la versión y fecha de una clase en JavaDoc? @author @version @param @return.
¿Qué etiqueta se utiliza para documentar los parámetros de un constructor o método en JavaDoc? @param @return @exception @throws.
¿Cuál es la etiqueta utilizada para indicar las excepciones que puede lanzar un método en JavaDoc? @param @return @exception @throws.
¿Cuál es la etiqueta utilizada en JavaDoc para indicar la fecha desde la que está presente la clase? @param @return @exception @since.
¿Cuál es la etiqueta utilizada en JavaDoc para indicar que el método es obsoleto.? @param @return @exception @deprecated.
¿Cuál es el objetivo del proceso de construcción de software? Generar problemas complejos. Dividir el problema de partida en subproblemas más pequeños. Codificar funciones en estructuras de datos. Especificar el análisis del proceso a seguir.
¿En qué se basa el enfoque de programación estructurada? En simular elementos de la realidad asociados al problema. En la creación de objetos y clases. En la codificación de funciones para operar sobre estructuras de datos. En la generación de problemas complejos.
¿Qué características tiene un objeto en el enfoque orientado a objetos? Conjunto de atributos y conjunto de operaciones. Conjunto de mensajes y conjunto de atributos. Conjunto de operaciones y conjunto de mensajes. Conjunto de clases y conjunto de instancias.
¿Cuál de los siguientes conceptos de la orientación a objetos permite capturar las características y comportamientos similares de un conjunto de objetos con el objetivo de darles una descripción formal? Encapsulación Abstracción Modularidad Polimorfismo.
¿Cuál de los siguientes conceptos de la orientación a objetos consiste en reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción? Encapsulación Abstracción Modularidad Principio de ocultación.
¿Qué propiedad de la orientación a objetos permite subdividir una aplicación en partes más pequeñas, cada una de las cuales debe ser tan independiente como sea posible? Encapsulación Abstracción Modularidad Principio de ocultación.
¿Cuál de los siguientes conceptos de la orientación a objetos aísla las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas? Encapsulación Abstracción Modularidad Principio de ocultación.
¿Qué concepto de la orientación a objetos consiste en reunir bajo el mismo nombre comportamientos diferentes? Encapsulación Abstracción Polimorfismo Herencia.
¿Cuál de los siguientes conceptos de la orientación a objetos establece una relación jerárquica entre objetos donde uno hereda las propiedades y comportamientos de otros? Encapsulación Abstracción Polimorfismo Herencia.
¿Qué técnica se encarga de destruir automáticamente los objetos que hayan quedado sin ninguna referencia a ellos en la orientación a objetos? Encapsulación Abstracción Recolección de basura Herencia.
¿Cuál de las siguientes afirmaciones es cierta sobre el paradigma orientado a objetos? Facilita la creación de código reusable. Aumenta la complejidad y el costo del desarrollo de software. No permite la modificación de la funcionalidad de una aplicación. No se basa en criterios de modularidad y encapsulación.
¿Cuál es una de las ventajas del software orientado a objetos en términos de extensibilidad? Facilita la reutilización del código existente. Requiere menos esfuerzo para aumentar la funcionalidad de la aplicación. Proporciona modularidad y encapsulación en el diseño del sistema. No permite la modificación de las operaciones de la aplicación.
¿Por qué el software orientado a objetos es más fácil de modificar y mantener? Se basa en criterios de modularidad y encapsulación. No utiliza el concepto de objetos en su diseño. Requiere cambios extensivos en todo el sistema para realizar modificaciones. No permite la descomposición del sistema en objetos independientes.
¿Qué característica de la tecnología de objetos facilita la adaptación al entorno y el cambio? Modularidad y encapsulación. Reutilización del código existente. Complejidad y costo reducidos. Escalabilidad de las aplicaciones.
¿Qué significa reutilizar artefactos en el contexto del desarrollo de software orientado a objetos? Utilizar código existente durante el desarrollo de nuevas aplicaciones. Descartar todo el código existente y comenzar desde cero. Probar y depurar el código antes de su reutilización. No utilizar ninguna forma de reutilización en el desarrollo de software.
¿Cuál es una de las ventajas del desarrollo de software orientado a objetos en términos de tiempo y costos? Aumenta el tiempo y el costo del desarrollo de software. Permite la creación de código reusable. Dificulta la modificación y mantenimiento del software. No tiene ningún impacto en el tiempo y los costos del desarrollo.
¿Cuál es una propiedad deseable de un sistema escalable? La capacidad de aumentar su rendimiento sin cambiar su diseño. La necesidad de rehacer completamente su diseño para crecer. La incapacidad de adaptarse a cambios en el entorno. La falta de modularidad y encapsulación.
¿Cuál es el propósito principal de una clase en la programación orientada a objetos? Definir abstracciones y favorecer la modularidad. Identificar objetos únicos en un sistema. Establecer atributos y protocolos. Manipular el estado de los objetos.
¿Qué son los atributos de una clase? Conjunto de características asociadas a una clase. Procedimientos y funciones de una clase. Identificadores relacionados con lo que representa la clase. Conjunto de mensajes que manipulan el estado de la clase.
¿Cuál es la relación entre un atributo y su dominio en una clase? Un atributo es el nombre de un dominio en una clase. Un atributo es una relación binaria en una clase. Un atributo tiene valores concretos dentro de su dominio en una clase. Un atributo define el estado del objeto en una clase.
¿Qué es un protocolo en una clase? Conjunto de características generales de un objeto. Conjunto de procedimientos y funciones de una clase. Conjunto de mensajes que manipulan el estado de un objeto. Identificativo relacionado con lo que representa un objeto.
¿Cuál es el papel de los mensajes en la comunicación entre objetos? Definir las características generales y el comportamiento de un objeto. Establecer una relación binaria entre una clase y un dominio. Conectar un objeto con el mundo exterior. Determinar el estado de los objetos en una clase.
¿Cuál es el propósito del principio de ocultación en la orientación a objetos? Aislar el estado de una clase para proteger los datos de modificaciones no autorizadas. Facilitar la interacción entre objetos en un sistema. Definir la visibilidad de los atributos y métodos en una clase. Establecer la abstracción y modularidad en el diseño de software.
¿Qué comprende la parte de implementación de una clase en el principio de ocultación? La abstracción del comportamiento común a los ejemplos de esa clase. El mecanismo que conduce al comportamiento deseado. La visión externa de una clase. La representación de la abstracción y los mecanismos de comportamiento.
¿Cuál es el nivel de visibilidad que permite acceder a atributos y métodos desde cualquier clase y cualquier parte del programa? Público Privado Protegido Restringido.
¿Cuál es la norma general para definir la visibilidad de los atributos en una clase? El estado debe ser público. El estado debe ser privado. El estado debe ser protegido. El estado debe ser restringido.
¿Cuál es el tipo de acceso que se permite a atributos y métodos desde operaciones de la misma clase en el nivel de visibilidad privado? Público Privado Protegido Restringido.
¿Qué tipo de acceso se permite a atributos y métodos desde operaciones de la clase o de clases derivadas en el nivel de visibilidad protegido? Público Privado Protegido Restringido.
¿Cuál es el propósito de establecer la visibilidad de atributos y métodos en una clase? Definir la abstracción y modularidad en el diseño de software. Facilitar la interacción entre objetos en un sistema. Proteger los datos de modificaciones no autorizadas. Permitir el acceso público a todos los elementos de una clase.
¿Qué es una instancia en el contexto de la programación orientada a objetos? Una abstracción que define las características comunes de un conjunto de objetos. Una representación de un objeto en tiempo de ejecución con un estado concreto. Una clase que no puede ser instanciada debido a sus características particulares. Un objeto que revela cómo se implementan sus características en un sistema.
¿Qué define el estado de un objeto en la programación orientada a objetos? Los métodos públicos de su clase. Su tiempo de vida en el programa. Los atributos definidos en la clase con valores concretos. Su capacidad para comunicarse con otros objetos.
¿Cuál es el propósito de la encapsulación y el ocultamiento en la programación orientada a objetos? Proteger los datos de un objeto y evitar su modificación accidental por funciones externas. Definir métodos genéricos relacionados con el sistema. Permitir que los objetos se comuniquen entre sí. Asegurar que los objetos tengan un tiempo de vida específico.
¿Cuál es el propósito de una clase abstracta en la programación orientada a objetos? Definir métodos genéricos relacionados con el sistema que no se traducirán en objetos concretos. Permitir la comunicación entre objetos en un sistema. Representar objetos físicos en un sistema informático. Definir el comportamiento y estado de un objeto en tiempo de ejecución.
¿Cuál es una ventaja de utilizar UML en el desarrollo de software? Facilita la comunicación entre los equipos de desarrollo Genera automáticamente el código del software Garantiza la ausencia de errores en el código Reemplaza completamente la necesidad de documentación.
¿Qué se puede documentar utilizando UML? Únicamente los requisitos del proyecto Solo los artefactos de pruebas del proyecto Todos los artefactos de un proceso de desarrollo Solamente la arquitectura del sistema.
¿Qué se entiende por arquitectura del sistema en UML? La estructura física del hardware utilizado en el sistema Las decisiones sobre la organización y composición del sistema software El comportamiento de los elementos estructurales del sistema La descripción de los requisitos del proyecto.
¿Cuál de las siguientes opciones describe la relación entre UML y la programación? UML solo puede conectarse a lenguajes de programación mediante ingeniería directa UML solo puede conectarse a lenguajes de programación mediante ingeniería inversa UML no tiene relación directa con la programación UML puede conectarse a lenguajes de programación mediante ingeniería directa e inversa.
¿Cuál es la finalidad de los diagramas en UML? Representar la estructura de datos en un sistema. Mostrar la conducta en tiempo de ejecución de un sistema. Facilitar la comprensión de los diferentes elementos de modelado. Establecer relaciones entre los elementos estructurales.
¿Cuáles son los cuatro tipos de elementos en un diagrama UML? Estructuras, relaciones, notas y agrupaciones. Clases, objetos, métodos y propiedades. Modelos, diagramas, elementos y conexiones. Nodos, arcos, vértices y cuadros de texto.
¿Qué representan los diagramas estructurales en UML? La conducta en tiempo de ejecución de un sistema. La distribución física de clases y objetos en el sistema. Los comentarios y anotaciones para entender conceptos específicos. Los bloques utilizados para modelar sistemas grandes.
¿Qué tipo de información se puede incluir en las notas de un diagrama UML? Código fuente de las clases y objetos. Comentarios sobre el diseño y la implementación del sistema. Descripciones detalladas de los algoritmos utilizados. Requisitos y especificaciones funcionales del sistema.
¿Cuántos diagramas describe el estándar UML 2.0 para modelar un sistema? 6 diagramas. 9 diagramas. 13 diagramas. 16 diagramas.
¿Cuándo es necesario generar un diagrama en UML? Siempre que se modela un sistema, independientemente del tipo de aplicación. Solo en sistemas grandes y complejos que requieren una representación visual. Únicamente cuando se trabaja con el estándar UML 2.0. Dependerá del tipo de aplicación a generar y del sistema en cuestión.
¿Cuál es la herramienta más simple que se puede utilizar para generar diagramas UML? Rational Systems Developer de IBM. Visual Paradigm for UML (VP-UML). ArgoUML. Lápiz y papel.
¿Cuál de las siguientes herramientas CASE ofrece una versión para uso no comercial que se distribuye libremente? Rational Systems Developer de IBM. Visual Paradigm for UML (VP-UML). ArgoUML. IBM Rational Rhapsody Developer.
¿Cuál de las siguientes herramientas CASE es compatible con los IDE de Eclipse, Visual Studio.net, IntellijDEA y NetBeans? Rational Systems Developer de IBM. Visual Paradigm for UML (VP-UML). ArgoUML. IBM Rational Rhapsody Developer.
Indica cual de estos es un diagrama de tipo Estructural Diagrama de Clases Diagrama de Actividad Diagrama de Secuencia Diagrama de Tiempo.
Indica cual de estos es un diagrama de tipo Estructural Diagrama de Estructuras Compuestas Diagrama de Actividad Diagrama de Colaboración Diagrama de Tiempo.
Indica cual de estos es un diagrama de tipo Estructural Diagrama de Componentes Diagrama de Casos de Uso Diagrama de Colaboración Diagrama de Tiempo.
Indica cual de estos es un diagrama de tipo Estructural Diagrama de Despliegue Diagrama de Casos de Uso Diagrama de Colaboración Diagrama de Máquinas de Estado.
Indica cual de estos es un diagrama de tipo Estructural Diagrama de Objetos Diagrama de Casos de Uso Diagrama de Actividad Diagrama de Máquinas de Estado.
Indica cual de estos es un diagrama de tipo Estructural Diagrama de Paquetes Diagrama de Secuencia Diagrama de Actividad Diagrama de Máquinas de Estado.
Indica cual de estos es un diagrama de tipo Comportamiento Diagrama de Actividad Diagrama de Clases Diagrama de Componentes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Comportamiento Diagrama de Interacción Diagrama de Clases Diagrama de Componentes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Comportamiento Diagrama de Casos de Uso Diagrama de Clases Diagrama de Componentes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Comportamiento Diagrama de Máquinas de Estado Diagrama de Clases Diagrama de Componentes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Interacción dentro de los Diagramas de Interacción Diagrama de Secuencia Diagrama de Clases Diagrama de Paquetes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Interacción dentro de los Diagramas de Interacción Diagrama de Colaboración Diagrama de Despliegue Diagrama de Paquetes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Interacción dentro de los Diagramas de Interacción Diagrama de Resumen de Interacción Diagrama de Despliegue Diagrama de Paquetes Diagrama de Objetos.
Indica cual de estos es un diagrama de tipo Interacción dentro de los Diagramas de Interacción Diagrama de Tiempo Diagrama de Despliegue Diagrama de Paquetes Diagrama de Componentes.
¿Qué tipo de diagrama muestra los elementos del modelo estático abstracto, formado por un conjunto de clases y sus relaciones? Diagrama de objetos. Diagrama de componentes. Diagrama de clases. Diagrama de despliegue.
¿Qué tipo de diagrama muestra los elementos del modelo estático en un momento concreto, formado por un conjunto de objetos y sus relaciones? Diagrama de objetos. Diagrama de componentes. Diagrama de clases. Diagrama de despliegue.
¿Qué tipo de diagrama especifica la organización lógica de la implementación de una aplicación, sistema o empresa, indicando sus componentes, interrelaciones e interfaces públicas? Diagrama de objetos. Diagrama de componentes. Diagrama de clases. Diagrama de despliegue.
¿Qué tipo de diagrama representa la configuración del sistema en tiempo de ejecución, mostrando nodos de procesamiento y sus componentes en sistemas distribuidos? Diagrama de objetos. Diagrama de componentes. Diagrama de clases. Diagrama de despliegue.
¿Qué tipo de diagrama muestra la estructura interna de una clasificación e incluye los puntos de interacción con otras partes del sistema? Diagrama integrado de estructura (UML 2.0). Diagrama de paquetes. Diagrama de clases. Diagrama de despliegue.
¿Qué tipo de diagrama exhibe cómo los elementos del modelo se organizan en paquetes y las dependencias entre ellos? Diagrama integrado de estructura (UML 2.0). Diagrama de paquetes. Diagrama de clases. Diagrama de despliegue.
¿Cuál de los siguientes diagramas estructurales tiene una prioridad media? Diagrama de clases. Diagrama de objetos. Diagrama de componentes. Diagrama de despliegue.
¿Qué representan las clases en un diagrama de clases? Abstracciones del dominio del sistema con atributos y comportamientos. Relaciones reales entre los elementos del sistema. Comentarios que ayudan a entender los conceptos del diagrama. Elementos de agrupación utilizados para modelar sistemas grandes.
¿Qué tipos de relaciones se pueden representar en un diagrama de clases? Asociación, agregación y herencia. Agregación, composición y herencia. Composición, implementación y herencia. Asociación, composición e implementación.
¿Cuál es el propósito de las notas en un diagrama de clases? Representar relaciones reales entre los elementos del sistema. Especificar la organización lógica de la implementación de una aplicación. Proporcionar comentarios que ayuden a entender conceptos del diagrama. Agrupar clases y relaciones en paquetes para sistemas grandes.
¿Qué elemento se utiliza para modelar un sistema grande en un diagrama de clases? Clases. Relaciones. Notas. Elementos de agrupación.
¿Cuál es el término utilizado para referirse a los atributos y comportamientos de una clase en un diagrama de clases? Características. Métodos. Relaciones. Visibilidad.
¿Qué información es necesaria para definir un atributo en una clase? Nombre y valor inicial. Nombre y tipo. Tipo y visibilidad. Nombre, tipo y valor inicial.
¿Cuál de las siguientes opciones describe correctamente la visibilidad de un atributo definido como "privado"? Se puede acceder desde cualquier clase y cualquier parte del programa. Sólo se puede acceder desde operaciones de la clase. Sólo se puede acceder desde operaciones de la clase o de clases derivadas en cualquier nivel. Se puede acceder desde las operaciones de las clases que pertenecen al mismo paquete que la clase que estamos definiendo.
¿Qué tipo de atributo se utiliza cuando queremos restringir el acceso a operaciones de la clase en la que se define? Público. Privado. Protegido. Paquete.
¿Qué significa que un atributo tenga visibilidad "pública" en una clase? Solo se puede acceder desde operaciones de la clase. Solo se puede acceder desde operaciones de la clase o de clases derivadas en cualquier nivel. Se puede acceder desde cualquier clase y cualquier parte del programa. Se puede acceder desde las operaciones de las clases que pertenecen al mismo paquete que la clase que estamos definiendo.
¿Qué tipo de atributo se utiliza cuando queremos restringir el acceso a operaciones de la clase o de clases derivadas en cualquier nivel? Público. Privado. Protegido. Paquete.
¿En qué lenguaje de programación se utiliza la visibilidad "paquete" para un atributo? C++ Java Python JavaScript.
¿Cuál es la característica especial de un constructor de clase? Devuelve un valor específico. Tiene el mismo nombre que la clase. No requiere parámetros. Es opcional en la programación orientada a objetos.
¿Cuál es la finalidad del constructor de una clase? Definir los atributos de la clase. Realizar operaciones matemáticas. Crear y configurar objetos de la clase. Liberar la memoria ocupada por un objeto.
¿Cuál de las siguientes afirmaciones es verdadera respecto al constructor de clase? Puede tener un tipo de dato de retorno. Puede tener cualquier nombre. Puede ser heredado por las clases derivadas. Puede ser llamado directamente desde un objeto.
¿Cuál es la característica de una relación unaria? Conexión entre dos clases diferentes. Conexión entre una clase y sí misma. Conexión entre varias clases en un solo diagrama. Conexión entre clases mediante mensajes.
¿Cuál es la diferencia entre composición y agregación en las relaciones de clases? La composición es una relación más débil que la agregación. La composición se representa con una línea discontinua y la agregación con una línea continua. En la composición, los objetos de una clase están compuestos por objetos de otra clase, mientras que en la agregación los objetos pueden existir independientemente. La composición es una relación de herencia directa y la agregación es una relación de herencia indirecta.
¿Cuál es el objetivo principal de la herencia en programación orientada a objetos? Permitir la construcción de objetos a partir de otros objetos. Facilitar la creación de nuevas clases. Mejorar la encapsulación de datos. Optimizar el rendimiento del programa.
¿Cuál es la diferencia entre herencia simple y herencia múltiple? En herencia simple, una clase puede tener más de un ascendente inmediato, mientras que en herencia múltiple, una clase solo puede tener un ascendente. En herencia simple, una clase puede heredar datos y métodos de múltiples clases base, mientras que en herencia múltiple, una clase solo puede heredar de una única clase base. La herencia simple permite la reutilización de código, mientras que la herencia múltiple permite la reutilización de datos. La herencia simple se representa en el diagrama de clases con un triángulo en el extremo de la clase base, mientras que la herencia múltiple se representa con una línea discontinua.
¿Cuál de las siguientes categorías NO corresponde a los sustantivos que se buscan al identificar objetos para el diagrama de clases? Entidades externas. Roles o papeles desempeñados por personas. Operaciones aplicadas a otros objetos. Unidades organizacionales relevantes.
¿Cuál de los siguientes criterios NO es utilizado para decidir si un objeto debe ser incluido en el diagrama de clases? La necesidad de la información del objeto para el funcionamiento del sistema. La presencia de atributos únicos para el objeto. La presencia de operaciones comunes a cualquier ocurrencia del objeto. La correspondencia con sinónimos en la descripción del problema.
¿Cuál es el propósito de incluir entidades externas en el diagrama de clases? Consumir o producir información esencial para el sistema. Definir las estructuras y relaciones entre objetos. Representar las operaciones que pueden cambiar el valor de los atributos. Establecer el contexto del problema y la función general del sistema.
¿Cuál es el propósito de los atributos en el contexto del sistema? Definir las relaciones entre los objetos. Manipular los datos del objeto. Describir el comportamiento del objeto. Definir completamente al objeto en el contexto del problema actual.
¿Qué describen las operaciones en relación al objeto? Las relaciones entre los objetos. Los atributos del objeto. La ocurrencia de eventos de control. El comportamiento del objeto y la modificación de sus características.
¿Cómo se pueden identificar las relaciones entre los objetos en el proceso de diseño? Analizando los verbos en el enunciado del problema. Buscando mensajes que se pasen entre objetos. Comparando objetos semejantes entre sí. Realizando entrevistas con los clientes.
Para que NO se utilizan los diagramas de casos Representar el flujo de actividades. Representar qué hace el sistema. Capturar requisitos funcionales. Generar casos de prueba.
El principio de ocultación ayuda a proteger los datos de un objeto contra modificaciones accidentales o malintencionadas. ¿Verdadero o falso? Verdadero Falso.
Lee con atención el enunciado de cómo se realiza un préstamo en una biblioteca: "Para retirar un libro de la biblioteca es preciso ser socio. Los socios tienen un carnet en el que aparece su nombre, apellidos, número de teléfono y su número de socio. Cuando un socio pide un libro en préstamo tiene que rellenar una ficha en la que se apunta el número de socio, el código del libro y la fecha de préstamo. Se debe devolver el libro a las dos semanas de haberlo retirado. Un socio no puede tener más de dos libros en préstamo". Se modela con una relación entre la clase Socio y Libro y un atributo de enlace llamado Préstamo. ¿Cómo se pasaría a código en lenguaje Java el atributo de enlace Préstamo? Se implementaría una clase Java llamada Préstamo con los atributos y operaciones de la clase Préstamo. Se implementaría una clase Java llamada Préstamo y se añadiría un atributo privado de tipo Préstamo a la clase Libro. Se implementaría una clase Java llamada Préstamo y se añadiría un atributo privado de tipo Préstamo a la clase Socio. Se implementaría una clase Java llamada Préstamo y se añadiría un atributo privado de tipo array de Préstamo a la clase Socio.
¿Cuáles de las siguientes son características de la programación estructurada? Genera aplicaciones que interactúan pasándose mensajes. Tiene como núcleo funciones que actúan sobre estructuras de datos y es anterior a la programación orientada a objetos. Es anterior a la programación orientada a objetos y genera aplicaciones que interactúan pasándose mensajes. Utiliza una abstracción denominada clase y tiene como núcleo funciones que actúan sobre estructuras de datos.
De las siguientes opciones, ¿Cuáles corresponden a tipos de estado especiales? Estado inicial y Estado final. Estado final y Estado de llamada. Estado de llamada y Estado de señales. Estado de señales y Estado inicial.
El uso de calles en un diagrama de actividad permite: Involucrar objetos en un diagrama de actividad. Indicar quien realiza las acciones dentro de su calle. Separar en bloque un diagrama de actividades cuando es demasiado grande para facilitar su comprensión. Indicar como cambia el estado de los objetos al realizar determinadas acciones.
Entre dos clases NO podemos establecer relaciones de: Composición. Agregación. Herencia. Derivación.
La Gestión de Configuraciones de Software NO se compone de: instalación de ejecutables. control de cambios. auditorías de configuraciones. generación de informes.
El repositorio es un almacén centralizado de versiones ¿Verdadero o falso? Verdadero Falso.
¿Qué herramienta de automatización de documentación usa Java? JasperReport. Javadoc. TestNG. JUnit.
No son herramientas de control de cambios. CVS. Darcs. Gif. Sourcesafe.
¿Cuál no es un patrón de refactorización? Mover clase. Análisis de código. Borrado seguro. Encapsular campos.
Señala que NO es una característica de un analizador de código: modifica en código fuente. evalúa el software. nos informa sobre modificaciones a realizar para mejorar el código. encuentran partes del código que puede ralentizar su funcionamiento.
En el proceso de refactorización, se siguen una serie de patrones preestablecidos, entre los que no encontramos: Renombrado. Borrado seguro. Mover del interior a otro nivel. Sustituir métodos por bloques de código.
La refactorización no es necesario documentarla. ¿Verdadero o falso? Verdadero Falso .
¿Qué representa un actor en un diagrama de casos de uso? Una persona específica que utiliza el sistema. Un rol que alguien puede desempeñar al interactuar con el sistema. Un usuario primario del sistema. Un sistema informático externo.
¿Cuál es la función de los actores secundarios en un sistema? Explotar la funcionalidad del software. Brindar soporte para que los actores primarios puedan trabajar. Iniciar el trabajo de otros actores. Interactuar directamente y frecuentemente con el software.
¿Cuál es la finalidad de crear un actor "Tiempo" o "Sistema" en un diagrama de casos de uso? Representar a una persona específica que utiliza el sistema. Iniciar casos de uso que no son iniciados por usuarios. Interactuar directamente y frecuentemente con el software. Brindar soporte para que los actores primarios puedan trabajar.
¿Qué tipo de relación se utiliza para representar la interacción entre un actor y un caso de uso en un diagrama de casos de uso? Asociación Inclusión Extensión Generalización.
¿Cuál es el propósito de la relación de inclusión en un diagrama de casos de uso? Especificar que el comportamiento de un caso de uso puede variar en diferentes circunstancias. Dividir una tarea de mayor envergadura en tareas más sencillas y reutilizables. Indicar que un caso de uso se ejecuta solo en determinadas ocasiones, pero no es imprescindible. Representar una relación de herencia entre casos de uso o actores.
¿Cuál es la función de la relación de extensión en un diagrama de casos de uso? Representar la relación entre un actor y un caso de uso. Indicar que un caso de uso puede modificar o completar otro caso de uso. Especificar comportamientos comunes en varios casos de uso. Dividir un caso de uso en diferentes etapas o fases.
¿Cuál es la ventaja de utilizar relaciones de inclusión en un diagrama de casos de uso? Las descripciones de los casos de uso son más cortas y se entienden mejor. Permite descubrir el posible uso de componentes existentes en la implementación. Facilita la lectura de los diagramas para los clientes. Permite descomponer un caso de uso en tareas más pequeñas.
¿Cuándo se utiliza la relación de generalización en un diagrama de casos de uso? Para representar la relación entre un actor y un caso de uso. Para dividir una tarea de mayor envergadura en tareas más sencillas y reutilizables. Para indicar que un caso de uso puede modificar o completar otro caso de uso. Para representar relaciones de herencia entre casos de uso o actores.
¿Cuál es la desventaja de utilizar relaciones de inclusión en un diagrama de casos de uso? Las descripciones de los casos de uso se vuelven más complejas y difíciles de entender. Dificulta la identificación de funcionalidad común y reutilización de componentes existentes. Hace que los diagramas sean más difíciles de leer, especialmente para los clientes. No permite la división de un caso de uso en tareas más pequeñas.
¿Cuándo se utiliza la relación de asociación en un diagrama de casos de uso? Para representar la relación entre un actor y un caso de uso. Para dividir una tarea de mayor envergadura en tareas más sencillas y reutilizables. Para indicar que un caso de uso puede modificar o completar otro caso de uso. Para representar relaciones de herencia entre casos de uso o actores.
¿Qué representan los diagramas de secuencia? El flujo de datos en el sistema. Las operaciones realizadas por los objetos en un escenario. Las relaciones de herencia entre clases. Los elementos gráficos utilizados en la interfaz de usuario.
¿Cómo se representan los objetos y actores en un diagrama de secuencia? Mediante rectángulos distribuidos verticalmente. Mediante rectángulos distribuidos horizontalmente. Mediante círculos conectados por líneas. Mediante flechas que indican la dirección del flujo.
¿Qué representa la línea de vida de un objeto en un diagrama de secuencia? El tiempo de vida del objeto. El número de métodos invocados por el objeto. El orden en el que los objetos interactúan entre sí. La frecuencia de comunicación entre objetos.
¿Cómo se representan los mensajes (invocación de métodos) en un diagrama de secuencia? Como rectángulos conectados por líneas de vida. Como flechas horizontales entre líneas de vida. Como puntos en la línea de vida del objeto. Como etiquetas en los rectángulos de los objetos.
¿Cómo se indica el orden de los mensajes en un diagrama de secuencia? Mediante un número de secuencia en cada mensaje. Mediante la longitud de la flecha del mensaje. Mediante el color de la línea de vida del objeto. Mediante la posición vertical de la línea de vida.
¿Cómo se representan los bucles en un diagrama de secuencia? Con rectángulos conectados por líneas de vida. Con flechas horizontales entre objetos. Con marcos y una condición de parada. Con etiquetas en los objetos.
¿Qué se puede añadir en el margen izquierdo de un diagrama de secuencia para aclarar la operación que se está realizando? Etiquetas y notas. Flechas y líneas adicionales. Rectángulos y círculos de colores. Números de secuencia para cada mensaje.
¿Cuál es el objetivo principal de los diagramas de colaboración? Mostrar la línea temporal de interacciones entre los objetos. Representar la estructura de los objetos en un sistema. Demostrar la herencia entre las clases del sistema. Visualizar las interacciones entre los objetos mediante el paso de mensajes.
¿Cómo se representan los objetos en un diagrama de colaboración? Mediante rectángulos con el nombre de la clase a la que pertenecen. Utilizando el nombre específico del objeto subrayado. Con el símbolo ":" delante del nombre de la clase. Nombrando el objeto concreto seguido de la clase a la que pertenece.
¿Qué representa un mensaje en un diagrama de colaboración? Una línea temporal que indica el orden de las interacciones. Una comunicación entre objetos que transmite información y desencadena una acción. Una relación de herencia entre objetos. Un valor devuelto por un método en un objeto.
¿Cuál de las siguientes opciones indica que un mensaje es iterativo en un diagrama de colaboración? [condición de guarda] {valor devuelto} [secuencia][*] :mensaje (argumentos).
¿Cuál es la sintaxis correcta para especificar un mensaje con argumentos en un diagrama de colaboración? mensaje(argumentos) mensaje: argumentos mensaje{argumentos} mensaje[argumentos].
¿Qué se utiliza para determinar el orden de los mensajes en un diagrama de colaboración? El nivel de anidamiento del envío del mensaje. El número de objetos conectados por una asociación. La condición de guarda del mensaje. El nombre de la clase a la que pertenece el objeto.
¿Cuál de las siguientes opciones describe correctamente una asociación en un diagrama de colaboración? Es necesaria para el paso de mensajes entre objetos. Representa una relación de herencia entre objetos. Muestra la línea temporal de interacciones entre objetos. Indica el número de mensajes enviados por un objeto.
¿Cuál es el objetivo principal del Diagrama de Actividad? Representar el flujo de control entre objetos. Mostrar las interacciones entre los objetos. Describir las transiciones automáticas entre actividades. Modelar el flujo de trabajo de los procesos de negocio.
¿Qué representa un estado de acción en un diagrama de actividades? La ejecución de una acción atómica que no se puede descomponer. El flujo de control compuesto de otros estados de actividad y de acción. El estado inicial del diagrama de actividades. La sincronización o ejecución paralela de actividades.
¿Qué tipo de relación indica una transición en un diagrama de actividades? La comunicación entre objetos. El paso de mensajes entre estados. El flujo de control de un estado al siguiente. La asociación entre objetos y clases.
¿Cuál es la función de los objetos en un diagrama de actividades? Representar los estados de acción del diagrama. Mostrar las transiciones entre los estados del diagrama. Indicar quiénes son los responsables de realizar las actividades. Manifestar instancias de una clase y su flujo de control asociado.
¿Qué tipo de nodo especifica caminos alternativos en un diagrama de actividades? Nodo inicial. Nodo final. Bifurcación (Decision node). Fusión (Merge node).
¿Cuál es el propósito de las calles (carriles) en un diagrama de actividades? Mostrar los objetos que participan en el flujo de control. Indicar la independencia de las actividades entre las calles. Especificar qué parte de la organización es responsable de una actividad. Representar el flujo de control entre actividades secuenciales.
¿Cuál es el nodo que redirige varios flujos de entrada en un único flujo de salida en un diagrama de actividades? Nodo inicial. Nodo final. División (Fork node). Unión (Join node).
¿Cuál es la característica de una máquina de estados en relación con los eventos? Procesa múltiples eventos simultáneamente sin pérdida de generalidad. Procesa un evento a la vez y termina con sus consecuencias antes de procesar otro evento. Procesa los eventos en orden inverso a su ocurrencia. No tiene capacidad para procesar eventos.
¿Qué elementos forman parte de un estado en un diagrama de estados? Nombre y acciones de entrada/salida. Actividad a realizar y subestados. Eventos diferidos y acciones de entrada/salida. Todas las opciones anteriores son correctas.
Denunciar test Consentimiento Condiciones de uso