Aplicación web para supervisar la asistencia a las sesiones de prácticas
Full text
Proyecto Final de Carrera Aplicación Web para supervisar la asistencia a las sesiones de prácticas Autor Abel Llopis Granero Director Sergio Saez Barona Titulación Ingeniería técnica informática de gestión Fecha 16 de enero de 2012
2
3 1. INTRODUCCIÓN 5 1.1. MOTIVACIÓN 6 1.2. SITUACIÓN GENERAL 6 1.3. OBJETIVOS 6 2. ESPECIFICACIÓN DE REQUISITOS 8 2.1 INTRODUCCIÓN 9 2.1.1 OBJETIVO 9 2.1.2 ÁMBITO DEL SISTEMA 9 2.1.3 DEFINICIONES, ACRÓNIMOS Y ABREVIACIONES 9 2.2 DESCRIPCIÓN GENERAL 10 2.2.1 PERSPECTIVA DE LA APLICACIÓN 10 2.2.2 FUNCIONES DE LA APLICACIÓN 10 2.2.3 CARACTERÍSTICAS DEL USUARIO 11 2.2.4 RESTRICCIONES GENERALES 11 2.3 REQUISITOS ESPECÍFICOS 11 2.3.1 REQUISITOS FUNCIONALES 11 2.3.2 REQUISITOS DE INTERFACES EXTERNAS 13 2.3.3 REQUISITOS DE EFICIENCIA 14 2.3.4 RESTRICCIONES DE DISEÑO 14 2.3.5 ATRIBUTOS 14 2.3.6 OTROS REQUISITOS 15 3. ANÁLISIS 16 3.1 CASOS DE USO 17 3.1.1 ACTORES 17 3.1.2 ESCENARIOS 18 4. DISEÑO 24 4.1 ARQUITECTURA SOFTWARE 25 4.1.1 CAPA DE PRESENTACIÓN 25 4.1.2 CAPA DE NEGOCIO O LÓGICA DE CONTROL 27 4.1.3 CAPA DE PERSISTENCIA 28 5. IMPLEMENTACIÓN 31 5.1 TECNOLOGÍA 32 5.2 METODOLOGÍA 32 5.3 ESTRUCTURA DE LA APLICACIÓN 32 6. PRUEBAS DE USO 34 6.1 PRUEBAS REALIZADAS 35 6.1.1 PRUEBAS FUNCIONALES 35 6.1.2 PRUEBAS DE VISUALIZACIÓN 36 6.1.3 PRUEBAS DE TIEMPO DE EJECUCIÓN 38 6.1.4 PRUEBAS DE DUPLICIDAD DE CÓDIGO 38 6.1.5 PRUEBAS DE USO 38 7. CONCLUSIONES 44 7.1 OBJETIVOS CUMPLIDOS 45 7.2 AMPLIACIONES 45 7.3 CONCLUSIÓN PERSONAL 45
4 8. BIBLIOGRAFÍA 47 8.1 LIBROS 48 8.2 SITIOS WEB DE REFERENCIA 48 9. ANEXO A 49 9.1 INSTALACIÓN 50 9.2 CONFIGURACIÓN 50 9.2.1 AULAS 51 9.2.2 PRÁCTICAS 53
5 1. Introducción Describimos la motivación para la realización del proyecto así como la necesitad de su desarrollo y los objetivos generales que este debe cumplir. Comprenderemos la finalidad de la realización del proyecto y que queremos conseguir con su desarrollo.
6 1.1. Motivación A medida que pasa el tiempo, la tecnología avanza y para ello, la sociedad debe de ir adaptándose a ella, es por esto que se intenta agilizar y optimizar los procedimientos que pueden mejorarse para que se realicen de la forma más cómoda y rápida posible. La motivación principal para el desarrollo de una aplicación web para la gestión de la asistencia y evaluación de las sesiones prácticas, es la posibilidad de poder crear un sistema que permita controlar la presencia del alumno a las prácticas de una manera cómoda, rápida y segura. 1.2. Situación general Actualmente el profesor debe pasar lista, leyendo uno a uno cada alumno para comprobar que está en la sesión de prácticas a la que le corresponde y que no hay ningún alumno que pertenece a otro grupo. Esto hace que se consuma un tiempo de la sesión de prácticas para realizar el control de los alumnos asistentes y reduce el tiempo que tienen los alumnos para realizar los ejercicios de las prácticas. También tiene el inconveniente que si se desea conocer si un alumno realizó una práctica hace unas semanas, debería buscar las hojas de las prácticas entregadas para conocer si el alumno las presentó sus ejercicios y la nota que este obtuvo. En este ambiente, existe el riesgo que se puedan traspapelar las listas de asistentes o las listas de las prácticas entregadas, es por ello que requiere una organización por parte del profesor así como una planificación para almacenar la documentación y que esta no se extravíe. 1.3. Objetivos El objetivo principal del proyecto es el desarrollo de una aplicación web para gestionar la asistencia y evaluar las sesiones de prácticas de una manera rápida, fiable y con la que se pueda optimizar el tiempo de las sesiones. De esta manera los alumnos dispondrán de la totalidad del tiempo para realizar los ejercicios correspondientes a cada sesión, consultar si realizaron todas las prácticas y que nota obtuvieron. Por parte del profesor, podrá evaluar a los alumnos asignando las prácticas como entregadas o no y si asistieron a una sesión de prácticas concreta. Con todo ello se intenta agilizar el control de las sesiones de prácticas. El alumno puede conocer si realizó una práctica y conocer su estado. Esto le
7 ayudará a planificarse la evaluación y conocer que prácticas le quedan y que le queda por hacer. En la parte que incumbe al profesor, la implantación de este sistema podrá librarlo de varias tareas que aunque siendo tareas que deben realizar, con simplemente acceder al menú de la aplicación podrán conocer quién ha asistido a clase y que prácticas ha realizado, así como saber si algún alumno no está en su aula correcta.
8 2. Especificación de requisitos En esta sección detallamos los objetivos de la aplicación, las funciones que debe realizar y las necesidades que debe cubrir, así como las restricciones que contiene.
9 2.1 Introducción El presente documento se elabora a los efectos de servir como punto de referencia en cuanto a la especificación de requisitos de la aplicación y para que forme parte de la documentación de la aplicación. 2.1.1 Objetivo El objetivo principal de la especificación de requisitos es definir, organizar y documentar las funcionalidades que cubrirá nuestro sistema, de manera que se cumpla tanto las expectativas del cliente como la de los futuros usuarios. 2.1.2 Ámbito del sistema La aplicación web para la gestión de la asistencia y evaluación de sesiones de prácticas contendrá las siguientes funcionalidades: - Registro de ingreso de los alumnos a la sesión de prácticas - Registro del profesor a la sesión de prácticas. - Registro de las prácticas entregadas por los alumnos. - Validación de la entrega de las prácticas de los alumnos. 2.1.3 Definiciones, acrónimos y abreviaciones Esta sección pretende servir como punto de referencia a una persona no vinculada al área informática y familiarizarlo con los términos y conceptos utilizados. login Es el momento de identificación al ingresar en el sistema. logout Es el momento de cerrar la sesión en el sistema HTML HyperText Markup Language, Lenguaje de marcado de hipertexto, es el lenguaje para la programación de páginas web. PHP PHP Hypertext Pre-processor. Es el lenguaje de programación para la creación de páginas web dinámicas. MySQL Es un sistema de gestión de bases de datos.
16 3. Análisis Contiene la descripción de los conocimientos que deberá poseer cada usuario para poder utilizar la aplicación. Contiene todos los escenarios posibles, describiendo los comportamientos de la aplicación en las situaciones más relevantes. Se muestran los diagramas de secuencia en cada escenario.
17 3.1 Casos de uso 3.1.1 Actores En esta sección se describirán las características de los usuarios que usarán la aplicación. Existen dos tipos de actores que participan en la aplicación, los alumnos y los profesores. Para la utilización del sistema, deberán estar dados de alta en la base de datos, loguearse en la aplicación como alumno o profesor y estar fisicamente en el aula que les pertenece, en caso contrario, se mostrará un error y no podrán utilizarla. Cualquier otro usuario no puede utilizar la aplicación. En el diagrama 1, se muestra una vista general del entorno del sistema. Se detalla graficamente los actores que intervienen en el sistema, alumno y profesor y se muestra el sistema que corresponde a la “gestión de las sesiones de prácticas”.
18 En las tablas siguientes detallamos las características que debe poseer cada actor: Alumno registrado Rol de usuario Usuario Experiencia tecnológica Básico, que tenga conocimientos para navegar por Internet Otras características - Debe ser alumno de la universidad para poder utilizar el sistema - Debe de estar dado de alta en la base de datos del sistema - Debe de estar físicamente en el aula para poder loguearse Profesor registrado Rol de usuario Administrador Experiencia tecnológica Experto, capaz de poder editar xml Otras características - Debe de estar físicamente en el aula para poder loguearse - Debe ser profesor de la universidad para poder utilizar el sistema - Debe tener un conocimiento de la aplicación para poder editar los archivos de la configuración - Debe tener permisos para cambiar archivos en el sistema operativo. - Debe de estar dado de alta en la base de datos del sistema 3.1.2 Escenarios Los escenarios son secuencias de sucesos que se producen en el sistema. En este apartado, detallaremos los escenarios que pertenecen a la aplicación, indicando el estado inicial del sistema, su flujo normal de eventos, las posibles situaciones de error y las posibles acciones a realizar. Para cada escenario se definirá un diagrama de secuencias y una tabla describiendo el escenario.
19 La tabla consta de: Nombre del escenario: Identifica el escenario. Actores: Son los usuarios que aparecen en el escenario. Descripción: Describe que función se realizará en el escenario. Escenario principal: Describe los pasos que el actor va realizando. Extensiones: Los posibles errores que puedan aparecer. A continuación, mostramos todos los escenarios: Registro de los alumnos a las sesiones de prácticas Registro de los alumnos a la sesión de prácticas Actores Alumno Descripción El sistema permite al alumno registrarse para empezar la sesión de prácticas Escenario principal 1. El alumno introduce sus datos de conexión en el sistema. 2. El sistema comprueba que los datos de conexión son correctos. 3. El sistema comprueba que el alumno pertenece a la sesión de prácticas a la que quiere acceder. Extensiones 2a. Los datos de conexión son erróneos 2a1, El sistema informa al alumno que los datos son incorrectos y le vuelve a solicitar los datos, vuelve al paso 1. 3a. El alumno no está accediendo desde un puesto de trabajo perteneciente a la sesión de prácticas, el sistema le informa al alumno de la situación actual.
20 Registro de los profesores a las sesiones de prácticas Registro del profesor a la sesión de prácticas Actores Profesor Descripción El sistema permite al profesor registrarse para empezar la sesión de prácticas Escenario principal 1. El profesor introduce sus datos de conexión en el sistema. 2. El sistema comprueba que los datos de conexión son correctos. 3. El sistema comprueba que el profesor está accediendo desde un puesto de trabajo como profesor y en el aula a la que pertenece la sesión de prácticas Extensiones 2a. Los datos de conexión son erróneos 2a1, El sistema informa al profesor que los datos son incorrectos y le vuelve a solicitar los datos, vuelve al paso 1. 3a. El profesor no está en un puesto de trabajo perteneciente a la sesión de prácticas y la aplicación le informa de ello.
21 Consultar distribución del aula Consultar distribución aula Actores Profesor Descripción El sistema permite al profesor visualizar dónde están sentados todos los alumnos en clase y las prácticas que está realizando cada uno Precondición El profesor debe estar registrado en el sistema Escenario principal 1. El profesor indica al sistema que desea visualizar un mapa. 2. El sistema muestra las aulas disponibles 3. El profesor selecciona de entre todas las aulas, la aula de la cual quiere obtener su distribución 4. El sistema recupera la información del aula y la muestra por pantalla.
22 Modificar el estado de una práctica Modificar estado de una práctica Actores Profesor Descripción El sistema permite al profesor modificar el estado de una práctica Precondición El profesor y el alumno a modificar deben estar registrado en el sistema Escenario principal 1. El profesor indica al sistema que desea visualizar un mapa. 2. El sistema muestra las aulas disponibles 3. El profesor selecciona de entre todas las aulas, la aula de la cual quiere obtener su distribución 4. El sistema recupera la información del aula y la muestra por pantalla. 5. El profesor presiona sobre el nombre del alumno mostrado en la distribución del aula. 6. El sistema recupera el listado de las prácticas realizadas por el alumno seleccionado. 7. El profesor presiona sobre la práctica a la que desea cambiar su estado. 8. El sistema almacena el cambio en la base de datos.
23 Logout profesor Logout profesor Actores Profesor Descripción El sistema permite al profesor cerrar su sesión y la de todos los alumnos conectados. Precondición El profesor debe estar registrado en el sistema Escenario principal 1. El profesor indica al sistema que quiere cerrar la sesión. 2. El sistema cierra la sesión del profesor y de todos los alumnos conectados en ese momento.
24 4. Diseño Contiene una introducción sobre la arquitectura de software utilizada, describiendo la estructura del servidor en tres capas: Presentación, lógica de control o negocio y persistencia. Se describe la estructura de la base de datos explicando todos los campos que la componen.
25 4.1 Arquitectura software La arquitectura de software es el diseño de más alto nivel de la estructura de un sistema o aplicación dónde se definen sus módulos principales y que responsabilidades va a tener cada módulo, así como la interacción entre ellos. Así podríamos definir a la arquitectura de software como la organización fundamental de un sistema formada por sus componentes, las relaciones entre ellos y el contexto en el que se implantarán, y los principios que orientan su diseño y evolución. Una de las arquitectura de software más utilizada es la de arquitectura separada por 3 capas, que consiste en separar por partes la programación de una aplicación, es decir, separar la parte visible de la parte de almacenamiento o persistencia de datos. Una de las principales ventajas de este tipo de desarrollo es que si hay que realizar un cambio sólo se debe realizar en la capa a la que afecta sin necesidad de revisar el resto del código de las otras capas. Otra ventaja es la distribución de trabajo por equipos, ya que unas personas pueden estar desarrollando la capa de presentación, mientras otro equipo puede estar desarrollando la capa de negocio. Como hemos comentado anteriormente, hemos decidido utilizar una arquitectura de 3 capas en el que nuestro proyecto está alojado en un servidor web y dispone de un servido de bases de datos phpmyadmin. 4.1.1 Capa de presentación Es la capa visible por parte del usuario, encarga de presentar y capturar la información por parte del usuario. Esta capa se comunica únicamente con la capa de negocio o lógica de control.
32 5.1 Tecnología Uno de los requisitos para la realización del proyecto es que la aplicación debía desarrollarse en PHP, por lo que la tecnología elegida para desarrollar el proyecto es PHP. Todo el código del proyecto se ha realizado con PHP utilizando las funciones de la versión 5.3, para la realización de la captura de datos, su tratamiento y almacenamiento. Para el almacenamiento de los datos se ha utilizado phpmyadmin que se integra perfectamente con PHP. La programación de la parte visual del proyecto, es decir, la visualización del proyecto se ha utilizado HTML que es el lenguaje estándar para mostrar contenidos en las páginas web. Los estilos de la página web se han realizado con CSS, el cual se combina con el HTML para lograr una correcta visualización de la aplicación y que esta sea accesible por parte del usuario. También se ha utilizado Javascript para realizar funciones específicas, como la ocultación de divs al presionar un botón o mostrarlo cuando se vuelve a presionar. La programación del código del proyecto se ha utilizado la aplicación “Eclispe” en su versión Galileo que incorpora las librerías de PHP y Javascript. Para la realización de la estructura de la base de datos se ha utilizada “SQL Editor”, aplicación que funciona en Mac Osx para generar y construir diagramas y bases de datos. El sistema dónde se ha programado la totalidad del proyecto ha sido en un Macbook con Snow Leopard. El proyecto está alojado en un servidor de la compañía OVH que nos ofrece el servicio de alojamiento y la base de datos. 5.2 Metodología No se utiliza ningún framework para la realización del proyecto por lo que todo se ha realizado partiendo desde cero. Antes de la realización de la aplicación se ha dedicado un tiempo para el estudio de la distribución de los ficheros del proyecto así como la nomenclatura a utilizar. 5.3 Estructura de la aplicación En la aplicación existen 3 directorios principales: 0fun, 0ima, 1htm.
33 La elección de los nombres es para que haya una ordenación en el directorio, ya que 0fun contiene las funciones que se utilizan en la aplicación, 0ima contiene las imágenes y 1htm contiene todo los archivos PHP de la aplicación. - /0fun o funbda01.php Contiene todas las funciones que utiliza la aplicación que acceden a la base de datos o funhtm.php Contiene todas las funciones que muestras componentes HTML o funjvs01.js Contiene todas las funciones javascript que utiliza la aplicación. - /0ima Contiene todas las imágenes que muestra la aplicación. - /1htm o /xml: Contiene archivos xml aulas.xml Contiene la distribución del aula practicas.xml Contiene las prácticas del aula o ctlhtm.php: Controlador de los archivos o htma1.php: Login alumno o htma2.php: Validación alumno o htma4.php: Información alumno o htma5.php: Información prácticas alumno o htma6.php: Información histórico alumno o htma7.php: Logout alumno o htmb1.php: Login profesor o htmb2.php: Validación profesor o htmb3.php: Información profesor o htmb5.php: Formulario del aula o htmb6.php: Distribución de las aulas o htmb7.php: Histórico profesor o htmb8.php: Logout profesor o htmb9.php: Estado prácticas alumnos o htmb10.php: Cambiar estado prácticas alumnos o htmb11.php: Logout alumnos - index.php: Página inicial - gensty01.css: Hoja estilos para el html
34 6. Pruebas de uso Describimos las pruebas que se han realizado para el buen comportamiento de la aplicación. Mostramos los resultados obtenidos y que hemos aplicado para realizar la mejora de resultados.
35 6.1 Pruebas realizadas A medida que se iba desarrollando la aplicación se fueron realizando pruebas con los requisitos y especificación detalladas anteriormente. Se han desarrollo diferentes tipos de pruebas: 6.1.1 Pruebas funcionales Las pruebas funcionales han consistido en la comprobación de cada una de las funciones que realiza la aplicación. Una vez programadas se mostraba por pantalla el resultado de la función, por lo que cada función ha sido comprobada unitariamente. Se ha sometido a la aplicación a la introducción de datos erróneos para comprobar como responde así como actúa frente a este tipo de errores. Uno de los pocos casos en los que se le pueden pasar datos erróneos a la aplicación en el sistema de login, ya que en los demás apartados, se selecciona la información mediante una lista desplegable por lo que es imposible que se le pueda introducir datos erróneos a la aplicación. Para el caso de login, se ha diseñado la función para que no permita la introducción de “inyecciones SQL”. Estas inyecciones consisten en la introducción de un código intruso que se vale de los errores en la programación a nivel de validación para que el texto introducido genere una consulta maliciosa en la base de datos. Una de las inyecciones más utilizadas es introducir en el nombre de usuario cualquier texto y en la contraseña el siguiente texto ' OR 'x' = 'x con ello intentando “engañar” a la base de datos. Hemos introducido las inyecciones SQL más comunes y el resultado de las mismas es el siguiente:
36 6.1.2 Pruebas de visualización Las pruebas de visualización han sido las encargas de comprobar que la aplicación se visualizaba correctamente en los navegadores que existen en el mercado y en la mayoría de los dispositivos capaces de mostrar una aplicación web. Firefox
37 Safari Iphone
38 6.1.3 Pruebas de tiempo de ejecución Las pruebas de tiempo de ejecución has consistido en comprobar si el tiempo de cálculo de las funciones no ha excedido de lo habitual y no retrasa el funcionamiento o la ejecución de toda la aplicación. Para realizar la medición del tiempo de ejecución en las funciones de PHP se han utilizado herramientas que ya dispone el propio lenguaje de programación, estas funciones consisten en la introducción de un código fuente en las funciones más relevantes de la aplicación o en las funciones que podrían retrasar el tiempo de ejecución comprobando el tiempo que tardan en finalizar. Para ello, al comienzo de la función introducimos una función de PHP que contiene la hora UNIX en una variable y al finalizar nuestra función restamos la hora final con la hora inicial y con esta operación podemos calcular el tiempo de ejecución de la función. No ponemos los tiempos de las funciones ya que son despreciables, el tiempo de ejecución de las funciones es mínimo aunque en el apartado siguiente podremos observar el tiempo de carga de la aplicación. 6.1.4 Pruebas de duplicidad de código En las pruebas de duplicidad de código se comprueba que no hay código duplicado y en caso de encontrar líneas de código que realizan las mismas funciones, se ha factorizado para conseguir la optimización del código, eliminando código repetido y mejorando su compresión y ejecución. 6.1.5 Pruebas de uso Se han realizado pruebas de uso de la aplicación, con ello conseguimos mejorarla para que sea accesible, con una rápida respuesta de las acciones a realizar, eficiente y que el usuario comprenda correctamente el contenido de la misma. Estas pruebas se han basado en 4 aspectos: Accesibilidad: La aplicación es de fácil acceso, los controles son simples y es muy fácil acceder a cualquier contenido de la misma. A continuación, podemos observar unas capturas de la aplicación para comprobar su simpleza y optimización de contenidos.
39 Login Este apartado es el login del usuario, cada usuario deberá tener un nombre de usuario y una clave. Para acceder a la aplicación basta con introducir su usuario y clave y presionar en “Enviar”. Si ha introducido correctamente los datos, accederá al sistema, en caso contrario, se le mostrará un mensaje de error informándole de lo que ha ocurrido. Información de usuario
40 Al acceder a la aplicación se le mostrará la información correspondiente a su perfil, en el caso de la captura se muestra la información del profesor pero para el alumno es exactamente igual. Contiene el DNI del usuario, su nombre y la práctica que está realizando en el caso del alumno y si el usuario que está logueado es un profesor se mostrará la práctica que ha elegido en el login como la práctica que corresponde a la sesión que se está realizando. Historial Con el historial podremos observar nuestra actividad, las prácticas a las que hemos ido y cuando hemos entrado y salido de las aulas. Nos permite tener un control de nuestra asistencia a las prácticas y conocer rápidamente que prácticas nos faltan por realizar. Cuando la fecha de salida no sea rellenada significa que la práctica la estamos haciendo en ese momento en caso contrario, la fecha de salida se almacena una vez cerramos la sesión de prácticas.
41 Distribución de las aulas Este apartado solamente es visible por el profesor, ya que puedes ver todos lo alumnos conectados en cada ordenador y la práctica que está realizando. Por último, en la pestaña de “Logout” simplemente al acceder a ella, se cierra la sesión de la aplicación y se da por finalizada la sesión de prácticas.
48 8.1 Libros - Sommerville, I. Ingeniería del Software. (6a ed.). Addison-Wesley, 2002 - Desarrollo Web con PHP 6, Apache y Mysql. Anaya Multimedia, 2009 - CSS, Hoja de estilo en cascada para diseño Web Anaya Multimedia, 2006 - CSS Práctico Anaya Multimedia, 2006 - IEEE Recommended Practice for Software Requirements Specifications - Apuntes asignatura “Ingeniería del Software de Gestión” 8.2 Sitios Web de referencia - Manual PHP http://es.php.net/ - Wikipedia http://es.wikipedia.org - Wamp Server http://www.wampserver.com/en/
49 9. Anexo A Contiene un manual para la instalación y configuración de la aplicación, así como un manual de uso.
50 9.1 Instalación Existen varias posibilidades para la instalación de la aplicación dependiendo de dónde se quiera instalar. La primera opción es contratar un servicio de alojamiento en Internet que admita la tecnología PHP y la posibilidad de creación de bases de datos en MySQL. Sólo deberemos subir el contenido de las carpetas de la aplicación en la raíz de las carpetas del servidor. También deberemos crear la base de datos, para ello nos dirigimos al panel de control que nos ofrecerá nuestro proveedor de alojamiento dónde podremos configurar las bases de datos que necesitamos. En la raíz de la aplicación existe un archivo que se llama “localhost.sql” desde el cuál se puede crear la base de datos y todas sus tablas con los contenidos necesarios para la ejecución de la aplicación. Deberemos ir a la sección de SQL dentro del phpmyadmin que habremos accedido desde el panel de control de nuestro proveedor de alojamiento. Ahí deberemos ejecutar las sentencias SQL para la creación de la base de datos y todas sus tablas. La segunda opción para la instalación es realizarla en un ordenador desde el cuál se pueda utilizar como un servidor de Internet, para ello deberemos instalar un programa que haga actuar a este ordenador como un servidor de alojamiento de Internet, en caso de ser un ordenador con Windows recomendaremos la instalación de Wamp, que lleva todos los paquetes necesarios para la ejecución de nuestra aplicación. En caso de ser Linux recomendamos una versión para Linux llamada Lampp. Una vez instalada y ejecutada la aplicación Wamp o Lampp, deberemos copiar en la carpeta “www” nuestro proyecto. Para la creación de la base de datos deberemos escribir en nuestro navegador web la dirección http://localhost/phpmyadmin/ con la que podremos acceder a la gestión de las bases de datos. En este punto deberemos acceder a la sección SQL que nos permitirá copiar las sentencias SQL que tenemos en el archivo “localhost” en la raíz de nuestro proyecto. Con ello obtendremos la base de datos y todas las tablas necesarias para la ejecución de nuestra aplicación. 9.2 Configuración La configuración de la aplicación es muy fácil y cómoda ya que simplemente deberemos cambiar los archivos xml que existen en la carpeta “1htm/xml”. Existen 2 ficheros que deberemos configurar dependiendo del aula dónde vamos a ejecutar la aplicación y las práctica que se van a realizar a lo largo del curso.
51 9.2.1 AULAS Para la configuración de la distribución de las aulas se deberá editar el fichero “aulas.xml” que se encuentra en la carpeta “xml” dentro de “1htm”. Estructura La estructura del fichero es la siguiente: <aulas> <clase> <nombre>B1</nombre> <distribucion>MMHMMMRMMHMMMRMMHMMMRMMHMMMRHHHHMMRP</distribucion> <puesto> <ip>158.42.181.22</ip> <maquina>acomp22</maquina> <tipo>A</tipo> </puesto> <puesto> <ip>158.42.181.21</ip> <maquina>acomp21</maquina> <tipo>A</tipo> </puesto> . . . </clase> </aulas> Está organizado por etiquetas y simplemente hay que cambiar el contenido de cada etiqueta para configurar el aula. Significado de las etiquetas Para cambiar la configuración de las aulas, hay que sustituir el contenido de cada etiqueta por el que queremos mostrar, para ello deberemos conocer que significa cada etiqueta. <aulas> Contiene todas las clases disponibles en la aplicación. Actualmente la aplicación sólo está preparada para una clase, pero con unas pequeñas modificaciones del código se podría conseguir adaptar la aplicación para varias clases. <clase> Contiene todas las características de las clases. <nombre> Aquí podemos cambiar el nombre de la clase, el nombre se visualizará en el listado de clases de la aplicación. <distribucion>
52 En esta etiqueta podemos modificar la distribución de la clase. Para ello necesitamos incluiremos la cadena de caracteres correspondiente a la clase. Cada carácter tiene un significado para la aplicación y dependiendo del que introduzcamos se mostrará una distribución u otra. M -> MESA H -> HUECO ENTRE MESAS R -> FIN DE FILA P -> MESA DEL PROFESOR <puesto> Contiene la configuración a cada puesto de trabajo. <ip> Cada puesto de trabajo tiene una ip única, por lo que deberemos insertar la ip de cada puesto de trabajo conocer a que ip corresponde cada máquina. <maquina> Cada puesto de trabajo también tiene un nombre único, también deberemos escribir el nombre de cada máquina. <tipo> Define el tipo de máquina, sólo existen 2 posibilidades: P -> PROFESOR A -> ALUMNO Con unos simples cambios podremos configurar los puestos de trabajo del aula y ver reflejados los cambios en la aplicación. Cualquier carácter o cambio de etiqueta en el fichero podría dejar sin funcionamiento de la aplicación, por lo que es aconsejable que la edición del fichero sea realizada por el administrador de la aplicación o persona con conocimientos de informática.
53 9.2.2 PRÁCTICAS Para la configuración de las prácticas que se realizarán durante todo el curso, se deberá editar el fichero “practicas.xml” que contiene el listado de las prácticas que se quiere evaluar su asistencia y presentación. Estructura La estructura del fichero es la siguiente: <temario> <practica> <codigo>1</codigo> <titulo>Practica 1</titulo> </practica> <practica> <codigo>2</codigo> <titulo>Practica 2</titulo> </practica> . . . </temario> Significado de las etiquetas Para cambiar la configuración de las prácticas, hay que sustituir el contenido de cada etiqueta por el que queremos mostrar, para ello deberemos conocer que significa cada etiqueta. <temario> Contiene todas prácticas que se van a realizar durante todo el curso y estas se mostrarán en la aplicación. <practica> Contiene todas las características de las prácticas. <codigo> A cada práctica se le deberá asignar un código numérico, correlativo y único para que se pueda identificar con facilidad. <titulo> En esta etiqueta escribiremos el título de la práctica.