Fases en la resolución de problemas.

Según Luis Joyanes Aguilar (Fundamentos de Programación, pág. 40) existen ocho (8) fases para la resolución de un problema, citados a continuación:
  • Análisis del problema.
  • Diseño del algoritmo.
  • Codificación.
  • Compilación y Ejecución.
  • Verificación.
  • Depuración.
  • Mantenimiento.
  • Documentación.

Análisis del problema: Se define el problema como tal, ello implica obtener la información, los detalles del problema a resolver, los recursos de los que disponemos. Al definir el problema debemos detallar que tenemos como datos de entrada y que esperamos (más bien que debemos obtener) como datos de salida.

Diseño del algoritmo: Significa la etapa creativa del programador, donde en lenguaje natural y mediante cualquier otro medio pertinente «inventa» una solución al problema planteado. Aquí es donde se divide en partes el problema y es «vencido», es decir lo dividimos en tareas pequeñas para reducir su complejidad.

Codificación: La solución se escribe en un lenguaje de alto nivel (lenguaje de programación), es decir traducimos el algoritmo que creamos a un lenguaje formal de programación (por ejemplo JAVA, Python, etc.)

Compilación, Ejecución y Verificación: El programa es ejecutado y observamos su comportamiento para identificar errores (los conocidísimos bugs)

Depuración: En esta etapa acareamos la información de las etapas anteriores (los errores, bugs) y los eliminamos, los corregimos.

Mantenimiento: Es la actualización el programa, es decir se añaden mejoras, o se adecuan conforme cambian las herramientas y recursos disponibles. Además de integrar un poco de la fase de depuración, porque aquí también eliminamos bugs identificados.

Documentación: La documentación es importante, está ligada a la depuración y mantenimiento, haciendo que estas sean más fáciles de efectuar. La documentación de un programa se refiera a las referencias internas (comentarios dentro del código fuente) y la documentación externa que es la incluye todo tipo de material que explica el uso y funcionamiento de un programa (podríamos tomar un diagrama de flujo de la etapa de análisis del problema o crear una sección dentro del programa de ayuda.), todo esto facilita al propio programador o a uno distinto a entender como funciono y como está hecho el programa.

No hay comentarios:

Publicar un comentario