El proceso de desarrollo de software involucra varias etapas críticas, comenzando con la definición del problema, que establece el enunciado y las necesidades que debe satisfacer la aplicación.
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.
7.- Documentacion
Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas.
A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
6.- Prueba y depuración
Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.
La prueba consiste en la captura de datos hasta que el programa no presente errores (los más comunes son los sintácticos y lógicos).
5.- 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.
4.-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.
3.- 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).
2.- Analisis
Fase de especificación de cuáles son las necesidades que debe satisfacer nuestra aplicación y el planteamiento para cubrirlas.
1.- Definicion del problema
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.