CAPÍTULO 4. MÓDULO DE DIAGRAMAS ENTIDAD/ RELACIÓN
4.4 CORRECCIÓN AUTOMÁTICA DE DIAGRAMAS ER
4.5.5 El módulo corrector ACME-ER
El tercer punto a considerar es el diseño e implementación del módulo corrector. Cuando un alumno envía una solución a corregir, ésta se guarda con la misma estructura que las soluciones detalladas en la sección 4.5.3, junto con la posición de las entidades y relaciones dentro del área de trabajo. De esta forma, en posteriores consultas se puede reconstruir (ya sea por parte del alumno o del profesor) exactamente el mismo diagrama enviado. Esto también permite enviar una nueva solución a partir de la anterior, de forma que el diagrama visualizado será exactamente el mismo, con las entidades y relaciones situadas en la misma posición y solamente tendrá que realizar las modificaciones oportunas.
La estrategia de corrección se basa en utilizar los nombres de atributos que figuran entre paréntesis en el enunciado del problema. Como el alumno tiene que utilizar estos nombres, identificamos las entidades de la solución del alumno según el campo clave utilizado. En caso de que el alumno asigne un campo no clave como campo clave de una entidad, ésta será considerada incorrecta.
El objetivo de este módulo es comprobar si hay alguna solución correcta asociada a este problema que sea igual a la enviada por el alumno. Si es así se envía el mensaje de solución correcta al alumno. Si la solución del alumno no es correcta hay que determinar cuál de las soluciones correctas almacenadas en el repositorio es la más parecida a la enviada. Tomando de referencia la solución más parecida se envían mensajes al alumno que le ayudarán a detectar sus errores. Así pues este módulo está formado por dos apartados: verificación de la solución y retorno de feedback.
Verificación de la solución.
Este apartado tiene como objetivo detectar si la solución es correcta y en caso contrario retornar la solución correcta más parecida a la enviada por el alumno. A partir del resultado de este apartado se retornará el feedback al alumno.
Tal como se muestra en la Figura 4.6, se van accediendo a las diferentes soluciones correctas descritas en el fichero del problema y se van comparando con la enviada por el alumno. En caso de encontrar una de
igual se envía el mensaje de “correcto” y finaliza el proceso de corrección. En caso contrario, se guarda el grado de diferencia entre la solución enviada por el alumno y cada una de las correctas. Para la determinación de las diferencias se dispone de tres procesos de verificación que van comprobando las diferencias entre las entidades regulares, las débiles y las relaciones Al final del proceso se escoge la que el grado de diferencia es menor como la solución correcta más parecida a la enviada por el alumno y respecto de la cual se enviarán los mensajes de error al alumno.
En este proceso las entidades de la solución del alumno se van identificando según el campo clave utilizado. Una vez identificada una entidad se comprueba que el resto de atributos sean correctos. Las relaciones se van identificando a partir de las entidades que intervienen en la relación y se comprueba que su cardinalidad y atributos sean correctos.
Solución alumno
Primera solución repositorio
Soluciones iguales ? NO SI SI SI Mensaje: CORRECTO PROCESO
REVISIÓN ENTIDADES REGULARES
Entidades regulars iguales ? SI NO Relaciones iguales ? NO NO NO
Entidades débiles iguales ?
PROCESO
Buscar solución con menor diferencia
y acceder a ella (lsolución más parecida) El problema tiene más soluciones ?
PROCESO
REVISIÓN ENTIDADES DÉBILES diferencia:=0
PROCESO
REVISIÓN RELACIONES
Guardar diferencia para solución tratada Acceder siguiente solución
SI
(1)
Figura 4.6 Proceso de verificación de la solución en ACME-ER. Los procesos de revisión de entidades y de relaciones utilizan la estrategia siguiente:
Proceso de revisión entidades regulares. Se accede a él ya sea porque el número de entidades regulares
sea distinto al del alumno, porque el campo clave no lo sea o porque los atributos esperados sean distintos. En función de las diferencias encontradas se van sumando a diferencia los valores parametrizables siguientes:
Si no coincide el número de entidades regulares se suma V1 por cada una de diferencia. Si no se puede identificar una entidad ya que el campo clave asignado por el alumno no
coincide con ningún campo clave de la solución correcta se suma V2 para cada entidad no
identificada.
Para cada entidad, si los atributos no coinciden con los esperados para aquella entidad se suma V3 para cada atributo distinto.
De esta forma cuando más diferentes sean las entidades enviadas por el alumno respecto a la solución correcta comparada, mayor será el valor de diferencia.
Proceso de revisión entidades débiles. Se accede a él ya sea porque el número de entidades débiles sea distinto al del alumno, porque el campo clave parcial no sea correcto o porque los atributos esperados sean distintos. En función de las diferencias encontradas se van sumando a diferencia los valores parametrizables siguientes:
- Si no coincide el número de entidades débiles se suma V4 por cada una de diferencia.
- Si no se puede identificar una entidad débil ya que el campo clave parcial asignado por el alumno no coincide con el de la solución correcta se suma V5 para cada entidad no identificada.
- Para cada entidad débil, si los atributos no coinciden con los esperados para aquella entidad débil se suma V6 para cada atributo distinto.
Proceso de revisión de relaciones. Se accede a él ya sea porque el número de relaciones sea distinto en
las soluciones comparadas, ya sea porque las entidades participantes o la cardinalidad de alguna de las relaciones sean incorrectas o porque los atributos de alguna relación sean incorrectos. En función de las diferencias encontradas se van sumando a diferencia los valores parametrizables siguientes:
- Si no coincide el número de relaciones se suma V7 por cada una de diferencia.
- Si las entidades participantes en la relación no coinciden se suma V8 para cada relación
incorrecta.
- Si la cardinalidad de alguna relación no coincide se suma V9 para cada relación incorrecta.
- Para cada relación, si los atributos de relación de alguna relación no coinciden con los esperados se suma V10.
Los valores asignados a los distintos Vi se han fijado después de varias pruebas y ajustes. Son valores
diferentes en función de la relevancia de cada uno de ellos, por ejemplo tiene más importancia la falta de una entidad que la falta de un atributo o la falta de una relación que la de una cardinalidad errónea. De esta forma cuando más diferente sea la solución enviada por el alumno respecto a la solución correcta comparada, mayor será el valor de diferencia. Seleccionamos la solución con valor de diferencia menor, entendiendo que es la solución correcta más parecida a la del alumno. Esta solución será la que utilizaremos en el apartado siguiente.
Retorno de feedback.
Una vez detectada la solución correcta más parecida a la enviada por el alumno, tenemos que enviarle los mensajes de error con respecto a ésta que le conduzcan a detectar los errores y le faciliten enviar una nueva solución revisada. Para una buena evaluación formativa consideramos que es necesario facilitar mensajes de error que no deben ser muy detallados, ya que no se pretende dar la solución correcta ni decirle exactamente los errores cometidos, sino facilitar mensajes que le sirvan de orientación. En la Figura 4.7 se muestra la estrategia seguida y el mensaje de error que se visualiza. En la Tabla 4.1 se muestra la causa y el mensaje de error facilitado:
Tabla 4.1 Causas y mensajes de error del módulo ACME-ER.
CAUSA MENSAJE ERROR
1 Si el número total entidades no
coincide A la solución enviada le faltan entidades o A la solución enviada le sobran entidades 2 Si número entidades regulares o
débiles no coincide
Tipo de entidades erróneas
3 Si atributos no coinciden La entidad <nombre entidad> es incorrecta 4 Si número total de relaciones no
coincide A la solución enviada le faltan relaciones o a la solución enviada le sobran relaciones 5 Si las entidades, la cardinalidad o
los atributos de la relación no coinciden
Figura 4.7 Proceso de retorno de feedback en ACME-ER.