"Arrastrando Cadenas "

Day 2,798, 19:41 Published in Argentina Argentina by Gerardo Antonio Uroz
2º Articulo: Herramientas y estrategias de desarrollo de Software.

Continuando el Artículo Programación de Computadoras..., acerca de la Programación de Computadoras tocaremos otra vez el concepto sobre que "Proceso de Desarrollo de Software", un paso más cerca de programar.

Copia el siguiente link en una nueva pestaña del navegador para ver el video:

https://www.youtube.com/watch?v=RF33XjA4a0E

En este artículo comprenderemos como es el Proceso de Desarrollo con mas detalle, más específico y obviamente más técnico.

Todo problema nos genera una necesidad,

y vaya si tenemos todos los días, a los que una parte la solucionamos a mano,

por ejemplo "levantar una pared",

otros problemas se los pasamos a otros para que nos los solucionen, por ejemplo, presentación de la DDJJ de ganancias si se quiere "tema candente" de estos momentos, se lo pasamos al contador (posible aplicación de TIC),

otros problemas son de tipo presencial, por ejemplo. tenemos que trabajar para ganar algo para sobrevivir, y hay muchos otros tipos, dentro de los cuales son los problemas que no solucionamos jamás ....

De ese montón, podemos decir que capacitarnos es parte de la problemática, razón por la que comencé a escribir este artículo.

Volviendo al tema, hay cierto tipo de problemas que se solucionan con las computadoras utilizando tecnologías de la información y la comunicación, los cuales serán el objeto de estudio de este artículo.

Proceso de desarrollo


Para desarrollar software se necesitan realizar una ciertas cantidad mínima obligatoria de paso, si queremos que nuestro software sea útil y aceptado por muchos.


Nadie trabaja al cuete !!!!!



Es el principio de menor esfuerzo el que guía a la mayoría de los procesos. Proceso que cuesta mucho, tarde o temprano, la gente lo va dejando de lado. Hay un dicho que lo ejemplifica muy bien, "Si tienen un problema difícil, dénselo a un vago que va a encontrar la forma de resolverlo fácil"

De una manera mas formal, se descompone

un problema difícil en sub problemas,

de tal forma que, solucionando cada sub problema, solucionamos el problema grande.


Proceso de Desarrollo:

Crear un programa de computadora tiene esa característica,siempre es difícil, por muchas razones: tecnología, requerimiento de abstracción, requerimiento de información para solucionar el problema base, etc.


Pasos:

El desarrollo cuenta con pasos bien definidos, muy estudiados por las empresas de desarrollo de software, que luego es trasladado a los centros de capacitación y a las casas de estudio: Academias, Institutos de Nivel Superior y a Universidades.

1. El problema y sus soluciones: quiero atrapar a la rata que se me come el queso de rallar ...

El origen de un programa siempre es una problemática, nacida en la realidad o



como una inquietud de alguien que quiere hacer cosas nuevas.

Entonces, dado un problema, no importa el tipo de origen, se tiene que comprender. Para eso hay que dividirlo en partes y analizar bien los procesos que se tienen que llevar a cabo para solucionarlo.




Para poder solucionar el problema, hay que informarse bien, munirse de toda la información necesaria

, hasta obtener

y dominar los procesos de la solución del problema.


Toda esta primera fase nos va a describir exhaustivamente el problema y sus posibles soluciones.

De todas esas soluciones, vamos a poder utilizar aquellas que tienen solución computacional, que puede expresarse en un programa de computadora,ó que se pueda expresar mediante un modelo matemático.

2. Comenzamos a pensar en la solución: "la trampa o el trigo ..."
ó

En este paso se encuentran todos los procesos en que se descompone en secuencia, todos los procesos repetitivos o que se tienen que realizarse varias veces



Para levantar una pared hay que colocar varias filas de ladrillos y mezcla, poner mezcla y ladrillo, se repite muchas veces ... Procesos repetitivos ...

y todos los procesos de toma de decisión. Procesos que aportan inteligencia al programa ....



Se reconocen los procesos que se pueden realizar alternativamente, o en paralelo ...



con otros y los que si o sí se realizan uno detrás del otro. Porcesos en serie ...



Algoritmo

Entonces, aparece a esta altura, un concepto técnico informático, algoritmo o conjunto de pasos, finito, que se realiza uno detrás del otro y que se utiliza para resolver un problema.

Copia es link en una pestaña nueva de tu navegador: https://www.youtube.com/watch?v=akQtuSrr8jg



Mediante el algoritmo se expresa y representa la solución lógica, con pensamientos humanos, ideas de la solución posible.






Para resolver un problema, se pueden construir varios algoritmos, siendo cada uno de ellos, una solución distinta posible para el problema. Se puede afirmar que son diferentes formas de resolver el mismo probleema, lo que refleja la realidad de la vida ....









Mientras mas computacional es el algoritmo, más fácil será la traducción del algoritmo al programa fuente.

En esta etapa, se realizan pruebas, para determinar si lo que estamos expresando en el algoritmo, se ajusta a la solución real.

Es similar a las tablas que nos enseñaban en nuestras escuela secundaria para la representación gráfica de funciones.




Dados cada valor de x, le aplicamos la función y obtenemos como resultado cada valor de Y.

Estas se llaman pruebas de escritorio, y consiste en generar un conjunto de valores al azar, recorrer cada paso del algoritmo, simular los procesos repetitivos y alternativo y ver los resultados parciales y finales.


Copia el siguiente video te ilustrará acerca de las pruebas de escritorio en una
nueva ventana de tu navegador:

https://www.youtube.com/watch?v=oAcu99GERU8

https://www.youtube.com/watch?v=Z8p4m4dXjMA

Prueba de escritorio. Proceso que consiste en tomar valores de prueba, ejecutar el algoritmo paso a paso, recorrer todas las instancias que están planteadas en el algoritmo y analizar los valores obtenidos.

Si los valores resultantes de los procesos realizados sobre los datos ingresados son válidos, el algoritmo es correcto.

Si por el contrario, los valores resultantes no son válidos, entonces el algoritmo es incorrecto.


Hasta aquí se ha construido la idea básica y completa de cual es la solución computacional del y esta expresada y registrada en un algoritmo. Idea escrita, mejorable que representa solo una solución.

El resultado de este proceso es el insumo del proceso siguiente, traducción a un lenguaje más computacional y menos humano. Construcción del programa fuente.


3. "Escribiendo el ADN de Termi Neytor: Programa Fuente".

En esta etapa trabaja una persona capaz de interpretar los algoritmos y escribir esos pasos del algoritmo en un lenguaje de alto nivel.

Esta etapa nos va a permitir obtener un programa que contiene instrucciones que representan acciones concretas que deberá realizar el dispositivo programable para cumplir con los requerimientos que se detectaron durante la recolección de la información.

Hay muchos lenguajes de programación, por ejemplo C, Java, PHP, y contienen especificaciones acerca de los instrucciones de entrada, procesos de calculo y decisión e instrucciones de salida. Estas instrucciones son la traducción de cada uno de los pasos del algoritmo.

En esta etapa también se realizan pruebas en los programas, permitiendo determinar errores de:

Sintaxis: cuando se escriben mal las instrucciones.

Lógicos: cuando el programa no realiza lo que realiza lo que piden las especificaciones.

Este programa fuente se crea dentro del IDE (Entorno Integrado de Desarrollo) descripto en el Artículo:

Dentro del IDE se carga el programa fuente, se le sacan los errores de sintaxis y lógicos, se realizan todas las pruebas necesarias dejando un programa fuente que cumple con las especificaciones.

Copia el siguiente enlace en una nueva ventana del navegador que explica el funcionamiento de Eclipe IDE de Java.

https://www.youtube.com/watch?v=_x9LKFN_PfE


4. "Imprimendo el ADN de Termi Neytor en el Chip Maldito: Traducción a Programa Ejecutgable"


Esta etapa tiene como entrada el programa fuente y como resultado el programa ejecutable o en su defecto el Instalador del programa.

Este proceso lo inicia una persona y la realiza el compilador del IDE que va traduciendo cada instrucción del programa fuente (instrucciones que entiende el hombre y no entiende la computadora) en instrucciones de lenguaje de máquina.

El siguiente video explica el proceso de compilación, copialo en una nueva ventana de tu navegador.

https://www.youtube.com/watch?v=zLRvVOaA8qk

5. "Asegurando el funcionamiento 'Termi Neytor': Depuración"

Mediante este proceso se asegura que el programa cumpla con los requerimientos para el que fue construido, y consiste en los siguientes pasos:

a. Poner al IDE en modo de depuración
b. Colocar los puntos de parada necesario para recorrer el programa paso a paso
c. Armar el tablero de variables de entrada, de proceso y de salida.
d. Ejecutar en modo depuración tantas veces como haga falta hasta quitar todos los errores.

El siguiente video explica como depurar un programa java en eclipse:

https://www.youtube.com/watch?v=V-jfcL1K5BU


Entonces, a grandes razgos hemos visto los procesos más básicos de desarrollo de software.

En próximos capítulos vamos a estudiar cada uno de estos procesos.

Vean este viedeo: https://www.youtube.com/watch?v=Sm3Zl4lLHAU

Continuarenos .....