Software Development Quiz (Agile Methodologies)
Document Details

Uploaded by Joako
Tags
Summary
This document contains a quiz about software development, particularly focusing on agile methodologies such as Scrum and Extreme Programming (XP). Questions cover topics like UML diagrams, user stories, sprint cycles, and the roles within a Scrum team. The answers are provided along with explanations to reinforce understanding of these key concepts.
Full Transcript
Pregunta 1: ¿Qué es una historia de usuario y cuál es su propósito? A. Una descripción breve que define las necesidades del desarrollador. B. Una herramienta de marketing para atraer clientes. C. Una descripción breve que representa las necesidades del usuario final. D. Un diagrama que explica la es...
Pregunta 1: ¿Qué es una historia de usuario y cuál es su propósito? A. Una descripción breve que define las necesidades del desarrollador. B. Una herramienta de marketing para atraer clientes. C. Una descripción breve que representa las necesidades del usuario final. D. Un diagrama que explica la estructura de un sistema. ANSWER: C Justificación: Una historia de usuario describe una necesidad desde la perspectiva del usuario final. Se usa en metodologías ágiles para enfocarse en entregar valor real al cliente. Pregunta 2: ¿Qué son los diagramas de UML y cómo se utilizan? A. Son herramientas visuales para representar sistemas de software. B. Son informes escritos sobre requisitos de sistemas. C. Son códigos utilizados para diseñar sistemas. D. Son diagramas utilizados únicamente para bases de datos. ANSWER: A Justificación: UML es un lenguaje gráfico que ayuda a modelar sistemas de software, mostrando estructuras, comportamientos y relaciones de una forma visual clara. Pregunta 3: ¿Qué ventajas ofrecen las metodologías ágiles en el desarrollo de software? A. Incrementan la rapidez en el desarrollo y promueven entregas frecuentes. B. Disminuyen la colaboración entre equipos. C. Eliminaron el uso de diagramas UML. D. Requieren más tiempo que las metodologías tradicionales. ANSWER: A Justificación: Las metodologías ágiles permiten adaptarse a cambios, entregan software funcional continuamente y mejoran la colaboración entre equipos y clientes. Pregunta 4: ¿Cuál es la diferencia clave entre Scrum y XP? A. Scrum se enfoca en la gestión de proyectos, mientras que XP en la calidad del código. B. Scrum utiliza programación en parejas, mientras que XP no. C. XP es una metodología tradicional, mientras que Scrum es ágil. D. XP se basa en sprints, mientras que Scrum no utiliza iteraciones cortas. ANSWER: A Justificación: Scrum se centra en la organización y gestión del trabajo en equipo, mientras XP promueve buenas prácticas técnicas de desarrollo como TDD y programación en pareja. Pregunta 5: ¿Cómo se llama la técnica donde dos programadores trabajan juntos en el mismo código? A. Diseño ágil. B. Planeación XP. C. Programación en pareja. D. Codificación cruzada. ANSWER: C Justificación: La programación en pareja (o pair programming) es una práctica de XP donde dos desarrolladores trabajan en una sola estación: uno escribe código y el otro revisa en tiempo real. Pregunta 6: ¿Cuál de estas herramientas sirve para crear diagramas de flujos? A. Microsoft Visio B. Windows Media Player C. Adobe Reader D. Discord ANSWER: A Justificación: Microsoft Visio es una herramienta diseñada específicamente para crear diagramas de flujo, diagramas UML, organigramas y más representaciones visuales. Pregunta 7: ¿Cuál es uno de los principales objetivos de la metodología XP? A. Reducir los costos de hardware B. Fortalecer las relaciones interpersonales durante el desarrollo de software C. Aumentar el número de líneas de código D. Automatizar todo el proceso sin intervención humana ANSWER: B Justificación: XP promueve valores como la comunicación, simplicidad, retroalimentación, coraje y respeto. Busca mejorar la calidad del software y la colaboración del equipo. Pregunta 8: En la metodología Scrum, ¿qué rol es responsable de representar al cliente y maximizar el valor del producto? A. ScrumMaster B. Scrum Team C. Product Owner D. Consultor ANSWER: C Justificación: El Product Owner es el responsable de gestionar el backlog del producto y de asegurar que el equipo trabaje en lo más valioso para el cliente o usuario final. Pregunta 9: Las metodologías ágiles como Scrum y XP (Extreme Programming) valoran más la documentación exhaustiva y los planes detallados que la colaboración con el cliente y la capacidad de respuesta ante cambios en los requisitos. ANSWER: FALSE Justificación: Esta afirmación es falsa porque contradice los principios del Manifiesto Ágil, que es la base de las metodologías como Scrum y XP. Los valores ágiles priorizan: Individuos e interacciones sobre procesos y herramientas, Software funcionando sobre documentación extensiva, Colaboración con el cliente sobre negociación contractual, Respuesta ante el cambio sobre seguir un plan. La documentación no se elimina, pero se reduce al mínimo necesario para enfocarse en la entrega continua de valor al cliente y en la flexibilidad frente a cambios en los requisitos. Pregunta 10: ¿Para qué se usan los diagramas en el desarrollo de software? A. Para entender mejor el sistema y su funcionamiento B. Para mejorar la velocidad de la red C. Evitar el uso de lenguajes de programación complejos D. Para reemplazar el código ANSWER: A Justificación: Los diagramas permiten visualizar la arquitectura, comportamiento y relaciones de los componentes de un sistema, facilitando su análisis y comprensión, especialmente en las etapas de diseño y documentación. Pregunta 11: ¿Qué factor es crucial para que las metodologías ágiles tengan éxito en un equipo de desarrollo? A. La rigidez de las fases de desarrollo y su cumplimiento estricto B. La flexibilidad para adaptarse a cambios y la colaboración constante con los clientes C. La centralización del control en un solo miembro del equipo D. La falta de planificación para responder rápidamente a los errores ANSWER: B Justificación: La adaptabilidad al cambio y la colaboración con el cliente son pilares fundamentales en metodologías ágiles. Esto garantiza que el equipo se alinee con los objetivos reales del usuario y pueda responder eficazmente a los cambios en los requisitos. Pregunta 12: ¿Cuál de las siguientes alternativas describe mejor el propósito de UML? A. Especificar un lenguaje de programación para codificar aplicaciones B. Es un estándar para crear representaciones gráficas de sistemas y su comportamiento C. Es una base de datos relacional para almacenar diagramas D. Se utiliza para realizar pruebas de usabilidad en aplicaciones ANSWER: B Justificación: UML (Unified Modeling Language) es un lenguaje estándar para modelar visualmente sistemas de software, mostrando tanto su estructura como su comportamiento, lo que facilita la comunicación entre los distintos miembros del equipo técnico. Pregunta 13: ¿Cómo se llama la metodología ágil que utiliza ciclos de trabajo llamados sprints? A. Kanban B. XP C. Scrum D. Lean ANSWER: C Justificación: Scrum es una metodología ágil que organiza el trabajo en sprints, que son ciclos cortos de desarrollo (usualmente de 1 a 4 semanas). Cada sprint busca entregar una versión funcional del producto con mejoras incrementales. Pregunta 14: ¿Cómo se llama el lenguaje gráfico que se usa para modelar sistemas de software? A. HTML B. Java C. UML D. SQL ANSWER: C Justificación: UML (Unified Modeling Language) es el lenguaje gráfico estandarizado para modelar sistemas, permitiendo representar procesos, estructuras y comportamientos del software antes o durante su desarrollo. Pregunta 15: ¿Cuál de estos no es un tipo de diagrama UML? A. Diagrama de clases B. Diagrama de estados C. Diagrama de iteración D. Diagrama de secuencia ANSWER: C Justificación: "Diagrama de iteración" no es un tipo reconocido dentro de UML. Los tipos reales de diagramas UML incluyen diagramas de clases, casos de uso, estados, actividades, secuencia, entre otros, pero no existe uno llamado “de iteración”. Pregunta 16: ¿Para qué sirve hacer un diagrama de flujo? A. Los diagramas de flujo me sirven para ir guiándome en mi trabajo. B. Un diagrama de flujo puede servir para que al trabajador pueda diferenciar su trabajo con alguien aleatorio que lo ha hecho antes. C. Un diagrama de flujo puede ser utilizado para modelar un proceso de ventas en línea, desde que el cliente agrega un producto al carrito hasta la confirmación de pago. ANSWER: C Justificación: Un diagrama de flujo es una representación gráfica de un proceso, que muestra la secuencia de pasos necesarios para llevar a cabo una tarea. Es muy útil para modelar procesos reales, como un flujo de ventas, toma de decisiones, procesos administrativos, entre otros. Pregunta 17: ¿Cuál de las siguientes opciones no es una metodología agile de trabajo? 1. Extreme Programming 2. Crystal 3. Scrum 4. Cascada 5. Lean 6. Kanban A. 1 y 3 B. 2 y 5 C. 1 y 2 D. 2 y 4 ANSWER: D Justificación: La respuesta correcta es D. 2 y 4. Cascada (Waterfall) es un modelo tradicional de desarrollo lineal y secuencial, no pertenece al enfoque ágil. Aunque Crystal tiene algunas variantes ligeras que se adaptan a ciertos contextos ágiles, su estructura base es más tradicional y no se considera ágil en su forma original. En cambio, Extreme Programming (XP), Scrum, Lean y Kanban sí son metodologías ágiles, enfocadas en la entrega incremental, colaboración continua y respuesta al cambio. Pregunta 18: Respecto a la metodología ágil Scrum, ¿cómo se le llama al ciclo iterativo? A. Product Backlog B. Sprint Planning C. Reserva de liberación D. Sprint ANSWER: D Justificación: En Scrum, un Sprint es un ciclo iterativo y de duración fija (generalmente de 1 a 4 semanas) durante el cual se desarrolla un incremento del producto. Product Backlog es la lista priorizada de requisitos. Sprint Planning es la reunión para planear el trabajo del sprint. Sprint es el ciclo de trabajo real, donde se construye el producto. “Reserva de liberación” no es un término estándar en Scrum. Pregunta 19: ¿Cuáles son los roles claves en la metodología Scrum? Respuesta: Los roles clave en la metodología Scrum son: ScrumMaster: facilita el proceso y elimina obstáculos para el equipo. Product Owner: representa al cliente, define y prioriza el Product Backlog. Scrum Team: equipo de desarrollo encargado de entregar el producto funcional. Pregunta 20: ¿Cuáles son las etapas importantes al desarrollar un sistema? Respuesta: Las 6 etapas importantes en el desarrollo de un sistema son: 1. Planificación 2. Diseño 3. Desarrollo (codificación) 4. Pruebas (testing) 5. Implementación (despliegue) 6. Mantención (soporte y mejoras continuas) Pregunta 21: ¿Cómo se le llama a un participante externo en un diagrama de caso de uso? Respuesta: A un participante externo en un diagrama de caso de uso se le llama “Actor”. Un actor representa a cualquier entidad externa (persona, sistema u organización) que interactúa con el sistema modelado. Pregunta 22: ¿Cuál de las siguientes metodologías ágiles está especialmente enfocada en buenas prácticas de programación, como pruebas automatizadas y programación en pareja? A. Scrum B. Lean C. XP (Extreme Programming) D. Crystal ANSWER: C Justificación: XP (Extreme Programming) es una metodología ágil enfocada principalmente en la calidad del código y en aplicar buenas prácticas de programación, como: Programación en pareja (pair programming) Pruebas automatizadas (TDD - Test Driven Development) Refactorización continua Integración continua Scrum, por ejemplo, se enfoca más en la gestión del trabajo que en las prácticas técnicas de codificación. Pregunta 23: Diferencia entre el modelo incremental y el iterativo. A. El modelo incremental se enfoca en entregar partes funcionales del sistema, mientras que el modelo iterativo se enfoca en repetir el ciclo de desarrollo hasta que el producto está completo. B. El modelo incremental se completa en una sola fase de desarrollo, mientras que el modelo iterativo repite múltiples ciclos. C. El modelo incremental entrega todo el sistema de una vez, mientras que el modelo iterativo lo desarrolla de manera incremental y repetitiva. D. Ambos modelos son lo mismo, solo cambian de nombre. ANSWER: A Justificación: En el modelo incremental, el sistema se desarrolla en partes, y se va entregando incrementos funcionales del sistema en cada fase. En el modelo iterativo, el ciclo de desarrollo se repite, mejorando y ajustando el sistema hasta llegar a una versión final. Pregunta 24: ¿Cuál es la fase del ciclo de desarrollo de software más importante? A. Planificación B. Diseño C. Desarrollo D. Pruebas ANSWER: A Justificación: La planificación es crucial porque establece la base para todo el ciclo de desarrollo. Sin una buena planificación, las fases posteriores como diseño, desarrollo y pruebas pueden verse comprometidas, ya que no se habrán definido bien los objetivos ni los requisitos. Pregunta 25: La metodología XP consta de 4 etapas: Planeación, diseño, codificación y pruebas. A. Verdadero B. Falso ANSWER: B Justificación: La metodología XP (Extreme Programming) se basa en prácticas como la programación en pareja, pruebas automatizadas y entrega continua, pero no se organiza en las 4 etapas mencionadas. Las etapas clave en XP son más centradas en prácticas de trabajo diarias y su ciclo de vida incluye planificación, diseño, codificación, pruebas, y entrega continua, pero no están divididas en solo cuatro fases. Pregunta 26: Las historias de usuario dependen de un lenguaje de programación, por lo tanto, se escriben en código. A. Verdadero B. Falso ANSWER: B Justificación: Las historias de usuario no dependen de un lenguaje de programación. Son una herramienta orientada al usuario que define lo que el usuario necesita del sistema, y se escriben en lenguaje natural, no en código. El código se genera en la fase de desarrollo para cumplir con esas necesidades. Pregunta 27: Diferencia entre requisitos funcionales y no funcionales. Tipos de requisitos más importantes. Respuesta (Desarrollo): Requisitos funcionales: Describen las funcionalidades que el sistema debe tener, como lo que debe hacer, cómo interactúa con el usuario o cómo responde a entradas y salidas. Ejemplos: inicio de sesión, gestión de usuarios, procesamiento de pagos. Requisitos no funcionales: Describen las características de calidad del sistema, como el rendimiento, la seguridad, la escalabilidad o la usabilidad. Ejemplos: tiempo de respuesta, accesibilidad, confiabilidad. Los requisitos más importantes incluyen tanto los funcionales como los no funcionales, ya que ambos aseguran que el sistema cumpla con los objetivos y con las expectativas de los usuarios. Pregunta 28: ¿Qué es el "SCRUM"? A. Metodología ágil B. Metodología educativa C. Metodología inductiva D. Método de trabajo explicativo ANSWER: A Justificación: Scrum es una metodología ágil usada para la gestión de proyectos, que se enfoca en la entrega incremental del producto mediante ciclos iterativos llamados sprints. Su objetivo es mejorar la productividad del equipo y la calidad del producto mediante la colaboración constante y la adaptación rápida a los cambios. Pregunta 29: ¿Para qué es la metodología XP (Extreme Programming)? A. Para potenciar las relaciones interpersonales en proyectos con requerimientos cambiantes. B. Para subir de nivel. C. Para guiar actividades de desarrollo insertas en los procesos de análisis que incorporan las actividades de requerimiento. D. Para definir las acciones que se realizarán en el software en construcción. ANSWER: A Justificación: La metodología XP (Extreme Programming) está orientada a mejorar las relaciones interpersonales dentro del equipo de desarrollo. Se centra en la comunicación constante y en la retroalimentación entre el equipo de desarrollo y el cliente. Su principal objetivo es adaptarse a los cambios en los requisitos a través de prácticas como la programación en pareja, pruebas automatizadas y integración continua. Pregunta 30: ¿Cuántas metodologías existen según Benjamin? A. Existen 9, 3 ágiles y 6 normales B. Existen 10, 5 ágiles y 5 normales C. Existen 12, 6 ágiles, 6 normales D. Existen 6, 3 ágiles y 3 normales ANSWER: A Justificación: Según Benjamin, existen 9 metodologías de desarrollo de software, 3 ágiles (como Scrum, XP, Lean, etc.) y 6 tradicionales (como Cascada, V-Model, Modelo en espiral, etc.). Estas metodologías se dividen entre enfoques ágiles y tradicionales según su flexibilidad, enfoque en el cliente y adaptación a cambios. Pregunta 33: Los diagramas de flujo de datos se utilizan exclusivamente en la programación de software. A. Verdadero B. Falso ANSWER: B Justificación: Falso, los diagramas de flujo de datos (DFD) no se limitan solo a la programación de software. Son una herramienta de modelado que se utiliza en varias disciplinas como gestión de procesos de negocio, análisis de sistemas, y gestión de datos. Se emplean para representar visualmente el flujo de información dentro de un sistema o proceso, no solo en el contexto del desarrollo de software. Pregunta 34: ¿Cuál de las siguientes afirmaciones describe de mejor manera el objetivo principal de la metodología XP? A. Maximizar la documentación del proyecto B. Minimizar la comunicación con el cliente para agilizar el desarrollo C. Maximizar la comunicación entre el equipo de desarrollo y el cliente D. Establecer un proceso de desarrollo rígido y poco flexible ANSWER: C Justificación: El objetivo principal de XP (Extreme Programming) es maximizar la comunicación entre el equipo de desarrollo y el cliente. Esto se logra a través de prácticas como la retroalimentación constante del cliente, programación en pareja, y desarrollo iterativo. XP pone un énfasis especial en la relación cercana con el cliente para asegurar que los requisitos se comprendan y se implementen correctamente. Pregunta 35: ¿Cuál de las siguientes afirmaciones es correcta respecto a los diagramas de secuencia? A. Representan las llamadas entre clases o módulos y las acciones realizadas en el software en construcción. B. Son útiles únicamente en las fases avanzadas de diseño del programa. C. Solo muestran las clases reales y su codificación, excluyendo las ficticias o preliminares. D. No dependen de la fase de desarrollo ni de lo que se desea mostrar en el proyecto. ANSWER: A Justificación: Los diagramas de secuencia son utilizados para mostrar las interacciones entre clases o módulos, así como las llamadas y acciones necesarias para ejecutar tareas específicas dentro del software. Son útiles tanto en fases tempranas como avanzadas del diseño, ya que se enfocan en cómo los objetos interactúan entre sí durante la ejecución del sistema. Pregunta 36 terminos pareados. Requisito Funcional No Funcional Lo que el sistema hace Cómo el sistema debe comportarse Funcionalidad específica Características de calidad del sistema Acciones que el sistema debe Restricciones sobre el rendimiento ejecutar Interacciones usuario-sistema Seguridad y protección Procesamiento de datos Tiempo de respuesta Gestión de información Escalabilidad y disponibilidad Generación de informes Usabilidad y experiencia de usuario Acceso a usuarios Confiabilidad y estabilidad Cálculos y operaciones específicas Mantenimiento y facilidad de actualización Integración con otros sistemas Cumplimiento de normativas o estándares