Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
El proceso de desarrollo de software
1.
2. 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
3. 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
4. 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
5. 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)
6. ¡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.
7. 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
8. 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»
9. 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
10. 1. Diseño
1.1 Detección de necesidades, definición del objetivo del software (la “tarea”)
1.2 Definición del usuario y del contexto
1.3 Selección de herramientas de desarrollo
1.4 Selección de plataforma (desarrollo y entrega)
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
2. Instrumentación
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
3. Depuración y prueba piloto
3.1 Depuración (“debugging”)
3.2 Evaluación y ajustes finales
4. Entrega
11. 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
12. 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
13. 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
14. 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.
15. La «plataforma»
es la combinación
entre 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
16. 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 programa
3. 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.
18. 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.5 Elaboración de un
“ mapa mental”
19. 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.
20. 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.6 Elaboración de una
primera especificación
21. 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.
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
22. 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.7 Elaboración de prototipos
23. 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.
24. 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
25. 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
26. 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
27. 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
28. 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
29. 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
31. 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
32. 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
33. 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
34. 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
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