Saltar al contenido

Ciclo de vida del software

ciclo de vida del software

El ciclo de vida del software o ciclo de vida del desarrollo del software es un proceso sistemático utilizado por los equipos de desarrollo para elaborar software a través de etapas controladas. Gracias a estos métodos, es posible verificar la funcionalidad del producto y corregir los posibles errores que existan dentro de su código antes de que éste sea distribuido, vendido o entregado.

Esta metodología también comprende el estudio preliminar que da pie a la creación de un software, ya que a través de esto, es posible establecer el método más apropiado para desarrollar el producto y con ello, minimizar los gastos relacionados con la rectificación de errores en el software durante etapas avanzadas del desarrollo. En este sentido, gracias a las fases que establecen el ciclo de vida de un software, es posible lograr de manera efectiva el objetivo de creación de un programa informático a cualquier escala.

Internacionalmente, las etapas de selección, monitoreo e implementación del ciclo de vida de un software se basa en la norma ISO 12207-1, la cual señala los factores a tener en cuenta durante el proceso de desarrollo, recomendaciones y metodología adecuada para implementar la norma. Cabe destacar que estos métodos son empleados dentro de industrias de importancia mayúscula como los campos de la ingeniería, alimentación, salud y defensa militar.

Fases

El ciclo de vida del software se basa esencialmente en tres fases o actividades de desarrollo. A continuación se detalla cuáles son.

Fase de planificación y análisis

La fase inicial del ciclo de vida de un software se basa en la planificación, un proceso que considera el análisis de los requisitos exigidos por el cliente del producto. Además, durante esta etapa también se determinan los parámetros relacionados con las funciones que deberá cumplir el software que está por ser desarrollado.

A partir de esta información, el equipo de desarrollo puede tener una visión clara de qué es lo que se desea lograr por medio del uso del software solicitado y cuál debe ser su funcionalidad bajo todas las condiciones establecidas por el cliente. Debido a la importancia del análisis preliminar que se lleva a cabo en esta primera fase, se considera que la etapa de planificación y análisis es la más importante de todas.

Fase de implementación, pruebas y documentación

La segunda fase se basa en tres etapas que buscan un solo fin; desarrollar el software. En este sentido, las etapas de implementación, pruebas y documentación se basan en lo siguiente:

  • Implementación: Se trata del proceso de programación del código del software por parte de los desarrolladores e ingenieros de software a partir de la información obtenida en base a la fase de planificación y análisis.
  • Pruebas: No es más que el testeo de todos los elementos del software programado con el fin de detectar errores y corregirlos de forma oportuna antes de avanzar a las siguientes etapas de desarrollo.
  • Documentación: Consiste en registrar y documentar el diseño del software con el fin de generar un material bibliográfico que sirva para realizar mantenimiento o futuras mejoras al proyecto durante etapas posteriores del desarrollo.

Fase de despliegue y mantenimiento

Corresponde a las etapas de control que se llevan a cabo sobre el producto una vez que éste se encuentra en distribución. Durante esta fase se realiza la instalación del software, así como la personalización y diferentes pruebas que pueden ser monitoreadas por el personal técnico responsable del software. En este sentido, el despliegue hace referencia a la distribución del producto y la capacitación de los usuarios para hacer uso del mismo. En cuanto al mantenimiento,  se refiere al mejoramiento o modificación del código del programa con el fin de eliminar posibles problemas que no hayan sido detectados durante la fase de pruebas.

Modelos

Existen diferentes modelos empleados para desarrollar el ciclo de vida de un software, estos permiten que las compañías desarrolladora sigan un protocolo aprobado y lógico para de creación de un programa.

Modelo en cascada

Se trata de un modelo tradicional que empezó a utilizarse durante el año 1966. El modelo en cascada se basa en una serie de etapas secuenciales que establecen un orden lógico para llevar a cabo las etapas de desarrollo de un software. Así, según el modelo en Cascada, se sigue el siguiente orden:

  1. Recolección de requisitos.
  2. Diseño del software.
  3. Construcción o Implementación del software.
  4. Integración.
  5. Pruebas (o validación).
  6. Despliegue (o instalación).
  7. Mantenimiento.

Modelo de espiral

Creado en 1988, es un modelo que implementa el análisis de riesgo durante ciertas etapas de desarrollo para determinar el curso de desarrollo que se debe tomar. A pesar de seguir el mismo orden que el modelo cascada, sigue un proceso iterativo (de repeticiones) que lleva al análisis de riesgos para detectar potenciales fallos y eliminarlos antes de terminar el desarrollo.

Modelo V

El modelo V lleva ese nombre por la forma en la que se esquematizan las etapas del ciclo de vida del software. Sigue las mismas etapas del modelo cascada, no obstante, añade dos etapas que conllevan al feedback entre etapas con el fin de detectar errores y establecer planes de mantenimiento.

Roles en un equipo de desarrollo de software

Debido a las numerosas etapas y metodologías aplicadas durante el ciclo de vida de un software, es necesario contar con personal capacitado para desenvolver diferentes roles dentro del equipo de desarrollo o empresa de software. A continuación se señalan cuáles son los roles en un equipo de desarrollo:

Gerente de proyecto

Se trata de la persona responsable de gerenciar el proyecto de desarrollo, siendo el principal responsable de negociar con el cliente antes, durante y después de ser contratados para desarrollar un programa. El gerente de proyecto también es responsable de establecer y hacer cumplir los plazos de tiempo, así como también debe regular el presupuesto y tomar a cabo las decisiones necesarias para solventar problemas que surjan en el proceso.

Analista de requerimientos

Es una de las personas más importantes durante la fase de planificación y análisis de un nuevo software, ya que se encarga de documentar, precisar establecer todas las funcionalidades que debe tener el software a desarrollar según las necesidades y consentimiento del cliente. El analista debe presentar toda esta información de forma lógica, minuciosa y entendible para el resto del equipo de desarrollo.

Desarrollador

El desarrollador (aunque pueden ser muchos) es el responsable de escribir y confeccionar el código del software, así como es la persona encargada de llevar a cabo el mantenimiento y depuración del mismo.

Testeador

Establece y lleva a cabo las pruebas de control de calidad y detección de errores dentro del software. El testeador es responsable de probar el producto según el uso que le darán los usuarios al software y además, es quien realiza un informe con los errores que deben ser depurados antes de que el producto pase a la fase de despliegue y mantenimiento.

Arquitecto

El arquitecto es responsable de establecer la estructura del código, el lenguaje de programación a utilizar y además es quien gestiona los diferentes aspectos relacionados al desarrollo del software que no tienen relación directa con la funcionalidad del mismo.