El ciclo de vida del software

Por Felipe

Publicado en:

El software tiene una gran importancia en nuestra vida actual pues está presente en muchas de las acciones que hacemos de forma cotidiana, como cuando utilizamos un smartphone, accedemos a un portal de streaming en el televisor, navegamos por internet en una tablet, o utilizamos un ordenador para trabajar.

En la era digital donde vivimos el desarrollo de software es una de las áreas más importantes de la informática para poder ofrecer productos de calidad que nos permitan sacar el máximo partido de la nueva tecnología.

En el proceso de creación de un programa informático se pasa por diferentes etapas, desde que se presenta una idea y se planifica, hasta que llega al usuario final que utiliza el software para solucionar un problema o realizar una tarea. Optimizar el ciclo de vida del software es un aspecto clave para conseguir programas más seguros y de mayor calidad, que puedan ser entregados a los clientes en un menor tiempo.

 

Qué es el ciclo de vida del software

El ciclo de vida del software o SDLC (Systems Development Life Cycle) es el proceso que engloba todo el diseño y desarrollo de un programa informático, desde su planificación inicial hasta su despliegue y validación final. 

Los modelos de ciclo de vida del software establecen cómo se deben afrontar sus fases para optimizarlas y sacar el máximo partido. La normativa internacional ISO/IEC/IEEE 12207:2017 establece un marco común a seguir a la hora de afrontar el desarrollo de programas, aplicaciones y servicios informáticos.

Existen diferentes modelos de software, siendo los más populares:

  • Modelo en cascada.
  • Modelo en espiral.
  • Modelo en V.
  • Modelo de repetición.

 

Etapas del ciclo de vida del software

Las etapas del ciclo de vida del software definen cada uno de los pasos que se deben seguir para conseguir un producto informático seguro y con un alto nivel de calidad, que pueda entregarse en el menor tiempo posible al usuario y que esté libre de errores. Estas etapas se van sucediendo de forma secuencial hasta llegar a la fase de pruebas, donde se detectan errores y se vuelve a fases anteriores para poder implementar cambios y mejoras.

Veamos cuáles son las fases del ciclo de vida del software:

 

1. Planificación

En la etapa de planificación en el desarrollo de software se definen los objetivos que se persiguen así como los problemas que se quieren solucionar con el programa.

En esta fase que no tiene aparejado un tiempo o periodo definido se realizan tareas como:

  • Estudio de viabilidad del proyecto, tanto a nivel técnico como económico.
  • Análisis de los riesgos asociados al proyecto.
  • Estimación del coste del proyecto, desarrollando un presupuesto que contengan las diferentes partidas de gastos e inversión necesarios.
  • Asignación de los recursos necesarios para cada etapa del desarrollo.

 

2. Análisis

El análisis consiste en definir exactamente los problemas que han de resolverse y las funciones que tiene que realizar el software, es decir, fijar las características y requerimientos que tendrá la aplicación.

 

3. Diseño

Donde se elige el camino a seguir para el desarrollo de software. Se trata de una de las fases más complejas, pues un mal diseño puede tener consecuencias realmente negativas en etapas sucesivas, llegando incluso a la necesidad de abandonar la línea seguida y comenzar de cero con un nuevo diseño.

 

4. Implementación

Es la etapa donde se codifica, seleccionan los algoritmos a utilizar y se hace uso herramientas específicas

Es la etapa más ligada a la programación, donde se utilizan los distintos lenguajes de programación seleccionados y se definen las normas de codificación y desarrollo a seguir.

Al final de esta etapa se obtiene una versión del producto ya cercana a lo que se busca, y que está lista para ser puesta a prueba en entornos específicos y entornos reales.

 

5. Test

Una de las fases más importantes en el ciclo de vida del software moderno son las pruebas o test. Se somete al software a diferentes test para comprobar que realmente puede realizar las tareas para las que fue diseñado.

Otro de los objetivos de este tipo de pruebas a las que se somete al software en esta etapa, es la de detectar posibles errores para poder implementar los cambios necesarios para solucionarlos.

 

6. Despliegue

En esta fase es cuando el software se pone en funcionamiento en un entorno real en el cliente. Dependiendo del tipo de programa esta fase puede ser más compleja, o apenas requerir de unos pocos minutos y solo la intervención del usuario.

 

7. Monitorización y mantenimiento

Finalmente, es necesario realizar un seguimiento del software para poder detectar posibles errores, problemas de rendimiento o vulnerabilidades que pongan en riesgo la seguridad. Además, un buen mantenimiento permitirá disponer del programa siempre en las mejores condiciones para el uso eficiente por parte del usuario o cliente.

 

Hemos visto cuál es el ciclo de vida del software y todas las etapas por las que pasa un programa informático hasta que llega al usuario final que lo utiliza. Optimizar el ciclo de vida del software es lo que lleva a las empresas de desarrollo actuales a ofrecer productos de alta calidad con un gran nivel de seguridad.