UNIVERSIDAD CENTRAL DEL ECUADOR - … · Universitario en un dispositivo móvil, haciendo uso de...
Transcript of UNIVERSIDAD CENTRAL DEL ECUADOR - … · Universitario en un dispositivo móvil, haciendo uso de...
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA
CARRERA DE INGENIERÍA INFORMÁTICA
APLICACIÓN MÓVIL PARA LA UBICACIÓN GEOGRÁFICA
DENTRO DE LA UNIVERSIDAD CENTRAL
(GEOUBÍCATE UCE)
TRABAJO DE GRADUACIÓN, PREVIO LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO
AUTOR: Mina Herrera Víctor Manuel
TUTOR: ING. Robert Arturo Enríquez Reyes
QUITO - 27 de Octubre
2016
AUTORIZACIÓN DE AUTORÍA INTELECTUAL
Yo VÍCTOR MANUEL MINA HERRERA en calidad de autor del Proyecto integrador
titulado: “APLICACIÓN MÓVIL PARA LA UBICACIÓN GEOGRÁFICA DENTRO DE
LA UNIVERSIDAD CENTRAL DEL ECUADOR (GEOUBICATE UCE)”, autorizo a
la Universidad Central del Ecuador hacer uso de todos los contenidos que me
pertenecen o parte de los que contiene esta obra, con fines estrictamente
académicos o de investigación.
Los derechos que como autor me corresponden, con excepción de la presente
autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los
artículos 5, 6, 8; 19 y demás pertinentes de la Ley de Propiedad Intelectual y su
Reglamento.
Asimismo, autorizo a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este trabajo en el repositorio virtual, de conformidad
a lo dispuesto en el Art. 144 de la Ley Orgánica de Educación Superior.
Quito, 27 de Octubre del 2016
Víctor Manuel Mina Herrera CI: 1720501236 Telf. 0987393300 Email: [email protected]
II
CERTIFICACIÓN DEL TUTOR
III
ING. Robert Arturo Enríquez Reyes C.I.:1708600240 Telf.0984466366E-mail.:[email protected]
Este proyecto fue revisado con el control antiplagio URKUND
VI
DEDICATORIA
A mis padres que amo con todo mi corazón,
A mi esposa que es mi compañera,
A los pequeños de la casa
VII
AGRADECIMIENTO
El autor expresa su agradecimiento a:
Agradezco a los docentes de la Facultad de Ingeniería Ciencias Físicas y
Matemáticas por la manera de impartir sus conocimientos en cada etapa hasta
llegar a la cumbre, muchos de ellos fueron compañeros, amigos o simplemente
guías para alcanzar el objetivo.
Ing. Robert Enríquez, por su apoyo como tutor y por haber brindado las directrices
adecuadas para culminar con éxito este trabajo de graduación.
Es de gran felicidad y satisfacción hoy finalizar una etapa más de mi vida, cumplir
un sueño y ver el fruto de un gran esfuerzo.
A mis padres Vicente Mina y Mariana Herrera por su paciencia y sabiduría,
a mis hermanas Narcisa y M a r í a por su compañía, a mi esposa Cristina
quien ha demostrado ser una guerrera ante todo, a mis hijos Martina y Nicolás
quienes son los pilares para luchar y ser mejor cada día, a toda mi familia por
creer en mí.
A mis queridos Suegros: Edguitar, Teresita, Cuñados, Sobrinos y demás
familiares por su cariño y apoyo.
VIII
CONTENIDO
pág. AUTORIZACIÓN DE AUTORÍA INTELECTUAL ........................................................... II CERTIFICACIÓN DEL TUTOR .................................................................................... III INFORME DE TUTORES Y NOTAS ............................................................................ IV
CALIFICACIÓN DEL PROYECTO ................................................................................ V
DEDICATORIA ............................................................................................................. VI AGRADECIMIENTO .................................................................................................... VII CONTENIDO ...............................................................................................................VIII LISTA DE FIGURAS ......................................................................................................X
LISTADO DE TABLAS ................................................................................................XII RESUMEN ...................................................................................................................XIII ABSTRACT ................................................................................................................. XIV
INTRODUCCIÓN ................................................................................................................ 1
1 ANTECEDENTES ....................................................................................................... 2
1.1 Definición del Problema .................................................................................... 2
1.2 Planteamiento del Problema ............................................................................. 2
1.3 Formulación del Problema ................................................................................ 2
1.4 Objetivos ............................................................................................................. 3
1.5 Justificación ....................................................................................................... 3
1.6 Alcance ............................................................................................................... 5
1.7 Delimitaciones del Proyecto ............................................................................. 5
2 MARCO TEÓRICO ..................................................................................................... 6
2.1 Marco Conceptual ............................................................................................... 6
2.2 Marco Técnico .................................................................................................. 13
2.3 SISTEMAS DE INFORMACIÓN GEOGRÁFICA............................................... 21
2.4 Notepad++ ............................................................................................................. 25
2.5 Algoritmo para encontrar la ruta más corta entre dos puntos ...................... 25
2.6 Factibilidad Económica ........................................................................................ 27
3 HERRAMIENTAS DE DESARROLLO ..................................................................... 28
3.1 Lenjuages de Programación ........................................................................... 28
3.2 QUANTUM GIS ................................................................................................. 31
3.3 NODE.js ............................................................................................................. 34
IX
3.4 APACHE CORDOVA ........................................................................................ 36
4 METODOLOGÍA ....................................................................................................... 38
4.1 Introducción ..................................................................................................... 38
4.2 Selección de la Metodología y Herramientas de Desarrollo ........................ 38
4.3 Valores de la Metodología XP ......................................................................... 41
5 DESARROLLO DEL PROYECTO ............................................................................ 43
5.1 Fases de la Metodología ................................................................................. 43
5.2 Fase 2: Análisis y Diseño Global .................................................................... 49
5.3 Fase 3: Desarrollo ............................................................................................ 50
5.4 Fase 4: Puesta en Producción ........................................................................ 50
6 CONCLUSIONES ..................................................................................................... 52
7 RECOMENDACIONES ............................................................................................. 54
ANEXOS ....................................................................................................................... 61
ANEXO A ..................................................................................................................... 62 Instalar QGIS ........................................................................................................ 67 Abrir QGIS ............................................................................................................ 70
Instalación Android Studio y Android SDK .............................................................. 72
Descarga de componentes de Android SDK ........................................................... 72
Creando un Android Virtual Device AVD .................................................................. 73
Una vez creada la máquina virtual se procede a correr el simulador. ................. 74
Instalación Apache Cordova ..................................................................................... 75
ANEXO B ..................................................................................................................... 77
X
LISTA DE FIGURAS
pág.
Figura 1 Problemas frecuentes en el Google maps (Elaboración propia) .............. 4 Figura 2 Capas de los S.O. ( Informaticohoy. (2007)) ............................................... 9 Figura 3 Kernel S.O.( LINUX HOWTO. (2007)) ........................................................ 10 Figura 4 MIDDLEWARE (Mele Jarq . (2012)) ............................................................ 10 Figura 5 Entorno de Ejecución (Jjparra . (2005)) ..................................................... 11 Figura 6 Modelo de capas de un sistema operativo móvil (Maksim, 2013). ......... 11 Figura 7 Porcentaje de distribución del mercado mundial según el sistema operativo al año 2014, 2015 (CANTAR WORLDPANEL)...................................... 12 Figura 8 Evolución ventas de Smartphone clasificados por sistema operativo (KCPB) ......................................................................................................................... 12 Figura 9 A-GPS. Diagrama de funcionamiento. (Qualcomm Technologies. (2011)) ..................................................................................................................................... 17 Figura 10 Orbitas de satélites en la tierra, Glonass y GPS (Ms. Lisa. (2015).) .... 17 Figura 11 Simulación de GPS(mediarts.com.ve. (2015)) ........................................ 17 Android Framework o Servicio de Localización ..................................................... 18 Figura 12 Android Studio (Android Developer, 2016). ( Fco. José Hidalgo.(2015).) ..................................................................................................................................... 20 Figura 13 IDE XCode (Apple, Inc., 2016). ................................................................. 20 Figura 14 SIG ((DIDIANA GONZALEZ (2015)) .......................................................... 22 Figura 15 Modelo Ráster y Vector (Gauss-Krüger. (2002). ..................................... 24 Figura 16 Ejemplo de la topología vial UCE ............................................................ 26 Figura 17 Esquema HTML(Enrique González. (2015).) ........................................... 28 Figura 18 Esquema de JavaScript(Elaboración propia) ......................................... 29 Figura 19 Esquema XML(Elaboración propia) ......................................................... 30 Figura 20 Opciones del OpenGeo (Elaboración propia) ......................................... 34 Figura 21 GUI Quantum GIS (Elaboración propia) .................................................. 34 Figura 22: CUADRO COMPRARTIVO FRAMEWORKS UTILIZADOS Carlos Azaustre.. (2015) ......................................................................................................... 35 Figura 23 V8 de Google CECILIO ÁLVAREZ. (2014) ............................................... 35 Figura 24 V8 Navegador y Servidor CECILIO ÁLVAREZ. (2014) ............................ 36 Figura 24 V8 Navegador y Servidor CECILIO ÁLVAREZ. (2014) ............................ 36 Figura 25 Presentación del Menú en el aplicativo (Elaboración propia) ............... 44 Figura 25 Presentación del Menú en el aplicativo (Elaboración propia) ............... 44 Figura 26 Casos de Uso (Elaboración propia) ......................................................... 45 Figura 27 Caso de Uso Ingresar al Aplicativo (Elaboración propia) ..................... 46 Figura 28 Caso de Uso Información relevante (Elaboración propia) .................... 46 Figura 29 Caso de Uso Mostrar Facultades, ed. Académica, entre otras Unidades Académicas y Administrativas (Elaboración propia) ............................................. 47 Figura 30 Caso de Uso Trazar la ruta (Elaboración propia) ................................... 47 Figura 31 Caso de Uso Ubicarse (Elaboración propia)........................................... 48 Figura 32 Caso de Uso Testear Métodos (Elaboración propia) ............................. 48 Figura 33 Arquitectura de la app (Elaboración propia)........................................... 49
XI
Figura 34 Aplicación puesta en producción (Elaboración propia) .................... 51 Figura A35. Opciones de descarga de JRE (Elaboración propia........................... 62 Figura A36. Pantalla de instalación de JRE (Elaboración propia) ......................... 63 Figura A37. Comprobación de versión de Java (Elaboración propia) .................. 63 Figura A38. Opción propiedades de equipo (Elaboración propia)…………….…..64 Figura A39. Opción configuración avanzada del sistema (Elaboración propia) .. 64 Figura A40. Opción de variables de entorno (Elaboración propia) ....................... 64 Figura A41. Detalles de variable JAVA_HOME (Elaboración propia) .................... 65 Figura A42. Instalación Notepad++ (Elaboración propia)....................................... 66 Figura A43. Instalación Notepad++ (Elaboración propia)....................................... 66 Figura A44. Instalación Notepad++(Elaboración propia)........................................ 66 Figura A45. Instalación Notepad++(Elaboración propia)........................................ 67 Figura A46. Instalación Notepad++(Elaboración propia)........................................ 67 Figura A47. Instalación Quantum Gis (Elaboración propia)................................... 68 Figura A48. Instalación Quantum Gis (Elaboración propia)................................... 68 Figura A49. Instalación Quantum Gis (Elaboración propia)................................... 69 Figura A50. Instalación Quantum Gis (Elaboración propia…………………….......69 Figura A51. Instalación Quantum Gis (Elaboración propia)................................... 69 Figura A52. Instalación Quantum Gis (Elaboración propia)................................... 70 Figura A53. Instalación Quantum Gis (Elaboración propia)................................... 70 Figura A54. Instalación Js (Elaboración propia) ..................................................... 71 Figura A55. Verificar Instalación Js (Elaboración propia) ...................................... 72 Figura A56. Verificar Android Studio (Elaboración propia) .................................... 72 Figura A57. Crear Máquina Virtual (Elaboración propia) ........................................ 73 Figura A58. Instalación Android Studio (Elaboración propia)………….....……….73 Figura A59. Máquina Virtual (Elaboración propia)…………………………......…….74 Figura A60. Simulador App en el celular (GEOUCE) (Elaboración propia) ........... 74 Figura A61. App en el celular (Elaboración propia) ................................................ 75 Figura A62. Instalación Apache Cordova (Elaboración propia) ............................. 75 Figura A63. Instalación apk en celular (Elaboración propia) ................................. 76 Figura A64. Verificación de la instalación del apk (Elaboración propia) .............. 76 Figura B65. Estadisticas presentadas por el INEC (INEC2015) ............................. 77 Figura B66. Estadisticas presentadas por el INEC (INEC2015) ............................. 77 Figura B67. Estadisticas presentadas por el INEC (INEC2015) ............................. 78
XII
LISTADO DE TABLAS
pág.
Tabla 1 Presentación de la información relevante y actualizada (Elaboración propia) ........................................................................................................................... 4 Tabla 2 Ventajas y Desventajas de la aplicación nativa (Elaboración propia) ....... 7 Tabla 3 Ventajas y Desventajas de la aplicación web (Elaboración propia)........... 7 Tabla 4 Ventajas y Desventajas de la aplicación hibrida (Elaboración propia)… . 8 Tabla 5. Cuadro comparativo de Sistemas Operativos ( Alfonso Cervera. (2015)) ..................................................................................................................................... 14 Tabla 6. Cuadro comparativo de Emuladores de Android (Academia Android. (2015)) .......................................................................................................................... 19 Tabla 7. Cuadro comparativo de costos (Elaboración propia) .............................. 27 Tabla 8 Soporte de CSS en los navegadores (Elaboración propia) ..................... 31 Tabla 9. Cuadro Comparativo de Metodologías (Sergio Granizo. (2015)) ............. 40 Tabla 10. Valores de la Metodología XP (Elaboración propia) ............................... 42 Tabla 11. Herramientas para desarrollo (Elaboración propia) ............................... 44 Tabla 12. Lista de Procedimientos para manejo y uso de la aplicación móvil (Elaboración propia) .................................................................................................. 49
XIII
RESUMEN
“APLICACIÓN MÓVIL PARA UBICACIÓN GEOGRÁFICA DENTRO DE LA
UNIVERSIDAD CENTRAL DEL ECUADOR (GEOUBICATE UCE)”
Autor: Víctor Manuel Mina Herrera
Tutor: Ing. Robert Arturo Enríquez Reyes
La tecnología y la ciencia son los pilares de una cadena evolutiva en la historia del ser
humano, contribuyendo al desarrollo global, abarcando todas las áreas que involucran
al mismo, principalmente conllevando al crecimiento económico y social.
La Universidad tiene como objetivo desarrollar investigación y proponer soluciones
Tecnológicas a requerimientos de usuarios, de esta manera se hace necesaria la
creación de una aplicación móvil para la Universidad Central del Ecuador
“GEOUBICATE UCE”; cuyo propósito es la presentación del entorno geográfico
Universitario, la búsqueda de una Facultad en particular, con su respectiva información
relevante y actualizada, para los usuarios cuyo equipo celular tenga plataforma Android
e IOS, la geo ubicación actual y el mejor camino de un punto a otro.
La aplicación fue desarrollada con conceptos de sistemas de información geográficas,
utilizando el entorno QGIS, permitiendo una aplicación amigable, escalable y una
capa de presentación desarrollada con HTML5, JavaScript, JQuery Movil,
OpenLayers, JSON, y GeoJSON.
PALABRAS CLAVES: /APLICACIÓN MÓVIL / LOCALIZACIÓN DE MAPAS/ SISTEMA
DE INFORMACIÓN GEOGRÁFICA (QGIS)/ NOTACIÓN DE OBJETOS DE
JAVASCRIPT (JSON)/ CARACTERÍSTICAS GEOGRÁFICAS (GEOJSON) / MAPAS
INTERACTIVOS (OPENLAYERS)/ LENGUAJE DE MARCAS DE HIPERTEXTO
(HTML5)/ FRAMEWORK MÓVIL (JQUERY MOBILE)/
XIV
ABSTRACT
“MOBILE APPLICATION AIMED TO GEOGRAPHIC LOCATION INSIDE THE CENTRAL UNIVERSITY OF ECUADOR (GEOUBICATE UCE)”
Technology and science are the pillars of an evolutionary chain in human history. They
contribute to global development by covering all growth areas mainly by leading to
economic and social development.
Central University of Ecuador aims to develop research and deliver technology solutions
to user requirements, thus it is necessary to create “GEOUBICATE UCE”, which is a mobile
application, for this university. Its purpose is the presentation of this university geographical
environment. It searches a specific Faculty including relevant and updated information for
users whose mobiles have Android and IOS platform. This application gives users their
current location and suggests the best way from one place to other.
The application was developed with concepts of geographic information systems. The
QGIS environment, which allows a user-friendly application, was used. It has a
presentation layer that was developed with HTML5, JavaScript, JQuery Mobile,
OpenLayers, JSON, and GeoJSON.
KEYWORDS: /MOBILE APPLICATION/ MAP LOCATION/ GEOGRAPHIC INFORMATION SYSTEM (QGIS)/ JAVASCRIPT OBJECT NOTATION (JSON) / GEOGRAPHIC FEATURES (GEOJSON)/ INTERACTIVE MAPS (OPENLAYERS)/ HYPERTEXT MARKUP LANGUAGE (HTML5)/ MOBILE FRAMEWORK / JQUERY MOBILE/
Autor: Víctor Manuel Mina Herrera
Tutor: Ing. Robert Arturo Enríquez Reyes
1
INTRODUCCIÓN
La iniciativa de “Geoubicate UCE” consiste en una forma de presentar el entorno
Universitario en un dispositivo móvil, haciendo uso de aplicaciones que permite vincular
las 17 Facultades, Centros Académicos, Colegios a su alrededor, entre otras Unidades
Académicas y Administrativas, para optimizar el tiempo de búsqueda.
Existen miles de aplicaciones móviles que podemos encontrar en el mercado,
prácticamente hay aplicaciones para todo tipo de personas de diferente género, edad,
gustos, preferencias, entre otros; que han ayudado en diferentes aspectos como; en el
mejoramiento de la calidad de vida, el ahorro de tiempo en la realización de ciertas
actividades, en mantenernos comunicados a pesar de la distancia.
Viendo la necesidad de compañeros nuevos, docentes y personas visitantes a la
Universidad Central del Ecuador, se analizó la ventaja de tener la app instalada en los
dispositivos móviles y utilizarla en cualquier momento que se requiera ya sea para uso
personal o para dirigir a un solicitante.
2
1 ANTECEDENTES
1.1 Definición del Problema
Actualmente es difícil encontrar la ubicación geográfica de cada Facultad,
canchas, laboratorios, entre otras Unidades Académicas y Administrativas, de
forma visual, al utilizar aplicaciones externas no constan en los registros como
por ejemplo Google Maps, razón por la cual se dificulta conocer información
básica como:
Ubicación exacta del destino a llegar.
Geolocalización.
Horarios de atención y de la Jornada de estudios.
Autoridades.
Teléfonos.
Descripción.
Ruta para llegar.
Información importante de cada Facultad.
1.2 Planteamiento del Problema
Cuando un estudiante, funcionario o persona particular de Universidad Central
del Ecuador, quiere realizar algún trámite personal o Institucional, se encuentra
con el problema de la ubicación de la Facultad, Centro Académico, entre otras
Unidades Académicas y Administrativas.
La Universidad cuenta aproximadamente con 38.000 alumnos, 8.000
funcionarios entre profesores y personal administrativo según (Wikipedia 2015),
adicional se tiene que el 30% del entorno geográfico no tiene señalización
adecuada.
1.3 Formulación del Problema
Por los datos obtenidos anteriormente se tiene una clara visión de cuán
importante es el desarrollo de la app según las siguientes preguntas:
• ¿De qué manera nos ayuda tener el conocimiento de la app para los
integrantes de la Comunidad Universitaria?
• ¿Qué tan factible es la implementación de la app entre la Comunidad
Universitaria?
3
• ¿Cuáles serían los factores que impulsarían a los estudiantes a participar
en esta iniciativa de implementación?
1.4 Objetivos
1.4.1 Objetivo General
Desarrollar un prototipo de sistema que permita la ubicación geográfica para
llegar a las diferentes Facultades, Centros Académicos, entre otras Unidades
Académicas y Administrativas, ubicados en el entorno Universitario.
1.4.2 Objetivos Específicos
Mediante la implementación de la aplicación tener a las Facultades,
Centros Académicos, entre otras Unidades Académicas y
Administrativas, en un solo entorno geográfico.
Desarrollar una aplicación móvil la cual nos ayude a la búsqueda de cierta
Facultad, Centro Académico, entre otras Unidades Académicas y
Administrativas, obtener información ágil y precisa
A través de la geo ubicación llegar al punto de destino optimizando el
tiempo y recursos.
1.5 Justificación
El desarrollo de la aplicación móvil permitirá conocer mejor la ubicación
geográfica de cierta Facultad, canchas, laboratorios, entre otras Unidades
Académicas y Administrativas, lo cual no constan en los registros del Google
Maps, razón por la cual se dificulta mucho conocer información relevante como:
Nombre de la Facultad, Centro Académico, entre otras Unidades
Académicas y Administrativas.
Teléfono de actual de la Facultad, Centro Académico, otras unidades
academias y administrativas.
Horarios de atención y de la Jornada de estudios
Autoridades de la Facultad, Centro Académicos, entre otras Unidades
Académicas y Administrativas.
Descripción detallada de la Facultad, Centro Académico, entre otras
Unidades Académicas y Administrativas.
Descarga de la App disponible (siempre y cuando tenga Internet).
4
El proyecto integrador APLICACIÓN MÓVIL PARA UBICACIÓN GEOGRÁFICA
DENTRO DE LA UNIVERSIDAD CENTRAL DEL ECUADOR (GEOUBICATE
UCE), avalado por la prestigiosa Universidad Central del Ecuador, propone
obtener esta información de forma rápida, clara y oportuna; para ofrecer una
solución tecnológica y muy fácil de utilizar y así apoyar a la comunidad
Universitaria con una aplicación informática que provea toda la información antes
mencionada, además, dicha aplicación funcionará en tiempo real.
Para comprender de forma más clara, veamos la siguiente tabla a manera de
ejemplo: CAMPO DESCRIPCIÓN
Facultad, Centro Académico, entre otras Unidades Académicas y Administrativas,
Es el nombre de la Facultad, Centro Académico, entre otras Unidades Académicas y Administrativas., Ejm: ARQUITECTURA Y URBANISMO
Teléfono Es el número o números de los teléfonos convencionales (añadido la extensión 02) que posee la institución Ejm: (593-02) 2229537 2235269
Horario_Atención Es la hora adecuada para poder acudir a realizar a cualquier trámite. Ejm: Administración 08:00 – 16:00
Autoridades Los nombres de las autoridades principales. Ejm: Decano: Arq. Luciano Bonilla.
Descripción Es una rápida guía de información para el conocimiento de los usuarios.
Imagen Es una foto representativa del lugar a buscar.
Tabla 1 Presentación de la información relevante y actualizada (Elaboración propia)
Figura 1 Problemas frecuentes en el Google maps (Elaboración propia)
5
Hay que indicar que el formato de la información lo provee cada una de las
Facultades o a su vez en el portal web de la Universidad Central del Ecuador,
razón por la cual, nuestra aplicación no puede alterar ningún campo antes
mencionado.
1.6 Alcance
Se desarrollará una aplicación móvil que constara básicamente de dos perfiles el
cual va a poder realizar:
• Buscar una Facultad, Centro Académico, entre otras Unidades
Académicas y Administrativas.,
• Cambiar de capas a la presentación del mapa (satelital o con los nombres
de las calles)
• Trazar la ruta para llegar a su destino
• Ubicarse en su posición actual (geo ubicación)
• No se podría trazar una ruta, si el usuario está fuera del perímetro
Universitario
1.7 Delimitaciones del Proyecto
Se puede determinar las siguientes limitaciones:
La aplicación móvil será creada solo para dispositivos que tengan
sistemas operativos Android e IOS.
El usuario debe tener un dispositivo móvil inteligente.
Debe tener activado un plan de datos o a su vez la red inalámbrica.
6
2 MARCO TEÓRICO
2.1 Marco Conceptual
2.1.1 Antecedentes
Actualmente la Universidad Central ha ido creciendo paulatinamente tanto en
infraestructura como en el rediseño de sus edificios, lo cual ha generado
controversia al momento de identificar una Facultad, Centro Académico, entre
otras Unidades Académicas y Administrativas. Ya sea que el estudiante/visitante
ingrese a la Universidad en carro o caminando muchas de las veces dan la vuelta
en círculos, sin encontrar o localizar un lugar específico.
En ocasiones no se tiene la cultura aún de utilizar los servicios de las app que nos
provee Android (PlayStore) o IOS (AppleStore) e incluso el que se tiene instalado
en el teléfono por default (Maps). Los estudiantes han utilizado el aplicativo Maps
para poder buscar un edificio en particular dentro de la Universidad pero como el
repositorio de Google no los contiene pues no lo encuentra o si lo encuentra no se
tiene información de la misma.
Para la solución de este inconveniente se ha desarrollado la app “GEOUBICATE
UCE” con lo cual se tiene el Entorno Geográfico de las 17 Facultades, Centros
Académicos, entre otras Unidades Académicas y Administrativas. Es muy
importante tener en cuenta que para cumplir con el objetivo se debe tener una
dispositivo móvil inteligente.
Uno de las problemáticas importantes dentro de la Universidad Central era la
seguridad ya que se tenían robos a los estudiantes/personas particulares en los
lugares menos transitados, actualmente la Universidad cuenta con un grupo
permanente de vigilantes para resguardar la seguridad de todos con ello se puede
utilizar con seguridad el celular y buscar con libertad el destino al que se quiere
llegar.
2.1.2 Aplicaciones Móviles
Es una aplicación informática desarrollada para ser ejecutada a través de un
dispositivo móvil inteligente, Tablet y otros dispositivos móviles y que permite al
usuario efectuar una tarea concreta de cualquier tipo profesional, de ocio,
educativa, de acceso a servicios, entre otros. (Comisión de Comercio. (2011))
• Aplicaciones Nativas: son aquellas desarrolladas bajo un
7
lenguaje y entorno de desarrollo específico, lo cual permite, que
su funcionamiento sea muy fluido y estable para el sistema
operativo que fue creada.
VENTAJAS DESVENTAJAS
Utilización de los recursos tantos
del sistema como del hardware
Solo pueden ser utilizadas por un
dispositivo que cuente con el
sistema para el cual fue
desarrollada.
Permite ser publicada en tiendas
para su distribución.
Requiere de un costo para
distribuirla en una tienda, y
dependiendo el sistema, para el
uso del entorno de desarrollo.
En su mayoría, no necesitan estar
conectadas a Internet para su
funcionamiento.
Necesitan aprobación para ser
publicadas en la plataforma.
Tabla 2 Ventajas y Desventajas de la aplicación nativa (Elaboración propia)
• Aplicación Web: Desarrolladas usando lenguajes para el desarrollo web
como lo son html, css y javascript y un framework para el desarrollo de
aplicaciones web, como por ejemplo jquery mobile, Sencha, Kendo UI,entre otros..(Javier Cuello & José Vittone. (2013))
VENTAJAS DESVENTAJAS
Pueden ser utilizadas desde cualquier
dispositivo sin importar el sistema
operativo.
No pueden ser publicadas en
plataformas para su distribución.
Puede que requiera un coste para su
desarrollo, peor este puede ser
mínimo en comparación con las
nativas.
No utilizan los recursos del
sistema ni del dispositivo de
manera óptima.
No requieren de ninguna aprobación
para su publicación.
Tabla 3 Ventajas y Desventajas de la aplicación web (Elaboración propia)
8
• Aplicaciones Híbridas: Desarrolla utilizando lenguajes de desarrollo web
y un framework dedicado para la creación de aplicaciones híbridas, como
por ejemplo phonegap, titanium appacelerator, Steroids, entre otros.
(Javier Cuello & José Vittone. (2013))
VENTAJAS DESVENTAJAS
Uso de los recursos del
dispositivo y del sistema operativo
El costo de desarrollo puede ser
menor que el de una nativa
Son multiplataforma
Permite distribución a través de
las tiendas de su respectiva
plataforma.
La documentación puede ser
un poco escasa y
desordenada.
Tabla 4 Ventajas y Desventajas de la aplicación hibrida (Elaboración propia)
2.1.3 Tipos de Aplicaciones para Dispositivos Móviles
Funcionalidad básica: Pensar en esto como una jerarquía, como el correo
electrónico en el iPhone es un buen ejemplo de esto. Sin duda es de fácil
construcción y diseño y una buena opción para las empresas que desean una
aplicación “simple” que muestre información básica.
Base de datos con funcionalidad personalizada: Un ejemplo sería tener cientos
de razas de perros que desea organizar y mostrar de manera diferente. Esto se
puede hacer más allá del formato de tabla básica, el desarrollo se vuelve más
complejo.
Juegos: La gama de complejidad en este tipo de App es muy amplia, se puede
empezar por algo muy simple hasta llegar al 3D o la incorporación de la
experiencia del usuario a través del movimiento físico del dispositivo.
Mejoras o modificaciones del hardware del dispositivo: Esto significa que al
crear la app se toman ciertas funciones del teléfono, como la alarma, la cámara o
el flash, para hacerlo mejor. Por ejemplo, el de la cámara + app que añade filtros
a las imágenes que sacas con el teléfono.
(Javier Cuello & José Vittone. (2013))
2.1.4 Sistemas Operativos para Dispositivos Móviles
Los Sistemas Operativos para teléfonos móviles se vuelven cada día más
9
importantes pues la tecnología avanza y en materia de comunicaciones aún más,
la telefonía celular cada vez se convierte más en una parte importante de nuestras
vidas, y en una sociedad que exige más y más, es importante diseñar sistemas
que soporten las aplicaciones que se demandan, que sean fluidos, fáciles,
accesibles y hasta divertidos. Es por eso que las compañías móviles han
desarrollado una competencia bastante reñida en cuanto al desarrollo de SO se
refiere, desde los inicios en los años 90 con las versiones de EPOC32 para PDA’s
hasta los más avanzados y sofisticados como Android, IOS, BlachBerry que
además de ser eficientes y estables son multiplataforma, lo que hace que cualquier
persona tenga acceso a ellos desde un celular básico hasta un Smartphone.
Las siguientes ventajas
• Acceso a Internet y conectividad mediante Bluetooth.
• Envío de mensajes cortos.
• Aceleración 2D y 3D.
• Reproducción de video y sonido.
• Cámara integrada.
• Información de localización GPS.
• Sensores de orientación.
2.1.5 Componentes de los sistemas Operativos en Dispositivos Móviles
CAPAS
Al igual que los sistemas operativos presentes en los componentes informáticos
más grandes, un sistema operativo móvil también se encuentra compuesto por
varias capas. (Gabriel Osmar Pedrozo (2012))
Figura 2 Capas de los S.O. ( Informaticohoy. (2007))
10
KERNEL
Una de las más importantes y esenciales piezas que componen cualquier sistema
operativo, sea el de nuestro móvil, o el de la PC, es el denominado núcleo o Kernel.
(Gabriel Osmar Pedrozo (2012)).
Figura 3 Kernel S.O.( LINUX HOWTO. (2007))
MIDDLEWARE
Esta capa es el conjunto de módulos que permite que las aplicaciones diseñadas
y escritas para tales plataformas puedan ser ejecutadas. Entre los servicios que
presta esta capa podemos citar los motores de comunicaciones y mensajería,
funciones de seguridad, servicios para la gestión de diferentes aspectos del móvil,
ofrece servicios claves como el motor de mensajera y comunicaciones. (Gabriel
Osmar Pedrozo (2012))
Figura 4 MIDDLEWARE (Mele Jarq . (2012))
ENTORNO DE EJECUCIÓN DE APLICACIONES
11
Esta capa provee de todos los elementos necesarios para la creación y desarrollo
de software a los programadores, es decir contiene elementos que serán de gran
ayuda a los mismos, en el momento de escribir aplicaciones compatibles con ese
sistema operativo. (Gabriel Osmar Pedrozo (2012))
Figura 5 Entorno de Ejecución (Jjparra . (2005))
INTERFAZ DE USUARIO
La interfaz de usuario es el elemento del teléfono que usualmente utilizamos para
interactuar con el aparato. Sin esta capa no sería posible utilizar nuestro
dispositivo, ya que la misma presenta todos los elementos necesarios para facilitar
cualquier tipo de tarea que deseemos realizar en nuestra terminal.
Figura 6 Modelo de capas de un sistema operativo móvil (Maksim, 2013).
12
(Gabriel Osmar Pedrozo (2012))
MERCADO EN SISTEMAS OPERATIVOS
A medida que los teléfonos móviles crecen en popularidad, los sistemas
operativos con los que funcionan adquieren mayor importancia. La cuota de
mercado de sistemas operativos móviles era el siguiente: (Expansión. (2015)).
Figura 7 Porcentaje de distribución del mercado mundial según el sistema operativo al año 2014, 2015 (CANTAR WORLDPANEL)
PORCENTAJE DE VENTAS DE SMARTPHONE A NIVEL MUNDIAL
Figura 8 Evolución ventas de Smartphone clasificados por sistema operativo (KCPB)
13
Como se puede observar Android es el sistema operativo móvil más usado en el
mundo con una cuota superior al 80%, esto debido a su código fuente libre que
permite a diversas empresas ensambladoras de dispositivos móviles ajustar,
calibrar y modificar dichos fuentes para sacar mayor provecho al hardware de sus
dispositivos. (Expansión. (2015)).
2.2 Marco Técnico
Para la presentación del proyecto se ha considerado dos sistemas operativos,
como se representa en la figura 7 a nivel mundial son los más comprados y
utilizados por sus características y funcionalidades.
A continuación se presentara las características que cada sistema operativo nos
ofrece:
Características Android IOS
Personalizar
Es muy personalizable, pero
se necesita invertir tiempo y
tener algo de conocimiento
para personalizar el teléfono.
Está muy personalizado y la
plataforma lo tiene todo bajo control.
Está bien para quienes se
conforman con las cosas ya
predeterminadas
Actualizar
Debido a la fragmentación que
existe, las actualizaciones
dependen del modelo y el
fabricante de cada dispositivo.
Los usuarios siempre pueden
contar con la versión más reciente
de IOS, gracias a las
actualizaciones gratuitas y
automáticas.
Disponibilidad
Está disponible en equipos de
diversos fabricantes: HTC,
Google, Samsung, Sony,
Motorola, LG, etc, en una gran
variedad de modelos.
Solo está disponible en los
dispositivos de Apple: iPod touch,
iPad, iPhone y Apple TV.
Publicación
Cualquiera puede crear y
distribuir apps para Android.
Los usuarios pueden
descargar e instalar apps
Para los desarrolladores es más
caro publicar apps para iOS. La App
Store es prácticamente el único
lugar desde el que se pueden
descargar.
14
desde fuera de la tienda
oficial.
Tabla 5. Cuadro comparativo de Sistemas Operativos (Alfonso Cervera. (2015))
Teniendo en cuenta sus características vamos a profundizar un poco más sobre
los dos sistemas operativos a desarrollar.
2.2.1 Android
Es un sistema operativo móvil basado en Linux, que junto con aplicaciones
middleware está enfocado para ser utilizado en dispositivos móviles como
teléfonos inteligentes, tabletas, Google TV y otros dispositivos. Es desarrollado
por la Open Handset Alliance, la cual es liderada por Google. Este sistema por lo
general maneja aplicaciones como Google Play. Fue desarrollado inicialmente por
Android Inc., una firma comprada por Google en 2005. El anuncio del sistema
Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open
Handset Alliance, un consorcio de 78 compañías de hardware, software y
telecomunicaciones dedicadas al desarrollo de estándares abiertos para
dispositivos móviles. Google liberó la mayoría del código de Android bajo la
licencia Apache, una licencia libre y de código abierto. (Gabriel Osmar Pedrozo
(2012))
Características y especificaciones actuales:
Arquitectura
Los componentes principales del sistema operativo de Android (cada sección se
describe en detalle):
Aplicaciones: las aplicaciones base incluyen un cliente de correo
electrónico, programa de SMS, calendario, mapas, navegador, contactos y
otros. Todas las aplicaciones están escritas en lenguaje de programación
Java.
Marco de trabajo de aplicaciones: los desarrolladores tienen acceso
completo a los mismos APIs del framework usados por las aplicaciones
base. La arquitectura está diseñada para simplificar la reutilización de
componentes (sujeto a reglas de seguridad del framework).
Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas
15
por varios componentes del sistema. Estas características se exponen a
los desarrolladores a través del marco de trabajo de aplicaciones de
Android; algunas son: System C library (implementación biblioteca C
estándar), bibliotecas de medios, bibliotecas de gráficos, 3D y SQLite,
entre otras.
Runtime de Android: Android incluye un set de bibliotecas base que
proporcionan la mayor parte de las funciones disponibles en las bibliotecas
base del lenguaje Java. Cada aplicación Android corre su propio proceso,
con su propia instancia de la máquina virtual Dalvik.
Núcleo Linux: Android depende de Linux para los servicios base del
sistema como seguridad, gestión de memoria, gestión de procesos, pila de
red y modelo de controladores.
(Gabriel Osmar Pedrozo (2012))
Seguridad
Según un estudio de Symantec de 2011, comparado con el iOS, Android es un
sistema más vulnerable, debido principalmente a que el proceso de certificación
de aplicaciones es menos riguroso que el de Apple y el esquema de gestión de
permisos para éstas, que pone muchas decisiones de seguridad importantes en
manos del usuario, lo expone a mayores riesgos y le hace más atractivo a los
ataques de ingeniería social. Sin embargo, en base a números absolutos
contabilizados de los boletines de seguridad de Microsoft, Adobe, Oracle y Apple,
el 85% de los agujeros de seguridad en 2011 sucedieron en sistemas iOS, pese a
que éste posee una cuota de mercado inferior a la de Android. (Sophos. (1997)).
2.2.2 iOS
Sin duda la gran ventaja del sistema operativo de Apple es la sencillez de manejo.
Además de la facilidad de configurar en los primeros pasos del teléfono.
El sistema operativo está diseñado para los teléfonos de Apple, prácticamente por
los mismos que realizan el dispositivo. Por lo tanto la velocidad, el ajuste de iOS,
entre otras opciones, es muy buena, tanto como la seguridad del sistema.
La desventaja de IOS es la poca personalización que tiene, ya que viene ajustada
por defecto. La disposición es la que viene definida de fábrica. En las últimas
actualizaciones del sistema operativo se han ido incorporando nuevas opciones
16
para incluir, por ejemplo, teclados de terceros o widgets en el centro de
notificaciones.
Otra desventaja, es la navegación por páginas web que contengan flash. Apple no
ha dado soporte y aunque el flash se utiliza cada vez menos, en las webs que
tengan notaras el defecto. (ALBERTO SÁNCHEZ. (2015))
Características
Multitarea
Antes de iOS 4, la multitarea estaba reservada para aplicaciones por defecto del
sistema. A Apple le preocupaba los problemas de batería y rendimiento si se
permitiese correr varias aplicaciones de terceros al mismo tiempo. A partir de iOS
4, dispositivos de tercera generación y posteriores permiten el uso de 7 APIs para
multitarea, específicamente:
Audio en segundo plano
Voz IP
Localización en segundo plano
Notificaciones push
Notificaciones locales
Completado de tareas
Cambio rápido de aplicaciones
2.2.3 Componentes incorporados en los móviles actuales.
Los dispositivos móviles en la actualidad incorporan gran cantidad de
componentes (sensores) de hardware, cámaras, giroscopios, sensores de luz,
GPS, Glonass.
Para el objetivo del presente documento se consideran los componentes de
posicionamiento global (GPS y Glonass), tanto los equipos con iOS como los
dispositivos con Android cuentan con chips A-GPS incorporados, que a diferencia
del tradicional GPS obtienen la información de la ubicación de una manera más
rápida gracias a la asistencia de un servidor de asistencia en línea.
Modo online.- Acceden a los datos en tiempo real, por lo que es necesario una
conexión de datos activa proveniente de la red celular GSM, haciendo el
posicionamiento más rápido y preciso.
17
Modo offline.- Acceden a los datos previamente descargados de una red GPRS,
WiFi o similar, estos datos pueden ser usados por varios días hasta que la misma
se vuelve obsoleta y se necesite realizar una actualización de los mismos.
Glonass es el sistema de posicionamiento global ruso, puede ser usado
independientemente o en conjunción con el GPS o A-GPS tradicional permitiendo
una precisión de localización a 2 metros a la redonda
Figura 10 Orbitas de satélites en la tierra, Glonass y GPS (Ms. Lisa. (2015).)
Figura 11 Simulación de GPS(mediarts.com.ve. (2015))
Figura 9 A-GPS. Diagrama de funcionamiento. (Qualcomm Technologies. (2011))
18
Android Framework o Servicio de Localización
Consiste en una serie de clases como puede ser el Location Manager, que
proporcionan servicios para que una aplicación use el GL Engine. Es una especie
de puente entre la aplicación y el GL Engine.
Pertenecen al Framework de Android, y por lo tanto de java. Se trata de un grupo
de funciones contenidas en el paquete android.location del framework que
controlan diferentes aspectos del GPS con el fin de comunicarse entre Apps y GL
Engine.
Algunos ejemplos son:
addGpsStatusListener (GpsStatus.Listener listener): Cambia el
estado del GPS a escuchando.
getProviders (Criteria criteria, boolean enabledOnly): Retorna
una lista de torres cercanas que satisfacen X criterios pasados a
la función.
Aplicaciones de Usuario
La última capa son las aplicaciones que se tiene instaladas en el terminal, se trata
de cualquier aplicación que use el GPS. Google Maps, Navigation, etc.
2.2.4 Frameworks de desarrollo de aplicaciones móviles.
Existen dos tipos de frameworks para el desarrollo de aplicaciones web,
uno se basa en el soporte nativo y el otro en aplicaciones hibridas.
Como se analizó previamente las dos plataformas predominantes en el
mercado son Android y iOS.
2.2.5 Frameworks nativos
Características Android Studio ADT
Sistema de construcción Gradle ANT
19
Construcción y gestión de proyectos basado en
Maven (herramienta de software para la gestión
y construcción de proyectos Java, similar a
Apache ANT, pero su modelo es más simple ya
que está basado en XML) Si
No (es necesario instalar
un plugin auxiliar)
Construir variantes y generación de múltiples
APK (muy útil para Android Wear) Si No
Refactorización y completado avanzado de
código Android Si No
Diseño del editor gráfico Si Si
Firma APK y gestión de almacén de claves Si Si
Soporte para NDK (Native Development Kit:
herramientas para implementar código nativo
escrito en C y C++)
Próximas
versiones Si
Soporte para Google Cloud Platform Si No
Vista en tiempo real de renderizado de layouts Si No
Nuevos módulos en proyecto Si No
Editor de navegación Si No
Generador de assets Si No
Datos de ejemplo en diseño de layout (sin
renderizar en tiempo de ejecución) Si No
Visualización de recursos desde editor de
código
Si (a la
izquierda de
la línea de
asignación
del recurso) No
Tabla 6. Cuadro comparativo de Emuladores de Android (Academia Android. (2015))
20
Android Studio
Es toda una suite para desarrollar aplicaciones nativas en código java
interpretables por la máquina virtual Dalvik, cuenta con api’s para el manejo y
administración de los componentes internos del dispositivo móvil. Al ser de código
libre y estar basado en lenguaje Java la suite provee desarrollar una aplicación
móvil en casi cualquier sistema operativo de escritorio como Linux, Windows y/o
Mac Os con un coste relativamente bajo.
Figura 12 Android Studio (Android Developer, 2016). ( Fco. José Hidalgo.(2015).)
XCode
Es el entorno de desarrollo de los dispositivos Apple como el iPad, su lenguaje de
desarrollo principal es objetive-C aunque puede compilar código escrito en C,
C++, Java, Apple Script, XCode es distribuido gratuitamente con los sistemas
operativos Mac Os X el cual integra el framework Cocoa lo cual convierte a XCode
en una suite de uso limitado a sistemas operativos Mac Os X.
Figura 13 IDE XCode (Apple, Inc., 2016).
21
2.2.6 Frameworks híbridos
Uno de los objetivos de los frameworks híbridos es permitir el desarrollo de
aplicaciones multiplataforma, existe una gran variedad de frameworks para
aplicaciones híbridas, a continuación una de las más utilizadas.
JQuery Mobile
Es un framework basado en HTML5, el más querido de todos los frameworks
móviles, jQuery Mobile no trata de hacer que las aplicaciones se vean como
Android o iOS. Por el contrario, su propósito es ayudar a desarrollar aplicaciones
web que funcionan igual de bien en todos los navegadores móviles (incluyendo
antiguos como Windows Phone, BlackBerry y Symbian). Como tal, es muy ligero,
sólo depende de jQuery y es bastante fácil de aprender, sin dejar de ofrecer un
buen reconocimiento táctil y soporte PhoneGap / Cordova. (JQuery Mobile, 2016).
2.3 SISTEMAS DE INFORMACIÓN GEOGRÁFICA
2.3.1 Antecedentes
Los SIG han revolucionado el mundo de la cartografía, del análisis espacial, de la
planificación y de la gestión del territorio. Casi todas las cosas que suceden,
suceden en alguna parte (cavamos zanjas, construimos puentes, perforamos el
subsuelo para obtener petróleo…).
Un SIG es “Un sistema de hardware, software, datos, personas, organizaciones y
convenios institucionales para la recopilación, almacenamiento, análisis y
distribución de información de territorios de la Tierra”. (Deuker, Kjerne, 1989)
Un SIG es “Una poderosa caja de herramientas para recoger, almacenar,
recuperar, transformar y visualizar datos del mundo real” (Burrough, 1986)
A grandes rasgos, un SIG funciona como una gran base de datos con información
georreferenciada que es mostrada sobre un mapa digital. Podremos consultar la
información sobre el mapa o consultando la base de datos. Existen muchas más
definiciones para un SIG, pero estas son las más comunes.
2.3.2 Componentes
Para poder saber y conocer de las herramientas a utilizar es importante
22
conocer los componentes que rodean a un SIG, con lo cual nos va a llevar
a tener un panorama más claro de lo que estamos utilizando.
A continuación se representara la figura de los componentes del SIG:
a) Software Lo primero que necesitaremos será un almacén de datos
geográficos donde una vez introducida, consultar la información. Una vez
introducidos nuestros datos, con ayuda de un software de escritorio
jugaremos con la información y veremos en todo momento las capas
posibles o agregaremos aquellas que sean de nuestro interés. Cuando
tengamos definida la información que queremos difundir, podemos
desplegarla a otros ordenadores mediante servicios web; éstos se
conectarán con sus respectivos clientes consumidores de información
georreferenciada (p.ej en nuestro visor web).
b) Hardware Será conveniente la utilización de una amplia gama de
tipologías de hardware (Un PC común, un plotter, servidores de alta
capacidad, tabletas digitalizadoras, un Smartphone con conexión a
internet, etc.)
c) Datos Existe gran diversidad de datos. (Ficheros SHP KML, GML TIFF…).
En este TFC principalmente se utilizarán los ficheros en formato GPX.
d) Procedimientos Todo SIG debería operar de acuerdo a una organización
y unos métodos de funcionamiento acordados
e) Personas Aquellas que actualizarán los datos del sistema y se
preocuparán de la calidad del contenido del mismo y crearán nuevas
consultas para nuevas necesidades de información.
Figura 14 SIG ((DIDIANA GONZALEZ (2015))
23
2.3.3 Funcionalidades
Las funcionalidades más importantes son:
a) Entrada de información: La primera necesidad con la que nos
encontraremos será la de aportar información a nuestro sistema, editarla y
visualizarla correctamente. Esta primera funcionalidad parece banal, pero
conlleva gran trascendencia, pues sin la información carecería de sentido
nuestro SIG.
b) Funciones de Almacenamiento: Una vez capturada la información
geográfica tendremos que diseñar un sistema de almacenamiento y
protección de los datos.
c) Funciones de Gestión: Una vez capturada y almacenada la información
geográfica, el siguiente paso a realizar será el de extraer de la base de
datos del SIG las porciones de información espacial que interesan en cada
momento. Mostraremos aquella información de nuestro interés.
d) Funciones de análisis espacial: Estas funciones, (según Arnoff, 1989),
pueden separarse en 4 tipos: Recuperación, Superposición, Vecindad y
Conectividad. Entre ellas se incluyen las operaciones de consulta.
2.3.4 Datos Geográficos
Los datos son proposiciones referentes a experiencias efectuadas. Éstas se
almacenan para ser utilizadas como evidencias de un fenómeno u objeto una vez
interpretado; los datos que la ciencia utiliza son los que se refieren a hechos
comprobados.
Los datos geográficos son entidades espacio–temporales que cuantifican la
distribución, el estado y los vínculos de los distintos fenómenos u objetos naturales
y sociales. Un dato se caracteriza por tener:
Posición absoluta: sobre un sistema de coordenadas (x, y, z).
Posición relativa: frente a otros elementos del paisaje (topología, incluido,
adyacente, cruzado, entre otros).
Figura geométrica que lo representa (punto, línea, polígono).
24
Atributos que lo describen (características del elemento o fenómeno).
Desde la perspectiva tecnológica, los SIG deben ser capaces de manipular y
analizar entidades, atributos, geometría y topología de forma integrada.
Los datos geográficos son la clave para diferenciar un SIG de otro sistema de
información. Además, antes de discutir operaciones SIG, se debe comprender la
naturaleza de los datos geográficos; por ejemplo, si tomamos el elemento vías,
podemos referirnos a su ubicación con la pregunta ¿dónde está? Y a sus
características, como longitud, nombre, límite de velocidad y dirección.
La ubicación, también llamada geometría o forma (figura), representa datos
espaciales. Así, el elemento vías tiene dos componentes: el espacial y sus
atributos (Kang–Tsung Chang, 2004).
Toda esta información es usual verla en los SIG mostrada por capas sobre un
mapa. Una capa es una representación de la información concreta plasmada
sobre un mapa. Primeramente introduciremos el concepto de ´escala´. Según la
cantidad de información y precisión con la que queramos trabajar, utilizaremos
una escala u otra. Si trabajamos con fotografías aéreas, aparecerá el concepto
resolución. A mayor resolución, mayor es el tamaño de la imagen y menor la
velocidad a la que se consulta información en ella. Ya que hemos hablado de
escala y resolución, introducimos también el concepto de precisión. A mayor
precisión con la que trabajemos menor será el margen de error provocado al
georreferenciar información. Para representar en capas información utilizaremos
lo que denominamos formato vectorial. Ahora sin embargo pensemos en que
queremos saber en un monte muy grande, en que zonas del 1 al 10, pasan más
tiempo los animales. Para esta información utilizaremos el formato ráster.
El formato Ráster. Localización de información continúa. Este formato lo que hace
Figura 15 Modelo Ráster y Vector (Gauss-Krüger. (2002).
25
es dibujar una malla de valores sobre un área. En resumen, los datos Ráster se
componen de valores asignados a una posición de una matriz. Un valor concreto
en una fila y una columna.
2.4 Notepad++
2.4.1 Introducción
Es un editor de texto y de código fuente libre con soporte para varios lenguajes de
programación. De soporte nativo a Microsoft Windows. Incluye opciones más
avanzadas que pueden ser útiles para usuarios avanzados como desarrolladores
y programadores. (Miguel Angel Alvarez. (1997))
2.4.2 Características
Coloreado y envoltura de sintaxis: si se escribe en un lenguaje de
programación o marcado, Notepad++ es capaz de resaltar las expresiones
propias de la sintaxis de ese lenguaje para facilitar su lectura.
Pestañas: al igual que en muchos navegadores, se pueden abrir varios
documentos y organizarlos en pestañas.
Grabación y reproducción de macros.
Soporte de extensiones: incluye algunas por defecto.
2.5 Algoritmo para encontrar la ruta más corta entre dos puntos
El problema de la ruta más corta puede resolverse con métodos de programación
lineal, al ser un problema de optimización se realiza una combinatoria cuyo
objetivo es encontrar las rutas más cortas o de menor coste.
Algoritmo de Dijkstra:
Sea la distancia más corta del nodo fuente 1 hasta el nodo, y se define como (≥ 0)
como la longitud del arco (i, j). Entonces el algoritmo define la etiqueta de un nodo
inmediato posterior como:
La etiqueta del nodo de inicio es [0,-], que indica que el nodo no tiene predecesor.
Las etiquetas de nodos en el algoritmo de Dijkstra son de dos clases: temporales
y permanentes. Una etiqueta temporal se modifica si se puede encontrar una ruta
más corta a un nodo. Cuando se ve que no se pueden encontrar rutas mejores,
cambia el estado de la etiqueta temporal a permanente.
26
Paso 0.
Etiquetar el nodo fuente (nodo 1) con la etiqueta permanente [0,-]. Igualar i=1.
Paso i
a) Calcular las etiquetas temporales para cada nodo j al que
pueda llegarse desde el nodo i, siempre y cuando j no tenga etiqueta
permanente. Si el nodo ya está etiquetado con por otro nodo k, y si
, sustituir por .
b) Si todos los nodos tienen etiquetas permanentes, detenerse. En caso
contrario, seleccionar la etiqueta que tenga la distancia más corta
entre todas las etiquetas temporales (los empates se rompen de
forma arbitraria). Hacer que i=r y repetir el paso i.
La representación vial es un claro ejemplo de una red (grafo dirigido y ponderado)
que puede ser resuelta con el algoritmo de Dijkstra.
Al tener una red vial existen muchos aspectos que considerar como el costo que
puede ser definido en función de la distancia de la vía, tipo de vía, hora del día,
carga vehicular, direccionalidad de vías, etc., para el cálculo de la ruta óptima con
el algoritmo de Dijkstra en el presente documento se considera el uso de la
variable, la distancia como coste.
Oracle Spatial cuenta con un motor para consultas de ruteo que incorpora el
algoritmo de Dijkstra para el cálculo de rutas óptimas en una red, hace uso de la
representación de matriz de adyacencias para determinar las rutas óptimas
considerando que las mismas tienen direccionalidad (una vía, doble sentido).
(Algoritmos de ruta más corta (TAHA, 2004, pág. 225))
Figura 16 Ejemplo de la topología vial UCE
27
2.6 Factibilidad Económica
Se requieren:
Recurso Cantidad Costo Total
Computador Core
i7, 8gb de RAM y
1Tb de disco
1 $800 $800
Desarrollador
(periodo de 4
meses)
1 $1000 $4000
Telefono
inteligente HTC
one
1 $150 $150
Tablet con 2 $150 $300
navegador web que
soporte HTML5
Pago por albergar el
aplicativo en Play
Store
1 $25 $25
TOTAL $5275
Tabla 7. Cuadro comparativo de costos (Elaboración propia)
28
3 HERRAMIENTAS DE DESARROLLO
3.1 Lenjuages de Programación
Actualmente existen diferentes lenguajes de programación para el desarrollo de
aplicaciones móviles, estos han ido surgiendo debido a las tendencias y
necesidades de las plataformas. En las siguientes líneas se pretende mostrar las
ventajas y desventajas de los lenguajes seleccionados para el desarrollo del
proyecto.
3.1.2 Lenguaje HTML
Es un lenguaje de programación estático para el desarrollo de
aplicaciones web. Desarrollado por el W3C. Los archivos pueden tener
las extensiones (htm, html). La sintaxis es la siguiente:
Ventajas
• Fácil y sencillo para representar hipertexto.
• Presenta el código en forma vistosa, organizada y estructurada.
• Se dispone de editores de páginas web o WYSIWYG, por lo tanto no es
necesario tener mucho conocimiento de programación.
• Los ficheros que se generan son pequeños.
• Facilita un rápido despliegue.
• Tiene mucha documentación por lo tanto es fácil de aprender.
• Todos los navegadores web admiten este lenguaje.
Desventajas
• El lenguaje generado es estático.
• Los browsers o navegadores pueden interpretar el código de forma
diferente.
• Guarda etiquetas que se convierten en “basura” y obstaculizan la
Figura 17 Esquema HTML(Enrique González. (2015).)
29
corrección.
• El diseño de sitios web son más lentos.
(MANCILLA MEZA. (2011).)
3.1.3 Lenguaje JavaScript
Es un lenguaje de programación interpretado. Fue creado por Brendan
Eich en la empresa Netscape Communications Este lenguaje es
semejante a Java, con la diferencia de que no está orientado a objetos.
(Enrique González. (2015))
Este código es introducido dentro de las páginas web, para ejecutar funciones
programadas. Debido a las incompatibilidades la W3C diseño el estándar DOM.
Su sintaxis es la siguiente:
Ventajas:
• Lenguaje fiable.
• Poseen capacidades limitados por motivo de seguridad.
• Se ejecuta al lado del cliente.
Desventajas:
• Código visible para todo usuario.
• Código se descarga totalmente.
• El problema XSS, puede colocar en peligro la seguridad del sitio.
3.1.4 XML
XML (eXtensible Markup Language), Lenguaje extensible de
marcas, es un lenguaje formado por un conjunto de reglas que
sirven para definir etiquetas semánticas para organizar un documento. XML es un
metalenguaje, lo que permite diseñar un propio lenguaje de etiquetas. (Frankmch.
(2015).)
Figura 18 Esquema de JavaScript(Elaboración propia)
30
Ventajas:
• De fácil interpretación por humanos y por software, y es gratuito.
• Separa radicalmente el contenido de su presentación o formato.
• Puede ser utilizado con cualquier lenguaje o alfabeto. Estructura jerárquica
• El análisis sintáctico es fácil por las reglas de composición del documento.
• Poderosos enlaces (XLL).
Desventajas:
• Con el tiempo la mayoría de las ventajas que disponibles se pueden volver
sus desventajas.
• Requiere más espacio en disco, ya que un archivo de texto es de mayor
tamaño que un binario.
3.1.5 CSS
CSS (Cascading StyleSheets), Hojas de estilo en cascada, es una herramienta
impresionante para agregar estilos de presentación a los sitios web. Ahorra tiempo
y permite diseñar sitios web de un modo totalmente nuevo. Es imprescindible para
los que trabajan en el diseño web.
La siguiente tabla muestra el soporte de CSS 1, CSS 2.1 y CSS 3 de los cinco
navegadores más utilizados por los usuarios:
NAVEGADOR MOTOR CSS 1 CSS 2 CSS 3
Google Chrome
Webkit Completo desde
la versión 85 del
motor
Completo Todos los selectores,
pseudo-clases y muchas
propiedades
Internet Explorer
Trident Completo desde
la versión 7.0
Completo Todos los sectores,
pseudo-clases y
propiedades a partir de la
versión 10
Figura 19 Esquema XML(Elaboración propia)
31
Firefox Gecko Versión 1.0 Completo Todos los sectores,
pseudo-clases
Safari Webkit Versión 85 del
motor
Completo Todos los sectores,
pseudo-clases
Opera Presto Versión 1.0 del
navegador
Completo Todos los sectores,
pseudo-clases
Tabla 8 Soporte de CSS en los navegadores (Elaboración propia)
Ventajas:
• Aplicación de varios estilos a diferentes tipos de medios (impresión,
pantalla, y otros). Posee técnicas sofisticadas y avanzadas.
• Con una sola hoja de estilo es posible alterar la presentación de cada
elemento sin manipular el código HTML, ahorrando esfuerzo y tiempo de
edición.
• El lenguaje de CSS ofrece una gran cantidad de herramientas de
composición.
• Evita recurrir a trucos para obtener efectos. Potente, sencillo y fácil de
aprender.
• Los documentos que usan CSS resultan más compactos.
Desventajas
• El navegador aplica un formato y el trabajo resulta casi inútil.
• Varias propiedades de CSS ocasionan que partes de la página resulten
inaccesibles para algunos navegadores si no son empleados
correctamente.
3.2 QUANTUM GIS
3.2.1 Introducción
Quantum GIS (QGIS) es un sistema de información
geográfica de código abierto. Este software surgió en
mayo de 2002 y se instauró en junio del mismo año como un proyecto en
SourceForge. Se ejecuta bajo plataformas GNU/Linux, Unix, Mac OS y Windows.
Distribuido bajo la licencia GNU GPL, por lo que puede ser modificado libremente
para que realice diferentes y más especializadas funciones.
32
3.2.2 Características
QGIS proporciona varias funcionalidades SIG dotadas por los plugins que lo
forman. Mostrar datos: Obtener y superponer datos vectoriales y ráster en
diferentes formatos y proyecciones, sin hacer una conversión a un formato interno
o común. Datos soportados:
PostgreSQL para el uso de tablas PostGIS, formatos vectoriales con el
soporte de la librería de instalación OGR, incluyendo archivos de formato
ESRI,
MapInfo, SDTS y GML.
Ráster y soporte de formatos de imágenes por la librería GDAL, tales como
GeoTiff, Erdas Img., ArcInfo Ascii Grid, JPEG, PNG.
Base de datos SpatiaLite.
GRASS ráster y los datos vectoriales de bases de datos de GRASS
Datos en línea como OGC-compliant en WMS o WFS.
Datos OpenStreetMap.
Explora los datos y componer mapas: Puede diseñar mapas y explorar
interactivamente los datos espaciales en la interfaz de usuario. Entre las
herramientas útiles de la GUI se encuentran:
Proyección de vuelo.
Diseño de mapas.
Panel de descripción.
Marcadores espaciales.
Identificación, selección de características.
Editar y ver atributos de búsqueda.
Características de etiquetado.
Cambio de simbología vectorial y ráster.
Añadir una capa de cuadrícula.
Decorar el mapa con una flecha norte, escala y etiqueta copyright.
Guardar y restaurar proyectos.
Crear, editar, manejar y exportar datos: Puede crear, editar, manejar y exportar
mapas vectoriales en varios formatos. QGIS ofrece lo siguiente:
Herramientas de digitalización, soporte a formatos OGR y capas
vectoriales.
Crear y editar shapefiles y capas vectoriales GRASS.
Herramientas GPS para importar y exportar en formato GPX, y convertir
33
otros formatos GPS a GPX, bajar y subir directamente a una unidad GPS.
Visualizar y editar los datos OpenStreetMap.
Crear capas PostGIS desde shapefiles con el plugin SPIT.
Manejo mejorado de tablas PostGIS.
Manejo de atributos de tablas vectoriales.
Guardar capturas de pantalla como imágenes geo referenciadas.
Analizar los datos: Puede realizar análisis de datos espaciales de PostGIS y
otros formatos admitidos por OGR usando el plugin de Python fTools. Ofrece
análisis vectorial, muestreo, geo procesamiento, geometría y herramientas de
gestión de bases de datos. También puede utilizar las herramientas de GRASS
integradas, que incluyen la funcionalidad completa de GRASS con más de 400
módulos.
Publicar mapas en internet: Puede ser utilizado para exportar datos a un archivo
de mapa y publicarlos en el internet usando el servidor web UMN MapServer.
También se pueden utilizar como un cliente WMS, WMS-C o CMA y CMA-T, y
como WMS o WFS.
Otros plugins interesantes:
QSpatiaLite. Este plugin sirve para administrar bases de datos SpatiaLite
directamente dentro de QGIS. Utiliza el compositor de consultas con
resaltador de sintaxis y autocompletado. Importa/exportar capas de/a
QGIS. Importación / exportación DBF / TXT / CSV.
OpenGeo Explorer. El plugin para QGIS OpenGeo Explorer se utiliza para
configurar los componentes de la suite OpenGeo (PostGIS y GeoServer) desde
QGIS.
Con OpenGeo Explorer tenemos lo mejor de ambos mundos: una interfaz de
escritorio junto con la publicación en web.
OpenLayer Plugin: Si necesitas capas base una gran manera de
hacerlo es a través de la API de OpenLayers para QGIS.
OpenStreetMap, Google Maps, Bing Maps, Yahoo Maps y Apple
34
Maps. Por supuesto que si tiene un buen WMS de tu área de interés puedes optar
por él, y si no, el plugin OpenLayers es un gran aliado en tus complementos de
QGIS.
3.2.4 GUI de Quantum GIS
3.3 NODE.js
3.3.1 Introducción
Figura 20 Opciones del OpenGeo (Elaboración propia)
Barra de menú
Crear capas
Barra de Herramientas
Zoom +, Zoom -
Panel Capas
Panel explorador
Visualizador de Mapas
Herramientas de Exportar/Importar
Figura 21 GUI Quantum GIS (Elaboración propia)
35
Es básicamente un framework para implementar operaciones de entrada y salida.
Está basado en eventos, streams y construido encima del motor de Javascript V8,
que es con el que funciona el Javascript de Google Chrome.
Además, NodeJS implementa los protocolos de comunicaciones en redes más
habituales, de los usados en Internet, como puede ser el HTTP, DNS, TLS, SSL,
etc. Mención especial al protocolo SPDY, fácilmente implementado en Node, que
ha sido desarrollado mayoritariamente por Google y que pretende modernizar el
protocolo HTTP, creando un sistema de comunicaciones que es sensiblemente
más rápido que el antiguo HTTP (apuntan un rendimiento 64% superior).
3.3.2 V8
Node.js está basado en el motor V8 de JavaScript de Google. Este motor está
diseñado para correr en un navegador y ejecutar el código de Javascript de una
forma extremadamente rápida.
Figura 23 V8 de Google CECILIO ÁLVAREZ. (2014)
Figura 22: CUADRO COMPRARTIVO FRAMEWORKS UTILIZADOS Carlos Azaustre.. (2015)
36
La tecnología que está detrás de Node.js permite ejecutar este motor en el lado
del servidor abriendo un nuevo abanico de posibilidades en cuanto al mundo de
desarrollo se refiere.
3.4 APACHE CORDOVA
3.4.1 Introducción
Es un framework de licencia libre que cuenta con muchas Apis de diversos
dispositivos móviles para desarrollar aplicaciones nativas dentro de
un smartphone, para el desarrollo de las aplicaciones se utilizan las tecnologías
web HTML, CSS y JavaScript.
Una de las grandes peculiaridades de este entorno de trabajo es la posibilidad de
desarrollar para iOS, Android y demás sistemas operativos sin la necesidad de
programar en sus lenguajes nativos (Java, Objetive-C,)
Ventajas: Sólo tienes que escribir el código "una vez" para todas las plataformas.
Pongo "una vez" entre comillas porque no es del todo cierto. En algunas
plataformas tendrás que modificar algunas cosillas, dependiendo de la
aplicación que desarrolles, pero bueno lo que se toca suele ser mínimo.
Si conoces javascript, html y css te será mucho más fácil implementar una
aplicación que con lenguaje nativo de cada plataforma.
Libre y gratuito.
Desventajas No se puede acceder a todas las características ni funcionalidades como
lo hace el SDK de cada plataforma. Esto conlleva que para cada plataforma
se deban de implementar funciones específicas.
Las aplicaciones pueden resultar pesadas, que tardan mucho en
Figura 24 V8 Navegador y Servidor CECILIO ÁLVAREZ. (2014)
37
ejecutarse, pero esto depende de la complejidad de la aplicación.
Al utilizar javascript puede haber incompatibilidad con los navegadores.
Necesitas configurar cada entorno y la configuración de cordova/phonegap
puede ser distinta para cada uno de ellos ( en ios necesitas un MAC y
xcode).
Inconsistencia con el diseño visual para cada plataforma. Se necesitan
frameworks para que parezca una aplicación nativa (jQuery mobile, nova
framework, JQTouch,...).
38
4 METODOLOGÍA
4.1 Introducción
Una metodología de desarrollo de software se refiere a un framework que es
usado para estructurar, planear y controlar el proceso de desarrollo en sistemas
de información.
A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados
diferenciándose por su fortaleza y debilidad.
El framework para metodología de desarrollo de software consiste en:
Una filosofía de desarrollo de programas decomputación con el enfoque del proceso de desarrollo de
software
Herramientas, modelos y métodos para asistir al proceso de
desarrollo de software
Estos frameworks son a menudo vinculados a algún tipo de organización, que
además desarrolla, apoya el uso y promueve la metodología. (Fundación
Wikimedia, Inc. (2016))
4.2 Selección de la Metodología y Herramientas de Desarrollo
Para las metodologías de aplicaciones móviles, en esta ocasión se ha tomado
tres de las más importantes cada una con sus respectivas características
principales para poder tomar la decisión de trabajo.
Con respecto a los pesos se ha tomado como referencia su funcionalidad
dependiendo del enfoque, con ello se ha puesto su respectiva equivalencia para
la toma de decisión.
Prince 2 Scrum Extreme Programing (XP)
Descripción Peso
Descripción Peso
Descripción Peso
Enfoque de desarrollo
Se centra en las mejores prácticas para la gestión de todo tipo de
9
Se centra en la gestión de proyectos, en situaciones en las que es difícil
7
Se centra en la mentalidad de los desarrolladores guiándolos a través del desarrollo y enfocándose en la calidad del producto
9
39
Características
Un comienzo organizado y controlado Un desarrollo organizado y controlado, Un final organizado y controlado Revisiones periódicas de los progresos. Flexibilidad en las decisiones. Buena comunicación
8
El software es desarrollado por un equipo de auto- organización en incrementos. Los cambios que deben aplicarse se registran en un backlog. El “Scrum Master” es el encargado de resolver los problemas que impiden que el equipo
trabaje eficazmente
8
Planificación, pequeñas emisiones, diseño sencillo, pruebas, y refactorización, programación en parejas, propiedad colectiva, integración continua, semana 40-h
8
Interacción con el usuario
El cliente forma el equipo de desarrollo hasta la entrega del software
7 El usuario interactúa todo el tiempo con el desarrollo del software
8 El cliente permanece fuera del proyecto hasta finalizar cada etapa de desarrollo
7
Proceso de desarrollo
Releases cortos Diseño Simple Pruebas y Refactorización Programación en parejas Propiedad continua
8
Equips de Scrum Product backlog Sprint Revision del Sprint
8
Elegir un requisitoEscribir una prueba Verificar que la prueba fallaEscribir la i mplementación
Ejecutar las pruebas automatizadas.
8
Usabilidad en aplicaciones móviles
Se ajusta aplicaciones al desarrollo todo tipo de proyectos informáticos
8
Se centra en proyectosnmás grandes, no específicamente en aplicaciones móviles
6 Se ajusta perfectamente al diseño de aplicaciones móviles
9
Proceso de gestión del
Reunión de planificación 6
Scrum Master Reunión de Planificación de Sprint Reunión scrum diaria
7 Reuniones de planificación
7
Proceso de configuración del software
No especificado 1 No especificado 1
Se actualiza la lista de requisitos tachando el requisito implementado. Asimismo se agregan requisitos que se hayan visto como necesarios durante este ciclo y se agregan requisitos de diseño
8
Proceso de gestión
No especificado 1 No especificado 1 No especificado
1
Manejo de errores
Los planes del proyecto se centran en obtener resultados concretos, y no sólo en la planificación de las actividades
8
Scrum, es una metodología, muy bien recomendada, por su efectividad en la detección de errores
8
XP es una de las metodologías con mayor acogida en el campo profesional, ya que está orientada precisamente a crear el software a partir de los errores
9
Aceptación
Satisfacción del programador. Solución de errores de programas
9
Ha sido utilizada por grandes empresas como Google y Yahoo con resultados muy satisfactorios
9
Continua expandiéndose debido a sus buenos resultados 9
40
Flexibilidad
Algunas prácticas son imposibles de eliminar ya que son necesarias para mantener las otras en su lugar
5
Algunos proyectos por ser muy grandes, se vuelven muy difíciles de manejar 8
Es una metodología propia, que tiene un campo de acción especifico en el desarrollo de apps móviles, por lo tanto posee mayor flexibilidad
7
Tamaño de los proyectos Pequeños y Medianos 8 Pequeños, Medianos
y grandes 8 Pequeños y medianos 8
Tamaño de equipo Menor que 10 9 Múltiples equipos
menores que 10 8 Menor que 10 9
Estilo de desarrollo Iterativo y rápido 8 Iterativo y rápido 8 Iterativo 8
Estilo de código Limpio y sencillo 7 No especificado 1 Limpio y sencillo 7
Entorno tecnológico
Requiere rápida retroalimentación 7 No especificado 1 Requiere retroalimentación 7
Entorno físico Equipos en un mismo lugar y equipos distribuidos
7 No especificado 1 No especificado 1
Cultura de negocio
Colaborativo y cooperativo 7 No especificado 1 Colaborativo 7
Mecanismos de abstracción Orientado a objetos 7 Orientado a objetos 7 Orientado a objetos 7
Curva de aprendizaje Mediana 8 Compleja 6 Mediana 8
Peso Sumatoria 13
8 Sumatoria 11 2 Sumatoria 14
4
Porcentual 69 %
Porcentual 56 %
Porcentual 72 %
Tabla 9. Cuadro Comparativo de Metodologías (Sergio Granizo. (2015))
Como se puede ver la sumatoria de pesos nos da a conocer la metodología que
más se adapta el proyecto integrador.
La Metodología seleccionada es XP, ya que es la que mejor se adapta a nuestro
proyecto, tomando en cuenta que la aplicación a desarrollar, debe superar muchos
test y además tomando en cuenta el tiempo de desarrollo con el que contamos, es
ideal tener una curva de aprendizaje no muy compleja, esta metodología, tiene un
mejor enfoque hacia tendencia móvil.
La metodología XP o Programación Extrema es la más destacada en cuanto al
manejo de procesos ágiles, pues, brinda un mayor control y visibilidad del proyecto
a corto, mediano y largo plazo.
Tomando en cuenta que en el proyecto APLICACIÓN MÓVIL PARA LA
UBICACIÓN GEOGRÁFICA DENTRO DE LA UNIVERSIDAD CENTRAL
(GEOUBÍCATE UCE), es altamente cambiante pues integra varios paradigmas de
programación, las modificaciones en el desarrollo son prácticamente inevitables,
por lo tanto es de vital importancia aplicar XP para agilizar su desarrollo y minimizar
41
su complejidad.
XP también incorpora al usuario como parte activa durante todo el ciclo de
desarrollo del software, razón por la cual, se estará interactuando de manera
continua con los clientes, obviamente cada avance debe contar con la aprobación
del cliente y si se genera algún tipo de error o alguna duda se tomarán accione
como:
• Revisión del código
• Corrección de errores
• Refactorización del Código
A continuación se mencionará los Valores más importantes de la metodología XP
y su relación con el proyecto que se está realizando
4.3 Valores de la Metodología XP
Los valores nos ayudan a tener una mejor visualización de la metodología que
se está aplicando a la app, por ende tenemos las características importantes:
Valor Descripción Valor en la aplicación web
Simplicidad
Se simplifica el diseño para
agilizar el desarrollo y
facilitar el mantenimiento.
La app se ha creado en base a
JQuery, JavaScript,
precisamente pensando en su
fácil mantenimiento y en la
agilidad del desarrollo
Comunicación
Debe comentarse sólo
aquello que no va a variar,
por ejemplo el objetivo de
una clase o la funcionalidad
de un método.
Se ha comentado la definición
de cada método, tanto en
clases java como en funciones
JavaScript de acuerdo a su
importancia y prioridad
Retroalimentación
Al realizarse ciclos muy
cortos tras los cuales se
muestran resultados, se
minimiza el tener que
rehacer partes que no
cumplen con los requisitos
Constantemente se han venido
realizando pruebas unitarias y
de integración para mejorar el
rendimiento de la aplicación
42
Coraje
Siempre diseñar y
programar para hoy y no
para mañana
Se ha tratado de optimizar el
tiempo de la mejor forma
posible para programar la
aplicación en el menor tiempo,
pero con la mayor calidad
posible, es decir, programar
con eficiencia, eficacia y
efectividad
Respeto
Los miembros del equipo
respetan el trabajo del resto
no haciendo
menos a otros
Una de las mayores cualidades
que se resaltan en el desarrollo
de este proyecto integrador es
precisamente el respeto por el
trabajo al momento de
programar
Tabla 10. Valores de la Metodología XP (Elaboración propia)
43
5 DESARROLLO DEL PROYECTO
5.1 Fases de la Metodología
5.1.1 Fase 1: Estudio de Factibilidad
Esta fase tendrá como objetivo relevar y analizar en líneas generales los
requerimientos y características globales de la aplicación a desarrollar, a fin de
establecer el alcance del sistema y el esfuerzo necesario para su desarrollo, de
forma que se pueda conformar una propuesta lo más precisa posible.
En los casos en que sea factible, es conveniente mencionar la descripción de la
aplicación y los requerimientos necesarios para su desarrollo.
Descripción de la aplicación: La aplicación móvil, será gestionada a través de
Play Store para que sea utilizada en la plataforma Android por los usuarios,
adicional utilizando el apache Córdova se podrá desplegar en el navegador web
(Google Chrome, etc.)
Una vez descargado el aplicativo en un celular Android, ingresar y observar el
entorno Geográfico de la Universidad a su vez cada una de las Facultades,
Centros Académicos, Colegios en sus alrededores y demás. Al presionar en cada
uno de estos se puede observar la información necesaria, y precisa que el usuario
desearía conocer.
En la parte izquierda tenemos el menú en el cual se puede cambiar las capas al
estilo y preferencia que se desee según la figura 25, el buscar una Facultad, centro
recreativo, Centro Académico, entre otras Unidades Académicas y
Administrativas., ir de un punto a otro por la mejor ruta, la ubicación de la persona
y dirigirse al lugar buscado sin perderse ni tomar caminos que pueden ser
peligrosos.
44
Requerimientos Técnicos para desarrollar la aplicación
Para los requerimientos técnicos es muy importante especificar las herramientas
que se va a emplear para el desarrollo de la app, la cual nos va a poder facilitar
tanto la inducción como su utilidad.
HERRAMIENTA DESCRIPCIÓN
JDK Es un kit de herramientas de desarrollo para la creación de programas en Java
Notepad ++ Es un editor de texto y de código fuente libre con soporte para varios lenguajes de programación. De soporte nativo a Microsoft Windows.
Android Studio Es un entorno de desarrollo integrado para la plataforma Android.
QGis Es un Sistema de Información Geográfica (SIG) de código libre JavaScript Es un lenguaje de programación interpretado, dialecto del
estándar ECMAScript Apache Cordova Es un popular entorno de desarrollo de aplicaciones
móviles JQuery Bibliotecas de JavaScript
API Google Maps Elementos de Google Maps para visualizar puntos de referencia
Tabla 11. Herramientas para desarrollo (Elaboración propia)
MENÚ
Figura 25 Presentación del Menú en el aplicativo (Elaboración propia)
45
Casos de Uso
A continuación detallaremos los actores principales y los casos de uso que
tenemos en la aplicación:
Actores:
Usuario Administrador: Es la persona que gestiona la aplicación, si se necesita,
mantenimiento, refactorización del código, configuración de los módulos,
actualización o algún tipo de cambio adicional; este actor puede realizar tareas
especificas
Usuario: Es el cliente o usuario final, es decir la persona que únicamente usara la
aplicación como producto final una vez terminado el proyecto, desde la capa del
cliente
Descripción de los Casos de Uso
5.1.2 Ingresar al Aplicativo:
Figura 26 Casos de Uso (Elaboración propia)
46
Descargar el aplicativo desde la tienda de Android (GEOUCE), verificar la
instalación, y activar la app para que nos despliegue el mapa de la Universidad
Central
5.1.3 Información a presentar:
El usuario podrá ver información básica e importante de cada una de las
Facultades, Centros Académicos, Espacios recreativos, Colegios aledaños, entre
otras Unidades Académicas y Administrativas.
Figura 27 Caso de Uso Ingresar al Aplicativo (Elaboración propia)
Figura 28 Caso de Uso Información relevante (Elaboración propia)
47
5.1.4 Mostrar Facultad, Ed. Académica, entre otras Unidades Académicas y Administrativas.
Permite la visualización de cada uno de los edificios, espacios recreacionales,
centros académicos, en tiempo real.
5.1.5 Trazar la ruta:
Lo más importante para el usuario es poder conocer la ruta por la cual dirigirse sin
tener desvíos o dificultades. Para esto se debe colocar el lugar de origen y lugar
de destino presionar el botón aceptar y en entorno geográfico nos aparece la ruta
optima a llegar...
Figura 29 Caso de Uso Mostrar Facultades, ed. Académica, entre otras Unidades Académicas y Administrativas (Elaboración propia)
Figura 30 Caso de Uso Trazar la ruta (Elaboración propia)
48
5.1.6 Ubicarse:
Permite a los usuarios ubicarse geográficamente en el punto donde se
encuentran a través del GPS.
5.1.7 Testear Métodos
Consiste en probar regularmente los métodos para medir su eficiencia, velocidad,
rendimiento, utilidad; los métodos siempre son susceptibles de mejora o desuso
dependiendo la evolución de la aplicación, estos pueden ser refactorizados,
actualizados, eliminados o a su vez se pueden crear nuevos métodos para
reemplazar a métodos obsoletos
Figura 31 Caso de Uso Ubicarse (Elaboración propia)
Figura 32 Caso de Uso Testear Métodos (Elaboración propia)
49
Procesos
Son aquellos procesos que se realizaran en la aplicación una vez instalada
y funcional en el celular
PASO ACTIVIDAD
1 Ingresar al portal de la aplicación
2 Mostrar lista de Facultades, Centros Académicos en el mapa
3 Seleccionar Facultades, Centros Académicos en el mapa
4 Trazar ruta para llegar a la Facultades, Centros Académicos en el mapa seleccionado
5 Mostrar información relevante de la Facultades, Centros Académicos en el mapa
6 La ubicabilidad de los usuarios/estudiantes
Tabla 12. Lista de Procedimientos para manejo y uso de la aplicación móvil (Elaboración propia)
5.2 Fase 2: Análisis y Diseño Global
Se analizará a bajo nivel cada requerimiento documentado en la etapa anterior y
se realizará un diseño global de los principales circuitos del sistema. El resultado
de esta etapa será el “Análisis de Requerimientos”, con el cual se confeccionará
la “Propuesta Definitiva”.
La arquitectura física de la aplicación móvil consiste en una aplicación que se
encuentra alojada en un dispositivo móvil con sistema operativo Android.
Figura 33 Arquitectura de la app (Elaboración propia)
50
5.3 Fase 3: Desarrollo
Se compone de varias etapas bien diferenciadas y repetitivas por cada submódulo
del sistema (llamadas iteraciones):
a) Diseño Detallado: Se elaborarán las Especificaciones de Diseño de cada
programa del sistema, se realizará un análisis de las herramientas, para
elegir las más adecuadas y acordes para nuestro sistema, también se
realizará un análisis de los lenguajes de programación, para elegir el
programa más robusto y que cumpla con los requerimientos del proyecto
b) Desarrollo: Se codificará cada uno de los programas especificados en la
etapa anterior usando la plataforma Java
c) Control de Calidad: se realizarán las pruebas unitarias y de integración
necesarias para que la calidad de los programas desarrollados sea la más
óptima posible. Esta etapa incluye el ajuste de los módulos con calidad
inaceptable.
d) Implementación: se llevara a cabo gracias al apache Cordova el cual
generara archivo apk que será alojado en el dispositivo como una
aplicación nativa y la verificación de la misma, siempre y cuando el
dispositivo tenga Internet.
5.4 Fase 4: Puesta en Producción
Esta etapa tiene lugar cuando ya se terminó de desarrollar todos los módulos del
sistema. Su función es realizar los ajustes requeridos para que el mismo pueda
llevarse a producción, realizar la carga inicial y migración definitiva de los datos,
parametrizar el sistema, e implementarlo adecuadamente, de ser necesario,
comprar un dominio o un espacio en la tienda de aplicaciones para la descarga.
51
La aplicación puesta en producción se encuentra en la tienda Play Store de
Android, la cual será gratis su descarga.
Figura 34 Aplicación puesta en producción (Elaboración propia)
52
6 CONCLUSIONES
La aplicación móvil desarrollada en este proyecto integrador está basada
en las necesidades que día a día se reflejan en los visitantes/ estudiantes
de la Universidad Central.
Con la geo ubicación se ha reducido favorablemente el tiempo de
ubicación de cierta Facultad, Centro Académico, entre otras Unidades
Académicas y Administrativas, optimizando recursos.
El desarrollo de la app permite que los usuarios tengan información clara,
precisa y en tiempo real en todo momento.
A través de las herramientas de desarrollo la implementación de tener
una app que nos permita visualizar el entorno geográfico Universitario es
una realidad.
Basado en un análisis de mercado según el Anexo B, en la
comercialización de telefonía móvil, teniendo en cuenta los planes en
megas, redes inalámbricas que hoy por hoy la Universidad está
implementando su nueva infraestructura para robustecer la conectividad
y debido a la mayoría de estudiantes que poseen telefonía con acceso a
la Wifi, es de gran oportunidad el desarrollo de la app para que todos la
puedan descargar y utilizar en cualquier rincón de la Universidad Central
del Ecuador.
A través del Middleware, se logró desarrollar una aplicación de tipo
hibrido que relacionó lo mejor de cada componente (Google Maps, Java,
JavaScript, etc.) para producir un producto útil y fácil de utilizar, tomando
en cuenta un principio básico de las aplicaciones modernas, ya que tienen
que ser orientadas a servicios.
El desarrollo de la tecnología hace fundamental el uso del internet como
herramienta esencial para la solución de problemas cotidianos que
necesariamente implica la construcción de aplicaciones más allá del
53
ámbito local, impulsando aún más los sistemas en tiempo real y todo lo
referente al paradigma de la app.
Este tipo de aplicaciones permiten cohesionar de mejor manera la
educación con la tecnología y despertar el interés de todos los agentes
implicados(Empresa Privada, Población, Ministerios y Universidades)
para mejorar el proceso de acceso a la información, selección y
capacitación a la comunidad
Además del campo académico, la Geolocalización puede desempeñar un
rol fundamental en otras áreas como: Control de Tránsito Vehicular,
Localización de puntos estratégicos en caso de emergencia, Definición
de Zonas de Vulnerabilidad ya sea por la pobreza o por el nivel de
delincuencia, Posicionamiento para determinadas actividades
comerciales de las empresas, entre otras cosas.
El manejo de la aplicación ha conllevado a generar versiones y
actualizaciones para la vista del usuario, la facilidad de ver la información
actualizada, mejoras que ayudan al crecimiento y poder de aceptación en
el mercado.
54
7 RECOMENDACIONES
• La aplicación actualmente posee un gran número de elementos
integrados, se recomienda analizar más profundamente todas las
herramientas actuales que existen de desarrollo, así como las nuevas
tendencias y los paradigmas de programación para que la aplicación sea
un poco más ligera, entendible, portable y se vaya innovando para que
pueda perdurar en el tiempo.
• Se recomienda subir la aplicación a la tienda del Apple Store ya que es
la forma de poder tener la aplicación en un dispositivo con sistema
operativo iOS.
• Se recomienda continuar con el desarrollo de la aplicación tomando en
cuenta la funcionalidad de la aplicación para que el sistema pueda
mejorar y convertirse en un sistema experto que incluso pueda tomar
decisiones como: ¿Qué tipo de Facultad, Centro Académico, entre otras
Unidades Académicas y Administrativas., necesita el estudiante?, ¿Qué
tipo de Jornada de atención es la más apta para realizar trámites o visitas
pedagógicas?, etc. utilizando técnicas de Minería de Datos y Business
Intelligence.
• Se recomienda incorporar elementos multimedia en la aplicación como:
vista en tres dimensiones, realidad aumentada o videos de las
Facultades, Centros Académicos, entre otras Unidades Académicas y
Administrativas, que el usuario visite para que tenga una idea más clara
del destino.
• Con el paso del tiempo indudablemente la base de datos del sistema va
a seguir creciendo, razón por la cual se recomienda crear un sistema de
replicación o de backups, para tener un respaldo, en caso que la
aplicación colapse o sufra algún daño que afecte los datos o su estructura
como tal.
• Actualmente no se toman casos especiales al trazar la ruta como:
Huelgas, desfiles o algún tipo de eventos, se recomienda unificar la base
de datos con la información que provea la policía Nacional al respecto de
estos contratiempos para mejorar la eficiencia de la aplicación
• Se recomienda la administración de la app a un único administrador, con
el fin de que la información actualizada sea verídica y confiable, adicional
55
se resguarde la seguridad de los usuarios de no recibir información
infectada que pueda dañar sus dispositivos móviles.
• Una funcionalidad muy importante es la de captura de imágenes y
compartirla a través de diferentes medios como Ej: WhatsApp, Facebook,
email, entre otros, se recomienda la implementación de este método.
• Para IOS se recomienda subirla a la tienda de Apple Store pagando la
inscripción y las mensualidades por el espacio que va a ocupar la
aplicación, ya que no se puede pasar la apk sin una licencia de
desarrollador como facilita Android.
56
BIBLIOGRAFÍA
1. FUNDACIÓN WIKIMEDIA. (2016). aplicaciones moviles.
18/08/2016, de Licencia Creative Commons Atribución Compartir
Igual 3.0 Sitio web:
https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_m%C3%B3vil
2. CUELLO,Javier; VITTONE, José. (2013). tipos de aplicaciones.
2015, de appdesignbook Sitio
web: http://appdesignbook.com/es/contenidos/las-
aplicaciones/
3. PEDROZO Gabriel. (2012). Sistemas Operativos en Dispositivos
Móvile. En Licenciatura en Sistemas de Información (3-6). Uruguay:
Universidad Noroeste
4. EXPANSIÓN. (2015). Economía Digital. 2016, de Unidad Editorial
Información General, S.L.U. Sitio web:
http://www.expansion.com/economia-
digital/companias/2015/12/09/56684be1ca474151018b4590.html
5. EXPANSIÓN. (2015). Las cinco marcas de smartphone más
vendidas en el mundo. 2016, de Unidad Editorial Información
General, S.L.U. Sitio web: http://www.expansion.com/economia-
digital/companias/2015/11/18/564c5be6268e3eb9688b45a5.html
6. SOPHOS. (1997). Cuando el malware llega a los dispositivos
móviles. 2016, de Sophos Ltd. Todos los derechos reservados Sitio
web: https://www.sophos.com/es-es/security-news-trends/security-
trends/malware-goes-mobile/why-ios-is-safer-than-android.aspx
7. COMISIÓN DE COMERCIO. (2011). Aplicaciones móviles: Qué son
y cómo funcionan. 2016, de LA COMISIÓN FEDERAL DE
COMERCIO Sitio web:
https://www.consumidor.ftc.gov/articulos/s0018-aplicaciones-
moviles-que-son-y-como-funcionan
8. ALVAREZ Miguel Angel. (1997). Notepad ++. 2016, de
57
DesarrolloWeb.com y la plataforma de formación online EscuelaIT
Sitio web: http://www.desarrolloweb.com/articulos/notepad.html
9. JQUERY MOBILE. (2015). A Touch-Optimized Web Framework.
Obtenido de https://jquerymobile.com/
10. ANCHETA Wernher-Bel. (2016). Una introducción a NativeScript.
2016, de Envato Pty Ltd. Trademarks and brands are the property of
their respective owners. Sitio web:
http://code.tutsplus.com/es/articles/an-introduction-to-nativescript--
cms-26771
11. KJERNE Deuker, (1989). Concepto GIS. 2016, de Editorial UOC.
Página de créditos. Sitio web:
https://books.google.com.ec/books?id=xip1wtr8k58C&pg=PA202&l
pg=PA202&dq=Deuker,+Kjerne,+1989&source=bl&ots=OihipwzrGn
&sig=PWPFrizoKZtOZgLu2tlX_yl7xPM&hl=es&sa=X&ved=0ahUKE
wiRzJXQ_v7OAhWC4iYKHaSeCI
12. BURROUGH (1986). Concepto GIS. 2016, de Editorial UOC. Página
de créditos. Sitio web:
https://books.google.com.ec/books?id=xip1wtr8k58C&pg=PA202&l
pg=PA202&dq=Deuker,+Kjerne,+1989&source=bl&ots=OihipwzrGn
&sig=PWPFrizoKZtOZgLu2tlX_yl7xPM&hl=es&sa=X&ved=0ahUKE
wiRzJXQ_v7OAhWC4iYKHaSeCI
13. GRANIZO, Sergio. (2015). METODOLOGÍAS. En SISTEMA WEB DE
UBICACIÓN GEOGRÁFICA Y TRAZO DE RUTAS DE
TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO (17-
18). Repositorio de Tesis de La Universidad Central del Ecuador:
Universidad Central del Ecuador.
14. TAHA, H. (2004). Investigación de operaciones (Séptima ed.).
México: Pearson
Educación. Obt
enido de
https://books.google.com.ec/books?id=3oHztjMSuL8C&pg=PA224&lpg=
PA
58
224&dq=taha+investigacion+de+operaciones+dijkstra&source=bl&ots=n
MA I950WHP&sig=6IqQePw8Pt21xCuvBVlPbWPRII4&hl=es-
419&sa=X&ei=QwocVdHFCsSIsQSxvIC4DA&ved=0CBwQ6AEwAA#v=
o nepage&q=taha%20investi
15. ACADEMIA ANDROID. (2015). Android Studio v1.0: características
y comparativa con Eclipse. 2016, de Versiones de Android Studio y
del SDK Sitio web: http://academiaandroid.com/android-studio-v1-
caracteristicas-comparativa-eclipse/
16. SÁNCHEZ Alberto. (2015). Ventajas y Desventajas de Android vs
iOS vs Windows Phone. 2016, de © 2016 Asociación INDISMATIC.
All rights reserved. Sitio web: http://www.indismatic.es/cadena-ser-
rioja-baja/diferencias-android-ios-windows-phone/
17. INFORMATICOHOY. (2007). Componentes de un Sistema
Operativo Móvil. 2016, de www.informatica-hoy.com.ar Sitio web:
https://www.google.com.ec/search?q=Problemas+frecuentes+en+el
+Google+maps&biw=1366&bih=599&source=lnms&tbm=isch&sa=X
&ved=0ahUKEwj6t8aMmZPPAhWF7iYKHWLMDxIQ_AUIBigB#tbm
=isch&q=capas+de+los+sistemas+o
18. JARQ, Mele. (2012). desarrollo de aplicaciones moviles. 2016, de
Plantilla Simple. Tecnología de Blogger. Sitio web:
http://desarrolloaplimovil.blogspot.com/p/los-servicios-de-
middleware.html
19. JJPARRA. (2005). Arquitectura del Framework. 2016, de
Desarrollador 5 estrellas Sitio web:
https://jjparra.wordpress.com/category/visual-basicnet/
20. QUALCOMM TECHNOLOGIES. (2011). GpsOne. 2016, de Inc. All
rights reserved. Sitio web:
https://developer.brewmp.com/resources/tech-guides/position-
determination-technology-guide/position-determination-concepts
21. LISA, Ms... (2015). GPS. 2016, de Best GNSS/GPS
Tracker/GLONASS Tracking/ pets tracking /GSM/GPRS LBS Car
59
tracker box Sitio web: http://www.gnsstracker.com/
22. MEDIARTS.COM.VE. (2015). GPS Particular. 2016, de Inversora
Nacional GP Responsable 2016 Sitio web:
http://inversoranacionalgpresponsable.com/index.php/productos/gp
s-particular
23. HIDALGO, Fco. José. (2015). Google lanza la vista previa de Android
Studio 2.0. 2016, de Tecnología, Internet y Marketing Sitio web:
http://wwwhatsnew.com/2015/11/23/google-lanza-la-vista-previa-
de-android-studio-2-0/
24. MEZA, Mancilla. (2011). Ventajas y desventajas de html. 2016, de
Entradas (Atom) Sitio web: http://vhtml-mancilla-
mayer.blogspot.com/
25. GONZÁLEZ, Enrique. (2015) ¿Qué es y para qué sirve HTML?
El lenguaje más importante para crear páginas webs. HTML
tags (CU00704B). 2016, de Codificación
aprenderaprogramar.com: CU00704B Sitio
web: http://aprenderaprogramar.com/
index.php?option=com_content&vie w=article&id=435:ique-es-y-
para-que-sirve-html-el-lenguaje-mas-importante-para-crear-paginas-
webs-html-tags-
cu00704b&catid=69:tutorial-basico-programador-web-html-desde-
cero&Itemid=192
26. GONZÁLEZ, Didiana (2015). EL SISTEMA DE INFORMACIÓN
GERENCIAL. 2016, de Creative Commons Attribution Share-Alike
3.0 License Sitio web:
https://lasempresasylastics.wikispaces.com/1.+EL+SISTEMA+DE+I
NFORMACION+GERENCIAL
27. GAUSS-KRÜGER. (2002). 3. TOPOLOGíAS, MODELOS DE
DATOS Y TIPOS DE SIG. 2016, de GabrielOrtiz.com Sitio web:
http://www.gabrielortiz.com/index.asp?Info=012
28. GONZÁLEZ, Enrique. (2015). JavaScript. 2016, de
60
aprenderaprogramar.com Sitio web:
http://aprenderaprogramar.com/index.php?option=com_content&vie
w=article&id=590:ique-es-y-para-que-sirve-javascript-embeber-
javascript-en-html-ejercicio-ejemplo-basico-
cu00731b&catid=69:tutorial-basico-programador-web-html-desde-
cero&Itemid=192
29. FRANKMCH. (2015). XML. 2016, de El Centro de Tesis,
Documentos, Publicaciones y Recursos Educativos más amplio de
la Red. Sitio web:
http://www.monografias.com/trabajos6/ixml/ixml.shtml
30. AZAUSTRE Carlos. (2015) ¿QUÉ FRAMEWORK O LIBRERÍA DE
JAVASCRIPT ELEGIR PARA MIS DESARROLLOS?. 2016, de
DIGITALOCEAN Sitio web:
https://carlosazaustre.es/blog/frameworks-de-javascript/
31. ÁLVAREZ Cecilio. (2014). Introducción a la programación con
Node.js. 2016, de GENBETA Sitio web:
http://www.genbetadev.com/frameworks/como-funciona-node-js
32. CERVERA Alfonso. (2015). iOS VS Android. 2016, de wondershare
Sitio web: https://www.wondershare.es/mobile-phone/como-
transferir-datos-desde-dispositivos-ios-a-telefonos-android.html
62
ANEXO A
Manual para despliegue de la aplicación móvil
A continuación se detallan los pasos para el despliegue de la app en
dispositivos móviles.
Software necesario:
• Sistema operativo Windows 7, 64 bits.
• JRE 8.1
• Notepad ++
• Quantum GIS.
• NODE.js.
• APACHE CORDOVA
Pasos para el despliegue del sistema:
Instalar JRE:
Ir a http://www.oracle.com/technetwork/java/javase/downloads/jre8-
downloadshttp://www.oracle.com/technetwork/java/javase/downloads/jre
8-downloads-2133155.html2133155.html y descargar el JRE más
reciente e instalarlo.
Figura A34. Opciones de descarga de JRE (Elaboración propia)
63
Instalar JRE ejecutando el instalador seleccionando los valores por
defecto.
Comprobar que Java está instalado ejecutando por línea de
comandos java –versión
Crear la variable de entorno JAVA_HOME
En Windows clic en Inicio luego en Computer, clic derecho, seleccionar
la opción Propiedades.
Figura A36. Pantalla de instalación de JRE (Elaboración propia)
Figura A37. Comprobación de versión de Java (Elaboración propia)
64
En la ventana que aparece dar clic en Configuración avanzada delsistema.
Figura A38. Opción propiedades de equipo (Elaboración propia)
Figura A39. Opción configuración avanzada del sistema (Elaboración propia)
Figura A40. Opción de variables de entorno (Elaboración propia)
65
En la nueva ventana que aparece, dentro de la pestaña Opcionesavanzadas, dar clic en el botón Environment Variables (Variables deentorno).
1. Crear una variable de sistema llamada JAVA_HOME. Para eso:
2. Clic en el botón New…3. Escribir JAVA_HOME como nombre de la variable.
4. Como valor de la variable escribir C:\ProgramFiles\Java\jre1.7.0_51 o el path en donde se instaló JRE.
5. Clic en el botón OK (se cierra el dialogo de Nueva variable del
sistema).
6. Clic en el botón OK.
Instalar Notepad++
Ir a https://notepad-plus-plus.org/download/v6.9.2.html, descargar e
instalar.
1
2 3
4
5
Figura A41. Detalles de variable JAVA_HOME (Elaboración propia)
66
Escogemos el idioma a instalar
OK
Leer la Introducción del instalador
Siguiente
Leer las políticas del instalados
Figura A42. Instalación Notepad++ (Elaboración propia)
Figura A43. Instalación Notepad++ (Elaboración propia)
Figura A44. Instalación Notepad++(Elaboración propia)
67
Verificar el tamaño del programa y el lugar de instalación
Aceptar
Instalar
Instalar QGIS
La instalación del programa QGIS está disponible por Windows, MacOS X,
Linux y Android.
• Ingrese a la página siguiente: http://qgis.org/es/site/ y hacer clic
en Descargar ahora
Figura A45. Instalación Notepad++(Elaboración propia)
Figura A46. Instalación Notepad++(Elaboración propia)
68
• Descarga QGIS para tu plataforma
• En la próxima página escoge el instalador de acuerdo a tu tipo de
quipo. En este ejemplo se instalará QGIS Standalone Version 2.8(64 bit).
• Clic QGIS Standalone Installer Version 2.8 (64 bit) para bajar el
instalador (QGIS-OSGeo4W-2.8.1-1-Setup-x86_64.exe).
• Doble Clic al archivo .exe bajado para abrir la siguiente caja y
seleccionar Ejecutar.
Figura A47. Instalación Quantum Gis (Elaboración propia)
Figura A48. Instalación Quantum Gis (Elaboración propia)
69
• Hacer clic en Siguiente en la Instalación de QGIS caja.
• Acepta la licencia.
• Escoger un directorio en donde instalar el programa (En este caso se
dejará enC:\Program Files\QGIS Wien)
Figura A49. Instalación Quantum Gis (Elaboración propia)
Figura A50. Instalación Quantum Gis (Elaboración propia)
Figura A51. Instalación Quantum Gis (Elaboración propia)
70
• Clic en Siguiente.
• En Selección de componentes dejar la opción por defecto
• Clic en Instalar.
• Hacer clic en Terminar para completar la instalación.
Abrir QGIS
Desde el menú Windows hacer clic en Todos los programas y navegar
al archivo QGIS Wien y seleccionar QGIS Desktop 2.8.2 para abrir el
programa que contiene los trazos del entorno geográfico Universitario.
Instalar node js.
Figura A52. Instalación Quantum Gis (Elaboración propia)
Figura A53. Instalación Quantum Gis (Elaboración propia)
71
Para instalar Node.js simplemente debemos descargar el paquete msi
desde node-v0.6.2.msi Windows installer, con esto simplemente seguimos las
indicaciones.
Instalación de Node.js en Windows - Damos el permiso necesario
Figura A54. Instalación Js (Elaboración propia)
Figura A54 Instalación Js
72
Instalación de Node.js en Windows - Completa Una vez que finaliza la instalación lo cual no toma más de un minuto reiniciamos
nuestro equipo y ejecutamos una consola en la cual verificamos la versión que
acabamos de instalar.
Instalación Android Studio y Android SDK
Descarga de componentes de Android SDK
Llegados a este punto procederemos a descargar el SDK y el emulador
para la Android 4.4.2(API 19). Esta versión de Android es la utilizada por
defecto por Apache Cordova 3.6.3 para crear y compliar proyectos.
Descargando paquetes Android SDK
Figura A55. Verificar Instalación Js (Elaboración propia)
Figura A56. Verificar Android Studio (Elaboración propia)
73
Descargando complementos Android SDK
Creando un Android Virtual Device AVD
Luego de terminarse de descargar los componentes, ingresar
a Tools, Manage AVDs. En la ventana de Android Virtual Device crear un
dispositivo para poder desplegar el proyecto que se creó con Apache
Cordova.
Ingresar a Manage AVDs
Crear un Android Virtual Device
Figura A58. Instalación Android Studio (Elaboración propia)
Figura A57. Crear Máquina Virtual (Elaboración propia)
74
Una vez creada la máquina virtual se procede a correr el simulador.
Figura A59. Máquina Virtual (Elaboración propia)
Figura A60. Simulador App en el celular (GEOUCE) (Elaboración propia)
75
Proceder a correr la app
Instalación Apache Cordova
Ahora sí, hemos descargado y configurado el componente previo para iniciar la
descarga de Apache Cordova; crear el proyecto, adicionar la
plataforma Android y finalmente desplegarlo en el dispositivo virtual. Para ello
nos apoyaremos en Node.js utilizando el siguiente comando.
Con el apache Córdova se puede ejecutar el proyecto en varias plataformas
como:
En la parte web en cualquier browser que se tenga instalado
Figura A61. App en el celular (Elaboración propia)
Figura A62. Instalación Apache Cordova (Elaboración propia)
76
En Android pasando el apk e instalándolo directamente para que pueda
correr en el dispositivo móvil
En IOS igual proceso que en Android.
Para instalar la apk en el dispositivo móvil se sigue los siguientes comandos
Una vez terminada nos presenta
Con eso se puede verificar en un dispositivo Android ya se Tablet, celular
entre otros.
Figura A63. Instalación apk en celular (Elaboración propia)
Figura A64. Verificación de la instalación del apk (Elaboración propia)
77
ANEXO B
Según las estadísticas de tanto del consumo de celulares como de internet
a nivel nacional
Figura B65. Estadisticas presentadas por el INEC (INEC2015)
Figura B66. Estadisticas presentadas por el INEC (INEC2015)