EL PROCESO DE DESARROLLO DE SOFTWARE: Una introducción para educadores
Manuel Gándara Vázquez
Introducción
Las oportunidades educativas de la computadora han llevado a que un número cada día mayor de docentes decidan incorporarla en su práctica cotidiana.
Esta decisión típicamente se convierte en la decisión de optar por desarrollar nuevo software
Esta decisión pudiera no ser la óptima …existen otras formas de integrar la computadora a la docencia
La traducción Adaptación («localización») de software ya existente La creación de experiencias de aprendizaje en torno a
programas ya hechos El uso de la computadora como auxiliar en la
presentación
Introducción
Existen condiciones que justifican la decisión de desarrollar, lo cual implica tener una idea, al menos global, del tamaño y complejidad de la tarea
Este trabajo se divide en 3 secciones en las que:
1. Se define el proceso de desarrollo
2. Se describen las etapas principales del proceso
3. Se discute la composición interdisciplinaria
Introducción
EL DESARROLLO es «el proceso de creación de software»
(programas nuevos) …
Incluye no solamente la programación (cuando ésta es necesaria),
sino la selección de contenidos, estrategias de uso,
e incluso la documentación de los programas»
(Gándara)
¿Qué es el desarrollo?
¡La PROGRAMACIÓN no siempre es necesaria¡
Hoy día se pueden producir programas sencillos (y de complejidad moderada), usando herramientas de autoría que «escriben el código por nosotros», y que no requieren que el autor entienda de la sintaxis de los lenguajes involucrados.
Siempre se involucra algún tipo de programación, pero no necesariamente a un programador.
¿Qué es el desarrollo?
El desarrollo (en todas las ramas, y en particular en los desarrollos comerciales) es un proceso complejo; y en lo que toca al cómputo educativo, para ser eficaz tiene que ser necesariamente interdisciplinario.
El paso previo al desarrollo debe ser el de determinar si en efecto se justifica un nuevo desarrollo
¿Qué es el desarrollo?
Quizá este paso previo sea el más importante de todo el proceso
Si nuestro desarrollo no añade nada nuevo a lo ya existente, o si tampoco aprovecha las oportunidades específicas que tiene la computadora como medio instruccional, entonces tendremos un caso más de lo que se llama «un uso trivial de la computadora»
¿Qué es el desarrollo?
Una vez determinado que, en efecto, elaborar un nuevo software se justifica, se inicia el proceso de desarrollo, que comprende etapas … que a veces ocurren en paralelo, o en un orden, no siempre lineal
Las ETAPAS son cuatro:
1. EL DISEÑO
2. LA INSTRUMENTACIÓN
3. LA PRUEBA Y DEPURACIÓN FINAL
4. LA ENTREGA
¿Qué es el desarrollo?
Etapas del proceso de desarrollo
1. Diseño1.1 Detección de necesidades, definición del objetivo del software (la “tarea”)1.2 Definición del usuario y del contexto1.3 Selección de herramientas de desarrollo1.4 Selección de plataforma (desarrollo y entrega)1.5 Elaboración de una “mapa mental”1.6 Elaboración de una primera especificación1.7 Elaboración de prototipos1.8 Determinación final de requerimientos
2. Instrumentación2.1 Lineamientos de diseño y uso de recursos2.2 Elaboración de pseudocódigo2.3 Elaboración del código2.4 Obtención/creación de materiales, creación de contenidos, obtención de derechos2.5 Integración de medios
3. Depuración y prueba piloto3.1 Depuración (“debugging”)3.2 Evaluación y ajustes finales
4. Entrega
Etapas del proceso de desarrollo
1. DISEÑO
1.1 Detección de necesidades y definición del objetivo del software
1.2 Definición del usuario y del contexto
1.3 Selección de herramientas de desarrollo
1.4 Selección de plataforma
1.5 Elaboración de una “mapa mental”
1.6 Elaboración de una primera especificación
1.7 Elaboración de prototipos
1.8 Determinación final de requerimientos
Etapas del proceso de desarrollo:
1.
1.1 Detección de necesidades, definición del objetivo
del software (la “tarea”)
Se clarifica y se plantea cuál es la necesidad a la que responde el desarrollo, y cuáles son los objetivos a cubrir (la tarea que el software habrá de realizar)
Se detectan las necesidades que se intenta resolver mediante el uso de la computadora, que se plasmarán en objetivos del diseño instruccional
1. DISEÑO
Etapas del proceso de desarrollo:
1.2 Definición del usuario y del contexto
Se determinan las características generales del usuario: edad, sexo, escolaridad, familiaridad previa con el contenido, o con la tarea, del software; familiaridad previa con la computadora, y otras características del usuario que impacten la usabilidad del software
Se define el contexto de uso, tanto en términos de los equipos y locales en que se utilizará el software, como del modelo de uso y las consecuencias de la tarea
1. DISEÑO
Etapas del proceso de desarrollo:
1.3 Selección de herramientas de desarrollo
Una vez determinados la tarea y el usuario hay que determinar que herramienta de desarrollo es la adecuada
En cómputo educativo se recurre normalmente a las llamadas «herramientas de autoría» que son programas especializados para este fin, de uso relativamente simple, por ejemplo: HyperCard, Authorware, Director, etc.
1. DISEÑO
Etapas del proceso de desarrollo:
1.4 Selección de plataforma (desarrollo y entrega)
La «plataforma» es la combinaciónentre un procesador y un sistema operativo
Lo ideal es que 1. se especifique el objetivo y que en base a éste 2. se elijan tanto herramientas como plataforma.
La realidad es que normalmente el proceso es exactamente el inverso
Para cada desarrollo debe hacerse un análisis cuidadoso de la mezcla entre estos dos extremos que conviene adoptar para el proyecto
1. DISEÑO
Etapas del proceso de desarrollo:
1.5 Elaboración de una “mapa mental”
1. Se inicia con una descripción muy breve del objetivo y el público que se beneficiará con el software
2. Se ubica al centro la idea rectora del programa3. Se especifican «subramas’ de esta ramas principales, y así sucesivamente,
de manera estructurada. 4. Se añade a cada subrama la lista de tipos de material que emplearía (por
ejemplo, textos, gráficas o video digital) … que pueden ser codificados mediante marcadores de colores.
5. Se añaden señalamientos de qué ramas se prestan para actividades interactivas; las fuentes de los materiales requeridos (cuando ya existan), o un recordatorio de que hay que desarrollarlos
6. Se ubican las ramas que se estima serían las más fáciles y las más difíciles de desarrollar, esto para tener una idea de por dónde empezar y cuáles serán las áreas mas problemáticas.
1. DISEÑO
Etapas del proceso de desarrollo:
1.5 Elaboración de un “ mapa mental”
1. DISEÑO
Etapas del proceso de desarrollo:
Este mapa se puede depurar y refinar de manera sucesiva
El mapa es una excelente ayuda para el paso siguiente, el de la pre-especificación, puesto que se puede regresar al mapa para calcular cuántos textos, gráficas, audio o video se emplearán, que tipo de actividades requerirán de programación adicional, etc., lo que luego se puede traducir en elementos de estimación de costos y tiempos para el proyecto
1. DISEÑO
Etapas del proceso de desarrollo:
1.5 Elaboración de un “ mapa mental”
1.6 Elaboración de una primera especificación
La ESPECIFICACIÓN es a la descripción escrita del resultado de las decisiones anteriores
Constituye la base para un entendimiento entre los participantes en el proyecto, así como el establecimiento del compromiso ante la institución patrocinadora o el cliente.
Determina: los objetivos del software, el tipo de usuario y contexto de uso esperado, la herramienta y plataforma a emplear (incluyendo la especificación técnica de los equipos), así como el plan general o estrategia de instrumentación que permitirá que los objetivos se cumplan.
1. DISEÑO
Etapas del proceso de desarrollo:
En ocasiones, si se incluye además un plan global o prototipo en papel, la especificación actúa como el resultado y síntesis de la etapa de diseño dentro el proceso de desarrollo
La especificación será la guía para poder determinar, cuando menos en forma preliminar, el costo y duración del proceso de desarrollo, al apuntar hacia algunos de los insumos que se requerirán, tanto en equipo, software y accesorios como en tiempo de recursos humanos que serán necesarios
1. DISEÑO
Etapas del proceso de desarrollo:
1.6 Elaboración de unaprimera especificación
1.7 Elaboración de prototipos
La ELABORACIÓN DE PROTOTIPOS es el proceso de diseñar algo, sea en la computadora o fuera de ella, que demuestra algunas de las características o elementos interactivos del sistema que se intenta construir.
1. DISEÑO
Etapas del proceso de desarrollo:
Al usar el prototipo, se puede evaluar el diseño, incorporar cualquier cambio en el siguiente prototipo, y eventualmente refinar el diseño para la aplicación o sistema final
El prototipo actuará como vehículo interno de comunicación, permitiendo que el equipo de desarrollo pueda saber qué se espera de ellos y cómo se integran todas las partes
Actuará también como una primera aproximación a las características de uso real del producto, al incluir un primer intento de «interfaz con el usuario»
Hay dos tipos de prototipos:
«horizontal» … se intenta dar una idea global de la funcionalidad entera del programa, aunque ninguna de las funciones opere todavía en detalle.
«vertical» … las funciones simplemente son listadas, y se toma alguna(s) como módulos representativos del desempeño del conjunto, y se desarrollan en profundidad
1. DISEÑO
Etapas del proceso de desarrollo:
1.7 Elaboración de prototipos
La elaboración de un prototipo global final dará una mucho mejor idea de los requerimientos precisos del proyecto. Esto, a su vez, permite afinar calendarios y presupuestos, lo que puede implicar hacer ajustes con la institución patrocinadora o el cliente que financiarán el desarrollo.
1. DISEÑO
Etapas del proceso de desarrollo:
1.8 Determinación final de requerimientos
La INSTRUMENTACIÓN, conocida también como la etapa de «desarrollo» en sentido estricto, consiste en transformar la especificación y prototipos finales en
un producto probado listo para entrega
Las actividades o fases más importantes son:2.1 Lineamientos de diseño y uso de recursos
2.2 Elaboración de pseudocódigo
2.3 Elaboración del código
2.4 Obtención/creación de materiales, creación de contenidos, obtención de derechos
2.5 Integración de medios
2. INSTRUMENTACIÓN
Etapas del proceso de desarrollo:
2.
2.1 Lineamientos de diseño y uso de recursos
Consiste en elaborar un documento que oriente el trabajo de todos los participantes tanto en el sentido de homogeneizar el desarrollo (ver que todos utilicen las convenciones de tipografía y diseño acordadas en el prototipo, por ejemplo), así como permita programar el uso de recursos de desarrollo (tales como scanners o tarjetas de digitalización).
En proyectos pequeños esto quizá no sea necesario
2. INSTRUMENTACIÓN
Etapas del proceso de desarrollo:
2.2 Elaboración de pseudocódigo
Se le llama «pseudocódigo» a la descripción, en lenguaje prácticamente coloquial, de lo que se espera realice la computadora, con las precisiones de en qué puntos debe variar la ejecución o cuando deben repetirse ciertas actividades.
Es la descripción de los algoritmos centrales, los procesos a ejecutar, pero sin plasmar éstos todavía en un lenguaje de computación de alto nivel
2. INSTRUMENTACIÓN
Etapas del proceso de desarrollo:
2.3 Elaboración del código
El «código» es el conjunto de instrucciones o comandos que un programa ejecutará, expresados en algún lenguaje en particular
Es la tarea particular del experto en cómputo o programador, dentro del equipo de desarrollo
2. INSTRUMENTACIÓN
Etapas del proceso de desarrollo:
2.4 Obtención/creación de materiales, creación de contenidos, obtención de derechos
Se requiere: Elaborar y depurar textos, plasmarlos en «pantallas» que hay que
diseñar y dibujar Nuevos diagramas, dibujos o animaciones creados en la computadora De imágenes fijas, video o sonido que hay que digitalizar (esto es,
convertir a un formato que la computadora entiende y puede incorporar) … ello involucra la creación o la obtención de materiales, lo que a su vez implica procesos de investigación documental y gráfica, o producción de contenidos originales, tareas todas que consumen tiempo y recursos.
En el caso del uso de materiales previamente disponibles, se revisan
derechos de autor, para ver si se tiene que obtener un permiso escrito o pagar derechos de uso … en particular si el desarrollo será objeto de comercialización
2. INSTRUMENTACIÓN
Etapas del proceso de desarrollo:
2.5 Integración de medios
En esta fase se «arma» el programa, integrando el código, que actúa como estructura global, y los diferentes contenidos que habrá de incorporar el programa … puede implicar el manejo de sonidos, imágenes y videos, hacia la herramienta de autoría o programación utilizada
La integración de medios puede correr al parejo de la captura de nuevos materiales, de forma que estas dos actividades pueden hacerse parcialmente concurrentes
2. INSTRUMENTACIÓN
Etapas del proceso de desarrollo:
3.1 Depuración (“debugging”)
3.2 Evaluación y ajustes finales
3. DEPURACIÓN Y PRUEBA PILOTO
Etapas del proceso de desarrollo:
3.
3.1 Depuración (“debugging”)
Una vez integrados el código y los contenidos del programa …hay que asegurarse de que éste corre de manera adecuada (tiene un buen «desempeño» o performance
Se conducen pruebas internas, por el propio equipo de desarrollo, en lo que se conoce como «depuración» (en inglés, «debugging»)
Luego es importante que personas no familiarizadas con el desarrollo lo evalúen, aunque aún sea de manera interna, en lo que se conoce como una «versión alfa» … se logra así una versión llamada «beta», completamente funcional y con todo el contenido final, que está lista para ser entonces evaluada por terceros
3. DEPURACIÓN Y PRUEBA PILOTO
Etapas del proceso de desarrollo:
3.2 Evaluación y ajustes finales
Este proceso puede tener momentos sucesivos de evaluación-ajuste-nueva evaluación-nuevo ajuste, hasta que finalmente se logra una versión final, llamada «de entrega» o «release» (de «liberación»).
La evaluación de terceros es importante antes de poder hacer la entrega final y equivale a lo que se conoce a veces como «etapa de validación externa» en diseño instruccional
3. DEPURACIÓN Y PRUEBA PILOTO
Etapas del proceso de desarrollo:
Involucra terminar el código e integración final, y la documentación (manuales de instalación, del usuario, y en el caso del software educativo, las guías para el maestro, el usuario y quizá el administrador de la red)
Hay que preveer que los usuarios puedan tener preguntas tanto sobre la instalación como sobre el uso del programa; o detecten errores que hasta ahora no se habían detectado; o sugieran cambios y mejoras; o bien ocurren cambios en el hardware requieren de cambios en el software
4. ENTREGA
Etapas del proceso de desarrollo:
4.
Experto en contenido Experto en diseño instruccional Experto en interfaz con el usuario Programador Capturistas, digitalizadores y
procesadores de medios Diseñadores gráficos, de audio y video Evaluadores (“beta testers”) Coordinador
EL EQUIPO INTERDISCIPLINARIO DE
DESARROLLO
Esto no significa que físicamente haya siempre este número de personas en el equipo de desarrollo; a veces algunos miembros del equipo pueden cubrir más de una función