Diseño De Aplicación Nativa De Aula Global Para Ipad
Total Page:16
File Type:pdf, Size:1020Kb
Departamento de Informática PROYECTO FIN DE CARRERA Diseño de Aplicación Nativa de Aula Global para iPad Autor: Omar Pedraza Mallorquín Tutor: José María Valls Ferrán Co-director: Ricardo Aler Mur Leganés, octubre de 2015 ii Título: Aplicación Nativa de Aula Global para iPad Autor: Omar Pedraza Mallorquín Director: José María Valls Ferrán Co-director: Ricardo Aler Mur EL TRIBUNAL Presidente: David Quintana Montero Vocal: Gustavo Recio Isasi Secretario: María Dolores Cuadra Fernández Realizado el acto de defensa y lectura del Proyecto Fin de Carrera el día 28 de octubre de 2015 en Leganés, en la Escuela Politécnica Superior de la Universidad Carlos III de Madrid, acuerda otorgarle la CALIFICACIÓN de VOCAL SECRETARIO PRESIDENTE iii iv Agradecimientos A mi tutores, José María Valls y Ricardo Aler, por su comprensión pese a tanto parón por razones laborales y por hacer todo lo posible y lo casi imposible para que haya podido presentar finalmente este proyecto. A todos los trabajadores del SdIC de la Universidad Carlos III de Madrid por hacerme sentir como uno más de ellos durante todos los meses que estuve en su despacho intentando sacar adelante el proyecto. Y en especial, a Enrique Bueno, Saulo Barajas y David Fernández por estar siempre detrás mía, ayudarme con la toma de requisitos y darme todas las facilidades para que este proyecto llegase a buen puerto. A todos los profesores que me han acompañado desde que empecé mi vida escolar con dos años, por compartir sus conocimientos conmigo y hacer que me esforzase hasta ser el profesional que soy hoy en día. A todos y cada uno de mis compañeros de la carrera. Desde Chepo, David, Gallego, Moi, Nacho y Sergio hasta Alberto, Alvarito, Carlos, Chus, Jaime, Javier y Jorge, pasando por Adri, Bea, Carlos, Fran, Gloria, Rubén o los Cebollitas. Me enorgullece la cantidad de buenos amigos que he tenido durante todos mis años de estudiante con los que he pasado muy buenos momentos tanto en la universidad como fuera de ella y de los que espero seguir disfrutando durante mucho tiempo. A muchos compañeros de trabajo, como Adrià, Armando, Fernando, Jorge, Óscar, Pablo, Raúl, Sergio o Víctor, que me han ayudado a ser la persona que soy hoy en día y con los que trabajar se ha hecho algo más ameno. A mis amigos fuera de la universidad por hacer que mi vida sea todo lo divertida que es, ya sea montando en bici con Alberto, el Barra, Beni, el Jevi, Joaquín, Joselito, Juan, Krystian, Lucí, Luis, René,…, de cervezas viendo el fútbol con Caño, Carlos, Cholo, Dani, Fer, Javi, Jose, Lois, Manolito, Pablo y Vicen, o rememorando historias del colegio con Álex, Dani, Josema, Rodri o Sergio. A mis abuelos que de estar aquí seguro que estarían orgullosos de mí, os echo de menos, sobre todo a ti, abuela Victoria, por cuidarme siempre que mis padres no podían. A mi familia, Adela y Darío, mis tías, mis tíos, mis primos y mi hermano por insistirme siempre en terminar este proyecto lo antes posible y estar ahí siempre que lo necesito. A mi prima Andrea, por hacerme sentir orgulloso al querer seguir mis pasos como ingeniera y elegir esta universidad por mi experiencia aquí. A Rocío, por aguantarme día tras día, sobre todo durante este último mes con el proyecto, y no quejarse demasiado. Rara vez te lo diré, pero gracias por estar a mi lado siempre y apoyarme en todo porque sé lo que te cuesta. A mis padres, Antonio y María Jesús, porque a ellos se lo debo todo. Ser la persona que soy hoy en día es principalmente culpa suya y sé que no podría haber tenido mejores padres durante este camino. Sed todo lo felices que queráis, porque os lo merecéis con creces. A todos ellos, GRACIAS. v vi Resumen Este proyecto consistirá en el análisis y diseño de una aplicación de Aula Global, la plataforma docente de la Universidad Carlos III de Madrid, para dispositivos Apple iPad (Air, Mini o normal), que deberá ser capaz de realizar las siguientes tareas o funciones: - Acceso a la aplicación empleando el mismo usuario y contraseña que en Aula Global y realizando una validación en el servidor. - Acceso a los cursos en los que se encuentre matriculado el usuario. Además podrán marcarse como favoritos para facilitar su acceso desde la sección de favoritos en la que se incluirán todos los cursos previamente marcados por el usuario. - En cada curso se podrán visualizar todos los documentos, vídeos, audios, enlaces y tareas incluidos en él. No habrá posibilidad de realizar las tareas del curso, mostrándose un resumen con el estado de la tarea y su calificación (en el caso de estar ya corregida). - Los usuarios con permisos suficientes (principalmente profesores) serán capaces de ocultar, renombrar o eliminar recursos de cada curso. - Se tendrá acceso a los próximos eventos del usuario en el cual se reflejan todas las actividades que tenga anotadas en la plataforma. Estas actividades podrán ser añadidas al calendario del dispositivo. - Una sección dará acceso a todos los foros en los que el usuario esté incluido, pudiendo leer y comentar todos los posts que en ellos se encuentren. El usuario recibirá notificaciones push cada vez que haya nuevos comentarios en todos aquellos temas a los cuales esté suscrito. Todas estas funciones serán realizadas gracias al conjunto de servicios web que proporciona Moodle (plataforma en la cual está basada Aula Global), que permitirá que la consistencia de datos entre el servidor y la aplicación sea perfecta e instantánea y cualquier cambio realizado en la web se vea reflejado en la aplicación móvil y viceversa. Palabras clave: Aula Global; Aplicación móvil; Apple iPad; Notificaciones push; Plataforma docente; Moodle; Servicios web. vii Abstract This senior design project is about analyzing and designing a mobile app, based on any kind of Apple iPad device, for Aula Global, the Universidad Carlos III de Madrid learning platform. That app should have at least the following features: - Log into the app using the same user and password as Aula Global by performing a validation with the server. - Access to user courses. There will be also a favorites section that will give the user the chance to select courses and access to them easily. - All the documents, videos, audios, links and tasks included in a course will be available in the app. However, it won’t be possible to complete the course tasks, showing just a summary showing its status and score if it’s already corrected. - Some users with special permissions (mainly teachers) will be able to hide, rename or remove resources from a course. - The user will have the chance to see his/her next events planned on the platform. It will be possible to synchronize these events with the device calendar. - A section containing all the forums where the user is taking part, giving the chance to read and reply to all the posts included in those forums. The user will receive a push notification each time that a theme subscribed by the user is replied. All these features will be accomplished thanks to the web services provided by Moodle (the open source learning platform on which Aula Global is based), allowing a real persistency between server and app data. In this way, each change done in the web tool will be reflected in the app and vice versa. Keywords: Aula Global; Mobile app; Apple iPad; Push notifications; Learning platform; Moodle; Web services. viii Índice general 1. INTRODUCCIÓN Y OBJETIVOS ........................................................................................ 1 1.1 Motivación ................................................................................................................ 1 1.2 Objetivos ................................................................................................................... 1 1.2.1 Ofrecer las principales funcionalidades de Aula Global ................................................1 1.2.2 Aportar valor extra sobre la aplicación web ..................................................................2 1.2.3 Sencillez y máxima usabilidad ........................................................................................2 1.2.4 Robustez ..........................................................................................................................2 1.2.5 Escalabilidad del código .................................................................................................3 1.3 Fases del desarrollo ................................................................................................... 3 1.3.1 Análisis ............................................................................................................................3 1.3.2 Arquitectura del sistema y diseño de alto nivel ..............................................................4 1.3.3 Cierre ..............................................................................................................................4 1.4 Medios empleados .................................................................................................... 4 1.4.1 Medios hardware ............................................................................................................4 1.4.2 Medios software ..............................................................................................................5 1.5 Estructura de la memoria .......................................................................................... 5 2. ESTADO DEL ARTE .......................................................................................................... 7 2.1 Contexto ...................................................................................................................