Fases del proceso de programación

1. Análisis del problema
2. Desarrollo de la solución
3. Construcción de la solución en forma de programa
4. Prueba
5. Mantenimiento

El análisis del problema: se refiere a la etapa del proceso en la que el programador toma conocimiento del problema antes de proceder a desarrollar una solución. Es un proceso de “introducción”, de naturaleza cognoscitiva y muy difícil de describir.
Son demasiados los programadores que recorren esta etapa muy rápidamente, lo que hace que entiendan mal o malinterpreten las especificaciones.

 Desarrollo de la solución: Aquí se debe hacer hincapié en la formulación del algoritmo antes que en su codificación en un lenguaje de programación en particular. Aunque algunos podrían argumentar que la habilidad para resolver problemas es algo innato y que es difícil educar o mejorar la creatividad, existe suficiente evidencia en el sentido de que algunos enfoques sistemáticos tienen mucho valor.
También es una alternativa recurrir a desarrollos anteriores hechos para otras soluciones (la librería propia) y desde allí comenzar el proceso de creación.
Siempre y cuando el problema central haya sido resuelto realmente, puesto que si no es así esta situación acarreará problemas en las fases posteriores.
Otro punto de suma importancia en esta etapa, es el definir la arquitectura del modelo de datos, las relaciones lógicas básicas y las pautas a seguir en las transacciones con la base(s) de datos que tendrá la aplicación.

la construcción de la solución: desarrollada en forma de un programa real (o código). Considerando que la solución ha sido bien definida, este proceso es casi directo, pues es un proceso mental inmediato de las fases anteriores. Mediante rutinas, funciones, scripts, procedimientos y reglas del lenguaje de programación, se va ensamblando la aplicación de acuerdo con los estándares de estilo y de estructura.

La cuarta fase se refiere a la revisión y corrección del programa sea en de Ambiente de Desarrollo o Prueba. Es inevitable realizar pruebas mientras va construyendo las componentes de la aplicación.
Todo programador experto prueba no sólo mentalmente cada instrucción cuando la está escribiendo, sino que va ejecutando las rutinas de cualquier módulo o sección de su programa antes de proceder a pasar a Ambiente de Prueba, donde probarán los que establecieron el diseño funcional del sistema.
La prueba de las aplicaciones nunca es sencilla; Es natural que las pruebas muestran la presencia de errores y nunca se puede demostrar la ausencia de ellos. Una prueba con éxito sólo significa que no se detectaron errores bajo las circunstancias especiales de dicha prueba; esto no significa nada frente a otras circunstancias. Aunque se sabe, que el programador repite múltiples veces sus formas de prueba de lo que construye y siempre dejará espacios que encontrará un tercero.

Mantenimiento del programa: Al contrario de lo que sucede con el mantenimiento de hardware, el mantenimiento de los programas no se refiere a la reparación o cambio de partes deterioradas, sino a las modificaciones y  que deben hacerse a los defectos del diseño y evolución del mismo, lo cual puede incluir el desarrollo de funciones adicionales para reunir nuevas necesidades del negocio.
El tiempo de los desarrolladores para producir nuevos programas se ve siempre afectado por el tiempo que deben dedicar al mantenimiento de los programas en producción.
El mantenimiento debe reconocerse como no evitable y en consecuencia, deben realizarse las acciones que sean necesarias para reducir el tiempo que ello implica.
Existe un tipo de problemas, - donde el programador está involucrado indirectamente-, y que es necesario tener ciertas precauciones en la evolución y manutención de programas. Especialmente en lo referente a los requerimientos asociados al levantamiento y diseño funcional durante los mejoramientos de un sistema. En efecto, con los Clientes Dilema, quienes hacen pensar que es un pequeño cambio el que están solicitando, pero que detrás de la petición existe una enorme cantidad de tareas relacionadas al requerimiento.

referencia

Comentarios

Entradas más populares de este blog

Diagramas de flujo

Algoritmo vida cotidiana

Algoritmo vida cotidiana 2