¿Qué es el SDLC?

Hay una cena planificada en tu granja. ¿Cuándo comenzarás a planear esto? ¿Cuál es el enfoque que seguirás? ¿Va a preguntar sobre la cantidad de invitados que asistirán a la gran fiesta? ¿Y prepararás un delicioso menú (Digamos Arquitectura)? Comenzará a preparar la comida y una vez que esté cocida, la probará, ¿no? (Simplemente para comprobar si hay un sabor en su comida). Espero que le hayamos dado una idea básica de lo que estamos tratando de explicar aquí, pasemos a nuestro tema. Un ciclo de vida de desarrollo de software (SDLC) es un enfoque definido y una serie de pasos que se siguen para desarrollar cualquier software con el fin de cumplir o exceder las expectativas establecidas o los requisitos del cliente.

Tipos de fases en SDLC

Hay varias fases en un ciclo de vida del software que se detalla a continuación:

  • Fase de requerimiento
  • Fase de análisis
  • Fase de diseño
  • Fase de desarrollo
  • Fase de prueba
  • Fase de implementación y mantenimiento

Fase de requerimiento:

Este es el primer paso fundamental en el ciclo de vida del desarrollo de software. Comienza con la recopilación de los requisitos de los clientes o clientes. En la mayoría de las organizaciones, Business Analysts se ocupa de esta función. A Business Analysts interactúa con el cliente / clientes, establece reuniones diarias, documenta los requisitos en las Especificaciones de requisitos comerciales (o Especificación comercial simple) y entrega el requisito documentado final al equipo de desarrollo. Es responsabilidad de los analistas de negocios que cada detalle sea capturado y documentado y también asegurarse de que todos entiendan claramente los requisitos del cliente.

Fase de análisis:

Una vez que se completa la fase de recopilación de requisitos, la siguiente tarea es analizar los requisitos y obtener la aprobación del cliente / clientes. Esto se logra a través de la Especificación de requisitos de software (SRS) que consta de todos los requisitos recopilados y desarrollados durante la fase de recopilación de requisitos. Esta fase es realizada principalmente por gerentes de proyecto, analistas de negocios y consultores.

Fase de diseño:

Una vez que finaliza la fase de análisis, viene la necesidad de encontrar la arquitectura más precisa, robusta, eficiente y rentable del producto que necesita ser desarrollado. Por lo general, se propone más de un diseño en esta fase y el mejor se selecciona en función de diferentes parámetros, como robustez, durabilidad, cronograma, rentabilidad y ¡muchos más! La arquitectura de diseño diferente generalmente se documenta en la Especificación de documento de diseño o DDS. Esta fase consta de 2 enfoques de diseño:

  • Diseño de bajo nivel : los desarrolladores principales realizan esta tarea donde especifican la función de cada módulo de la arquitectura del producto que se debe desarrollar.
  • Diseño de alto nivel : esta tarea es realizada por arquitectos / arquitectos senior donde diseñan diferentes arquitecturas posibles del producto que debe desarrollarse.

Fase de desarrollo:

Esta fase es donde se está utilizando la implementación real de lenguajes de programación y diferentes marcos para el desarrollo del producto. En esta fase, todos los desarrolladores están involucrados. Se espera que los desarrolladores sigan ciertas pautas y estándares de codificación predefinidos; se espera que completen los módulos del proyecto dentro del plazo definido para el proyecto. Esta fase también es la más larga y una de las más críticas en el Ciclo de vida del desarrollo de software. Esta fase está documentada como un documento de código fuente (SCD).

Fase de prueba:

Una vez que se completa la fase de Desarrollo, el siguiente paso es probar el software desarrollado. El software desarrollado se envía al equipo de prueba, donde realizan diferentes tipos de pruebas exhaustivamente en el software y buscan defectos. Si se encuentra algún defecto, el equipo de prueba registra y documenta el documento que nuevamente se envía al equipo de desarrollo para la eliminación de errores. Este rol es asumido por los probadores de software y analistas de calidad de la empresa. El equipo de prueba debe asegurarse de que cada componente del software esté libre de errores y funcione como se espera.

Fase de implementación y mantenimiento:

Una vez finalizada la fase de prueba, la primera versión del software se implementa y se entrega al cliente para su uso. Una vez que el cliente comienza a usar el software desarrollado, existe el alcance de la corrección de errores que no se detectó durante la fase de prueba, ya que cuando un gran grupo de usuarios finales comienza a usar el software, puede haber alguna probabilidad de que se hayan perdido algunos casos límite. También hay margen para actualizar el software con versiones más recientes y los últimos parches y tecnologías de seguridad. Y, por último, también hay margen para mejorar el software al agregar más funciones al software existente.

Modelos SDLC populares:

Hay muchos modelos SDLC diferentes que están diseñados para implementarse en el proceso de desarrollo de software. Los más importantes y populares son:

  • Modelo de cascada
  • Modelo iterativo
  • Modelo espiral
  • Modelo V

Modelo de cascada:

En el modelo en cascada, todo el proceso del desarrollo de software se divide en fases donde la salida de una fase actúa como entrada a la siguiente. La siguiente fase comienza solo cuando se completa la fase anterior.

Modelo iterativo:

Este modelo comienza con un conjunto de requisitos más pequeño y no necesita el contexto completo de la especificación del producto para comenzar el proceso SDLC. Este proceso es repetitivo y en cada iteración del proceso SDLC, se crea una versión más nueva del software. Cada iteración puede durar entre 2 y 6 semanas. Cada iteración desarrolla un componente separado en este enfoque. Este modelo también requiere un recurso de modo que el modelo en cascada.

Modelo espiral:

Este modelo es una combinación de un modelo de cascada y espiral y funciona de forma iterativa. Basado en el riesgo involucrado en el proyecto, este modelo guía al equipo a adoptar elementos de uno o más modelos SDLC, como una cascada o un modelo iterativo. Aquí, el ciclo de vida del software se divide en partes más pequeñas y se puede agregar una nueva funcionalidad al software incluso en las últimas etapas de SDLC.

Modelo V:

El modelo V es básicamente una expansión del modelo en cascada donde las fases de prueba y desarrollo se planifican en paralelo. Un lado consiste en la fase de verificación, mientras que el otro consiste en la fase de validación que finalmente se une mediante codificación. El siguiente estado comienza solo cuando se completa el estado anterior.

Artículos recomendados

Esta ha sido una guía de What Is SDLC. Aquí hemos discutido los diversos tipos de SDLC con los modelos populares de SDLC. También puede consultar los siguientes artículos para obtener más información:

  1. Desarrollo de Software vs Desarrollo Web
  2. Ciclo de vida de defectos en pruebas de software
  3. Pasos únicos para construir modelos financieros (software, tipos)
  4. Introducción de desarrollo de software