3 diseño e implementación

78
SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales. 3 Diseño e Implementación Autor: Antonio Martínez Martínez 1 3 Diseño e Implementación 3.1 Software utilizado Solamente se ha utilizado dos tipos de software para la elaboración de este proyecto. Por un lado, nos hemos servido de la herramienta WAMP5 con el fin de tener un servidor web Apache donde poder realizar las pruebas de la aplicación. Y por otro, se ha usado la herramienta Drawing del paquete OpenOffice 2.0 para la edición de los iconos del sistema así como para la creación de los planos de la base de datos y de la estructura de la aplicación. No ha sido necesario usar ninguna aplicación más, pues la programación de las distintas partes, bien sean CSS, XHTML, PHP o JavaScript, se ha realizado sobre simples documentos de texto. A continuación entraremos a detallar cuál es el funcionamiento de la herramienta WAMP5, qué aplicaciones contiene y su manejo básico. 3.1.1 Herramienta WAMP5 Existe una manera de comenzar a utilizar PHP5 en Windows sin tener que sufrir las complicaciones típicas de la instalación de los servidores necesarios para programar en PHP. Se trata de instalar el paquete llamado WAMP, que permite instalar y configurar en un solo proceso el servidor Apache, la base de datos MySQL y el módulo de programación en PHP versión 5. De hecho, WAMP es el acrónimo que define la combinación de Windows, Apache, MySQL y uno o más lenguajes de script que pueden ser PHP, Perl y/o Python. Es un conjunto o paquete de software construido como el ya popular LAMP, que utiliza Linux en lugar de Windows. WAMP es un sistema indicado para los usuarios que no tienen instalado en el sistema ninguno de los programas necesarios para programar en PHP (Apache,

Upload: others

Post on 07-Jul-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 1

3 Diseño e Implementación

3.1 Software utilizado

Solamente se ha utilizado dos tipos de software para la elaboración de este

proyecto. Por un lado, nos hemos servido de la herramienta WAMP5 con el fin

de tener un servidor web Apache donde poder realizar las pruebas de la

aplicación. Y por otro, se ha usado la herramienta Drawing del paquete

OpenOffice 2.0 para la edición de los iconos del sistema así como para la

creación de los planos de la base de datos y de la estructura de la aplicación. No

ha sido necesario usar ninguna aplicación más, pues la programación de las

distintas partes, bien sean CSS, XHTML, PHP o JavaScript, se ha realizado

sobre simples documentos de texto. A continuación entraremos a detallar cuál

es el funcionamiento de la herramienta WAMP5, qué aplicaciones contiene y su

manejo básico.

3.1.1 Herramienta WAMP5 Existe una manera de comenzar a utilizar PHP5 en Windows sin tener que

sufrir las complicaciones típicas de la instalación de los servidores necesarios

para programar en PHP. Se trata de instalar el paquete llamado WAMP, que

permite instalar y configurar en un solo proceso el servidor Apache, la base de

datos MySQL y el módulo de programación en PHP versión 5. De hecho, WAMP

es el acrónimo que define la combinación de Windows, Apache, MySQL y uno o

más lenguajes de script que pueden ser PHP, Perl y/o Python. Es un conjunto o

paquete de software construido como el ya popular LAMP, que utiliza Linux en

lugar de Windows.

WAMP es un sistema indicado para los usuarios que no tienen instalado en el

sistema ninguno de los programas necesarios para programar en PHP (Apache,

Page 2: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 2

PHP y MySQL), ya que realiza una instalación completa y desde cero. Pero

también pueden utilizar este programa los usuarios que disponen de Apache,

PHP y/o MySQL en su sistema. En cuyo caso, simplemente se realizará otra

copia de las aplicaciones en un directorio distinto, que en principio, no tiene por

qué interferir con las otras instalaciones alojadas en el equipo.

Ø Aplicaciones que contiene WAMP5

El software que se instala con WAMP5 contiene los siguientes servidores y

programas:

● Apache 1.4.4. El servidor de páginas web más extendido del mercado.

Aunque la última versión de este servidor es Apache 2, se instala una

versión anterior que resulta más estable. Existe un Add-on que permite

sustituir la versión 1.4.4 de Apache por la última versión.

● PHP5. El motor renovado del lenguaje.

● MySQL. La base de datos más extendida para utilizar con PHP.

● PHPmyadmin. Un software que permite administrar una base de datos a

través de una interfaz web.

● SQLitemanager. Un sistema para administrar una base de datos a partir

de sentencias SQL.

Ø Instalación de WAMP

La instalación se realiza a través de un ejecutable Windows donde se pueden

introducir muy pocas opciones de configuración, apenas el directorio donde se

desea que se instalen los programas y aquel que actuará como raíz a la hora de

realizar las llamadas a “localhost”. Después del proceso de instalación se habrán

creado un par de servicios con el servidor web y el de bases de datos:

● Servicio wampapache: Relacionado con el servidor Apache.

● Servicio wampmysql: Relacionado con la base de datos MySQL.

Page 3: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 3

Además, dentro del directorio donde haya sido instalado WAMP5 se habrá

creado una carpeta llamada "www", que corresponde con el directorio de

publicación, es decir, el lugar donde se deben colocar las páginas web.

Durante la instalación también hay que decidir si se desea que WAMP5 se

inicie automáticamente al arrancar el equipo o si, por el contrario, que su puesta

en marcha se realice manualmente.

Ø Puesta en marcha de los servidores

Al instalar WAMP5 se crea un grupo de programas llamado WampServer,

donde habrá una opción llamada "Start Wampserver", que será necesario

ejecutar si no hemos seleccionado que el servidor se inicie automáticamente.

Una vez arrancado WampServer se creará un icono en la barra de tareas con

una forma similar a la de un marcador de velocidad. Al pulsar sobre ese icono se

abrirá un menú con opciones variadas para gestionar los servicios relacionados

con el paquete. La Figura 3.1.1 muestra ese menú:

Page 4: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 4

Figura 3.1.1

Ø Add ons

Existen varios añadidos que se pueden instalar con WAMP, para ampliar las

posibilidades del paquete. Por ejemplo, es posible instalar un add-on para

permitir que WAMP trabaje con PHP5 o bien PHP4, creando una nueva opción

en el menú de WAMP5 que permite cambiar de una versión a otra de PHP.

Hay otros añadidos disponibles:

Instalar ActiveState Perl en nuestro sistema, para permitir la ejecución de

CGI.

Actualizar a la versión de Apache 2.

Instalar Zend Optimizer, para mejorar el comportamiento en tiempo de

ejecución de PHP.

Por último, el add-on que instala Webalizer, un sistema para obtener

estadísticas de uso del servidor web.

Page 5: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 5

Se puede obtener más información de este sistema y opciones para la

descarga en la página oficial de WAMP. [2]

Page 6: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 6

3.2 Visión global de la aplicación

3.2.1 Punto de vista teórico En este punto se pretende dar una visión general del funcionamiento y

estructura del sistema SELWA. Son dos los objetivos fundamentales que

persigue la aplicación. En primer lugar, surge como medio de mantener

plenamente informados a los padres/tutores de un niño con necesidades

educativas especiales, mediante el acceso de los propios padres/tutores a

cualesquiera de los datos reflejados en la base de datos relativos a su hijo.

Asimismo, permite la integración y distribución de la información de un

alumno, entre los distintos “actores” que forman parte de su vida académica, en

este caso, profesor, especialista/s, y por supuesto, padres/tutores, de tal forma

que TODOS acceden a TODA la información que diariamente se refleja del

alumno, y como consecuencia de esto, todos tienen la posibilidad de obtener

informes personalizados, reflejando los campos que cada cual considere más

relevantes para el seguimiento periódico del alumno. Es en este punto donde

enlazamos con el segundo objetivo de SELWA: la automatización de informes.

Gracias a la clasificación en áreas y subáreas que se ha realizado a la hora de

reflejar un apunte diario en la actividad de un alumno, el sistema es

completamente autónomo a la hora de generar un informe de un período

determinado y acerca de unos aspectos determinados. Con un simple “click”, y

tras haber especificado el período a evaluar sobre un alumno en cuestión, el

sistema nos genera un informe en formato “pdf” clasificado por días, áreas,

subáreas y asuntos.

Estos son los dos grandes objetivos que persigue el presente proyecto. Más

adelante, en el apartado “Líneas futuras” se especifica el resto de posibilidades

que se le pueden añadir al sistema, para hacerlo una herramienta perfecta para

el trabajo diario de un profesor, de un especialista asociado a un alumno o de un

Page 7: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 7

padre que no dispone del suficiente tiempo como para ir al colegio de su hijo a

saber acerca de la evolución del niño.

En cuanto a la estructura, la aplicación se ha dividido en 3 grandes

bloques:

Creación de fichas/usuarios.

Gestión de fichas/usuarios.

Informes

En el primero se incluyen los archivos que permiten la generación de nuevas

altas, tanto de usuarios del sistema (profesores o consultores), como de

alumnos. El sistema está diseñado de manera que en primer lugar se realice el

alta de los usuarios en el sistema, y una vez hecho esto, se empiecen a generar

las fichas de los alumnos.

El bloque “Gestión de fichas/usuarios” engloba los archivos que nos permiten

mantener actualizado nuestro sistema en cuanto a información relativa a

profesores, consultores o alumnos se refiere: modificación de datos, eliminación

de fichas, creación de nuevos objetivos, generación diaria de información del

alumno... en definitiva, la gestión y mantenimiento de los usuarios de la

aplicación.

Por último, el bloque “Informes” abarca, como no podía ser de otra manera,

todos los archivos relacionados con la generación, modificación,

almacenamiento y supresión de informes de los alumnos.

En las distintas zonas en que se divide el sistema SELWA, aparecerán una

serie de iconos, cada uno representando una información distinta. Al posicionar

el ratón encima de algunos de ellos, aparecen mensajes de ayuda que intentan

mejorar la experiencia del usuario con la aplicación. A continuación se muestran

estos iconos:

Page 8: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 8

Buscar Copiar Información Ayuda

El último de ellos es el que va a mostrar al usuario información extra sobre el

funcionamiento del apartado en el que se encuentra, en unos casos, e

información acerca del contenido que muestran algunos menús de selección que

pueden no ser obvios, en otros. El icono “Información” se usa como mero

acompañador del texto explicativo que aparece en diferentes zonas de la

aplicación, indicando que ahí se muestra una breve explicación del apartado.

Finalmente, los iconos “Buscar” y “Copiar” mostrarán textos de ayuda sobre

cómo rellenar los campos a los que acompañan y qué información se rellenará a

partir de su pulsación. La figura 3.2.1.1 muestra un ejemplo de consulta de

ayuda:

Figura 3.2.1.1

Ejemplo de consulta de ayuda al posicionar el ratón sobre el icono

En los puntos que siguen, se abordará en detalle cada una de las partes

Page 9: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 9

fundamentales que componen el sistema, y se explicará cuál es su

funcionamiento interno.

3.2.2 Punto de vista técnico Desde el punto de vista técnico, la aplicación se encuentra dividida en capas

(“divs”), que son los elementos XHTML que permiten realizar un maquetado

estructurado. Todas las páginas del sistema poseen 8 capas fundamentales:

Ø Cabecera (logo, fecha y hora)

Ø Jerarquía (en qué punto del sistema de archivos se está)

Ø Lateral (abarca todo el margen izquierdo)

Ø Lateral1 (usuarios on-line)

Ø Lateral2 (accesos directos)

Ø Lateral3 (calendario)

Ø Principal (en esta se carga la información solicitada en cada momento)

Ø Pie (créditos y enlace de contacto)

Existen multitud de líneas comunes en la mayoría de los archivos que

componen SELWA. En primer lugar, siempre aparecerá una línea que incluye el

módulo de funciones (“funcs.php”). Este módulo inicializa las instancias

encargadas de las sesiones, de la conexión a la base de datos (sólo en algunos

casos, no en todos) y del control de acceso, además de contener la colección de

funciones PHP que son llamadas a lo largo de la aplicación. Tras comprobar que

el usuario que intenta acceder a la página se ha registrado correctamente desde

la página de inicio, se instancia la función que maneja los mensajes AJAX de

ayuda y se empieza a cargar la página.

Page 10: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 10

En el módulo de carga de hojas de estilo y scripts, se realiza la llamada a

distintos archivos, también comunes a todas las páginas. Éstos se clasifican en 3

grupos:

Ø Hojas de estilo (archivos CSS necesarios para la correcta visualización de

la página en cuestión)

Ø Funciones JavaScript (llamada a las funciones JavaScript comunes para

el funcionamiento de las pestañas, ayuda, etc.)

Ø Biblioteca NiftyCube (conjunto de funciones que hacen posible el

redondeo de esquinas de las capas). Esta biblioteca está formada por 3

archivos: niftycube.js, niftyCorners.css y niftyPrint.css, ubicados dentro

de la carpeta “css” (ver estructura de carpetas más abajo). A pesar de ser

uno de ellos un archivo JavaScript, se han englobado los 3 dentro de la

carpeta de hojas de estilo, pues su misión es esa, aplicar un estilo a

determinados elementos (por lo general, capas). La biblioteca NiftyCube

es un desarrollo de software libre que posibilita, sin necesidad del uso de

imágenes, el redondeo de las esquinas de elementos “div” con objeto de

dar una apariencia más agradable. Un ejemplo de llamada podría ser:

Nifty("ul#nav a","big transparent top");

que realizaría el redondeado de un elemento “a” que se encuentra dentro

de otro “ul” con identificador “nav”, sólo de su parte superior (top) y con

un radio grande (big). Otras posibilidades de redondeado serían “small” o

“normal”, pudiendo aplicarse a cualquier esquina individualmente, por

parejas (sólo superior, sólo inferior, sólo izquierda o sólo derecha) o a

todas.

Desde este punto, se empieza a generar la estructura de capas definida arriba,

siendo la capa “principal” la única que varía en función de en qué parte de la

aplicación se esté.

Page 11: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 11

La estructura de carpetas de la aplicación tiene la forma mostrada en la figura

3.2.2.1:

Figura 3.2.2.1 Estructura de directorios de la aplicación SELWA

A continuación se detalla el contenido de cada una de las carpetas

principales.

Ø calendario: contiene un calendario PHP cuyo código es de libre

distribución, no ha sido programado para esta aplicación pero, como se

indica en el apartado “Líneas futuras”, sí que está pensada su

implementación. En este caso simplemente se trata de mostrar dónde iría

ubicado.

Ø css: aquí se encontrarán todas las hojas de estilo utilizadas.

Ø fotos: carpeta que contiene todos los iconos mostrados, así como los

fondos que rellenan la aplicación.

Page 12: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 12

Ø fpdf: librería PHP que posibilita la generación de los informes en

formato PDF.

Ø imgs: aquí se guardan las fotografías que se asocian en el proceso de

creación de fichas, tanto de alumnos como de usuarios.

Ø javascript: colección de funciones JavaScript utilizadas en las distintas

partes del sistema. Están divididas, por un lado, las referentes a la

creación de fichas de alumnos y/o de usuarios (en el primer nivel de la

carpeta) y, por otro, las que se usan en la gestión de dichas fichas

(subcarpeta “funcs_ficha”).

Ø reg: en esta carpeta se incluyen los 4 archivos necesarios para el control

del registro de usuarios, conexión a la base de datos (no en todos los

casos) y manejo de sesiones.

Ø xajax: biblioteca formada por archivos PHP y JavaScript que permite la

adición de efectos dinámicos y de consultas rápidas a base de datos

(utilizada fundamentalmente para mostrar los mensajes de ayuda allá

donde aparezca el icono ).

El resto de archivos se encuentran en el primer nivel de la jerarquía (carpeta

“SELWA”), y se dará más información acerca de ellos en los apartados en que

intervengan, dentro de los puntos “Información técnica”. A continuación se

muestra la explicación técnica detallada del mecanismo de ayuda, pues es uno

de los elementos que más contribuyen a una correcta experiencia de usuario en

el manejo de la aplicación.

• Mecanismo de Ayuda

Como ya se comentó en el apartado “Punto de vista teórico”, a lo

largo de la navegación por el sistema SELWA aparecen determinados

Page 13: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 13

iconos al lado de algunos títulos. No en todos los casos, pero sí en la

mayoría, posicionar el puntero del ratón sobre ellos muestra

información extra acerca del apartado en el que se encuentra el

usuario. La programación que se esconde tras ellos está realizada a

partir de la biblioteca XAJAX, de libre distribución, de manera que se

realizan pequeñas consultas a la base de datos, de forma transparente

al usuario, realizando un mapeo entre un código que se envía a la

función AJAX y el texto al que corresponde dicho código. Al situar el

ratón encima de uno de los iconos se realiza una llamada a

“manejador_ayuda”, una función JavaScript que recibe como

parámetros el objeto sobre el que se realiza la acción; “tipo”, una

variable que indicará a qué categoría pertenece la llamada y “valor”,

que indicará qué mensaje de ayuda hay que mostrar dentro la

categoría “tipo” seleccionada. Esta función mapeará los códigos

“valor” recibidos en valores entendibles por la función PHP

“muestra_ayuda”, que será la encargada de desencadenar el

mecanismo de consulta AJAX. Justo antes de esto se llama a otra

función JavaScript, “ini_wait”, que realiza la carga del elemento que

muestra el icono de espera mientras se obtienen los datos

procedentes de “muestra_ayuda”. Previo también a la llamada AJAX

es la configuración de la posición en la que se mostrará el mensaje de

ayuda, pues existen zonas del sistema en las que existen barras de

desplazamiento, lo que obligará a tomar la posición relativa del

objeto sobre el que se desea mostrar información extra y realizar

pequeños desplazamientos para que la capa que contiene la ayuda no

oculte el resto de información.

Entrando ya de lleno en la función “muestra_ayuda”, decir que se

encuentra en el archivo “server.php”, que será el que sirva para

instanciar el objeto AJAX mediante la sentencia:

Page 14: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 14

$xajax = new xajax("server.php");

para posteriormente realizar el registro de la función mediante:

$xajax->registerFunction('muestra_ayuda');

Se va ir explicando el funcionamiento de las distintas zonas que

componen la función:

1. Includes: Se requiere la inclusión de 2 archivos:

“actualiza_DB.php” y “xajax_inc.php” (perteneciente a la

biblioteca XAJAX).

2. Preparación de la respuesta: Se instancia el objeto

que servirá para devolver la respuesta, con la directiva:

$objResponse = new xajaxResponse();

3. Obtención mensaje: Conexión con la base de datos y

obtención del mensaje de ayuda a mostrar a partir de las

variables facilitadas, “tipo” y “valor”:

$sql="SELECT * FROM ayuda WHERE asoc='$tipo' AND valor=$valor"; if($result=mysql_query($sql)){ while($row=mysql_fetch_array($result)){ $frase=$row['contenido']; } }

4. Creación y formateo del elemento contenedor: Se

crea y se da formato a la capa que mostrará el mensaje,

añadiendo distintos estilos mediante CSS a los elementos

de la capa de ayuda, gracias al identificador:

Page 15: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 15

$frase_out="<div id='capa_help'><strong>Ayuda</strong></div><br />"; $frase_out .= $frase;

$objResponse->addAssign("ayuda","innerHTML", $frase_out);

5. Devolución del resultado y solicitud de petición:

Se devuelve el elemento creado, con los datos solicitados,

y se realiza la petición del proceso de vuelta:

return $objResponse->getXML(); $xajax->processRequests();

3.2.3 Base de datos MySQL

3.2.3.1 Estructura Las tablas empleadas en el sistema son de tipo MyISAM, debido a que

existirán muchas más operaciones de lectura que de escritura, para lo que este

tipo de tabla es el idóneo.

El nombre que se le ha dado a la base de datos es “db_ee”, y consta de 14

tablas. Mediante el nombre de éstas se pretende dar una idea de la información

que almacenan. A continuación se muestra una breve explicación del contenido

de cada tabla, así como su nombre:

Ø al_cons: relación entre los identificadores de alumnos y consultores

indicando, además, el tipo de consultor del que se trata.

Ø al_diag: información relativa al diagnóstico del alumno.

Ø al_info_fam: datos familiares del alumno.

Ø al_info_pers: datos personales del alumno.

Ø al_prof: relación entre los identificadores de alumnos y profesores.

Ø ayuda: tabla que contiene el texto de los mensajes de ayuda, la categoría

a la que pertenecen y el valor numérico en el que son mapeados.

Page 16: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 16

Ø codigo_error: información referente a los distintos mensajes de error

que son mostrados, así como el valor numérico en el que son mapeados.

Ø ev_ini: información relativa a la evaluación inicial del alumno.

Ø info_diaria: datos introducidos por el profesor, relativos al

comportamiento y actividades diarias del alumno.

Ø prof_obj: aquí se registran los datos referentes a la programación de los

objetivos que el profesor ha seleccionado para el alumno.

Ø quest_ncc: cuestiones a listar en la pestaña “N.C.C.”, junto con los

valores numéricos en que son mapeadas.

Ø res_ncc: contiene los resultados de las competencias seleccionadas para

un alumno en la pestaña “N.C.C”, indicando el valor numérico, la

respuesta seleccionada y si es objetivo o no.

Ø us_info_p: datos personales de los usuarios del sistema (profesores,

consultores y administrador).

Ø users_control: información acerca del registro de usuarios:

identificador de sesión, login registrado, dirección IP, etc.

En el apartado 6.1 (“Planos de base de datos”) se encuentran reflejados los

diagramas entidad-relación, donde se indican los campos que contiene cada

tabla, así como las relaciones entre ellas.

Page 17: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 17

3.2.3.2 Conexión PHP ßàMySQL Como se indicó en los apartados 2.2.4 y 2.2.5, PHP y MySQL están muy

interrelacionados. PHP proporciona multitud de métodos para el correcto y

completo manejo de bases de datos MySQL. En la implementación del presente

proyecto se han empleado dos formas diferentes (pero similares en su

ejecución) de utilizar los métodos PHP para el manejo de MySQL. Por un lado

se ha utilizado de forma clásica, es decir, mediante programación orientada a

procesos. Un ejemplo de inserción de datos mediante este método podría ser:

mysql_connect($server, $username, $password); $sql = “INSERT INTO al_prof (id_al, id_prof) VALUES (2, 3)”; mysql_query($sql);

Por otro lado, también se ha realizado el manejo de la base de datos mediante

programación orientada a objetos (POO). Para ello, se ha programado una clase,

“DATABASE”, incluida en el archivo “database.php”, que incluye los métodos

necesarios para el tratamiento con MySQL. Esta clase es instanciada desde

“init.php”, junto con el tratamiento de sesiones y control de usuarios.

A continuación se muestran estos métodos y su funcionamiento:

Ø __construct

C0nstructor de la clase. Realiza la conexión con la base de datos

mediante:

$this->connection = mysql_connect($server, $username, $password); Devuelve “true” en caso de éxito y “false” en caso de error.

Ø select

Método de consulta de datos. Realiza la búsqueda de información en

función de los parámetros “$table” (tabla donde buscar), “$where”

(campos y patrón a coincidir) y “$type” (tipo de valor devuelto, array o

Page 18: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 18

array asociativo).

Devuelve el array con los datos en caso de éxito o “false” en caso de

fallo.

Ø insert

Inserta los datos recibidos en “$data” en “$table”, realizando

previamente una separación de estos datos mediante el método

“implode” y la selección de campos mediante “getFields”. Antes de la

inserción se comprueba que no sea código malintencionado, es decir, que

no se intenten insertar sentencias SQL, gracias al método “secure”.

Devuelve “1” en caso de éxito, “2” en caso de error de inserción por

duplicación de registro o “0” en cualquier otro caso de error.

Ø update

Actualiza los datos en “$table” con los valores registrados en

“$update” en los campos indicados por “$where”.

Devuelve “true” en caso de éxito y “false” en caso de error.

Ø delete

Elimina un registro coincidente con “$where” de la tabla “$table”.

Devuelve “true” en caso de éxito y “false” en caso de error.

Ø getFields

Obtiene los campos de la tabla indicada por “$table”. Utilizado en

“insert”. Devuelve un array con los campos en cuestión en caso de éxito y

“false” en caso de error.

Ø secure

Comprueba que no se esté intentando realizar una inyección de código

SQL en la base de datos.

Page 19: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 19

Devuelve la cadena pasada como parámetro, pero con los caracteres

“escapados”, es decir, sin riesgo de inyección.

Ø close

Cierra la conexión MySQL.

Las funciones PHP utilizadas para generar las peticiones son exactamente

igual que en el caso de programación orientada a procesos. El motivo de utilizar

ambas formas fue el aprendizaje de la POO durante el proceso de programación

de la aplicación. Debido a haber tenido ya programadas algunas de las funciones

relativas al tratamiento de información con la base de datos, no se ha querido

eliminar dicha programación, sino simplemente completarla con una forma

distinta de realizar las mismas operaciones.

Page 20: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 20

3.3 Módulos de registro

En este apartado se expondrán las diferentes formas de registro de los

diferentes usuarios del sistema. Por un lado, se explicará qué mecanismos se

desencadenan en el momento que un usuario de tipo “profesor”, “consultor” o

“administrador” intenta acceder al sistema, haciendo hincapié en los distintos

privilegios que cada uno de ellos tiene según su perfil. Por otro lado, se verá el

funcionamiento del mecanismo de alta de alumnos, exponiendo qué

condiciones tienen que darse en determinadas áreas para poder realizar tal

registro con éxito.

En cada uno de los apartados se realiza una exposición acerca del manejo de

la herramienta, para a continuación dar una explicación técnica de cómo se ha

realizado la programación.

3.3.1 Acceso al sistema

3.3.1.1 Punto de vista teórico El acceso a la aplicación se produce cuando un usuario introduce

correctamente el usuario y la contraseña que le fueron asignados en el proceso

de alta de fichas de usuario. Estos parámetros son seleccionados por el

administrador de la herramienta, y no pueden tener más de 8 caracteres

ninguno de ellos, pudiendo estar formados por cualquier combinación de

caracteres alfanuméricos.

En el momento en que se produce el correcto registro de un usuario, se inicia

una sesión. Ésta permitirá mantener el control sobre los usuarios que, en cada

momento, están conectados, para así mostrar una lista de ellos en el lateral

superior de la ventana. Para finalizar dicha sesión, basta con pulsar el botón

“Logout”, que aparece en la parte inferior de la lista.

Page 21: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 21

3.3.1.2 Punto de vista técnico A continuación se realizará una completa explicación de las clases y métodos

que permiten el comportamiento de registro anteriormente citado.

Los archivos que intervienen en la comprobación del registro de un usuario

se encuentran en la carpeta “reg” de la estructura de directorios del sistema, y

son cuatro: “init.php”, “sessions.php”, “control.php” y “database.php”. Se irán

explicando uno a uno.

Ø init.php

Es el archivo encargado de incluir a los otros tres. Se encuentra

embebido dentro de “funcs.php”, el cual es requerido en todas y cada

una de las páginas del sistema, de modo que todas las funciones de

este fichero se encuentran disponibles en cualquier zona de la

aplicación, así como la inicialización de los parámetros para la

conexión con la base de datos y aquellos que se utilizan en el control

de acceso de los usuarios a las distintas zonas.

Estas inicializaciones son producidas mediante las siguientes

líneas (que componen el archivo “init.php”):

require("reg/sessions.php"); require("reg/database.php"); require("reg/control.php"); $GLOBALS['selwa']->session=new SESSIONS();

$GLOBALS['selwa']->database=new DataBase("localhost","root","","db_ee");

$GLOBALS['selwa']->control=new CONTROL(15);

Ø sessions.php

En este archivo se encuentra la clase “SESSIONS”, encargada de

proporcionar la interfaz con las variables de sesión del servidor.

Page 22: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 22

Contiene una serie de métodos que facilitarán el manejo de estas

variables, así como permitir una simple migración de código sin más

que modificar la clase, sin afectar a la estructura de la aplicación.

Estos métodos son:

• setId($id) : Establece el identificador de sesión.

• getId() : Recupera el identificador de sesión.

• getDataArray() : Recupera el array de variables de sesión.

• getData($variable) : Recupera una variable de sesión.

• setDataArray($data) : Establece el array de variables de

sesión.

• setData($variable,$value) : Establece una variable de

sesión con valor “$value”.

• delete($variable) : Borra una variable de sesión.

• deleteAll() : Borra el array completo de variables de sesión.

• destroy() : Elimina la sesión en el servidor.

Ø control.php

La principal misión de la clase “CONTROL” es la de proporcionar

una serie de métodos que permitan mantener la supervisión de los

accesos al sistema, así como la de la creación de las sesiones, con

objeto de tener un correcto control sobre la lista de usuarios que, en

cada momento, están conectados. Para ello, las primeras acciones que

se realizan (a cargo del constructor) son, en primer lugar, comprobar

que se ha enviado el formulario de registro, es decir, el “login” y el

“password” del usuario que intenta acceder para, a continuación,

detectar dichas variables (enviadas por método POST), y realizar la

llamada al método “registerUser” en caso de una correcta recepción.

Durante este proceso (generado mediante el método “analyze”) se

comprueba si la sesión estaba ya establecida y, en caso de no estarlo,

generar los datos necesarios para crearla. Es en este punto donde se

Page 23: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 23

registra la información de sesión en la base de datos, mediante la

llamada al método “refresh” (actualizando la tabla “users_control”).

La llamada a “registerUser” (pasando como parámetros “login” y

“password”) provoca la comprobación de que el usuario y contraseña

introducidos sean correctos, procediéndose, en caso de éxito, a la

preparación y posterior inserción de los datos de sesión de usuario en

la base de datos. En caso contrario, se genera un mensaje de

información, indicando la causa, pudiendo ser debido a que el usuario

ya se encuentra registrado o a que el “login” o “password” son

incorrectos.

El tiempo asignado a una sesión es de 15 minutos, pudiendo

variarse este valor en la configuración del constructor, sin más que

modificar el valor de la variable “$time”. En caso de que este tiempo

sea superior al valor definido, se borra la entrada.

De esta manera, cada vez que un usuario carga una página,

actualiza su información de sesión y borra las entradas “caducadas”,

manteniendo así el control sobre los usuarios que se encuentran

online.

Por último, reseñar que la acción de “logout” por parte de un

usuario que desea abandonar el sistema, provoca la llamada a

“unregisterUser”, donde se actualizan sus variables de sesión a

valores que indiquen dicho abandono (login=0 e id_us=-1).

Ø database.php

La clase “DATABASE” ya fue explicada en el apartado 3.2.3.2

“Conexión PHPßàMySQL”, por lo que no se volverá a incidir sobre

su funcionamiento.

Page 24: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 24

3.3.2 Módulo de registro de usuarios

3.3.2.1 Introducción: Perfiles y permisos Como se ha venido mencionando a lo largo del presente documento, en el

sistema SELWA intervienen tres tipos de usuario (además, obviamente, de los

alumnos): administrador, profesor y consultor. En función del perfil que tenga

asignado un usuario, una vez se haya registrado, se le presentará la aplicación

con una interfaz u otra. Parece lógico que, por ejemplo, a un usuario con perfil

“consultor” no se le presente la opción de modificar las fichas de los usuarios

registrados en el sistema. O, por otro lado, que al administrador se le permita el

acceso a toda la información del sistema, pues es el encargado de, ante cualquier

incidencia o confusión, actuar consecuentemente, eliminando un registro

insertado por error o actualizando convenientemente el “Tablón de Anuncios”.

A continuación se detallan los tres perfiles definidos, mostrando a qué

recursos tiene acceso cada uno de ellos.

3.3.2.2 Modo Administrador El modo “Administrador” es el que disfruta de la implementación de SELWA

en su totalidad. Sólo existirá un usuario con tal perfil definido, y tendrá la

posibilidad de acceder a todas las zonas del sistema con todo tipo de privilegios

para crear, modificar o eliminar registros. En la figura 3.3.2.2.1 se muestra la

pantalla asociada a este perfil.

Page 25: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 25

Figura 3.3.2.2.1 Pantalla principal del perfil “Administrador”

El administrador es el primer registro que se introduce en la base de datos

durante la instalación del sistema. Es absolutamente necesario que sea así,

debido a que es el único usuario que tiene la posibilidad de dar de alta a nuevos

elementos de tipo “profesor” o “consultor”, es decir, el único capaz de añadir

otros actores en la aplicación. Ya se indicó en apartados anteriores que la

herramienta está diseñada de forma que sean los usuarios con perfil “profesor”

y “consultor” los primeros en ser dados de alta en la base de datos, con objeto de

que al ir generando las fichas de los alumnos, ya existan dichos usuarios para

poder asignarlos. La pantalla mostrada para la creación de estos usuarios se

muestra en la figura 3.3.2.2.2:

Page 26: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 26

Figura 3.3.2.2.2

Pantalla de “Creación de usuarios”

Este usuario es el destinatario de cualquier incidencia que se plantee en el

sistema, como pueda ser la eliminación por parte de un profesor de un mensaje

recibido de un consultor de tipo “tutor” debido a críticas a su labor docente para

con el alumno. En este caso, el mensaje no se elimina de la base de datos, sino

que pasa a formar parte de otra tabla a la que sólo el administrador tiene acceso,

de forma que puede revisarla periódicamente y comprobar si ha habido algún

tipo de incidencia que se ha tratado de ocultar. Es, asimismo, el encargado de

realizar las operaciones de mantenimiento lógicas de cualquier base de datos:

creación de fichas para nuevas altas, actualización de datos de usuarios,

eliminación de bajas, mantenimiento del “Tablón de Anuncios”, etc.

De entre las opciones implementadas en la aplicación, el administrador tiene

acceso a las siguientes:

1. Gestión de usuarios:

• Crear usuario.

2. Gestión de fichas de alumnos:

• Crear ficha.

• Modificar ficha.

Page 27: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 27

• Eliminar ficha.

3. Gestión de informes:

• Crear informe.

De entre las ampliaciones propuestas en el apartado “Líneas futuras”, el

administrador sería el encargado de la gestión de las siguientes:

1. Agenda:

• Gestión de la agenda compartida de profesores, fechas y citas

comunes.

2. Tablón de Anuncios:

• Mantenimiento y filtrado de los mensajes publicados.

3. Correo Interno:

• Mantenimiento y eliminación definitiva de mensajes borrados

por parte del propietario. Comprobación del contenido de los

mensajes.

Page 28: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 28

3.3.2.3 Modo Profesor El usuario “profesor” se diferencia del “administrador” en aquellas tareas que

tengan que ver con la gestión de usuarios y con el mantenimiento de la base de

datos. La figura 3.3.2.3.1 muestra la pantalla para este usuario.

Figura 3.3.2.3.1 Pantalla principal para el perfil “Profesor”

El cometido más importante del profesor es la introducción diaria de

información relativa al comportamiento de los alumnos. Este menú sólo lo tiene

disponible este perfil. Dentro del módulo “Gestión de alumnos”, tras haber

buscado la ficha de un alumno y seleccionar la opción “Ver”, aparece una

pestaña con etiqueta “Hoy”, en la cual el profesor selecciona el área y subárea a

la que corresponden la información que va a introducir. Ver figura 3.3.2.3.2.

Page 29: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 29

Figura 3.3.2.3.2 Pantalla de registro de información diaria del profesor

En el momento en que se crea la ficha de un alumno (opción que también

tiene disponible el profesor, no sólo el administrador), es necesario asociarle un

profesor. Desde este instante, un profesor busca la ficha de un alumno para, por

ejemplo, modificar un dato o realizar un apunte diario, la lista de alumnos que

le es mostrada se compone únicamente de aquellos que han sido asociados a

dicho profesor. De este modo, cada usuario sólo tiene acceso a la información de

sus alumnos. Respecto a su grupo de alumnos asociado, el profesor puede:

1. Gestión de fichas:

• Crear nuevas fichas.

• Modificar fichas existentes.

Page 30: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 30

• Ver datos de una ficha asociada (aquí es donde además puede

añadir los registros de información diaria sobre el alumno).

• Eliminar fichas (en este caso el que elimina realmente la ficha

de la base de datos sería el administrador. El profesor con la

acción de eliminar consigue que no se le muestre más la ficha

de ese alumno).

2. Gestión de informes:

• Crear informes.

En cuanto a las posibilidades ofrecidas al profesor en las mejoras propuestas

en “Líneas futuras”, se encuentran:

• Registro de apuntes en la agenda: citas, reuniones, entrega de

informes pendientes, etc.

• Publicación de nuevas entradas en el “Tablón de Anuncios”.

• Envío y recepción de mensajes tipo “correo interno”, con otros

profesores y consultores.

3.3.2.4 Modo Consultor Dentro de esta categoría habrá una división: consultores tutores y consultores

especialistas. Los primeros se corresponderán con los padres/tutores del

alumno, mientras que los segundos serán los especialistas que pueda tener

asociados un alumno.

Este perfil será el que menos privilegios tenga en cuanto a acceso a zonas del

sistema. Un usuario con perfil “consultor” simplemente podrá acceder a la

información de su/s consultado/s, sin posibilidad ni de modificar datos ni de

crearlos. El acceso es únicamente en modo lectura/consulta de datos, salvo en el

caso de los informes que, puesto que son personalizados, cada uno decide qué

Page 31: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 31

datos desea extraer referentes al alumno en el período especificado. Esta es la

única manera de “crear” que tiene este tipo de usuario. Su pantalla principal se

diferencia de la del profesor en que no existen accesos en ningún lado para, por

ejemplo, crear fichas.

Las posibilidades del modo consultor son:

1. Gestión de fichas:

• Ver las fichas de sus alumnos asociados.

2. Gestión de informes:

• Crear informes.

En cuanto a las “Líneas futuras”, estas capacidades se amplían en:

• Posibilidad de LEER la agenda común para ver citas

importantes.

• Mensajería interna con profesores y otros consultores.

3.3.2.5 Información técnica A continuación se van a explicar algunas de las partes que hacen posible la

creación de fichas de usuario en el sistema.

Fundamentalmente son dos los archivos que posibilitan la creación de

usuarios: “crea_us.php” e “inserta_us.php”.

El primero de ellos, es el que posee la interfaz mostrada en la figura 3.3.2.2.2.

En la capa “principal” existe un formulario que será el encargado de enviar los

valores introducidos en los distintos campos hacia “inserta_us.php”. El envío de

estos valores se producirá siempre y cuando los datos introducidos cumplan con

las expresiones regulares programadas para cada campo en la función

“comprueba_datos_us”, que se encuentra en el archivo “funcs_GestPest.js” Una

Page 32: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 32

vez en “inserta_us.php”, y con los valores recibidos, el proceso que se

desencadena sigue la siguiente secuencia:

1. Subida de la foto: mediante los métodos “move_uploaded_file” y

“copy”, proporcionados por PHP, se realiza la subida de la foto

seleccionada al servidor, redimensionándola posteriormente (una

vez subida) gracias a la función programada

“redimensionar_imagen”, haciendo uso del método

“imagecopyresampled”.

2. Inserción de datos: si la subida de la foto fue correcta, se procede

a la inserción en la base de datos, mediante la llamada:

$GLOBALS['selwa']->database->insert("us_info_p",$datos1);

donde “$datos1” es un array que contiene los datos enviados desde

“crea_us.php”.

Si la inserción se realizó con éxito, el navegador es redirigido a una pantalla

donde se confirma la inserción (mediante la directiva “url” incluida en la

etiqueta “meta” de XHTML). En caso negativo, se redirige a una pantalla de

error, donde se indica cuál fue el motivo del fallo (identificado mediante una

codificación de errores, pasado al navegador por método GET, y cuya

equivalencia se realiza mediante la consulta a la tabla “codigo_error” de la base

de datos).

La tabla de la base de datos en la que se registran estos datos es “us_info_p”.

Esta tabla contiene los campos correspondientes a los datos introducidos en el

formulario, con el añadido de un campo “id”, que inserta el sistema

automáticamente, y que será un número que identifique unívocamente al

usuario en la herramienta (se trata, por ejemplo, del número que aparece

Page 33: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 33

cuando se asigna un tutor a un alumno, ver apartado 3.3.2.2).

3.3.3 Módulo de registro de alumnos

3.3.3.1 Funcionamiento básico El mecanismo de registro de alumnos está basado en un sistema de pestañas,

cada una de las cuales contiene un tipo de información bien clasificada: Datos

personales, datos familiares, nivel de competencia curricular, evaluación inicial

y diagnóstico. Ver figura 3.3.3.1.1.

Figura 3.3.3.1.1

Pantalla principal al inicio de la creación de una nueva ficha

No es posible pasar a la siguiente pestaña sin haber rellenado correctamente

la anterior. El sistema es capaz de determinar si, por ejemplo, al introducir la

Page 34: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 34

información de estatura de un alumno, el usuario está insertando caracteres

numéricos o alfanuméricos. También hay que reseñar que existen ciertos

campos que son obligatorios y otros opcionales, de manera que no es posible

avanzar en el registro sin haber completado correctamente un campo

obligatorio. Desde el momento en que se rellena correctamente una pestaña y se

pulsa el botón “Siguiente”, es posible alternar entre la pestaña origen y la

destino desde el propio menú. Para completar el registro de una nueva ficha, en

la última pestaña (“Diagnóstico”) se pulsa “Finalizar”, momento en el cual es

llamado el método de inserción en la base de datos. Puesto que la

comprobación de los datos se realiza a medida que se avanza en el proceso de

registro, el único problema que puede existir a la hora de insertar los datos es

puramente de comunicación o de duplicación de registro, situaciones en las

cuales el sistema informaría con un mensaje de error, indicando cuál ha sido la

causa que ha impedido el registro.

3.3.3.2 Clasificación de datos En este apartado se detalla la información que contiene cada una de las

pestañas que componen el registro de una nueva ficha de alumno en el sistema.

1. Datos Personales

Esta pestaña condensa los datos personales más relevantes del alumno,

de manera que podamos localizarlo posteriormente en el sistema mediante

alguno de ellos, como por ejemplo el identificador del profesor asociado, su

nombre o sus apellidos.

Destacar en esta pestaña 3 detalles:

Ø Asignación de “Maestro Tutor”: Al pulsar sobre este botón, aparecerá

la lista de profesores registrados en la base de datos, pudiendo

seleccionar de ella SÓLO uno, que se convertirá en el tutor del alumno

durante el presente curso. Tras elegirlo, aparece un cuadro de texto

donde se indica el código de usuario del profesor. Ver figura 3.3.3.2.1.

Page 35: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 35

Figura 3.3.3.2.1 Proceso de selección de profesor tutor

Ø Asignación de “Consultores Tutores”: Mediante el mismo mecanismo

anteriormente citado, se seleccionan aquellos usuarios registrados en

la base de datos con perfil “consultor”, que representan a los

padres/tutores legales del alumno y que, por tanto, tendrán acceso a

su ficha. En este caso es posible seleccionar hasta un máximo de 4

usuarios. Ver figura 3.3.3.2.2.

Page 36: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 36

Figura 3.3.3.2.2 Ventana de selección de tutores asociados

Ø Selección de fotografía: Se permite (pero no es condición necesaria) la

adición de una fotografía del alumno que será mostrada en el margen

superior izquierdo de su ficha. Ver figura 3.3.3.2.3.

Figura 3.3.3.2.3 En la selección de la foto hay que tener en cuenta el formato y el tamaño

máximo de la foto. Ver apartado 3.3.3.3 “Condiciones necesarias”

2. Datos Familiares

Aquí se recogerán datos relevantes de los representantes legales del

alumno, tales como teléfonos de contacto, direcciones postales o

direcciones

Page 37: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 37

electrónicas, así como otros datos de interés que puedan haber afectado

al normal desarrollo del alumno, tales como la edad de embarazo de la

madre, enfermedades sufridas durante el embarazo o posibles

dificultades en el parto. Ver figuras 3.3.3.2.4a y 3.3.3.2.4b.

Figura 3.3.3.2.4a Primera parte de la pestaña “Datos Familiares”

Page 38: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 38

Figura 3.3.3.2.4b Segunda parte de “Datos Familiares”

3. Niveles de Competencia Curricular (N.C.C.)

Los niveles de competencia curricular indican el estado de las

capacidades de un alumno en una gran variedad de campos, de forma que

permitan al profesor establecer, mediante estos criterios, en qué aspectos es

necesario hacer más hincapié durante el curso escolar. Estos niveles están

divididos en ciclos, adaptados cada uno de ellos a un intervalo de edades

escolares. En colegios de enseñanza ordinaria, lo usual es aplicar cada uno

de estos ciclos a los alumnos que se encuentran en la edad correspondiente a

dicho ciclo. Sin embargo, en colegios de educación especial esto no siempre

es así. Es posible que para alumnos con una edad a la que correspondería

aplicar un nivel determinado, se necesite aplicar otro, superior o inferior,

debido a sus especiales características. Es por ello que la herramienta

SELWA permite seleccionar de entre los 5 ciclos propuestos cualesquiera de

Page 39: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 39

las características, pudiendo realizar niveles de competencia híbridos, que

indicarán qué tipo de habilidades posee el alumno en los campos que el

usuario que lo dé de alta estime necesarios para su desarrollo escolar (en la

implementación realizada sólo está presente el N.C.C. del primer ciclo de

infantil). Estos niveles están obtenidos del modelo propuesto por la Junta de

Andalucía para los centros públicos de esta Comunidad Autónoma. [3]

El sistema nos presenta, por cada uno de los niveles, una tabla con las

competencias asociadas, y una serie de casillas en las que se debe indicar si

el alumno cumple total, parcialmente o no cumple dicha competencia (ver

figura 3.3.3.2.5). Sólo aquéllas que sean marcadas como “No” o “AV” (“A

Veces”) tendrán relevancia en la ficha del alumno a la hora de marcar como

objetivo para el presente curso la mejora de la capacidad en cuestión, es

decir, aparecerán en la pestaña “N.C.C” de la ficha del alumno, pudiendo

realizar una programación individualizada en tiempo, metodología y

secuencia de actividades, indicando en cualquier instante si ha sido

alcanzado el objetivo o aún no. El porqué de dar la posibilidad de marcar

como objetivo o no, es debido a que existen características que según la

complejidad de la carencia pueden llegar a ser imposibles de superar, como

por ejemplo una ceguera, una sordera crónica o la falta de algún miembro.

Se añade un campo de texto para dotar al sistema de una mayor versatilidad

y una mayor exactitud en la información, de forma que el usuario no quede

sujeto a las posibilidades rígidas de las plantillas de los distintos ciclos.

Page 40: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 40

Figura 3.3.3.2.5 Muestra de la pestaña “Niveles de Competencia Curricular”

Como se adelantó anteriormente, las competencias marcadas como “No”

o “AV” y que además hayan sido consideradas a tener en cuenta como

“Objetivo”, aparecerán en la pestaña “N.C.C.” de la ficha del alumno. Al

pulsar sobre una de ellas, aparece una nueva ventana que permite la

programación individualizada de dicha competencia. Esta programación se

divide en 3 partes:

• Evaluación Inicial: Habrá que reflejar el estado del que parte el

alumno, para poder comprobar posteriormente si la evolución ha

sido positiva o no.

• Secuencia y Temporalización: Aquí habrá que indicar cuál será la

secuencia de actividades a llevar a cabo por el profesor, con objeto

Page 41: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 41

de tratar de superar la carencia, así como el tiempo que se va a

dedicar a cada una.

• Metodología: Por último, se debe anotar el tipo de habilidades y

estrategias que serán llevadas a cabo.

En las figuras 3.3.3.2.6a y 3.3.3.2.6b se muestra la ventana de

programación de objetivos.

Figura 3.3.3.2.6ª

Primera parte de la Programación de Objetivos

Page 42: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 42

Figura 3.3.3.2.6b Segunda parte de la Programación de Objetivos

Una vez el profesor considera que el objetivo ha sido superado, debe

indicar esta incidencia marcando la casilla “Sí” de la columna “Cumplido”.

Siempre será posible la adición de nuevos objetivos durante el curso.

Para ello, una vez buscada la ficha del alumno en cuestión, habrá que pulsar

sobre el botón “Modificar”. En este momento se nos presenta el mismo

menú de ventanas que contiene la información del alumno, pero en modo

editable. Desde la pestaña “N.C.C.” pulsando sobre “Añadir Objetivos”, nos

aparecerá una nueva ventana que contiene la lista de todas las competencias

(ver figura 3.3.3.2.7), con una casilla de verificación al lado de cada una.

Todas aquéllas que sean seleccionadas, se añadirán automáticamente a la

lista de objetivos que ya se tenía para el presente curso, siendo necesario

pulsar a continuación “Actualizar Objetivos” para hacer efectiva la adición

del objetivo. De igual manera, es necesario pulsar dicho botón cuando se

cambia el estado de un objetivo, es decir, cuando pasa de no estar cumplido

a estarlo, o viceversa, debido, por ejemplo, a que un alumno deja de poseer

una capacidad que había logrado obtener.

Page 43: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 43

Figura 3.3.3.2.7 Muestra de la ventana que contiene las competencias de los N.C.C.

4. Evaluación Inicial

Cuando un alumno es dado de alta en un nuevo centro, es necesario

conocer una serie de datos de su vida curricular hasta ese momento. En esta

pestaña es donde se recoge esta información, dividida en diferentes

apartados, de modo que se refleje la mayor cantidad posible de datos, con

objeto de ajustar perfectamente el plan de estudios a la medida de sus

necesidades y sus capacidades. Junto con los N.C.C., conforman una

información de vital relevancia en este aspecto. La figura 3.3.3.2.8 presenta

una muestra de esta pestaña.

Page 44: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 44

Figura 3.3.3.2.8 Muestra de la pestaña “Evaluación Inicial”

Existen 3 divisiones principales para catalogar la información de

evaluación inicial:

A. Relativa al alumno

En esta categoría se englobará la información que concierne

única y estrictamente al alumno, incluyendo su trayectoria

curricular, centros en los que ha estado matriculado, resumen del

N.C.C. actual, preferencias en el estilo de aprendizaje y desarrollo

general.

Page 45: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 45

B. Relativa al contexto socio-familiar

Resumen del entorno familiar que rodea al alumno, conocimiento

por parte del entorno más cercano de la problemática, recursos de

que dispone, aficiones, grado de aceptación por parte de la familia,

etc.

C. Relativa al contexto escolar (aula)

Evaluación académica por parte del centro respecto a las

capacidades para afrontar la educación del alumno, existencia y

adecuación del plan de estudios, recursos, contexto didáctico, clima

institucional, etc.

5. Diagnóstico

En esta pestaña se identifican la tipología, patología y nivel de la

discapacidad que presenta el alumno (figura 3.3.3.2.9). La clasificación es la

propuesta por el Centro Nacional de Información y Comunicación Educativa

(CNICE), perteneciente al Ministerio de Educación y Ciencia (MEC),

siguiendo los criterios de la OMS y del Manual de Diagnóstico y Estadística

de los Trastornos Mentales (DSM-III y DSM-IV). Así, una vez seleccionada

la tipología (dividida en 8 categorías), en el menú “Patología” se cargan los

posibles valores asociados a dicha tipología. De igual forma, cada patología

tendrá asociados unos niveles, según la descripción de los organismos en que

se basa el MEC para realizar esta clasificación.

Nuevamente (al igual que ocurría en la pestaña “N.C.C.”), aparece un

cuadro de texto con título “Observaciones”, con objeto de dotar al profesor

de un mayor grado de libertad a la hora de especificar la discapacidad del

alumno, puesto que es posible que la clasificación proporcionada por el

sistema no sea lo suficientemente completa o quede obsoleta en un momento

dado, debido a variaciones en las tipologías o patologías, o a la aparición de

Page 46: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 46

nuevas de ellas.

Al igual que en la pestaña “Datos personales” se seleccionaba el tutor

asociado al alumno, aquí se muestra la posibilidad de asignar especialistas,

también mediante el uso del identificador. Los especialistas aquí marcados

serán los que tengan acceso a la información del alumno a la hora de realizar

un seguimiento o de ponerse en contacto con los padres/tutores, o con el

profesor asociado.

Por último, y para completar el diagnóstico, se ofrece la posibilidad de

indicar la necesidad o no de un tratamiento médico, así como un cuadro de

texto donde se indiquen las características de dicho tratamiento.

Obviamente, este tratamiento debería ser indicado por parte de un

especialista médico que se haya asociado al alumno. Es por esto que el

objetivo del cuadro “Observaciones Tratamiento Médico” es el de especificar

con el máximo nivel de detalle cuál será dicho tratamiento, la posología, los

medicamentos, las formas de administración, etc.

Page 47: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 47

Figura 3.3.3.2.9 Pestaña “Diagnóstico”

3.3.3.3 Condiciones necesarias En este punto se indicarán las condiciones que han de cumplirse para un

correcto registro de una nueva alta de alumno. El motivo de que algunas

pestañas no aparezcan reflejadas en este apartado es porque no requieren de

ninguna condición para poder pasar al siguiente estado en el proceso de

registro.

El mecanismo utilizado en la comprobación de la información introducida

son las expresiones regulares. Éstas permiten, mediante la definición de una

plantilla, el chequeo de una cadena con dicha plantilla, de forma que los datos

introducidos deben ajustarse a los tipos de datos y a la estructura definidos en la

Page 48: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 48

expresión regular, es decir, en el caso de, por ejemplo, un campo “teléfono”,

será necesario que el usuario introduzca 9 caracteres numéricos.

I. Datos Personales

En el caso de los campos “Nombre”, “Apellidos” y “Localidad” se

requiere la introducción de caracteres alfabéticos, en mayúscula o

minúscula, así como las vocales con signos de acentuación o el carácter

“-“ para el caso de apellidos compuestos.

Para la fecha de nacimiento es necesario, aparte de seleccionar

alguna opción del desplegable distinta de “Día”, “Mes” y “Año”, que la

fecha sea correcta, es decir, que el día seleccionado sea correcto para el

mes y año seleccionados. El sistema no permite la introducción de

fechas tales como “30/2/2007”, “31/11/2007” ó “29/2/2006”.

Los campos “Peso”, “Estatura” y “Teléfono” es necesario

rellenarlos, como no podía ser de otra manera, con caracteres

numéricos. En el caso del teléfono, se añade además la restricción de

que la información debe contener exactamente 9 dígitos.

De los restantes, puesto que son elegidos mediante menús

desplegables unos, y mediante valores predeterminados otros, no es

necesario realizar comprobaciones, salvo en el caso de la fotografía.

Aquí se comprueban 2 parámetros: tamaño y formato. Sólo están

permitidos archivos con extensión .jpg, .jpeg, .gif, .bmp y .png, y el

tamaño máximo es de 600Kb (siendo redimensionada una vez subida al

servidor a unas medidas máximas de 100x100 px).

Page 49: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 49

II. Datos Familiares

Existen 2 comprobaciones adicionales a las del punto anterior,

correspondientes a los campos “E-mail” y “Edad embarazo madre”. En

el primero, la expresión regular exige que se inserte una cadena de

caracteres seguida por una “@” y una extensión formada por una

cadena de caracteres, un punto y una nueva cadena con un mínimo de 2

caracteres y un máximo de 6. Para el segundo, el campo debe estar

relleno con 2 caracteres numéricos.

No se realizan comprobaciones en las 3 últimas pestañas, pues se

considera que el objetivo principal en la coherencia de datos durante el

proceso de alta de una ficha, debe darse en el registro de los datos

principales del alumno. La información relativa a “N.C.C.”, “Evaluación

inicial” y “Diagnóstico” puede ser añadida en el discurrir del curso, una

vez se haya consultado con especialistas (en el caso del diagnóstico), o

sea necesario solicitar información de otros centros (en el caso de

evaluación inicial).

3.3.3.4 Información técnica Se va a realizar una explicación de los archivos y funciones principales que

hacen posible el funcionamiento comentado en los apartados anteriores. Se

abordarán comportamientos tales como el funcionamiento del menú de

pestañas, el de creación dinámica del contenido de los menús desplegables o la

inserción de la información en la base de datos.

Ø Menú de pestañas

El funcionamiento del menú de pestañas está basado en

programación JavaScript. En todas las pestañas existen 2 capas

fundamentales. La primera de ellas contiene a la segunda, y es la que

proporciona el fondo blanco. La nomenclatura de estas capas es

“datos1”, “datos2”, “datos3”, “datos4” y “datos5”. La segunda es la que

Page 50: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 50

realmente contiene la información de la pestaña. En función de ésta,

la capa tendrá una longitud concreta o no (definida en la hoja de estilo

correspondiente). La nomenclatura de estas capas hace referencia a la

información que poseen: “d_pers”, “d_fam”, “inicio_ncc”, “ev_ini” y

“diagn”. En el caso de la pestaña “N.C.C.” existe una capa adicional,

dado que se la pantalla principal es un nuevo menú que permite elegir

el ciclo de N.C.C. que se desea seleccionar. Estas nuevas capas serán

“ncc1”, “ncc2”, etc.

Mediante esta división en capas es como se consigue el efecto

deseado para este menú. La pulsación de una pestaña desencadena la

llamada a 3 métodos JavaScript: “no_activo”, “activo” y “no_se_ve”.

El primero de ellos, en función de la variable “estado”, llama al

método “manejador_pest”, que será el encargado de realizar algunas

comprobaciones y activar, en caso de éxito, la pestaña

correspondiente. La variable “estado” es un indicador del instante del

proceso de creación en el que se encuentra el usuario, es decir, a

cuáles de las pestañas ha accedido correctamente mediante la

pulsación del botón “Siguiente”, pues se recuerda que no es posible

avanzar en el proceso sin haber completado correctamente la pestaña

anterior. Por ejemplo, “estado” igual a 1 implica que se ha avanzado

correctamente desde la pestaña “Datos personales” a “Datos

familiares”, con lo que el usuario podría moverse de una a otra

utilizando el menú superior de pestañas. El método

“manejador_pest” recibe como parámetros el identificador de la capa

de la que se parte y el de la destino. Tras comprobar que los datos en

la origen son correctos (mediante la comparación con expresiones

regulares), llama a los métodos correspondientes que realizan las

acciones de mostrar y ocultar las pestañas y capas correspondientes.

La llamada al método “activo” provoca la activación de la pestaña

correspondiente (pasada como parámetro al método mediante su

Page 51: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 51

identificador), aunque será el “manejador_pest” el que decida

finalmente si se dan las condiciones para esta activación. De igual

manera, “no_se_ve” provoca la activación/desactivación de la capa

“datos-i” correspondiente, siendo en última instancia el método

“manejador_pest” el que decida si se produce o no dicho cambio.

Todos los procesos de activación comentados son producidos

mediante la alteración del atributo “class”, con la directiva JavaScript

“document.getElementById(identificador_elemento).className”. En

función de la nueva clase a la que se asigne el elemento, según las

propiedades definidas en la hoja de estilo, será mostrado o no.

Las comprobaciones de datos, tanto si se realizan mediante

expresiones regulares como si no, están programadas también en

JavaScript. En el caso de las expresiones regulares, la comprobación

se realiza tras 3 pasos. En primer lugar se almacena en un array los

datos introducidos por el usuario que desean ser comprobados (en

este caso, “pest[0][i]”). A continuación se construyen las expresiones

regulares que servirán como patrón a cumplir (llamadas “reg[i]”). Por

último se realiza la comprobación mediante el método JavaScript

“search” de la siguiente forma:

pest[0][i].search(reg[i])

Si el resultado es cero, el valor introducido es correcto. En caso

contrario, se añade al array de campos erróneos introducidos para

mostrar en una ventana “alert” tras la pulsación de “Siguiente”.

Page 52: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 52

Ø Adición de profesores y/o consultores

En las pestañas “Datos personales” y “Diagnóstico” aparece la

opción de asignar profesor tutor y consultores tutores, en el caso de la

primera, y consultores especialistas, en el caso de la segunda. Al pulsar el

botón de buscar, aparece una nueva ventana donde se muestran los

usuarios correspondientes que pueden ser seleccionados. El listado de

estos usuarios se realiza tras una consulta a la tabla “us_info_p” de la

base de datos, especificando como criterio de búsqueda el perfil en

cuestión. Tras esta búsqueda, se crea una tabla con los resultados

obtenidos, mostrando nombre, apellidos, identificador y especialidad (en

el caso de los especialistas). En la búsqueda de profesor asociado, se

añade una casilla de verificación excluyente, es decir, sólo se podrá

seleccionar un usuario. Al pulsar el botón “Aceptar”, se realiza la llamada

al método “devuelve”, que en función del perfil (profesor, consultor tutor

o consultor especialista) realiza distintas acciones. Si la búsqueda fue de

profesores, se toma el valor de identificador seleccionado y se carga en el

cuadro de texto de la ventana origen mediante la llamada a:

opener.document.getElementById(identificador).value

y posteriormente se cierra la ventana. En el caso de búsqueda de

consultores el procedimiento es el mismo, variando únicamente el

número de usuarios seleccionados, que puede ser mayor que uno (pero

siempre inferior a 4 en el número de consultores tutores y 5 en el de

especialistas).

Ø Subida de la foto del alumno

El proceso de subida al servidor de la foto asignada al alumno es el

mismo que el descrito en el apartado 3.3.2.5 para la subida de las fotos de

los usuarios.

Page 53: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 53

Ø Creación dinámica de contenido en menús desplegables

El hecho de crear contenido de forma dinámica en menús

desplegables se produce en 2 apartados del sistema: en la pestaña

“Diagnóstico”, en el momento de seleccionar una tipología o una

patología, y en la pestaña “Hoy” cuando se selecciona el área a la que va a

quedar asociado un comentario diario. En ambos casos el

funcionamiento es similar, y se detalla a continuación.

Mediante código JavaScript creamos el contenido de un menú

“select” en el momento en que cambia el valor de otro. En el caso del

menú “Tipología” de la pestaña “Diagnóstico”, una vez queda

seleccionada la tipología en cuestión, se realiza una llamada al método

“actualiza_sel”. Aquí, en función del valor seleccionado, se crea un array

de datos que contiene la información a cargar en el menú “Patología”.

Éste, a su vez, al variar el valor seleccionado originalmente, realiza una

llamada al método “actualiza_sel2”, de modo que se cargue en el menú

“Nivel” los valores adecuados a la tipología y patología seleccionadas.

Una vez creado el array, se generan los elementos “option” necesarios y

se dice que pertenecen al menú representado por el identificador que se

ha pasado como parámetro de la siguiente manera:

var op=document.createElement("option"); op.appendChild(document.createTextNode(datos[i])); op.value=datos[i]; sel_dest.appendChild(op);

Ø Inserción de la información en la base de datos

El último paso en la creación de una nueva ficha de alumno es,

como no podía ser de otra manera, la inserción de la información en

la base de datos. En el momento en que se pulsa el botón “Finalizar”

en la pestaña “Diagnóstico” se realiza una llamada a “inserta.php”,

Page 54: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 54

donde se desencadenan las siguientes acciones:

v Subida de la foto

Este proceso ya quedó explicado en el apartado 3.3.2.5.

v Inserción de datos por pestañas

Si el proceso de subida anterior se realizó con éxito, se

procede a la inserción de los datos, pestaña a pestaña. Sólo se

realiza la inserción de información si la anterior fue correcta.

En el caso de que la subida al servidor de la foto se produjese

con éxito y, posteriormente, hubiese un error en la inserción de

información de cualquier pestaña, al final se elimina del

servidor la foto subida, mediante la orden:

unlink(ruta_imgs/nombre_img);

El caso más complejo durante el proceso de inserción se produce

en los datos de la pestaña “N.C.C.”. Puesto que sólo resultarán de interés

aquellas competencias marcadas como “Objetivo”, el primer paso es

precisamente ese, discriminar cuáles son objetivo. Para ello, se realiza

una llamada al método “manejador_res”, que devuelve un array con los

identificadores de aquellas competencias que han sido seleccionadas

como objetivo. Se produce una llamada a este método para los valores

marcados como “No” o como “AV”, por motivos obvios, pues si un

alumno cumple con una determinada característica, no tiene mayor

sentido que el de pura información para el profesor el reflejarla en la base

de datos.

Puesto que el funcionamiento deseado es que la inserción de toda la

información del alumno se realice de forma atómica (esto es, o se

introduce correctamente la información de todas las pestañas, o

ninguna), y dado que dicha inserción se realiza de manera secuencial, en

el momento en que falle alguno de los pasos intermedios será necesario

Page 55: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 55

eliminar de la base de datos la información introducida hasta el momento

de ese alumno.

Finalmente, si el proceso ha transcurrido con éxito, se redirige el

navegador a una página en la que se advierte al usuario de la correcta

inserción del nuevo registro (“todook.php”). En caso contrario, y al igual

que ocurre con el procedimiento descrito en el apartado 3.3.2.5, se

muestra al usuario el motivo por el cual no se completó el alta de la nueva

ficha.

Page 56: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 56

3.4 Módulos de gestión En los apartados correspondientes a este punto, se mostrarán cuáles son las

posibilidades que la herramienta SELWA aporta al usuario a la hora del manejo

diario. En primer lugar se mostrará la gestión básica, es decir, la creación,

eliminación, y modificación de datos tanto de usuarios como de alumnos para,

posteriormente, centrarse la exposición en la parte de trabajo diario (en el caso

de los alumnos) y en la solución implementada (en el caso de los usuarios).

3.4.1 Gestión de usuarios

3.4.1.1 Gestión básica Se entiende como gestión básica el conjunto de funciones que abarcan la

creación, modificación y eliminación de información.

En el caso de los usuarios del sistema, como ya se ha comentado en apartados

anteriores, su creación es prioritaria frente a la creación de las fichas de

alumnos. Sólo el alta del usuario “Administrador” es anterior al alta de los

profesores o consultores. La información que se requiere para la correcta

inserción de una nueva ficha de usuario es la siguiente:

• Nombre y apellidos.

• Fecha de nacimiento.

• Teléfonos (normalmente uno fijo y uno móvil, pero no es condición

necesaria).

• Domicilio

• Localidad Estos 3 datos están referidos a su lugar de residencia.

• Provincia

• Nacionalidad.

• DNI.

Page 57: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 57

• Perfil (indicará qué tipo de usuario es, “profesor”, “consultor tutor”

o “consultor especialista”).

• Especialidad (sólo válido en el caso de que el perfil seleccionado sea

“consultor especialista”).

• Correo (dirección de correo electrónico).

• Login (identificador con el cual accederá al sistema).

• Contraseña (asociada al login).

• Foto.

El número de identificador único asociado a cada usuario lo inserta de forma

automática el sistema. Este identificador es el que representa unívocamente al

usuario de SELWA, siendo el que aparece cuando, por ejemplo, se asocia un

profesor a un alumno durante su proceso de alta. Al igual que se comentó en el

apartado “Condiciones necesarias” del punto 3.3.3, antes de realizar la inserción

del nuevo usuario se realizan una serie de comprobaciones sobre los datos

introducidos mediante expresiones regulares, de forma que éstos se ajusten al

patrón definido, con objeto de asegurar la coherencia de datos de usuario.

Una vez concluido con éxito el alta del nuevo usuario, las demás operaciones

que se pueden realizar sobre su ficha (siempre por parte del administrador) son

las normales de cualquier sistema de gestión, es decir, modificación de datos

(debido a posibles cambios de domicilio, de número de teléfono o de correo

electrónico, entre otros), y eliminación de su ficha (motivado, normalmente, por

una baja definitiva en el centro).

3.4.1.2 Solución implementada De las funciones que se engloban en la definición de gestión básica dada en el

apartado anterior, sólo la creación de nuevas fichas de usuario ha sido

implementada en SELWA, con los campos citados en dicho apartado. Esta

funcionalidad es necesaria y suficiente para el correcto funcionamiento del

sistema. Se deja propuesta en el apartado “Líneas futuras” la implementación

Page 58: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 58

de las otras dos funciones, modificación y eliminación.

En cuanto al funcionamiento de la creación de nuevas fichas de usuarios,

queda reflejado en el apartado 3.4.1.1.

3.4.2 Gestión de alumnos

3.4.2.1 Gestión básica La gestión básica de alumnos, a diferencia de la de usuarios, sí está

implementada en su totalidad. El motivo es obvio, pues para el correcto

funcionamiento de la aplicación es necesario dotar a los usuarios de la

posibilidad de modificar datos de alumno, registrar apuntes diarios o eliminar

fichas.

Desde el menú “Gestión de fichas”, se presentan 3 posibilidades:

• Crear ficha.

• Buscar ficha.

• Menú Principal.

La primera opción está ampliamente explicada en el apartado 3.3.3 (“Módulo

de registro de alumnos”). Para el resto de funciones implementadas, es

necesario pasar por la segunda opción, “Buscar ficha”. El primer paso a la hora

de modificar una ficha, eliminarla o crear un informe siempre será buscar la

ficha del alumno sobre el que se va a realizar la acción. Los resultados de la

búsqueda serán aquellos alumnos asociados al identificador del usuario que

haya realizado la búsqueda. Estos resultados se pueden ordenar en función de

las 4 categorías que se muestran en la tabla: identificador, nombre, apellidos o

identificador de tutor, sin más que pulsar sobre el propio título de la columna o

sobre la flecha que aparece al lado de cada uno. En la pantalla donde se muestra

Page 59: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 59

la lista de resultados (ver figura 3.4.2.1.1) aparecen 3 botones, que nos

permitirán realizar las operaciones de gestión.

Figura 3.4.2.1.1

A continuación se detallan las posibilidades de gestión de fichas de alumnos,

dividas por acciones.

1. Ver

La ventana de visión de datos de alumno tiene la misma estructura que la de

creación en cuanto a las pestañas de datos (personales y familiares), N.C.C.,

evaluación inicial y diagnóstico. Además presenta una nueva pestaña,

denominada “Hoy”. En esta pestaña el profesor refleja el trabajo diario de cada

alumno, clasificando esta información en áreas en primera instancia, y en

Page 60: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 60

subáreas dependientes del área seleccionada en segunda. Además, se ofrece la

posibilidad de añadir un asunto que identifique de un vistazo el apunte a la hora

de realizar informes (ver figura 3.3.2.3.2 del apartado “Modo profesor”). En el

apartado siguiente, “Trabajo diario”, se ofrece una información más detallada

acerca de esta pestaña.

La información representada es accesible sólo en modo lectura salvo,

obviamente, la de la pestaña “Hoy”, que es generada por el propio usuario, en el

caso de ser profesor. Para los consultores se muestra el último apunte

registrado, en modo lectura.

2. Modificar

Esta ventana se diferencia en 2 características de la anterior:

• No posee la pestaña “Hoy”.

• La información es completamente editable.

De esta última característica hay que reseñar la parte correspondiente a los

N.C.C. El resto de pestañas, como se puede suponer, reflejan la información

correspondiente al alumno seleccionado, con la posibilidad de modificar

cualquier dato.

Los objetivos seleccionados en la creación de la ficha aparecen aquí

reflejados. En la parte inferior de la pestaña existen dos botones: “Añadir

Objetivo” y “Actualizar Objetivos”. Con el primero se pueden añadir nuevos

objetivos en cualquier momento, bien porque se hayan ido cumpliendo otros

añadidos al principio, bien porque aparezcan nuevas carencias en el alumno

dignas de ser tenidas en cuenta para mejorarlas. El segundo sirve para hacer

efectiva en la base de datos cualquier modificación realizada sobre alguno de los

objetivos seleccionados en la creación de la ficha del alumno. Estas

modificaciones pueden ser, por un lado, haber cumplido con el objetivo, es

Page 61: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 61

decir, que el profesor pulse la opción “Sí” de la columna “Cumplido” (o

viceversa, que un objetivo que se tenía por cumplido pase a no estarlo). Por otro

lado, también puede ser que se haya realizado la adición de un nuevo objetivo

que el profesor desea que se añada a la lista, haciéndose efectiva en la base de

datos.

3. Eliminar

Al pulsar sobre esta opción, no se muestra ninguna ventana nueva.

Simplemente se solicita al usuario la confirmación de la eliminación de la

ficha. Tras la confirmación, se produce la eliminación definitiva de la ficha en

la base de datos. Otra posibilidad, indicada en “Líneas futuras”, es la de

eliminar la ficha de la base de datos que se esté usando para el actual curso y

realizar una copia de los datos del alumno en un segundo repositorio, de

forma que se mantenga un archivo histórico de los alumnos que han pasado

por el centro, y de los métodos y resultados obtenidos para la deficiencia que

presente.

3.4.2.2 Trabajo diario Como se ha venido comentando en anteriores apartados, una de las labores

más importantes del profesor es realizar periódicamente apuntes acerca de la

actividad de los alumnos. Estos registros son el pilar fundamental sobre el que

se basa la herramienta SELWA. Como se mostrará en el siguiente apartado

(“Informes”), una de las misiones prioritarias de la aplicación es posibilitar a sus

usuarios un seguimiento pormenorizado del alumno mediante la generación de

informes, generados a partir de la información que el profesor refleja en sus

apuntes diarios1.

La clasificación de esta información se ha hecho en dos partes. Por un lado es

1 En realidad los registros de actividad de los alumnos no tienen por qué producirse

diariamente. Ésta sería la periodicidad ideal, con el fin de obtener la mayor información posible de un alumno a la hora de generar un informe, pero no es requisito indispensable. Registros periódicos cada 2, 3 ó 4 días también sería una secuencia aceptable.

Page 62: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 62

necesario seleccionar un área de entre las siguientes:

• Cognitiva/Perceptiva

• Lingüística

• Motórica

• Afectivo/Emocional

• Adaptación e Inserción social

• Matemáticas

• Lectoescritura

• Estilo de aprendizaje

• Hábitos

En función del área seleccionada, el cuadro de subáreas carga los valores

correspondientes. A continuación se muestran las subáreas asociadas a cada

área:

Cognitiva/Perceptiva

Ø Percepción visual y táctil

Ø Percepción Auditiva

Ø Estructura espacio-temporal

Ø Otras

Page 63: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 63

Lingüística

Motórica

Ø Articulación Ø Comprensión oral Ø Vocabulario básico Ø Desarrollo

morfosintáctico Ø Nivel semántico Ø Memoria verbal

inmediata Ø Otras

Ø Coordinación vasomotora Ø Habilidades manipulativas

pregráficas Ø Iniciación gráfica Ø Esquema y control postural Ø Coordinación visomanual Ø Equilibrio Ø Conductas respiratorias Ø Otras

Page 64: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 64

Afectivo/Emocional Otros

Adaptación e inserción social Otros

Matemáticas

Lectoescritura

Estilo de

Aprendizaje

Ø Numeración

Ø Cálculo mental

Ø Operaciones

Ø Problemas

Ø Otros

Ø Palabras, frases, textos Ø Tipo de lectura Ø Velocidad Ø Comprensión lectora Ø Caligrafía Ø Copia Ø Dictado Ø Composición Ø Ortografía Ø Otros

Ø Atención Ø Seguimiento de instrucciones Ø Modalidad sensorial preferente Ø Preferencias de reforzamiento Ø Motivación Ø Persistencia en ejecución de tareas Ø Necesidad de movilidad Ø Otros

Page 65: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 65

Hábitos

Esta clasificación ha sido extraída a partir de una colección de informes

utilizados en el colegio “Virgen del Valle” de la localidad cordobesa de Lucena.

No reflejan el contenido exacto de ninguno de ellos, sino que se ha realizado un

compendio de características, de modo que la clasificación sea lo más flexible y

amplia posible. Otras clasificaciones son igualmente válidas, pues no existe un

modelo estándar para ellas.

Además de esta clasificación de la información, se añade un campo de texto

(“Asunto”) para dotar al apunte de un título que lo identifique en los informes.

Al pulsar el botón “Insertar” se llama a la función encargada de añadir el

apunte en la base de datos.

3.4.3 Información técnica Como ya se comentó en el apartado 3.4.2.1, para realizar cualquier función

que se englobe en la definición de gestión básica dada en el mismo apartado, es

necesario hacer, en primer lugar, la búsqueda del alumno sobre el que se desea

realizar la acción. Esta búsqueda se puede realizar utilizando como criterio 4

parámetros: identificador del alumno, nombre, apellidos o identificador del

Ø Alimentación

Ø Vestido

Ø Higiene

Ø Control de esfínteres

Ø Otros

Page 66: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 66

profesor asociado. Al pulsar “Buscar”, se realiza la llamada a “res_fich.php”,

donde se realizan las siguientes acciones:

Ø Recepción de variables y selección de permisos según perfil

Mediante el requerimiento del archivo “vars_busca_al.php” se

reciben las variables enviadas desde el formulario de búsqueda.

Asimismo, en función del perfil del usuario que haya realizado la

búsqueda (administrador, profesor o consultor) se establecen los

permisos que tiene a la hora de mostrarle unos resultados u otros, es

decir, habrá que realizar una consulta a la base de datos para obtener, a

partir del identificador del usuario, qué alumnos son a los que tiene

acceso. En el caso del administrador el criterio es el menos selectivo de

todos, pues tiene acceso a la información de todos los alumnos.

Ø Extracción de datos

Una vez almacenado el criterio de búsqueda (limitado por el tipo de

usuario que lo solicitó) en la variable “$criterio”, se procede al recuento

del número de coincidencias encontradas, con objeto de establecer el

número de páginas que será necesario crear, dado el parámetro de

máximo número de resultados a mostrar por página.

En este momento ya es posible realizar la consulta definitiva,

insertando en la sentencia MySQL de búsqueda tanto el criterio obtenido

en el primer punto como los límites de la búsqueda, así como el orden en

el que serán mostrados (por defecto se muestran en orden ascendente en

función del identificador de alumno). Con los datos obtenidos se genera

la tabla de contenidos mediante un bucle “while”.

Page 67: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 67

Ø Paginación

Se establece un máximo de 5 resultados por página, siendo posible,

desde un menú situado en la parte inferior de la tabla de resultados,

acceder a las páginas anterior, siguiente, inicial, final o a cualquiera

intermedia. Al pulsar sobre cualquiera de estos links, se redirige al

navegador a la misma página “res_fich.php”, enviando como parámetros

la página a la que se desea acceder, el orden establecido, el sentido

(ascendente o descendente) y el criterio que se utilizó.

Ø Ordenación

Es posible, como ya se comentó en el punto 3.4.2.1, cambiar el orden

en el que son mostrados los resultados. Al pulsar sobre el título de la

columna (o la flecha que lo acompaña) se realiza la recarga de la página,

enviando como parámetros el número de página en el que se está, el

orden en el que se van a mostrar los resultados (que será el de la columna

sobre la que se pulse), el criterio usado para la búsqueda, el patrón

introducido por el usuario y la variable que indica si los resultados se

están mostrando en sentido ascendente o descendente.

Una vez seleccionado el alumno (mediante la pulsación sobre el botón de

radio correspondiente), hay que decidir qué acción se desea realizar (las

posibilidades variarán, obviamente, en función del perfil del usuario que lo

solicite). A continuación se muestra la información técnica reseñable de cada

una de las acciones que, como ya se comentó en el apartado “Gestión básica”,

son: “Modificar”, “Ver” y “Eliminar”.

Page 68: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 68

v Modificar

El primer paso será obtener, a partir del identificador, los datos del alumno

seleccionado. Esto se realiza mediante la llamada a “find_al.php”, archivo que

se encarga de asignar a variables todos los datos que de ese alumno se tengan en

la base de datos. A partir de aquí se genera la misma estructura que para

“crea_ficha.php”, rellenando los cuadros de información con los datos

almacenados en las variables anteriormente mencionadas.

La pestaña que requiere un mayor detenimiento en su estudio es “N.C.C.”.

Aquí, para la adición de nuevos objetivos que pasen a formar parte del N.C.C.

del alumno, se utiliza el archivo “add_obj.php”. En él se distinguen 2 partes: por

un lado, el listado de las competencias que se tienen registradas en la tabla

“quest_ncc” de la base de datos. Por otro, el código que genera la nueva entrada

en la tabla de objetivos. Este código (JavaScript) es llamado al pulsar el botón

“Aceptar” de la ventana que contiene el listado de competencias. Será necesario

crear nuevos elementos “tr”, “td”, “span” e “input” para añadir a la estructura

que forma el listado de los objetivos del alumno. El código en cuestión puede

verse en el capítulo de códigos, apartado 6.2.4 (“JavaScript”), con el título

“add_obj.php”.

En el caso de que lo que se quiera modificar sea la programación de un

objetivo concreto, el archivo que interviene es “progr_obj.php”. En función de

una variable (“mod”), se mostrará la información en modo editable o de sólo

lectura. En el caso de sólo lectura, en la parte inferior de la ventana no existe el

botón “Guardar”, que para el caso editable permite actualizar la información del

objetivo. Para ello, se envía el formulario con los datos de los diferentes campos

de texto (además del número de objetivo que se está actualizando y el

identificador del alumno) a un archivo “res_prog_obj2.php”, que será el

encargado de realizar la actualización de la tabla “prof_obj”. En caso de éxito, se

muestra en la parte superior de la ventana origen (en la que se pulsó sobre el

objetivo) un mensaje informando de la correcta actualización. Por el contrario,

Page 69: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 69

si hubiese cualquier problema y no se pudiese completar la actualización se

indicaría en el mismo sitio la incidencia. Ambos mensajes son generados

mediante una función JavaScript llamada “FX_falloff”, que realiza un efecto de

desvanecimiento progresivo del mensaje pasándole como parámetros el

identificador del elemento sobre el que se quiere realizar el efecto y el tiempo

que se desea dure el desvanecimiento.

El último punto a reseñar en la modificación de datos de la pestaña “N.C.C.”

es la actualización de objetivos. En el momento en que el usuario añade un

objetivo o modifica la situación de uno ya existente (pasa de estar no cumplido a

estarlo) no se refleja la variación en la base de datos. Es necesario pulsar el

botón “Actualizar Objetivos” para hacer efectivo el cambio. Esta pulsación

provoca la llamada a “act_obj.php”. Este archivo es el que contiene las órdenes

de actualización de la base de datos donde, entre otras acciones, realiza

comprobaciones de no duplicación de objetivos. A partir de la recepción de las

variables que contienen el identificador del profesor, del alumno y del objetivo a

actualizar se realiza la actualización, que provoca variaciones en las tablas

“prof_obj” y “res_ncc”, encargadas de almacenar la información de los objetivos

actuales y del estado de los mismos, respectivamente.

Una vez realizadas todas las modificaciones oportunas en las distintas

pestañas, sólo resta pulsar el botón “Actualizar Datos”, situado en la pestaña

“Diagnóstico”. Esta acción provoca la llamada a “actualiza.php”, donde se

desencadenan las mismas operaciones que a la hora de crear una ficha,

sustituyendo la llamada al método “insert” por la llamada a “update”.

Nuevamente, si todo transcurrió con éxito, se redirige el navegador a una página

de información donde se indica que todo se ejecutó correctamente o, por el

contrario, se muestra un mensaje que refleja cuál fue la causa del posible error.

Page 70: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 70

v Ver

En el caso de pulsar el botón “Ver” desde la ventana de resultados de

búsqueda, las posibilidades son mucho más reducidas que en el caso anterior. El

archivo llamado es “ficha.php”, donde se muestra la estructura de

“crea_ficha.php” con la adición de la pestaña “Hoy”. La información que

contienen las pestañas es extraída de las tablas “al_info_pers”, “al_info_fam”,

“al_cons”, “al_diag”, “al_prof”, “ev_ini” y “res_ncc” mediante el requerimiento

de “find_al.php”, al igual que en la opción “Modificar”, con la salvedad de que la

información no es editable (los campos de texto tienen la propiedad “readonly”

activada, y los menús desplegables han pasado a ser elementos “input” de sólo

lectura).

Lo realmente interesante de esta parte es la inserción de la información

diaria. Al igual que sucedía en la pestaña “Diagnóstico” con el comportamiento

de los menús “Tipología”, “Patología” y “Nivel”, en los que la selección en el

primero de ellos influía en la información mostrada por el segundo y, a su vez,

una variación en la selección del segundo, modificaba el contenido del tercero,

aquí sucede algo similar con los menús “Área” y “Subárea”. El mecanismo

JavaScript que realiza esta actualización es similar al ya explicado en el

apartado 3.3.3.4, y por lo tanto no se volverá a repetir. Sí indicar que al pulsar el

botón “Insertar”, situado en la parte inferior derecha de la pestaña “Hoy”, se

invoca al archivo “inserta_hoy.php” donde, tras recibir las variables enviadas

gracias a “recibe_vars_hoy.php”, se realiza la inserción de la información en la

tabla “info_diaria”, registrándose, además de la información visible, el

identificador del alumno, el del profesor y la fecha de inserción.

v Eliminar

La única variable que necesita recibir el archivo “del_ficha.php” para poder

eliminar correctamente la ficha de un alumno es la que contiene el identificador

de dicho alumno. Gracias a ella, y a que este identificador está presente en todas

Page 71: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 71

las tablas que contienen algún tipo de información del alumno, se va eliminando

cualquier registro cuyo identificador de alumno asociado coincida. Las tablas de

las que es necesario realizar la eliminación de información son las mismas que

es necesario leer para mostrarla, ya nombradas en el punto anterior, además de

la tabla “info_diaria”, que contiene los registros realizados por el profesor

acerca del desarrollo del alumno, y la tabla “prof_obj”, donde el profesor refleja

la programación individual de los objetivos.

Page 72: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 72

3.5 Informes

3.5.1 Introducción Como ya se avanzó en el apartado “Motivación y Objetivos” del presente

documento, uno de los objetivos principales de esta aplicación es permitir a los

padres de niños con necesidades educativas especiales un seguimiento continuo

y pormenorizado de la actividad de su hijo en el centro. Para ello, se ha

desarrollado un sistema de automatización de informes, posible gracias a la

clasificación hecha a la hora de catalogar la actividad cotidiana del alumno. De

esta forma, todos los actores que toman parte en su vida escolar (profesor,

especialistas y padres/tutores) comparten la misma información, teniendo

acceso a ella en cualquier momento siempre que se disponga de una conexión a

Internet.

3.5.2 Funcionamiento básico Un informe es generado a partir de la selección de 3 componentes:

● El alumno del que se quiere extraer el informe.

● El período a tener en cuenta.

● Los campos de los que desea obtener información.

Una vez realizada la búsqueda del alumno en cuestión (mecanismo ya visto en

apartados anteriores), la ventana que aparece tiene el aspecto mostrado en la

figura 3.5.2.1:

Page 73: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 73

Figura 3.5.2.1

Tras elegir el período del que se desea obtener un resumen, el usuario marca

las casillas de las áreas y/o subáreas de las que desea extraer información en

dicho período. Pulsando sobre las áreas, automáticamente quedan

seleccionadas todas las subáreas correspondientes, evitando tener que ir

marcando una a una si se desea toda la información relativa a un área.

Una vez más, se ha dotado al sistema de un cuadro de texto en el que reflejar

cualquier incidencia que se considere oportuna y que no permita ser añadida

mediante la selección de las casillas correspondientes. En este caso, el cuadro

“Anotación Personal” (Figura 3.5.2.2) permite al usuario realizar una anotación

para indicar, por ejemplo, el motivo por el cual se extrae el informe, o para

explicar cualquier apunte de los reflejados en la base de datos y que pueda no

quedar claro del todo.

Page 74: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 74

Figura 3.5.2.2 Detalle del recuadro donde se reflejan las anotaciones personales del usuario en el informe

Tras la selección de los campos correspondientes, simplemente resta pulsar el

botón “Crear Informe”. Aparecerá una ventana de confirmación, y tras aceptar

se genera el informe.

El formato en el que se crean los informes es PDF. Se ha escogido este tipo de

archivo fundamentalmente por 2 motivos:

● Compatibilidad.

● Potente librería PHP para gestión de documentos PDF.

El primer punto hace referencia a la compatibilidad que ofrece el formato

PDF en distintas máquinas y en distintos sistemas operativos, a diferencia de

otros formatos que también hubiesen sido válidos (como, por ejemplo, archivos

.doc de Microsoft Word o .odt de Open Office).

El segundo punto también fue determinante en la elección de PDF como

formato. El lenguaje PHP ofrece una completísima librería de funciones para el

manejo de archivos PDF, otorgando al usuario el poder de realizar un

maquetado con un amplísimo abanico de posibilidades, tantas como nos pueda

ofrecer cualquier editor de textos: justificaciones, fuente de letra, tamaño,

negrita, subrayado, rellenado de color, inserción de tablas, imágenes, etc. Dado

el carácter docente de estos informes, se ha optado por un estilo sobrio, sencillo

Page 75: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 75

y claro, sin grandes alardes de colores, efectos o imágenes.

La estructura de un informe cualquiera siempre va a ser de la forma:

Datos del alumno

Ø Nombre y apellidos

Ø Profesor asociado

Ø Especialistas asociados

Ø Tipología, patología y nivel

Período de evaluación

Información

Ø Área

Ø Subárea

Ø Asunto

Ø Fecha

Ø Comentario

Si en un área concreta se ha solicitado información de varias subáreas, la

información aparecerá anidada de forma jerárquica dentro del área en cuestión.

Lo mismo ocurrirá para distintos apuntes de una misma subárea, es decir, la

estructura será de la forma:

Page 76: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 76

Área1

Subárea1

Asunto1 Fecha1

Comentario1

Asunto2 Fecha2

Comentario2

Subárea2

Asunto3 Fecha3

Comentario3

Subárea3

Asunto4 Fecha4

Comentario4

Área2

Subárea4

Asunto5 Fecha5

Comentario5

.

.

.

Es importante reseñar que cada apunte aparece con la fecha en la que se

realizó, de forma que la información sea lo más completa posible.

Por último, decir que la anotación personal siempre aparece al final del

informe, de modo que pueda servir para matizar cualquier aspecto, o añadir

alguna información que sea considerada de relevancia por el usuario que realiza

el informe.

Page 77: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 77

3.5.3 Informes personalizados De los 2 tipos de informes propuestos en el sistema SELWA, se ha optado por

la implementación de los personalizados. El motivo es que estos informes

proporcionan al usuario que lo genera la posibilidad de elegir los campos que

desea que aparezcan en dicho informe. Para ello, y como se muestra en la figura

3.5.2.1, basta con marcar las casillas correspondientes a las áreas y subáreas

que se desean ver. El procedimiento ya está explicado en el apartado anterior,

de modo que no se entrará de nuevo en ello.

Otro de los motivos por los que se ha optado por la implementación de

informes a medida, es la diferente perspectiva que tienen distintos usuarios de

un mismo alumno. La información que un padre desee obtener de la actividad

de su hijo en el centro puede no ser la misma (y de hecho casi seguro que no lo

será) que la que desee ver un especialista. Por esto, no se quería limitar al

sistema en este aspecto, es decir, que sólo hubiese un tipo de informe y que

fuese el que todo usuario pudiese obtener.

Por otro lado, sí que es cierto que en el trabajo diario (semanal o mensual),

los profesores o especialistas suelan trabajar con el mismo tipo de informe. Para

que el sistema de informes personalizados no resultase incómodo, se propone

un segundo tipo de informe, detallado en el apartado siguiente.

3.5.4 Informes predefinidos El modelo de informes predefinidos (no implementado en SELWA, pero sí

propuesto como línea futura) resulta muy conveniente en centros donde

periódicamente se solicite una información que contenga unos campos

concretos e invariables. En los centros de educación también se produce este

hecho. Con cierta frecuencia, los profesores deben emitir unos informes,

reflejando distintos aspectos (normalmente siempre los mismos), útiles para las

distintas personas a quienes puedan ir dirigidos.

Page 78: 3 Diseño e Implementación

SELWA: Sistema de gestión, seguimiento y automatización de informes para alumnos con necesidades educativas especiales.

3 Diseño e Implementación

Autor: Antonio Martínez Martínez 78

El modelo de informes personalizados es más completo y versátil que el

predefinido, pero puede llegar a resultar tedioso tener que seleccionar siempre

los mismos campos para obtener unos informes que siempre tienen la misma

estructura. Es por esto por lo que se plantea el uso de informes predefinidos, en

los cuales el usuario simplemente selecciona qué modelo de informe predefinido

desea obtener (cada modelo tendrá asociados unos contenidos), y el período de

tiempo a considerar. Con estos datos, el sistema generaría automáticamente el

informe según la definición del modelo.