Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA:
AUTORA:
MARIANA KAROLINA PINARGOTE CUSME
TUTOR:
ING. ALFONSO TOMÁS LOOR VERA, MG.
PORTADA
DERECHOS DE AUTORÍA
________________________________________
MARIANA KAROLINA PINARGOTE CUSME
iii
CERTIFICACIÓN DE TUTOR
ING. ALFONSO TOMÁS LOOR VERA, MG., certifica haber tutelado el trabajo
de titulación APLICACIÓN MÓVIL DE GEOLOCALIZACIÓN DE REDES WLAN,
que ha sido desarrollada por MARIANA KAROLINA PINARGOTE CUSME,
previo a la obtención del título de Magister en Tecnologías de la Información
mención Redes y Sistemas distribuidos, de acuerdo al REGLAMENTO PARA
LA ELABORACIÓN DE TRABAJO DE TITULACIÓN DE LA UNIDAD DE
TITULACIÓN ESPECIAL de la Escuela Superior Politécnica Agropecuaria de
Manabí Manuel Félix López.
____________________________________
ING. ALFONSO TOMÁS LOOR VERA, MG.
iv
DR. INF. JORGE PÁRRAGA ÁLAVA DR. INF. JORGE HERRERA TAPIA
MIEMBRO MIEMBRO
AGRADECIMIENTO
La autora
vi
DEDICATORIA
A mis padres por su apoyo incondicional y por los cuales lucharé día a día,
A mis sobrinos, que son el motor de mis proyectos, quienes con sus risas me
hacen crecer y sentirme muy afortunada de tenerles conmigo,
A mis amigos Miriam, Johanna, Gema, Rosannita, Ramón, por no dejarme
desmayar en este largo camino.
La autora
vii
CONTENIDO GENERAL
PORTADA .......................................................................................................... i
AGRADECIMIENTO .......................................................................................... v
DEDICATORIA ................................................................................................. vi
RESULTADOS................................................................................................ 17
DISCUSIÓN .................................................................................................... 48
CONCLUSIONES ........................................................................................... 51
RECOMENDACIONES ................................................................................... 52
BIBLIOGRAFÍA ............................................................................................... 53
ANEXOS ......................................................................................................... 55
ANEXO 1. ....................................................................................................... 56
CONTENIDO DE TABLAS
CONTENIDO DE GRÁFICOS
CONTENIDO DE FIGURAS
RESUMEN
PALABRAS CLAVES
.
xiii
ABSTRACT
The objective of the present work was to develop a mobile application for the
analysis, evaluation and socialization of WiFi networks. The purpose of the
application is to provide users of this type of mobile applications with a wide range
of features that in most cases, are only available for Premium users. For the
development of this study, SCRUM methodology was used due to its agility,
flexibility, efficiency and empirical background, which allow for an ordered
development through its five well-defined phases. Having a general view of the
product it was possible to structure the Backlog product and later the Sprint
Backlog, of which the tasks were done one by one until getting a functional
deliverable increase. By the application of this methodology, a result of zero days
of delay was obtained and all the deliverables contemplated in the project were
carried out. Therefore, the achievement of a well-designed and structured
application was possible. The unit and integration tests showed a satisfactory
response capacity of the application. With the mobile application implemented,
WiFi networks shared in a range of up to 300 meters from the user's location
could be displayed on the map, allowing data such as network name and
password to be obtained.
KEYWORDS
Desde el éxito del popular juego de Nokia “La serpiente”, las aplicaciones móviles
han evolucionado rápidamente y mejorado su esencia, hoy en día hay
aplicaciones que pueden ser usadas casi para cualquier tarea que el ser humano
realice, inclusive a la hora de hacer turismo o visitar lugares desconocidos. A
partir del surgimiento de la computación móvil, la integración de la informática
con el entorno del usuario ha cobrado cada vez más fuerza. (Vera, 2012)
1.2. JUSTIFICACIÓN
1.3. OBJETIVOS
El presente trabajo tuvo como finalidad el desarrollo de una aplicación móvil que
permita la detección y monitoreo de redes inalámbricas, además de poder
compartir dichas redes con otros usuarios para que pueden conectarse con sus
dispositivos móviles, todo esto en una misma versión gratuita. En este capítulo
se presentan los trabajos de investigación relacionados, dentro del cual se
evidencian las principales ventajas y desventajas, además de tecnologías
utilizadas en el desarrollo de los mismos; sin embargo, es importante mencionar
que no se encontró trabajo de similar característica al propuesto por la autora.
AÑO DE
TEMA VENTAJAS DESVENTAJAS
PUBLICACIÓN
Desarrollo de una
aplicación de Brinda información en tiempo Se debe tener una
geolocalización real de los bloques y conexión estable a internet.
que facilite la dependencias a través de Funciona correctamente
ubicación de las realidad aumentada y cuando se está cerca de
dependencias en geolocalización de mapas. las instalaciones de la
la Universidad 2014 Se utilizó un GPS GARMIN universidad.
Nacional de Loja Map 60CSx para el
con técnicas de levantamiento manual de
realidad información geográfica de los
aumentada para bloques y dependencias del
dispositivos campus universitario.
móviles. Enfoque de desarrollo nativo.
5
Aplicación móvil
para mostrar La aplicación muestra realidad La aplicación solo operará
sitios turísticos aumentada sobre en la ciudad de Puebla.
empleando determinadas áreas de la El radio máximo de
realidad ciudad de Puebla. visualización es de 10 km.
2014
aumentada y Tecnología usada: Java,
geolocalización. Vuforia SDK, API de Google
(García, De la Maps, IDE Eclipse.
Rosa, Castillo y Sistema operativo: Android.
Cervantes, 2014)
Integración de
Permite la creación de rutas El usuario debe poseer una
Foursquare y
turísticas. cuenta de Foursquare.
geolocalización
Permite añadir puntos a la ruta
en una aplicación
2012 turística.
móvil para la
Calcula la localización y los
creación de rutas
puntos cercanos al usuario.
turísticas.
Admite descarga de rutas a
(Sánchez, 2012)
través de un servidor Web.
7
Fuente: La autora.
AÑO DE
TEMA VENTAJAS DESVENTAJAS
PUBLICACIÓN
An Android
application for Monitoreo de la frecuencia Se debe tener encendido
geolocation cardíaca basado en la Bluetooth en el dispositivo
based health 2018 geolocalización. móvil y conexión estable de
monitoring, La aplicación puede enviar internet.
consultancy mensajes de alarma a través
and alarm de notificaciones, SMS, correo
8
Fuente: La autora.
AÑO DE
TEMA VENTAJAS DESVENTAJAS
PUBLICACIÓN
Fuente: La autora.
11
AÑO DE
TEMA VENTAJAS DESVENTAJAS
PUBLICACIÓN
Fuente: La autora.
12
Toda vez que se enlistaron las historias de usuario en la matriz del Product
Backlog, previamente analizadas por el dueño del producto y el SCRUM Máster,
se asignó prioridad a cada una de ellas, de acuerdo a la funcionalidad prevista
de la aplicación; también se asignó el esfuerzo (en horas) para el desarrollo de
las historias de usuario y, posteriormente, se definió el sprint al cual
pertenecerían.
ETAPA 2: PLANIFICACIÓN DEL SPRINT
Para esta etapa, las dos personas asignadas a los roles de SCRUM mantuvieron
reuniones en la que se determinó el propósito que perseguía el proyecto y los
recursos necesarios y disponibles para el desarrollo. Con el listado de producto
ya definido, se determinó en primera instancia las historias de usuario o
actividades que se incluyeron en el sprint 1, tomando como punto de partida
aquellas que se determinaron en función de desarrollador.
Esta etapa tuvo lugar cada vez que se concluyó el desarrollo de cada una de las
tareas de un sprint. Estas reuniones no duraron más de una hora y en ella
participaron los dos involucrados en el equipo SCRUM; durante la reunión se
presentó el incremento del producto en estado completo y funcional y en virtud
esta presentación se emitieron observaciones y/o sugerencias para mejorar el
valor del producto final.
RESULTADOS
En la figura 3.1. se puede observar los dos niveles de los que consta la
arquitectura de la aplicación, cliente y servidor. El cliente es un dispositivo móvil
con sistema operativo Android. En esta capa, para la interfaz de usuario se utilizó
Ionic, Angular, Web View, Cordova, Capacitor, HTML y TypeScript, el
componente, en este caso el instalador, está disponible en extensión .apk. Desde
la capa cliente, el usuario realizará peticiones HTTP al servidor iCloud que es
Heroku; en el lado del servidor, además, se utilizó como ambiente de
implantación a Apache para consumir los servicios web y una capa de negocio
18
Partiendo del ERS, se inició la estructuración del Product Backlog (figura 3.3.)
enlistando las diferentes historias usuario para cada módulo. Finalmente, se
19
Como usuario,
Gestión de necesito una cuenta de acceso,
HU03 Realizada 4 Alta 1 …
usuarios con la finalidad de acceder a las funcionalidades de la
aplicación
Como usuario,
Gestión de necesito acceder a la aplicación con la cuenta de
HU04 Facebook, Realizada 8 Media 1 …
usuarios
con la finalidad de probar sus funcionalides
Como usuario,
Gestión de necesito tener mi perfil de usuario,
HU05 Realizada 5 Media 1 …
usuarios con la finalidad de visualizar la información almacenada
Como usuario,
Gestión de necesito actualizar información personal,
HU06 Realizada 4 Media 1 …
usuarios con la finalidad de mantener actualizada la cuenta
Como usuario,
HU07 Gestión de redes necesito escanear las redes WiFi disponibles, Realizada 15 Alta 2 …
con la finalidad de visualizar las redes
Como usuario,
necesito conectarme a las redes disponibles,
HU08 Gestión de redes Realizada 8 Alta 2 …
con la finalidad de tener acceso a internet
Como usuario,
HU09 Gestión de redes necesito agregar redes WiFI ocultas, Realizada 8 Alta 2 …
con la finalidad de concetarme a ellas
Como usuario,
necesito saber a qué red estoy conectado actualmente,
HU10 Gestión de redes Realizada 5 Alta 2 …
con la finalidad de poder agregar la red al mapa
Como usuario,
necesito poder agregar la red al mapa,
HU11 Gestión de redes Realizada 20 Alta 2 …
con la finalidad de tener disponible datos de la red en
cualquier momento
Como usuario,
HU12 Gestión de redes necesito visualizar las redes WiFi en el mapa, Realizada 8 Alta 2 …
con la finalidad de observar la información de la red
Como usuario,
necesito dar clic en el marker del mapa,
HU13 Gestión de redes Realizada 6 Alta 2 …
con la finalidad de visualizar la información disponible
de la red
Como usuario,
HU14 Gestión de redes necesito habilitar/eliminar redes, Realizada 3 Alta 2 …
con la finalidad de tener solo redes disponibles
Como usuario,
necesito poder generar/visualizar reporte estadístico de
HU15 Test la red a la cual estoy conectado, Realizada 12 Alta 3 …
con la finalidad de observar información en tiempo
real.
SPRINT 1
PLANIFICACIÓN DE SPRINT 1
Fecha Participantes
Sprint Backlog
Ecosistema
OBSERVACIONES:
Fuente: La autora.
21
Dimensión / Tiempo
Tareas Estado Prioridad Persona encargada Iteración (Sprint) Comentarios
Esfuerzo dedicado
Figura 3. 4. Sprint 1.
SPRINT 2
PLANIFICACIÓN DE SPRINT 2
Fecha Participantes
14/01/2019 Karolina Pinargote Cusme
Tomás Loor Vera
Lugar Propósito
Instalaciones de la Unidad de Elaborar el Sprint Backlog para el segundo
Desarrollo Computacional de la sprint y definir un objetivo.
Carrera de Computación de la
ESPAM MFL.
Entradas Salidas
Objetivo del sprint: Desarrollar
Product Backlog actualizado
funcionalidad para la administración de
Incremento generado en el
redes WiFi, con funciones de escanear,
sprint 1
conectar, compartir, consultar y eliminar
redes.
Sprint Backlog
Fecha para Revisión del sprint:
11/01/2019
Incremento
Fuente: La autora.
Dimensión / Tiempo
Tareas Estado Prioridad Persona encargada Iteración (Sprint) Comentarios
Esfuerzo dedicado
Crear el API REST para agregar la red al mapa Pendiente Alta Karolina #2 …
Figura 3. 5. Sprint 2.
SPRINT 3
PLANIFICACIÓN DE SPRINT 3
Fecha Participantes
18/02/2019 Karolina Pinargote Cusme
Tomás Loor Vera
Lugar Propósito
Instalaciones de la Unidad de Elaborar el Sprint Backlog para el segundo
Desarrollo Computacional de la Sprint y definir un objetivo.
Carrera de Computación de la
ESPAM MFL.
Entradas Salidas
Objetivo del sprint: Desarrollar
Product Backlog actualizado
funcionalidad para monitorear la red a la
Incremento generado en el
que se ha conectado. Se debe mostrar
sprint 2
datos relevantes que permitan la toma de
decisión.
Sprint Backlog
Fecha para Revisión del sprint:
23/02/2019
Incremento
Fuente: La autora.
Dimensión / Tiempo
Tareas Estado Prioridad Persona encargada Iteración (Sprint) Comentarios
Esfuerzo dedicado
Diseñar el formulario para la generación del
Pendiente Media Karolina #3 …
reporte
Integrar librería chart.js y 12
hotspot.getConnectionInfo() para generar el Pendiente Media Karolina #3 …
reporte estadístico de conectividad
Figura 3. 6. Sprint 3.
En los tres sprint se mantuvo un ritmo que permitió el desarrollo de cada tarea
muy de cerca en los tiempos estimados para el fin. El cumplimiento de cada tarea
se plasmó diariamente en el gráfico de burndown, tal como lo muestran los
gráficos 3.1., 3.2. y 3.3.
45
40 41
41 38,9536,9
35 34,8532,8
33 30,7528,7
30
26,65
25 24,6
25 22,5520,5
20 22 18,45
19 16,4
15 17 15 14,35
15 15 12,3 10,25
10 12
9 8,2
8 8 8 6,15 4,1
5 6
4 4 4 2,05 0
0 2 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Gráfico 3. 1. Sprint1.
Fuente: La autora.
80
73
70 70
69 67
66 64
60 63 61
60 58
56 55
50 53 53 50
51
48 47
45 44
40 44 41
41 38
38 35
34 32
30 31 29
28 26
25 23
20 22 2020 18
17 15
10 15 12
12 9
8 6
5
0 2 3 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
-10
Gráfico 3. 2. Sprint 2.
Fuente: La autora.
28
14
12 12
12
10 9,6
8 9 7,2
6 7
4,8
4
4
2,4
2
2 0
0 0
1 2 3 4 5 6
Gráfico 3. 3. Sprint 3.
Fuente: La autora.
SPRINT 1
A B
En caso de ingresar usando la cuenta de Facebook (ver figura 3.10A.) los datos
necesarios se traen desde esta; por su parte, si el usuario quiere registrarse en
la aplicación se muestra una pantalla en la que el usuario deberá ingresar la
información solicitada (ver figura 3.10B.).
A B
Para el inicio de sesión con Facebook se utilizó uno de los servicios que este
ofrece para el login con otras aplicaciones como es el API de Facebook,
integrándolo en la aplicación para poder utilizar el método loginFb() y obtener
datos del usuario del elemento access_token, devuelto en el objeto
authResponse (ver figura 3.11.).
SPRINT 2
Una vez que culmina la etapa de escaneo, la página muestra un listado de las
redes encontradas, donde se visualiza el SSID, banda, dirección MAC y la
intensidad de la señal. (figura 3.14.). Adicionalmente, se puede agregar redes
ocultas mediante el botón ingresando el nombre de la red y la contraseña.
34
A B
La opción Mis redes muestra un listado de las redes a las que se ha conectado
el usuario del dispositivo, este listado lo obtiene de la función getRedesUser()
que recibe como parámetro el id del usuario.
SPRINT 3
Este último evento de cada sprint se ejecutó el mismo día en el que se llevó a
cabo las reuniones de revisión del sprint, con el fin de valorar cómo se estaba
desarrollando el trabajo, identificar problemas u otro tipo de incidencias que
pudieran afectar los tiempos de desarrollo y la calidad de los incrementos y por
ende del producto final.
PRUEBAS UNITARIAS
En la figura 3.22. se muestra la API para agregar un usuario, se debe llenar los
campos con información básica del usuario.
Una vez hecha la comprobación del inicio de sesión, muestra que el inicio de
sesión o login fue correcto, como se detalla en la figura 3.25.
Una vez que se hizo la respectiva edición de datos del usuario, se puede
comprobar que los cambios se realizaron con éxito, tal como se muestra en la
figura 3.29.
Para agregar una red, se hace necesario llenar los campos que se observan en
la figura 3.31.
Una vez agregada la red de forma correcta, muestra un mensaje donde se indica
que el registro fue correcto.
44
En la figura 3.35., se observan las redes que fueron ingresadas por un usuario
específico.
PRUEBAS DE INTEGRACIÓN
Con los incrementos obtenidos del desarrollo de los sprint se realizó una prueba
de integración en la cual se testeó el comportamiento de la aplicación. De esta
primera prueba salió una modificación en la distribución de las diferentes
opciones para la gestión de las redes; en una segunda prueba se ingresaron
datos reales, obteniendo los resultados esperados en cuanto a funcionamiento
ver figura 3.36. donde se observa el registro de usuario, figura 3.37. permiso por
parte de la aplicación para usar datos del usuario dentro de la aplicación, figura
3.38. se muestra que el Logueo con Facebook se hizo de forma correcta y figura
3.39. donde se indica que la red fue guardada con éxito) y velocidad de
respuesta.
Para obtener las redes del usuario, el tiempo de respuesta para la primera
petición fue de 0.27 segundos y de la última petición 14.85 segundos. Tal como
se muestra en la figura 3.40.
DISCUSIÓN
AppGeo permite detectar redes WiFi cercanas, conectarse a una red ingresando
su contraseña, posteriormente queda a criterio del usuario compartir la red
guardada de manera pública, para que otros usuarios que utilicen la aplicación
puedan hacer uso de esta; indicando que, al compartir la red, aquellos usuarios
que hagan uso de la aplicación y estén en un rango de 300 metros, puedan
visualizar el nombre de la red con su respectiva contraseña y conectarse a la
red. Otra funcionalidad que ofrece la aplicación es el poder monitorear la red a
la cual se está conectado.
49
Para detectar las redes inalámbricas se utilizó la librería Hotspot que sirve
administrar redes, con esta librería instalada se empleó el método scanWifi() que
se configuró para el escaneo, la cual obtiene la información básica y geográfica
de cada red. Para que las redes escaneadas se actualizarán en tiempo real se
usó la librería LoadingController y gracias a framework Angular, la aplicación no
requiere refrescar la página para actualizar el listado de las redes.
CONCLUSIONES
RECOMENDACIONES
Botella, I. (2018). Sistema de seguimiento mediante mapa online para los niños
que viajan en transporte público. Universidad Politécnica de Valencia.
España.
Vera, D. (2014). Desarrollo de una aplicación móvil para apoyar al turismo del
centro histórico de Quito, utilizando realidad aumentada y geolocalización,
para la empresa VLBS CÍA. LTDA (Bachelor's thesis). Universidad de las
Fuerzas Armadas ESPE. Quito.
Wilken, J., y Bradley, A. (2016). Ionic in action: Hybrid mobile apps with Ionic and
AngularJS. Manning Publications.
ANEXOS
56
ANEXO 1.
INTRODUCCIÓN
OBJETIVO
ALCANCE
PERSONAL INVOLUCRADO
NOMBRE DESCRIPCIÓN
Usuario Persona que usará el sistema
AppGeo Aplicación de geolocalización de redes WiFi
ERS Especificación de Requisitos de Software
RF Requisito Funcional
RNF Requisito No Funcional
59
REFERENCIAS
DESCRIPCIÓN GENERAL
AppGeo
Gestión de
Gestión de redes Monitoreo
usuarios
60
Gestión de usuario
En esta sección se podrá crear un nuevo usuario, además del inicio de
sesión, el cual se lo realizará usando las credenciales de Facebook o
ingresando el respectivo usuario y contraseña; además se podrá
visualizar y actualizar información personal.
Gestión de redes
En esta sección se listarán las redes WiFi disponibles, se las podrá
guardar, y visualizar su geolocalización en un mapa de Google.
Monitoreo
En esta sección se mostrará un reporte estadístico con todos los detalles
de la red WiFi a la cual se está conectado.
LIMITACIONES
SUPOSICIONES Y DEPENDENCIAS
RQUISITOS FUTUROS
REQUISITOS ESPECÍFICOS
INTERFACES EXTERNAS
FUNCIONES
AppGeo
CREAR USUARIO
ACTUALIZAR
PERFIL DE
USUARIO
ESCANEAR REDES
WIFI
USUARIO
VER UBICACIÓN
GEOGRÁFICA DE
LAS REDES
DESHABILITAR
REDES WIFI
OBSOLETAS
REPORTE
ESTADÍSTICO
63
REQUERIMIENTOS FUNCIONALES
Identificación del
RF01
requisito:
Nombre del
Registro de usuario
requerimiento:
Descripción del Los usuarios deberán registrar información básica
requerimiento: para poder iniciar sesión.
Prioridad del
Alta.
requerimiento:
Identificación del
RF02
requerimiento:
Nombre del
Autenticación de usuario
requerimiento:
El usuario deberá autentificarse para poder acceder
a la aplicación móvil, el mismo que lo podrán realizar
Descripción del
de dos formas: autentificación por Facebook o
requerimiento:
ingresando su usuario y contraseña previamente
registrados.
Prioridad del
Alta.
requerimiento:
Identificación del
RF03
requerimiento:
Nombre del
Actualización de información personal
requerimiento:
Descripción del
El usuario podrá editar su información personal.
requerimiento:
Prioridad del
Media.
requerimiento:
64
Identificación del
RF04
requerimiento:
Nombre del
Buscar redes WiFi disponibles
requerimiento:
Descripción del Los usuarios podrán realizar búsqueda de redes
requerimiento: WiFi disponibles.
Prioridad del
Alta.
requerimiento:
Identificación del
RF05
requerimiento:
Nombre del
Agregar redes WiFi disponibles
requerimiento:
Una vez realizada la búsqueda o escaneo de las
Descripción del
redes disponibles, el usuario podrá conectarse a la
requerimiento:
red WiFi disponible.
Prioridad del
Alta.
requerimiento:
Identificación del
RF06
requerimiento:
Nombre del
Agregar redes WiFi ocultas
requerimiento:
Descripción del El usuario realizará el respectivo almacenamiento
requerimiento: de datos de la red.
Prioridad del
Alta.
requerimiento:
Identificación del
RF07
requerimiento:
Nombre del
Vincular red al mapa
requerimiento:
Una vez conectado a una red, automáticamente la
información de la misma se guardará en la base de
Descripción del
datos como una red privada que solo el usuario
requerimiento:
podrá visualizar, para hacer la red visible en el mapa
se deberá compartir.
65
Prioridad del
Alta.
requerimiento:
Identificación del
RF08
requerimiento:
Nombre del
Visualización de redes WiFi en el mapa
requerimiento:
Descripción del Una vez compartida la red, se la podrá visualizar en
requerimiento: el mapa.
Prioridad del
Alta.
requerimiento:
Identificación del
RF09
requerimiento:
Nombre del
Gestionar reportes
requerimiento:
Descripción del La aplicación móvil permitirá generar reporte
requerimiento: estadístico del monitoreo de la red.
Prioridad del
Alta.
requerimiento:
REQUISITOS NO FUNCIONALES
Identificación del
RNF01
requerimiento:
Nombre del
Interfaz de la aplicación móvil
requerimiento:
Descripción del La aplicación móvil debe tener una interfaz sencilla,
requerimiento: ágil y sobretodo de fácil uso.
Prioridad del
Alta.
requerimiento:
66
Identificación del
RNF02
requerimiento:
Nombre del
Seguridad de la información
requerimiento:
La aplicación móvil garantizará a los usuarios
Descripción del
seguridad en cuanto a la información de la red que
requerimiento:
no estará compartida en el mapa.
Prioridad del
Alta.
requerimiento:
REQUISITOS DE RENDIMIENTO
RESTRICCIONES DE DISEÑO
APÉNDICES
BASE DE DATOS
Es de tipo relacional, estará compuesta por dos tablas; una tabla denominada
users, que almacenará información de los usuarios que se registren o logueen
en la aplicación; y, otra denominada redes, que contendrá la información de las
distintas redes.