Diego Garcia Saltos

 Fases para resolver problemas de software

1.    Análisis del problema

El análisis consiste en una clara definición del problema donde se contemple exactamente lo que debe hacer el programa y el resultado solución deseada.

Dado que se busca una solución por computadora se precisan especificaciones detalladas de entradas y salidas

Para resolver un problema con la computadora hay que disponer de los datos de entrada, estudiar el tratamiento que se ha de realizar a dichos datos, la información que se desea obtener como resultado y de que manera debe presentarse

Es decir, después de analizar el problema, se han de conocer claramente tres cosas:

·         Datos de entrada que se dispone

·         Proceso o tratamiento que ha de realizarse con estos datos

·         Información de salida deseada


Ejemplo

Para saber las notas de estudiantes de una carreara se necesita saber:

Entrada: Los datos de cada uno de los estudiantes y si estos datos están en papel o en un archivo donde esta toda la información de os estudiantes

Proceso: la fórmula matemática para calcular el promedio de las notas es (nota1 + nota2 + nota 3+….) dividirlo para la cantidad de notas

Salida: el modelo del informe donde se desean imprimir el promedio de los alumnos

2.    Diseño del algoritmo

Teniendo en cuenta que un algoritmo es un método para resolver problemas, una vez analizado el mismo se precisa diseñar un algoritmo que indique claramente los pasos a seguir para resolverlo. En esta etapa se realizará 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 conclusión, en la etapa anterior se define qué es lo que hará el programa, en esta fase, se define como lo hará.



3.    Entorno de desarrollo y codificación programación

Una vez que el diagrama de flujo o el algoritmo de resolución del problema está definido se pasa a la fase de codificación del programa en cualquier lenguaje (Pseint, C, C++, C#, Phyton, Java, etc.) cuyo resultado será el programa fuente, el cual sigue las reglas de sintaxis que el lenguaje escogido exija.

Después de codificado el programa, se introduce en la computadora mediante unos programas especiales llamados editores, es decir se codifica en un lenguaje de programación.

 

 

4.   Ejecución y pruebas

El hecho de haber diseñado un buen algoritmo y luego haberlo codificado en algún lenguaje de programación no significa que el programa resuelva correctamente el problema en cuestión. Por eso, antes de dar por finalizada cualquier labor de programación, es fundamental preparar un conjunto de datos lo más representativo posible del problema, que permitan probar el programa cuando se ejecute y así verificar los resultados. Cuanto más exhaustivas sean las pruebas de un programa, mayor seguridad se tendrá de que éste funcione correctamente y, por lo tanto, menor posibilidad de errores.

5.   Documentación y mantenimiento

Por último se debe tener una documentación de todos los pasos hasta llegar a la solución del problema, (Manual usuario), a veces es un poco tedioso esta fase pero también es muy importante ya que muchas veces suceden modificaciones con el pasar del tiempo y estas se hace en algunos casos por otros programadores diferentes a los que lo crearon (que incluso cuando uno mismo va ha modificar no se acuerda que realizaba ese código, me ha pasado), y cuando un programa es pobre en documentación este proceso de modificación es bastante complejo.


Sistema de numeración decimal y binario

El sistema de numeración decimal es el sistema que utilizamos comúnmente ene nuestra vida diaria. Es un sistema de base 10, lo que significa que utiliza diez símbolos diferentes para representar los números del 0 al 9. 

Por otro lado , el sistema de numeración binario es un sistema de base 2 que se utiliza solo dos símbolos, generalmente representado como 0 y 1. Cada posición en un numero binario tiene un valor que es una potencia de 2. El sistema binario es ampliamente utilizado en las computadoras y otros dispositivos electrónicos, ya que los circuitos electrónicos pueden representar fácilmente los dos estados lógicos mediante los símbolos 0 y 1.


Prueba de escritorio

La prueba de escritorio permite analizar un algoritmo manualmente para detectar posibles errores. Es bien útil cuando tenemos crear algoritmos que tienen cierta complejidad y cuando estamos aprendiendo a programar; ya que nos permite saber qué hace cada caso.





No hay comentarios:

Publicar un comentario

Pseudocodigo