Funcionamiento

Las tecnologías usadas en esta propuesta han sido principalmente PHP y MySQL, aunque también he usado javascript y XML para almacenar el contenido de las propuestas (como ya se hacía). En otras palabras es una solución LAMP.

Para aclarar un poco la estructura interna de la web adjunto el diagrama Entidad/Relacion que he seguido para su desarrollo.

er

Como se puede observar existen básicamente 3 tablas, la de usuarios que contiene tanto a los alumnos como al profesor (el administrador), las peticiones que se refieren a las peticiones de propuesta (almacenadas en formato xml dentro de la tabla) que los alumnos envian al profesor para que este las evalue (aceptándolas o rechazándolas). Y la de memorias que contiene información análoga pero referida a las memorias (esta tabal solo almacena los enlaces a las memorias).

Existe otra tabla que no aparece en el diagrama llamada configuracion_daw en la que se almacenan algunos datos referidos a las listas de correo (mensajes de correo a la hora de darse de alta y baja respectivamente el alumno) y configuración de la web. La información referida a la conexion a la base de datos se encuentra contenida en el archivo config.php si bien estos datos son gestionados por la propia web pueden ser modificados a manualmente si se desea (y se sabe lo que se hace).

La aplicación se ha hecho a partir del código de HOSPI-TOOL (práctica de ingenieria del software I realizada por alumnos de esta facultad) y sigue su estilo de diseño, reflejado por tanto en la implementación. Este estilo consite en dividir cada módulo funcional en 2 archivos uno encargado de lidiar con la base de datos y realizar operaciones concretas (a estos se les añade la coletilla _api) y otro encargado de la presentación de esa parte de la funcionalidad. Este estilo a parte de ser el que he seguido por pura coherencia y comodidad con el resto del código preexistente es una de las soluciones mas habituales y correctas a la hora de hablar del desarrollo web en PHP por lo cual tambien decidi respetarlo.

También se usa en el lado de servidor javascript en algunas ocasiones para corroborar la entrada de datos siguiendo un formato concreto o bien para la carga automatica de paginas. Si bien su uso es bastante mas escaso que el del PHP.

He usado XML para el almacenamiento de los datos propios de las propuestas de los alumnos (ajenos a le petición de aceptación de propuesta que es otra cosa) como es lógico he respetado (usado) el esquema XML usado hasta ahora en la asignatura. Y la representación la he hecho asociandole una hoja CSS, siendo esta también la usada en la asignatura hasta el momento.