Ciclo de Vida del Desarrollo de Software
El ciclo de vida del desarrollo de software (SDLC) es la secuencia de fases de principio a fin por las que progresa un sistema de software, desde la concepción inicial y los requisitos hasta el diseño, la construcción, las pruebas, la implementación y el eventual retiro.
Definition
El ciclo de vida del desarrollo de software es un marco estructurado que divide el desarrollo de software en fases definidas, cada una con criterios de entrada y salida, entregables y actividades, utilizado para planificar, controlar y razonar sobre la producción y evolución del software.
Scope
Este tema cubre las fases canónicas del SDLC de planificación, análisis de requisitos, diseño, implementación, pruebas, despliegue y mantenimiento; los modelos estándar que organizan estas fases (cascada, modelo en V, incremental, iterativo, espiral); los artefactos producidos en cada fase; y los estándares de procesos del ciclo de vida como ISO/IEC/IEEE 12207.
Core questions
- ¿Qué fases componen el ciclo de vida y qué artefactos produce cada una?
- ¿Cómo organizan e iteran estas fases los diferentes modelos de ciclo de vida?
- ¿Qué criterios de entrada y salida rigen la transición entre fases?
- ¿Cómo se extiende el ciclo de vida más allá de la entrega, hacia la operación, el mantenimiento y el retiro?
Key theories
- Estructura del ciclo de vida por fases
- El desarrollo se descompone en fases discretas (requisitos, diseño, implementación, pruebas, despliegue, mantenimiento), cada una con entregables definidos y puntos de revisión, lo que proporciona una base para la planificación, estimación y control.
- Mapeo de verificación del modelo en V
- El modelo en V empareja cada fase constructiva con una fase de prueba correspondiente (unitaria, de integración, de sistema, de aceptación), haciendo que la verificación y validación sean contrapartes explícitas de la especificación y el diseño.
Clinical relevance
Un ciclo de vida bien definido mejora la previsibilidad, la trazabilidad y el control de calidad, apoya la estimación de costos y plazos, y a menudo es exigido por regímenes de adquisición y regulatorios que requieren procesos de desarrollo auditables.
Evidence & guidelines
ISO/IEC/IEEE 12207:2017 es el principal estándar internacional que define los procesos del ciclo de vida del software y es ampliamente referenciado en contratos y sistemas de calidad.
History
La noción de un conjunto ordenado de fases de desarrollo se formalizó a finales de los años 60 y 70, a medida que los proyectos se volvieron demasiado grandes para una construcción ad hoc; los modelos subsiguientes añadieron iteración y gestión de riesgos, mientras que los esfuerzos de estandarización produjeron ISO/IEC 12207 en los años 90 y sus revisiones posteriores.
Key figures
- Winston W. Royce
- Barry Boehm
Related topics
Seminal works
- royce1970
- iso12207
- sommerville2015
Frequently asked questions
- ¿Es el SDLC lo mismo que el modelo en cascada?
- No. El SDLC es el conjunto general de fases por las que pasa el software; el modelo en cascada es una forma particular de ordenar esas fases secuencialmente. Los modelos ágiles, iterativos y en espiral atraviesan las mismas fases fundamentales en diferentes órdenes y cadencias.
- ¿Termina el ciclo de vida con el despliegue?
- No. La operación, el mantenimiento y el eventual retiro son fases integrales del ciclo de vida; en la mayoría de los sistemas, el mantenimiento y la evolución dominan el costo total y abarcan el período más largo del ciclo de vida.