Cuestionario rechulón
![]() |
![]() |
![]() |
Título del Test:![]() Cuestionario rechulón Descripción: Un cuestionario más para aprobar. |




Comentarios |
---|
NO HAY REGISTROS |
¿Para qué sirven las métricas de calidad a lo largo del desarrollo de un proyecto?. Únicamente para la fase final de pruebas. Para identificar áreas de mejora, establecer objetivos realistas y tomar decisiones informadas. Solo para la comunicación con los usuarios finales. Principalmente para la gestión de la infraestructura del servidor. ¿Qué se busca conseguir al analizar el problema antes de iniciar un proyecto de software?. Definir el lenguaje de programación a utilizar. Entender qué se quiere hacer y qué se quiere conseguir para no afectar la calidad. Establecer el cronograma detallado de tareas. Asignar los roles y responsabilidades del equipo. ¿Desde qué perspectiva principal miden el software las métricas de función?. La cantidad de líneas de código. La del usuario, en términos de tamaño, complejidad y funcionalidad. La eficiencia del algoritmo. El rendimiento del servidor. ¿Cuál es el propósito del factor de ajuste de complejidad en el cálculo de Puntos de Función?. Simplificar el proceso de conteo de elementos funcionales. Reflejar mejor las características técnicas y operativas del software en el cálculo final. Asegurar que todos los proyectos tengan el mismo número de Puntos de Función. Eliminar la necesidad de contar los elementos funcionales individualmente. ¿Cuál de los siguientes es un tipo de elemento funcional que se considera al calcular los Puntos de Función?. Líneas de código comentadas. Entradas Externas (EI). Número de pruebas unitarias. Cantidad de diagramas UML. ¿Qué representan los Archivos Lógicos Internos (ILF) en el modelo de Puntos de Función?. Datos que ingresan al sistema desde el exterior. Conjuntos de datos almacenados dentro de la aplicación y mantenidos por el sistema. Datos generados por el sistema y enviados al usuario. Archivos referenciados por la aplicación pero no mantenidos por ella. ¿Qué indica un valor alto en la métrica "Falta de Cohesión en Métodos (LCOM)"?. Que los métodos de la clase están bien relacionados. Que la clase realiza demasiadas tareas no relacionadas. Que la clase tiene una interfaz bien definida. Que la clase es altamente reutilizable. ¿A qué se refiere el concepto de "acoplamiento" en el diseño de clases?. Qué tan bien los elementos dentro de una clase trabajan juntos. El grado de interdependencia entre dos sistemas o clases. La cantidad de elementos y relaciones dentro del sistema. El contexto donde una clase puede operar. ¿Qué evalúan las métricas de diseño de clases en el desarrollo de software orientado a objetos?. El rendimiento de los métodos de las clases. La calidad de la estructura y las relaciones de las clases dentro de un sistema. La cantidad de documentación generada para cada clase. El número de pruebas unitarias escritas para cada clase. ¿Qué mide la "Complejidad Ciclomática del Caso de Uso (CC)"?. La cantidad total de actores involucrados en el caso de uso. La cantidad de caminos alternativos dentro del caso de uso. El porcentaje de acciones realizadas por el sistema. El número de casos de uso incluidos en el caso de uso principal. ¿Qué evalúan las métricas de casos de uso?. La eficiencia del código generado a partir de los casos de uso. La calidad de la especificación de requisitos en un sistema orientado a objetos, centrada en la interacción usuario-sistema. El número de diagramas de secuencia creados para cada caso de uso. La complejidad técnica de la implementación de cada caso de uso. ¿Qué mide la métrica de "trazabilidad" en los requisitos de software?. La longitud promedio de las frases en los requisitos. La capacidad de seguir un requisito a lo largo del ciclo de vida del software. La frecuencia con la que se actualizan los requisitos. El nivel de detalle técnico incluido en cada requisito. ¿Cuál es un beneficio esperado de mantener un bajo acoplamiento entre las clases en un sistema orientado a objetos?. Mayor dificultad para realizar cambios en el código. Mejora la modularidad y facilita la reutilización del código. Menor modularidad y dificultad para la reutilización del código. Aumento de la complejidad en las pruebas unitarias. ¿Qué mide la métrica de diseño de clases "Weighted Methods per Class (WMC)"?. La profundidad de la jerarquía de herencia. La complejidad de una clase sumando la complejidad de cada uno de sus métodos. El número de subclases de una clase. El número de clases con las que una clase está acoplada. ¿Qué distingue a una Salida Externa (EO) de una Consulta Externa (EQ) en el contexto de los Puntos de Función?. La EO no involucra datos almacenados, mientras que la EQ sí. La EO incluye cálculos, transformaciones o datos derivados, a diferencia de la EQ que solo muestra información sin procesamiento adicional. La EQ siempre modifica archivos internos, mientras que la EO no. La EO es iniciada por un sistema externo, mientras que la EQ por el usuario. ¿Qué métrica de requisitos se centra en asegurar que cada requisito tenga una única interpretación técnica?. Completitud. Corrección. Consistencia. Trazabilidad. ¿Qué indica un valor alto en la métrica de diseño de clases "Coupling Between Object Classes (CBO)"?. Una alta cohesión entre los métodos de la clase. Una alta dependencia entre clases, lo que dificulta la modificación y reutilización del código. Una baja dependencia de la jerarquía de herencia. Una buena encapsulación de los atributos de la clase. ¿Qué herramienta basada en PLN se menciona en el texto para medir la calidad de los requisitos, basándose en problemas comunes de redacción?. ARM Tool de la NASA. Visure Quality Analyzer. IBM DOORS. Enterprise Architect. ¿Cuál es el objetivo principal de las métricas de requisitos?. Medir la velocidad de codificación de los programadores. Asegurar que los requisitos sean claros, completos, consistentes y trazables. Evaluar el rendimiento del software una vez implementado. Gestionar el presupuesto y el cronograma del proyecto. ¿Cuál de los siguientes factores se considera para ajustar la complejidad en el cálculo de Puntos de Función?. La experiencia del analista de requisitos. Comunicación de Datos. El lenguaje de programación utilizado. El tamaño del equipo de pruebas. La refactorización consiste en modificar el código fuente para mejorar su estructura interna sin alterar su comportamiento externo. \. Falso. Verdadero \. El objetivo principal de la refactorización es corregir errores de funcionalidad en el código. \. Verdadero \. Falso. La refactorización es una práctica recomendada solo para proyectos grandes. \. Verdadero \. Falso. La refactorización mejora el rendimiento del código en todos los casos. \. Verdadero \. Falso. "Feature Envy" es un code smell qué ocurre cuando un método de una clase accede con demasiada frecuencia a los datos de otra clase. \. Falso. Verdadero \. ## Preguntas de Opción Múltiple. ¿Cuándo se debe realizar la refactorización en el desarrollo de software? \. Solo al final del ciclo de desarrollo. \. De manera continua durante el desarrollo para mejorar la calidad del código. \. Únicamente cuando aparecen errores en producción \. Solo cuando el equipo decida reescribir todo el código desde cero. ¿Qué son los bloaters en el contexto de la refactorización de código? \. Patrones de diseño que mejoran la eficiencia del código. \. Secciones de código que han crecido demasiado y afectan la mantenibilidad. \. Técnicas para aumentar el rendimiento de un programa. \. Herramientas automatizadas para detectar errores en el código. ¿Por qué es importante acompañar la refactorización con pruebas? \. Porque reduce el tiempo de desarrollo sin importar los errores. \. Porque ayuda a garantizar que la funcionalidad no se vea afectada. \. Porque la refactorización siempre introduce nuevos errores. \. Porque evita la necesidad de documentar los cambios. ¿Qué es un "Code smell" en el contexto de la refactorización? \. Un error de sintaxis en el código que puede resolverse con una técnica de refactorización. \. Una indicación de que el código puede tener problemas de diseño que requieren refactorización. \. Una característica nueva añadida al código que resulta contradictoria con los principios de la refactorización. \. Una herramienta para depurar el código en busca de casos para la aplicación de refactorización. ¿Qué técnica de refactorización se utiliza para mover una funcionalidad de una clase a otra más apropiada? \. Extract Class \. Move Method \. Inline Method \. Pull Up Method. ¿Qué problema aborda la técnica "Replace Magic Number with Symbolic Constant"? \. La presencia de números complejos en el código. \. El uso de números literales en el código que carecen de significado claro. \. La utilización de constantes simbólicas en lugar de variables. \. El uso de números en comentarios del código. ¿Cuál de los siguientes no es un code smell? \. Long Method \. Single Parameter \. Magic Numbers \. Feature Envy. ¿Cuál es una ventaja de "Inline Class"? \. Hace que el código sea más modular. \. Simplifica el código al eliminar clases innecesarias. \. Duplica la lógica del programa en diferentes clases. \. Aumenta la dependencia entre clases. ¿Cuál de las siguientes afirmaciones sobre la refactorización es falsa? \. Mejora la legibilidad del código. \. Siempre aumenta el rendimiento del software. \. Puede hacer que el código sea menos flexible. \. Facilita el mantenimiento del código. ¿Cuál es un beneficio clave de la técnica "Separate Query from Modifier"? \. Permite cambiar el estado de los objetos más rápidamente. \. Evita efectos secundarios en consultas de datos. \. Reduce el número de clases en el código. \. Convierte todos los métodos en estáticos. ¿Cuál de los siguientes NO es un motivo para refactorizar código? \. Mejorar la mantenibilidad del código. \. Asegurar que el código compile sin errores. \. Facilitar la incorporación de nuevas funcionalidades. \. Reducir la complejidad del código. ¿Qué técnica ayuda a eliminar código repetitivo en múltiples clases? \. Extract Interface \. Pull Up Method \. Push Down Method \. Replace Conditional with Polymorphism. ¿Cuál es el riesgo de "Cambiar Valor a Referencia" si no se maneja bien? \. Genera más copias de datos en memoria, lo que puede hacer que el programa sea más lento. \. Puede provocar efectos colaterales si los objetos referenciados se modifican inesperadamente. \. Hace que cada objeto sea completamente independiente, lo que puede causar redundancia de datos. \. Obliga a usar estructuras de datos ineficientes para representar objetos. ¿Qué es un patrón de diseño en software?. Un lenguaje de programación. Una solución estandarizada a problemas comunes en desarrollo de software. Un conjunto de reglas de sintaxis. Una herramienta de depuración. ¿Cuál de los siguientes NO es un beneficio de los patrones de diseño?. Reutilización de soluciones. Dependencia estricta de una tecnología específica. Establecimiento de un vocabulario común. Código más mantenible. ¿Quiénes popularizaron los patrones de diseño en informática con el libro *Design Patterns*?. Alan Turing. Gang of Four (GoF). Linus Torvalds. Donald Knuth. ## Patrones Creacionales. ¿Qué patrón de diseño se usa para garantizar que solo haya una única instancia de una clase?. Factory Method. Singleton. Builder. Prototype. ¿Cuál de los siguientes patrones se usa para construir objetos paso a paso?. Singleton. Builder. Factory Method. Prototype. ¿El patrón *Abstract Factory* permite...?. Crear una única instancia de una clase. Producir familias de objetos relacionados sin especificar clases concretas. Construir objetos paso a paso. Clonar objetos existentes. ## Patrones Estructurales. ¿Qué patrón permite a objetos con interfaces incompatibles trabajar juntos?. Composite. Adapter. Proxy. Facade. ¿Cuál es la principal ventaja del patrón *Facade*?. Minimiza el uso de memoria compartiendo objetos. Proporciona una interfaz simplificada a un sistema complejo. Controla el acceso a un objeto. Desacopla una abstracción de su implementación. ¿Cuál es el propósito principal del patrón *Decorator*?. Separar el comportamiento de la lógica de negocio. Añadir responsabilidades a un objeto en tiempo de ejecución sin modificar su código fuente. Mejorar la estructura de clases en jerarquías. Evitar la creación de instancias innecesarias. ¿Qué patrón se usa para estructurar objetos en jerarquías tipo árbol?. Proxy. Composite. Decorator. Flyweight. ## Patrones de Comportamiento. ¿Cuál de los siguientes patrones se usa para encapsular una solicitud como un objeto?. Observer. Command. State. Mediator. ¿Qué patrón define una dependencia uno-a-muchos entre objetos, notificando cambios automáticamente?. Strategy. Observer. Memento. Chain of Responsibility. ¿Cuál es el propósito del patrón *State*?. Controlar el acceso a un objeto. Permitir que un objeto cambie su comportamiento cuando cambia su estado interno. Separar la creación de objetos en pasos. Coordinar la comunicación entre múltiples objetos. ¿Cuál es la principal función del patrón *Strategy*?. Controlar el ciclo de vida de un objeto. Definir una familia de algoritmos intercambiables. Crear objetos a partir de prototipos. Administrar la memoria en objetos reutilizados. ¿Cuál de los siguientes patrones se usa para permitir que varios objetos manejen una solicitud sin que el emisor conozca cuál la procesará?. Mediator. Chain of Responsibility. Command. Memento. ¿Qué patrón permite guardar y restaurar el estado de un objeto sin afectar su encapsulación?. Proxy. Memento. Observer. Strategy. ## Uso de Patrones. ¿Cuál es una buena práctica al aplicar patrones de diseño?. Usarlos en cualquier parte del código sin análisis previo. Comprender el problema antes de aplicar un patrón. Reemplazar todas las estructuras existentes con patrones. Evitar la reutilización de patrones en proyectos distintos. ¿Cuál es un error común al usar patrones de diseño?. No seguir el principio de abierto/cerrado. Usar patrones innecesarios que aumentan la complejidad del código. No encapsular objetos correctamente. No aplicar la herencia en todos los casos. ¿En qué situaciones es ideal aplicar el patrón *Visitor*?. Cuando se necesita una única instancia de una clase. Cuando se quiere añadir nuevas operaciones a una jerarquía sin modificar sus clases. Cuando se requiere recorrer una colección sin exponer su estructura interna. Cuando se quiere crear un objeto de manera eficiente. ¿Cuál de los siguientes es un patrón de diseño creacional?. Observer. Prototype. Decorator. Chain of Responsibility. ¿Cuál de los siguientes NO es un factor clave en la calidad del software?. Correctitud. Inseguridad. Mantenibilidad. Eficiencia. Los estándares,. Sólo se enfocan en aspectos técnicos. Se enfocan en aspectos técnicos y en ética profesional y responsabilidad social. Se enfocan en ética profesional y responsabilidad social pero no en aspectos técnicos. Se enfocan en aspectos técnicos y en ética profesional solamente. Documentar errores y fallos de manera honesta es un principio de la ética en el software: Falso. Verdadero. El ISO 9000,. Establece un marco para gestionar y controlar la calidad en el ciclo de vida del desarrollo. Establece los principios fundamentales para la gestión de la calidad en las organizaciones. Es una norma diseñada para ayudar a las organizaciones a mejorar su eficiencia y sostenibilidad a largo plazo. Estándar internacional para la evaluación de la calidad del software. Las características de la ISO 25000 son. Funcionalidad, fiabilidad, seguridad y mantenibilidad. Funcionalidad, usabilidad, fiabilidad, eficiencia, mantenibilidad, seguridad, portabilidad y compatibilidad . Funcionalidad, usabilidad, fiabilidad, eficiencia, mantenibilidad, seguridad, portabilidad, compatibilidad y liderazgo. Enfoque del cliente, liderazgo, compromiso del personal, enfoque por procesos, mejora continua y toma de decisiones basada en evidencias. ¿Qué es un estándar de calidad de software?. Un tipo de software de código abierto. Un conjunto de reglas para evaluar y mejorar la calidad del software. Un modelo de negocio para la industria del software. Un programa de seguridad informática. ¿Qué tipo de prueba se realiza sin ejecutar el código?. Pruebas dinámicas. Pruebas estáticas. Pruebas de carga. Pruebas de estrés. ¿Cuál es el propósito principal de un SQA (Software Quality Assurance)?. Crear bases de datos seguras. Garantizar el cumplimiento de metodologías de calidad. Escribir código sin errores. Reemplazar a los testers manuales. ¿Cuáles son los fundamentos de SQC (Software Quality Control)?. Detecta problemas en los productos de trabajo. Todas las anteriores son correctas. Verifica que los productos de trabajo cumplan con los estándares de calidad especificados. Revisa el contenido del producto. Sobre la mejora continua de la calidad, señala la afirmación INCORRECTA. Estrategia iterativa para optimizar procesos y productos. Reduce el tiempo y los costos de mantenimiento. Se basa en el ciclo PDCA (Plan-Do-Check-Act) y la gestión de calidad total (TQM). La retroalimentación constante de usuarios y desarrolladores ayuda a perfeccionar el software. ¿Qué es un proceso de auditoría en el desarrollo de software?. Escribir código más rápido. Evaluación para verificar el cumplimiento de estándares. Reducir costos de desarrollo. Desarrollar software sin documentación. La evaluación y verificación de la calidad del software garantizan que el producto cumple con los estándares establecidos y satisface las necesidades del usuario. Falso. Verdadero. Sobre la seguridad en software crítico, señala la afirmación CORRECTA. Se aplican pruebas de estrés y carga. Un software seguro protege la integridad de los datos y la privacidad del usuario. El análisis de fallos permite mitigar errores y prevenir problemas futuros. Ninguna es correcta. ¿Cuál es la principal diferencia entre los métodos de evaluación de calidad estáticos y dinámicos?. Los métodos estáticos requieren la ejecución del software, mientras que los dinámicos no. Los métodos estáticos no requieren la ejecución del software, mientras que los dinámicos sí. Los métodos dinámicos se aplican antes del desarrollo del software y los estáticos después. Ambos métodos requieren la ejecución del software, pero en diferentes entornos. ¿Cuál de estas métricas NO se utiliza en estándares de calidad?. Densidad de defectos. Densidad ciclomática. Tiempo entre fallos. Complejidad ciclomática. El análisis estático,. Es fundamental para detectar errores en etapas tardías. Es fundamental para detectar errores en etapas tempranas. No permite identificar código ejecutable o redundante. Evalúa el comportamiento real del sistema bajo diferentes condiciones. ¿Cual de estas herramientas pertenece al análisis dinámico?. Sonarqube. Selenium. ESLint. Infer. ¿Cual de estas no es una técnica de reducción de riesgos?. Evitación de fallos. Análisis de rendimiento. Uso de modelos de aseguramiento. Limitación del daño causado por fallos. La ISO 9001 permite a las empresas que desarrollan software conocer la calidad de sus productos. Verdadero. Falso. ¿Cual de estas afirmaciones es correcta?. La verificacion garantiza que el software cumple con los requisitos del usuario. La verificación confirma que el desarrollo sigue las especificaciones técnicas. Las verificación previene problemas de usabilidad y funcionalidad. La verificación no detecta problemas antes de la entrega del producto. ¿Cuál de los siguientes es un pilar del modelo CIA en seguridad?. Compatibilidad. Integridad. Accesibilidad. Escalabilidad. ¿Cuál de los siguientes es un ejemplo de autenticación multifactor?. Contraseña compleja. SMS con código. Nombre de usuario. Captcha. Verdadero o falso: "Las cookies HttpOnly pueden ser accedidas mediante JavaScript en el navegador.". Verdadero. Falso. Verdadero o falso: "El uso de eval() en JavaScript es una buena práctica de seguridad.". Verdadero. Falso. ¿Qué herramienta permite la autenticación sin contraseña usando biometría?. OAuth. WebAuthn. LDAP. JWT. ¿Qué cabecera permite controlar los orígenes permitidos en CORS?. Referrer-Policy. Access-Control-Allow-Origin. Content-Type. X-CORS-Token. ¿Qué opción describe mejor el concepto de "Confianza cero"?. Permitir acceso local. Verificar siempre, sin asumir confianza. Validar solo usuarios externos. Depender del firewall. ¿Cuál de estos no es parte de un JSON Web Token (JWT)?. Header. Footer. Payload. Signature. ¿Qué herramienta analiza código sin ejecutarlo (SAST)?. Burp Suite. SonarQube. ZAP. Nmap. ¿Qué mecanismo evita el almacenamiento de secretos en código?. SAST. Vault. HSTS. CSRF. ¿Cuál es el objetivo del principio de mínimo privilegio?. Proporcionar máximo acceso. Restringir el acceso solo a lo necesario. Compartir credenciales. Mantener sesiones activas. ¿Qué vulnerabilidad se caracteriza por inyectar scripts maliciosos en el navegador?. CSRF. XSS. Broken Access Control. SSRF. ¿Cuál es una práctica recomendada para manejar tokens de acceso?. Almacenarlos en localStorage. Usar HTTPS y expiración corta. No cifrarlos. Compartir por URL. ¿Qué protocolo proporciona autenticación y autorización federada?. JWT. OAuth + OpenID Connect. API Key. TLS. ¿Qué opción representa una medida de seguridad para el frontend?. Uso de innerHTML. Uso de CSP y headers de seguridad. Cookies sin restricciones. Permitir scripts externos sin control. ¿Qué es un ataque de relleno de credenciales?. Inyección de SQL. Uso de contraseñas robadas en múltiples sitios. Suplantación de IP. Sobrecarga del servidor. ¿Qué tipo de prueba permite descubrir rutas y parámetros ocultos?. SAST. Pentesting manual. Linter. Firewall. Verdadero o falso: "WebAuthn permite autenticación sin contraseña.". Verdadero. Falso. ¿Qué estándar regula la seguridad en pagos con tarjeta?. GDPR. PCI-DSS. HIPAA. ISO 27001. ¿Cuál es el objetivo principal del Protocolo Modelo-Contexto (MCP)?. Desarrollar un nuevo modelo de IA. Establecer un protocolo estandarizado para conectar modelos de IA con fuentes de datos externas. Crear un sistema operativo para dispositivos inteligentes. Mejorar la velocidad de conexión entre servidores físicos. ¿Qué problema común de integración resuelve el MCP?. La falta de potencia de cómputo en los dispositivos móviles. La necesidad de crear conectores independientes para cada combinación de modelo y fuente de datos. El sobreajuste de los modelos de IA durante el entrenamiento. La latencia entre modelos entrenados y su uso en dispositivos. ¿Cómo se describe mejor la arquitectura fundamental del MCP?. Una arquitectura blockchain donde los datos se validan en un registro público. Un diseño cliente-servidor donde la aplicación de IA actúa como cliente que se conecta a servidores de datos. Una red peer-to-peer descentralizada donde todos comparten datos sin servidores. Un modelo federado de entrenamiento distribuido. Dentro de MCP, ¿qué función tiene un servidor MCP?. Entrenar y actualizar el modelo de IA con nuevos datos. Proporcionar acceso a datos y funcionalidades externas al modelo de IA. Aumentar la velocidad de procesamiento del modelo. Coordinar múltiples agentes de IA en paralelo. Dentro de MCP, ¿qué función tiene un cliente MCP?. Almacenar copias de los datos del servidor. Facilitar la comunicación entre la aplicación de IA y los servidores MCP. Ejecutar el modelo de IA localmente en una máquina cliente. Traducir instrucciones del modelo a comandos de máquina. En un flujo típico de comunicación MCP, ¿qué ocurre primero?. El servidor MCP envía datos al modelo sin solicitud. El cliente MCP consulta al servidor sobre sus capacidades. El modelo de IA se actualiza automáticamente con nuevos parámetros. El servidor solicita acceso a la API del modelo. ¿Qué significa que las conexiones en MCP sean "bidireccionales"?. Toda la comunicación se limita a una sola dirección (del servidor a la IA). El modelo de IA puede tanto solicitar información al servidor como invocar acciones en él. Los datos fluyen solo del modelo al servidor sin respuestas. Solo se pueden usar con redes privadas. ¿Cuál es una ventaja clave de usar el MCP?. Aumenta automáticamente la capacidad de memoria de los modelos de IA. Permite usar un único protocolo estándar en lugar de múltiples integraciones personalizadas. Evita el acceso a datos externos para mejorar la privacidad. Crea modelos completamente nuevos desde cero. MCP ayuda a mantener el contexto en los sistemas de IA cuando…. El modelo de IA se reinicia en cada nueva sesión. El asistente de IA cambia entre diferentes herramientas y conjuntos de datos durante una tarea. Se entrena el modelo con datos desordenados. El servidor realiza pruebas automáticas sobre la IA. ¿Cuál es un ejemplo de caso de uso real de MCP?. Un modelo de IA que mejora automáticamente la calidad de las fotos. Un asistente de codificación que lee el código en un repositorio para dar sugerencias basadas en el contexto. Un sistema que entrena varios modelos sin supervisión. Un motor de búsqueda que indexa páginas web aleatorias. ¿Qué significa que MCP sea "independiente del modelo" (model-agnostic)?. Solo funciona con un modelo de IA particular. Puede trabajar con cualquier asistente de IA o modelo de lenguaje, sin importar el proveedor. Selecciona automáticamente el mejor modelo de IA para cada tarea. Funciona únicamente con modelos entrenados en la nube. ¿Cuál de los siguientes no es un componente principal del MCP?. La especificación del protocolo y sus SDK. Un repositorio interno de datos no relacionado. Servidores MCP locales y en la nube. Conectores estandarizados para APIs abiertas. ¿Cómo puede usarse MCP en un entorno empresarial?. Conectando todos los sistemas de la empresa a la nube sin control. Un asistente interno recupera información de sistemas CRM y bases de conocimiento de forma segura. Reemplazando al departamento de TI en la toma de decisiones. Usando asistentes virtuales para marketing automático sin permisos. ¿Cuál podría ser una limitación práctica de MCP?. Asegura datos a nivel militar automáticamente. Requiere configurar y mantener servidores MCP, lo que puede agregar complejidad inicial. Impide que los modelos de IA accedan a datos externos por diseño. Solo es compatible con Linux. ¿Cómo se intercambian mensajes entre clientes y servidores en MCP?. Conversando por chat en tiempo real. Usando mensajes en formato JSON (JSON-RPC 2.0) a través de HTTP. Intercambiando archivos de texto manualmente. A través de mensajes binarios encriptados con QR. ¿Qué operaciones típicas puede realizar un modelo de IA mediante un servidor MCP?. Reentrenar otros modelos directamente en el servidor. Leer archivos de datos y ejecutar funciones o consultas en el servidor. Realizar procesamiento de imágenes localmente sin ayuda. Modificar el hardware del servidor de forma remota. Al usar MCP con múltiples herramientas, ¿qué permite esto a un agente de IA?. Solo elegir una herramienta al azar para cada tarea. Acceder simultáneamente a varias fuentes de información y combinarlas en su razonamiento. Entrar automáticamente en un modo de aprendizaje no supervisado. Ejecutar múltiples instancias del mismo servidor MCP. ¿Por qué es importante que MCP sea un estándar abierto?. Obliga a todos los usuarios a pagar una licencia costosa. Facilita que varios proveedores y herramientas sean compatibles sin licencias cerradas. Cambia continuamente sin una versión estable. Impide el uso de servidores privados. ¿Qué permite un servidor MCP personalizado?. Convertir el servidor en un modelo de IA. Conectar sistemas internos o bases de datos privadas de la organización con los modelos de IA. Crear nuevos idiomas de programación automáticamente. Generar modelos de IA basados en ADN. ¿Cuál de estas NO es una función del MCP?. Proporcionar contexto adicional a un asistente de IA durante una conversación. Entrenar un nuevo modelo de lenguaje por sí mismo. Ejecutar funciones externas (como consultas o comandos) en respuesta a solicitudes del modelo de IA. Gestionar el acceso a fuentes de datos remotas. **Pregunta:** ¿Cuál es el objetivo principal de los aspectos legales y éticos en el desarrollo de software?. Aumentar los beneficios de las empresas de software. Proteger a los usuarios, la sociedad y la integridad profesional. Agilizar el proceso de desarrollo de software. Reducir los costes de producción del software. **Pregunta:** ¿Qué tipo de obligaciones imponen los aspectos legales en el desarrollo de software?. Valores y principios morales. Obligaciones que impone la ley (como protección de datos). Decisiones responsables sin base legal. Normas establecidas por las empresas. **Pregunta:** ¿Qué orientan los aspectos éticos en el desarrollo de software?. El cumplimiento estricto de las leyes. Valores y principios que orientan las decisiones responsables. La maximización de la eficiencia técnica. Los requisitos del cliente sin considerar las consecuencias. **Pregunta:** ¿En qué áreas críticas interviene el software que requieren estándares éticos?. Redes sociales y videojuegos. Salud, seguridad aérea, educación o finanzas. Diseño gráfico y marketing online. Comunicación personal y entretenimiento. **Pregunta:** ¿Qué organizaciones se dieron cuenta de la urgencia de definir estándares éticos en los años noventa?. Microsoft y Apple. IEEE Computer Society y la ACM. Google y Facebook. Amazon y Netflix. **Pregunta:** ¿Cómo se llama el código de ética resultado del trabajo conjunto de ACM e IEEE?. Código de Buenas Prácticas de Software. Software Engineering Code of Ethics and Professional Practice. Estándares Legales del Desarrollo de Software. Guía Ética para Ingenieros Informáticos. **Pregunta:** ¿Qué organización adoptó y tradujo el código de la ACM/IEEE al contexto hispanohablante?. IEEE España. SISTEDES. ACM Latinoamérica. ISO Software. **Pregunta:** ¿Qué tipo de retos éticos plantea la aparición de la inteligencia artificial?. Retos relacionados únicamente con la velocidad de procesamiento. Preguntas sobre la responsabilidad en errores y la garantía de no reproducción de sesgos. Retos puramente técnicos sin implicaciones sociales. Desafíos centrados en la interfaz de usuario. **Pregunta:** ¿En cuántos principios éticos fundamentales está dividido el Código de Ética y Conducta Profesional de ACM (v5.2)?. Seis. Ocho. Siete. Nueve. **Pregunta:** ¿Cuál es el eje principal del Código de Ética y Conducta Profesional de ACM?. La eficiencia en el desarrollo de software. El interés público. La satisfacción del cliente. El beneficio económico de la empresa. **Pregunta:** ¿Qué enfatiza el código ético de SISTEDES además de los principios generales?. La rapidez en la entrega de proyectos. La educación ética y el uso de ejemplos reales. El uso exclusivo de tecnologías patentadas. La minimización de la documentación técnica. **Pregunta:** ¿Cuál es uno de los principales propósitos de un código de ética como el de ACM/IEEE o SISTEDES?. Facilitar la competencia desleal entre empresas. Proteger al público y al usuario frente a posibles daños. Limitar la innovación en el desarrollo de software. Favorecer los intereses empresariales por encima de todo. **Pregunta:** ¿Qué principio ético universal destaca la importancia de proteger la seguridad, la salud y el bienestar social?. Honestidad y veracidad. Interés público. Minimización de riesgos. Protección de derechos fundamentales. **Pregunta:** ¿Qué exige el principio de no maleficencia en el desarrollo de software?. Maximizar los beneficios económicos a toda costa. Diseñar y mantener software seguro y libre de fallos graves. Ignorar las posibles consecuencias negativas del software. Entregar el software lo más rápido posible sin pruebas exhaustivas. **Pregunta:** ¿Qué implica la responsabilidad profesional en el ejercicio de la profesión del software?. Actuar únicamente según las directrices de la empresa. Actuar conforme a normas éticas y legales, y reconocer limitaciones personales. Ignorar las normas éticas y legales si dificultan el trabajo. Ocultar los fallos de seguridad para evitar problemas. **Pregunta:** En el caso de Occidental Engineering, ¿qué problema técnico crítico se descubrió en el prototipo Safe Skies?. Problemas de interfaz de usuario. Un fallo donde un avión podía desaparecer del sistema cuando había demasiados. Lentitud en el procesamiento de datos. Incompatibilidad con sistemas operativos. **Pregunta:** En el caso de subcontratación en Lesak, ¿qué parentesco tenía la vicepresidenta de MBE Design Group con el dueño de Lesak?. Era su esposa. Era su hija. Era su hermana. Era su prima. **Pregunta:** ¿Qué tecnología permitía el sistema TTWI (Through-the-Wall Imaging) en el Caso 3?. Escuchar conversaciones a través de paredes. Ver a través de paredes usando radar de impulsos. Desactivar sistemas electrónicos a distancia. Camuflar objetos haciéndolos invisibles. **Pregunta:** Según el Principio 1.3 del Código ACM, ¿qué se debe proporcionar sobre las capacidades, limitaciones y riesgos del software?. Información técnica detallada solo para expertos. Información completa de manera honesta y confiable. Información mínima para no alarmar a los usuarios. Información optimista exagerando las funcionalidades. **Pregunta:** ¿Qué busca el enfoque "ethical by design" en el desarrollo de software?. Añadir consideraciones éticas al final del proyecto. Integrar principios éticos en cada etapa del desarrollo desde el diseño. Externalizar la responsabilidad ética a un equipo especializado. Cumplir con los requisitos funcionales sin considerar la ética. El despliegue continuo es. una técnica de diseño gráfico que permite optimizar la resolución de las imágenes antes del despliegue del sitio web. una estrategia de desarrollo en la que los cambios de código de la aplicación se publican automáticamente al entorno de producción tras pasar una serie de pruebas predefinidas. un proceso manual en el que los desarrolladores publican actualizaciones solo después de completar todo el ciclo de desarrollo y aprobación por parte del equipo de marketing. una metodología de respaldo que almacena copias del código fuente cada vez que un desarrollador guarda un archivo. ¿Cuál de las siguientes herramientas se utiliza comúnmente para la integración continua y despliegue continuo (CI/CD)?. MySQL. GitHub Actions. Bootstrap. Nginx. Señala la opción incorrecta: En la etapa de seguridad, en la etapa de compilación y pruebas, el código se convierte en ejecutable y se validan sus funcionalidades. Se deben usar credenciales en archivos de configuración. DAST (Dynamic Application Security Testing) analiza la aplicación mientras está en ejecución. SAST (Static Application Security Testing) analiza el código sin ejecutarlo. ¿Cuál de las siguientes afirmaciones es una buena práctica del despliegue del continuo de aplicaciones?. Uso de credenciales en archivos de configuración. Uso de repositorios privados con control de acceso. No verificar cambios en código de terceros. El archivo de configuración de GitHub Actions suele tener extensión _.exe_. Verdadero. Falso (Se usa YAML, por ejemplo: .yml). ¿Cuál de las siguientes opciones es un beneficio de CI/CD seguro?. Incrementa la cantidad de pruebas visuales que se deben realizar manualmente antes del lanzamiento. Reducción de riesgos de ataques y fugas de datos. Aumenta el número de líneas de código escritas por el equipo cada día. Mejora la calidad del diseño gráfico en la interfaz de usuario. Un rollback es. el proceso de realizar pruebas de seguridad adicionales en una nueva versión antes de lanzarla. el proceso de volver a una versión anterior de la aplicación cuando una actualización presenta problemas. la acción de compilar el código fuente para crear una nueva versión de la aplicación. el proceso de agregar nuevas funcionalidades a una aplicación sin necesidad de realizar pruebas. Con un Feature branching: Se trabaja directamente en la rama main para una implementación directa. Cada funcionalidad se desarrolla en una rama separada. Se crean pull request sin revisión previa. Se hace un commit and push en la rama main cada vez que se realiza un cambio. ¿Qué significa CI en desarrollo de software?. Código Interactivo. Integración Continua. Comunicación Inmediata. Instalación Controlada. Github actions se utiliza para…. la creación de bases de datos en la nube sin necesidad de configuración. el despliegue de páginas estáticas. la automatización de la integración de diseño gráfico en la aplicación. gestionar la documentación en producción. ¿Qué es una pipeline?. Un servidor. Una serie de pasos automatizados. Una app móvil. Un lenguaje de programación. ¿Cuál no es un beneficio del CI/CD seguro?. Reducción de ataques y fugas de datos. Codigo más bonito. Mayor confianza en la estabilidad del código. Cumplimientos de normativas y estándares de calidad. ¿Por qué no se sube un archivo _node_modules_ a un repositorio común?. Porque contiene archivos sensibles como contraseñas y claves de API. Es un archivo muy pesado. Porque no se puede acceder a él desde sistemas operativos diferentes a Linux. Porque se genera automáticamente. En un sistema centralizado…. Cada persona guarda sus cambios. Todos los cambios se guardan en un único lugar, obligando a una conexión constante. Los cambios se almacenan en múltiples servidores dispersos para mayor seguridad y disponibilidad. Los cambios nunca están visibles para los usuarios. ¿Qué hace el comando _npm install_?. Eliminar todas las dependencias de la aplicación. Instalar las dependencias indicadas en el package.json. Limpiar el directorio. Inicializar todas las variables de la aplicación. Los pipelines en CI se ejecutan automáticamente tras detectar cambios. Falso. Verdadero. El Despliegue continuo y la entrega continua: son lo mismo. La entrega continua necesita interacción manual para publicar los cambios a producción y el despliegue continuo no. el despliegue continuo necesita interacción manual para publicar los cambios a producción y la entrega continua no. El despliegue continuo despliega los cambios a producción si se pasan unas pruebas, y la entrega continua verifica los cambios para poder integrarlos a la rama principal de un repositorio compartido. ¿Cuál es un área crítica de seguridad?. La interfaz gráfica. El código fuente, compilación, pruebas y despliegue. La estructura de la aplicación. Los estilos visuales de la aplicación. ¿Github se utiliza para el control de versiones?. Falso. Verdadero. ¿Cuál no es una herramienta de CI/CD completa?. Gitlab. Cloudfare. Jenkins. Travis CI. ¿Qué modelo de desarrollo se caracteriza por tener fases bien definidas y no permitir retrocesos?. Modelo en V. Modelo en Cascada. Modelo Espiral. Modelo Iterativo. En el modelo en V, ¿qué fase acompaña cada etapa de desarrollo?. Implementación. Pruebas. Análisis de requisitos. Mantenimiento. ¿Cuál es una característica fundamental de las metodologías ágiles?. Documentación extensa. Desarrollo incremental e iterativo. Planificación rígida y detallada. Uso exclusivo de diagramas UML. ¿Cuál de las siguientes NO es una metodología ágil?. Scrum. Modelo en Cascada. XP (Extreme Programming). Kanban. ¿Cuál de los siguientes es un principio clave de Scrum?. Entregas solo al final del proyecto. Sprints iterativos. Desarrollo sin reuniones. Se exige una práctica de desarrollo específica. ¿Qué rol en Scrum es responsable de eliminar obstáculos y facilitar el proceso?. Product Owner. Scrum Master. Jefe de Proyecto. Desarrollador. ¿Qué metodología ágil promueve la programación en pareja y pruebas automatizadas?. Kanban. XP (Extreme Programming). Scrum. Modelo en V. ¿Cuál es una característica clave de los métodos híbridos como Scrumban?. No permiten iteraciones. Mezclan elementos de metodologías tradicionales y ágiles. Solo se usan en proyectos pequeños. No requieren planificación. ¿Qué marco de trabajo ágil es más utilizado en grandes organizaciones para escalar Agile?. XP. SAFe (Scaled Agile Framework). Scrum. Kanban. En el ciclo de vida del software, ¿qué fase implica la verificación y validación del código?. Diseño. Pruebas. Implementación. Análisis de requisitos. ¿Cuál es la principal ventaja de utilizar metodologías ágiles?. Reduce la necesidad de planificación. Flexibilidad y adaptación a cambios. Menos interacción con el cliente. Desarrollo más lento pero más seguro. ¿Qué enfoque de desarrollo mejora el producto en ciclos incrementales, adaptando el alcance en cada iteración?. Predictivo. Adaptativo. Modelo en V. Modelo en Cascada. ¿Cuál de los siguientes es un objetivo clave de las metodologías de desarrollo de software?. Reducir la necesidad de pruebas. Estandarizar el proceso de desarrollo y reducir errores. Eliminar la fase de mantenimiento. Desarrollar software sin documentación. ¿Qué tipo de ciclo de vida se caracteriza por dividir el desarrollo en pequeñas partes funcionales entregables?. Predictivo. Incremental. Cascada. Modelo en V. ¿Qué ventaja tiene el modelo en espiral respecto al modelo en cascada?. Es más rápido. Permite evaluar riesgos en cada iteración. No necesita planificación. No requiere pruebas. ¿Cuál es una de las funciones principales del Product Owner en Scrum?. Escribir código. Priorizar los requisitos del producto. Gestionar el equipo de desarrollo. Diseñar la interfaz de usuario. ¿Cómo se denomina la reunión diaria en Scrum donde el equipo sincroniza el trabajo?. Sprint Planning. Daily Scrum. Sprint Retrospective. Revisión del Sprint. ¿Qué ventaja tiene Kanban sobre Scrum?. Utiliza reuniones diarias obligatorias. No usa iteraciones fijas y permite flujo continuo. No permite cambios en el flujo de trabajo. Depende de la documentación extensa. ¿Qué significa la retrospectiva en Scrum?. Presentación del software al cliente. Reunión para evaluar y mejorar el proceso. Revisión del código fuente. Análisis de riesgos. ¿En qué metodología se utilizan tarjetas visuales para gestionar tareas y su progreso?. Scrum. Kanban. XP. Modelo en V. ¿Qué es el "legacy code"?. Código muy antiguo. Código heredado difícil de manejar. Código mal documentado. ¿Cuál es uno de los principales riesgos al modificar legacy code?. Complicar la documentación. Introducir nuevos bugs. ¿Qué técnica ayuda a entender el comportamiento de legacy code?. Solamente leer comentarios. Añadir pruebas automatizadas. Usar variables globales. ¿Por qué es importante refactorizar legacy code?. Para aumentar la complejidad. Para mejorar la mantenibilidad. Para reducir la deuda técnica. ¿Qué patrón es útil para aislar dependencias en legacy code?. Singleton. Dependency Injection. Observer. ¿Cuál es el primer paso recomendado antes de modificar legacy code?. Cambiar el nombre de las funciones. Cubrir el código con pruebas. Eliminar código muerto. ¿Qué herramienta ayuda a identificar áreas problemáticas en legacy code?. Javadoc. Análisis estático de código. Swagger. ¿Qué significa "characterization test" en el contexto de legacy code?. Prueba de rendimiento. Prueba que documenta el comportamiento actual del código. Prueba de integración continua. ¿Cuál es una buena práctica al trabajar con legacy code?. Hacer grandes cambios de una vez. Realizar cambios pequeños y controlados. Ignorar los errores de compilación. ¿Qué es la "deuda técnica" en legacy code?. Dinero que se debe al equipo de desarrollo. Acumulación de decisiones de diseño subóptimas. Falta de comentarios en el código. ¿Qué facilita la refactorización de legacy code?. Variables globales. Pruebas automatizadas. Código duplicado. ¿Qué patrón ayuda a introducir pruebas en legacy code?. Factory. Test Harness. Single Responsibility. ¿Qué es el "code coverage" y por qué es útil en legacy code?. Una métrica de rendimiento. Un indicador del porcentaje de código cubierto por pruebas. Un tipo de refactorización. ¿Qué es recomendable hacer si no se entiende una parte del legacy code?. Eliminarla. Añadir pruebas para documentar su comportamiento. Pedirle a la IA que lo cambie. ¿Qué técnica ayuda a reducir el acoplamiento en legacy code?. Uso de variables globales. Introducir interfaces. Uso de métodos estáticos. ¿Por qué es peligroso reescribir todo el legacy code de una vez?. Porque no reduce la deuda técnica. Porque se pueden perder funcionalidades y aumentar los errores. Porque no todo el código puede estar mal. ¿Qué es el "Refactoring" en el contexto de legacy code?. El proceso de eliminar código muerto. El proceso de mejorar la estructura interna del código sin cambiar su comportamiento externo. El proceso de documentar el código existente. ¿Qué ayuda a reducir el miedo a modificar legacy code?. Estar familiarizado con el lenguaje de programación. Tener una buena suite de pruebas y buena documentación. Tener comentarios. ¿Qué es una "prueba de humo" en el contexto de legacy code?. Prueba que verifica el comportamiento. Prueba básica para comprobar que el sistema funciona tras un cambio. Prueba de rendimiento. ¿Qué actitud es recomendable al enfrentarse a legacy code?. Cambiar todo de una vez. Ser cauteloso y validar cada cambio. Anteponer tu criterio a la documentación. ¿En qué consiste el desensamblado de un código?. Programa escrito en un lenguaje de alto nivel se traduce a un lenguaje de bajo nivel. Convierte el binario en instrucciones de lenguaje ensamblador. Traduce el código en lenguaje de alto nivel a lenguaje binario. Herramienta que traduce un archivo de código binario a un lenguaje de alto nivel, intentando reconstruir el código fuente original. ¿En qué consiste la descompilación de un código?. Traduce el código en lenguaje de alto nivel a lenguaje binario. Herramienta que traduce un archivo de código binario a un lenguaje de alto nivel, intentando reconstruir el código fuente original. Convierte el binario en instrucciones de lenguaje ensamblador. Programa escrito en un lenguaje de alto nivel se traduce a un lenguaje de bajo nivel. ¿En qué consiste la compilación de un código?. Herramienta que traduce un archivo de código binario a un lenguaje de alto nivel, intentando reconstruir el código fuente original. Programa escrito en un lenguaje de alto nivel se traduce a un lenguaje de bajo nivel. Convierte el binario en instrucciones de lenguaje ensamblador. Traduce el código en lenguaje de alto nivel a lenguaje binario. ¿En qué consiste el ensamblado de un código?. Herramienta que traduce un archivo de código binario a un lenguaje de alto nivel, intentando reconstruir el código fuente original. Convierte el binario en instrucciones de lenguaje ensamblador. Traduce el código en lenguaje de alto nivel a lenguaje binario. Programa escrito en un lenguaje de alto nivel se traduce a un lenguaje de bajo nivel. ¿Qué es la EULA?. Protocolo de seguridad utilizado en redes privadas. Contrato legal que el usuario acepta antes de utilizar un software. Lenguaje de programación orientado a objetos. Tipo de licencia libre para distribuir contenido multimedia. ¿Qué protegen los derechos de autor en el contexto del software?. La estructura lógica y los métodos subyacentes del software, como los algoritmos y las rutinas de procesamiento de datos. La expresión concreta del programa, en su forma de código fuente y ejecutable, pero no los métodos o ideas que subyacen en él. Los diseños arquitectónicos del hardware utilizado para ejecutar el software, incluyendo la disposición de sus componentes físicos. La especificación y los protocolos de comunicación utilizados por el software para la interacción en redes y la transmisión de datos. ¿Qué es la propiedad intelectual?. Es un conjunto de normas que regulan la propiedad física de los bienes muebles e inmuebles. Conjunto de derechos que protegen las creaciones del intelecto, como invenciones, marcas y secretos industriales. Es el derecho exclusivo que tiene el Estado para explotar comercialmente las ideas desarrolladas dentro de sus fronteras. Es el conjunto de requisitos que se deben cumplir para poder trabajar en algunos proyectos. ¿Qué es la ingeniería inversa en el contexto del software?. Un proceso que implica la creación de una versión funcional de un software a partir de su código fuente disponible, sin modificar su estructura interna. El análisis y descomposición de un producto de software para extraer sus componentes y entender su funcionamiento, con el fin de crear un software compatible o mejorar el original. La reimplementación de un software a partir de su especificación funcional, sin tener acceso a su código fuente o componentes internos. Un enfoque que busca mejorar el rendimiento de un software mediante la manipulación de su código ejecutable para optimizar su eficiencia sin alterar su funcionalidad. ¿En cuál de los siguientes casos podría contradecirse legalmente una cláusula de una licencia de software?. Aunque el usuario no haya leído la licencia, la instalación del software implica aceptación tácita, por lo que debe cumplirla en su totalidad. Cuando una cláusula vulnera derechos reconocidos por la legislación vigente, como el derecho a realizar ingeniería inversa para lograr interoperabilidad. Si el software se utiliza únicamente con fines educativos, cualquier cláusula puede ignorarse por motivos pedagógicos. Bajo ninguna circunstancia puede desobedecer una cláusula contractual si el usuario ha aceptado la licencia, independientemente de su contenido. ¿Cuál no es el fin ético de la ingeniería inversa?. Garantizar la interoperabilidad de sistemas. Vulnerar protecciones para obtener ventajas económicas. Reparar o mejorar software/hardware sin soporte oficial. Detectar vulnerabilidades en productos para mejorar la seguridad. ¿Cuáles son las principales fases de la ingeniería inversa?. Diseño, compilación, validación y distribución, centradas en reproducir el software original con mejoras funcionales. Análisis estático, desensamblado, documentación y modelado, enfocadas en entender el funcionamiento interno sin acceso al código fuente. Captura, edición, reconstrucción y despliegue, orientadas a modificar el comportamiento del software sin analizar su estructura. Desarrollo, prueba, refactorización y liberación, aplicadas durante el ciclo de vida convencional del desarrollo de software. ¿Cuál de las siguientes afirmaciones describe mejor el papel emergente de la inteligencia artificial (IA) en la ingeniería inversa según el texto?. La IA se utiliza principalmente para reemplazar completamente a los ingenieros de software en el análisis de código. La IA está demostrando ser una herramienta poderosa para automatizar y acelerar tareas complejas de análisis manual en la ingeniería inversa. La IA se limita a la generación de pseudocódigo sin capacidad para ofrecer resúmenes funcionales. La IA ha disminuido la importancia de la reconstrucción de código fuente a partir de ejecutables en la ingeniería inversa. ¿Cuál de los siguientes enunciados describe con mayor precisión los objetivos principales de la ingeniería inversa en el ámbito del software?. Reproducir funcionalidades de un sistema sin necesidad de comprender su estructura ni su comportamiento interno. Analizar y comprender el diseño y funcionamiento de un software existente, a menudo sin acceso al código fuente, con fines como la interoperabilidad, la auditoría de seguridad o la recuperación de información. Optimizar el rendimiento del software original modificando directamente sus componentes binarios sin ningún tipo de análisis previo. Proteger sistemas contra vulnerabilidades mediante técnicas de ofuscación y criptografía aplicadas a sus ejecutables. ¿Cuál de los siguientes mecanismos representa una técnica común utilizada para dificultar la ingeniería inversa del software mediante la alteración deliberada de su legibilidad o comprensión?. Criptografía y empaquetado, que ocultan el contenido ejecutable mediante cifrado o compresión. Ofuscación de código, que transforma el código para hacerlo intencionadamente difícil de analizar sin alterar su funcionalidad. AntiDebugging y detección de entornos virtuales, que impiden el análisis dinámico en entornos controlados. Hardware seguro, que impide el acceso directo al sistema mediante protección física o chips especializados. ¿Cuál no es una técnica de la ofuscación?. Transformar nombres de variables y funciones en identificadores sin sentido. Eliminar comentarios y documentación del código fuente. Reordenar instrucciones sin alterar el resultado final. Insertar código basura o condicionar la ejecución con múltiples saltos lógicos. ¿Cuál es el objetivo principal de la ingeniería inversa?. Crear un producto desde cero sin referencias. Analizar un producto para entender su funcionamiento. Diseñar un nuevo sistema completamente innovador. Eliminar fallos en una fase de producción inicial. ¿Cómo puede afectar el uso de hardware seguro al proceso de ingeniería de requisitos en el desarrollo de un sistema?. Elimina la necesidad de definir requisitos de seguridad, ya que el hardware seguro proporciona protección completa de manera automática. Impone requisitos no funcionales adicionales, como restricciones de acceso físico o cifrado en hardware, que deben ser considerados desde las etapas iniciales del análisis. Simplifica la validación de requisitos funcionales, al garantizar que todas las operaciones del sistema se ejecuten en un entorno confiable por defecto. Sustituye los requisitos de interoperabilidad, dado que los dispositivos seguros actúan como estándares universales en cualquier entorno de ejecución. ¿En qué conflicto histórico se popularizó el uso del término "ingeniería inversa"?. Primera Guerra Mundial. Guerra Fría. Segunda Guerra Mundial. Guerra de Vietnam. ¿Qué herramienta se utiliza comúnmente para ingeniería inversa de software?. AutoCAD. Ghidra. Adobe Illustrator. Arduino IDE. ¿Qué fase implica la verificación del comportamiento del modelo reconstruido?. Recolección de información. Validación. Análisis estructural. Modelado y documentación. **Pregunta:** ¿Qué distingue principalmente al "vibe coding" de otros enfoques asistidos por IA?. Que solo utiliza lenguaje natural. Que acepta las sugerencias de la IA sin revisar en detalle. Que se basa en compilar constantemente. Que se ejecuta exclusivamente en navegadores. **Pregunta:** ¿Qué herramienta mencionada funciona como un IDE completo?. GitHub Copilot. Cursor. Tabnine. Ponicode. **Pregunta:** ¿Cuál es un riesgo legal clave del uso de código generado por IA?. Que los lenguajes usados sean obsoletos. Incluir sin saberlo fragmentos con derechos de autor. Que se rompan las reglas del compilador. Que el código sea demasiado eficiente. **Pregunta:** ¿Qué característica tiene Lovable que lo diferencia de herramientas como Copilot?. Ofrece refactorización en tiempo real. Permite crear apps completas sin escribir código. Genera código basado en voz. Detecta errores lógicos automáticamente. **Pregunta:** ¿Cuál es un riesgo ético destacado relacionado con la responsabilidad del código generado por IA?. Que los usuarios finales no puedan modificarlo. No está claro quién es responsable si el código falla. Las empresas lo reclaman como código libre. No se puede compilar sin licencia. **Pregunta:** ¿Cuál es un problema frecuente al aceptar código sugerido sin comprensión profunda?. Reduce el tamaño del proyecto. Dificulta el mantenimiento y depuración. Mejora demasiado el rendimiento. Limita la capacidad de escalar horizontalmente. **Pregunta:** ¿Qué afirmación refleja una limitación contextual de las IAs actuales?. Entienden todos los contextos empresariales. No comprenden bien los objetivos globales de un proyecto. Solo funcionan con proyectos en Python. No pueden generar HTML o CSS. **Pregunta:** ¿Quién introdujo el término "vibe coding"?. Los desarrolladores de GitHub Copilot. Andrej Karpathy. Los creadores de Cursor. Un grupo de investigación en procesamiento del lenguaje natural. **Pregunta:** ¿Por qué es problemático el uso de IA en entornos con datos sensibles?. El código generado siempre es público. La información puede enviarse a servidores externos. Las IAs no soportan cifrado. Se pierde el control del teclado. **Pregunta:** ¿Qué impacto ambiental tiene el uso masivo de IAs generativas en desarrollo?. Reducción total del uso energético. Aumento del consumo eléctrico y emisiones de CO₂. Ninguno, ya que se usa en la nube. Solo afecta a usuarios sin conexión. **Pregunta:** ¿Qué rol mantiene el desarrollador en el enfoque de vibe coding?. Ninguno, todo lo hace la IA. Define la intención y supervisa la calidad del código. Se limita a validar compilaciones. Corrige manualmente cada sugerencia. **Pregunta:** ¿Qué hace Amazon CodeGuru que lo diferencia de otras herramientas?. Genera código desde cero. Analiza rendimiento y detecta malas prácticas. Solo se integra con GitHub. Crea dashboards en tiempo real. **Pregunta:** ¿Qué puede hacer la IA al detectar errores en código?. Detener automáticamente la ejecución. Proponer correcciones y explicarlas. Cambiar el lenguaje del proyecto. Reiniciar el entorno de desarrollo. **Pregunta:** ¿Qué función NO cubre típicamente Lovable?. Generar backend. Crear documentación técnica. Construir login y dashboards. Desplegar en la nube. **Pregunta:** ¿Qué desafío ético plantea el entrenamiento de modelos con código público?. El código deja de funcionar. No se pidió consentimiento a los autores originales. El código se hace obsoleto al ser usado por IA. Se dificulta el aprendizaje automático. **Pregunta:** ¿Qué práctica fomenta la erosión de habilidades básicas del desarrollador?. Uso de algoritmos clásicos. Aceptar sugerencias de IA sin reflexión crítica. Trabajar con código open source. Programar en C++. **Pregunta:** ¿A qué se refiere Andrej Karpathy con "vibe coding"?. Un método que requiere una revisión manual intensiva de cada línea de código. Un enfoque donde el desarrollador se deja llevar por las sugerencias de la IA, permitiendo que el código evolucione orgánicamente. Una técnica centrada únicamente en la optimización del rendimiento del código. Un proceso que minimiza el uso de herramientas asistidas por IA. **Pregunta:** ¿Qué hacen los benchmarks como WebDev Arena?. Evalúan la seguridad de código Java. Comparan modelos LLMs resolviendo desafíos de desarrollo. Miden el uso de CPU por lenguaje. Optimizan el despliegue continuo. **Pregunta:** ¿Cuál es una ventaja del uso de lenguaje natural en programación asistida?. Requiere permisos root. Hace el flujo de trabajo más intuitivo. Solo es útil en HTML. Solo funciona con IA locales. **Pregunta:** ¿Qué podría pasar si se integra código de IA sin revisión en un entorno comercial?. Aumenta la velocidad sin consecuencias. Se puede incurrir en demandas por violación de licencias. Se compila más rápido siempre. Mejora automáticamente la seguridad. |