25 de abril de 2008

AZ 25: El proceso de planeación en el desarrollo de software educativo

En el presente artículo se analizan los pasos a seguir para la etapa de planeación para una aplicación de software eucativo libre. Se describen cada uno de los pasos y elecciones que deben tomarse en el proceso que va desde la propuesta de solución a un roblema planetado hasta el momento inmediato anterior al inicio de la etapa de desarrollo, pasando por el proceso de delmitación del problema y el consecuente seguimiento de ideas que nos da por resultado una propuesta de metodología a seguir para los futuros desarrollos de software educativo.

Primero que nada deberemos identificar a qué le llamamos software educativo, en este sentido podemos decir que se tratará de algún prográma mediante el cual nos podamos basar para presentar conocimientos digeridos o pre masticados a alguien m‡s. Digamos que esta es una etapa anterior a la planeación como tal de la aplicaci—n puesto que apenas se comienza a bosquejar la idea que más adelate desarrollaremos.

Para ejemplificar supongamos que contamos con un grupo de amigos que son astrónomos aficionados, de modo que se nos ocurrió hacer un programa que de alguna manera le sirva al que lo vea para aprender algo sobre astronomía. Lamentablemente la astronomía es un terreno impresionantemente grande y por tanto tenemos mucho material del cual echar mano.

En cuanto a la etapa de planeación de la soución propuesta tenemos que este software debe adecuarse a varios aspectos, entre los cuales podemos contar:

  • El material que contiene
  • El tipo de público al que está dirigido
  • El medio de distribución que se elige, y
  • El lenguaje en el cual se va a escribir la aplicación en sí

Pero vamos por partes. Primero, tenemos que identificar el material que va a manejar nuestra aplicación, puesto que no es lo mismo hacer una presentaci&pacute;n que demuestre el principio parabólico a muchachos de secundaria que un software para aprender a sumar quebrados a niños de tercero de primaria. Obviamente la elección del lenguaje va a estar estrecamente relacionado con esta parte pues dudo mucho que podamos hacer presentaciones en cuestión de minutos con Turbo Pascal 7.0, y sobre todo, lo más difícil va a ser ponerlo a disposición del público en general a través de la red.
De esta seleccioacute;n de material dependen muchos otros factores como veremos más adelante.

Después de varias reuniones nuestro grupo de astrónomos aficionados (que también son programadores), deciden acotar su tema y centrarse en el sistema solar y específicamente quieren hacer un programa que le pueda mostrar a la gente algo que pudiese llamarles la atención y que quizás los induzca en un futuro a buscar m‡s eferencias y por tanto deciden que su aplicaci—n sea una visita por los planetas del sistema solar conocidos hasta el momento.

En un segundo tŽrmino tendremos que identificar el sector social (o pœblico), que queremos que se beneficie de nuestro trabajo. En este sentido podr’amos en cierto momento enfocar nuestra aplicaci—n a los ni–os de pre escolar, a los de la primera mitad de la educaci—n primaria, a los de la segunda mitad de la misma, a muchachos de secundaria o preparatoria. Obviamente los primeros requieren de m‡s animaciones, colores, movimiento, sonido, etcŽtera, en virtud de que su peri—do de concentraci—n es muy corto. Conforme avanza la edad de nuestro pœblico objetivo las estrategias de presentaci—n cambian.

Nuestros amigos astr—nomos-programadores se dan cuenta de que hay muchas maneras en las que pueden constru’r su aplicaci—n. Se dan cuenta de que es siempre m‡s f‡cil llamar la atenci—n de los peque–os que de los adolecentes. DespuŽs de pensar un rato llegan a la conclusi—n de que a un ni–o le agrada ver im‡genes, no es muy afecto a la lectura (sobre todo si en su hogar no hay un ejemplo cconstante de ello), y que su tiempo de concentraci—n es muy corto de manera que deben hacer que en pocos minutos el ni–o vea diversas im‡genes que le resulten impactante, adem‡s hay que mantenerlo entretenido con sonido y algunos botones que controlen la ejecuci—n de la aplicaci—n.

La tercera elecci—n de importancia que haremos ser‡ la del medio de disribuci—n que usaremos para que nuestra aplicaci—n alcance a nuestro pœblico objetivo. Esto no es f‡cil, sobre todo si pensamos en los costes de shipping and handling y todas esas cosas. Esto se ve muy relacionado tambiŽn por el tipo de licenciamiento bajo el cual vamos a ofrecer nuestro producto, y aunque no tiene un apartado propio tambiŽn es de consideraci—n, de hecho, para este caso de an‡lisis hacemos de cuenta que nuestro software es gratuito, ya sea respaldado por licencias como GPL, LGPL o similar.
En fin, el caso es que ya en algœn art’culo anterior mencionaba que uno de los mejores medios de distribuci—n para el software gratuito es sin dudarlo la Internet, por ende me enfocarŽ a este medio.

Al paso de las reuniones, nuestros amigos deciden que la manera m‡s sencilla de dar a conocer su futura aplicaci—n va a ser la internet, y sobre todo si la ponen en alguna p‡gina y la publicitan lo suficiente. Se dan cuenta de que no tiene caso casarse con una plataforma en particular puesto que de esta manera tendr’an que dise–ar la misma paicaci—n para todos los sistemas operativos que la gente pudiese tener. -"..Hay que buscar la universalidad.."-, se dicen.

La œltima parte de la etapa de planeaci—n de nuestra aplicaci—n est‡ ligada en su totalidad con la etapa inmediata anterior pues depende del mŽtodo de distribuci—n, el lenguaje de programaci—n que vamos a implementar. Estamos de acuerdo que si vamos a dise–ar una aplicaci—n unicamente para computadoras que usen los sistemas operativos de Microsoft, o aquellos que usan las computadoras de Apple; estaremos restringiendo el nœmero de usuarios potenciales a los que podr’a impactar de alguna manera nuestro trabajo.

Finalmente nuesro grupo de desarrolladores elijen Java como lenguaje para desarrollar aplicaciones educativas debido a su inherente portabilidad a diversos sistemas operativos, adem‡s de que al haber elejido a la Internet como medio de distribuci—n de suss aplicaciones necesitan de un lenguaje que les paermita manejar gr‡ficos y sonidos de manera razonablemente flexible y f‡cil.

Las siguientes etapas tienen que ver con la ingenier’a de software y est‡n m‡s apegadas a las normas de dise–o que Žsta impone por lo que ya no son campo de estudio de este art’culo.

Artículo original