1.1. Etapas del ciclo de vida

Importante

El ciclo de vida de una aplicación o proyecto informático es el conjunto de etapas y estados por los que pasa desde que se plantea como necesidad o problema, por parte del cliente, hasta que se da por terminado y se considera como una solución completa, correcta y estable (que resuelve el citado problema inicial).

Fases de elaboración de un programa informático
Imagen en pixabay de geralt bajo licencia Creative Commons

Supongamos que una empresa de venta de ropa deportiva decide ampliar su campo de acción considerando la posibilidad de vender, además de la forma tradicional en tienda, de manera online. Contacta con una empresa de desarrollo de aplicaciones web con el objetivo de informarse sobre qué necesita para ello.

En una primera reunión, la empresa de informática, necesita conocer exactamente qué pretende la empresa de ropa deportiva (en adelante ERD). Como vemos ambas empresas necesitan conocer información de de la otra para ir "puliendo" la posible solución o programa final.

En este proceso la empresa de informática pregunta, para ir construyendo paso a paso de una forma acertada, y muestra a la ERD una primera aproximación de dicha solución final. En definitiva, se hace necesario el seguimiento de una serie de pasos ordenados que garanticen un éxito aceptable.

Una aplicación informática (o conjunto de programas) se desarrolla, como hemos comentado, con el objetivo de solucionar un determinado problema. Para ello se deberá tener en cuenta el llamado ciclo de vida, compuesto por las etapas que se deben seguir secuencial y ordenadamente.

Sin entrar en detalle, las principales etapas del ciclo de vida son las siguientes:

1. Análisis

Fase de especificación de cuáles son las necesidades que debe satisfacer nuestra aplicación y el planteamiento para cubrirlas.

2. Diseño

Una vez identificadas las necesidades, en la fase de diseño se deben detallar todos y cada uno de los elementos que usaremos: recursos físicos (característica del ordenador, periféricos, etc) y lógicos (sistema operativo, compilador, herramientas de utilidad, etc).

3. Codificación

Como se ha visto en una sección anterior, la tarea aquí es la de traducir a un lenguaje de programación la solución obtenida en la fase de diseño.

4. Explotación

Para explotar nuestra aplicación o programa se deberá implantar en el sistema informático que estemos usando, esto es, instalándola para posteriormente ejecutarla y comprobar los resultados que nos ofrece. A esta fase se le puede añadir otra fase de Pruebas para comprobar que el sistema implantado funciona según las especificaciones.

5. Mantenimiento

Esta última etapa está fundamentalmente relacionada con la idea de mejorar el programa desarrollado, corrigiendo errores y proporcionando ideas que lo hagan más eficiente. Así, en ocasiones puede dar lugar al reinicio del ciclo de vida.

En la práctica se hace necesaria cierta experiencia a la hora de completar el ciclo de vida de un proyecto software. Así, el trabajo puede realizarse en equipo y delegar las tareas correspondientes a cada etapa del ciclo de vida al equipo humano correspondiente.

De esta forma, se consigue una especialización del trabajo, asegurando o dando mayores garantías de que cada grupo de expertos se centrará únicamente en su parte o etapa, respetando lo obtenido en la etapa anterior y proporcionando lo necesario para la siguiente.

Demo - ¿Qué voy a conseguir?
Imagen en pixabay de DirtyOpi bajo licencia Creative Commons

Vamos a considerar el siguiente ejemplo: comparar dos números enteros y devolver el mayor.

Una aplicación informática (o conjunto de programas) se desarrolla, como hemos comentado, con el objetivo de solucionar un determinado problema.

Para ello se deberá tener en cuenta el llamado ciclo de vida, compuesto por las etapas que se deben seguir secuencial y ordenadamente.

A continuación, se detallan las etapas ordenadas que se deben seguir para realizar un programa que resuelva el problema planteado.

Ciclo de vida

TAREAS

ETAPAS

¿Qué necesidades debemos cubrir?

  • Comparar dos números enteros y devolver el mayor

[1]

Análisis

¿Qué recursos necesitaremos?

  • Hardware: CPU, monitor, ratón, teclado
  • Software: Editor de lenguaje de programación

¿Cómo resolvemos el problema analíticamente?

  1. Leemos los dos números entrados por teclado
  2. Comparamos los dos números
    1. Si el primer número es el mayor lo devuelvo
    2. Si el segundo número es el mayor lo devuelvo
    3. Si ambos números son iguales devuelvo el primero

[2]

Diseño

¿Qué lenguaje de programación elegimos?

  • ¿interpretado? por ejemplo PHP
  • ¿compilado? por ejemplo C

[3]

Codificación

¿Cómo lo usamos?

  • Obtener el programa ejecutable en el Sistema Operativo correspondiente
  • Instalarlo
  • Ejecutarlo y comprobar los resultados

[4]

Explotación

¿Podemos mejorarlo?

  • Corrigiendo errores
  • Aportando mejoras que lo hagan más eficiente

[5]

Mantenimiento