Ciclo de vida del software: fases y modelos — Cuerpo de Gestión de Sistemas e Informática de la Administración del Estado
Test de 30 preguntas con explicaciones justificadas.
Pregunta 1: ¿Qué modelo de ciclo de vida se caracteriza por tener fases secuenciales y rígidas, donde cada fase debe completarse antes de comenzar la siguiente?
- A) Modelo en espiral
- B) Modelo iterativo
- C) Modelo ágil
- D) Modelo en cascada
El modelo en cascada, propuesto por Winston Royce en 1970, establece fases secuenciales (requisitos, diseño, implementación, verificación, mantenimiento) donde cada fase debe completarse antes de pasar a la siguiente.
Pregunta 2: Según el estándar ISO/IEC 12207:2017, ¿cuál de los siguientes procesos pertenece al grupo de procesos de soporte del ciclo de vida del software?
- A) Proceso de adquisición
- B) Proceso de diseño
- C) Proceso de validación
- D) Proceso de garantía de calidad
La norma ISO/IEC 12207:2017 estructura los procesos en tres categorías: procesos de acuerdo, procesos organizacionales y procesos técnicos. Los procesos de soporte incluyen garantía de calidad, verificación, validación, revisión conjunta, auditoría, etc.
Pregunta 3: ¿En qué modelo de desarrollo el software se construye en iteraciones cortas llamadas sprints, con entregas frecuentes al cliente?
- A) Modelo en cascada
- B) Modelo en V
- C) Modelo Scrum
- D) Modelo de espiral
Scrum es un marco de trabajo ágil que divide el desarrollo en iteraciones cortas (sprints) de 2-4 semanas, al final de las cuales se entrega un incremento de software funcional.
Pregunta 4: La fase del ciclo de vida del software en la que se especifica cómo el sistema cumplirá con los requisitos se denomina:
- A) Análisis de requisitos
- B) Diseño del sistema
- C) Implementación
- D) Pruebas
Según el modelo clásico, la fase de diseño traduce los requisitos funcionales y no funcionales en una estructura de software, definiendo arquitectura, componentes e interfaces.
Pregunta 5: ¿Qué autor propuso el modelo en espiral, que integra el desarrollo iterativo con el análisis de riesgos?
- A) Barry Boehm
- B) Winston Royce
- C) Kent Beck
- D) Frederick Brooks
Barry Boehm propuso el modelo en espiral en 1986, caracterizado por ciclos iterativos que incluyen planificación, análisis de riesgos, desarrollo y evaluación.
Pregunta 6: Según la normativa española de contratación del sector público, ¿qué ley regula principalmente la contratación de servicios informáticos?
- A) Ley 39/2015
- B) Ley 40/2015
- C) Ley 9/2017
- D) Ley 20/2013
La Ley 40/2015, de 1 de octubre, del Régimen Jurídico del Sector Público, establece las bases de la contratación pública, incluyendo servicios informáticos, aunque la Ley 9/2017 de Contratos del Sector Público la desarrolla.
Pregunta 7: En el modelo de desarrollo iterativo e incremental, ¿qué se entiende por "incremento"?
- A) Una versión completa del software con todas las funcionalidades
- B) Una parte del software que añade funcionalidad a lo ya construido
- C) Un prototipo no funcional
- D) Un documento de diseño
En los modelos iterativos e incrementales, cada iteración produce un incremento, que es una porción del sistema que añade funcionalidad a los incrementos anteriores, resultando en una versión ejecutable.
Pregunta 8: ¿Cuál de las siguientes es una característica principal del modelo de desarrollo en V?
- A) Las fases de prueba se planifican en paralelo a las fases de desarrollo
- B) No incluye fase de mantenimiento
- C) Es exclusivamente ágil
- D) No requiere documentación
El modelo en V (o V-Model) establece una relación entre cada fase de desarrollo (análisis, diseño, codificación) y su correspondiente fase de prueba (pruebas de aceptación, sistema, integración, unidad).
Pregunta 9: La norma ISO/IEC 25000 se refiere a:
- A) Gestión de proyectos software
- B) Calidad del producto software
- C) Modelos de ciclo de vida
- D) Seguridad de la información
La serie ISO/IEC 25000, también conocida como SQuaRE (System and Software Quality Requirements and Evaluation), proporciona un modelo para la calidad del producto software.
Pregunta 10: En el contexto de los modelos ágiles, ¿qué significa el término "timeboxing"?
- A) Asignar un tiempo fijo a una actividad
- B) Extender el tiempo de desarrollo
- C) Reducir el alcance para cumplir plazos
- D) Planificar sin fechas límite
En metodologías ágiles como Scrum, el timeboxing es la práctica de asignar un tiempo fijo (timebox) a una actividad, como un sprint, tras el cual se revisa el trabajo realizado.
Pregunta 11: ¿Qué modelo de ciclo de vida es más adecuado cuando los requisitos del software están bien definidos y son estables?
- A) Modelo en espiral
- B) Modelo ágil
- C) Modelo en cascada
- D) Modelo de prototipos
El modelo en cascada es apropiado cuando los requisitos son claros y estables, ya que su enfoque secuencial asume que no habrá cambios significativos durante el desarrollo.
Pregunta 12: Según CMMI (Capability Maturity Model Integration), ¿qué nivel de madurez se caracteriza por procesos gestionados cuantitativamente?
- A) Nivel 2
- B) Nivel 3
- C) Nivel 4
- D) Nivel 5
En CMMI, el nivel 4 (Gestionado cuantitativamente) implica que los procesos son controlados usando técnicas estadísticas y cuantitativas.
Pregunta 13: La fase de "Verificación y Validación" en el ciclo de vida del software asegura, respectivamente:
- A) Que el software cumple con los requisitos y que está libre de errores
- B) Que el software se construye correctamente y que construye el software correcto
- C) Que el software es eficiente y que es usable
- D) Que el software es seguro y que es fiable
Según los estándares IEEE, la verificación asegura que el software se construye correctamente (cumple con las especificaciones), mientras que la validación asegura que se construye el software correcto (cumple con las necesidades del usuario).
Pregunta 14: ¿Qué modelo de ciclo de vida combina elementos del modelo en cascada y del modelo de prototipos?
- A) Modelo en V
- B) Modelo de espiral
- C) Modelo iterativo
- D) Modelo ágil
El modelo en espiral de Boehm combina la naturaleza sistemática del modelo en cascada con la iteración y el riesgo del prototipado.
Pregunta 15: En el marco de trabajo ágil Scrum, ¿quién es responsable de maximizar el valor del producto?
- A) Scrum Master
- B) Product Owner
- C) Development Team
- D) Stakeholders
Según la Guía de Scrum, el Product Owner es el responsable de maximizar el valor del producto resultante del trabajo del Development Team.
Pregunta 16: La norma ISO/IEC 12207:2017 define un conjunto de procesos para el ciclo de vida del software. ¿Cuál de los siguientes NO es un proceso técnico según esta norma?
- A) Proceso de implementación
- B) Proceso de mantenimiento
- C) Proceso de gestión de la configuración
- D) Proceso de validación
La ISO/IEC 12207:2017 clasifica los procesos de gestión de la configuración dentro de los procesos de soporte, no de los procesos técnicos (que incluyen análisis de requisitos, diseño, implementación, pruebas, etc.).
Pregunta 17: ¿Qué técnica de desarrollo ágil se centra en la programación en parejas y la integración continua?
- A) Scrum
- B) Kanban
- C) Extreme Programming (XP)
- D) Lean Software Development
Extreme Programming (XP) promueve prácticas como programación en parejas (pair programming), integración continua, desarrollo impulsado por pruebas (TDD) y entregas frecuentes.
Pregunta 18: En el modelo de ciclo de vida "Code and Fix", ¿cuál es el principal inconveniente?
- A) Alta planificación
- B) Falta de estructura y dificultad para mantener el software
- C) Excesiva documentación
- D) Lentitud en el desarrollo
El modelo "Code and Fix" (codificar y corregir) carece de fases estructuradas, lo que conduce a código difícil de mantener y a la acumulación de deuda técnica.
Pregunta 19: Según la Ley 39/2015, de 1 de octubre, del Procedimiento Administrativo Común de las Administraciones Públicas, ¿qué principio debe garantizarse en los procedimientos administrativos que involucren sistemas informáticos?
- A) Principio de celeridad
- B) Principio de seguridad
- C) Principio de interoperabilidad
- D) Principio de economía
La Ley 39/2015 establece en su artículo 4 los principios de la actuación administrativa, incluyendo la interoperabilidad como garantía para el uso de sistemas informáticos.
Pregunta 20: ¿Qué representa el acrónimo "SQA" en la ingeniería del software?
- A) Software Quality Assurance
- B) System Quality Assessment
- C) Software Quick Analysis
- D) Standard Quality Audit
SQA (Software Quality Assurance) es el conjunto de actividades sistemáticas para asegurar que el software cumple con los estándares de calidad establecidos.
Pregunta 21: En el contexto del ciclo de vida del software, ¿qué se entiende por "deuda técnica"?
- A) El coste futuro de corregir atajos tomados durante el desarrollo
- B) El coste de licencias de software
- C) La inversión en hardware
- D) El pago a los desarrolladores
La deuda técnica es un concepto en desarrollo de software que refleja el coste implícito de trabajo adicional causado por elegir una solución rápida en lugar de un enfoque óptimo pero más lento.
Pregunta 22: ¿Qué modelo de ciclo de vida se asocia comúnmente con la norma MIL-STD-498?
- A) Modelo en cascada
- B) Modelo iterativo
- C) Modelo en espiral
- D) Modelo de prototipos
El estándar militar MIL-STD-498, ahora reemplazado por IEEE/EIA 12207, se basaba en un enfoque de ciclo de vida en cascada para el desarrollo de software.
Pregunta 23: La fase de "Análisis de viabilidad" en el ciclo de vida del software tiene como objetivo principal:
- A) Determinar si el proyecto es técnicamente y económicamente viable
- B) Escribir el código fuente
- C) Diseñar la interfaz de usuario
- D) Realizar pruebas de estrés
El análisis de viabilidad se realiza en las fases iniciales para evaluar si el proyecto de software es viable en términos técnicos, económicos, operativos y legales.
Pregunta 24: ¿Cuál de los siguientes es un principio del Manifiesto Ágil?
- A) La documentación exhaustiva por encima del software funcionando
- B) La negociación contractual por encima de la colaboración con el cliente
- C) Los procesos y herramientas por encima de los individuos
- D) La respuesta al cambio por encima del seguimiento de un plan
El Manifiesto Ágil valora "la respuesta al cambio sobre el seguimiento de un plan", junto con otros tres valores fundamentales.
Pregunta 25: En el modelo de ciclo de vida RAD (Rapid Application Development), ¿cuál es una técnica clave?
- A) Desarrollo secuencial estricto
- B) Ausencia de participación del usuario
- C) Planificación detallada a largo plazo
- D) Uso de herramientas CASE y prototipado
RAD se caracteriza por el uso de herramientas CASE (Computer-Aided Software Engineering), prototipos y talleres de trabajo (workshops) con usuarios para acelerar el desarrollo.
Pregunta 26: Según el estándar ISO/IEC 12207, el proceso de "Acuerdo" incluye:
- A) Adquisición y suministro
- B) Diseño y codificación
- C) Pruebas y mantenimiento
- D) Gestión de riesgos
La norma ISO/IEC 12207:2017 define los procesos de acuerdo, que son los procesos de adquisición y suministro, estableciendo las bases para la relación entre cliente y proveedor.
Pregunta 27: ¿Qué modelo de ciclo de vida enfatiza la entrega de software funcional en intervalos regulares y cortos, típicamente de 1 a 4 semanas?
- A) Modelo en cascada
- B) Modelo de prototipos
- C) Modelo de desarrollo iterativo
- D) Modelo en V
Los modelos iterativos, como los ágiles, se basan en ciclos cortos (iteraciones) que producen incrementos de software funcional de manera regular.
Pregunta 28: La "Retrospectiva" es una reunión característica de:
- A) El modelo en cascada
- B) El modelo en V
- C) El modelo de espiral
- D) El marco de trabajo Scrum
En Scrum, la retrospectiva del sprint es una reunión al final de cada sprint donde el equipo inspecciona su funcionamiento y planifica mejoras para el siguiente sprint.
Pregunta 29: ¿Qué norma internacional proporciona directrices para la gestión de proyectos de software?
- A) ISO 9001
- B) ISO/IEC 12207
- C) ISO/IEC 27001
- D) ISO 21500
La ISO 21500:2021 ofrece orientación para la gestión de proyectos, aplicable también a proyectos de software, mientras que ISO/IEC 12207 se centra en procesos del ciclo de vida.
Pregunta 30: En el modelo de desarrollo basado en componentes, ¿cuál es una ventaja principal?
- A) Reduce la reutilización de código
- B) Aumenta el tiempo de desarrollo
- C) Requiere desarrollar todos los componentes desde cero
- D) Mejora la calidad y reduce costes mediante reutilización
El desarrollo basado en componentes (CBD) promueve la reutilización de componentes software probados, lo que puede mejorar la calidad y reducir costes y tiempos de desarrollo.