• No se han encontrado resultados

Desarrollo de un Prototipo de Software Móvil para Implementar un Taximetro Enfocado al Control del Servicio

N/A
N/A
Protected

Academic year: 2020

Share "Desarrollo de un Prototipo de Software Móvil para Implementar un Taximetro Enfocado al Control del Servicio"

Copied!
124
0
0

Texto completo

(1)DESARROLLO DE UN PROTOTIPO DE SOFTWARE MÓVIL PARA IMPLEMENTAR UN TAXIMETRO ENFOCADO AL CONTROL DEL SERVICIO. ANGÉLICA MARÍA BABATIVA GOYENECHE PAULA DANIELA BRICEÑO NOVOA. UNIVERSIDAD DISTRITAL FRANCISO JOSÈ DE CALDAS FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS BOGOTÁ D.C.

(2) DESARROLLO DE UN PROTOTIPO DE SOFTWARE MÓVIL PARA IMPLEMENTAR UN TAXIMETRO ENFOCADO AL CONTROL DEL SERVICIO. ANGÉLICA MARÍA BABATIVA GOYENECHE PAULA DANIELA BRICEÑO NOVOA. PROYECTO DE GRADO. Directora: MSc. ALBA CONSUELO NIETO LEMUS Co-Director: MSc. OMAR SALAZAR MORALES. UNIVERSIDAD DISTRITAL FRANCISO JOSÈ DE CALDAS FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS BOGOTÁ D.C 2015.

(3) AGRADECIMIENTOS. Inicialmente, nos gustaría agradecer a Dios por bendecirnos para llegar hasta donde hemos llegado, porque hizo realidad este sueño anhelado, y nos dio salud y vida para poder culminar con éxito nuestra carrera profesional. A la UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS por darnos la oportunidad de estudiar y ser profesionales. A nuestra directora de tesis, MSc. Alba Consuelo Nieto Lemus, por su esfuerzo y dedicación, quien con sus conocimientos, su experiencia, su paciencia, su orientación, su persistencia y su motivación ha logrado que podamos culminar con éxito nuestro trabajo. Ha sido un privilegio poder contar con su guía y ayuda. De igual manera agradecer a nuestro Codirector de Tesis de Grado, MSc. Omar Salazar Morales por su paciencia, disponibilidad y generosidad para compartir su experiencia y amplio conocimiento. A nuestro Jurado, MSc. Helbert Eduardo Espitia, por el interés, motivación, apoyo y critica, necesarios para la realización de éste trabajo. También nos gustaría agradecer a nuestros profesores durante toda nuestra carrera profesional, porque todos han aportado con un granito de arena a nuestra formación como ingenieras.. Para ellos: Muchas gracias y que Dios los bendiga..

(4) TABLA DE CONTENIDO 1.. DESCRIPCIÓN DEL PROYECTO ........................................................................... 1 1.1 INTRODUCCIÓN ................................................................................................... 1 1.2 PLANTEAMIENTO DEL PROBLEMA .................................................................... 2 1.2.1 DESCRIPCIÓN DEL PROBLEMA .................................................................. 2 1.2.2 FORMULACIÓN DE LA PREGUNTA CENTRAL DEL TRABAJO .................. 3 1.3 OBJETIVOS........................................................................................................... 4 1.3.1 OBJETIVO GENERAL .................................................................................... 4 1.3.2 OBJETIVOS ESPECIFICOS ........................................................................... 4 1.4 JUSTIFICACIÓN.................................................................................................... 5 1.5 ALCANCES Y LIMITACIONES .............................................................................. 6 1.5.1 ALCANCES ..................................................................................................... 6 1.5.2 LIMITACIONES ............................................................................................... 7. 2.. MARCO REFERENCIAL .......................................................................................... 8 2.1 MARCO TEÓRICO ................................................................................................ 8 2.1.1 TAXIMETRO ................................................................................................... 8 2.1.1.1 CARACTERÍSTICAS .................................................................................. 8 2.1.1.2 FUNCIONAMIENTO .................................................................................. 9 2.1.2 NORMATIVA VIGENTE ................................................................................ 14 2.1.3 GPS .............................................................................................................. 17 2.2 MARCO TECNOLÓGICO .................................................................................... 19 2.2.1 TECNOLOGÍA PARA EL DESARROLLO DE SOFTWARE PARA DISPOSITIVOS MÓVILES ..................................................................................... 19 2.3 ANTECEDENTES................................................................................................ 25 2.3.1 TAXI GPS...................................................................................................... 25.

(5) 2.3.2 TAXÍMETRO GPS ......................................................................................... 25 2.3.3 TAXIANDO .................................................................................................... 25 2.4 MARCO METODOLÓGICO ................................................................................. 26 2.4.1 SCRUM ......................................................................................................... 27 3.. DESARROLLO DEL PROYECTO.......................................................................... 29 3.1 METODOLOGÍA DE DESARROLLO ................................................................... 29 3.1.1 PERSONAS Y ROLES DEL PROYECTO ..................................................... 29 3.1.2 PLAN DEL PROYECTO ................................................................................ 29 3.2 DESARROLLO DEL SPRINT 0 ........................................................................... 33 3.2.1 AMBIENTE DE DESARROLLO .................................................................... 34 3.3 DESARROLLO DEL SPRINT 1 ........................................................................... 35 3.3.1 HISTORIAS DE USUARIO............................................................................ 35 3.3.1 DEPENDENCIAS ENTRE HISTORIAS DE USUARIO ................................. 44 3.3.3 PROTOTIPOS DE LAS HISTORIAS DE USUARIO ..................................... 46 3.3.4 MODELO DE REQUERIMIENTOS ............................................................... 48 3.3.5 MODELO DE CASOS DE USO .................................................................... 50 3.4 DESARROLLO DEL SPRINT 2 ........................................................................... 58 3.4.1 ARQUITECTURA DE LA APLICACIÓN ........................................................ 58 3.4.2 DIAGRAMA DE CLASES .............................................................................. 61 3.4.3 DIAGRAMA DE SECUENCIA ....................................................................... 63 3.4.4 MODELO DE PERSISTENCIA DE DATOS .................................................. 64 3.5 DESARROLLO DEL SPRINT 3 ........................................................................... 66 MÓDULO PARA CARGAR LA TARIFA EN EL SERVIDOR .................................. 66 3.6 DESARROLLO DEL SPRINT 4 ........................................................................... 68 3.7 DESARROLLO DEL SPRINT 5 ........................................................................... 68.

(6) 3.8 DESARROLLO DEL SPRINT 6 ........................................................................... 69 3.9 TECNOLOGÍAS UTILIZADAS EN EL DESARROLLO DEL PROYECTO ........... 69 3.9.1 TECNOLOGÍAS UTILIZADAS....................................................................... 69 3.9.2 LIBRERÍAS ................................................................................................... 72 3.10 PRUEBAS.......................................................................................................... 74 3.11 VALIDACIÓN DE LOS RESULTADOS .............................................................. 79 3.11.1 IDENTIFICACIÓN Y EXPOSICIÓN DEL PROBLEMA ................................ 79 3.11.2 ELECCIÓN DE LOS FACTORES, LOS NIVELES Y LOS RANGOS ......... 79 3.11.3 SELECCIÓN DE LA VARIABLE DE RESPUESTA .................................... 80 3.11.4 ELECCIÓN DE LA TÉCNICA ESTADÍSTICA ............................................. 80 3.11.5 REALIZACIÓN DEL EXPERIMENTO ......................................................... 80 3.11.6 ANÁLISIS ESTADÍSTICO DE LOS DATOS ................................................ 89 3.11.7 CONCLUSIONES DEL ANÁLISIS ESTADÍSTICO ...................................... 90 4.. RESULTADOS OBTENIDOS ................................................................................. 91 4.2 RESULTADOS DEL PROTOTIPO FUNCIONAL ................................................. 92. CONCLUSIONES TRABAJO FUTURO ANEXOS.

(7) ÍNDICE DE TABLAS TABLA 1. Tarifas Recargos 2014. ................................................................................. 12 TABLA 2. Comparación De Sistemas Operativos Para Móviles ................................... 22 TABLA 3. Personas y Roles Del Proyecto. . ................................................................. 29 TABLA 4. Sprints Del Proyecto. . .................................................................................. 33 TABLA 5. Actividades Desarrolladas En El sprint 0. . ................................................. 333 TABLA 6. Herramientas Utilizadas Para El Desarrollo Del Proyecto. ........................... 34 TABLA 7. Actividades Desarrolladas En El Sprint1. ...................................................... 35 TABLA 8. Módulos De La aplicación móvil. .................................................................. 36 TABLA 9. Matriz De Trazabilidad. ................................................................................. 45 TABLA 10. Actividades Sprint 2. ................................................................................... 58 TABLA 11. Actividades Sprint 3.. .................................................................................. 66 TABLA 12. Actividades Sprint 4.. .................................................................................. 68 TABLA 13. Actividades Sprint 5.. .................................................................................. 68 TABLA 14. Actividades Sprint 6.. .................................................................................. 69 TABLA 15.Actividades Realizadas en pruebas. . .......................................................... 74 TABLA 16. Formato De Caso de Prueba: Activar gps................................................... 75 TABLA 17. Formato De Caso de Prueba: Iniciar Medición. .......................................... 76 TABLA 18. Formato De Caso de Prueba: Contabilizar y Seleccionar Recargos........... 77 TABLA 19. Formato De Caso de Prueba: Notificar y Actualizar Modelo De Tarifa. ...... 78 TABLA 20. Formato De caso de Prueba: Notificar Queja En Twitter.. .......................... 79 TABLA 21. Días, Zonas y Franjas En Las Que Se Tomaron Los Datos. ...................... 82 TABLA 22. Toma De Datos.. ......................................................................................... 85 TABLA 23. Cronograma De Las Actividades Desarrolladas. ........................................ 91 TABLA 24. Formato De Caso De Prueba: Mostrar La ubicación Del Usuario. ............ 109 TABLA 25. Formato De Caso De Prueba: Iniciar Aplicación. ...................................... 110 TABLA 26. Formato De Caso De Prueba: Calcular Valor De La Carrera.................... 111 TABLA 27. Formato De Caso De Prueba: Almacenar Información Del Servicio. ........ 112 TABLA 28. Formato De Caso De Prueba: Generar Informe. ...................................... 113 TABLA 29. Formato De Caso De Prueba: Cargar Modelo De Tarifa. ......................... 114 TABLA 30. Distribución T-Student. ............................................................................. 116.

(8) ÍNDICE DE FIGURAS. FIGURA 1. Diagrama De Estado Del Taxímetro. ............................................................ 9 FIGURA 2. Escalafón Infracciones De Taxistas. ........................................................... 13 FIGURA 3. Principio De Triangulación. ......................................................................... 17 FIGURA 4. Funcionamiento AVL. . ............................................................................... 18 FIGURA 5. Arquitectura De Android.............................................................................. 20 FIGURA 6. Funcionamiento Backend As Service Parse. .............................................. 24 FIGURA 7. Pasos Para La Selección De Una Muestra. ................................................ 26 FIGURA 8. Proceso Metodología Scrum....................................................................... 28 FIGURA 9. Sprint Backlog............................................................................................. 31 FIGURA 10. Planeación De Sprints Del Proyecto. ........................................................ 32 FIGURA 11. Módulo De Requerimientos Para La Aplicación........................................ 48 FIGURA 12. Diagrama De Requerimientos Funcionales . ............................................ 49 FIGURA 13. Diagrama De Contexto ............................................................................ 51 FIGURA 14. Diagrama De Casos De Uso Para El Módulo De Medición. ..................... 52 FIGURA 15. Diagrama De Casos De Uso Para El Módulo De Gestión De Tarifas. ...... 53 FIGURA 16. Diagrama De Casos De Uso Para El Módulo De Notificación. ................. 54 FIGURA 17. Modelo De Procesos................................................................................. 55 FIGURA 18. Flujo De Actividades. ................................................................................ 57 FIGURA 19. Arquitectura De La Aplicación................................................................... 60 FIGURA 20. Diagrama De Clases. ................................................................................ 62 FIGURA 21.Diagrama De Secuencia: Iniciar Aplicación. . ............................................ 63 FIGURA 22. Persistencia Del Cliente. ........................................................................... 64 FIGURA 23. Persistencia En El Servidor. . ................................................................... 65 FIGURA 24. Modelo De Procesos: Cargar tarifa. .......................................................... 67 FIGURA 25. Icono De La Aplicación. ............................................................................ 70 FIGURA 26. Aplicación De La Librería Googlemaps. . ................................................. 72 FIGURA 27. Distribución Normal Del Error. ................................................................. 89 FIGURA 28. Medidas Twtaxi vs. Medidas Taxímetro.. .................................................. 90 FIGURA 29. Historia De Usuario: Contabilizar y Seleccionar recargos......................... 92 FIGURA 30. Historia De Usuario: Generar informe Con Los Datos Del Servicio. ......... 93 FIGURA 31. Historia De Usuario: Notificar Queja En Twitter. ...................................... 94 FIGURA 32 Tabla Recargos. . ...................................................................................... 94 FIGURA 33. Tabla Empresa. . ...................................................................................... 95 FIGURA 34. Diagrama De Secuencia: Iniciar Medición.. ............................................ 104 FIGURA 35. Diagrama De Secuencia: Calcular Tarifa. . ............................................. 106 FIGURA 36. Diagrama De Secuencia: Actualizar Tarifa. ............................................ 107 FIGURA 37. Configuración De La Librería Android Support. ...................................... 108 FIGURA 38. Curvas De Operación Características. ................................................... 115.

(9) 1. DESCRIPCIÓN DEL PROYECTO 1.1 INTRODUCCIÓN Un factor importante para el crecimiento de cualquier ciudad es la movilidad, ya que resulta indispensable para los ciudadanos y habitantes disminuir tiempos de desplazamiento; es por ello que el uso de taxis, como servicio público, se ha incrementado en los últimos años. Con un 42.3% [1] la población bogotana afirma preferir este servicio para desplazarse a su trabajo, sitio de estudio o lugar de vivienda, dada la comodidad, rapidez y servicio puerta a puerta que ofrece. A medida que ha aumentado la demanda de este servicio, también se han incrementado los usuarios inconformes con el cobro de la tarifa por parte de los taxistas [2]. Esto ha generado altercados, desconfianza y zozobra en los usuarios, viéndose en riesgo la disminución en la demanda del servicio. Dada esta situación se propone el desarrollo de una aplicación móvil para teléfonos celulares con sistema operativo Android, que controle y verifique las unidades que marca el recorrido que realiza el taxi en el que se transporta un usuario, calculando la tarifa que se debe pagar según la normatividad vigente, establecida por la Secretaria de Movilidad de Bogotá como organismo de regulación. Adicionalmente, la aplicación permitirá generar un reporte en las redes sociales como mecanismo de control social en caso de irregularidades en la marcación del taxímetro o en el cobro de la tarifa.. 1.

(10) 1.2 PLANTEAMIENTO DEL PROBLEMA 1.2.1 DESCRIPCIÓN DEL PROBLEMA Para el cálculo del cobro del servicio de taxi, se hace uso del taxímetro como instrumento de medición el cual le indica al pasajero la cantidad total que debe pagar según las unidades marcadas basándose en la distancia recorrida y el tiempo transcurrido. Para calcular el valor a pagar, cada una de las unidades que marca tiene un equivalente en distancia y en tiempo: se marca una unidad por cada 100 metros recorridos o por cada 30 segundos de espera [3] (Ver sección 2. Normativa Vigente). El valor de la unidad se establece de acuerdo al decreto No. 237 de 2006 [3], donde se determina el costo del kilómetro recorrido y el valor que tendrá cada unidad en pesos. Cada una de estas variables se incrementa en Junio de cada año. La Secretaria de Tránsito y Transporte de Bogotá es la entidad encargada de regular dichos cambios y velar por su cumplimiento. Muchas son las técnicas utilizadas para adulterar el taxímetro lo cual se ve reflejado en el cobro del servicio de taxi. A continuación se mencionan algunas de las prácticas ilegales para manipular y adulterar el funcionamiento correcto de un taxímetro. . Comúnmente llamado en Colombia “muñeco”: Consiste en alterar el taxímetro por medio de elementos externos a los cuales solo puede tener acceso el conductor, una vez que tenga algún tipo de contacto con el taxímetro este se modificará aumentando una unidad, teniendo así, el conductor el control de la tarifa [4].. . Engranaje multiplicador: En esta técnica se hace que el sensor de velocidad del vehículo gire con una velocidad más rápida de lo normal, aumentando así la distancia que realmente se está recorriendo y por ende las unidades marcadas aumentarán [5].. Actualmente los usuarios de taxi que quieran manifestar una inconformidad o hacer una denuncia por el servicio prestado, pueden ir a la página oficial de la Secretaria Distrital de Movilidad y en la parte superior derecha ingresar a la pestaña Contacto [6]. Una vez diligenciado el formato, se generará un número de radicado, con este número el ciudadano puede hacer el seguimiento de su denuncia. Existe en Twitter una página llamada @DenunciealTaxista [7], en donde los usuarios pueden hacer públicas sus quejas de manera rápida. Dicha página no está gestionada por ninguna entidad oficial, pero al ser una red social popular, permite la rápida difusión de éstos reportes. Con el desarrollo de éste proyecto se busca implementar un prototipo móvil, que le permita al usuario monitorear el recorrido y en caso de que lo considere necesario hacer un reporte con los datos de la carrera en la red social Twitter. Para llevar a cabo estas funcionalidades se integrará la tecnología GPS y la red social Twitter.. 2.

(11) 1.2.2 FORMULACIÓN DE LA PREGUNTA CENTRAL DEL TRABAJO ¿Cómo y con qué tecnología debe ser desarrollado el prototipo de software para dispositivos móviles con sistema operativo Android, de tal forma que funcione cómo taxímetro para el usuario, para que éste pueda llevar control del cobro del servicio de taxi, pudiendo generar una queja y hacerla pública en las redes sociales?. 3.

(12) 1.3 OBJETIVOS 1.3.1 OBJETIVO GENERAL Desarrollar un prototipo de software de taxímetro destinado a dispositivos móviles apoyados en el sistema operativo Android y tecnología GPS, para el control de cobro del servicio de taxi por parte de los usuarios en la ciudad de Bogotá, permitiendo hacer públicas las quejas en la red social Twitter. 1.3.2 OBJETIVOS ESPECIFICOS . Especificar los requerimientos del prototipo para el monitoreo del cobro del servicio de taxi ajustado a la normatividad vigente para la ciudad de Bogotá.. . Construir un prototipo de software aplicando la metodología Scrum, utilizando estándares y buenas prácticas de desarrollo para obtener un producto que cumpla con los requerimientos funcionales y a su vez, entregue un resultado preciso en la medición.. . Implementar la aplicación prototipo sobre el sistema operativo Android usando la tecnología GPS, para el cálculo de la tarifa, según los valores establecidos en el decreto No. 237 de 2006 [3].. . Validar el prototipo mediante análisis estadístico, para probar el rendimiento y fiabilidad del mismo, bajo condiciones normales, confrontando el intervalo de tolerancia de las medidas (distancia y tiempo) con el recorrido real del taxi.. 4.

(13) 1.4 JUSTIFICACIÓN Según la investigación realizada por la periodista Luisa Fernanda Ballén titulada Taxímetros Adulterados [4], revela que el taxímetro adulterado es la tercera denuncia más frecuente en el escalafón de infracciones impartidas para el 2013, generando a los bogotanos una pérdida anual de cerca de $200 mil millones. En vista de dichos resultados, se propone desarrollar un prototipo de software que mediante tecnología GPS monitoree los recorridos de las carreras y de esta manera, desde la comodidad de un teléfono celular, muestre las unidades transcurridas y calcule el valor de la carrera incluyendo recargos extra, en caso de que apliquen. Posteriormente se habilitará la opción para enviar un mensaje a la red social Twitter con la información del vehículo, del recorrido y de la tarifa cobrada en caso de inconformidad en el cobro del servicio. Aunque existen aplicaciones móviles que simulan el funcionamiento de un taxímetro como Taxi GPS [8], Taxiando [9] y Taxímetro GPS [10] ninguna de ellas viene integrada con las redes sociales. Cada una de estas presenta algunos inconvenientes, los cuales se presentan a continuación: Taxi GPS: Demora al iniciar la aplicación, las unidades corren más rápido que el taxímetro real y maneja mucha publicidad, lo cual resulta incómodo para sus usuarios [8]. Taxiando: Funciona únicamente como una calculadora de tiempo y tarifa, además solo está disponible en Costa Rica [9]. Taxímetro GPS: Gratuita para Android pero tiene un costo para iOS de 0.99 dólares [10]. El desarrollo se hará sobre el sistema operativo Android, porque:   . El código de Android es abierto, ofreciendo muchas facilidades a la hora de desarrollar [11]. Actualmente existen más de 100.000 aplicaciones disponibles para dispositivos Android, la mayoría gratis [11]. El sistema operativo Android tiene la función multitarea, es decir, es capaz de hacer funcionar a la vez varias aplicaciones y además se encarga de gestionarlas, dejarlas en modo suspensión si no se utilizan e incluso cerrarlas si llevan un periodo determinado de inactividad. De esta manera se evita un consumo excesivo de batería [12].. 5.

(14) 1.5 ALCANCES Y LIMITACIONES 1.5.1 ALCANCES Con la finalización de éste proyecto se pretende entregar la implementación de un prototipo móvil para los usuarios de Taxi en Bogotá instalado en un celular con sistema operativo Android, que le permita al usuario llevar un control de las unidades totales recorridas dadas por distancia y tiempo. La aplicación calculará de manera automática la tarifa básica dada por distancia y tiempo, y permitirá al usuario ingresar los servicios adicionales (Horas extras, servicio puerta a puerta) para el cálculo de la tarifa total. La aplicación debe permitir enviar un reporte a la red social Twitter, aplicación web gratuita, que permitirá a los usuarios enviar, compartir y difundir mensajes, cada una con su correspondiente soporte. La gestión o trámite del reporte no está dentro del alcance de la aplicación. Para que el software sea mantenible se desarrollará un módulo encargado de actualizar automáticamente el valor de las tarifas año tras año. La implementación de la aplicación se hará sobre el sistema operativo Android, en el entorno de programación Eclipse; la aplicación estará disponible para Smartphone y Tablet, algunas de las marcas para la que estará disponible será: Samsung, SonyEricsson, Alcatel, Motorola, Sony, Huawei, LG, entre otras [12].. 6.

(15) 1.5.2 LIMITACIONES La tecnología GPS que se utilizará para monitorear el recorrido del taxi, algunas veces provee información imprecisa debido a factores externos como: precisión del dispositivo GPS, visibilidad del GPS, presencia de edificios muy altos o cambios climáticos; dichos factores hacen que la información suministrada sea poco acertada [13]. Al ser el GPS el instrumento de medida que se utilizará para calcular las unidades recorridas y para evitar ofrecer datos erróneos, se realizará el proceso de verificación del prototipo bajo condiciones normales. En [14], [15] y [16], se enuncia que el desarrollo de software es una actividad, que dada su complejidad, debe desarrollarse en grupo. Además, ésta actividad requiere de distintas capacidades, las que no se encuentran todas en una sola persona. Actualmente existen diferentes metodologías para el desarrollo de software, en donde todas tienen una característica en común, han sido diseñadas para un contexto de trabajo en equipo, planteando la interacción de diferentes tipos de roles, con funciones diferentes dentro del proyecto. La mayor parte del software no puede desarrollarse de manera individual y exige la participación de equipos de desarrollo. Se propuso Scrum [17] como metodología de desarrollo para flexibilizar el manejo del cambio debido a la curva de aprendizaje y teniendo en cuenta que las restricciones de tiempo requerían una construcción rápida, pero sin dejar de lado las buenas prácticas del desarrollo de software. En cuanto a la complejidad del proyecto, se tiene:       . Tipos de contenido: La aplicación contará con un contenido dinámico, para el cual se hará un módulo de actualización para los precios de las tarifas. Geoposicionamiento: La aplicación se basará en la información dependiente de la localización del usuario. Integración con otros sistemas: La aplicación se integrará con la red social Twitter para poner la queja por parte de los usuarios. Diseño Gráfico: Evidentemente no es lo mismo un diseño sencillo con menús y páginas tipo ficha informativa, que aplicaciones móviles que aporten información al usuario. Acceso a Datos: La aplicación deberá acceder a los datos del móvil, comprobar si existe conexión a la red social Twitter con su respectivo Usuario y Contraseña. Aplicación Nativa: La aplicación será nativa, ya que se consigue una mayor calidad y rendimiento con un coste mayor, mientras que las aplicaciones híbridas ofrecen menor rendimiento pero el coste es sensiblemente inferior. Pruebas manuales: La aplicación deberá pasar las pruebas de funcionamiento correcto, lo cual implica hacerse en taxis reales.. 7.

(16) 2. MARCO REFERENCIAL 2.1 MARCO TEÓRICO 2.1.1 TAXIMETRO El taxímetro es un instrumento digital instalado en los taxis que marca las unidades usadas por un pasajero durante un recorrido, busca garantizar el cobro de las tarifas justas, indicando en todo momento el valor que debe pagar el usuario con respecto a la distancia recorrida por el vehículo y al tiempo transcurrido [17]. 2.1.1.1 CARACTERÍSTICAS Los taxímetros deben contar con las siguientes características [19]: . Pantalla Doble: La primera pantalla se utiliza para indicar el número de unidades recorridas, y la segunda pantalla muestra el costo del servicio, las cuales deben disponer de buena luminosidad.. . Visibilidad: Lectura fácil a una visión normal 20/20, a una distancia mínima de 3 metros, tanto de día, como de noche.. . El taxímetro es de tipo digital, y debe estar ajustado para calcular la tarifa base tomando como punto de partida la distancia recorrida y el tiempo.. . Dimensiones: Los dígitos que se muestran en el taxímetro cuentan con una altura mínima de 10,0 milímetros.. . Convertidor de unidades en pesos.. . Está ubicado en el medio de la parte delantera interior del taxi o fijado al techo; con el objetivo de que el pasajero pueda observarlo en cualquier momento.. 8.

(17) 2.1.1.2 FUNCIONAMIENTO El taxímetro cuenta con un ciclo de trabajo de 5 estados: libre, servicio, pausa, pagar y control, como se indica en la figura 1. Cada uno de éstos estados presenta un comportamiento especial [18].. Figura 1. Diagrama de estado del taxímetro. Fuente [20].. 2.1.1.3 UNIDADES DE MEDIDA Para enunciar las indicaciones aportadas por los taxímetros, se establecen siguientes unidades de medida [18]:   . las. El metro o el kilómetro para la distancia recorrida. El segundo, el minuto o la hora para el tiempo. La suma a pagar, se expresará en pesos Colombianos.. A continuación se describen cada uno de los valores básicos de los que consta una tarifa. 2.1.1.3.1 BANDERA La bandera es un dispositivo que indica el estado en el que se encuentra el taxímetro, el cual puede ser: ocupado, o libre, llamado bandera [18]. a) Libre: Taxi desocupado esperando a algún cliente, como se aprecia en la figura; en este estado el display se apaga automáticamente para ahorrar energía.. 9.

(18) b) Servicio: Ésta etapa inicia cuando inicia el viaje, en dónde se va mostrando el número de unidades recorridas. En este estado no debe poder alterarse el valor acumulado por un medio diferente a la función distancia y tiempo. c) A pagar: Tiene lugar cuando el desplazamiento ha finalizado, en dónde se muestra el número total de unidades y el valor a pagar. d) Control: En ésta etapa se puede observar en pantalla determinada información para que el dueño del taxi esté informado acerca del servicio del taxi. e) Pausa: Estado que inicie obligatoriamente cuando se presentan fallas mecánicas, técnicas, eléctricas, etc. Se congelan los valores correspondientes a la distancia y el tiempo, sin alterar los valores anteriormente registrados. 2.1.1.3.2 BAJADA DE BANDERA Es el momento en el que el taxi se encuentra en estado ocupado, es aquí donde el taxímetro toma una cantidad fija inicial, correspondiente a la bajada de bandera, para después comenzar a aumentar sus unidades. 2.1.1.3.2.1 CANTIDAD FIJA La cantidad fija es un valor económico acreditado legalmente por la Secretaría Distrital de Movilidad para el pago de los servicios del transporte retribuido a taxistas, la cual se compone de: . Costo inicial También llamado Banderazo, se refiere al valor en el que inicia el taxímetro al momento de ser puesto en servicio. De acuerdo a la Alcaldía Mayor de Bogotá [19] se estipuló que para el año 2014-2015, el banderazo será de 25 unidades, que corresponden a $2000 pesos.. . Valor del incremento Se refiere al valor económico habitual y constante en el que va aumentando de las unidades del taxímetro a partir del costo inicial.. . Costo por función tiempo Es un valor monetario que se calcula a partir de la siguiente fórmula [18]:. En donde segundos corresponde a la cantidad de tiempo en la que el taxi ha registrado una velocidad menor o igual a la velocidad de cambio de arrastre, y costo. 10.

(19) por hora de servicio es el valor fijado por la Alcaldía Mayor de Bogotá. El costo por la función tiempo es sumado al acumulador interno de costo a medida que se vaya generando. . Costo por función distancia Es un valor monetario que se calcula a partir de la siguiente fórmula [18]:. En donde metros recorridos corresponde a la distancia recorrida durante el servicio, y costo por kilómetro es el resultado de la suma de los costos fijos, variables y de capital calculados por la autoridad competente. El costo por la función distancia es sumado al acumulador interno de costo a medida que se vaya generando. 2.1.1.3.3 VELOCIDAD DEL CAMBIO DE ARRASTRE Se refiere a la velocidad a la que los costos por función distancia y tiempo son equivalentes. A una velocidad menor, el taxímetro automáticamente trabaja en la función tiempo y a una velocidad mayor el taxímetro trabaja en la función distancia. Ésta velocidad se calcula a partir de la siguiente fórmula [18]:. En dónde es la distancia en kilómetros y es el tiempo en horas, ambas variables son determinadas por la Alcaldía Mayor de Bogotá. 2.1.1.3.4 EXTRAS Es un valor adicional que se le cobra al pasajero, el cual no está incluido en la tarifa del taxímetro. El caso más común es por llevar equipaje o artículos pesados. Éste valor se deja a criterio del taxista. 2.1.1.4 MODELO DE TARIFA De acuerdo al decreto 400 de 2014 [19], la Alcaldía Mayor de Bogotá autorizó los nuevos recargos para el año 2014. En la tabla 1, se muestran dichos recargos, y se contrastan contra las del año 2013. . Valor por cada 30 segundos de espera.. 11.

(20) . . Se considera cuando el taxi está inmóvil a causa de trancones o cuando transita a velocidades menores de 10 kilómetros por hora, éste valor aplica en horario diurno y nocturno. Tarifa nocturna Es aquella tarifa entre las 20:00 y las 5:00 horas. Aplica para domingos y festivos todo el día. Tarifa diurna Es aquella tarifa entre las 05:01 y las 19:59 horas. CONCEPTO. UNIDADES. AÑO 2013. AÑO 2014. Valor Unidad cada 100 m.. 1. $ 70. $ 78. Arranques o Banderazo. 25. $ 1.800. $ 2.000. Valor por cada 30 segundos de espera. 1. $ 70. $ 78. Recargo al y del aeropuerto y Puente Aéreo. 50. $ 3.500. $ 3.900. Recargo nocturno dominical y festivo. 24. $ 1.700. $ 1.900. Carrera mínima. 50. $ 3.500. $ 3.900. Servicio por hora. 225. $ 15.800. $ 17.600. 9. $ 600. $ 700. $ 500. $ 500. Puerta a puerta Recargo desde el terminal de transporte. 7. 1. Tabla 1. Tarifas Recargos 2014 . Elaboración propia basada en [19].. 2.1.1.5 TIPOS DE FRAUDES Un estudio realizado por la Policía de Tránsito de Bogotá arrojó que se han sancionado 345 vehículos semestralmente por tener el taxímetro adulterado, cuya consecuencia es que en promedio diariamente los bogotanos pierden 300 millones de pesos [20]. Hay distintas maneras de cometer fraude, algunas de ellas son:. 1. . El paseo Éste tipo de fraude es uno de los más populares, el cual consiste en llevar al pasajero por el camino más largo, pasar por vías congestionadas y dar vueltas sin necesidad, con el objetivo de cobrar más en la carrera.. . Tarifa Anticipada. A la fecha, 28 de Julio de 2015, la Alcaldía Mayor de Bogotá no ha publicado las tarifas del 2015-2016.. 12.

(21) La tarifa anticipada consiste en encender el taxímetro antes de que el pasajero aborde el vehículo, en muchas ocasiones el pasajero no se percata de dicha acción. . El "muñeco" El "muñeco" es un dispositivo ilegal que altera las unidades del taxímetro. Puede ser instalado en cualquier parte del vehículo: El pito, sistema de freno, freno de mano, parte posterior de la dirección o en las direccionales, etc. Consta de un botón, o de una "cuerdita" que permite que al ser presionado o halado, el taxímetro aumente más rápido.. . Uso inadecuado de la tabla de precios Éste tipo de fraude consiste en cobrar más de lo que anuncia el taxímetro, normalmente es hecho a personas de tercera o edad, o jóvenes que según la experiencia del conductor, no usan éste servicio a menudo. En la figura 2 se muestra el escalafón de las infracciones de los taxistas en Bogotá, está encabezada por el uso incorrecto de la tabla de precios con un total de 518 multas, seguido por la revisión tecnicomecánica, la cual debe hacerse anualmente para verificar el estado del vehículo y del taxímetro y en tercer puesto nuestro objetivo: el taxímetro adulterado con 345 multas.. Figura 2. Escalafón Infracciones de Taxistas. Fuente [4].. 13.

(22) 2.1.2 NORMATIVA VIGENTE A continuación se presentarán las diferentes normas y reglamentos vigentes que rige actualmente al servicio de taxis, esas normas fueron emitidas por la Secretaria de Movilidad de Bogotá. 2.1.2.1 Decreto No. 172 de 2001 Conformada por cuatro títulos y 58 artículos [21]. . Título I Parte general En el capítulo uno se define la intención del decreto, teniendo como objetivo principal definir los criterios básicos que debe cumplir cualquier empresa que quiera prestar servicios de trasporte público en vehículo taxi. Entendiendo un vehículo taxi como un servicio público el cual no está sujeto a horarios ni rutas predefinidas, sino que son establecidas por el usuario; dicho recorrido será pactado en mutuo acuerdo entre ambas partes. Todo taxi estará acogido a una empresa legalmente constituida y debidamente habilitada, para ello deberá solicitar la habilitación que le permita operar y así garantizar un servicio eficiente, seguro, oportuno y económico. Los organismos encargados de inspeccionar, controlar y vigilar los reglamentos estipulados serán las autoridades municipales o alcaldes de cada ciudad. Se define tarifa como el precio que se debe pagar por el servicio que se ofrece de transporte individual de pasajero, esta se cancela al llegar al lugar de destino. Se definen como autoridades de trasporte competentes: a) Jurisdicción Nacional. b) Jurisdicción Distrital y Municipal. c) Jurisdicción del área metropolitana constituida de conformidad con la ley.. . Título II Habilitación Cualquier empresa que desee prestar sus servicios y ser parte del trasporte público, deberá solicitar y diligenciar una serie de documentos que lo acrediten y de esta manera asegurar la prestación de un servicio confiable. Una vez se ha realizado la solicitud la autoridad competente tendrá máximo 90 días hábiles para responder. La empresa se someterá a ser evaluada por parte de las autoridades competentes para la confirmación y verificación de datos la cual se realizara en cualquier momento [21].. . Título III Seguros Toda empresa de trasporte público deberá contar con pólizas de seguro que la amparen de posibles riesgos y/o situaciones inesperadas [21].. 14.

(23) . Título IV Prestación del servicio Una vez la empresa tenga los permisos y se habilite al vehículo para prestar el servicio público, deberá permanecer en este servicio como mínimo 5 años. En caso de que se solicite el servicio desde o a un terminal aéreo se debe portar la plantilla única de viaje ocasional solo si se sale del radio de acción autorizado. Por ningún motivo se debe considerar un vehículo taxi como un servicio colectivo, de ser así se tomarán sanciones pertinentes para tal situación. La fijación de tarifas del servicio público de transporte individual de pasajeros en vehículo taxi, será competencia de las autoridades distritales y municipales, dichas tarifas se determinarán de acuerdo a los costos fijados para la canasta de transporte [21].. 2.1.2.2 Decreto No. 237 de 2006 Por el cual se fijan las tarifas para el servicio taxi, determinando variables y criterios que se deben tener en cuenta al momento de establecer el valor de la misma. Dicha tarifa tendrá un incremento anual el cual será calculado el mes de Junio de cada año. Se debe incentivar el servicio de taxis por medio de llamada telefónica con el fin de ofrecer al usuario un servicio más seguro, cómodo y de calidad [3]. La tarifa técnica por unidad, entendida como el valor por unidad cada 100 metros o cada 30 segundos, se establecerá de acuerdo a las siguientes ecuación [3]:. Siendo:. = Costo Kilometro = Costos Fijos Mensuales = Costos Variables mensuales =Costos de Capital mensual = Kilómetros recorridos al mes. Dónde:. = Metros de marcación = Valor de la unidad en pesos = Costos Kilometro. 15.

(24) La tabla de conversiones de unidades a pesos se obtiene de multiplicar el número de unidades transcurridas por el valor de cada unidad vigente autorizada, el resultado de este producto será el valor de la tarifa básica. Además de la tarifa básica se puede aplicar recargos extras al solicitar un servicio de taxi, como se puede observar en la tabla 1: recargo al y del aeropuerto; recargo nocturno, dominical y festivo; recargo por servicio puerta a puerta o por solicitud telefónica del usuario. Definiendo horario nocturno entre las 8:00 p.m. y las 5:00 a.m. del siguiente día. 2.1.2.3 Sanciones Ley 1383 de 2010 Estas sanciones las deberá asumir el conductor y/o propietario del vehículo que cometa las siguientes infracciones [22] : . No llevar las tarifas oficiales en condiciones de fácil lectura para los pasajeros o usar tarifas deterioradas y/o adulteradas. Vehículo inmovilizado.. . Conducir un vehículo de servicio público con el taxímetro: adulterado, dañado, con etiquetas adhesivas o mal calibrado. Es decir, que no cumpla con los requisitos mínimos que garanticen la calidad y confiabilidad del servicio. Un vehículo inmovilizado tienen una multa de 15 salarios mínimos legales diarios vigentes (SMLDV).. . Negarse a prestar el servicio público, sin justificación, a destinos fijados por el usuario siempre y cuando no altere el orden público. Multa de 45 salarios mínimos legales diarios vigentes (SMLDV).. 16.

(25) 2.1.3 GPS En 1973 el Departamento de Defensa de los Estados Unidos inició un proyecto llamado GPS por sus siglas en inglés Global Positioning System. Aunque inicialmente fue desarrollado con fines militares, en la actualidad se usa para diversos fines y se emplea en diferentes ámbitos. La figura que se muestra a continuación ilustra el principio que se emplea para localizar la posición de un dispositivo móvil llamado triangulación, éste principio mide la distancia que hay entre el dispositivo y tres satélites, una vez se obtiene la distancia de estos 3 satélites (puntos de referencia), es posible conocer la posición del dispositivo [23].. Figura 3. Principio de Triangulación. Fuente [24].. 2.1.3.1 GPS PARA LOCALIZACIÓN DE AUTOMÓVILES Algunas de las ventajas que ofrecen los receptores GPS es que se pueden instalar en una variedad de dispositivos y con diversos fines. Uno de los más conocidos es para determinar rutas y trayectorias de vehículos, para ello se instalan en automóviles permitiendo: ubicar la posición donde se encuentra, el tiempo transcurrido que lleva circulando, la velocidad que lleva en marcha, incluso se puede almacenar rutas de interés o por las que se ha pasado, de esta manera se tendrá conocimiento de los sitios por donde ha transitado [23]. Algunas aplicaciones que incorporan tecnología GPS en vehículos son: SpeedView: Aplicativo móvil que mide la velocidad del vehículo indicando la velocidad actual, máxima y media; el tiempo trascurrido y por último la distancia total recorrida. Adicionalmente cuenta con gráficos de velocidad indicando la velocidad de los últimos minutos y con aviso de velocidad, alertando al conductor cuando exceda el límite de velocidad [25].. 17.

(26) My Tracks: Aplicación Android que permite grabar: rutas de interés, velocidad, distancia y elevación a la que se encuentra, adicionalmente se pueden añadir notas y fotos a la ruta mientras se graba. Dichas rutas pueden ser compartidas y almacenadas en Google Drive [26]. 2.1.3.2 SISTEMA GPS AVL El sistema de localización vehicular automatizada o conocido por sus siglas en inglés Automatic Vehicle Location (AVL), es un sistema que identifica, monitorea y localiza unidades móviles en tiempo real. Para ello hace uso de la tecnología GPS lo que le permite determinar datos específicos de un vehículo como: velocidad, aceleración, gastos excesivos en combustible, excesos en límites de velocidad, entre otros [27]. El sistema AVL está compuesto por: GPS; una unidad móvil con el receptor GPS, un servidor de almacenamiento y una aplicación que contenga una base de datos cartográfica digital [27].. Figura 4. Funcionamiento AVL. Fuente [28].. Este sistema es útil en aplicaciones administrativas de transporte, monitoreo de tráfico de camiones distribuidores de una empresa, envío de vehículos en escenas de emergencia, programación de una ruta para un vehículo autónomo, sistema de transporte público, etc. Todo esto se puede administrar desde la distancia a través de un dispositivo móvil. Una se vez se obtiene la información la central tomará las decisiones y los correctivos que considere necesarios [27]. 2.1.3.3 TAXIMETRO CON GPS Una de las opciones que han surgido para el cálculo de la tarifa en taxis es el taxímetro con GPS, aunque cuenta con ciertas limitaciones pues sus cálculos presentan poco grado de precisión, esto se debe a que muchas veces la señal se debilita por la presencia de edificios altos o zonas de escasa cubertura; sin embargo los resultados se aproximan bastante a la tarifa a pagar [29]. Para calcular el valor del recorrido el GPS indica la velocidad y el tiempo trascurrido de una carrera, de esta manera el taxímetro no irá conectado a sensores de velocidad o. 18.

(27) movimiento y el pasajero viajará más tranquilo, pues la probabilidad de que el taxímetro sea adulterado es mínima [29]. 2.2 MARCO TECNOLÓGICO 2.2.1 TECNOLOGÍA PARA DISPOSITIVOS MÓVILES. EL. DESARROLLO. DE. SOFTWARE. PARA. En los últimos años los dispositivos móviles han adquirido cada vez mayor acogida y aceptación en la sociedad, convirtiéndose en elementos indispensables para realizar variedad de tareas, pues independientemente dónde se encuentre el usuario, siempre y cuando tenga conexión a internet. Le facilita: acceder a información de su interés, comunicarse de manera contínua en las redes sociales, ver contenido audio visual de alta calidad, descargar juegos, editar documentos, enviar correos, entre otra [30]. Es así como el concepto de dispositivo móvil visto como herramienta que permite comunicar, ha evolucionado a tal punto que en la actualidad también es usado con fines administrativos y considerado como una herramienta que permite aumentar índices de productividad en una empresa [31]. 2.2.1.1 SISTEMAS OPERATIVOS PARA DISPOSITIVOS MÓVILES 2.2.1.1.1 ANDROID Android es un sistema operativo móvil orientado a la conexión inalámbrica, desarrollado por la Open Handset Alliance y diseñado para dispositivos móviles como Smartphone, tablets, etc. Para el desarrollo de aplicaciones utiliza Java como lenguaje de programación, junto con el entorno de desarrollo JDK y el IDE de Eclipse que facilita el desarrollo de aplicaciones. Este sistema operativo ofrece un kit de desarrollo, Android Software Development Kit, que incluye un depurador, drivers, documentación, bibliotecas y complementos necesarios para programar en Android; esta herramienta es compatible con los entornos de desarrollo: Eclipse, JDK5, Apache Ant y Android Development [32]. Algunas de las características y especificaciones con las que cuenta Android son:   . SQLite: Esta base datos relacional permite el almacenamiento estructurado de datos. Para la conexión soporta las tecnologías: Bluetooth, Wi-Fi, IDEN2, WiMAX3, CDMA4 , entre otras. En cuanto a soporte multimedia es compatible con los medios de comunicación de audio, video y diversos formatos de imagen.. 2. IDEN: Integrated Digital Enhanced Network, tecnología de conexión inalámbrica [72]. WiMAX: Worldwide Interoperability for Microwave Access, estándar de comunicación inalámbrica [74]. 4 CDMA: Code Division Multiple Access, técnica de acceso múltiple a un medio de comunicación [73]. 3. 19.

(28)  . Adicionalmente da soporte a diversos dispositivos de hardware como: pantalla táctil, GPS, acelerómetros, giroscopios, magnetómetros, sensores de: proximidad, presión y luz, termómetro, etc. Cuenta con su propia máquina virtual, Dalvik, para la compilación en tiempo de ejecución. Finalmente le facilita la tarea al programador por medio del entorno Eclipse, el cual tiene un emulador de dispositivos [32].. 2.2.1.1.1.1 ARQUITECTURA DEL SISTEMA OPERATIVO ANDROID Cada uno de los sistemas operativos cuenta con una arquitectura, donde se define la estructura, funcionamiento e interacción de los componentes a nivel de software. Como se puede ver en la figura 5, Android está conformada por cuatro capas que son:. Figura 5. Arquitectura de Android. Fuente [33].. . Kernel: Android está basado en el núcleo de Linux, este núcleo le permite administrar los recursos de software sin tener que comunicarse directamente con el hardware. Dicho núcleo se encarga de cuatro principales tareas que son: ofrecer controladores de hardware, controlar la gestión de energía, gestionar los procesos que se llevan a cabo y gestionar el uso de recursos como la memoria [33].. . Bibliotecas: Para ampliar el número de funcionalidades de una aplicación, Android ofrece un kit de librerías escritas en c/c++, por medio de llamadas a dichas bibliotecas se tiene acceso a rutinas de tareas que se repiten con. 20.

(29) . frecuencia en un sistema, como manejo de: persistencia con SQLite, multimedia, efectos gráficos con gestor de superficies, fuentes tipográficas con FreeType, entre otras [33]. Entorno de ejecución: Además de las bibliotecas mencionadas con anterioridad, Android ofrece Bibliotecas donde se encuentran especificaciones propias de Android, adicionalmente esta capa está compuesta por la máquina virtual Dalvik donde se corren los procesos [11].. . Marco de aplicación: En esta capa se encuentran las componentes que consumen las aplicaciones para su funcionalidad como clases y servicios [33].. . Aplicaciones: Ultima capa donde se encuentran las aplicaciones de cada uno de los dispositivos [12].. 2.2.1.1.2 SYMBIAN Symbian es un sistema operativo robusto de 32 bits diseñado específicamente para dispositivos móviles, está diseñado para ejecutar aplicaciones en un entorno con recursos reducidos, lo que permite la vida útil de la batería, su principal desventaja consiste en la tardanza del equipo para responder, además el precio de los móviles con éste sistema operativo es elevado [34]. 2.2.1.1.3 WINDOWS MOBILE Windows Mobile es un sistema operativo desarrollado por Microsoft exclusivo para teléfonos móviles, diseñado con el fin de ofrecer un software similar a Windows OS, por ésta razón brinda una interfaz gráfica familiar para el usuario. Windows Mobile facilita la posibilidad de usar herramientas pertenecientes a las suites Office Mobile, Outlook Mobile e Internet Explorer. Su principal desventaja es no permitir la opción de multitareas, es decir, que no permite que varios procesos se ejecuten simultáneamente compartiendo uno más procesadores [35]. 2.2.1.2 COMPARACIÓN ENTRE SISTEMAS OPERATIVOS PARA MÓVILES El mercado de dispositivos móviles está en permanente movimiento: surgen nuevos sistemas operativos, desaparecen otros, algunos marcan tendencias nuevas, otros pasan desapercibidos [36]. En la tabla 2, se hace una comparación de las principales características de Symbian, Windows Phone y Android.. 21.

(30) CARACTERISTICA. Variedad de Móviles Mayor cantidad de aplicaciones disponibles Interfaz Intuitiva Disponibilidad SDK. del. OpenSource Multitarea Localización GPS Antivirus Cortafuegos Tabla 2. Comparación de Sistemas Operativos para móviles Fuente: Elaboración propia basada en [37].. Para el desarrollo del proyecto, se optó por usar el sistema operativo Android, debido a que presenta mayores ventajas con respecto a los demás sistemas operativos como:  . . . El código de Android es abierto, ofreciendo muchas facilidades a la hora de desarrollar. Actualmente existen más de 100.000 aplicaciones disponibles para dispositivos Android [32], tanto gratuitas, como de pago. Adicional a la libertad de código permite adecuar Android a otros dispositivos además de teléfonos celulares como Tablets. El sistema Android tiene la función multitarea, es decir, es capaz de hacer funcionar a la vez varias aplicaciones y además se encarga de gestionarlas, dejarlas en modo suspensión si no se utilizan e incluso cerrarlas si llevan un periodo determinado de inactividad. De esta manera se evita un consumo excesivo de batería. Permite realizar una aplicación portable, para una gran cantidad de usuarios.. 22.

(31) 2.2.1.3 ENTORNOS DE DESARROLLO PARA APLICACIONES MÓVILES 2.2.1.3.1 ECLIPSE Eclipse [11] es un entorno de desarrollo de código abierto, basado en el lenguaje de programación Java. Aunque inicialmente estaba pensado para Java en la actualidad es un entorno de software multi-lenguaje y en caso de que quiera ser utilizado para algún lenguaje en específico, brinda la posibilidad de instalar plugins y así ofrecer todas las funcionalidades. El uso de dichos plugins permite integrar varios lenguajes en un mismo IDE, adicionalmente le ofrecerle al desarrollador editores visuales para el diseño de sus proyectos por medio de la creación de diagramas UML, editores para la creación de interfaces gráficas para el usuario GUI, etc. Uno de los plugins que ofrece Eclipse para el desarrollo de aplicaciones Android es ADT Android Development Tools, este plugin permite: configurar proyectos Android, crear interfaz de usuario, depurar aplicaciones, entre otros [38]. Es por ello que eclipse es el IDE preferido a la hora de desarrollar aplicaciones sobre la plataforma Android pues ofrece herramientas que agilizan la fase de inicio en un producto de software. Por lo mencionado anteriormente el presente proyecto hizo uso de este entorno de desarrollo y de los plugins que se consideraron necesarios. 2.2.1.3.2 JAVA MICRO EDITION Java es un lenguaje de programación orientado a objetos fundado por James Gosling, Patrick Naughton, Chis Wart, Ed Frank y Mike Sheridan, miembros de la compañía Sun Microsystems en California [39]. Creado con la intencionalidad de ofrecer: un software portable, de tamaño reducido e independiente del hardware. En 1999 Sun Microsystems da a conocer una nueva versión de Java [40], Java 2 Micro Edition, esta versión fue diseña para el desarrollo y ejecución de aplicaciones instaladas en dispositivos con memoria, pantalla y capacidad de procesamiento reducidas, como es el caso de: PDA (Personal Digital Assistant), teléfonos móviles o electrodomésticos inteligentes. Un entorno de ejecución en Java Micro Edition, está conformado por tres componentes: . Máquina virtual: La máquina virtual de java es muy pesada para dispositivos móviles, es por eso que Java Micro Edition define dos máquinas virtuales, KMV y CVM, que se adaptan más a las limitaciones en cuanto a memoria y requerimientos computacionales [40]. KMV (Kilo Virtual Machine) dirigido a dispositivos con recursos limitados en cuanto a memoria y capacidad computacional, capacidad de memoria mínima de 128 KB, procesador entre 16 ó 32 bits. CVM (Compact Virtual Machine) dirigido a los dispositivos que cuentan con procesadores de 32 bits y con capacidad de memoria RAM de 2Mb.. . Configuración: Es el conjunto de clases que permiten desarrollar aplicaciones para una gama de dispositivos. Java Micro Edition define dos configuraciones,. 23.

(32) CDC y CLDC, la primera de ellas orientada a dispositivos con 512 KB de ROM, 256 de RAM, interfaz de usuario relativamente limitado y CLDC orientado a dispositivos con 192 KB A 512 KB de memoria, procesador de 16 o 32 bits, restricciones en el consumo de energía, entre otras [40]. . Perfiles: Los perfiles son las clases que permitirán complementar la configuración de una aplicación, los perfiles se encargan del mantenimiento del ciclo de vida de la aplicación, de la interfaz del usuario, entre otras [40].. 2.2.1.3.3 API DE GOOGLE MAPS Es un servidor de aplicaciones de mapas online, permite localizar la ubicación de un usuario en un momento determinado, en cualquier parte del mundo. Google Maps no es un software libre, por lo que está limitado a una serie de condiciones de servicio. Puede usarse de forma gratuita, siempre que la aplicación no solicite más de 15.000 codificaciones geográficas al día [41]. 2.2.1.3.4 BACKEND AS A SERVICE PARSE BackEnd as a Service (BaaS), es un enfoque para proporcionar servicios Web a los desarrolladores de aplicaciones móviles. Permite vincular el almacenamiento de sus aplicaciones a la nube, como se ilustra en la figura 6. El servicio que se usó para el desarrollo de la aplicación fue Parse, ya que provee un BackEnd de gestión y funciones tales como la gestión de usuarios, notificaciones push e integración con servicios de redes sociales. Además es de uso gratuito, siempre y cuando no se superen ciertos umbrales de uso [42]. Entre los principales servicios de Parse [43], se encuentran: . Modelo de datos en la nube: Permite la creación de tablas en la nube y capacidades para insertar, modificar y consultar vía API.. . Notificaciones Push: Envío de notificaciones push a los usuarios de la aplicación.. Figura 6. Funcionamiento BackEnd As Service Parse. Fuente [45].. 24.

(33) 2.3 ANTECEDENTES Dado al auge y constante mejoramiento de los cálculos en GPS, se han lanzado al mercado diversas aplicaciones móviles que cuentan con sistemas de Información Geográfica orientada a móviles, como lo son: 2.3.1 TAXI GPS Esta aplicación simula el comportamiento de un taxímetro. De esta manera el pasajero podrá verificar que el taxímetro del conductor no está adulterado. Adicionalmente ofrece la opción de ingresar recargos extras como: recargos nocturnos y/o festivos; si el servicio fue realizado puerta a puerta; recargo al aeropuerto y recargo terminal [8]. Presenta inconvenientes como: las unidades corren más rápido que el taxímetro real y maneja mucha publicidad, lo cual resulta incómodo para sus usuarios. 2.3.2 TAXÍMETRO GPS Es un emulador del funcionamiento de un taxímetro, con disponibilidad gratuita para Smartphone y a 0.99 dólares para iOS. Este aplicativo permite modificar la distancia, el tiempo y la bajada de bandera. Para una aproximación más precisa verifica que el vehículo se encuentre detenido o en movimiento haciendo uso de GPS [10]. Su desventaja principal es la demora al iniciar la aplicación. 2.3.3 TAXIANDO Aplicación desarrollada sobre el sistema operativo Android, que da a conocer la velocidad del taxi, el tiempo transcurrido desde que inicia el viaje y la distancia que se ha recorrido, funciona únicamente en Costa Rica. Algunas de las desventajas que tiene es que no permite guardar datos del viaje, ni manipularlos para generar un reporte, es decir, sólo funciona como una calculadora de tiempo y tarifa [9].. 25.

(34) 2.4 MARCO METODOLÓGICO Hoy en día el software es inestable y cambiante por lo que las metodologías robustas como RUP no se adaptan al desarrollo, ya que considera necesario conocer desde un principio qué desea el cliente. Existe una gran variedad de metodologías para el desarrollo de software, como las metodologías ágiles, que surgen como respuesta a la necesidad de simplificar el desarrollo y la reducción del costo del proyecto, minimizando drásticamente los tiempos de desarrollo pero manteniendo una alta calidad. Estas metodologías se enfocan en las personas y en los resultados, promoviendo iteraciones en el desarrollo a lo largo de todo el ciclo de vida del proyecto. En cada iteración se incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación [44]. Para validar el funcionamiento del prototipo se realizaron pruebas estadísticas que comprobaron el correcto funcionamiento, después de llevar a cabo las pruebas, se estimó el grado de fiabilidad operacional del sistema, estimando el porcentaje de error que se presentó en condiciones favorables.. Figura 7. Pasos para la selección de una muestra. Fuente [45].. Las pruebas de validación permitieron probar el rendimiento y fiabilidad del aplicativo bajo ciertas condiciones. Para ello se pasó por las siguientes etapas: diseño del prototipo, parte experimental, generación de hipótesis y se finalizó con un análisis de los resultados obtenidos [46].. 26.

(35) 2.4.1 SCRUM Scrum es una metodología ágil y flexible desarrollada por Ken Schwaber y Jeff Sutherland, en la que se aplican un conjunto de buenas prácticas para trabajar en equipo colaborativamente, y así obtener el mejor resultado posible. Ésta metodología es ligera, fácil de entender y extremadamente fácil de implementar, basándose en la teoría de control de procesos empírica. El empirismo afirma que el conocimiento proviene de la experiencia y de tomar decisiones apoyándose en lo que se conoce [47]. La metodología Scrum es apropiada para proyectos, donde los requisitos son cambiantes y poco definidos, además se necesita obtener resultados pronto, siendo fundamental la innovación, la competitividad, la flexibilidad y la productividad, es por ello que se realizan entregas parciales y regulares del producto final [47]. 2.4.1.1 PROCESO Como se ilustra en la figura 8, la metodología Scrum define un conjunto de prácticas que se recomiendan llevar a cabo en el desarrollo de un proceso. Conformada principalmente por cinco roles, cada uno de los cuales lleva a cabo tareas indispensables en el desarrollo de un proyecto, algunas de ellas son: ScrumMaster líder del equipo encargado de solucionar y eliminar cualquier distracción que retrase el desarrollo del proyecto. ProductOwner rol encargado de asegurarse que se trabaje conforme a los requerimientos del cliente y a la lógica del negocio. Team, conformado por los desarrolladores encargados de entregar el producto final. Stakeholders o clientes, interviene únicamente en las revisiones del Sprint. Administradores; personas encargadas de determinar el ambiente en el que se va a trabajar [48]. En Scrum, la etapa de desarrollo se divide en Sprints, que son ciclos cortos de trabajo que al finalizar produce un producto terminado, de duración entre un mes y como máximo seis semanas. Para el desarrollo de esta metodología es importante establecer las fechas de revisión o Sprint, donde se entregaran versiones de software [49]. A continuación se describe brevemente el proceso de desarrollo en Scrum: 1. Se inicia con los requerimientos que establece el cliente, donde hace énfasis en las prioridades que se tener en cuenta para empezar a desarrollar el aplicativo, esta lista de requisitos que define el usuario se denomina pila del producto. 2. El equipo de desarrolladores hace una estimación del esfuerzo que le llevará realizar cada una de las funcionalidades que el usuario definió previamente. En esta etapa el equipo genera una lista de los requisitos que se llevaran a cabo en el Sprint. 3. Se realiza una reunión diaria con una duración aproximada de 15 minutos, cada uno de los miembros le comparte al equipo los avances y los factores que han retrasado las tareas que se les ha asignado.. 27.

(36) 4. Al finalizar el Sprint se entrega parte del producto desarrollado listo para ser probado, codificado y documentado. 5. Todo el equipo de trabajo se reúne para evaluar el producto entregado para el finalizar la reunión presentar sugerencias y determinar las fechas del próximo Sprint [49].. Figura 8. Proceso Metodología Scrum. Fuente [48].. La metodología Scrum fue la escogida para el desarrollo de este proyecto por permitir el desarrollo iterativo e incremental y por admitir avanzar en la construcción sin tener que elaborar todo el marco estructural, haciendo que se tomen acciones correctivas a tiempo.. 28.

(37) 3. DESARROLLO DEL PROYECTO A continuación se describe el proceso de desarrollo del proyecto. Inicialmente se seleccionó la metodología de trabajo y se definieron los roles; luego se definió el plan del proyecto y se programaron los Sprints de desarrollo. Para elaborar el plan se priorizaron las diferentes funcionalidades y cada una de ellas fue asignada a un Sprint. Las actividades realizadas en cada uno de los Sprints se recopilaron de la sección 3.3 a la 3.8. 3.1 METODOLOGÍA DE DESARROLLO Para el desarrollo y elaboración del proyecto "DESARROLLO DE UN PROTOTIPO DE SOFTWARE MÓVIL PARA IMPLEMENTAR UN TAXIMETRO ENFOCADO AL CONTROL DEL SERVICIO" se utilizó la metodología de trabajo Scrum, dado que permitió abordar de manera rápida cada una de las fases del proyecto y responder adecuadamente a los cambios que se presentaron a lo largo del proyecto. 3.1.1 PERSONAS Y ROLES DEL PROYECTO Este proyecto contará con la participación de las siguientes personas: PERSONA. CONTACTO. ROL. Alba Consuelo Nieto Lemus.. Directora de tesis.. Scrum Master1. Omar Salazar.. Co-Director de tesis.. Scrum Master2. Angélica María Babativa G.. Estudiante.. Scrum Team 1. Paula Daniela Briceño N.. Estudiante.. Scrum Team 2. Tabla 3. Personas Y roles del proyecto. Fuente: Elaboración propia.. Scrum Master: guía y orienta el desarrollo del proyecto, estableciendo pautas y estándares recomendables a seguir. Motiva a que los miembros del equipo sean organizados y autodidactas [50]. ScrumTeam: grupo de personas encargadas de desarrollar el producto, el equipo de trabajo debe tener dominio en diferentes áreas del conocimiento para dar cubrimiento a todas las funcionalidades y objetivos del proyecto [50]. 3.1.2 PLAN DEL PROYECTO Con el propósito de alcanzar los objetivos propuestos en el tiempo estimado, se organizaron y planificaron las diferentes actividades que se debían realizar dentro del proyecto. Para ello se hizo uso de las herramientas que ofrece IceScrum [47]. Inicialmente se construyó el Product Backlog, documento en el que se agruparon las historias de usuario funcionales y no funcionales (técnicas). Una vez se obtuvieron todas las historias de usuario, cada una de ellas fue asignada a uno de los 6 Sprint. La. 29.

(38) asignación de estas historias no fue definitiva y se sometió a cambios, pues a medida que se iba avanzando en el desarrollo se encontró que algunas historias de usuarios eran redundantes y en algunas se especificó con mayor detalle la lógica de negocio. 3.1.2.1 PRODUCT BACKLOG Documento en el que se listaron y recopilaron las historias de usuario, para cada una de ellas se definió: nombre, tipo (historias de usuario, historias predeterminadas o historias técnicas/no funcionales) y descripción. Las historias de usuario se clasificaron en 4 módulos, cada uno con un color que lo identifica: azul para gestión de tarifas, verde para medición, rosado para notificación y morado para validación. Las historias de usuario que están en color amarillo son historias técnicas. Luego de listar todas las historias de usuario, se seleccionaron las que tuvieran un valor significativo dentro del proyecto. En el Sandbox5 se organizaron de izquierda a derecha según el orden de realización. El número que viene acompañado por la palabra Estimated indica el tiempo, estimado en semanas, para realizar cada una de las HU. El Product Backlog se definió entre el ScrumTeam y el Scrum Master [49].. 5. Sandbox: Documento en el que se incorporan todas las posibles historias de usuario que contendrá el proyecto [49].. 30.

(39) Figura 9. Sprint Backlog. Fuente: Elaboración Propia.. 31.

(40) 3.1.2.1.1 PLANEACIÓN DE SPRINTS Los Sprints son reuniones que se hacen periódicamente, cada 15 días [49], en las que el grupo de trabajo muestra lo que ha adelantado, en caso de que a algún miembro se le haya presentado dificultades, las da a conocer al equipo. Al finalizar cada Sprint se deben entregar productos terminados y se debe registrar en el Release Plan las HU que el grupo de trabajo se compromete a entregar en las próximas reuniones [47]. En el Release Plan se definieron 6 Sprints cada uno con una duración y una asignación de historias específicas.. Figura 10. Planeación de Sprints del proyecto. Fuente: Elaboración propia.. 32.

(41) Historias Planificadas Documentación previa del desarrollo móvil. Desarrollo de un prototipo inicial de bajo nivel. Construcción de las historias de usuario. Prototipo de las historias de usuario. Modelo de requerimientos. Modelo de casos de uso. Arquitectura de la aplicación. Diagrama de clases. Modelo de base de datos. Verificar y solicitar la activación del GPS. Mostrar la ubicación del usuario en el mapa. Iniciar aplicación. Cargar modelo de tarifa. Iniciar medición. Contabilizar y seleccionar recargos. Calcular valor de la carrera. Almacenar información del servicio. Generar informe con los datos del servicio. Notificar y actualizar modelo de la tarifa. Notificar queja en Twitter. Manual del usuario de la aplicación móvil: TwTaxi. Manual del usuario de la aplicación web: Administrador TwTaxi.. Sprint Sprint 0 Sprint 1. Sprint 2. Sprint 3 Sprint 4 Sprint 5 Sprint 6. Tabla 4. Sprints del proyecto. Fuente: Elaboración propia.. Una vez especificados los requerimientos funcionales y no funcionales, se hará una descripción de lo que se realizó en cada uno de los Sprints. La planificación y asignación de estos requerimientos no fue definitiva pues se fueron modificando a medida que se avanzó en el proyecto o que surgieron nuevas historias. 3.2 DESARROLLO DEL SPRINT 0. ACTIVIDADES ENTREGABLES DURACIÓN. Se realizó una documentación previa sobre desarrollo móvil. Se definió el entorno de desarrollo, junto a sus componentes y librerías. Se desarrolló un prototipo funcional inicial. Prototipo Inicial de bajo nivel. 1 Semana. Tabla 5. Actividades desarrolladas en el Sprint 0. Fuente: Elaboración propia.. 33.

Figure

Figura 5. Arquitectura de Android.   Fuente [33].
Tabla 2. Comparación de Sistemas Operativos para móviles                                                                         Fuente: Elaboración propia basada en [37]
Tabla 4. Sprints del proyecto. Fuente: Elaboración propia.
Tabla 6. Herramientas utilizadas para el desarrollo del proyecto.  Fuente: Elaboración propia
+7

Referencias

Documento similar

La aplicación Derivador Fx es una herramienta para usuarios con dispositivos móviles, ya sean teléfonos inteligentes o tabletas con sistema operativo android con

Además, como interfaz gráfica con el usuario se desarrolla una aplicación para dispositivos móviles basados en el sistema operativo Android, la cual permite controlar el

CONCLUSIONES En este trabajo se presentan resultados preliminares del desarrollo de una aplicación móvil para dispositivos móviles inteligentes con sistema operativo Android que

El presente proyecto tiene como fin desarrollar una aplicación para dispositivos móviles con sistema operativo Android, que se constituya en un mecanismo de

También desarrollaremos una aplicación para teléfonos móviles con Sistema Operativo Android que haga uso de la realidad aumentada, que mediante nuestra posición

Esto, sumado al potencial de los dispositivos móviles actuales, posibilita el desarrollo de un prototipo de aplicación visual 3D para el aprendizaje de

Como posible resultado se pretende que, al concluir la investigación, en Cuba se cuente con una aplicación para dispositivos móviles con el sistema operativo Android que

Se emplea en teléfonos y dispositivos móviles para mejorar el funcionamiento del sistema GPS empleando las antenas de telefonía móvil para obtener los datos GPS