El primer paso de la Descripción de un proyecto de programación es preparar, en la terminología del cliente, un enunciado breve del problema que se solucionará y de las restricciones que existen en su resolución. El enunciado definitivo del problema debe de incluir una descripción de la situación actual y de las metas que debe lograr el nuevo sistema. Hay varias preguntas que debemos de plantearnos para llegar a una correcta descripción del problema: ¿Qué entradas se requieren, de qué tipo, en qué orden y qué cantidad? ¿Qué método(s) o fórmula(s) produce(n), o puede(n) producir las salidas deseadas? ¿Qué salidas se desean, de qué tipo, en qué orden y qué cantidad? Dependiendo de qué tan precisas sean las respuestas a esas preguntas, así será la definición del problema, sobre todo en cuanto al orden explícito de las entradas y las salidas esperadas. Mientras no se comprenda con claridad el problema por resolver no puede pasarse a la fase siguiente. La definición del problema requiere de un entendimiento cabal del dominio del problema y del entorno de éste. Las técnicas para obtener este conocimiento, por parte del planeador son: 1. entrevistas con el cliente, 2. observación de las tareas problemáticas, y 3. desarrollo de las reales. El planeador debe ser muy hábil en las técnicas de definición del problema, ya que distintos representantes del cliente tendrán diferentes puntos de vistas, y perjuicios que influirán en su percepción del área del problema. Una vez analizado esto, podremos determinar qué es lo que necesitamos realmente y los resultados que deseamos obtener y así llegar a la Primera D que es " Describir el Problema". 2.2. DEFINICIÓN DE SOLUCIÓN Se trata de la acción y efecto de resolver una dificultad o una duda. Por el otro, solución es la acción y efecto de disolver. La solución supone la satisfacción de una inquietud o la razón con que se destraba un problema. Una solución es también el fin o resultado a que llega un proceso. 2.3. DISEÑO DE LA SOLUCIÓN Proporcionar los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos, seleccionar uno de ellos utilizando criterios que consideren la eficiencia del mismo. Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural, de diagrama de flujo o natural de programación. Los problemas complejos se pueden resolver más eficazmente por la computadora cuando se dividen en subproblemas que sean más fácil de solucionar. 2.4. DESARROLLO DE LA SOLUCIÓN Se refiere a la escritura y representación en un lenguaje de programación de un algoritmo. Para transcribir el algoritmo al lenguaje se debe considerar: Usar solo el conjunto de palabras e instrucciones que conforman el lenguaje de programación. Respetar las reglas de sintaxis y semántica del lenguaje. 2.5. DEPURACIÓN Y PRUEBAS Se realiza una prueba del programa ejecutable, a fin de determinar si resuelve o no el problema planteado en forma satisfactoria. Comúnmente se inicia la prueba de un programa introduciendo datos válidos, inválidos e incongruentes y observando cómo reacciona en cada ocasión. La depuración consiste en localizar los errores y corregirlos en caso de que estos existan. Si no existen errores, puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeño del programa. 2.6. DOCUMENTACIÓN 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). La documentación se divide en tres partes: Documentación Interna: Son los comentarios o mensaje que se añaden al código fuente para hacer más claro el entendimiento de un proceso. Documentación Externa: Se define en un documento escrito los siguientes puntos: · Descripción del Problema · Nombre del Autor · Algoritmo (diagrama de flujo o seudocódigo) · Diccionario de Datos · Código Fuente (programa) Manual del Usuario: Describe paso a paso la manera cómo funciona el programa, con el fin de que el usuario obtenga el resultado deseado. 2.7. SOLUCIÓN DE PROBLEMAS APLICANDO LA METODOLOGÍA La resolución de problemas consta de cinco etapas que garantizan una llegada correcta a la solución: Identificación del problema, planteamiento de alternativas de solución, elección de una alternativa, desarrollo de la solución y evaluación de la solución. 1. Identificación del problema La identificación del problema es una fase muy importante de la metodología pues de ella depende el desarrollo ulterior en busca de la solución. Un problema bien delimitado es una gran ayuda para que el proceso general avance bien; un problema mal definido provocara desvíos conceptuales que serán difíciles de remediar posteriormente. 2. Planteamiento de alternativas de solución Después de la definición del problema y del análisis de los datos de entrada el proceso continúa con el análisis de las alternativas de solución. Por lo general la solución de un problema puede alcanzarse por distintas vías. Es útil tratar de plantear la mayor cantidad de alternativas posibles de solución pues de esta forma las posibilidades aumentan a favor de encontrar la vía correcta. 3. Elección de una alternativa Después de tener todo el repertorio de alternativas es necesario pasar a otra etapa: la elección de la mejor entre todas las posibilidades. Esta fase es muy importante porque de la elección realizada depende del avance final hasta la solución 4. Desarrollo de la solución Después de decidir cuál es la mejor alternativa de todas se llega a la etapa de la solución. En esta fase, partir de los datos relacionados con la alternativa seleccionada, se aplican las operaciones necesarias para solucionar el problema. 5. Evaluación de la solución Luego de haber desarrollado la solución queda aún una etapa, que es la de evaluación, en los procesos industriales a este procedimiento se le llama “control de calidad” y consiste en determinar que la solución obtenida es lo que se esperaba conseguir comprobando que el resultado sea correcto.