Análisis de las Etapas de programación en sistemas informáticos

el

De mis estudios realizados en el SENA en la materia de Análisis de código de programación, y haciendo un paralelo en mi corta experiencia de desarrollos de programas, podría concluir lo siguiente:

Estas son las etapas que actualmente se usan para el desarrollo de código de programación para sistemas informáticos:

  1. Análisis del problema
  2. Diseño del algoritmo
  3. Codificación (desarrollo del código)
  4. Compilación y ejecución
  5. Verificación
  6. Depuración
  7. Documentación

1. ANÁLISIS DEL PROBLEMA

En muchas ocasiones hay problemas tan básicos que no requieren de algoritmo, ya que, como el cliente no tiene la experiencia ni la técnica para desarrollar el código, sólo nos busca como programadores para que podamos materializar o virtualizar su necesidad. Sin embargo es muy importante apuntar en la cotización exactamente lo que el cliente necesita en el desarrollo del programa, para que quede muy claro cual es el programa que se va a desarrollar. No falta el cliente indeciso que cambia de idea a última hora y nos culpa por no proceder correctamente con el desarrollo del programa.

 

2. DISEÑO DEL ALGORITMO.

Es cierto, respetable, justamente necesario y fundamental el correcto uso de la simbología de desarrollos de algoritmos que se plantean en este curso. Ojalá todos los programadores del mundo usaran la misma iconografía. Pero allá afuera la realidad es otra. Por qué?

  • Porque con el simple hecho de buscar programas que nos ayuden a diseñar algoritmos que nos ahorren tiempo de estar dibujando triangulitos, circulitos, y cuadraditos, ya que muchas veces vamos a tener que diseñar programas bajo presión, especialmente cuando tenemos que programar en estado de emergencia, no vamos a tener muy claras las definiciones ni los significados de cada forma.
  • Cuando tenemos a nuestra disposición una herramienta para diseñar diagramas de flujo, nos vamos a dar cuenta que la iconografía no es precisamente la misma, o vamos a tener más íconos disponibles para hacer diseños más precisos, o Simplemente vamos a tener una serie de íconos que no tienen significación, ó la escuela de nuestros compañeros programadores usó un sistema iconográfico similar pero no igual al de este curso. No se ustedes, pero a mi en el desarrollo de estas actividades ya me pasó.

3. CODIFICACIÓN.

A medida que vas adquiriendo experiencia en programación, te vas a dar cuenta de 6 cosas:

  1. Tu vas a guardar tus propios bloques de código. A medida que vayas practicando código de programación bien sea porque tienes que cumplir con varias tareas en tu academia, o tengas que desarrollar varios applets para diferentes necesidades, o simplemente deseas entender cómo funciona cierta función, o condición o lo que sea que desees aclarar en tu mente. Todos los programas que desarrolles se van a convertir en una biblioteca de autoconsulta para el desarrollo de muchísimas aplicaciones en el futuro.

 

  1. El software te va a ofrecer librerías prediseñadas. La gran mayoría de compiladores profesionales, visual Basic, Visual C, Java, o Unity, etc, ya conoce las necesidades cotidianas de sus desarrolladores. Y para ahorrarles trabajo de digitación, ellos saben muy bien cómo deben declararse las instancias, y te pueden ofrecer bloques de código que te van a ayudar a ahorrar tiempo en el desarrollo del código.

 

  1. El software te va a generar los estatutos de programación con sistemas de auto-completar. Estos mismos compiladores, te pueden hacer asistencia en tiempo real a medida que vas redactando el código. Por ejemplo, si estás en Dev C++ Versión 5.6 o superior, cuando digites un { , el compilador inmediatamente te va a ayudar con el } de cierre. Porque es un error muy común que nosotros olvidemos redactar ; ” ‘ en cualquier momento. Y el hecho de estar recibiendo solicitudes del compilador para corregir errores tan pequeños como un ; nos hace perder la paciencia por la pérdida de tiempo de andar buscando una aguja en un pajar.

 

  1. Deberás leer, comprender, interpretar, adaptar y modificar, desarrollos de código de terceros. En muchas ocasiones, bien sea por que descargaste programas de terceros, o estás utilizando librerías de código, o estás modificando tu propio código, vas a tener que graficar por medio de un algoritmo o diagrama de flujo, para poder comprender visualmente cómo está funcionando el código que tienes enfrente. Y se va a poner mucho más interesante cuando veas que el código está llamando la función dentro de la función dentro de la función, y todo lo anterior mezclado con librerías externas. Este es un caso típico que sucede todo el tiempo con Unity, y HTML5 entre otros, y nosotros debemos estar preparados para indagar ágilmente para no perder tiempo.

 

  1. SIEMPRE SIEMPRE, debemos estar desarrollando programas que requieran de menos líneas de código, ejecutemos programas cada vez más optimizados, con interfaces para los usuarios mas simples y divertidas. Si nuestros programas desarrollados, no son fáciles de comprender, no tienen una interacción simple fácil y divertida pero muy poderosa, simplemente vamos a ser olvidados, nuestros desarrollos no cobrarán vida, y jamás pasaremos a la gloria por nuestros aportes en este mundo.

 

  1. No siempre el código está a la vista de nuestros ojos. TODOS los programas, applets, plugins, formularios, etc… etc… etc… son producto de la ejecución del código en tiempo real, y nosotros tenemos que desarrollar la habilidad que tiene Neo (The Matrix) para poder ver el código que se esconde detrás de cada aplicación. Este será el mejor entrenamiento que podemos llegar a tener para poder comprender, desarrollar y evolucionar nosotros mismos como desarrolladores de programas.

 

4. COMPILACIÓN Y EJECUCIÓN

Si nuestro software es demasiado grande para ser compilado, o preparado para entrar a interactuar con el usuario, también es importante avisarle al usuario que el programa está trabajando. A esto se le llama administración de streamming. Entremáss preciso sea el informe del proceso de compilación en tiempo real, más tranquilo se va a sentir el usuario mientras espera a que el programa termine de cargarse.

 

5. VERIFICACIÓN

Esta etapa es fundamental. Tan importante es que nosotros en alguna ocasiones podemos estar reemplazando la etapa del diseño de algoritmo con esta, ya que podemos diseñar bloques de código con esta etapa de verificación. Y como ejemplo, voy a explicarlo por medio del siguiente diagrama de flujo.

 

// Análisis: Deseo usar un programa que no requiera de la etapa de diseño de algoritmo

{

Creo la variable ejecución;

Creo la variable Programa;

Creo la variable Crear;

 

Inicio el ciclo;

Si: (tengo el programa definido Ó
     Tengo el programa en desarrollo Ó
     Tengo el progama desarrollado)

{

Compilo el programa

si: (en la ejecución el programa me genera errores de programación)

{

Buscar e identificar el error en el resultado de compilar;

Resuelvo el error;

Repito el ciclo;

}

si: (en la ejecución el programa está haciendo correctamente lo que deseo)

{

He finalizado correctamente mi programa;

y salgo del ciclo;

}

de lo contrario:

{

Busco lo que deseo modificar para lograr el resultado que deseo.
Hago modificaciones para lograr el resultado que deseo.

}

} De lo contrario {

{ Crear el programa}

}

 

Con este ejemplo tenemos que darnos cuenta que no siempre los programas terminan al final del último renglón como lo que sucede con los textos que se redactan con reglas de escritura tradicional. Este programa tiene la salida del bucle en el renglón 23 en la segunda declaración del estatuto condicional si: el cual está representando simbólicamente la condicional if.

 

6. DEPURACIÓN

 

Digamos que en el ejemplo anterior quiero depurar el programa para que nosotros como lectores y pseudo compiladores podamos comprender mas rápido el programa. Así que voy a depurar el programa haciendo una programación usando sus conocimientos y experiencias, por medio del siguiente ejemplo.

 

Cargo librería mental de <Lo Obvio>

Cargo librería mental de <Sentido común>

Inicio

1. Crear el programa o le hago modificaciones.

2. Compilo el programa

3. El programa hace lo que quiero o tiene errores?

No: vuelvo a empezar

Si: Listo Terminé

FIN

 

En este ejemplo, he convertido un programa que me había tomado 33 líneas y lo convertí en un programa de 9 Líneas.

 

7. DOCUMENTACIÓN

 

Considero que idealmente esta etapa debería irse desarrollando a medida que se va transcribiendo el algoritmo en la redacción del código. Otros programadores también optamos por redactar esta etapa al final, cuando nuestro programa está terminado. Todo depende la claridad de nuestras ideas en relación con la complejidad del software.

 

Ahora, esta etapa de documentación es fundamental para que nosotros podamos dejar un legado a los futuros desarrolladores, e inclusive a nosotros mismos, para poder tener una idea clara de cual es el objetivo que tenemos para cada bloque de código. Así podremos tener gías completas de cómo se está desarrollando nuestro programa.

 

Ayudas del Software: Cuando trabajamos con compiladores profesionales, adicional a los comentarios que nosotros podamos dejar, también existen marcadores que se pueden ir anidando en los renglones del código. como por ejemplo:

Bookmarks: Estos sirven para poder tenerlos como punto de referencia y saltar a estos renglones con tan solo un click.

Resaltadores de Renglón: Los cuales dejan una marca que resalta un renglón en específico, ideal para delimitar puntos de referencia.

 

Expansores y Compresores de Código:  los cuales te permiten colapsar bloques de código y dejarte un símbolo [+] ó [-] para informarte que hay bloques de código comprimidos o expandidos, para ayudarte a ahorrar espacio en el bloque de código. Yo personalmente los uso para comprimir código que considero finalizado, y que no necesito volver a revisar.

 

En este punto de documentación, vas a poder encontrar constantes evoluciones en software, ya que en ésta área el los arquitectos del programa,  te pueden brindar herramientas nuevas, a nosotros los programadores. Uno de los ejemplos que más me gusta mencionar, es el caso de Unity el cual nos permite acceder a una tienda virtual dentro del programa donde vamos a poder encontrar applets, adicionales a las librerías por default que traen instalados los programas.

 

Espero que este aporte no los haya dormido ni les haya dado pereza leerlo, ya que lo redacté por amor al código, y está redactado pensando en dejar un legado a los futuros desarrolladores de código que vienen en camino.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s