Pasos para la solución de un problema de software

 

PASOS PARA LA SOLUCIÓN DE UN PROBLEMA DE SOFTWARE


ANÁLISIS DEL PROBLEMA

El análisis incluye una definición clara del problema, que establece lo que debe hacer el programa y los resultados o soluciones esperados. A medida que se buscan soluciones informáticas, se requieren especificaciones detalladas de entrada y salida.
Para resolver un problema con la computadora, debe ingresar datos, investigar el método con el que se han de realizar los datos, qué información desea obtener y cómo presentarla.


Después de analizar el problema, se han de conocer claramente tres cosas: 

  • Datos de Entrada de que se dispone 
  • Proceso o Tratamiento que ha de realizarse con estos datos. 
  • Información de salida deseada. 



EJEMPLO

Para calcular el salario de un empleado dependiendo de sus horas trabajadas, se necesita saber:

  • Entrada: Los datos del empleado, como el número de horas trabajadas y el precio por hora trabajada.
  • Proceso: La fórmula para calcular el salario del empleado es: (horas trabajadas*precio por hora trabajada)
  • Salida: Los resultados y el modelo del informe donde se desean imprimir el salario del empleado.



DISEÑO DEL ALGORITMO

Dado que un algoritmo es un método para resolver problemas, después de analizar, es necesario desarrollar un algoritmo que defina claramente los pasos necesarios para resolver el problema.

Este paso creará una representación de la secuencia. Estas representaciones son las herramientas de: diagramas de flujo, diagrama NS, pseudocódigos y/o tablas de decisión.

En resumen, en la etapa anterior se establece qué es lo que el programa realizará, mientras que en esta fase se determina cómo se llevará a cabo.




ENTORNO DE DESARROLLO Y CODIFICACIÓN (PROGRAMACIÓN)

Una vez que se ha definido el diagrama de flujo o algoritmo para resolver el problema, se pasa a la fase de codificación del programa en el lenguaje de programación elegido, ya sea PSeInt, C, C++, C#, Python, Java, u otro. Durante esta etapa, se traduce el diseño lógico en instrucciones y estructuras de programación del lenguaje específico seleccionado.

Después de escribir el programa, se ingresa a la computadora usando programas especiales llamados editores, es decir, codificado en un lenguaje de programación. Una vez en la computadora, el programa debe ser traducido al único lenguaje que entiende: lenguaje máquina. La operación anterior se realiza con la ayuda de un compilador o intérprete adecuado al lenguaje en el que está escrito el programa.




EJECUCIÓN Y PRUEBAS

El hecho de que haya diseñado un buen algoritmo y luego lo haya codificado en algún lenguaje de programación no significa que el programa resuelva el problema correctamente. Por esta razón, antes de completar cualquier trabajo de desarrollo, es importante preparar un conjunto de datos que sea lo más representativo posible del problema para que pueda probar el programa mientras se ejecuta y, por lo tanto, verificar los resultados. 

Cuanto más a fondo pruebe el programa, más seguro estará de que funciona.de manera precisa y, por lo tanto, menos propensa a cometer errores. Un programa se considera completo cuando se han realizado pruebas y validaciones en un conjunto de datos seleccionado y otros conjuntos de datos nuevos, incluso en datos reales, y no se encuentran errores.



 

DOCUMENTACIÓN Y MANTENIMIENTO

Finalmente, es una buena idea documentar todos los pasos de la resolución de problemas (Manual del usuario), que puede ser tedioso a veces, pero también muy importante, ya que los cambios suelen ocurrir con el tiempo y, en algunos casos, lo hacen otros programadores. que aquellos. quién lo hizo (incluso si lo modificas tú mismo, no recuerdas qué hiciste con este fragmento de código) y cuando el programa está mal documentado, el proceso de modificación es bastante difícil.




Fases o Etapas del Desarrollo de Software



    






PRUEBA DE ESCRITORIO


RECORRIDO DE LA PRUEBA DE ESCRITORIO

Las pruebas de escritorio le permiten analizar algoritmos manualmente para identificar posibles errores. Esto es muy útil cuando necesitamos crear algoritmos de cierta complejidad y también cuando estamos aprendiendo a programar, ya que nos permite saber qué hace cada instancia.

Notas: 

  • Es conveniente realizar más de una prueba para verificar cómo se comporta el algoritmo con diferentes datos de entrada. 
  • Se elige un caso normal y uno o dos casos límite (mejor y peor caso) 
  • Una herramienta útil para la prueba de escritorio es una tabla con una fila por cada instrucción y una columna para cada variable, estructura y salida (s). 

Una vez todo haya funcionado bien en el papel o en la hoja de Excel, entonces ya podemos escribir el pseudocódigo siguiendo el diagrama de flujo.


EJEMPLO