Etapas para crear programas. La programación en Linux 2
Varias veces, en este y otros blogs de Linux, se publican listas de herramientas de programación con una breve descripción de sus características. En esta serie de artículos nos proponemos ir un paso más allá y darle a los usuarios los conceptos básicos que necesitan para tomar sus propias decisiones.
En el artículo anterior habíamos establecido las diferencias entre programar (el conjunto de tareas que van desde determinar las necesidades del usuario hasta el desarrollo de una aplicación que la satisfaga) y la codificación (Instruir, usando un lenguaje de programación comprensible para el dispositivo sobre las tareas que deben realizar)
Dijimos también, que la diferencia entre un editor de códigos y un entorno integrado de desarrollo, es que el segundo incluye herramientas para todas las etapas del proceso de programación.
Etapas para crear programas
La tarea de programar consta de los siguientes pasos:
- Definición del problema
- Planeación de la solución
- Codificación del programa
- Probar el programa
- Documentar el programa
Definición del problema
La palabra problema debe tomarse en sentido amplio. Tal vez sería más adecuado cambiarla por proyecto. Básicamente hay un usuario que tiene determinadas necesidades que pueden satisfacerse a través del procesamiento por parte de un computador de los datos disponibles.
Podemos dividir esta etapa en dos actividades:
- Determinar los requisitos
- Establecer las especificaciones
Determinar los requisitos
Aquí es donde decidimos que es lo que el programa tendrá que hacer
Por ejemplo, durante la cuarentena los restaurantes vieron cambiar su actividad principal de la venta de comida en su salón a la entrega a domicilio. Es probable entonces que hayan tenido que actualizar sus sistemas de facturación. Una buena idea sería integrar el sistema de facturación a las aplicaciones de pedidos. Así como se suma a la facturación del día los pedidos efectivamente entregados, el sistema debe restar aquellos que por algún motivo no pudieron serlo.
Establecer las especificaciones
Una vez determinados los requisitos queda por decidir lo que debe hacer la solución para satisfacerlos.
En nuestro ejemplo presumimos que sería una buena idea que la solución registrara automáticamente los pedidos hechos desde las aplicaciones. Sin embargo, eso implicaría tener acceso a sus servidores y es probable que no lo obtengamos. Por lo tanto, lo más adecuado sería establecer un código en el sistema de facturación para cada una y que, salvo indicación expresa de los repartidores, se las considere entregadas.
Los programadores cuentan con dos herramientas muy útiles para ayudar en la etapa de definición del problema. Los diagramas de flujo y la escritura de pseudocódigo. Y, como no podía ser de otra manera, existen aplicaciones disponibles para Linux que nos permiten usarlas.
Los diagramas de flujo son representaciones pictóricas de lo que se supone que el programa debe hacer y cómo va hacerlo. Las figuras geométricas indican acciones y las flechas su secuencia.
El American National Standards Institute (ANSI) ha desarrollado un conjunto estándar de símbolos de diagramas de flujo. Algunos de ellos son:
Rectángulo: Este símbolo se utiliza cuando mediante una operación manual o en el dispositivo se realiza un cambio en un elemento o entrada. Dentro del rectángulo se incluye una breve descripción de la actividad realizada.
Diamante: Este símbolo se utiliza para indicar la necesidad de tomar una decisión. De acuerdo a lo que se tome se seguirá un determinado camino, por lo que desde el diamante se produce una bifurcación en el proceso. A cada una de las alternativas le corresponde una rama con su nombre. En el diamante se incluye una breve descripción de la naturaleza de la decisión.
Flecha: Conecta las actividades y decisiones indicando el orden en que se producen.
Círculo grande: Indica una detención del proceso para permitir realizar una revisión u otorgar aprobación. Dentro del círculo se incluye una breve descripción.
Triángulo: Indica el archivo de una salida.
En el próximo artículo veremos que es el pseudocódigo que programa uitilizar para escribirlo y para hacer diagramas de flujo.