Académique Documents
Professionnel Documents
Culture Documents
Tesis para optar por el ttulo de Ingeniero Informtico, que presenta el bachiller:
La presente tesis busca desarrollar una aplicacin mvil con informacin centralizada
de lugares y eventos de un campus universitario, esta ofrece mostrar la ubicacin de
puntos de inters mediante el uso de las tecnologas de realidad aumentada y mapas,
implementar sistemas de bsqueda de puntos de inters, y mostrar informacin como
descripciones, fotos, enlaces web, enlaces de contacto y lugares relacionados, entre
otros.
Esta aplicacin fue implementada para la Pontificia Universidad Catlica del Per
(PUCP) por parte de la Direccin Informtica Acadmica (DIA) con el nombre de
Descubre PUCP.
i
Tabla de contenido
1. CAPTULO 1: GENERALIDADES.............................................................................1
1.1. Problemtica...........................................................................................................1
1.2. Marco conceptual....................................................................................................3
1.2.1. Software y sistemas operativos para dispositivos mviles inteligentes...................3
1.2.2. Punto de inters........................................................................................................4
1.2.3. Realidad aumentada.................................................................................................5
1.3. Estado del arte........................................................................................................7
1.3.1. Aplicaciones para visualizacin de puntos de inters...............................................7
1.3.2. Revisin sistemtica................................................................................................10
1.3.3. Conclusiones sobre el estado del arte....................................................................16
2. CAPTULO 2: OBJETIVOS, HERRAMIENTAS Y ALCANCE.................................18
2.1. Objetivo general....................................................................................................18
2.2. Objetivos especficos............................................................................................18
2.3. Resultados esperados...........................................................................................18
2.4. Herramientas, mtodos y procedimientos.............................................................19
2.4.1. Mapeo......................................................................................................................19
2.4.2. Procedimiento 1: Revisin de fuentes oficiales de la universidad..........................20
2.4.3. Herramienta 1: Base de datos MySQL...................................................................20
2.4.4. Herramienta 2: IDE Android Studio.........................................................................21
2.4.5. Herramienta 3: Lenguaje de programacin Java y Android SDK...........................21
2.4.6. Herramienta 4: Google Maps API for Android.........................................................23
2.4.7. Herramienta 5: Mixare.............................................................................................24
2.4.8. Herramienta 6: IDE Netbeans.................................................................................24
2.4.9. Herramienta 7: Lenguaje de programacin PHP....................................................24
2.4.10. Herramienta 8: Servicio web y servidor remoto....................................................25
2.4.11. Herramienta 9: Base de datos interna Android SQLite.........................................26
2.4.12. Herramienta 10: lenguaje de etiquetas HTML......................................................26
2.4.13. Herramienta 11: Controlador de versiones SVN...................................................26
2.4.14. Herramienta 12: Otras libreras externas..............................................................27
2.4.15. Herramienta 13: Framework Yii............................................................................28
2.4.16. Herramienta 14: Herramientas de metodologas giles.......................................29
2.5. Alcances y limitaciones.........................................................................................31
2.6. Justificacin y viabilidad........................................................................................32
2.7. Plan de actividades...............................................................................................34
2.8. Descubre PUCP....................................................................................................36
3. CAPTULO 3: DATOS.............................................................................................37
ii
3.1. Recoleccin de datos............................................................................................37
3.2. Estructuras de datos.............................................................................................38
4. CAPTULO 4: VISUALIZACIN DE INFORMACIN.............................................41
4.1. Interfaz grfica......................................................................................................41
4.2. Arquitectura de la informacin...............................................................................43
5. CAPTULO 5: GEOLOCALIZACIN.......................................................................50
5.1. Realidad aumentada.............................................................................................50
5.1.1. Cdigo utilizado de Mixare......................................................................................50
5.1.2. Cdigo modificado de Mixare..................................................................................50
5.2. Mapas...................................................................................................................52
5.2.1. Visualizacin de mapa interactivo...........................................................................53
5.2.2. Visualizacin de uno o ms puntos de inters........................................................53
5.2.3. Visualizacin de informacin de un punto de inters al tocarlo..............................53
6. CAPTULO 6: COMUNICACIN CLIENTE SERVIDOR........................................54
6.1. Administracin web...............................................................................................54
6.2. Servicio web y arquitectura...................................................................................55
6.2.1. Vista de despliegue.................................................................................................55
6.2.2. Vista lgica..............................................................................................................56
6.3. Optimizacin de recursos......................................................................................59
7. CAPTULO 7: CONCLUSIONES, OBSERVACIONES Y TRABAJOS FUTUROS. 60
7.1. Resultados obtenidos con Descubre PUCP..........................................................60
7.2. Observaciones y recomendaciones......................................................................61
7.3. Trabajos futuros.....................................................................................................61
7.4. Conclusiones.........................................................................................................62
8. REFERENCIAS BIBLIOGRFICAS........................................................................64
iii
ndice de figuras
Figura 1: Territorio que ocupa la Pontificia Universidad Catlica del Per [3].......................2
Figura 2: Descargas acumuladas de aplicaciones en Google Play y App Store [6]..............4
Figura 3: Visualizacin de un punto de inters en Google Maps...........................................5
Figura 4: Videojuego que utiliza realidad aumentada............................................................6
Figura 5: Aplicacin Field Trip................................................................................................8
Figura 6: Visin de realidad aumentada en Layar..................................................................9
Figura 7: Aplicacin Wikitude [16]........................................................................................10
Figura 8: Cuota de mercado de sistemas operativos mviles [25]......................................22
Figura 9: Tabla comparativa de rendimiento de Yii versus otros frameworks [40]...............29
Figura 10: Mapa fsico ubicado en campus universitario.....................................................38
Figura 11: Tabla de puntos de inters en la base de datos..................................................40
Figura 12: Logo de aplicacin Descubre PUCP...................................................................41
Figura 13: conos de aplicacin Descubre PUCP.................................................................42
Figura 14: Ejemplo de informacin de un punto de inters..................................................43
Figura 15: Navegacin entre ventanas................................................................................44
Figura 16: Ventana inicial de aplicacin Descubre PUCP....................................................46
Figura 17: Resultados de bsqueda como un listado de puntos de inters........................47
Figura 18: Ventana de informacin de un punto de inters.................................................47
Figura 19: Ventana de realidad aumentada.........................................................................48
Figura 20: Ventana de mapa................................................................................................48
Figura 21: Ventana de ayuda...............................................................................................49
Figura 22: Problemas de interfaz de aplicacin Mixare.......................................................51
Figura 23: Solucin propuesta para problemas de interfaz.................................................52
Figura 24: Visualizacin de punto de inters usando API de Google Maps para Android...53
Figura 25: Vista de despliegue de arquitectura....................................................................55
Figura 26: Vista lgica de arquitectura.................................................................................57
Figura 27: Estadstica de instalaciones de Descubre PUCP................................................60
iv
ndice de tablas
Tabla 1: Cantidad de artculos encontrados y duplicados en revisin sistemtica.............12
Tabla 2: Anlisis de artculo "Mobile Augmented Reality of Tourism-Yilan Hot Spring".......13
Tabla 3: Anlisis de artculo "CAViAR: Context aware visual indoor augmented reality for a
university campus"................................................................................................................14
Tabla 4: Anlisis de artculo "Mobile Campus Touring System based on AR and GPS: a
Case Study of Campus Cultural Activity"..............................................................................15
Tabla 5: Anlisis de proyecto Evaluacin de usabilidad en dos aplicaciones de realidad
aumentada para dispositivos mviles con sistema operativo Android................................16
Tabla 6: Herramientas, mtodos y procedimientos por cada resultado esperado...............20
Tabla 7: Cuadro comparativo de gestores de base de datos MySQL y PostgreSQL [23].. .21
Tabla 8: Cuadro comparativo de lenguajes de programacin PHP, Java y ASP [23]..........25
Tabla 9: Cuadro comparativo de servicios web SOAP y REST [31]....................................25
Tabla 10: Cuadro comparativo de controladores de versiones CVS y SVN [23].................27
Tabla 11: Libreras externas que usa el proyecto.................................................................28
Tabla 12: Medicin de calidad de consumo de memoria, precisin y cobertura en el
proceso de determinacin de la ubicacin del dispositivo [43]............................................31
Tabla 13: Cuadro de egresos del proyecto...........................................................................33
Tabla 14: Planificacin del proyecto.....................................................................................36
Tabla 15: Campos de tabla que almacena puntos de inters en base de datos.................40
Tabla 16: Descripcin de vista de despliegue de arquitectura.............................................56
Tabla 17: Capa de presentacin de vista lgica de arquitectura..........................................58
Tabla 18: Capa de proceso de vista lgica de arquitectura.................................................58
Tabla 19: Capa de datos de vista lgica de arquitectura.....................................................59
v
1. CAPTULO 1: GENERALIDADES
1.1. Problemtica
Se tomar como ejemplo la Pontificia Universidad Catlica del Per (PUCP) cuya
infraestructura cuenta con un rea total de 413 902 m2 y que al momento de realizar
este proyecto contaba con 10 facultades [3]. La figura 1 muestra un mapa de esta
universidad en donde se puede ver el rea que ocupa.
1
http://www.tripadvisor.com.pe
2
http://www.yelp.com
3
https://foursquare.com
4
https://es-la.facebook.com/places/
1
Figura 1: Territorio que ocupa la Pontificia Universidad Catlica del Per [3].
Debido a la gran extensin que ocupa una universidad como esta y a la cantidad de
edificios construidos en ella, una persona que no pertenece o que recin se incorpora
a la comunidad universitaria no conoce la ubicacin de lugares importantes dentro del
campus universitario como las unidades acadmicas, facultades o bibliotecas; incluso
las personas que s pertenecen a la comunidad universitaria pueden no conocer la
ubicacin de lugares menos visitados como las direcciones administrativas, centros e
institutos.
2
De lo explicado se puede concluir que existen dos problemas: dificultad por identificar
y llegar a ciertos espacios del campus universitario y relacionar estas ubicaciones con
los eventos que ocurren en ellos y facilidades que se encuentren alrededor. En
consecuencia este proyecto de fin de carrera propone aprovechar el auge de las
tecnologas mviles y crear una aplicacin que ayude a sus usuarios a identificar
lugares y eventos del campus universitario, que los oriente para llegar a su destino y
que les muestre informacin detallada de los mismos, todo bajo una interfaz que
provea un diseo atractivo, facilidad de uso y un rendimiento ptimo.
5
De la abreviacin del ingls Applications.
3
descargas mas populares a la fecha: Google Play y App Store 6, como se puede
apreciar esta cantidad asciende a 48 y 50 mil millones, respectivamente [6].
6
Segn convencin estadounidense, se debe entender un billn como mil millones.
7
Tambin llamado Point Of Interest o POI.
4
(PUCP) por ser una universidad importante. La siguiente figura tomada del sitio web
Google Mapss8 muestra cmo se visualiza un punto de inters en este servicio.
8
http://maps.google.com.
9
Geogr. Distancia que hay desde un punto de la superficie terrestre al Ecuador, contada en grados de
meridiano [9].
10
Geogr. Distancia expresada en grados, entre el meridiano de un punto y otro tomado como referencia
en el Ecuador [9].
11
Es un modelo matemtico que sirve para identificar cualquier ubicacin de la Tierra. Actualmente el
sistema estndar es el sistema geodsico mundial de 1984 (tambin llamado World Geodetic System 84 o
WGS84) [8].
12
Tambin llamado Augmented Reality o AR.
5
mediante una interfaz, dando al usuario la sensacin de que los objetos virtuales y
reales coexisten en el mismo entorno [10], como ejemplo, en la siguiente figura se
puede ver una captura de pantalla de un videojuego para al consola PlayStation Vita
que utiliza realidad aumentada13.
6
ayudarlo a desarrollar diferentes tipos de tareas [10], tal como se puede observar en
[11] esta tecnologa est introducindose en nuevas reas de aplicacin como son
entre otras la reconstruccin del patrimonio histrico, el entrenamiento de operarios de
procesos industriales, marketing, el mundo del diseo interiorista y guas de museos,
tambin existen investigaciones que usan realidad aumentada en el campo de la
educacin, por ejemplo, en la enseanza de geometra mediante la visualizacin de
figuras geomtricas en tres dimensiones[11].
Mediante la determinacin del estado del arte se busca conocer cual es el avance
actual en el campo de desarrollo de aplicaciones mviles permitan ubicar puntos de
inters y que usen realidad aumentada como herramienta de localizacin.
Google Maps
Existe una gran cantidad de aplicaciones, tanto web como mviles, que hacen
uso del API15 de Google Maps para incluir sus propios puntos de inters a estos
15
Application Programming Interface, Interfaz de programacin de aplicaciones, provee especificaciones
para que diferentes aplicaciones de software puedan comunicarse entre s.
7
[13], como ejemplo, la captura de pantalla que se muestra en la figura 5
corresponde a la aplicacin Field Trip16 que hace uso del API de Google Maps
para Android para mostrar puntos de inters cercanos a la ubicacin actual del
dispositivo mvil.
Layar
8
Figura 6: Visin de realidad aumentada en Layar.
Layar proporciona a los desarrolladores un API que permite crear capas y sus
puntos de inters, incluso, mediante una interfaz web, proporciona todas las
herramientas necesarias para que un usuario cree su propia capa sin tener
conocimientos de programacin [15]. Este desarrollo a alto nivel tambin trae
limitaciones ya que la aplicacin trabajara de acuerdo al estndar de
navegacin de Layar. Layar es una aplicacin de cdigo cerrado.
Wikitude
9
Figura 7: Aplicacin Wikitude [16].
10
Protocolo de revisin
La pregunta planteada como gua para realizar las bsquedas es: Cmo las
aplicaciones mviles y el uso de realidad aumentada pueden contribuir en
mejorar la identificacin de puntos de inters en un lugar?.
18
http://www.scopus.com
19
http://ieeexplore.ieee.org
11
unicamente mediante reconocimiento de imgenes sin determinacin de
ubicacin del usuario.
Bsqueda
Resultados
12
Artculo Mobile Augmented Reality of Tourism-Yilan Hot Spring [19]
Herramientas construido sobre el sistema OmniGuider GPS Navigation System
usadas desarrollado por el departamento de ciencias de la computacin de
la Universidad Nacional de Taipei (National Taipei University, NTPU)
[19].
Resultados Segn la investigacin desarrollada se busc eliminar las
limitaciones producidas por utilizar realidad aumentada con
reconocimiento de patrones y se enfoc en mejorar la determinacin
de la ubicacin actual mediante el sistema Omniguider. Se observ
que mediante la aplicacin los usuarios pueden identificar la
ubicacin de puntos de inters y acceder a su sitio web de una
manera ms rpida gracias a que el mdulo de realidad aumentada
permite escanear cdigos QR [19].
Tabla 2: Anlisis de artculo "Mobile Augmented Reality of Tourism-Yilan Hot Spring".
13
Artculo CAViAR: Context aware visual indoor augmented reality for a
university campus [20]
Resultados algunos problemas en establecer la ubicacin si el usuario sostiene
el telfono de manera incorrecta. En una prueba realizada sobre un
recorrido de 300 pies, se encontr que la precisin de ubicacin del
dispositivo tuvo 2% de margen de error [20].
Tabla 3: Anlisis de artculo "CAViAR: Context aware visual indoor augmented reality for a
university campus".
Artculo Mobile Campus Touring System based on AR and GPS: a Case Study
of Campus Cultural Activity [21]
Descripcin Esta investigacin encuentra la tecnologa de realidad aumentada
como una alternativa para promocionar informacin sobre
actividades culturales dentro de un campus universitario y as evitar
problemas medioambientales y econmicos producidos al imprimir
panfletos, adems busca captar el inters de los usuarios al
combinar informacin virtual con el mundo real [21].
Herramientas Se desarroll un servicio web alojado en un servidor apache
usadas (struts2), una comunicacin cliente servidor mediante protocolo
HTTP y esquema JSON y una aplicacin mvil que utiliza realidad
aumentada con Wikitude SDK.
Resultados Se seleccion a 17 estudiantes aleatorios para probar la aplicacin
desarrollada para el campus universitario de BNU (Beijing Normal
University) y se les dividi en 2 grupos, a uno se le ense a utilizar
la aplicacin y al otro no, al finalizar la prueba se encontraron los
siguientes resultados [21]:
14
Artculo Mobile Campus Touring System based on AR and GPS: a Case Study
of Campus Cultural Activity [21]
Resultados utilizable, esttico y no-contaminacin estuvieron cerca en
ambos grupos.
Con respecto a los resultados de las preguntas acerca de:
eficiente, recomendable, interactiva y eficaz, se observ un
resultado que refleja imperfecciones en el sistema.
Tabla 4: Anlisis de artculo "Mobile Campus Touring System based on AR and GPS: a Case
Study of Campus Cultural Activity".
15
Artculo Evaluacin de usabilidad en dos aplicaciones de realidad aumentada
para dispositivos mviles con sistema operativo Android [22]
Resultados Wikitude tiene mejor usabilidad que Layar[22].
Entre las principales herramientas usadas se pudo ver que se utilizaron soluciones
propias que utilizan libreras nativas de Android e iOS, mientras que otras soluciones
utilizan las APIs de Wikitude y Layar.
16
Con respecto a la pregunta planteada en la revisin sistemtica Cmo las
aplicaciones mviles y el uso de realidad aumentada pueden contribuir en mejorar la
identificacin de puntos de inters en un lugar?, se ha encontrado que, a pesar de
que las herramientas actualmente disponibles tienen problemas para determinar la
ubicacin exacta del usuario, existen mltiples campos donde pueden ser aplicadas
con xito. Segn los resultados encontrados en cada investigacin, se puede concluir
que s es posible crear aplicaciones con realidad aumentada que sean eficaces en
mostrar a sus usuarios la ubicacin e informacin de puntos de inters y ,adems,
captar el inters de estos.
17
2. CAPTULO 2: OBJETIVOS, HERRAMIENTAS Y ALCANCE
El presente proyecto tiene como objetivo construir una aplicacin mvil para el sistema
operativo Android que, utilizando realidad aumentada, permita la visualizacin de
puntos de inters y los eventos relacionados a ellos en un campus universitario.
18
3. Resultado 1 para objetivo 2: Mdulo de visualizacin de informacin de puntos
de inters en la aplicacin mvil.
4. Resultado 1 para objetivo 3: Mdulo de geolocalizacin en la aplicacin mvil,
accesible desde cualquier listado o detalle de puntos de inters.
5. Resultado 1 para el objetivo 4: Mdulo web de administracin de lugares y
eventos.
6. Resultado 2 para el objetivo 4: Servicio web que provee los datos a la
aplicacin mvil.
2.4.1. Mapeo
Herramientas, mtodos o
Resultados esperado
procedimientos a usarse
Resultado 1: Datos recolectados. Revisin de fuentes oficiales de la
universidad.
19
Herramientas, mtodos o
Resultados esperado
procedimientos a usarse
Resultado 5: Mdulo web de IDE Netbeans, Framework Yii,
administracin de lugares y eventos. lenguaje de programacin PHP,
base de datos MySQL, lenguaje
de etiquetas HTML.
Resultado 6: Servicio web que provee Base de datos interna Android
los datos a la aplicacin mvil. SQLite, servicio web y servidor
remoto.
Tabla 6: Herramientas, mtodos y procedimientos por cada resultado esperado.
20
Caracterstica MySQL PostgreSQL
Portabilidad S S
Soporte para almacenar y ejecutar S S
procedimientos
Tabla 7: Cuadro comparativo de gestores de base de datos MySQL y PostgreSQL [23].
20
Plugin ADT (Android Development Tools, herramientas de desarrollo para Android) es una extensin
para el entorno de desarrollo Eclipse que provee herramientas para desarrollar aplicaciones para este
sistema operativo.
21
What You See Is What You Get, lo que ves es lo que obtienes. Este trmino indica la posibilidad de
editar una interfaz grfica viendo directamente el resultado final, el cdigo de programacin que
corresponde a esta interfaz es auto-generado.
21
Figura 8: Cuota de mercado de sistemas operativos mviles [25].
La segunda opcin es desarrollar una aplicacin nativa para cada sistema operativo.
La ventaja de este tipo de desarrollo es que se tiene acceso a todos los sensores del
dispositivo, adems se puede hacer uso de las herramientas especialmente diseadas
22
Adobe Systems. http://phonegap.com/
22
para mviles que proporciona el sistema operativo como el uso de notificaciones y
Widgets (Android); aprovechando estas ventajas se pueden crear aplicaciones
innovadoras [26].
Debido a que esta aplicacin hace uso de muchos sensores para el funcionamiento de
realidad aumentada y mapas, se ha optado por realizar un desarrollo nativo para el
sistema operativo ms popular, Android.
Android tambin brinda Android NDK23 que es un conjunto de herramientas que sirven
para programar porciones de cdigo en C o C++, sin embargo se ha decidido no
utilizar esta herramienta debido a que slo son recomendadas para incrementar el
rendimiento en aplicaciones que requieran una gran cantidad de procesamiento, como
por ejemplo en el desarrollo de videojuegos, en otros casos el rendimiento no se ve
afectado [28].
Esta librera forma parte del proyecto Google Play services que son una serie de
libreras que ofrecen los desarrolladores de Google para utilizar sus servicios.
23
Native Development Kit (Kit de Desarrollo Nativo) indica que permite programar en cdigo nativo o de
bajo nivel.
23
2.4.7. Herramienta 5: Mixare
Se decidi utilizar este entorno de desarrollo por la experiencia y facilidad de uso del
desarrollador de este proyecto.
24
Caracterstica PHP Java ASP
Rapidez de ejecucin S S S
API abierta y documentada S S No
Seguridad S S S
Tabla 8: Cuadro comparativo de lenguajes de programacin PHP, Java y ASP [23].
Para acceder a la base de datos remota se utilizar un servicio web 24, entre los tipos
de servicios web ms utilizados existen 2 alternativas: SOAP25 y REST26, a
continuacin se muestra un cuadro comparativo de algunas caractersticas de estas 2
herramientas que ayudar a decidir cul usar:
24
El concepto de servicio web est basado en el de una arquitectura orientada a servicios, en el que
funciones, objetos y procesos de diferentes sistemas son expuestos como servicios. Un servicio web es
una interfaz que expone una lgica de negocio a travs de Internet [31].
25
Simple Object Acces Protocol, protocolo de acceso a objeto simple [31].
26
Representational State Transfer, transferencia de estado representacional [31].
27
Hyper Text Transfer Protocol, protocolo de transferencia de hipertexto.
28
Extensible Markup Language, lenguaje extensible de marcado. Diseado para transportar y almacenar
datos.
29
JavaScript Object Notation, notacin de objeto JavaScript. Estandar diseado por Java para almacenar
objetos.
25
Dada la facilidad de desarrollo e implementacin y el menor consumo de ancho de
banda se utilizar REST; con respecto al formato de archivo para la transferencia de
informacin se utilizar JSON por su facilidad de uso.
Este servicio web podra ser reutilizado en un futuro por otras aplicaciones cliente,
como por ejemplo un sitio web.
SQLite es una librera que implementa un motor de base de datos que se caracteriza
por ser parte de un programa, no requerir conexin a un servidor y no necesitar
configuraciones [32].
Esta librera de software est integrada en el SDK de Android [33] y se utilizar para
almacenar informacin en el dispositivo mvil cada vez que se obtenga informacin de
un servicio Web. Adems, gracias a esta librera se podr ingresar a la aplicacin sin
conexin a Internet y con la informacin correspondiente a la ltima almacenada en el
dispositivo.
Para este proyecto se utilizar HTML para construir la interfaz web de administracin
de puntos de inters. Dado que esta pgina web slo ser accesible por el
administrador del sistema no se har nfasis en definir el diseo del sitio web y se
desarrollar enfocndose unicamente en su facilidad de uso. Se utilizar la ltima
versin de HTML, HTML5
26
No se considerarn controladores de versiones descentralizados como GIT ya que, al
ser solo un desarrollador, no se aprovecharan las caractersticas de un sistema
descentralizado y aumentara la complejidad de uso [34]. A continuacin se mostrar
un cuadro comparativo entre las caractersticas de los 2 controladores de versiones
ms utilizados:
Las libreras externas mostradas en la siguiente tabla se utilizarn como apoyo para el
desarrollo de la aplicacin mvil.
27
Nombre de librera Funcin
Google Play Services Es un conjunto de libreras para hacer uso de
funciones y API's de Google. Se utilizar para
mostrar los mapas de Google y medir
annimamente las estadsticas de uso de la
aplicacin [36].
Support Library v7 - AppCompat AppCompat es una extensin de la librera de
soporte de Android que se utiliza para
garantizar retro-compatibilidad con todas las
caractersticas relacionadas con la barra de
navegacin superior, tambin conocida como
ActionBar [35].
Volley Librera que se encarga de descargar imgenes
alojadas en el servidor y mostrarlas [37]. Las
URL de las imgenes sern enviadas mediante
el servicio web y, con el uso de esta librera,
sern descargadas al momento de ver la
informacin de un lugar.
Tabla 11: Libreras externas que usa el proyecto.
28
En el siguiente grfico, obtenido de el sitio web oficial de Yii, se pueden observar los
resultados de una prueba de rendimiento de Yii versus otros Frameworks, el medidor
de color rojo, RPS with APC, indica cuntas peticiones por segundo 31 puede procesar
Yii utilizando la extensin APC32, mientras que el medidor de olor azul, RPS without
APC, indica cuntas peticiones por segundo puede procesar sin utilizar la extensin
APC [40].
31
RPS: Request per seconds.
32
APC: Alternative PHP Cache. Es un cdigo de operacin de cach libre y abierto para PHP. Su objetivo
es el de proporcionar un marco robusto, libre y abierto para optimizar cdigo de PHP intermedio mediante
el almacenamiento en cach [41].
29
filosofa que la forma de obtener el mejor resultado posible no es identificando todos
los requerimientos al inicio del proyecto, sino que estos se pueden modificar y pueden
crearse nuevos durante el desarrollo del mismo; estos cambios deberan obedecer a
retroalimentaciones que hacen las personas involucradas en el proyecto, sobre todo
del cliente [42].
El motivo por el que se procede a trabajar de esta manera es que usualmente, al inicio
del proyecto, el cliente no sabe exactamente qu es lo que quiere hasta que comienza
a ver muestras funcionales del producto, por tal motivo el equipo de desarrollo sabe
menos del problema al inicio del proyecto y no tendra sentido hacer un diseo final en
esta etapa [42]. Trabajando de esta manera se aade valor al producto en cada
iteracin de desarrollo y se garantiza que el funcionamiento del proyecto sea el
esperado.
Dado que este proyecto slo ser desarrollado por una persona slo se utilizarn
algunas herramientas de XP y no se consideran otras metodologas de gestin de
proyectos ms avanzadas como Scrum. A continuacin se explicarn las prcticas de
XP que se aplicarn a este proyecto [42]:
Diseo incremental
Espacio informativo
Estandarizacin de cdigo
Se debe respetar un estndar de cdigo para que este sea legible, por ejemplo,
el identado y correcto ingreso de comentarios ayudan a este fin.
30
Ritmo sostenible de trabajo
Se busca construir una aplicacin mvil para el sistema operativo Android que permita
visualizar informacin de puntos de inters (lugares y eventos) dentro de un campus
universitario mediante realidad aumentada y mapas, la informacin que se debe
mostrar para cada punto de inters se puede ver en detalle en el captulo 3: Datos,
mientras que la forma de navegacin entre ventanas y diseo de interfaz se explica en
el captulo 4: Visualizacin de informacin.
Redes
GPS Redes Wifi Sensores
telefnicas
Consumo de
Malo Regular Bueno Regular
memoria
Precisin Bueno Regular Mala Regular
Cobertura Mala Regular Bueno Bueno
Tabla 12: Medicin de calidad de consumo de memoria, precisin y cobertura en el proceso de
determinacin de la ubicacin del dispositivo [43].
Las libreras provistas por Google Play Services proveen al desarrollador una mezcla
de estas 4 formas para garantizar el mejor consumo de memoria, precisin y
cobertura, esto siempre funciona bien para la determinacin de la ubicacin actual en
mapas sin embargo en la seccin de realidad aumentada con tan solo algunos metros
31
de error en la determinacin de la ubicacin actual se obtendr una visualizacin
errada de todos los puntos de inters. La ubicacin y capacidades del dispositivo
determinarn la frecuencia de este error.
Para poder utilizar todas las funciones de la aplicacin mvil, el dispositivo deber
contar con una cmara posterior, GPS y sensores acelermetro y brjula.
Por ltimo, dado que el proyecto debe desarrollarse como mximo en 8 meses se
debe contar con el presupuesto suficiente para sustentar todos los gastos econmicos
que este representa.
32
Las herramientas para desarrollar aplicaciones mviles son fcilmente accesibles.
Para el caso de desarrollo de aplicaciones para el sistema operativo Android slo
sern necesarias herramientas gratuitas. El desarrollador cuenta con buena
experiencia en el uso de estas herramientas, adems en diferentes sitios webs se
cuenta con gran informacin acerca de cmo utilizarlas, tanto en fuentes oficiales
como el sitio web de desarrolladores de Android 33 como en otros en foros
especializados. El desarrollador tambin cuenta con suficiente experiencia en el uso
de las herramientas necesarias para realizar el desarrollo del servicio web y la interfaz
web de administracin de este proyecto.
Todo el software que a utilizar en este proyecto es de uso gratuito por lo que
nicamente se considerar como inversin el pago del Hardware utilizado, el sueldo
del desarrollador y otros gastos como luz, Internet y artculos de oficina; por ltimo
tambin se debe considerar que para ofrecer el producto en Google Play 34 se debe
pagar una cuota de 25 dlares norteamericanos [45]. En la tabla 13 se muestran
montos estimados de egresos para los 8 meses de duracin del proyecto.
33
http://developer.andriod.com
34
Google Play es un servicio proporcionado por Google que sirve para publicar y descargar aplicaciones
para mviles con sistema operativo Android.
33
por ltimo, fomenta la investigacin en el desarrollo de aplicaciones mviles y en la
tecnologa de realidad aumentada. Se espera que como consecuencia de estos
beneficios las funcionalidades de la aplicacin se expandan en el futuro.
35
Cantidad de das que se requieren para cada tarea, considerando cada da con 8 horas laborables,
34
N Iteracin Tarea Das
Total Captulo 4 9
6 Captulo 5 Realidad aumentada 3
Mapas 1
Revisin y correcciones 1
Total Captulo 5 5
7 Captulo 6 Administracin web 1
Servicio web y arquitectura 9
Optimizacin de recursos 1
Revisin y correcciones 1
Total Captulo 6 12
8 Sprint 1: Base de Recoleccin de datos 10
datos Construccin e insercin de datos en base de 1
datos
Revisin 1
Total Sprint 1 12
9 Sprint 2: Mdulo Establecimiento de estructura y diseo 15
de punto de requerido.
inters Realizacin de pruebas. 4
Total Sprint 2 19
10 Sprint 3: Mdulo Modificacin de librera Mixare 10
de geolocalizacin Establecimiento de mapas y marcadores 3
Realizacin de pruebas 4
Total Sprint 3 17
11 Sprint 4: servicio Creacin del servicio web 7
web Conexin del servicio web con la aplicacin 3
Almacenamiento de datos en memoria interna 2
de la aplicacin
Realizacin de pruebas 3
Total Sprint 4 15
12 Sprint 5: Mdulo Creacin interfaz de administracin web de 5
Web de lugares y eventos.
administracin de Realizacin de pruebas. 1
lugares y eventos
35
N Iteracin Tarea Das
Total Sprint 5 6
13 Captulo 7: Introduccin y resultados de Descubre PUCP 2
Conclusiones Observaciones, recomendaciones, objetivos a 2
futuro y conclusiones
Revisin y correcciones 1
Total Captulo 7 5
Total de das tiles 157
Tabla 14: Planificacin del proyecto.
Descubre PUCP es una aplicacin para dispositivos mviles con sistema operativo
Android que sirve para ver informacin de lugares y eventos dentro del campus
universitario, adems utiliza las tecnologas de realidad aumentada y mapas para
ayudar al usuario a llegar a su destino, esta aplicacin es distribuida gratuitamente a la
comunidad universitaria mediante la tienda de aplicaciones de Google Google Play
desde Agosto del 2012.
Si bien este proyecto de tesis busca poder ser implementado en cualquier campus
universitario, en este documento se tomar como producto de este tema de tesis a
Descubre PUCP.
36
3. CAPTULO 3: DATOS
La figura 10 muestra uno de los paneles de mapas informativos ubicado dentro del
campus universitario.
36
http://www.pucp.edu.pe/pregrado/estudiantes/estudios/facultades/
37
http://www.pucp.edu.pe/centros-e-institutos/centros-e-institutos/listado/
38
http://www.pucp.edu.pe/la-universidad/nuestra-universidad/mapa-del-campus/mapa-virtual/
39
http://agenda.pucp.edu.pe/
37
Figura 10: Mapa fsico ubicado en campus universitario.
Estos vnculos y la fotografa del panel informativo dentro del campus universitario
fueron almacenadas para continuar con el desarrollo del siguiente resultado esperado
de este objetivo.
38
Campo Obligatorio Descripcin
no slo ser una informacin importante para mostrar
al usuario si no que servir como principal filtro de
bsqueda de los mismos. Cada lugar pertenecer a
una de las siguientes categoras:
Facultades
Departamentos y secciones
Bibliotecas y salas de lectura
Fotocopiadoras, servicios de cmputo e
impresin
Auditorios y salas de grado
Comedores, cafeteras y kioscos
Centros, escuelas e institutos
Deportes
Tesoreras, cajeros y bancos
Laboratorios
Direcciones y oficinas
Telfonos
Estacionamientos
Fecha S Slo se utiliza en caso de que se trate de un evento e
indica la fecha del mismo.
Horarios de No Slo se utiliza en caso de que se trate de un lugar e
atencin indica los horarios de atencin del mismo.
Enlaces No En caso el lugar cuente con informacin adicional
proveniente de una fuente oficial de de la
universidad, se mostrarn al usuario como vnculos a
los que puede navegar.
Lugar al que No Algunos lugares o eventos pueden pertenecer o
pertenece realizarse dentro de un lugar ya establecido en el
sistema. Este campo se mostrar al usuario como un
vnculo para visualizar la informacin del lugar al que
pertenece.
39
Campo Obligatorio Descripcin
Lugares No Un lugar o evento puede estar relacionado con otros,
relacionados ya sea por cercana o afinidad. Este campo se
mostrar al usuario como un vnculo para visualizar
la informacin de los lugares relacionados.
Contacto No Se refiere a correos electrnicos, nmeros de
telfono o enlaces web que sirvan como contacto con
el lugar o evento. Cada forma de contacto se
mostrar como un vnculo mediante el cual podr
realizar una llamada, escribir un correo o navegar,
segn sea el caso.
Imagenes No Las imgenes servirn como una ayuda visual para
que el usuario conozca como luce el lugar (fotos) u
otra informacin visual lugar o evento.
Ubicacin S Coordenadas de Latitud y Longitud de la ubicacin
del punto de inters.
Tabla 15: Campos de tabla que almacena puntos de inters en base de datos.
Con esta informacin se construy una base de Datos (MySQL) cuya estructura
corresponde al siguiente diagrama:
40
4. CAPTULO 4: VISUALIZACIN DE INFORMACIN
Esttica
41
Intuitiva
Balance
Se debe tener en consideracin que al ser una aplicacin para mviles con
sistema operativo Android podr ser visualizado en una gran cantidad de
dispositivos, entre smartphones y tablets, sin embargo el diseo de la
aplicacin no se debe ver afectada segn el tamao de la pantalla.
40
Artculo Android Design en Google Developers. http://developer.android.com/design/index.html
42
Predecible
41
El documento completo de requerimientos del proyectos se encuentra en el ANEXO 2.
43
diagrama muestra la navegacin entre ventanas de la aplicacin, la flecha indica qu
ventanas se pueden abrir desde un punto y cual es la accin para abrirla.
Ventana inicial
44
Por cada punto de inters se debe mostrar el cono que lo representa y el
nombre del punto de inters. En la parte superior se encuentran opciones para
realizar bsquedas, cambiar el tipo de ordenamiento y ver el listado en realidad
aumentada o en un mapa.
45
Se debe tener en consideracin que no pueden traslaparse dos puntos de
inters, si uno est ubicado detrs de otro, este se mostrar en la parte
superior.
Ventana de mapa
En esta pantalla se mostrarn los puntos de inters sobre un mapa provisto por
Google Maps. Cada punto de inters ser representado con un marcador con
el color correspondiente a su categora, al tocarlo se mostrar el cono que los
representa, el ttulo y se dibujar sobre el mapa la ruta ms corta para llegar a
l (figura 20).
Ventana de Ayuda.
46
Figura 17: Resultados de bsqueda como un listado de puntos de inters.
47
Figura 19: Ventana de realidad aumentada.
48
Figura 21: Ventana de ayuda.
49
5. CAPTULO 5: GEOLOCALIZACIN
El cdigo utilizado de Mixare para este proyecto es el que contiene todas las clases
que sirven para hacer uso de la realidad aumentada, esta implica: utilizacin de la
cmara del dispositivo mvil, utilizacin del sensor acelermetro, sensor de
determinacin de ubicacin (GPS, redes Wifi, redes telefnicas) y el cdigo para
implementar una capa de dibujo sobre las imagenes de la cmara.
42
http://www.mixare.org
43
http://www.gnu.org/licenses/gpl-3.0-html
50
El primer problema, diseo no acorde con el de la aplicacin, era un problema de
diseo que consista en que los puntos de inters se mostraban como circunferencias
de color rojo, este problema fue solucionado cambiando estas circunferencias por
conos que representan cada lugar.
Mixare est desarrollado para que cada punto de inters pueda tener establecido,
ademas de una latitud y una longitud, una altura. Sin embargo al aplicar esta
tecnologa en la Pontificia Universidad Catlica del Per, se encontr que debido a la
cercana de puntos de inters y las coincidencias con respecto a la altura de cada uno
de ellos este problema se mostraba muy frecuentemente y afectaba la experiencia de
uso del usuario.
44
Captura de pantalla de videograbacin Mixare Augmented Reality Demo, Hannes Boran 2010.
https://www.youtube.com/watch?v=AA2LLqb4TSM
51
Para solucionarlo se decidi eliminar el parmetro de altura y modificar la funcin de
dibujo de puntos de inters para que los puntos ms cercanos sean dibujados a una
altura a nivel de la visin y, si hay traslape, los ms lejanos se dibujen arriba de los
primeros. En la siguiente imagen se puede ver una captura de pantalla de la aplicacin
Descubre PUCP con la solucin propuesta.
5.2. Mapas
Para la implementacin de esta seccin se hizo uso del API de Google Maps para
Android, el cual forma parte del proyecto Google Play Services para Android.
Esta seccin representa una ventana en la aplicacin mvil que, segn la navegacin
establecida, es accesible desde la ventana de informacin de un punto de inters y
desde la ventana de listado de puntos de inters.
52
5.2.1. Visualizacin de mapa interactivo
Figura 24: Visualizacin de punto de inters usando API de Google Maps para Android.
45
https://developers.google.com/maps/documentation/android
46
https://developers.google.com/maps/documentation/android/marker
47
https://developers.google.com/maps/documentation/android/infowindows
53
6. CAPTULO 6: COMUNICACIN CLIENTE SERVIDOR
En este captulo se analizarn los resultados obtenidos para el quinto y ltimo objetivo
especfico. Se tom como quinto objetivo especfico Desarrollar una interfaz web para
que un usuario autorizado pueda administrar la informacin que brinda este servicio y
as proveer siempre al usuario final de informacin precisa y se cuentan con dos
resultados esperados: mdulo web de administracin de lugares y eventos y
servicio web que provee los datos a la aplicacin mvil.
Luego se utiliz la herramienta Gii, esta sirve para implementar controles CRUD350
sobre una base de datos. La utilizacin de esta herramienta es muy sencilla y se sigui
la gui de utilizacin del sitio web de Yii51. Esta herramienta permite la implementacin
de una aplicacin web con un patrn de arquitectura tipo MVC 52,as se pudo construir
los modelos, vistas y controladores necesarios para implementar una interfaz de
administracin web bsica que necesita este proyecto.
Este mdulo slo puede ser accedido por un administrador autorizado del proyecto.
48
Artculo Installing Yii en The Definitive Guide to Yii 2.0. http://www.yiiframework.com/doc-2.0/guide-
start-installation.html
49
Dependency Manager for PHP. https://getcomposer.org/
50
Artculo The Gii Code Generating Tool en The Definitive Guide to Yii 2.0.
http://www.yiiframework.com/doc-2.0/guide-tool-gii.html
51
MVC: Modelo, Vista, Controlador
52
MVC: Modelo, Vista, Controlador
54
6.2. Servicio web y arquitectura
Como se explic en la seccin de herramientas se opt por utilizar un servicio web tipo
REST y para la transferenca de informacin se utilizar el formato JSON. Este servicio
web, implementado con lenguaje de programacin PHP, conectar el servidor Apache
con la aplicacin mvil desarrollada para el sistema operativo Android.
Para tener una visin general sobre cual es la funcin del servicio web en este
proyecto y cmo se conecta con otros componentes, en esta seccin se mostrar la
arquitectura general del proyecto. A continuacin se mostrarn y explicarn las vistas
de despliegue y lgica de la arquitectura del proyecto.
55
Vista de despliegue
Dispositivo mvil Se encarga de mostrar la interfaz final al usuario, quien podr
navegar y ver informacin segn los requerimientos
establecidos.
Servidor Servidor principal del sistema, se encarga de suministrar la
Descubre PUCP informacin necesaria al dispositivo mvil, proveer al usuario
administrador del sistema de administracin web y
comunicarse con la base de datos. Aqu tambin se
almacenan las imgenes de cada punto de inters.
Servidor Base de Sistema de administracin y base de datos del sistema.
datos MySQL
PC Computadora o dispositivo mvil que permite acceder a la
interfaz de administracin.
Tabla 16: Descripcin de vista de despliegue de arquitectura.
Bajo esta lgica, se ha definido una arquitectura de 3 capas 54: capa de presentacin,
capa de proceso y capa de datos.
53
Tambin conocida como Service Oriented Architecture o SOA.
54
Tambin conocida, en ingls, como 3 Tier Application.
56
Figura 26: Vista lgica de arquitectura.
Capa de presentacin
Est conformada por la aplicacin instalada en el dispositivo mvil que se encarga
de mostrar la interfaz final al usuario, en donde este podr navegar y ver la
informacin segn los requerimientos establecidos. Su estructura sigue un patrn
Modelo, Vista, Controlador (MVC). El patrn MVC tiene como principal
caracterstica independizar la lgica de la aplicacin del diseo de su interfaz.
Modelos Est representado por las entidades necesarias para el
funcionamiento de la aplicacin. Para este proyecto estara
representando los puntos de inters y sus atributos.
57
Capa de presentacin
Componentes de Est representado por todos los recursos necesarios para
interfaz mostrar la interfaz al usuario. Utilizando el SDK de Android se
puede implementar el diseo y estructura de todas las vistas
utilizando estructuras XML.
Componentes de Est representado por la lgica de la aplicacin, es decir
controladores todas las clases que implementan los procesos y clculos
necesarios para cumplir con las funcionalidades de la
aplicacin. Responde a acciones del usuario y se encarga de
invocar las peticiones necesarias al Modelo y la Vista.
Tabla 17: Capa de presentacin de vista lgica de arquitectura.
Capa de proceso
Est conformada por los componentes necesarios para construir y organizar los
datos que sern mostrados a los usuarios.
Componentes de Se encarga de:
procesos Validar los parmetros enviados mediante un
proveedores protocolo HTTP (funcionar de esa manera porque se
ha establecido que se utilizar un servicio web tipo
REST).
Construir y realizar las consultas necesarias a la base
de datos.
Organizar la informacin e imprimirla en formato
JSON.
Componentes de Est representado por las clases usadas para mostrar la
interfaz interfaz de administracin web. Es construido a partir del
marco de trabajo Yii.
Componentes de Est representado por la lgica del sistema de administracin
controladores web, construida a partir del marco de trabajo Yii.
Entidades Est representado por las clases que representan los puntos
de inters, desarrollado a partir del marco de trabajo Yii.
Tabla 18: Capa de proceso de vista lgica de arquitectura.
58
Capa de datos
Est conformada por los componentes necesarios para obtener los datos que
requiera el sistema.
Componentes de Programas para extraer informacin de la base de datos, la
acceso a datos cual contiene toda la informacin relacionada a los puntos de
inters, esta informacin es entregada a la capa de procesos
cada vez que sea requerida por ella.
Tabla 19: Capa de datos de vista lgica de arquitectura.
59
7. CAPTULO 7: CONCLUSIONES, OBSERVACIONES Y TRABAJOS
FUTUROS
60
Un artculo acadmico del proyecto Descubre PUCP fue aceptado en el congreso de
tecnologas International Conference on Mobile an Wireless Technology
(ICMWT2015) en el ao 2015 [47].
61
Creacin de un sitio web del proyecto55, el cual cuenta con toda la informacin
de los puntos de inters y puede ser accedida desde cualquier dispositivo de
escritorio o mvil.
Por ltimo, el servicio web desarrollado para Descubre PUCP puede ser utilizado por
otras aplicaciones, tanto web como mviles, esta informacin debe ser aprovechada
para desarrollar una nueva versin de la aplicacin mvil para el sistema operativo
iOS.
7.4. Conclusiones
55
http://descubre.pucp.edu.pe
62
satisfaccin promedio de 4.6 sobre un puntaje mximo de 5 estrellas en el servicio de
descarga de aplicaciones Google Play, adems, los comentarios recibidos son en su
gran mayora positivos y ninguno hace referencias a problemas de usabilidad o diseo.
63
8. REFERENCIAS BIBLIOGRFICAS
[6] TECHCRUNCH. The App Stores 50B Downloads Vs. Google Plays
48B: Android Closes The Gap
http://techcrunch.com/2013/05/15/the-app-stores-50b-downloads-vs-
google-plays-48b-android-closes-the-gap/
64
[7] GOOGLE. Android Open Source Project
https://source.android.com/source/index.html
[14] LAYAR.
Quick & easy self-service augmented reality
http://www.layar.com/features
65
[15] LAYAR.
Build your own augmented reality experiences
https://www.layar.com/features/developers/
[16] WIKITUDE.
http://www.wikitude.com
[17] WIKITUDE.
Augmented Reality SDK (Wikitude) for Android, IOS, Smartglasses
http://www.wikitude.com/products/wikitude-sdk
[19] HUI, LIN, FU YI HUNG, YU LING CHIEN, WAN TING TSAI, JENG
JIA SHIE.
"Mobile Augmented Reality of Tourism-Yilan Hot Spring." Ubi-Media
Computing and Workshops (UMEDIA), 2014 7th International
Conference 2014 pp.209-214
66
[22] PALOMINO RUIZ, IVONNE ISABEL Y GUILLERMO VCTOR
WONG ORTECHO
Evaluacin de usabilidad en dos aplicaciones de realidad aumentada
para dispositivos mviles con sistema operativo Android
2013. Tesis de pregrado en Ingeniera Informtica. Lima: Pontificia
Universidad Catlica del Per. Pp 2, 20-23, 129-132
67
[29] GOOGLE DEVELOPERS
Google Maps Android API v2
https://developers.google.com/maps/documentation/android/
[30] MIXARE
Free Open Source Augmented Reality Engine
http://www.mixare.org/
[32] SQLITE
SQLite Small. Fas. Reliable. Choose any three
http://www.sqlite.org
68
[37] ANDROID DEVELOPERS
Transmitting Network Data Using Volley
https://developer.android.com/training/volley/index.html
69
[45] GOOGLE SUPPORT. ANDROID DEVELOPER.
Developer Registration
https://support.google.com/googleplay/android-
developer/answer/6112435?hl=en&rd=1
70