Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen
Este trabajo forma parte de una serie de investigaciones relacionadas al diseño, desarrollo y evaluación del softwa-
re educativo. Estas investigaciones no sólo pretenden dar cuenta de la problemática con que se enfrentan quienes
desean incorporar las aplicaciones informáticas a sus prácticas educativas, sino de brindarles una solución infor-
mática para sus desarrollos fundamentada en los principios de la ingeniería de software.
En este caso en particular, se considera importante el abordaje metodológico, ya que este el punto es crucial para
cimentar las decisiones en cada etapa a fin de construir un producto de calidad. Es por ello que se presenta a la
matriz de actividades ampliada incluyendo procesos que integran los aspectos didácticos pedagógicos a la matriz de
actividades convencional, siendo esta integración el núcleo central de la propuesta.
1. Introducción
En esta comunicación se propone y se justifica el ciclo de vida elegido para el diseño del software educativo, consi-
derándose cada una de las etapas del ciclo y se define la matriz de actividades, a partir de la cual se describen las
herramientas y las técnicas que se utilizarán en cada uno de los procesos considerados.
Para la propuesta metodológica se eligió un ciclo de vida basado en de prototipos evolutivos con refinamientos suce-
sivos como punto de partida. En la etapa metodológica de diseño se integra el enfoque dado por las teorías cogniti-
vistas y constructivistas (Ausubel y Novak, 1997; Coll, 1974; Vigotzkii, 1978) a los instrumentos de representación
clásicos que provee la ingeniería de software.
El aspecto más novedoso de la propuesta metodológica es que considera la construcción de programas educativos
desde un aspecto integrali, teniendo en cuenta los aspectos pedagógicos en el ciclo de vida, poniendo un interés espe-
cial en la configuración de los perfiles de los diferentes profesionales del equipo de desarrollo, especialmente en el
diseño del programa y en la confección de la documentación de los procesos.
En el ciclo de vida elegido de prototipado incremental se definen las once etapas básicas siguientes:
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
1. Factibilidad (FAC)
2. Definición de requisitos del sistema (RES)
3. Especificación de los requisitos del prototipo (REP)
4. Diseño del prototipo (DPR)
5. Diseño detallado el prototipo (DDP)
6. Desarrollo del prototipo (codificación) (DEP)
7. Implementación y prueba del prototipo (IPP) Refinamiento iterativo de las especificaciones del
prototipo (aumentando el objetivo y/o el alcance). Luego, se puede volver a la etapa 2 o conti-
nuar si se logró el objetivo y alcance deseados. (RIT)
8. Diseño del sistema final (DSF)
9. Implementación del sistema final (ISF)
10. Operación y mantenimiento (OPM)
11. Retiro (si corresponde) (RET)
Cada una de estas etapas del ciclo de vida elegido formará parte de la matriz de actividades, que es el documento
donde se plasman las actividades relativas al desarrollo para cada proceso involucrado. Las etapas básicas son las
que se describen a continuación y se debe señalar que para cada una de ellas se ha elegido una sigla arbitraria que
está entre paréntesis.
− Factibilidad (FAC): En esta etapa se define el producto software y se determina su factibilidad en el ciclo de vida
desde la perspectiva de la relación costo –beneficio, como así las ventajas y desventajas respecto de otros produc-
tos.
− Requisitos del sistema (RES): En esta etapa se deben definir las funcionalidades requeridas para el desarrollo del
sistema (o programa), las interfaces y el tipo de diseño.
− Especificación de requisitos del prototipo (REP): Consiste en especificar las funciones requeridas, las interfaces
y el rendimiento para el prototipo. Aquí se considerarán incrementos en porcentajes de la funcionalidad total del
sistema.
− Diseño del prototipo (DPR): Es poner en ejecución del plan del prototipo, ya que una vez fijadas las restricciones
con el usuario, hay que mostrar el mismo funcionando, aunque sean sólo algunas funcionalidades restringidas.
Aquí, hay que hacer un análisis de cómo se va a trabajar, qué módulos se van a hacer, con qué lógica y qué fun-
ciones se van a usar.
− Diseño detallado del prototipo (DDP): Esta etapa es una especificación verificada de la estructura de control, la
estructura de los datos, las relaciones de interfaces, el tamaño, los algoritmos básicos y las suposiciones de cada
componente del programa. En esta etapa no sólo se definen y sino que se documentan los algoritmos que llevarán
a cabo la función a realizar por cada uno de los módulos. El diseño de software, es un proceso que se centra en
cuatro atributos distintos del programa: la estructura de datos, la arquitectura del software, el detalle procedimen-
tal y la caracterización de la interface. En este proceso deben traducirse los requisitos a una representación del
software que pueda ser establecida de forma que se obtenga la calidad requerida antes de que comience la codifi-
cación.
− Desarrollo del prototipo (codificación) (DEP): Consiste en realizar la codificación o diseño detallado, en forma
legible para la máquina.
− Implementación y prueba del prototipo (IPP): Consiste en lograr un funcionamiento adecuado del producto soft-
ware en el sistema informático, funcionando operacionalmente, incluyendo objetivos tales como la conversión
del programa y datos (si la hubiere), la instalación y el entrenamiento. La prueba debe asegurar que se han proba-
do toas las sentencias del mismo, y que en las funciones externas se han realizado pruebas que aseguren que la
entrada definida produce los resultados que se esperan realmente.
− Refinamiento iterativo de las especificaciones del prototipo (RIT): Es un aumento de la funcionalidad del siste-
ma, para luego volver REP a fin de aumentar la funcionalidad del prototipo o continuar, si se logró el objetivo y
alcance deseados.
− Diseño del sistema final (DSF): Consiste en ajustar las restricciones o condiciones finales e integrar los últimos
módulos.
− Implementación del sistema final (ISF): Es el sistema de informático funcionando operativamente, incluyendo
tales objetivos como conversión del programa y datos, (si la hubiere), la instalación y La capacitación del perso-
nal.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
− Operación y mantenimiento (OPM): Es la puesta en funcionamiento del sistema informático, objetivo que se
repite para cada actualización.
− Retiro (RET): Es una transición adecuada de las funciones realizadas para el producto y sus sucesores
Una vez especificadas las etapas, se definen los procesos básicos a considerar para este ciclo de vida, y se definen las
actividades para cada uno de ellos. Los procesos incluyen aquellos concernientes al desarrollo de software a los que
se han incorporado actividades nuevas a fin de tener en cuenta aspectos pedagógicos y didácticos, aunque en la pro-
puesta, no se define una teoría de aprendizaje en particular, sino que las actividades se centran en un enfoque cogni-
tivista-constructivista. Por otra parte, se agregaron algunos procesos nuevos que consideran aspectos no contempla-
dos en el ciclo de vida tradicional, obteniéndose de este modo la matriz ampliada.
En la Figura 1, se presenta el diagrama del el ciclo de vida elegidoiiiii y en la Tabla 1, se puede ver la matriz de acti-
vidades, con el desglose de actividades para cada uno de los procesos para el ciclo de vida elegido utilizando las
abreviaturas mencionadas anteriormente para designar cada etapa.
En la matriz de actividades, se pueden observar sombreadas en color gris, las etapas del ciclo de vida involucradas al
incrementar las funcionalidades para la obtención de los diferentes prototipos, que se han de desarrollar. En fuente
normal se destacan las actividades relativas al desarrollo de software propiamente dicho y en fuente cursiva a aque-
llas actividades concernientes a definir y considerar los aspectos educativos didáctico-pedagógicos para desarrollar el
software pertinente.
Una vez definidas cada una de las actividades, queda por considerar cuáles son los métodos, las herramientas y las
técnicas disponibles para utilizar para cada una de ellas, teniendo en cuenta el modelo de ciclo de vida elegido (pro-
Estudio de
Factibildad
Requisitos
del sistema
Especificación
requisitos prototipo
Diseño del
prototipo
Diseño detallado del Evaluación
prototipo
interna
Desarrollo del
prototipo
Ajustes
Implementación y Evaluación
prueba del prototipo
externa
refinamiento
especificaciones Ajustes
prototipo
Diseño del
sistema final
Implementación del
sistema final
Operación y
mantenimiento
Retiro
Equipo Multidisciplinario
3. La matriz de actividades
En la Tabla 1 se muestra la matriz de actividades completa para el software educativo basado en prototipos evoluti-
vos.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
OPM
DDP
FAC
DPR
DEP
RET
RES
REP
DSF
Actividades de los procesos
RIT
IPP
ISF
Proceso de identificación de la necesidad educativa
Identificar necesidad del programa
educativo
x
Identificar o seleccionar la teoría de
aprendizaje a utilizar para el desarrollo
de acuerdo a la necesidad
Proceso de selección del modelo de ciclo de vida
Identificar de los posibles modelos ciclos
de vida el que más se adapta a las nece- x
sidades.
Seleccionar un modelo para el programa
de acuerdo a la teoría de aprendizaje x
elegida.
Proceso de iniciación, planificación y estimación del proyecto
Establecer la matriz de actividades para
el ciclo de vida considerando la teoría x
de aprendizaje a usar
Asignar los recursos del proyec-
to/programa
x x x x x x x x x x x x
Definir el entorno del proyecto/programa x x x x x
Planificar la gestión del proyec-
to/programa
x x x x
Proceso de seguimiento y control del proyecto
Analizar los riesgos x x x x x x x x x x
Realizar la planificación de contingen-
cias
x x x x x x x x x
Gestionar el proyecto/programa x x x x x x x x x x x x
Implementar el sistema/programa x x x x x x x x x x x x
Archivar registros x x x x x x x x x x
Proceso de gestión de calidad del software
Planificar la garantía de calidad del soft- x x x x
ware
Desarrollar métricas de calidad x x x x x x
Gestionar la calidad del software x x x x x x x x x x x x
Identificar a los responsables de cada x x x x x x x x x x x x
tarea
Implementar el sistema de informes de x x x x x x x x x x
problemas
Archivar registros x x x x x x x x x x
Proceso de exploración de conceptos
Identificar las necesidades educativas x
Formular las posibles soluciones poten- x x x
ciales
Identificar las necesidades del soporte x x x x
lógico
Formular soluciones potenciales compa- x x x
tibles
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
pruebas
Ejecutar las pruebas x x
Archivar los resultados x x x
Proceso de evaluación de los prototipos del software
Confeccionar el instrumento de evalua- x
ción
Evaluar internamente el programa x
Elaborar los resultados x
Identificar los cambios y ajustes a reali- x
zar
Llevar a cabo las modificaciones perti- x
nentes
Archivar los resultados x
Proceso de evaluación interna y externa del software
Confeccionar el instrumento de evalua- x
ción externa
Realizar la evaluación externa el pro- x
grama
Elaborar los resultados x
Llevar a cabo las modificaciones perti- x
nentes
Obtener la versión final del programa. x
Archivar los resultados x
Proceso de evaluación contextualizada
Diseñar la evaluación: definir grupo/s x
(caso de control y experimental), tiempo,
docente, materiales a usar y modo.
Aplicar de la prueba x
Identificar posibles problemas. x
Realizar las modificaciones y ajustes a x
la versión
Archivar los resultados x
Proceso de configuración
Planificar la gestión de la configuración x x x
Realizar la gestión de la configuración x x x x x x x
Realizar el control de la configuración x x x x x x x x x
Realizar la información del estado de la x x x x x x x x x
configuración
Proceso de documentación técnica
Planificar la documentación interna x x x
Planificar la documentación externa x x x
Implementar las documentaciones x x
Incluir los resultados de las evaluacio-
x x
nes
Elaborar el manual de usuario con in-
x x x x x x x
formación técnica.
Producir y distribuir la documentación x x x x x x x x x x
Proceso de documentación didáctica
Planificar la documentación didáctica x x x
Elaborar una guía didáctica, con ejem-
x x
plos de uso.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
En la Tabla 2 se presentan los observar los métodos, las técnicas y las herramientas a emplear en cada uno de los
diferentes procesos descriptos en la matriz de actividades:
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
4. El equipo de trabajo
La creación de programas educativos, es una tarea que compete a diferentes áreas del saber y para este tipo de pro-
yectos educativos es fundamental la formación y la conformación de los equipos de desarrollo.
Para ello, es necesario recurrir a especialistas en: desarrollos de software, planificadores eficaces y docentes conoce-
dores del área de experticia en que se desarrollará el programa, ya que en cada caso habrá que generar un modelo
pedagógico específico de acuerdo a las necesidades.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
Si bien, la conformación de los equipos de desarrollo para software comercial, es una instancia que requiere de la
habilidad del líder del proyecto y de la buenas relaciones entre los integrantes, en este caso en particular, la situación
se torna crítica, debido a la interdisciplinariedad del equipo, centrado en la tarea de integrar y coordinar profesionales
de campos disciplinares diferentes en pos del objetivo.
Básicamente; se necesitan los profesionales con los perfiles que se describen en la Tabla 3.
Algunos investigadores en tecnología y software educativos, como Marquès (1995) consideran que el proceso de
desarrollo del software debe estar centrado en el equipo pedagógico, pero como se deberá tener en cuenta que en el
programa a desarrollar se plasman las contribuciones de dos áreas del saber a través del logro de la calidad técnica la
cual es responsabilidad del equipo técnico y ése debe ser el eje central para un funcionamiento apropiado, ya que
diseñar y desarrollar software es responsabilidad de profesionales del área informática. Por otra parte, la determina-
ción de las tareas a asignar a cada uno integrantes del equipo de desarrollo en cada una de las etapas, juega un rol
crucial ya que el progreso de las mismas permite optimizar los tiempos de desarrollo.
Cabe señalar que en algunos casos que así lo requieran se recurrirá a asesores en tecnologías informáticas y de redes
muy específicas aplicadas a la educación, y a los psicopedagogos que orientarán al equipo cuando se requiera un
producto con alguna característica particular como ser destinatarios con necesidades especiales, cuya población se
deberá caracterizar.
En todo equipo de trabajo, uno de los aspectos a tener en cuenta es la definición precisa de las actividades que deberá
realizar cada uno de los miembros, es decir: “quién hace qué parte”, que facilita la identificación de los responsables
en cada una de las etapas de trabajo, y permite un seguimiento evolutivo de cada uno de los componentes del soft-
ware a lo largo de su desarrollo.
Por otra parte, de acuerdo al modelo de desarrollo propuesto, se llevarán a cabo evaluaciones del producto en las que
deberán intervenir todos los integrantes del equipo.
Luego del análisis de los requisitos educativos, sobreviene el análisis de requisitos de software y la etapa de diseño
del software educativo que es una de las etapas más importantes en el ciclo de vida de este producto, donde deben
interactuar los especialistas en pedagogía y en contenidos con los de diseño software desde la perspectiva computa-
cional.
La etapa de diseño, se puede dividir en dos grandes subetapas: una es el proceso de diseño de los contenidos educati-
vos y la otra el proceso de diseño del software. Posteriormente, el diseño de los contenidos se integrará con el del
software, siendo este un punto crucial, ya que aquí es donde se ponen a prueba las estrategias cognitivas, para que el
alumno tenga la posibilidad de acceder al conocimiento a través de las diferentes actividades propuestas.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
Aquí, resulta fundamental la buena estructuración de los conceptos, considerando la definición correcta del tema, de
los objetivos propuestos y sobre todo de las actividades para que el alumno pueda acceder al conocimiento desde la
visión considerada.
En este sentido, es preciso definir claramente las tareas y las actividades, a través de las diferentes situaciones pro-
blemáticas referidas a la temática en cuestión que se le presenten al alumno. Se busca, que las tareas a ejecutar por
los estudiantes pueden estar definidas de acuerdo a dificultades incrementales y diferentes niveles de complejidad.
Se trata también de que el software sirva de soporte a la tarea docente, es decir que el mismo sea del tipo abierto por
lo que las tareas y actividades a realizar las podría proponer el mismo enseñante, a través de consignas claras y preci-
sas para sus propias necesidades.
Algunos autores, como Valencia (1998) plantean necesidad de llevar a cabo la realización de un análisis subjetivo o
sea, obtener un panorama total de la tarea, desde la perspectiva de la tarea misma y del sujeto que la resuelve, de su
nivel de dificultad, de la estructura, y de la forma en cómo se organiza y articula con los objetivos y posibles modos
de solución. Este autor plantea llevar a cabo un análisis desde la descripción objetiva de la consigna y el análisis
desde los factores que desde el punto de vista cognitivo problematizan y hacen significativo el conocimiento.
7. Otras cuestiones
Hay que señalar que tanto para proyectos grandes o pequeños, se podrán emplear algunos de los modelos disponibles
para realizar la estimación del esfuerzo, del tiempo y los recursos mediante un método convencional, del tipo CO-
COMOivv, puntos funcionales u otros. De este modo, se obtendrá el tiempo estimado de duración del proyecto, el
personal PSF (personal software full–time) requerido, y sobre todo el costo del proyecto, teniendo en cuenta la esti-
mación de las LDC (líneas de código) para realizar el cálculo lo que presupone experiencia previa en proyectos simi-
lares.
Recordando el principio de Gilb (1988) de los objetivos difusos: “los proyectos que no tienen objetivos claros, no
lograrán sus metas claramente”, se puede afirmar que l para poder llevar a cabo un proyecto de esta envergadura o
simplemente un conjunto de programas, es necesario partir de una buena planificación. Una buena planificación se
basa en una distribución eficiente de los recursos en el tiempo y para ello, se plantean metas y submetas, las que se
deberán cumplir de acuerdo a los diagramas calendario (o tipo Gantt) establecidos.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
Para una buena distribución de los recursos es necesario partir de la definición clara de los requerimientos, y conti-
nuar haciéndolo a lo largo del ciclo de vida del software. Esto conlleva a un conocimiento acabado de todas las acti-
vidades involucradas con previsión de los recursos necesarios en cada una de ellas. Además se debe considerar la
serie de etapas que conforman el camino crítico y su repercusión sobre la duración total de proyecto (o programa) a
fin de estimar los posibles retardos y las holguras.
Desde el punto de vista metodológico, esta definición de los pasos a seguir, con las herramientas involucradas en
cada uno de ellos, significa disponer de una manera clara y precisa de una “hoja de ruta” para llevar a cabo el pro-
yecto. Piattini (1996) señala la necesidad y la importancia de las metodologías, para los desarrollos de software, y en
este caso particular se trata de un trabajo interdisciplinario lo que hace que tal necesidad sea mucho más importante,
ya que se deben realizar tareas coordinadas en conjunto y en paralelo.
8. Conclusiones
El aportes original de este trabajo consiste en la identificación de “carencias” en las metodologías de diseño de
software aplicadas al software educativo, ya que los aspectos pedagógicos que deben ser contemplados, por lo que se
planteó una solución partiendo de la una metodología de diseño basada en la Ingeniería de Software, ampliándose la
definición de las fases del ciclo de vida fases para dar solución al problema identificado.
Aunque no se describe en esta comunicación, fueron evaluados dos prototipos y el producto final, llevándose a cabo
evaluaciones internas y externas al equipo de desarrollo y en contexto similar al de uso. Como cita Cabero (2000),
habría que considerar la reacción de los alumnos más allá del efecto novedad y corroborar la prueba experimental a
fin de desechar posibles sesgos. Finalmente, se entregó una copia del trabajo de investigación a los docentes a quie-
nes se entrevistó inicialmente a fin de saber si la metodología respondió a sus expectativas, luego de un período de
aplicación deberán elevar un informe con las sugerencias vertidas.
9. Trabajo Futuros
Se prevé extender la matriz de actividades para otras metodologías de Ingeniería de Software con base en otras teorí-
as de aprendizaje y orientación a objetos a fin de comparar la eficiencia de las distintas metodologías que se propo-
nen y al ámbito de aplicabilidad y por otra parte, se piensa diseñar estrategias de infoalfabetización para docentes que
deseen aplicar y/o diseñar software educativo utilizando estas metodologías. Finalmente, se pensó la creación de
ambientes integrales de trabajo-estudio “diferenciadores” (Cabero Almenara, 2000) que estimulen los diferentes
sistemas simbólicos de los usuarios como favorecedores de los aprendizajes.
http://www.inf.udec.cl/revista
Revista Ingeniería Informática, edición 13, noviembre de 2006
i
Esta comunicación ha sido publicada parcialmente en el Congreso Internacional de Ingeniería Informática ICIE 200 realizado en la Facultad de
Ingeniería de la Universidad de Buenos Aires.
iii
Por razones de claridad, en la Figura 1, no se ha represen las iteraciones a las etapas anteriores.
iv
El Modelo Constructivo de Costos (Constructive Cost Model) fue desarrollado por Boehm a finales de los 70 y comienzos de los 80, detallán-
dolo en su libro "Software Engineering Economics" (1981). Dicho modelo, COCOMO es una jerarquía de modelos de estimación de costes soft-
ware que incluye submodelos básico, intermedio y detallado.
http://www.inf.udec.cl/revista