SDLC: descripción general
El ciclo de vida del desarrollo de software (SDLC) es un proceso utilizado por la industria del software para diseñar, desarrollar y probar software de alta calidad. El SDLC tiene como objetivo producir un software de alta calidad que cumpla o supere las expectativas del cliente, se complete en tiempos y estimaciones de costos.
SDLC es el acrónimo de Software Development Life Cycle.
También se denomina Proceso de desarrollo de software.
SDLC es un marco que define las tareas realizadas en cada paso del proceso de desarrollo de software.
ISO / IEC 12207 es un estándar internacional para los procesos del ciclo de vida del software. Pretende ser el estándar que define todas las tareas necesarias para desarrollar y mantener software.
¿Qué es SDLC?
SDLC es un proceso que se sigue para un proyecto de software, dentro de una organización de software. Consiste en un plan detallado que describe cómo desarrollar, mantener, reemplazar y modificar o mejorar un software específico. El ciclo de vida define una metodología para mejorar la calidad del software y el proceso de desarrollo en general.
La siguiente figura es una representación gráfica de las distintas etapas de un SDLC típico.
Un ciclo de vida de desarrollo de software típico consta de las siguientes etapas:
Etapa 1: planificación y análisis de requisitos
El análisis de requisitos es la etapa más importante y fundamental en SDLC. Es realizado por los miembros senior del equipo con aportes del cliente, el departamento de ventas, estudios de mercado y expertos en dominios de la industria. Luego, esta información se utiliza para planificar el enfoque básico del proyecto y realizar un estudio de viabilidad del producto en las áreas económica, operativa y técnica.
La planificación de los requisitos de garantía de calidad y la identificación de los riesgos asociados con el proyecto también se realiza en la etapa de planificación. El resultado del estudio de viabilidad técnica es definir los distintos enfoques técnicos que se pueden seguir para implementar el proyecto con éxito con riesgos mínimos.
Etapa 2: Definición de requisitos
Una vez que se realiza el análisis de requisitos, el siguiente paso es definir y documentar claramente los requisitos del producto y obtener la aprobación del cliente o de los analistas de mercado. Esto se hace mediante unSRS (Software Requirement Specification) documento que consta de todos los requisitos del producto a diseñar y desarrollar durante el ciclo de vida del proyecto.
Etapa 3: Diseño de la arquitectura del producto
SRS es la referencia para que los arquitectos de productos presenten la mejor arquitectura para el producto a desarrollar. Con base en los requisitos especificados en SRS, generalmente se propone y documenta más de un enfoque de diseño para la arquitectura del producto en una DDS - Especificación de documento de diseño.
Esta DDS es revisada por todas las partes interesadas importantes y, en función de varios parámetros como la evaluación de riesgos, la solidez del producto, la modularidad del diseño, las limitaciones de tiempo y presupuesto, se selecciona el mejor enfoque de diseño para el producto.
Un enfoque de diseño define claramente todos los módulos arquitectónicos del producto junto con su comunicación y representación del flujo de datos con los módulos externos y de terceros (si los hubiera). El diseño interno de todos los módulos de la arquitectura propuesta debe estar claramente definido con el más mínimo de los detalles en DDS.
Etapa 4: Creación o desarrollo del producto
En esta etapa de SDLC comienza el desarrollo real y se construye el producto. El código de programación se genera según DDS durante esta etapa. Si el diseño se realiza de manera detallada y organizada, la generación de código puede lograrse sin muchos problemas.
Los desarrolladores deben seguir las pautas de codificación definidas por su organización y las herramientas de programación como compiladores, intérpretes, depuradores, etc. se utilizan para generar el código. Para la codificación se utilizan diferentes lenguajes de programación de alto nivel como C, C ++, Pascal, Java y PHP. El lenguaje de programación se elige con respecto al tipo de software que se está desarrollando.
Etapa 5: Prueba del producto
Esta etapa suele ser un subconjunto de todas las etapas, ya que en los modelos SDLC modernos, las actividades de prueba están involucradas principalmente en todas las etapas de SDLC. Sin embargo, esta etapa se refiere a la etapa de prueba del producto en la que los defectos del producto se informan, rastrean, arreglan y vuelven a probar, hasta que el producto alcanza los estándares de calidad definidos en el SRS.
Etapa 6: Despliegue en el mercado y mantenimiento
Una vez que el producto se prueba y está listo para implementarse, se lanza formalmente en el mercado correspondiente. A veces, la implementación del producto ocurre en etapas según la estrategia comercial de esa organización. El producto puede lanzarse primero en un segmento limitado y probarse en el entorno empresarial real (prueba de aceptación del usuario UAT).
Luego, según los comentarios, el producto puede lanzarse tal cual o con mejoras sugeridas en el segmento de mercado objetivo. Una vez que el producto se lanza al mercado, se realiza su mantenimiento para la base de clientes existente.
Modelos SDLC
Hay varios modelos de ciclo de vida de desarrollo de software definidos y diseñados que se siguen durante el proceso de desarrollo de software. Estos modelos también se denominan "Modelos de proceso de desarrollo de software". Cada modelo de proceso sigue una serie de pasos únicos para su tipo para garantizar el éxito en el proceso de desarrollo de software.
A continuación se muestran los modelos SDLC más importantes y populares que se siguen en la industria:
- Modelo de cascada
- Modelo iterativo
- Modelo espiral
- V-Model
- Modelo Big Bang
Otras metodologías relacionadas son Agile Model, RAD Model, Rapid Application Development y Prototyping Models.