in

SDLC – Guía rápida

sdlc stages

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.

Etapas de SDLC

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 el dominio de la industria. Esta información se utiliza luego para planificar el enfoque básico del proyecto y para 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 diversos enfoques técnicos que se pueden seguir para implementar el proyecto con éxito y con el mínimo de riesgos.

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 a través de un SRS (Especificación de requisitos de software) 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 evaluación de riesgos, solidez del producto, modularidad del diseño, 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 se puede lograr sin muchos problemas.

Los desarrolladores deben seguir las pautas de codificación definidas por su organización y se utilizan herramientas de programación como compiladores, intérpretes, depuradores, etc. 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 única del producto en la que los defectos del producto se informan, rastrean, reparan 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 de UAT).

Luego, según los comentarios, el producto puede lanzarse tal cual o con mejoras sugeridas en el segmento de mercado de destino. 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 en espiral
  • Modelo V
  • Modelo Big Bang

Otras metodologías relacionadas son Agile Model, RAD Model, Rapid Application Development y Prototyping Models.

El modelo de cascada fue el primer modelo de proceso que se introdujo. También se conoce como modelo de ciclo de vida lineal-secuencial. Es muy sencillo de entender y utilizar. En un modelo de cascada, cada fase debe completarse antes de que pueda comenzar la siguiente y no hay superposición en las fases.

El modelo Waterfall es el primer enfoque SDLC que se utilizó para el desarrollo de software.

El modelo en cascada ilustra el proceso de desarrollo de software en un flujo secuencial lineal. Esto significa que cualquier fase del proceso de desarrollo comienza solo si se completa la fase anterior. En este modelo de cascada, las fases no se superponen.

Modelo de cascada – Diseño

El enfoque en cascada fue el primer modelo SDLC que se utilizó ampliamente en ingeniería de software para garantizar el éxito del proyecto. En el enfoque «The Waterfall», todo el proceso de desarrollo de software se divide en fases separadas. En este modelo de cascada, normalmente, el resultado de una fase actúa como entrada para la siguiente fase de forma secuencial.

La siguiente ilustración es una representación de las diferentes fases del modelo de cascada.

Modelo de cascada SDLC

Las fases secuenciales en el modelo Waterfall son:

  • Recopilación y análisis de requisitos – Todos los posibles requisitos del sistema a desarrollar se capturan en esta fase y se documentan en un documento de especificación de requisitos.

  • Diseño de sistemas – En esta fase se estudian las especificaciones de requisitos de la primera fase y se elabora el diseño del sistema. Este diseño del sistema ayuda a especificar los requisitos del sistema y del hardware y ayuda a definir la arquitectura general del sistema.

  • Implementación – Con insumos del diseño del sistema, el sistema se desarrolla primero en pequeños programas llamados unidades, que se integran en la siguiente fase. Cada unidad se desarrolla y prueba para determinar su funcionalidad, lo que se conoce como prueba unitaria.

  • Integración y prueba – Todas las unidades desarrolladas en la fase de implementación se integran en un sistema después de probar cada unidad. Después de la integración, todo el sistema se prueba para detectar fallas y fallas.

  • Despliegue del sistema – Una vez que se realizan las pruebas funcionales y no funcionales; el producto se implementa en el entorno del cliente o se lanza al mercado.

  • Mantenimiento – Hay algunos problemas que surgen en el entorno del cliente. Para solucionar esos problemas, se lanzan parches. También para mejorar el producto se lanzan algunas versiones mejores. El mantenimiento se realiza para ofrecer estos cambios en el entorno del cliente.

Todas estas fases están en cascada entre sí en las que se ve el progreso como fluyendo constantemente hacia abajo (como una cascada) a través de las fases. La siguiente fase se inicia sólo después de que se logra el conjunto de objetivos definidos para la fase anterior y se firma, por lo que el nombre «Modelo de cascada». En este modelo, las fases no se superponen.

Modelo de cascada – Aplicación

Cada software desarrollado es diferente y requiere que se siga un enfoque SDLC adecuado en función de los factores internos y externos. Algunas situaciones en las que el uso del modelo Waterfall es más apropiado son:

  • Los requisitos están muy bien documentados, son claros y fijos.

  • La definición del producto es estable.

  • La tecnología se entiende y no es dinámica.

  • No hay requisitos ambiguos.

  • Se encuentran disponibles amplios recursos con la experiencia necesaria para respaldar el producto.

  • El proyecto es corto.

Modelo de cascada – Ventajas

Las ventajas del desarrollo en cascada son que permite la departamentalización y el control. Se puede establecer un cronograma con fechas límite para cada etapa de desarrollo y un producto puede avanzar a través de las fases del modelo del proceso de desarrollo una por una.

El desarrollo pasa del concepto a través del diseño, la implementación, las pruebas, la instalación, la resolución de problemas y termina en la operación y el mantenimiento. Cada fase de desarrollo procede en estricto orden.

Algunas de las principales ventajas del modelo Waterfall son las siguientes:

  • Simple y fácil de entender y usar

  • Fácil de manejar debido a la rigidez del modelo. Cada fase tiene entregables específicos y un proceso de revisión.

  • Las fases se procesan y completan una a la vez.

  • Funciona bien para proyectos más pequeños donde los requisitos se entienden muy bien.

  • Etapas claramente definidas.

  • Hitos bien entendidos.

  • Fácil de organizar las tareas.

  • El proceso y los resultados están bien documentados.

Modelo de cascada – Desventajas

La desventaja del desarrollo en cascada es que no permite mucha reflexión o revisión. Una vez que una aplicación está en la etapa de prueba, es muy difícil volver atrás y cambiar algo que no estaba bien documentado o pensado en la etapa de concepto.

Las principales desventajas del modelo de cascada son las siguientes:

  • No se produce ningún software que funcione hasta tarde durante el ciclo de vida.

  • Grandes cantidades de riesgo e incertidumbre.

  • No es un buen modelo para proyectos complejos y orientados a objetos.

  • Modelo deficiente para proyectos largos y en curso.

  • No apto para proyectos en los que los requisitos tienen un riesgo de cambio de moderado a alto. Entonces, el riesgo y la incertidumbre son altos con este modelo de proceso.

  • Es difícil medir el progreso dentro de las etapas.

  • No puede adaptarse a los requisitos cambiantes.

  • Ajustar el alcance durante el ciclo de vida puede poner fin a un proyecto.

  • La integración se realiza como un «big-bang» al final, lo que no permite identificar temprano ningún cuello de botella o desafío tecnológico o empresarial.

En el modelo iterativo, el proceso iterativo comienza con una implementación simple de un pequeño conjunto de requisitos de software y mejora iterativamente las versiones en evolución hasta que el sistema completo está implementado y listo para ser implementado.

Un modelo de ciclo de vida iterativo no intenta comenzar con una especificación completa de requisitos. En cambio, el desarrollo comienza especificando e implementando solo una parte del software, que luego se revisa para identificar requisitos adicionales. Luego, este proceso se repite, produciendo una nueva versión del software al final de cada iteración del modelo.

Modelo iterativo – Diseño

El proceso iterativo comienza con una implementación simple de un subconjunto de los requisitos de software y mejora iterativamente las versiones en evolución hasta que el sistema completo está …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

RAM image

Cómo overclockear la RAM y hacer que su computadora funcione más rápido

apple touch icon@2

sql – ¿consultar la condición DONDE a la longitud del carácter?