i
VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y
COMPARTIR CUALQUIER PUNTO GEODÉSICO MATERIALIZADO A LO
LARGO DEL TERRITORIO COLOMBIANO
JONATHAN ENRIQUE CONTRERAS SASTOQUE
JUAN DIEGO SANJUANELO DE LA PEÑA
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES
INGENIERIA TOPOGRAFICA
ii
VERTEX: APLICACIÓN MOVIL QUE PERMITE REGISTRAR Y
COMPARTIR CUALQUIER PUNTO GEODÉSICO MATERIALIZADO A LO
LARGO DEL TERRITORIO COLOMBIANO
JONATHAN ENRIQUE CONTRERAS SASTOQUE
CÓDIGO: 20142032450
JUAN DIEGO SANJUANELO DE LA PEÑA
CÓDIGO: 20142032274
Trabajo de grado presentado en modalidad de monografía como requisito
parcial para optar al título de:
Ingeniero Topográfico
Director:
Ing. Evelio Madera
UNIVERSIDAD DISTRITAL FRANCISCO JOSE DE CALDAS
FACULTAD DE MEDIO AMBIENTE Y RECURSOS NATURALES
INGENIERIA TOPOGRAFICA
BOGOTÁ D.C.
iii
INTRODUCCIÓN
Hace menos de dos décadas era impensable determinar la posición de un punto en la
tierra por medio de un teléfono celular y mucho menos con la exactitud posicional a la
que llegan estos dispositivos y cualquier elemento tecnológico móvil hoy en día. Es
evidente que nos encontramos en una nueva revolución de la humanidad, donde lejos
de evitar una discusión cultural podríamos llamar a esta época “la revolución
tecnológica de la navegación y las comunicaciones”. El desarrollo de la internet, la red
satelital y la nueva era digital; sin mencionar el auge desmedido que las redes sociales
y las aplicaciones móviles han generado, el ambiente propicio para un numero infinito
de soluciones a problemas cotidianos en tiempo real, como por mencionar un ejemplo:
la aplicación llamada waze, está desarrolló la solución al problema de movilidad a nivel
mundial que por muchos años trataron de resolver grades compañías como ESRI,
INTERGRAPH, DIGITAL GLOBE, SAP entre otras y líderes en sistemas de
información geográfica GIS por sus siglas en inglés, así como empresas locales como
Pamacol, Silice Digital y Fisco que gracias a esta tecnología crearon una nueva
generación de cibernautas.
iv
TABLA DE CONTENIDO
Pág.
INTRODUCCIÓN ... iii
PLANTEAMIENTO DEL PROBLEMA ... ix
JUSTIFICACIÓN ... x
OBJETIVOS ... xi
GENERAL: ... xi
ESPECIFICOS:... xi
1. MARCO TEORICO ... xii
ALGO DE HISTORIA ... xii
LA ASTRONOMÍA COMO CIENCIA COMPLEMENTARIA A LA GEODESIA xiii LA GEODESIA EN COLOMBIA ... xiv
SISTEMA DE POSICIONAMIENTO GLOBAL O GPS ... xv
Tipos de receptores ... xx
Métodos de posicionamiento GPS ... xxiii
¿Para qué sirve? Y por qué hacemos geodesia ...xxiv
¿QUÉ ES EL PROYECTO SIRGAS? ... xxv
MAGNA – SIRGAS ...xxvi
Geo portal del IGAC ... xxix
LENGUAJE DE PROGRAMACION ... xxxi
1. Lenguajes de programación de bajo nivel ... xxxiii
2. Lenguajes de programación de alto nivel ... xxxiii
ANDROID STUDIO ... xxxv
Repositorios ... xxxvi
Ejemplos en la aplicación móvil ... xxxviii
API (Interfaz de programación de aplicaciones) ... xxxviii
ANDROID SOFTWARE DEVELOPMENT KIT (SDK) ... xxxviii
vi
Tabla de Imágenes
Imagen 1 Determinación de radio terrestre según Eratóstenes Fuente: Geodesy for Layman xii
Imagen 2 Coordenadas elípticas ecuatoriales Fuente: Elementos de Astronomía geodésica
clásica xiv
Imagen 3 Santa Rosa de Osos. Acuarela sobre papel Comisión Corográfica Colombiana Fu
ente: Biblioteca Nacional xv
Imagen 4 Sistema de posicionamiento Global Fuente: (Gobierno de los Estados Unidos
relativa al Sistema de Posicionamiento Global y temas afines, 2017) ... xvi
Imagen 5 Estaciones de control del GPS Fuente: (Huerta, Manguiaterra, & Noguera, 2005) xviii Imagen 6 Diferentes Sistemas de Posicionamiento Global Existentes en la actualidad y sus sistemas de aumentación ... Fuente: (International GNSS (IGNSS) Conference, 2018). ... xix
Imagen 7 GPS en Smartphones Fuente: (ADOC Chile, 2018) ... xxi
Imagen 8 Navegador GPS Fuente: (Garmin, 2018) ... xxi
Imagen 9 GPS submetrico Fuente: (Spectra precision, 2018) ... xxii
Imagen 10 GPS doble frecuencia Fuente: (Hi Target, 2018) ... xxii
Imagen 11 Métodos de posicionamiento con sistema GPS Fuente: (Paul R. Wolf - Charles D. Ghilani, 2009) ... xxiii
Imagen 12 Principio matemático de corrección de posición en postproceso Fuente: (Huerta, Manguiaterra, & Noguera, 2005) ...xxiv
Imagen 13 Estaciones GPS SIRGAS Fuente: (SIRGAS, 2018). ... xxv
Imagen 14 Geo portal IGAC Fuente: (Instituto Agustín Codazzi IGAC, 2018) ...xxx
Imagen 15 Proceso de la programación Fuente: http://www.docirs.cl... xxxi
Imagen 16 Logo Java Fuente: https://revistadigital.inesem.es... xxxii
Imagen 17 Programación en Android Studio Fuente: Propia ... xxxiv
Imagen 18 Android Studio Fuente: https://developer.android.com ... xxxvi
Imagen 19 Tipos de Layout Fuente: (Aprendeandroid, 2018) ... xxxix Imagen 20 Ejemplo de atributo de vertex (Layout) Fuente: propia ... xl Imagen 21 Uso de Linearlayout en android studio Fuente: (Aprendeandroid, 2018) ... xlii Imagen 22 Código ejemplo de un Linearlayout Fuente: (Aprendeandroid, 2018) ... xliii Imagen 23 SQLite Fuente:
https://openwebinars.net/blog/sqlite-para-android-la-herramienta-definitiva/ ... xliv Imagen 24 Modelo Scrum Fuente: (CORPORACIÓN PARQUE, TECNOLOGICO DE ORIENTE, 2001) xlviii
ix
PLANTEAMIENTO DEL PROBLEMA
El uso análogo de información pone al descubierto un alto riesgo en la información de
campo, el tiempo de transcripción del papel al medio digital genera en ocasiones
retrasos, o errores humanos al momento de dicha transcripción, por otro lado, día a día
se ejecutan proyectos con información GNSS de carácter privado, construyendo nuevos
marcos geodésicos (mojones GPS) cuya información no es compartida con otros
profesionales. Estamos en una coyuntura mundial en la que la democratización del
conocimiento ha llegado a tal punto que es posible para cualquier profesional usar
herramientas tecnológicas para resolver problemas en su área de conocimiento,
nosotros como ingenieros topográficos no somos la excepción, y de esta reflexión
planteamos la siguiente pregunta:
x
JUSTIFICACIÓN
Hoy por hoy existe a nivel gubernamental plataformas web que sirven de apoyo a
levantamientos con sistemas GNSS; en el país se destacan entidades como el Instituto
Geográfico Agustín Codazzi (IGAC), y el Servicio Geológico Colombiano (SGC). La
primera cuenta con aproximadamente 36 estaciones GNSS permanentes llamadas
MAGNA – ECO, en los siguientes capítulos abordaremos afondo el significado del
nombre, la segunda entidad actualmente cuenta con alrededor de 100 estaciones de la
misma naturaleza que las anteriores, pero estas apoyan un programa de investigación
propio del servicio geológico colombiano llamado Geo Red. Tanto los datos del IGAC
como los del SGC son totalmente gratuitos, para descargar los primeros basta con tener
acceso a internet y una dirección FTP (Protocolo de Transferencia de Ficheros), para
los datos del SGC es necesario acceder a la página del servicio geológico y llenar un
formulario de solicitud de datos para acceder a ellos.
A lo largo del territorio nacional se vienen adelantando diferentes proyectos de tipo:
ambientales, catastrales e ingeniería como: infraestructura, en especial proyectos
viales, lo que implica que estos proyectos requieren de información de posicionamiento
satelital para la georreferenciación, y cuya consecuencia resulta en una tendencia al uso
de equipos GNSS de alta precisión para la elaboración de redes geodésicas
La única información compartida a nivel nacional corresponde a las entidades antes
mencionadas, no obstante, existe otra red o puntos geodésicos alternos no reconocidos
públicamente, se trata de todos los vértices geodésicos, poligonales y BM de
nivelaciones que se ejecutan y se materializan en los diferentes proyectos antes
mencionados a lo largo del territorio nacional.
xi
OBJETIVOS
GENERAL:
•
Desarrollar una aplicación móvil que permita que los profesionales en
topografía y geodesia puedan registrar y compartir puntos geodésicos
materializados a lo largo del territorio colombiano.
ESPECIFICOS:
•
Identificar las bondades y ventajas al desarrollar la aplicación por medio de
Android Studio.
•
Definir las características de los dispositivos que deberían usar la aplicación.
•
Compartir la información que el usuario registre.
•
Establecer la mejor metodología, para el desarrollo de este tipo de proyectos
tecnológicos.
•
Integrar los conceptos geodésicos y topográficos, a la aplicación, para su mejor
manipulación.
•
Diseñar un modelo o formato que permita registrar la información relevante de
puntos geodésicos.
xii
1.
MARCO TEORICO
ALGO DE HISTORIA
A lo largo de la historia de la humanidad, el hombre en su afán por explorar el entorno
y el medio geográfico ha necesitado representarlo, desde los hombres de las cavernas
en su arte rupestre hasta los grandes navegantes y pensadores griegos del mundo
antiguo, teniendo en cuenta que la base de toda representación ha sido un sistema de
referencia, el presente capitulo no pretende ser un tratado de geodesia, sino que busca
en el lector que entienda de manera simple el porqué de georreferenciar, que es un
marco y sistema de referencia, y cuán importantes son estos términos para la
planificación de las futuras sociedades.
La geodesia es la ciencia que estudia la forma y dimensiones de la tierra de campo de
gravedad y variaciones en el tiempo, como de la posición de un punto en la superficie
de la tierra (Lerma, 2012).
Los antiguos griegos fueron pioneros en establecer con cálculos geométricos una
aproximación de las dimensiones de la tierra; como lo hizo Eratóstenes (NOOA,
1985), ya que durante muchos años la figura geométrica adoptada por muchos
pensadores fue la esfera.
xiii
LA ASTRONOMÍA COMO CIENCIA COMPLEMENTARIA A LA
GEODESIA
xiv
Imagen 2 Coordenadas elípticas ecuatoriales
Fuente: Elementos de Astronomía
geodésica clásica
LA GEODESIA EN COLOMBIA
xv
Imagen 3 Santa Rosa de Osos. Acuarela sobre papel Comisión Corográfica
Colombiana Fuente: Biblioteca Nacional
SISTEMA DE POSICIONAMIENTO GLOBAL O GPS
El Sistema de posicionamiento global o GPS aparece en la década de los 70’s
básicamente como un desarrollo militar del gobierno de los Estados Unidos, como
consecuencia de la guerra fría entre la Unión Soviética y Estados Unidos, se extendió
al uso civil gracias a las ventajas en materia de posicionamiento que tenía el sistema,
no fue sino hasta el año de 1986 que el sistema se desarrolló, pero en la primera guerra
del golfo pérsico (1991), quedó demostrado su eficacia (INSTITUTO GEOGRAFICO
AGUSTÍN CODAZZI, 2007).
xvi
y sin límite al número de usuarios simultáneos” (Gobierno de los Estados Unidos
relativa al Sistema de Posicionamiento Global y temas afines, 2017)
El sistema de posicionamiento global consta de tres (3) segmentos (Huerta,
Manguiaterra, & Noguera, 2005), los cuales son:
•
Segmento espacial
•
Segmento de control
•
Segmento del usuario
Segmento espacial
Este segmento hace relación a la distribución “espacial” del sistema, su distribución
alrededor de la órbita de la tierra, y el número de satélites que la conforman, como
muestra la siguiente imagen
Imagen 4 Sistema de posicionamiento Global Fuente: (Gobierno de los Estados
Unidos relativa al Sistema de Posicionamiento Global y temas afines, 2017)
El sistema GPS cuenta actualmente con:
•
Compuesta por 24 satélites.
•
Los satélites se ubican en 6 órbitas planas prácticamente circulares, con
inclinación de 55º respecto al plano del Ecuador y con una distribución
aproximadamente uniforme; con 4 satélites en cada órbita.
•
Se encuentran aproximadamente a 20180 km de altura.
•
Tienen 12h de período de rotación (en tiempo sidéreo) u 11h 58m (en tiempo
oficial).
xvii
•
Con la constelación completa, se dispone, en cualquier punto y momento, entre
5 y 11 satélites observables, con geometría favorable.
•
El tiempo máximo de observación de un satélite es de hasta 4 horas 15 minutos.
Segmento de control
Este segmento está relacionado con las estaciones en la tierra que controlan el sistema
permanentemente, a continuación, se mencionan algunas de las características.
Monitoreo y control permanente de los satélites con el objeto de determinar y predecir
las órbitas y los relojes de a bordo.
Sincronización de los relojes de los satélites con el tiempo GPS
Transmisión, a cada satélite, de la información procesada.
Está integrado por una
Estación de Control Maestra
(MCS), varias
Estaciones de
Monitoreo
(MS) y
Antenas Terrestres
(GA).
Las estaciones de monitoreo tienen coordenadas conocidas con gran precisión y están
equipadas con receptores GPS de doble frecuencia L1/L2 y un reloj de Cesio. Su
función es determinar las distancias a todos los satélites visibles y transmitirlas a la
estación de control maestra junto con los datos meteorológicos de cada estación.
(Huerta, Manguiaterra, & Noguera, 2005).
Con los datos recibidos de las estaciones monitoras, la estación maestra, ubicada en la
Base de la Fuerza Aérea Schriever en el estado de Colorado, calcula los parámetros
orbitales y los de los relojes y posteriormente los transmite a las antenas terrestres que
los transfieren a los satélites a través de un enlace vía banda S.
Como se puede observar en la Figura 2, el segmento de control está integrado por 10
estaciones.
Estas están ubicadas en:
•
Colorado Springs (EUA)
•
Isla Ascensión (Atlántico Sur)
•
Diego García (Índico)
•
Kwajalein (Pacífico Occidental)
•
Hawaii (Pacífico Oriental)
•
Quito (Ecuador)
•
Buenos Aires (Argentina)
xviii
•
Bahréin (Golfo Pérsico)
•
Smithfield (Australia).
La figura 2 muestra la localización de las estaciones de control antes mencionadas:
Imagen 5 Estaciones de control del GPS Fuente: (Huerta, Manguiaterra, & Noguera, 2005)
xix
Imagen 6 Diferentes Sistemas de Posicionamiento Global Existentes en la actualidad
y sus sistemas de aumentación
Fuente: (International GNSS (IGNSS)
Conference, 2018).
Constelaciones Globales:
– GPS (24+3)
– GLONASS (24+)
– GALILEO (24+3)
– BDS/BEIDOU (27+3 IGSO + 5 GEO)
Constelaciones Regionales:
– QZSS (4+3)
– IRNSS/NAVIC (7)
Satélites de aumentaciones:
– WAAS (3)
– MSAS (2)
– EGNOS (3)
– GAGAN (3)
xx
– BDSBAS (3)
– KASS (2)
Satélites de aumentación
Los satélites de aumentación son sistemas extremadamente precisos desarrollados por
los gobiernos para corregir y mejorar la precisión de la señal provenientes de los
satélites o constelaciones, cabe aclarar la cobertura de estos satélites es limitada por
ejemplo el sistema de aumentación WAAS solo tiene un cubrimiento en los estados
unidos. (Federal Aviation Administration, 2018).
Segmento usuario
Está constituido por los instrumentos utilizados para recepcionar y procesar la señal
emitida por los satélites.
Estos instrumentos están integrados esencialmente por una
antena
y un
receptor
. Un
equipo complementario es usado, en ocasiones, para
transferir datos entre receptores.
La
antena
está conectada por cable al receptor o en otros casos forman una sola unidad.
Las coordenadas que se calculan corresponden al centro radioeléctrico de la antena.
El
receptor
consta de un mínimo de 4 canales (generalmente 10 ó12) que permiten
recepcionar y procesar simultáneamente la señal de cada satélite. Sin embargo, esto
dependerá de la tecnología del equipo cuenta con multiconstelación.
Tipos de receptores
xxi
Imagen 7 GPS en Smartphones Fuente: (ADOC Chile, 2018)
xxii
Imagen 9 GPS submetrico Fuente: (Spectra precision, 2018)
xxiii
Métodos de posicionamiento GPS
En la sección anterior mencionamos los diferentes equipos existentes los cuales
permiten recibir y registrar los tipos de códigos y frecuencias provenientes de los
satélites, adicional a lo anteriores con el paso del tiempo la precisión siempre ha sido
un objetivo desde el punto de vista científico, poder decidir qué equipo y que
metodología emplear para obtener la posición de un punto es lo que veremos en la
presente sección, a continuación se muestra una imagen o diagrama el cual ilustra los
diferentes tipos o métodos de posicionamiento.
Imagen 11 Métodos de posicionamiento con sistema GPS Fuente: (Paul R. Wolf -
Charles D. Ghilani, 2009)
xxiv
Imagen 12 Principio matemático de corrección de posición en postproceso Fuente:
(Huerta, Manguiaterra, & Noguera, 2005)
¿Para qué sirve? Y por qué hacemos geodesia
xxv
¿QUÉ ES EL PROYECTO SIRGAS?
SIRGAS es la sigla o como se le conoce al Sistema de Referencia Geocéntrico para las
Américas, y nace de la necesidad de la región en determinar un único datum
geocéntrico con los cuales los países migraran sus antiguos marcos geocéntricos al este
nuevo sistema geocéntrico, actualizando así sus métodos de georreferenciación con las
nuevas técnicas de posicionamiento global, (Naciones Unidas, 2001). SIRGAS puede
resumirse como una densificación de Marco Internacional de Referencia Terrestre
(
ITRF: International Terrestrial Reference Frame
), (SIRGAS, 2018). SIRGAS cuenta
actualmente con estaciones GPS de monitoreo continuo en América del Sur, Centro
América y el Caribe, estas estaciones registran información proveniente de los
diferentes satélites usados para el posicionamiento Global, todas las estaciones cuentan
con equipos GPS doble frecuencia de última generación, permitiendo realizar modelos
de desplazamiento tectónicos con fines científicos (SIRGAS, 2018). La siguiente
imagen muestra las diferentes estaciones continuas en los diferentes países de
Latinoamérica.
xxvi
Las coordenadas de estas estaciones son determinadas por dos centros de
procesamientos:
•
DGFI – TUM (Deutsches Geodätisches Forschungsinstitut Technische Universität
München) Alemania
•
IBGE (Instituto Brasileiro de Geografía y Estadística)
Fotografía 1 Estación GPS continua de referencia Fuente: (Servicio Geológico
Colombiano, 2018)
MAGNA – SIRGAS
xxvii
El gobierno nacional empieza la actualización y migración del antiguo marco
geodésico llamado red ARENA al nuevo marco geocéntrico nacional de referencia
llamado-MAGNA – SIRGAS, (Instituto Geográfico Agustín Codazzi (IGAC), 2004).
Fotografía 2 Marco Geocéntrico Nacional de Referencia Fuente: (Instituto
Geográfico Agustín Codazzi (IGAC), 2004)
De la misma forma en que SIRGAS es la densificación del ITRF, MAGNA es la
densificación de SIRGAS, en año 1995 el IGAC adelantó una primera campaña de
rastreos con equipos GPS de doble frecuencia, materializando nuevos vértices o
monumentos y rastreando (en modo estático relativo con postproceso) vértices de la
antigua Red Arena a lo largo del territorio nacional; obteniendo así las primera
coordenadas asociadas al ITRF 94 en para la época de referencia 1995.4, el IGAC
siguió realizando varias campañas de ocupaciones en los años posteriores,
construyendo así la base geodésica para el país en la nueva del posicionamiento global,
(Instituto Geográfico Agustín Codazzi (IGAC), 2004).
El país cuenta con dos clases de vértices GPS o controles horizontales:
xxviii
•
Vértices pasivos: Son vértices o mojones construidos en concreto en lugares
geológicamente estables sus dimensiones y características son establecidas por
el IGAC, y su nombre se debe a que solo son ocupados con equipos GPS cuando
se requieren usar como base en cualquier trabajo geodésico. (Instituto
Geográfico Agustín Codazzi (IGAC), 2004). Las siguientes fotografías
corresponden a vértices pasivos de la red MAGNA – SIRGAS del IGAC.
xxix
Fotografía 4 Panorámica de vértice GPS IGAC Fuente: (Instituto Geográfico
Agustín Codazzi (IGAC), 2004)
A pesar de que este vértice fue materializado y posiblemente posicionado en el año
2006, sus coordenadas se encuentran asociadas al ITRF 94 y referido a la época 1995.4,
debido a que el Marco Geocéntrico Nacional de Referencia (MAGNA – SIRGAS) se
encuentra asociado a este marco y época.
Geo portal del IGAC
xxxi
LENGUAJE DE PROGRAMACION
Para poder hablar, entender y desarrollar una idea clara de que es un lenguaje de
programación tenemos que remontarnos unas décadas atrás donde se crean y se muestra
al mundo las computadoras, máquinas electrónicas o digitales dotadas de gran
capacidad de memoria que nos permitieron ejecutar manejos de información y solución
de problemas matemáticos y lógicos de una manera más eficaz y veloz, mediante
software de computadora; estos software son programas, instrucciones o pautas
informáticas para ejecutar tareas o actividades específicas. De esta terminología surgen
dos terminas importantísimos para entender dichos procesos, programar y programa,
programar es indicarle a una computadora que tiene que hacer por medio de símbolos
y programa es el conjunto de instrucciones y secuencias que tiene como objetivo
ejecutar una tarea específica y mostrar una solución a un problema. (Jean-Paul
Tremblay, 2009)
xxxii
Inicialmente la primera computadora conocida fue creada por Alan Turing la cual fue
capaz de descifrar los códigos de la maquina encriptadora de mensajes ENIGMA en la
segunda guerra mundial, esta analizaba los patrones por medio de palabras ya
conocidas y que se repetían mensaje tras mensaje, continuamente el desarrollo de estas
fue casi inevitable, llevando a IBM a crear la primera computadora a gran escala, donde
años más tarde se desarrollaron los primeros sistemas operativos con funciones básicas,
pero solo hasta mediados de los años 80 se crearon los lenguajes de programación
donde gracias a ellos se empezaron a desarrollar software y a su vez algoritmos que
permitieron resolver problemas de diferente Índole en tiempos más cortos y con una
serie de símbolos (palabras/lenguaje) concretos que se convierten en universales
llegando hasta 1995 con la creación de JAVA el lenguaje de programación más popular
y acogido por los profesionales para el desarrollo de aplicaciones, software y juegos.
(IRUELA, 2018)
Imagen 16 Logo Java Fuente: https://revistadigital.inesem.es
xxxiii
¿Qué es lenguaje de programación?
Este lenguaje de programación podemos entenderlo como un sistema metódico y
estructurado de interacción por medio de una sintaxis especifica que reconoce cualquier
dispositivo con un mismo sistema operativo de tal manera que interpreta las
instrucciones creadas por el desarrollador en donde este sea instalado.
El término programación se define como un
conjunto de instrucciones consecutivas
y ordenadas que llevan a ejecutar una tarea específica.
Dichas instrucciones se
denominan “código fuente”, el cual es único para cada lenguaje y está diseñado para
cumplir una función o propósito específico. Usan diferentes normas o bases para
controlar el comportamiento de un dispositivo y también pueden ser usados para crear
programas informáticos. En la actualidad, hay más de cien lenguajes de programación
diferentes, estos se clasifican en dos tipos principales:
1. Lenguajes de programación de bajo nivel
Son aquellos utilizados para controlar el hardware (partes tangibles) del aparato y
dependen directamente de la máquina, es decir, que no pueden ser usados en aparatos
diferentes para los que fueron creados. Estos lenguajes son los que ordenan las
operaciones esenciales para el funcionamiento del dispositivo. También es conocido
como código máquina. Su funcionamiento es complejo, por lo que lo utilizan
principalmente los fabricantes de hardware. Con ellos se pueden programar tareas
como reproducciónn de audio o video, mostrar imágenes, realizar operaciones
matemáticas, movimiento del puntero, asignación, liberación de memoria, entre otras.
2. Lenguajes de programación de alto nivel
Estos lenguajes son más parecidos al humano. No dependen de la máquina y sirven
principalmente para crear programas informáticos que puedan solucionar distintos
tipos de necesidades.
Ahora bien, algunos de los lenguajes de programaciónn máss utilizados son SQL, PHP,
C
++y Java.
•
SQL:
son las siglas de
Structured Query Language (Lenguaje Estructurado de
Consulta)
. Su función principal es actuar sobre una base de datos y extraer
su contenido para almacenar, introducir, actualizar, eliminar y consultar
información. Suele ser usado en la construcciónn de páginas web y
aplicaciones de escritorio.
xxxiv
•
C
++:
lenguaje orientado principalmente a los sistemas operativos. Se puede crear un
software para sistemas operativos como Windows o Linux, también
es
muy usado en robótica
para crear simuladores o para experimentos
informáticos, físicos, matemáticos, etc.
•
Java:
es uno de los lenguajes favoritos ya que
permite construir programas que
gestionan la memoria del dispositivo
donde reside la aplicación, como
por ejemplo herramientas, juegos y apps. Es utilizado en dispositivos
móviles, aparatos de televisión y computadores personales. Suele ser
asociado a Java Script, que es otro tipo de lenguaje para crear pequeños
programas encargados de realizar acciones dentro de páginas webs, como
por ejemplo crear efectos especiales o para definir la interactividad con los
usuarios.
Con esto nos damos una idea del sistema con el que funcionan muchas de las
aplicaciones que usamos a diario y, aunque son diferentes, casi todos los lenguajes de
programación tienen fundamentos o bases comunes que hacen que aprenderlo sea fácil,
una vez se conoce lo básico. Si quiere saber más sobre el tema, es necesario ahondar
en este mundo y entender por quéé cuando en un juego presiona el botón 'Play' puede
empezar a jugar. (Morales, 2014)
xxxv
ANDROID STUDIO
Android estudio es un entorno de desarrollo para plataformas Android que permite por
medio de diferentes aplicaciones y gracias a su framework crear apps para dispositivos
movibles en un ambiente de lenguaje java. (Android, 2018)
Android estudio proporciona una serie de aplicaciones que permiten integrar de manera
más sutil y sencilla las diferentes actividades de manera individual, proporcionando y
garantizando funcionalidad para cada una de ellas, permitiendo que el programador o
ingeniero certifique a cada paso la calidad de lo que desarrolla. Entre estas funciones
tenemos:
•
No firma de aplicaciones la cual permite realizar apps piloto, instalarlas y
manipularlas sin ninguna restricción política.
•
Renderizado en tiempo real y un editor de diseño que son herramientas que
permite ubicar, arrastrar, soltar y manipular botones, colores, formas y todo el
entorno visual sin necesidad de una serie de leguaje programal y ubicarlos
fácilmente en el interfaz.
•
Consola de desarrollador: sistema que permite consejos de optimización, lo cual
es una ayuda puntual para los profesionales que no están educados en el
lenguaje de programación, ayuda para la traducciónn, y genera estadísticas de
uso.
•
Soporte para construcción basada en Gradle (sistema de automatización de
construcciónn de ccódigo abierto) que permite determinar el orden en el que las
tareas pueden ser ejecutadas dando una estructura lógica a la aplicación.
•
identifica errores y genera arreglos rápidos (concejos o posibles cambios).
•
detectar compatibilidad de versiones y actualizarlas.
•
Plantillas base para creación de muck ups o estructuras visuales.
•
Un dispositivo virtual de Android que se utiliza para ejecutar y probar
aplicaciones
•
Plantillas de código e integración con GitHub el cual permite buscar ejemplo
de códigos.
xxxvi
Imagen 18 Android Studio
Fuente: https://developer.android.com
Android estudio se creó como alternativa de diseño de aplicaciones ya que la demanda
de necesidades tecnologías interdisciplinarias y del diario vivir crecieron
exponencialmente en la última década, por lo cual se observó que muchos
programadores no tenían un conocimiento general muy amplio para satisfacer las
necesidades tecnológicas de los usuarios en general, por lo tanto el entorno amigable
se genera para todos aquellos que con un poco de comprensión de la sintaxis java
puedan manejar un ambiente visual, animado y didáctico, que gracias a una serie de
aplicaciones permite crear apps simples y que el usuario poco a poco desarrolle
habilidades de modulación y estructuración de códigos. (Android, 2018).
Repositorios
¿Qué es un repositorio?
Un repositorio o archivo deposito es un documento digital que almacena, preserva y
difunde abiertamente en la red, estos recursos digitales se comparten de tal manera que
cualquier persona, estudiante y/o profesional tenga la posibilidad y la facilidad de
adquirir dichos documentos, archivos, procesos, métodos y códigos que le permitan
facilitar sus actividades o investigaciones de manera eficaz y rápida, sin ningún tipo de
restricción. (Pené, 2011).
¿Por qué de los accesos abiertos a la información?
xxxvii
Para llegar al AA (acceso abierto) se presentaron dos vías básicas:
-
vía dorada: Publicar en revistas de acceso abierto (accesos para unos pocos)
-
vía verde: Autoarchivar documentos en un repositorio institucional o disciplinar
(modo más simple y 100% confiable). (Pené, 2011).
Tipología de repositorios
-
Repositorios institucionales:
Son creados por las instituciones o la academia donde almacenan, preservan y brindan
acceso a la producción intelectual y académica, pueden contener la producción
académico-científica y también colecciones especiales con acceso libre al estudiantado,
docentes y otros. (PoliScience, 2018)
-
Repositorios temáticos:
Son creados por institutos, laboratorios, industrias o entidades gubernamentales que
brindan acceso a contenidos de una disciplina o área temática especifica. (PoliScience,
2018).
-
Repositorios de datos
Son repos que almacenan y comparten datos de investigaciones o elementos ya
creados y puestos a servicio del conocimiento común. (PoliScience, 2018).
¿Dónde se puede almacenar?
xxxviii
Ejemplos en la aplicación móvil
Teniendo en cuenta que la aplicación VERTEX requiere de una serie de códigos tipo
datapicker extensos como lo son la selección de hora, fecha, departamentos y
municipios de la república de Colombia se descargan los respectivos repos de cada una
de estas extensiones en el capítulo correspondiente a la metodología se muestran estos
los repositorios usados en el desarrollo de nuestra aplicación. (GitHub, 2018) ,
(Sequelpro, 2018) y (DEPARTAMENTO NACIONAL DE ESTADISTICA, 2018)
API (Interfaz de programación de aplicaciones)
Actualmente con el creciente desarrollo informático en materia de conectividad,
asociada a internet, muchos desarrolladores y programadores en todo el mundo han
contribuido con esta democratización de la información con códigos en lenguaje JAVA
llamados
biblioteca de clases de JAVA,
los cuales son simplemente interfaces de
programación de aplicaciones
(Paul Deitel, 2012)
.
Por ejemplo, si se requiere que una aplicación muestre una localización en Google
maps, la aplicación Route Tracker utiliza las API de Android maps permitirán
incorporar Google maps en la futura aplicación.
ANDROID SOFTWARE DEVELOPMENT KIT (SDK)
Una cosa es ANDROID STUDIO como plataforma, pero no se puede desarrollar
ninguna aplicación móvil solamente con ANDROID STUDIO, es necesario descargar
el kit de desarrollo para Android (desarrollo para móviles) llamado SDK, y el kid de
desarrollo para JAVA llamado JDK. Una comparación para comprender lo
anteriormente expuesto seria:
xxxix
Interface de Usuario Android – Layout
Los layouts son elementos no visuales destinados a controlar la distribución, posición
y dimensiones de los controles que se insertan en su interior (Botones, textos,
spinners...), así que podemos decir que los Layouts son los contenedores de estos
elementos. Estos Layouts pueden pueden distribuir a sus "hijos" de forma Horizontal
o Vertical (dependiendo de su propiedad 'Orientacion'). (Aprendeandroid, 2018).
Hay varios tipos de Layouts, cada uno tiene unas ventajas respecto a los otros, pero se
pueden combinar todos dentro de nuestro diseño. La siguiente imagen ilustra los
diferentes tipos de Layout.
Imagen 19 Tipos de Layout
Fuente: (Aprendeandroid, 2018)
Estos Layout tienen propiedades que permiten acondicionar estos elementos a nuestras
necesidades a continuación, se muestran algunas de las propiedades con las que pueden
contar estos Layout
android:id
Se trata de un número entero que sirve para identificar cada objeto view de forma única
dentro de nuestro programa, cuando lo declaramos a través de un xml de resource
podemos hacer referencia a la clase de recursos R usando una @, esto es
imprescindible, ya que, si no, no podremos identificar nuestros elementos en nuestro
programa para después usarlos y/o modificarlos, veamos algunos ejemplos:
android:id=”@id/boton”
. Hace referencia a un id ya existente asociado a la etiqueta
xl
elementos, lo hacemos indicando por ejemplo que un botón lo insertamos a la derecha
de otro, pues bien ese otro se pone así.
android:id=”@+id/boton2”.
Esto crea una nueva etiqueta en la clase R llamada
“boton2”.
Atributos, height, width (Altura y Ancho)
Otra propiedad importante es el Alto y el Ancho de los controles y Layouts, ya que
para que Android sepa dibujar un objeto View debemos proveerle estos datos, y
podemos hacerlo de 3 formas:
android:layout_width="40dp"
. Indicando un número exacto que definamos,
usaremos
40dp
como unidad de medida, dp significa: Densidad de píxeles
independientes, una unidad abstracta que se basa en la densidad física de la pantalla.
Esta unidad es perfecta para buscar la compatibilidad con TODAS las pantallas de
móvil o tables, ya que es una medida proporcional.
Imagen 20 Ejemplo de atributo de vertex (Layout) Fuente: propia
Otras Unidades que podemos usar
px
. Píxeles, corresponde a píxeles reales en la pantalla.
en
. Cm - basado en el tamaño físico de la pantalla.
mm
. Milímetros - en función del tamaño físico de la pantalla.
pt
. Puntos - 1/72 de una pulgada en función del tamaño físico de la pantalla.
xli
unidad al especificar tamaños de fuente, por lo que se ajusta tanto para la densidad de
pantalla y preferencias del usuario.
La constante
FILL_PARENT
que indica que la vista intentará ser tan grande como su
padre (menos el padding)
La constante
WRAP_CONTENT
que indica que la vista intentará ser lo
suficientemente grande para mostrar su contenido.
android:layout_weight
. Esta propiedad nos va a permitir dar a los elementos
contenidos en el layout unas dimensiones proporcionales entre ellas. Si incluimos en
un LinearLayout vertical dos cuadros de texto (EditText) y a uno de ellos le
establecemos un layout_weight=”1” y al otro un layout_weight=”2” conseguiremos
como efecto que toda la superficie del layout quede ocupada por los dos cuadros de
texto y que además el segundo sea el doble (relación entre sus propiedades weight) de
alto que el primero, si ponemos 1 para los dos, el tamaño será exactamente igual. Esto
se usa mucho, ya que así nos aseguramos una proporcionalidad para todos los tamaños
de pantalla.
android:layout_gravity="center"
. Esta propiedad es la que se usa para centrar, es la
'gravedad' una vez más cuando estén entre las comillas, pulsa Control+Espacio para
ver todas las opciones que te da este control, además las puedes combinar, es
decir,
Center_Horizontal|Top. <-- Esto te lo centra horizontal y lo ajusta en
vertical arriba.
Para el resto de Atributos, cada elemento tendrá los propios, basta con poner el cursor
dentro de la etiqueta del Layout que estemos colocando y pulsar las
teclas Ctrl+Espacio para que Eclipse te recomiende las propiedades del elemento que
estamos insertando. (Aprendeandroid, 2018)
LinearLayout
Este tipo de layout apila uno tras otro todos sus elementos hijos de forma horizontal o
vertical según se establezca su propiedad
android:orientation="vertical" y
android:orientation="Horizontal"
.
xlii
para introducir un texto o cualquier elemento, botón etc, es necesario contar con un
Linearlayout,
Imagen 21 Uso de Linearlayout en android studio
Fuente: (Aprendeandroid,
2018)
xliii
Imagen 22 Código ejemplo de un Linearlayout
Fuente: (Aprendeandroid,
xliv
BASES DE DATOS
Son muchas las aplicaciones en las que son usadas las bases de datos, desde los bancos,
líneas aéreas, educación, telecomunicación, finanzas, producción etc. Este aumento o
creciente uso se dio gracias al desarrollo computacional de mediados del siglo XX, y
sumado a la revolución de la internet democratizo no solo el interés sino también el uso
y desarrollo. (Abraham Silberschatz, 2002).
¿Qué Es SQLite?
Es un suave motor de bases de datos de código abierto, que se caracteriza por mantener
el almacenamiento de información de forma sencilla. A diferencia de otros Sistemas
gestores de bases de datos como MySQL, SQL Server y Oracle DB, SQLite tiene las
siguientes ventajas: No requiere el soporte de un servidor: SQLite no ejecuta un
proceso para administrar la información, si no que implementa un conjunto de librerías
encargadas de la gestión (Revelo, 2014).
•
No necesita configuración: Libera al programador de todo tipo de
configuraciones de puertos, tamaños, ubicaciones, etc.
•
Usa un archivo para el esquema: Crea un archivo para el esquema completo de
una base de datos, lo que permite ahorrarse preocupaciones de seguridad, ya
que los datos de las aplicaciones Android no pueden ser accedidos por
contextos externos.
•
Es de Código Abierto: Esta disponible al dominio público de los desarrolladores
al igual que sus archivos de compilación e instrucciones de escalabilidad.
•
Es por eso que SQLite es una tecnología cómoda para los dispositivos móviles.
Su simplicidad, rapidez y usabilidad permiten un desarrollo muy amigable.
xlv
2.
METODOLOGÍA
METODOLOGIA SCRUM
SCRUM es una metodología de desarrollo ágil para dar forma de manera sencilla y
eficiente a una aplicación o software que se basa en desarrolladores de programación,
ya que esta permite que el avance no solo sea eficiente, si no que permite que los
tiempos sean cortos en función de creación y funcionalidad. esta metodología es
aconsejada por todos los desarrolladores principiantes en el mundo de la programación.
Teniendo en cuenta que los ingenieros topográficos no tienen una metodología
conceptual avanzada o procesos puntuales para desarrollar aplicaciones móviles y
redacción de lenguaje de programación avanzado, y el fuerte académico de estos
profesionales es el modelamiento, diseño e interpretación geográfica de la tierra. Se
investigó teniendo en cuenta los lineamientos de nuestro director de proyecto
encontramos una manera fácil, sencilla, y sobre todo funcional para manejar diferentes
etapas del proceso de creación de la app, la ya mencionada metodología de desarrollo
ágil SCRUM.
La aplicación de esta metodología se adopta por la poca experiencia en desarrollo de
aplicaciones y/o software por medio de lenguaje de programación que tenían los
presentes desarrolladores (estudiantes), el conocimiento previo es adquirido por
asignaturas impartidas en la institución educativa (universidad distrital) como lógica
de programación e ingeniería de software, donde el lenguaje programal es sencillo y
exige crear herramientas, ecuaciones, y procedimientos simples desde el punto de vista
de un desarrollador, mientras que para un estudiante de topografía es algo complejo y
poco usual en su naturaleza académica. A pesar de ello se generó un conocimiento
básico el cual ayudó para el desarrollo del presente documento. Scrum aparece como
alternativa de desarrollo de software desde el punto de vista metodológico para una
aplicación que requiere diferentes operaciones unidas en una sola presentación, por
tanto, permite al desarrollador crear, revisar, mejorar, presentar, incluir nuevas ideas o
quitar las funciones de bajo rendimiento dentro de la aplicación.
1.
Lo primero que se debe tener claro es el producto que se quiere mostrar al usuario
o al consumidor, por lo cual gracias al problema planteado inicialmente se pretende
crear una aplicación móvil que facilite al profesional en topografía o geodesia
minimizar el uso de formatos análogos y registrar cualquier punto o vértice para
uso personal, profesional o empresarial, garantizando a futuro una base de datos
geodésica centralizada, compartida y digitaliza.
xlvi
Posibles Usuarios
•
Empresas privadas que manejan información de datos GNSS.
•
Empresas públicas que manejan información de datos GNSS.
•
Profesionales independientes que manejan información de datos GNSS.
•
Centros de educación superior donde se imparten cátedras relacionadas con
información GNSS.
•
Estudiantes y docentes.
Características de la Aplicación
•
Aplicación móvil compatible con sistemas operativos Android superiores a
4.0, con posibilidades futuras de actualización y migración a otros sistemas
como iOS, Linux y Windows Mobile.
•
Instalación simple y versátil para cualquier tipo de usuario.
•
Aplicación fácil de manipular e interfaz amigable con el usuario.
•
Capacidad de almacenamiento para fotografías.
•
Archivos básicos y bajo tamaño en bites para almacenamiento.
•
Geolocalización por medio de un api.
Historias de usuario
•
Existe el problema de trascripción de los datos en campo a un sistema
digital, ya que genera errores humanos.
•
El uso de papel genera una serie de archivos y contaminación.
•
Perdida de la información en campo, así como la redundancia de datos y
repetición de registros.
•
Unificación de formularios para la toma de información GNSS.
•
Descentralización de la información.
•
Compartir archivos o registros fácilmente.
•
Crear varios registros en una sola sesión sin pérdida de la información.
•
Generar una nube para almacenamiento masivo de data.
•
Crear una base de datos compartida de datos GNSS con todos los
profesionales.
•
Establecer un servidor y a su vez una plataforma web para administración
de datos.
•
Generar una ruta al punto de registro.
xlvii
3.
Al momento de reunir una buena cantidad de historias de usuario se suman en lo
que se llamara una lista de deseos o product Backlog. Básicamente todas las
necesidades que puedan llegar a tener los usuarios se convierten en una base de
datos que ayudaran a priorizar o seleccionar diferentes ideas para una o varias
soluciones que se pueden generar en la aplicación a desarrollar. Por lo tanto, todo
el producto estará fijado en los futuros usuarios.
4.
Para poder desarrollar un producto se debe contar con un equipo de trabajo, para
este caso puntual estará conformado por dos estudiantes de ingeniería topográfica
los cuales serán
Juan Diego sanjuanelo, roll customer (prueba el producto y espera que los usuarios
aprueben la aplicación) y será el Scrum master (organizador) el cual es un generador
de procesos y se encargara que todo el equipo tenga las herramientas necesarias para
trabajar y realizar las tareas como planeación, y reuniones.
Jonathan Enrique contreras Sastoque, con el roll de desarrollador o developer, el cual
se dedica en su mayor tiempo a construir el producto como tal, desde la arquitectura,
pasando por la programación, hasta las pruebas y presentación.
Evelio Madera, docente y tester (evaluador), prueba el producto para verificar que todo
funcione perfectamente
5.
Al tener listo nuestro product backlog podemos seleccionar las mejores historias de
usuario que ayudaran a crear el producto final, para este caso se priorizan las
siguientes necesidades como punto de partida para la aplicación VERTEX, que por
características, funcionalidad y simplicidad al momento del desarrollo programal
podemos solucionarlas.
Product Backlog
•
Solucionar el uso análogo de la información, evitando así el uso de papel
para registro.
•
Descentralización de la información GNSS y registro personal.
•
Compartir archivos o registros fácilmente.
•
Crear varios registros en una sola sesión sin pérdida de la información.
•
Toma de fotografías del punto o puntos de registro.
xlviii
desarrollo haciéndolas manejables dentro de un cronograma de trabajo. Al final se
obtiene un tiempo general el cual será el estimativo de cuanto llevo crear la
aplicación. a esto se le llama estimated work. Gracias a estos tiempos sabremos
cuando liberar cada una de las historias, teniendo en cuenta que la liberación
corresponde que ha sido solucionada, programada y revisada dicha solución, con
lo cual el cronograma de trabajo se estimara en horas de trabajo. (ver cronograma
de trabajo)
6.
Dentro de los tiempos y cada una de las historias se deben determinar story point,
los cuales son componentes más pequeños dentro de cada historia que se pueden ir
desarrollando por separado e ir incluyéndolos dentro de la actividad principal, para
el manejo de las estimaciones en general se deben manejar en horas, si dichas
actividades superan las 8 horas de trabajo normal dicha actividad se convertirá en
día y as u vez si es más de 5 días se convertirá en una semana de trabajo, y si esta
supiera las 3 semanas se aplicara como un mes de trabajo, cada estimación será
específica para cada actividad llevando estos tiempos a la culminación más lejana
para no caer en atrasos.
7.
El monitoreo (backlog sprint) de cada uno de los sprint por parte del scrum máster
es de vital importancia para que al final se realice una check List de cada una de las
historias resueltas, tiempos y calidad final del programa. Para realizar un compilado
de todas las actividades hechas, resueltas y las que probablemente se eliminen o no
cumplan con las expectativas propuestas, esto proporciona al equipo de trabajo una
proyección y una meta a cumplir, por lo que se gestiona a cada ciclo un producto
real, tangible, pero sobre todo funcional y atractivo para el usuario final.
xlix
Con la metodología Scrum el developer y todos los que intervienen en el producto se
entusiasman y se comprometen con el proyecto dado que lo ve crecer iteración a
iteración, el cual es el objetivo principal; que cada fase sea completada antes de seguir
con la siguiente y ver como funcionalmente la aplicación toma forma. Así mismo,
permite en cualquier momento realinear la aplicación, ya sea con los objetivos
propuestos, por los errores cometidos, cambios en la estructura, o por nuevas
propuestas que se puedan incluir en cada iteración sin ningún problema.
Gracias a esta metodología se pueden obtener algunos beneficios:
Adopta una estrategia de desarrollo porcentual y exponencial, en lugar de una
planificación general y ejecución completa del producto.
Cumple con las expectativas ya que al ser el cliente o usuario final el que determina las
necesidades, darles soluciones a estas será el cumplimiento satisfactorio para ellos.
Al tener la capacidad de reconocer fácilmente los cambios en los requerimientos
generados por necesidades del usuario, evoluciones del mercado o errores inesperados,
La metodología se adapta, se reordena, mientras otras actividades siguen su curso.
Time to Market: antes de que el proyecto sea culminado el usuario o el desarrollador
puede ir usando actividades que generen funciones rápidas.
Alta calidad: la metodología permite que en cada iteración y sprint garantizar la
funcionalidad, terminación y mejoras a cada actividad.
productividad: ya que se elimina la jerarquización y dependencias dentro del proyecto,
todos los miembros del proyecto tienden a involucrase con mayor autonomía y gusto
hacia el trabajo diario o el asignado, por lo que la producción general aumentara
drásticamente.
Predicción de tiempos: cualquier imprevisto, cambio de ideas, adición de ideas, errores,
cambios, ampliaciones o un producto más avanzado tendrá en cuenta los story point y
a su vez tiempos determinados de trabajo por lo cual siempre tendrá un manejo
completo de los tiempos prediciendo los tiempos generales y específicos de la
aplicación.
l
Actividades principales o backlog de liberación.
Teniendo en cuenta las user story que posteriormente nos ayudaron a crear un
backlog, se resumen estas necesidades en una actividad que tendrá la aplicación y
que a su vez serán los botones de menú en la presentación principal de la aplicación.
Por lo tanto, el product backlog se resume en:
•
Registro de formulario para la descripción de puntos o vértices Geodésicos.
•
Búsquedas de cada uno de los formularios registrados.
Adicionalmente y como respaldo se generarán tres actividades necesarias ya que es una
aplicación piloto, y así a futuro poder mejorarla y generar nuevas versiones:
•
Registro de una encuesta de satisfacción
•
Búsqueda de las encuestas.
•
Salir de la aplicación.
Story point o clases.
•
Registro de datos basicos.
•
Insertar fecha y hora.
•
Insertar el departamento.
•
Insertar el municipio.
•
Insertar el estado del punto.
•
Hipervínculo convertido en api para llegar a una página web que suministra
información de localización del punto.
•
Enlace de la aplicación con la cámara del dispositivo para la toma de fotos
panorámicas y de la placa o mojón.
•
Grabación de formularios en el dispositivo
•
Búsqueda de los formularios por medio de una llave primaria.
li
Imagen 25 Modelo de ficha técnica preliminar para formulario de registro
(VERTEX)
Basados en el modelo preliminar de registro nos enfocamos en construir una
arquitectura o modelo de presentación inicial de la aplicación, por medio del software
pencil, como se describe a continuación.
CREACION DE MAQUETA O MUCK UP DE LA APLIACION VERTEX
después de realizar todo el proceso de ideación, concepción, investigación, definición
de usuarios, funciones, pero sobre todo tener claro el entorno de trabajo empezamos
con el desarrollo de la maqueta general de la aplicación, por lo tanto fue escogido un
software llamado pencil, el cual es gratuito, didáctico y simple para las personas que
Estado de vértice Describió
Fecha hora
foto placa foto panoramica
Descripción Localización Altura elip (m)
Código
FICHA TÉCNICA VÉRTICE GEODÉSICO PLATAFORMA VERTEX
Nombre de vértice Nomenclatura
Sitio
Coordenadas GCS WGS84 Latitud
Longitud
Generalidades Entidad
Tipo de Vértice DATUM Departamento
lii
recién comienzan en el desarrollo de apps, buscando una visión aproximada de la
presentación externa de la aplicación buscando un estilo simple o sobrio ya que este no
generara residuos de programación y el código fuente es más sencillo de entender y
aplicar, a pesar de que se creara vertex en el entorno Android estudio y este genera
plantillas y modelos simples sin necesidad de requerir lenguaje programas avanzado.
El primer paso es descargar el software pencil, buscándolo como PENCIL PROJECT
en el buscador de preferencia, se revisa el descargable con sus respectivas
especificaciones mínimas del sistema operativo ya sea para IOS, MICROSOFT O
LINUX , ventaja que tiene esta aplicación ya que funciona para cualquier dispositivo
y es totalmente abierta.
Imagen 26 software para crear el muck up Fuente: Propia
liii
Imagen 27 Descarga de software pencil
Fuente: Propia
Dependiendo del sistema operativo y de las características propias del sistema el
computador preguntara que si quieres ejecutar la aplicación descargada de internet; ya
que en ocasiones son de tipo no seguro, pero no hay ningún problema con dicha
ejecución, por lo tanto, se pica en abrir y posteriormente en ok, procediendo a la
instalación.
Imagen 28 Instalación de software pencil
Fuente: Propia
liv
Imagen 29 Ventana de inicio del software pencil
Fuente: Propia
Al ser un entorno de trabajo simple podemos crear pantallas en tiempos cortos y
multiformes por lo cual se explicará paso a paso mientras se genera la maqueta vertex
y al mismo tiempo se explica el manejo básico.
1.
se crea un proyecto nuevo
Imagen 30 Creación de nuevo proyecto en pencil
Fuente: Propia
lv
Imagen 31 Nuevo proyecto en pencil Fuente: Propia
3.
Se arrastra el icono de celular del costado izquierdo para empezar con la que
será la presentación de la aplicación, se centra y elegimos la imagen u objetos
que queremos como presentación inicial, estas imágenes debemos tenerlas
guardadas en nuestro computador y solo es arrastrarlas y acomodarlas dentro
del celular que aparece en la presentación.
lvi
Imagen 33 modelo de inicio de aplicación en pencil
Fuente: Propia
4.
se crea una ventana nueva que para el caso de la aplicación será una función o
la siguiente presentación de ejecuciones, esta ventana se crea con un clic en add
page y se le da el nombre de la ventana, y de igual manera arrastramos los
botones iconos y todo lo que queramos recrear.
Imagen 34 recreación de pantalla interfaz de ventanas
Fuente: Propia
lvii
dentro de la aplicación, teniendo en cuenta las posibles visualizaciones y
acciones a realizar.
Imagen 35 recreación de ventanas de aplicación Fuente: Propia
La tercera pestaña por tanto será el formulario que rellenar y que tipo de datos
requeriría la app para guardar.
lviii
Siguiendo la línea de trabajo procedemos crear otra pestaña de consulta de cada uno de
los formularios registrados, los cuales llevaran un código más consecutivo, y se
realizara una consulta básica en una base de datos interna y adicional capturar por
medio de un screen shot, para asegurar de otra manera la información guardada por
medio de una imagen del formulario.
Imagen 37 creación de formulario en pencil Fuente: Propia
Teniendo en cuenta que para todo dispositivo se requiere un modo fácil de salida se
crea una actividad de cerrar o salir de vertex en la página principal o Home.
lix
Imagen 38 Menú de home o principal de salida
Fuente: Propia
8.
Al tener listas las historias y los tiempos estimados, se da el siguiente paso. Generar
los sprint y ejecutar el desarrollo de la aplicación.
los sprint son la vía corta para que los hitos sean un competente de las entregas,
estos se pueden manejar de 2 hasta 30 días según el ciclo de liberación del producto,
por lo tanto, los sprint son pequeñas representaciones del producto final dividido
en muchas actividades culminadas. Cada sprint “en palabras coloquiales; reuniones
de trabajo”, tienen una duración que depende de la historia de usuario, si son
actividades pequeñas el sprint debe ser corto y de lo contrario se tomara el tiempo
necesario.
Debe quedar claro y establecido que para cada reunión debe estar solucionada y
revisada cada una de las actividades de la lista de tareas y por ende se incluyen en
el producto final y no avanzar en otras actividades hasta que cada una de ellas quede
funcional. A este paso se adiciona un método llamado: iteraciones, que son ciclos
o repeticiones de los sprint cuando una actividad no es satisfactoria o no tiene
solución al culminar la fecha del sprint. por lo que se repetirá dicho sprint hasta que
la porción de programa desarrollado este probado y funcionando.
lx
DESARROLLO DE LA APLICACIÓN
Sprint 1 (Creación Layout - Activity)
Una vez se diseña el formulario grafico en Pencil, se procede a crear cada layout, en
Android Studio, (en el capítulo anterior explicamos el significado de este, su
importancia en el desarrollo de aplicaciones moviles), permitiendo la visualización de
las tablas en un código fuente, las filas, las columnas, y los espacios se especifican en
este código obteniendo así una posición y un orden especifico que posteriormente
fueron la ubicación de cada una de las clases como edit – text, datapiker, o spinner. La
siguiente corresponde a cada uno de los layouts creados para VERTEX.
Imagen 39 Layout creados (activity)
Fuente: propia
lxi
La anterior imagen corresponde a la parte programal de este paso, a hora veamos la
parte grafica que en Android Studio se conoce como Design, como se muestra a
continuación,
Imagen 41 Parte de Diseño de la activity_main (principal)
Fuente: propia
lxii
Cada Button tiene sus atributos que se modifican según el desarrollador
lxiii