Full text
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (5MB) | Preview |
Aranguren Carmona, Rodrigo (2017). Diseño y desarrollo de una aplicación Android para la realización de cuestionarios entre usuarios en proximidad. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM).
Title: | Diseño y desarrollo de una aplicación Android para la realización de cuestionarios entre usuarios en proximidad |
---|---|
Author/s: |
|
Contributor/s: |
|
Item Type: | Final Project |
Degree: | Grado en Ingeniería en Tecnologías Industriales |
Date: | 2017 |
Subjects: | |
Freetext Keywords: | Android, Google, Android Studio, Java, XML, GSON, JSON, aplicación, Google Play, Nearby |
Faculty: | E.T.S.I. Industriales (UPM) |
Department: | Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial |
Creative Commons Licenses: | Recognition - No derivative works - Non commercial |
Preview |
PDF
- Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (5MB) | Preview |
En este Trabajo de Fin de Grado se presenta el proceso seguido para diseñar y desarrollar Sonar, una aplicación para el sistema operativo Android. Su función es la de facilitar la creación, gestión y análisis de cuestionarios realizados desde dispositivos móviles de usuarios cercanos. La aplicación permite establecer un enlace entre ellos de forma que mientras uno publica un cuestionario con preguntas, el resto puede contestarlo y enviar unas respuestas de vuelta. La determinación de proximidad y la transferencia de información entre dispositivos se realiza mediante Nearby, una API desarrollada por Google que está disponible en los servicios de Google Play.
El desarrollo de la aplicación se ha hecho de forma que un usuario pueda asimilar intuitivamente sus funciones. Su arquitectura es moderna y aprovecha las mejoras disponibles en las últimas versiones del sistema operativo. El proyecto tiene como referencia los patrones y directrices tanto de diseño como de desarrollo más recientes. No obstante, el uso de las herramientas de terceros debe estar justificado: la inclusión de librerías en el proyecto está condicionada por una necesidad real, evitándose así un proyecto formado en su mayoría por utilidades ajenas, sin aportación real del desarrollador.
Se ha realizado un análisis de las soluciones existentes en el mercado. Por un lado, se han estudiado las aplicaciones que han implementado la misma API con el objetivo de identificar problemas corrientes relacionados con la experiencia de usuario. Por otro, se han recopilado las soluciones más populares en la tienda cuya misión principal está relacionada con la gestión de encuestas y cuestionarios. Al analizarlas se han podido observar los patrones habituales en las aplicaciones de este tipo.
Durante la etapa de diseño se han identificado los actores principales (encuestador y encuestado) y las acciones que puede realizar cada uno. Desde el punto de vista del encuestador, éstas son: creación y edición de cuestionarios, recolección de respuestas y análisis de las mismas. Por otro lado, desde el lado del encuestado se puede hablar de las acciones de búsqueda de encuestas cercanas y el envío de sus contestaciones. Teniendo en cuenta los casos de uso se han definido una serie de requisitos, tanto funcionales como no funcionales. Éstos especifican de forma clara el comportamiento que debe seguir la aplicación. También se utilizan como criterio a la hora de valorar distintas alternativas de desarrollo. Los requisitos están formados por un identificador (al que se hará referencia en la documentación), un nombre y una breve descripción. Durante la fase de definición de requisitos también se han tenido en cuenta las posibles formas que tendrán los usuarios para engañar a la aplicación. Como resultado, se proponen medidas preventivas que contrarrestan los intentos de realizar trampas. Merecen una mención algunos de los requisitos, en particular los funcionales, que son los que determinan el comportamiento específico de la aplicación. Destacan los siguientes:
Todos los usuarios quedan identificados con una clave única, que no es modificable ni conocida por ellos.
Un cuestionario puede tener un único conjunto de respuestas por usuario. Esto implica que cuando un encuestado envía dos grupos de contestaciones, solamente queda registrado el último.
Se ofrecen tres tipos distintos de preguntas: binarias, de valoración y de selección múltiple. A la hora de añadirlas a un cuestionario, existen plantillas con opciones comunes para ellas.
Los cuestionarios no pueden ser editados si ya contienen respuestas de algún usuario.
Se crean tres niveles de privacidad diferenciados: público, secreto y anónimo. Dependiendo del escogido por el encuestador, éste podía conocer en mayor o menor medida las respuestas y la información de usuario de aquellos que han contestado.
Las encuestas de temática más sensible pueden ser protegidas por una contraseña.
El modelo de la aplicación se ha ideado de forma que cada caso de uso tenga asociado una pantalla. Éstas son las siguientes:
Pantalla de configuración inicial, en la que el usuario es identificado.
Pantalla principal, donde se muestra un listado de los cuestionarios ya creados por el usuario. También es el punto de acceso al resto de secciones de la aplicación.
Pantalla de creación y edición.
Pantalla de vista de detalles y de activación de cuestionarios, mediante la cual el usuario puede recoger respuestas durante la publicación de la encuesta y analizarlas cuando son recibidas.
Pantalla de búsqueda de cuestionarios y envío de respuestas, donde aparece el listado de encuestas cercanas.
Pantalla de selección de respuestas, donde el usuario introduce las contestaciones que va a enviar al encuestador.
La parte de mayor duración del proyecto es la de desarrollo. Durante esta fase se materializan las funcionalidades que se propusieron durante la fase de diseño. Se analiza individualmente cada característica por pantalla.
Un comentario especial requiere la utilización de la librería de serialización de GSON.
Ésta es empleada para transformar los objetos de Java en una representación compacta en JSON.
Para asegurar tanto un buen nivel de calidad como la estabilidad de la aplicación, así como para recibir además impresiones de algunos usuarios, se han realizado pruebas cerradas de la aplicación. Más adelante, las pruebas en público se han distribuido mediante los canales de testeo de la tienda de Google Play.
De forma adicional, se han tenido en cuenta aspectos menores del desarrollo que, sin afectar al comportamiento general de la aplicación, se han considerado muy importantes para dar al usuario una buena experiencia de uso. Éstos son algunos como el uso coherente de los colores, las animaciones más trabajadas o las sugerencias en los campos de introducción de texto.
En la conclusión del proyecto se ha comprobado el cumplimiento de los objetivos y requisitos impuestos previamente. De forma adicional, se ha considerado una parte importante la definición de las líneas futuras de desarrollo. Esto es debido a que, como todo proyecto con cierto nivel de complejidad, las posibilidades de expansión del mismo son prácticamente ilimitadas. Más aún si, como ocurre en este caso, pertenece a un área con un ritmo de cambio tan elevado como es el desarrollo de aplicaciones móviles.
Item ID: | 48014 |
---|---|
DC Identifier: | https://oa.upm.es/48014/ |
OAI Identifier: | oai:oa.upm.es:48014 |
Deposited by: | Biblioteca ETSI Industriales |
Deposited on: | 06 Oct 2017 06:50 |
Last Modified: | 06 Oct 2017 06:50 |