AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en...

118
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA Desarrollo de una aplicación móvil, para implementar el uso de vehículo compartido en la Facultad de Ingeniería, Ciencias Físicas y Matemática Trabajo de titulación modalidad Proyecto Integrador, Previo a la obtención del título de Ingeniero Informático AUTOR: Marco Vinicio García Yunga TUTOR: Ing. Milton Giovanny Moncayo Unda Quito, 2018

Transcript of AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en...

Page 1: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA

CARRERA DE INGENIERÍA INFORMÁTICA

Desarrollo de una aplicación móvil, para implementar el uso de vehículo compartido en

la Facultad de Ingeniería, Ciencias Físicas y Matemática

Trabajo de titulación modalidad Proyecto Integrador,

Previo a la obtención del título de Ingeniero Informático

AUTOR: Marco Vinicio García Yunga

TUTOR: Ing. Milton Giovanny Moncayo Unda

Quito, 2018

Page 2: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

ii

DERECHOS DE AUTOR

Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos

morales y patrimoniales del trabajo de titulación “DESARROLLO DE UNA

APLICACIÓN MÓVIL, PARA IMPLEMENTAR EL USO DE VEHÍCULO

COMPARTIDO EN LA FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y

MATEMÁTICA”, de modalidad PROYECTO INTEGRADOR, de conformidad con el

Art. 114 del CÓDIGO ORGÁNICO DE LA ECONOMÍA SOCIAL DE LOS

CONOCIMIENTOS, CREATIVIDAD E INNOVACIÓN, concedemos a favor de la

Universidad Central del Ecuador una licencia gratuita, intransferible y no exclusiva para

el uso no comercial de la obra, con fines estrictamente académicos. Conservamos a mi

favor todos los derechos de autor sobre mi obra, establecidos en la normativa citada.

Así mismo, autorizo a la Universidad Central del Ecuador para que realice la

digitalización y publicación de este trabajo de titulación en el repositorio virtual, de

conformidad a lo dispuesto en el Art, 144 de la Ley Orgánica de Educación Superior.

El autor declara que la obra objeto de la presente autorización es original en su forma de

expresión y no infringe el derecho de autor de terceros, asumiendo la responsabilidad por

cualquier reclamación que pudiera presentarse por esta causa y liberando a la Universidad

de toda responsabilidad.

En la ciudad de Quito a los 23 días del mes de noviembre del año 2018.

_______________________________

MARCO VINICIO GARCÍA YUNGA

C.I.: 1722508593

[email protected]

Page 3: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

iii

APROBACIÓN DEL TUTOR

En mi calidad de Tutor del Trabajo de Titulación, presentado por MARCO VINICIO

GARCÍA YUNGA, para optar por el Grado de Ingeniero Informático; cuyo título es:

DESARROLLO DE UNA APLICACIÓN MÓVIL, PARA IMPLEMENTAR EL

USO DE VEHÍCULO COMPARTIDO EN LA FACULTAD DE INGENIERÍA,

CIENCIAS FÍSICAS Y MATEMÁTICA, considero que dicho trabajo reúne los

requisitos y méritos suficientes para ser sometido a la presentación pública y evaluación

por parte del tribunal examinador que se designe.

En la ciudad de Quito a los 23 días del mes de noviembre del año 2018.

_______________________

Ing. Milton Giovanny Moncayo Unda

DOCENTE-TUTOR

C.C. 171893338-3

Page 4: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

iv

DEDICATORIA

A mis Padres, mi familia y amigos más cercanos.

Page 5: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

v

AGRADECIMIENTOS

Deseo expresar mi eterno agradecimiento a mis Padres, quienes siempre estuvieron para

apoyarme a lo largo de toda mi carrera universitaria, y a toda mi familia que siempre

confió en mí y me alentaban para seguir adelante con mis sueños.

Extiendo mis más sinceros sentimientos de agradecimiento al Ing. Giovanny Moncayo,

tutor de mi trabajo de titulación, quien siempre estuvo pendiente de los avances que

realizaba en el desarrollo de la aplicación.

Un agradecimiento especial al Ingeniero David Arruelas, gran compañero a lo largo de

toda mi carrera universitaria e incluso después de esta, quien, sin sus consejos, enseñanzas

y tutorías no habría sido posible la culminación de mi trabajo de titulación.

A mis compañeros de la carrera de Ingeniería Informática, con quienes vivimos y

compartimos buenos momentos, con los cuales formé más que solo una amistad,

formamos una hermandad que espero perdure y sobreviva al paso de los años.

Finalmente agradeceré a todos los ingenieros docentes de la Facultad de Ingeniería de la

Universidad Central del Ecuador, por el conocimiento y experiencias compartidas a mi

persona.

Page 6: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

vi

CONTENIDO

Pág.

DERECHOS DE AUTOR ............................................................................................................. ii

APROBACIÓN DEL TUTOR ..................................................................................................... iii

DEDICATORIA ...........................................................................................................................iv

AGRADECIMIENTOS ................................................................................................................ v

LISTA DE FIGURAS ................................................................................................................... ix

LISTA DE TABLAS ..................................................................................................................... xi

RESUMEN ................................................................................................................................... xii

ABSTRACT ................................................................................................................................ xiii

INTRODUCCIÓN ........................................................................................................................ 1

1. ANÁLISIS DEL PROBLEMA ............................................................................................. 3

1.1 Antecedentes ................................................................................................................. 3

1.2 Planteamiento del Problema .......................................................................................... 3

1.3 Definición del Problema ................................................................................................ 7

1.4 Objetivos ....................................................................................................................... 8

1.4.1 Objetivo General ................................................................................................... 8

1.4.2 Objetivos Específicos ........................................................................................... 8

1.5 Justificación ................................................................................................................... 8

1.6 Alcance del proyecto .................................................................................................... 9

1.7 Limitaciones del proyecto ........................................................................................... 10

2. MARCO TEÓRICO ............................................................................................................ 12

2.1 Marco Conceptual ....................................................................................................... 12

2.1.1 Vehículo Compartido .......................................................................................... 12

2.1.2 Dispositivo Móvil ................................................................................................ 13

2.1.3 Aplicación Móvil ................................................................................................. 13

2.1.3.1 Aplicaciones Nativas ....................................................................................... 14

2.1.3.2 Aplicaciones Web Nativas (Híbridas) ............................................................. 14

2.2 Marco Técnico – Herramientas de Desarrollo ............................................................ 15

2.2.1 Android ............................................................................................................... 16

2.2.2 Arquitectura Android .......................................................................................... 17

Page 7: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

vii

2.2.3 Apache Cordova .................................................................................................. 19

2.2.4 NODE.JS ............................................................................................................. 20

2.2.5 Android SDK...................................................................................................... 20

2.2.5 HTML – HTML5 ............................................................................................... 21

2.2.6 CSS ..................................................................................................................... 22

2.2.7 JavaScript ............................................................................................................ 23

2.2.8 JQuery ................................................................................................................. 25

2.2.9 JQuery Mobile ..................................................................................................... 28

2.2.10 Google Maps API - GMaps ................................................................................. 30

2.2.10.1 GMaps ............................................................................................................... 30

2.2.11 PHP .................................................................................................................... 31

2.2.12 MySQL ............................................................................................................... 33

3. METODOLOGÍA ............................................................................................................... 37

3.1 Metodología Extreme Programming (XP) .................................................................. 37

3.1.1 Historias de Usuario ............................................................................................ 38

3.1.2 Roles XP .............................................................................................................. 39

3.1.3 Proceso XP .......................................................................................................... 40

3.1.4 Prácticas XP ........................................................................................................ 43

Justificación ............................................................................................................................. 45

4. DESARROLLO DEL PROYECTO .................................................................................... 46

4.1 Requerimientos Funcionales ....................................................................................... 46

4.1.1 Actores ................................................................................................................ 46

1. Conductor ................................................................................................................ 46

2. Pasajero ................................................................................................................... 47

4.1.2 Historias de Usuario ............................................................................................ 47

4.1.3 Casos de Uso ....................................................................................................... 48

4.1.4 Descripción de los casos de uso .......................................................................... 49

4.2 Requerimientos No Funcionales ................................................................................. 56

4.3 Diseño de la Base de Datos ......................................................................................... 56

4.4 Arquitectura Física de la Aplicación Móvil ................................................................ 57

4.5 Arquitectura Lógica de la Aplicación Móvil ............................................................... 58

4.5.1 Capa de Presentación .......................................................................................... 58

4.5.2 Capa de Lógica del Negocio ............................................................................... 59

Page 8: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

viii

4.5.3 Capa de Almacenamiento .................................................................................... 59

4.6 Fases del desarrollo de la Aplicación Móvil ............................................................... 59

4.6.1 Exploración y Planificación ................................................................................ 59

4.6.2 Diseño ................................................................................................................. 60

4.6.3 Programación basada en Iteraciones ................................................................... 61

4.6.4 Implementación y Producción ............................................................................. 61

4.7 Puesta en Producción .................................................................................................. 62

5. CONCLUSIONES .............................................................................................................. 64

6. RECOMENDACIONES ..................................................................................................... 65

BIBLIOGRAFÍA ......................................................................................................................... 67

ANEXOS..................................................................................................................................... 71

ANEXO A ................................................................................................................................... 72

ANEXO B ................................................................................................................................... 88

ANEXO C ................................................................................................................................... 92

Page 9: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

ix

LISTA DE FIGURAS

Figura 1. Porcentaje de la muestra que posee vehículo (Aneloa Chipantasi & Cerda

Tanguila, 2016) ................................................................................................................. 5

Figura 2. Frecuencia de uso del vehículo (Aneloa Chipantasi & Cerda Tanguila, 2016) 5

Figura 3. Número de pasajeros por vehículo (Aneloa Chipantasi & Cerda Tanguila,

2016) ................................................................................................................................. 5

Figura 4. Uso de una misma ruta (Aneloa Chipantasi & Cerda Tanguila, 2016) ............. 6

Figura 5. Intención para llevar a un integrante de la UCE en el vehículo (Aneloa

Chipantasi & Cerda Tanguila, 2016) ................................................................................ 6

Figura 6. Intención de viajar en el auto de otro integrante de la UCE (Aneloa Chipantasi

& Cerda Tanguila, 2016) .................................................................................................. 6

Figura 7. Intención de participar en la iniciativa de vehículo compartido (Aneloa

Chipantasi & Cerda Tanguila, 2016) ................................................................................ 7

Figura 8. Sistemas operativos más usados en el mundo

(https://elpais.com/tecnologia/2017/04/04/actualidad/1491296467_396232.html) ....... 16

Figura 9. Arquitectura de Android (Martínez, 2011) ..................................................... 17

Figura 10. Representación de un árbol de objetos (DOM). (McFarlin, 2016) ............... 26

Figura 11. Resultado del uso de la librería GMaps (García , 2018) ............................... 31

Figura 13. Funcionamiento del lenguaje PHP. (Álvarez A. M., 2001) .......................... 32

Figura 14. Motores de almacenamiento de MySQL. (UNIOJEDA, 2011) .................... 35

Figura 15. Evolución de los largos ciclos de desarrollo en cascada (a) a ciclos iterativos

más cortos (b) y a lo realizado en XP. (Acebal, 2002) ................................................... 41

Figura 16. Las prácticas se refuerzan entre sí. (Letelier & Penadés, 2006) ................... 44

Figura 17. Diagrama de casos de uso (Realización propia) ........................................... 49

Figura 18. Diagrama del caso de uso Registrarse (Realización propia) ......................... 50

Figura 19. Diagrama del caso de uso Iniciar Sesión (Realización propia) ..................... 51

Figura 20. Diagrama del caso de uso Iniciar Registrar Vehículo (Realización propia) . 51

Figura 21. Diagrama del caso de uso Crear Ruta (Realización propia) ......................... 52

Page 10: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

x

Figura 22. Diagrama del caso de uso Cancelar Ruta (Realización propia) .................... 53

Figura 23. Diagrama del caso de uso Buscar Ruta (Realización propia) ....................... 53

Figura 24. Diagrama del caso de uso Escoger y Reservar Ruta (Realización propia) ... 54

Figura 25. Diagrama del caso de uso Cancelar la reserva en una ruta (Realización

propia) ............................................................................................................................. 54

Figura 26. Diagrama del caso de uso Calificar Servicio (Realización propia)............... 55

Figura 27. Diagrama del modelo entidad-relación de la Base de Datos de la App

(Realización propia) ....................................................................................................... 57

Figura 28. Arquitectura física de la aplicación móvil (Realización propia) ................... 58

Figura 29. Página de descarga de la aplicación móvil (Realización propia) .................. 62

Figura 30. Versión final de la aplicación móvil (Realización propia)............................ 63

Page 11: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

xi

LISTA DE TABLAS

Tabla 1 .Población de la Facultada (Aneloa Chipantasi & Cerda Tanguila, 2016) .......... 4

Tabla 2. Ventajas y desventajas de una aplicación móvil nativa

(https://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-

inconvenientes/) .............................................................................................................. 14

Tabla 3. Ventajas y desventajas de una aplicación móvil híbrida

(https://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-

inconvenientes/) .............................................................................................................. 15

Tabla 4. Cuadro comparativo ventajas y desventajas de Android (Rodríguez, 2014) ... 17

Tabla 5. Modelo de una plantilla de Historia de Usuario usada en la metodología XP

(Realización propia) ....................................................................................................... 38

Tabla 6. Resumen de las historias de usuario definidas para el aplicativo. (Realización

Propia)) ........................................................................................................................... 48

Page 12: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

xii

TÍTULO: Desarrollo de una aplicación móvil para implementar el uso de Vehículo

Compartido en la Facultad de Ingeniería, Ciencias Físicas y Matemáticas.

Autor: Marco Vinicio García Yunga

Tutor: Ing. Milton Giovanny Moncayo Unda

RESUMEN

El término y la práctica del Vehículo Compartido ha sido un éxito desde hace varios años

a nivel mundial. No solo por la sencillez que conlleva la idea, sino que es el resultado de

usar el sentido común en una sociedad que poco a poco va aceptando la idea de una

economía colaborativa. Es así como en este Trabajo de Fin de Grado se ha propuesto

como objetivo el crear, desarrollar e implementar una aplicación móvil que permita a la

comunidad universitaria de la Facultad de Ingeniería de la Universidad Central del

Ecuador, ofertar el servicio de vehículo compartido. Esta aplicación móvil permitirá a un

individuo perteneciente a la comunidad universitaria, ejercer cualquiera de los dos roles

principales definidos en el servicio de vehículo compartido: ser conductor o pasajero, es

decir, ser la persona que pone a disposición su vehículo para el servicio o el interesado en

reservar una vacante en este. De esta manera se pretende lograr una mejor y eficiente

movilidad de la comunidad universitaria y una mayor integración y solidaridad entre los

individuos que pertenecen a esta, así como también la optimización de recursos y un

modelo de transporte, como ya se mencionó, más eficiente y seguro.

PALABRAS CLAVE: VEHÍCULO COMPARTIDO / COMUNIDAD

UNIVERSITARIA / APLICACIÓN MÓVIL

Page 13: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

xiii

TITLE: Development of a mobile application to implement the use of vehicle shared in

the Faculty of engineering, physical sciences and mathematics

Author: Marco Vinicio García Yunga

Tutor: Ing. Milton Giovanny Moncayo Unda

ABSTRACT

Shared Vehicle, term and practice has been a success for several years worldwide. Not

only for the simplicity of the idea, it is the result of using common sense in a society that

is slowly accepting the idea of a collaborative economy. For this reason, in this Project,

the objective has been to create, develop and implement a mobile application that allows

the university community of the Engineering Faculty of the Central University of Ecuador

to offer the shared vehicle service. This mobile application will allow an individual of the

university community to take any of the two main roles defined in the shared vehicle

service: be a driver or passenger, it means, be the person who makes available your

vehicle for the service or interested in reserving a vacancy in this service. In this way, it

is intended to achieve a better and efficient mobility of the university community and

greater integration and solidarity among the individuals that belong to it, as well as the

optimization of resources and a transport model, as already mentioned, more efficient and

safer.

KEYWORDS: SHARED VEHICLE / UNIVERSITY COMMUNITY / MOBILE

APPLICATION

Page 14: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

1

INTRODUCCIÓN

El término Carpooling, que en nuestro idioma representa la idea del Vehículo

Compartido, ha sido un éxito ya desde hace varios años a nivel global. No solo por la

sencillez que conlleva la idea, sino que es el resultado de usar el sentido común en una

sociedad que poco a poco va aceptando la idea de una economía colaborativa. Esto no

significa que la práctica del auto compartido recién esté tomando fuerza a nivel mundial,

al contrario, esta ha existido hace décadas, si no que gracias a la tecnología y a la facilidad

de comunicación con la que contamos ahora esta se ha modernizado y mejorado

exponencialmente.

Varias décadas atrás no podíamos conocer si una persona estaba dispuesta a brindar un

servicio de transporte en su propio vehículo o la ruta que este tomaría para realizar un

viaje que coincidiera con las necesidades de sus iguales en la sociedad. Se podría decir

que el auto compartido era una actividad netamente ligada al azar, donde se debían dar

varias circunstancias para que dos o más personas que tengan un mismo destino, se

encuentren y estén dispuestos a compartir gastos y beneficios de un viaje.

Ahora, como lo mencionamos antes, gracias a la tecnología y la facilidad que tenemos

para comunicarnos unos con otros, la práctica de vehículo compartido está a la

disposición de cualquier persona con solo dar un clic. Se han creado aplicaciones que

facilitan y dan seguridad a la práctica de esta actividad y gracias a estas tanto empresas,

como centros de estudios y comunidades impulsan y recompensan la práctica de esta.

Es conocido, como estudiante de la Universidad Central del Ecuador, que transportarse

desde o hacia el campus universitario conlleva muchas situaciones de incomodidad e

inseguridad en varios niveles. El escenario que se nos presenta se presta para implementar

una solución al problema en donde existe un gran contraste entre una parte de la

comunidad universitaria que están expuestos a sufrir algún percance debido a los horarios

de salida o a no poderse movilizar por falta de recursos económicos, con la otra parte de

la comunidad universitaria que posee un vehículo propio y viaja solo en el mismo. Pues

bien, si esta actividad (vehículo compartido o carpooling) ha tenido tanto éxito en Europa

y EE. UU., porque no aplicarla, potenciarla y modernizarla en nuestra propia universidad.

Page 15: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

2

Es aquí donde nace la necesidad de dar a conocer y fomentar la práctica del vehículo

compartido por medio de una aplicación móvil para la Universidad Central del Ecuador,

donde los integrantes de la comunidad universitaria (Docentes, Empleados y Personal

Administrativo y de Servicios) que estén dispuestas a brindar este servicio les resulte más

fácil darlo a conocer, así como a las personas que les beneficiaría este servicio, se les

facilite enterarse del mismo.

Page 16: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

3

1. ANÁLISIS DEL PROBLEMA

1.1 Antecedentes

Estudios previos han analizado los problemas que enfrenta el actual modelo de movilidad

vehicular desde y hacia el campus de la Universidad Central del Ecuador basándose para

ello en datos estadísticos y aportaciones teóricas recientes donde se expone algunos de

los principios que deben de regir en un modelo de movilidad sostenible, uno de los

grandes retos para las ciudades del siglo XXI. (Aneloa Chipantasi & Cerda Tanguila,

2016)

1.2 Planteamiento del Problema

La Universidad Central del Ecuador ubicada en el centro del Distrito Metropolitano de

Quito se compone aproximadamente de 37000 estudiantes, 2200 profesores y 1500

administrativos Según datos de la dirección general administrativa, de acuerdo con el

registro de las tarjetas magnéticas que se utilizan para ingresar con vehículo a los predios

universitarios, existen registrados alrededor de 2000 vehículos. (Aneloa Chipantasi &

Cerda Tanguila, 2016). Con estos datos se puede inferir que la gran mayoría de

integrantes de la comunidad universitaria usa el sistema de transporte público para llegar

y salir de los predios, con los conocidos problemas de tráfico, seguridad y poco confort

que existen en la ciudad de Quito.

El desarrollo de las TIC ha facilitado el aparecimiento de nuevos modelos de transporte

a nivel mundial y local, tales como Uber, Cabify, BlaBlaCar, SocialCar, etc. los mismos

que basan su funcionamiento en que cualquier persona con auto puede publicar sus

asientos libres en la web o aplicaciones móviles, especificando en su anuncio el trayecto

y el precio por cada plaza y tramo. Con la reserva online, los pasajeros interesados en el

viaje pueden contactar con los conductores a través del sistema de mensajería pública o

Page 17: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

4

de una aplicación. Si deciden viajar juntos, el pasajero realiza la reserva y paga online el

precio estipulado para la plaza contratada.

Partiendo de este último modelo se propone diseñar una plataforma informática sobre la

cual se implementará un modelo de transporte sostenible, inicialmente gratuito, el mismo

que será usado inicialmente por miembros de la Facultad de Ingeniería, Ciencias Físicas

y Matemática, con el objetivo de mejorar la movilidad de la comunidad universitaria

cuando esta sale de sus instalaciones fomentando la solidaridad con las personas que más

necesitan, así como también la integración social.

Con el fin de evaluar la acogida que tendrá el modelo de transporte con estas

características, se realizó una encuesta a una muestra representativa de la Facultad de

Ingeniería, Ciencias Físicas y Matemáticas de la Universidad Central del Ecuador en el

año 2016. (Aneloa Chipantasi & Cerda Tanguila, 2016).

Recuperaremos algunos de los datos obtenidos en dicha encuesta para analizar la

aceptación que esta propuesta obtuvo entre el personal de la Facultad de Ingeniería.

Tabla 1 .Población de la Facultada (Aneloa Chipantasi & Cerda Tanguila, 2016)

El tamaño de la muestra fue de 125 personas (56.8% son Masculino y el 43.2% son

femenino.)

De 125 encuestados 18.4% tiene o usa un vehículo privado para llegar y salir del campus

universitario.

Page 18: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

5

Figura 1. Porcentaje de la muestra que posee vehículo (Aneloa Chipantasi &

Cerda Tanguila, 2016)

Del porcentaje que posee un vehículo, el 56.5% del mismo usa al menos 3 veces a la

semana su vehículo para movilizarse de la universidad a su domicilio y viceversa.

Figura 2. Frecuencia de uso del vehículo (Aneloa Chipantasi & Cerda Tanguila,

2016)

Del porcentaje que posee un vehículo, el 64% viaja solo o con un pasajero y el resto lleva

más de un pasajero.

Figura 3. Número de pasajeros por vehículo (Aneloa Chipantasi & Cerda

Tanguila, 2016)

Del porcentaje que posee un vehículo, el 82.6% usa frecuentemente la misma ruta para

llegar y salir de la universidad.

Page 19: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

6

Figura 4. Uso de una misma ruta (Aneloa Chipantasi & Cerda Tanguila, 2016)

Del porcentaje que posee un vehículo, el 91.3% están dispuestos a llevar a un integrante

de la UCE en su vehículo.

Figura 5. Intención para llevar a un integrante de la UCE en el vehículo (Aneloa

Chipantasi & Cerda Tanguila, 2016)

Del total de encuestados, el 78.3%, está dispuesto a viajar en el vehículo de otra persona

que tenga un mismo destino o cercano a este.

Figura 6. Intención de viajar en el auto de otro integrante de la UCE (Aneloa

Chipantasi & Cerda Tanguila, 2016)

Page 20: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

7

Del total de encuestados, el 92% está de acuerdo con la iniciativa de vehículo compartido

para la comunidad universitaria.

Figura 7. Intención de participar en la iniciativa de vehículo compartido (Aneloa

Chipantasi & Cerda Tanguila, 2016)

Tomando como base los resultados analizados en esta encuesta, se puede concluir que

existe el interés en la comunidad universitaria, para el desarrollo de una aplicación de

vehículo compartido en la Universidad Central del Ecuador.

1.3 Definición del Problema

La iniciativa para el desarrollo de una aplicación móvil que brinde un servicio de vehículo

compartido se basa en proponer un mecanismo para que los integrantes de la comunidad

universitaria de la Facultad de Ingeniería, Ciencias Físicas y Matemáticas (FICFM), que

tienen vehículo particular, puedan brindar un servicio de transporte a cuantos compañeros

sea posible en los horarios y días que le sea posible. De esta manera se pretende lograr

una mejor y eficiente movilidad de la comunidad universitaria y una mayor integración y

solidaridad entre sus integrantes, así como también la optimización de recursos y un

modelo de transporte, como ya se mencionó, más eficiente y seguro.

Para conseguir el objetivo planteado, se procederá al desarrollo de una herramienta

informática que se adapte a las características de los usuarios de la Facultad de Ingeniería,

Ciencias Físicas y Matemáticas (FICFM) de la Universidad Central del Ecuador, la cual

facilite y masifique la compartición del vehículo particular.

Page 21: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

8

1.4 Objetivos

1.4.1 Objetivo General

Desarrollar una aplicación móvil que permita implementar el uso del vehículo compartido

en la Facultad de Ingeniería, Ciencias Físicas y Matemáticas.

1.4.2 Objetivos Específicos

• Desarrollar una aplicación móvil nativa para dispositivos móviles que tengan

como sistema operativo Android.

• Recolectar y generar una base de información con datos útiles para un estudio

futuro, de la movilidad en la Universidad Central del Ecuador.

1.5 Justificación

El presente proyecto se justifica porque a través de la aplicación móvil para el uso de

vehículo compartido, se mejorará la movilidad del estudiante desde la facultad, hacia su

domicilio, se brindará mayor confort y seguridad al viajar en un vehículo privado y no en

trasporte público; se optimizará el uso del vehículo al aumentar el índice de posibles

ocupantes, y se colaborará con el medio ambiente al disminuir las emisiones de CO2.

Incluso con el uso de la aplicación, se pretende fomentar la integración de la comunidad

de la Facultad de Ingeniería, y la solidaridad hacia las personas más vulnerables.

Este y otros proyectos planeados a implementarse en un futuro, primero en la facultad de

Ingeniería y luego en todo el campus universitario, forman parte del concepto al cual la

Universidad Central del Ecuador aspira llegar, el mismo es el término Smart University

(Universidad Inteligente) que representa a un centro de estudio auto sustentable, “

espacios de conocimiento de gran eficacia que no solo usen las tecnologías de la

Información para beneficio propio, sino para alcanzar una eficiencia operacional y

Page 22: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

9

medioambiental al margen de las necesidades de la sociedad en general ”. (Bakken,

Uskov, Penumatsa, & Doddapaneni, 2014)

Se ha replanteado un objetivo específico establecido en el plan de tesis original, el cual

indicaba que la aplicación ofrecerá un servicio alternativo de transporte, seguro y de

calidad para la comunidad universitaria. El mismo, al momento, no se podrá verificar si

se cumplió o no en consideración de que la aplicación debe de tener un período de

funcionamiento mínimo para recolectar datos y generar con estos una base de datos sólida

con la que se pueda realizar una encuesta de servicio dirigida a la comunidad universitaria,

con lo cual, se procederá a realizar el estudio y análisis respectivo para concluir si la

aplicación móvil cumplió con este objetivo. Es así como este objetivo se validará en un

futuro proyecto de titulación que será propuesto por el Ing. Aldrín Flores, docente de la

Facultad de Ingeniería, Ciencias Físicas y Matemáticas de la Universidad Central del

Ecuador, en donde se hará un análisis de negocio con los datos recolectados por la

aplicación.

1.6 Alcance del proyecto

Dentro de la aplicación se definirá un solo perfil de usuario, el cual podrá ejercer

cualquiera de los dos siguientes roles, según sea su necesidad en el momento. Estos roles

son los siguientes: Pasajero y Conductor.

A continuación, se detallan las actividades que el usuario final podrá realizar en cada uno

de estos roles.

• Pasajero. - Es aquel rol, en donde el usuario final NO posee un vehículo, por lo

tanto, podrá realizar las siguientes actividades:

- Realizar una búsqueda de una ruta deseada.

- Seleccionar y reservar un asiento en la ruta y/o vehículo propuesta por un

conductor.

- Observar la disponibilidad de asientos del vehículo que recorrerá la ruta deseada.

Page 23: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

10

• Conductor. - Es aquel rol, donde el usuario final SI posee un vehículo, por lo

tanto, podrá realizar las siguientes actividades:

- Registrar en la aplicación un vehículo de su propiedad.

- Crear la ruta a recorrer desde la Facultad de Ingeniería de la UCE hacia cualquier

punto, definiendo el horario de partida, número de asientos disponibles y punto

de encuentro.

• En ambos roles, el usuario final estará dispuesto a calificar el servicio recibido en

la ruta. En el rol de conductor al usuario final calificará la satisfacción con la ruta

creada por este mismo, en tanto que, en el rol de pasajero el usuario final calificará

el servicio y el circuito recibido en la ruta en la cual ha reservado.

• La aplicación funcionará con rutas solo desde la UCE hasta cualquier punto de la

ciudad, esto debido a que se aprovechará la red inalámbrica de internet que tiene

la Universidad. Aunque esta también puede ser usada mediante un servicio de

datos móviles que el solicitante tenga contratado.

1.7 Limitaciones del proyecto

o La aplicación se implementará inicialmente para la Facultad de Ingeniería,

Ciencias Físicas y Matemáticas de la Universidad Central del Ecuador.

o La aplicación móvil se desarrollará para dispositivos con sistema operativo

Android y la misma estará disponible para su descarga en un servidor privado

el cual constará de una página web de presentación de la aplicación y el enlace

directo de descarga. El enlace es el siguiente:

URL: https://gmoncayoresearch.com/carpoolingUCE/

o Las rutas que creará el conductor tendrán como único punto de partida la

Facultad de Ingeniería, Ciencias Físicas y Matemáticas de la UCE, hacia

cualquier otro punto de la urbe. Esto debido a que la aplicación necesita de

internet para poder hacer uso de ella y se va a aprovechar la disponibilidad de

Page 24: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

11

la red inalámbrica de internet con la que cuenta la Universidad Central del

Ecuador.

o Se ha definido 4 puntos estratégicos en la facultad para que funcionen como

puntos de partida para el inicio de una ruta creada. Dichos puntos de partida

se han escogido, ya que son los más cercanos a los parqueaderos con los que

cuenta la Facultad de Ingeniería, en donde se encontrarían los vehículos listos

para el inicio de una ruta.

Page 25: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

12

2. MARCO TEÓRICO

2.1 Marco Conceptual

2.1.1 Vehículo Compartido

Varios años atrás el término Carpooling o vehículo compartido era desconocido en Latino

América y la simple idea de compartir nuestro auto con un completo desconocido

generaba y genera aún sentimientos de inseguridad, desconfianza e incomodidad. Como

respuesta ante esta incertidumbre se han creado compañías y asociaciones que han sacado

al mercado sistemas y aplicaciones web al servicio de personas que desean brindar y usar

el servicio de vehículo compartido, para hacer del mismo una práctica más común, segura

y llevadera en la sociedad.

La práctica del vehículo compartido se ha modernizado en nuestros tiempos y cada vez

es más popular, como una nueva opción para transportarse de un lugar a otro con otras

personas que tiene el mismo destino. Y no solo que es más llevadero realizar un viaje

acompañado, sino que, con esta alternativa de movilización, los gastos que conllevan a

realizar el trayecto disminuyen debido a que los mismos se dividen entre más

participantes.

El vehículo compartido, aparte de ser un concepto, es una tendencia a nivel mundial

creada con el objetivo de cuidar el medio ambiente reduciendo las emisiones de CO2, así

como reducir el caos vehicular y el tráfico en ciudades congestionadas por la gran

cantidad de vehículos particulares. Este concepto encierra una práctica tan sencilla como

lo es el viajar varias personas en un mismo vehículo con un destino en común,

optimizando así el uso del vehículo al utilizar todos los asientos que este tenga a

disposición. (Infobae, 2015)

Para poder entender un poco más lo que conlleva al desarrollo de una aplicación móvil,

en los siguientes apartados profundizaremos un poco más sobre los términos antes

utilizados para describir y comprender lo que se quiere lograr con este proyecto, no solo

a nivel tecnológico sino también a nivel social.

Page 26: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

13

2.1.2 Dispositivo Móvil

Un dispositivo móvil es un aparato de computación portátil de un pequeño tamaño, que

consta de una pantalla, métodos de entrada de información (táctil o con un teclado

miniatura) y de un sistema operativo que le permite ejecutar más funciones para el que

originalmente fue creado. Pero una de sus características principales, es el concepto de

movilidad, diseñados en tamaños portables y de fácil uso durante su transporte. Además,

el concepto de movilidad engloba también a la facilidad que estos tienen para poderse

conectar a una red inalámbrica sin necesidad de cable alguno, dando la impresión de que

los datos mostrados mediante la red se encuentran almacenados en el propio dispositivo.

(Guevara Soriano, 2014)

2.1.3 Aplicación Móvil

Una aplicación móvil es un software o programa informático diseñado para ser ejecutado

en un dispositivo móvil, ya sea teléfonos inteligentes (smartphones), tablets o relojes

inteligentes (smartwatch). Estas son desarrolladas en lenguajes de programación

relativamente más simples que el de una computadora de escritorio y están orientadas a

un uso inalámbrico. Actualmente el desarrollo de aplicaciones móviles se encuentra en

su máximo auge, posicionando así a los desarrolladores de estos servicios como “la nueva

fuerza de negocio en las redes de esta y la próxima generación tecnológica”. (Gasca,

Camargo, & Medina, 2013)

El mercado de las aplicaciones móviles no para de crecer, siendo así que en la actualidad

podemos tener al alcance miles de ellas. Esto ha demostrado que cualquier servicio

disponible para máquinas de sobremesa, debe estar también disponible para dispositivos

móviles, por lo que muchos desarrolladores y empresas no pierden la oportunidad de crear

una aplicación que satisfaga la demanda de los usuarios. Pero, no todas las aplicaciones

móviles creadas son iguales, teniendo en cuenta su forma de funcionar y parámetros de

ejecución estas se pueden dividir en las siguientes clases:

• Aplicaciones Nativas

Page 27: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

14

• Aplicaciones Híbridas

2.1.3.1 Aplicaciones Nativas

Este tipo de aplicaciones son desarrolladas para un sistema operativo en específico, ya

que deberá interactuar en gran parte con las características del hardware y software del

dispositivo. Esto significa un mayor costo de desarrollo, debido a que, si se desea tener

una aplicación disponible para cada uno de los sistemas operativos del mercado, se

debería crear una aplicación para cada uno de ellos. (IBM Software, 2012)

Tabla 2. Ventajas y desventajas de una aplicación móvil nativa

(https://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-

inconvenientes/)

2.1.3.2 Aplicaciones Web Nativas (Híbridas)

Este tipo de aplicaciones, están desarrolladas en lenguajes propios y bastantes conocidos

para el ámbito web, como lo son HTML5, CSS, JavaScript. Se realizan de esta manera

porque se gana una ventaja significativa, ya que esta aplicación podrá ser ejecutada en

cualquier dispositivo sin importar el sistema operativo que rige a este y se adaptan

fácilmente al tamaño de pantalla de cualquier dispositivo. Lo que convierte a estas

aplicaciones en híbridas, es que también son desarrolladas para que interactúen con gran

parte del hardware del dispositivo y necesitan ser instaladas, como en las aplicaciones

nativas. (IBM Software, 2012)

Page 28: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

15

Tabla 3. Ventajas y desventajas de una aplicación móvil híbrida

(https://www.lancetalent.com/blog/tipos-de-aplicaciones-moviles-ventajas-

inconvenientes/)

2.2 Marco Técnico – Herramientas de Desarrollo

Para el desarrollo de este proyecto integrador se ha decidido previamente implementarlo

y tenerlo disponible solo para el sistema operativo Android. Esto debido a que, al ser un

sistema desarrollado y administrado por Google, se nos brinda más facilidad y

herramientas gratuitas para el desarrollo de nuestra aplicación, así como lenguajes de

programación, librerías y plugin libres (Open source), al contrario de otros sistemas

operativos que basan todo su desarrollo y publicación en plataformas y lenguajes de

programación propietarios. Como anteriormente se menciona, se ha dado primordial

importancia en el uso de software libre dado que se pretende dejar una base con la que se

pueda trabajar en futuros proyectos a implementarse e integrarse en la universidad.

Al ser este un proyecto integrador realizado para el desarrollo e implementación en una

universidad pública y tomando en cuenta que el sistema operativo Android es uno de los

más usados en el Ecuador y Latinoamérica en general, nos ha parecido factible y con más

importancia que la aplicación esté disponible, en primer lugar, para el sistema operativo

de dispositivos móviles Android, cargada en un servidor lista para ser descargada,

esperando así una rápida popularización de esta.

Page 29: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

16

Figura 8. Sistemas operativos más usados en el mundo

(https://elpais.com/tecnologia/2017/04/04/actualidad/1491296467_396232.html)

Las herramientas que a continuación se detallarán, han sido escogidas debido a su

popularidad, actualmente, en el desarrollo de aplicaciones móviles, a la vez que se han

adaptado con perfección a nuestras necesidades de desarrollo.

2.2.1 Android

Android es un sistema operativo que ha sido desarrollado por Google, está basado en

Linux y principalmente orientado a dispositivos móviles. Android es un conjunto de

herramientas y aplicaciones que están vinculadas a una distribución Linux. Por si solo no

es un sistema operativo, Android es un paquete que además de incluir un sistema

operativo, incluye un “runtime” de ejecución desarrollado en java, además de un conjunto

de librerías y aplicaciones desarrolladas también en java, que complementan todo el

concepto que representa Android. (Martínez, 2011)

Android es una plataforma de código abierto, gratuito que no requiere pago de licencia

alguna, esta libertad de código a permitido que Android se adapte y sea usado en la

mayoría de los dispositivos móviles existentes en la actualidad. De igual manera, al ser

de código abierto, es más fácil encontrar y reparar un error existente en alguna aplicación

ya que al no existir un término legal que impida indagar y modificar código libre, se

puede realizar inmediatamente y sin problemas la corrección necesaria para corregir el

error encontrado. (Basterra, Bertea, Borello, Castillo, & Venturi, 2017)

Page 30: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

17

Tabla 4. Cuadro comparativo ventajas y desventajas de Android (Rodríguez, 2014)

2.2.2 Arquitectura Android

Android está compuesto por un conjunto de estructuras o capas, como ya se ha

mencionado, las cuales contienen respectivamente al sistema operativo, librerías,

aplicaciones básicas y demás elementos que conforman la arquitectura de Android. A

continuación, se explicará la funcionalidad de cada una de las capas que conforman esta

plataforma para móviles, para ello nos ayudaremos de un gráfico que nos brindará una

visión global y ayudará a entender la colaboración de servicios que existe entre cada capa.

Figura 9. Arquitectura de Android (Martínez, 2011)

Page 31: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

18

• El Núcleo Linux. - Android comprende un núcleo de Linux en su versión 2.6 el

cual brinda servicios base del sistema como la gestión de memoria, gestión de

procesos y drivers, pila de protocolos y seguridad. Este núcleo Linux actúa

también como una capa de abstracción entre el hardware y el resto de la pila de

software. (Basterra, Bertea, Borello, Castillo, & Venturi, 2017)

• “Runtime” de Android. – Esta capa constituye el entorno de ejecución Android.

Conformada por librerías base (Core Libraries) con una multitud de clases y

funciones Java y la máquina virtual Dalvik que facilita la optimización de recursos

para la ejecución de las aplicaciones Android. Dadas las limitaciones a nivel de

memoria, está máquina virtual se encarga de crear instancias para que cada una

de las aplicaciones puedan ejecutar sus procesos. En las versiones más actuales de

Android, se ha reemplazado la máquina virtual Dalvik por ART, una nueva

máquina virtual que ha logrado reducir el tiempo de ejecución de procesos Java

en un 33%. (Girónes, 2011)

• Librerías Nativas. – En el mismo nivel de entorno de ejecución, se encuentran las

librerías nativas utilizadas por varios componentes del sistema Android. Estas se

basan en el lenguaje de programación C/C++ y compiladas en código nativo del

procesador. Entre las librerías más importantes que podemos encontrar aquí,

tenemos System C library, librerías de gráficos, librerías de medios, SQLite,

Librerías 3D, entre otros. El conjunto con el núcleo de Linux y estas librerías

nativas, conforman el corazón del funcionamiento del sistema Android. (Girónes,

2011)

• Entorno de Aplicación. – Representa al conjunto de herramientas de desarrollo de

cualquier aplicación Android. Esta capa se diseñó con el objetivo de simplificar

la reu0tilización de componentes, así, toda aplicación que se desarrolla para

Android, ya sean propias del dispositivo, desarrolladas por alguna compañía o

creada por desarrolladores independientes, utilizan el mismo conjunto de

frameworks y API aprovechando las características y capacidades ya creadas por

terceros o poniendo a disposición las que uno mismo cree.

Page 32: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

19

• Aplicaciones. – En esta capa se encuentran el conjunto de aplicaciones bases

preinstaladas en el sistema Android, así como las que el usuario agregará

posteriormente. Todas estas aplicaciones harán uso de los servicios, frameworks,

API y librerías de las capas anteriores.

La mayoría de las aplicaciones son programadas y desarrolladas en Java, pero lo

que usan para ser ejecutadas es la máquina virtual propia del sistema Android

(Dalvik) antes mencionada. Esta crea instancias para cada aplicación a ejecutarse,

optimizando así memoria y recursos, que como sabemos, son bastante limitadas

en los dispositivos móviles.

2.2.3 Apache Cordova

Apache Cordova es un popular entorno de desarrollo para dispositivos móviles de código

abierto. Este entorno nos permite usar lenguajes y tecnologías estándar web como

HTML5, CSS y JavaScript para desarrollo multiplataforma, evitando así usar lenguajes y

APIs nativas de cada plataforma móvil como Android, IOS o Windows Phone. Con

Cordova podremos extender el uso y características de HTML, CSS y JavaScript para

trabajar con dispositivos móviles, al mismo tiempo que encapsula estos lenguajes para

ejecutarlos de manera similar en cualquier plataforma móvil. El resultado de este

framework son aplicaciones híbridas, es decir, que no son una aplicación móvil nativa

(debido a que la representación gráfica se ha desarrollado como vistas web) ni son

aplicaciones web (porque son aplicaciones empaquetadas para su distribución y además

tienen acceso a funciones y APIs nativas del dispositivo). Es así como podemos

desarrollar una aplicación y presentarla en multiplataformas, sin tener que

reimplementarlo con herramientas y lenguajes de cada plataforma móvil.

Cordova funciona sobre la plataforma Node.js, que también es un entorno

multiplataforma que puede ser ejecutado en cualquier sistema operativo, priorizando su

uso para la capa del servidor en la gestión de subida y bajada de datos entre una aplicación

y su servidor.

Ventajas de utilizar Apache Cordova. (Peris, 2016)

• Realizas una APP una única vez y funciona en todos los dispositivos.

Page 33: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

20

• Alta compatibilidad (incluso con televisiones).

• Sólo hace falta saber programar HTML/JS.

• Sólo tienes que aprender la API de Apache Cordova

• Olvídate de aprender diferentes lenguajes

Desventajas de Apache Cordova. (Peris, 2016)

• No suele ser nativo (Tarda un poco más en procesarse)

• No suele tener soporte para efectos visuales de cada sistema operativo.

2.2.4 NODE.JS

Node.js es un entorno Javascript del lado de servidor que basa su trabajo en eventos,

proporcionando así un entorno de ejecución que compila y ejecuta Javascript a grandes

velocidades. Gracias a su modelo de funcionamiento en eventos, es ideal para la

programación asincrónica (bucle de eventos), poniendo a nuestro servicio una manera

fácil de construir aplicaciones de red que sean escalables y garantizando que un servidor

que ejecute une aplicación desarrollada en su base con Node.js podrá soportar miles de

conexiones y peticiones concurrentes (al mismo tiempo), sin que la aplicación sufra un

bloqueo o quede en punto muerto debido a la gran demanda. (Abernethy, 2011)

2.2.5 Android SDK

El Kit de Desarrollo de Software (Software Development Kit) de Android, es un paquete

que incluye un conjunto de herramientas de desarrollo para la plataforma móvil

mencionada. Con este podremos desarrollar aplicaciones y probarlos mediante la

ejecución de un emulador del sistema Android.

Es necesario tener e instalar el SDK de Android en nuestro proyecto, dado que el entorno

Cordova, para la compilación y construcción de un proyecto, pide por defecto una

plataforma en la cual trabajar. De esta manera la aplicación híbrida resultante, tomará

como APIs y librerías nativas a las proporcionadas por Android.

Page 34: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

21

2.2.5 HTML – HTML5

El Lenguaje de Marcado de Hipertexto (HTML) es el lenguaje utilizado para crear y

construir páginas web. Los ficheros de HTML son ficheros de texto donde se describirá

todos los componentes de una página web. La descripción se basa en especificar en el

texto la estructura lógica del contenido que tendrá la página (títulos, artículos,

enumeraciones, etc.) además de complementos multimedia como imágenes y videos, por

medio de marcas también llamadas “tags”, las cuales van encerradas entre los caracteres

“<” y “>”; cada tag tendrá que ir tanto al inicio como al final de una declaración de código

ya que estas serán interpretadas por un navegador para mostrar el contenido de la página

web. Se puede sintetizar el concepto de HTML con los siguientes aspectos:

• Sencillo y fácil de aprender y usar.

• No necesita del uso de variables.

• No se compila.

• Su contenido e interacción se basan en etiquetas, llamadas tags.

• Permite escribir hipertexto.

Con el paso del tiempo el lenguaje HTML ha evolucionado a mejores versiones de si

misma, hasta la actualidad con la versión HTML5, en donde a parte del lenguaje de texto

tradicional, podemos hacer referencia a lenguajes externos como JavaScript, JQuery,

entre otros, expandiendo así el margen de desarrollo que nos puede proporcionar este

lenguaje. Lo que se quiere lograr con HTML5 es tener no solo un lenguaje, sino una

plataforma completa para el desarrollo de aplicaciones web que cada vez se asemejen y

tengan el mismo potencial que las aplicaciones de escritorio, donde la ejecución basada

en un navegador no implique falta de recursos o facilidades para resolver las necesidades

reales de los desarrolladores. (Álvarez, Galeano, & Peña, 2014)

HTML5 provee básicamente tres características importantes en el desarrollo web:

estructura, funcionalidad y estilo, gracias a que en esta versión se ha conseguido una

combinación completa y altamente dependiente entre los lenguajes HTML, CSS y

JavaScript, actuando, así como una sola unidad de desarrollo. Implementación necesaria

teniendo en cuenta la gran variedad de dispositivos e interfaces capaces de acceder a

Page 35: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

22

internet, en donde un aspecto básico como la estructura y visualización se vuelven vitales

para el éxito o fracaso de la web. Para ello se necesitará trabajar tanto con contenido

estático como dinámico que puedan garantizar una estructura fuerte, organizada y flexible

adaptable a cualquier dispositivo e interfaz. (Gauchat, 2012)

2.2.6 CSS

Las Hojas de Estilo en Cascada (Cascading Style Sheets) es un lenguaje de diseño gráfico

que complementa y reduce la complejidad de HTML, para especificar como los

documentos web se presentan a los usuarios. CSS se ha convertido en la práctica por

excelencia para definir una separación entre el contenido de un documento web y la forma

en la que este se presenta gracias a características como capas, colores y fuentes. Es así

como podemos definir documentos diferentes de una página web y mantener una

estructura sólida, manteniendo en un documento todo el contenido web y en el otro su

personalización, a la vez, varios documentos de contenido pueden usar las mismas

características de personalización.

La especificación de HTML5 fue desarrollada considerando a CSS como el estándar a

cargo del diseño. Es así como la integración entre HTML y CSS es ahora vital para el

desarrollo web y se las considere tecnologías hermanas, siendo que oficialmente se traten

de dos tecnologías completamente separadas. (Gauchat, 2012)

Se puede sintetizar el concepto de CSS con los siguientes aspectos:

• Consistencia en el estilo de las páginas. – control centralizado de la presentación

de un documento web y reutilización de los documentos de personalización.

• Mayor control sobre la apariencia y la disposición de los elementos. – Con un

documento propio de personalización se mantiene un mejor control sobre la

estructura de la página web.

Page 36: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

23

• Optimización de la descarga. – El navegador carga y actualiza con mayor rapidez

las páginas web debido a que solo leerá el documento de texto del contenido y en

este se instanciará el documento de presentación.

• Código de HTML más fácil y simple de mantener. – Se reduce y simplifica

considerablemente el código HTML dado que la personalización ya no es

necesaria realizarla dentro de las mismas etiquetas (tags) del contenido HTML.

• Interacción con JavaScript. - Se complementa con funciones y librerías que

proporcionan efectos o características especiales a los estilos definidos en el

documento de presentación.

2.2.7 JavaScript

JavaScript es un lenguaje de programación interpretado, del lado del cliente, orientado al

desarrollo web permitiendo mejoras en interfaz de usuarios y contenido dinámico. Nos

permite realizar actividades complejas en una página web que solo presentar contenido e

información estática. Actividades como presentar actualizaciones de contenido en tiempo

real, interacciones con mapas, animaciones, gráficos 2D/3D, entre otras. Es la tercera

capa que complementa a las tecnologías de desarrollo web (HTML – CSS - JavaScript).

Muchos de nosotros confundimos JavaScript con el lenguaje Java, siendo que ambos son

diferentes, aunque comparten una que otra singularidad. La principal diferencia es que

JavaScript, al ser un lenguaje interpretado, no necesita ser compilado ni necesita de

procesos intermedios para que este sea ejecutado, basta con un navegador para apreciar

todas sus funcionalidades en acción al instante.

Para aprovechar al máximo el potencial de desarrollo que nos provee JavaScript, ha

expandido sus características para hacerlo más portable y fácil de integrar a nuevas

tecnologías. Es así como junto a las Interfaz de Programación en Aplicaciones (APIs)

implementadas por defecto en los navegadores, dan como resultado funcionalidades más

complejas aún para ser implementadas con JavaScript, mediante técnicas de

programación sencillas. (Gauchat, 2012)

Page 37: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

24

Las APIs son inserciones de líneas de código, incluso grandes bloques de código,

desarrollados y listos para usar e implementar las cuales permiten a los desarrolladores

hacerse con funcionalidades complejas que facilitan y minimizan el tiempo de

finalización de un proyecto web. Estas APIs pueden estar ya incluidas en un navegador

como ser creadas e implementadas por terceros. (Mozilla MDN web docs, 2015)

Objetos propios de JavaScript

En JavaScript podemos encontrar tres objetos nativos en el lenguaje, los cuales son:

• navigator: Este es el objeto que representa al navegador, contiene a pluggins y

APIs propias del buscador y nos brinda funcionalidades como: la Geolocalización,

acelerómetros, medidores de temperatura, entre otros.

• window: Este es el objeto que representa al tab del navegador, donde se

encuentran características tales como la resolución de la pantalla, la posición,

entre otras.

• document: Este es el objeto que representa a toda la página HTML. Aquí se

encuentra la estructura y características propias agregadas como imágenes,

videos, texto, etc.

Se puede sintetizar el concepto de JavaScript con los siguientes aspectos:

• Velocidad. – Es realmente rápido debido a que cualquier función implementada

mediante este lenguaje puede ejecutarse de inmediato, debido a que no necesita

ser compilado.

• Versatilidad. – Se combina con otros lenguajes y técnicas de desarrollo

complementando y complementándose a la vez. Puede ser usado y se adapta a una

gran cantidad de aplicaciones.

• Simplicidad. – Es fácil de aprender e implementar en cualquier proyecto web.

• Optimiza. – Reduce la demanda y carga del servidor que alberga un sitio web.

Page 38: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

25

2.2.8 JQuery

Es una biblioteca multiplataforma de JavaScript que nos ayuda a simplificar la manera

en la que se interactúa y recorre los documentos HTML, el manejo de eventos,

animaciones y las interacciones AJAX para el desarrollo web. Esta biblioteca es

compatible con cualquier tipo de navegadores y nos permite cambiar el contenido de una

página web sin necesidad de recargarla, mediante la manipulación del árbol DOM

(Document Object Model) para el dinamismo de una web y peticiones AJAX. (Fuentes

Villarreal, 2013)

Entre las principales características de JQuery que podemos encontrar, tenemos:

• Encadenamiento de Métodos. – Permite que mediante una sola línea de código

podamos hacer mucho más de lo que lograríamos usando solamente las

características propias de JavaScript. Bastante útil al momento de recorrer el

DOM (árbol de objetos) de un documento HTML, en busca de un objeto en

específico. En pocas palabras, con JQuery hacemos más con menos líneas de

código.

• Alta compatibilidad entre navegadores. – Gracias a JQuery somos capaces de

desarrollar documentos web que no tendrán conflictos con la configuración

predeterminada de un navegador, ya sea con sus APIs o peticiones AJAX. Al

contrario, se integrarán y serán compatibles de inicio a fin.

• Iteración Implícita. – Los selectores usados por JQuery para encontrar un objeto

en el DOM basan su funcionamiento en iteraciones implícitas, esto nos da a

entender que evitaremos programar bucles de código para encontrar un objeto

que cumpla con ciertos parámetros dados. Esta búsqueda de elementos en

particular se podrá realizar en una sola línea de código.

Pero el potencial que nos ofrece esta librería se encuentra en la simplificación de ciertas

tareas, que si no fueran por JQuery serían demasiado complejas y problemáticas de

implementar. A continuación, repasaremos las tareas más importantes, en las que JQuery,

facilita nuestra vida de desarrolladores:

Page 39: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

26

Recorrido del documento HTML

Al instante en que un navegador ejecuta una página web, el resultado que podemos

observar es una representación visual de lo que se conoce como DOM (árbol de objetos).

Este modelo generalmente lo asociamos con un árbol de estructura de datos, el cual consta

de nodos y cada nodo posee hojas.

Figura 10. Representación de un árbol de objetos (DOM). (McFarlin, 2016)

Con JQuery, la tarea de recorrer este árbol ya sea por sus nodos y hasta llegar a una de

sus hojas, es más intuitiva y fácil logrando así recuperar valores específicos con un

parámetro único de búsqueda. Esta es una de las tareas más importantes que realiza

JQuery, ya que a partir de esta se derivan otras igual de complejas, pero ya con una base

sólida de búsqueda, la tarea de manipulación de objetos se vuelve más simple aún.

(McFarlin, 2016)

Manipulación del documento HTML

Teniendo ya una base para la búsqueda de objetos, la manipulación de los mismos no es

un gran problema para JQuery. Esta librería posee muchas funciones que nos permiten

cambiar lo que el usuario final observa en una página web, tales como permitirnos ocultar

o mostrar elementos del documento HTML según cumplan ciertos parámetros de carga.

De igual manera podremos crear nuevos objetos e integrarlos a ya existentes, o

sobreponerlos para lograr una interacción más llamativa.

Estos son solo algunos ejemplos de la gran cantidad de funciones que la manipulación del

DOM nos permite realizar y gracias a la compatibilidad de esta con la mayoría de los

Page 40: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

27

navegadores, no tendremos problema alguno con la variedad de dispositivos e interfaces

con las que accedemos al documento web. (McFarlin, 2016)

Manejo de Eventos

Debemos de tener en cuenta que cuando usamos la librería JQuery en el desarrollo de una

página web, al ser esta mostrada en un navegador, podrá responder a varios eventos al

mismo tiempo. Por ejemplo, cuando un usuario cliquea un objeto, presiona una tecla o se

desplaza con el ratón, el navegador responderá con una acción correspondiente al evento

que ha sucedido. Es decir, podemos personalizar la respuesta que nos devuelva un evento

realizado por el usuario y además sacar una ventaja o información de esta interacción.

Afortunadamente, jQuery hace esto mucho más fácil definiendo un nombre constante

para todos los eventos de manera que podemos usar el mismo nombre para un evento al

que estemos tratando de responder y funcionará a lo largo de los navegadores más

importantes. (McFarlin, 2016)

Ajax

Gracias a AJAX, hemos logrado que una página web pueda hacer una llamada al servidor,

recibir e interpretar la respuesta y actualizar una parte de la página sin tener que actualizar

está en su totalidad.

El problema radica en que depende el navegador que uno esté usando al momento de

ejecutar la página web, el código AJAX se interpretará e implementará de diferente

manera, teniendo así que escribir código AJAX específicamente para el navegador de

Microsoft, o para el de Google o para el de Apple. Bueno, este es el caso si no hacemos

uso de la librería JQuery que, gracias a su soporte para AJAX, podemos sacar ventaja de

las funcionalidades que este nos proporciona, sin preocuparnos de las inconsistencias al

ejecutar la web en varios navegadores. (McFarlin, 2016)

Escalabilidad

JQuery soporta complementos que permite la extensión del código base que tengamos

hasta el momento. Esto significa que nosotros, como desarrolladores, tenemos la opción

de aprovechar complementos que otras personas han codificado y de igual manera

podremos desarrollar e implementar nuestros propios complementos. Y gracias a sitios

Page 41: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

28

como GitHub, estos complementos pueden estar disponibles y ser reutilizados por la

comunidad de desarrolladores del mundo. (McFarlin, 2016)

En fin, se puede sintetizar las ventajas que nos ofrece JQuery con los siguientes

enunciados:

• Ayuda a ahorrar extensas y largas líneas de código.

• Permite soporte y transparencia de las aplicaciones web en varios navegadores.

• Nos provee un mecanismo para la captura y personalización de eventos.

• Nos permite la manipulación de cualquier objeto del documento HTML.

2.2.9 JQuery Mobile

JQuery Mobile es un framework JavaScript diseñado y optimizado para el desarrollo de

aplicaciones web destinadas a ejecutarse en dispositivos móviles. El problema radicaba

en que el desarrollo de una aplicación móvil se volvía tedioso al tratar de adaptarla a todas

las dimensiones de los dispositivos móviles existentes. Con JQuery Mobile, aceleramos

el desarrollo centrándonos solo en la programación para un cumplir un fin, a la vez que

evitamos conocer la lógica de apariencia y dimensión para cada dispositivo móvil. El

objetivo principal de este framework es lograr una misma sensación de navegación por

parte de los usuarios finales en la mayoría de los dispositivos móviles. (Universidad de

Alicante, 2013)

Al igual que JQuery, que es la base de este framework, nos ahorra escribir grandes

cantidades de líneas de código al encapsular tareas en un solo método modificando el

código HTML para acelerar la velocidad de producción, además que agiliza la

optimización de las funciones nativas de un móvil para mejorar su rendimiento y

performance.

Características de JQuery Mobile

Page 42: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

29

A parte de los beneficios ya expuestos, conoceremos las principales características que

pone a nuestra disposición este framework, las cuales son:

• Tiene como su base o núcleo la librería JQuery de JavaScript.

• Es compatible con la mayoría de los dispositivos y navegadores existentes en la

actualidad.

• Este framework nos da la opinión de usar temas personalizados que han sido

creado por terceros. Aunque tenemos también la opción de crear nuestros propios

temas.

• Fácil de aprender e implementar. Soporta HTML5 incluidas todas sus

características, evitando así el uso de scripts.

• Soporta múltiples plataformas como Android, IOS, Windos Mobile, etc. De igual

manera soporta la mayoría de los eventos que se pueden realizar con estas

plataformas.

Una de las principales desventajas de este framework es que algunas de las características

aquí expuestas no funcionan siempre a la perfección en dispositivos de baja gamma.

JQuery Mobile se integra y nivela su funcionamiento con HTML5, CSS y JavaScript,

pero no todos los dispositivos móviles cuentan con esta compatibilidad. Por ejemplo, en

los temas personalizados, existe la posibilidad de que funciones de la interfaz o efectos

no sean ejecutados en estos dispositivos que poseen recursos bastante limitados.

(Luttecke, 2014)

Como funciona JQuery Mobile

JQuery Mobile nos proporciona un marco de trabajo que incluye todos los componentes

necesarios para desarrollar aplicaciones móviles complejas. Este framework se desarrolla

por encima del centro de JQuery, por lo que tendremos acceso a las instalaciones claves,

entre las cuales están: búsqueda, acción y manipulación del modelo del objeto del

Page 43: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

30

documento HTML (DOM), manipulación de eventos, comunicación con el servidor a

través de AJAX, y animación y efectos de elementos de las páginas web. (Ortiz, 2012)

Entonces podríamos decir que el funcionamiento de JQuery Mobile es bastante sencillo

de aplicarlo, ya que el desarrollador se encargará solo de la creación de documentos de

contenido en HTML y JQuery Mobile se encargará de transformar y manipular los

elementos del DOM (árbol de objetos) de estas páginas, teniendo como resultado una

interfaz de usuario atractiva e intuitiva para dispositivos móviles. Tener en cuenta que al

ser un lenguaje que no necesita de compilación para su funcionamiento, las

transformaciones de los objetos se realizarán cuando el navegador reciba el contenido del

documento HTML y estarán listas antes de que sean mostrados al usuario.

2.2.10 Google Maps API - GMaps

El API de Google Maps nos permite implementar y mostrar Google Maps en nuestras

aplicaciones web con el uso de JavaScript. Esta nos proporciona utilidades para manipular

los mapas y además añadir contenido al mapa mediante diversos servicios; este servicio

será gratuito siempre y cuando la aplicación web donde se la implemente sea igualmente

gratuita para los usuarios finales.

Para hacerse con el uso de la API de Google Maps, es necesario crear una cuenta de

Google y mediante esta solicitar una clave o licencia de uso a Google Developers. Esta

clave única está ligada a un dominio y un directorio de recursos de Google Maps. La API

es compatible con todos los navegadores

2.2.10.1 GMaps

GMaps es la librería JavaScript fundamental que hace posible la presentación de mapas

en una aplicación web. Se complementa con JQuery, lo que nos permite reducir el código

al máximo y comprenderlo mejor. Nos permite crear mapas con marcadores, rutas, áreas,

geolocalización, entre otras funciones.

Con esta creamos nuevas instancias para el uso de mapas en el documento web, cada una

de estas instancias al crearse son destinadas a un nodo del DOM que hará actuará como

un contenedor para el mapa.

Page 44: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

31

El núcleo de esta librería está conformado por el objeto map el cual es una instancia de

GMaps. Esta es la clase fundamental de la librería y la encargada de manipular el mapa.

Para ello necesitamos brindarle tres datos claves, los cuales son:

• Elemento el: que nos proporciona la referencia al id del objeto map, creado para

un nuevo mapa.

• Latitud y Longitud (lat y lng): que representan las coordenadas geográficas del

centro del mapa a crearse.

(García, J.L., 2018)

Bastan solo estos datos para crear un mapa y realizar las modificaciones que deseemos al

mismo.

Figura 11. Resultado del uso de la librería GMaps (García , 2018)

2.2.11 PHP

El lenguaje PHP (Hypertext Preprocessor) es un lenguaje de código abierto,

popularmente usado para el desarrollo web y el cual tiene gran sinergia con otros

lenguajes de desarrollo web del lado del cliente, como lo es HTML o JavaScript. Lo que

diferencia a PHP de otros lenguajes que están orientados a ser ejecutados del lado del

cliente, es que PHP es ejecutado en el servidor resultando en la generación de HTML que

se envía al cliente para que sea mostrado a este. El cliente receptará este resultante, pero

no podrá conocer la fuente y el contenido de este código, de esta manera, cuando los

Page 45: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

32

ficheros PHP se colocan en un servidor y se procesan aquí, el usuario final no tendrá

manera de conocer como fue generado dicho código ni la estructura que este tendrá.

PHP al ser un leguaje orientado a la estructura de servidor, debe ser ejecutado por un

servicio de servidor web, para ser masificado para los posibles clientes. Los archivos php

que se ejecutan en el servidor pueden accesar a bases de datos, conexiones de red, y otras

varias tareas más para tener como resultado una página única que será visto por los

clientes. Estos solo observarán una página con el código HTML resultante de la ejecución

de la PHP, la cual es compatible con todos los navegadores existentes en la actualidad.

(Álvarez A. M., 2001)

Es así como, al enfocarse a la programación de scripts del lado del servidor, las

posibilidades de desarrollo son infinitas. Se puede hacer cualquier cosa, como recopilar

datos de un formulario, generar contenido de páginas web dinámicas, recibir y enviar

información, etc.

Figura 12. Funcionamiento del lenguaje PHP. (Álvarez A. M., 2001)

Una de las características más potentes y destacables de PHP es su soporte para un amplio

abanico de bases de datos. Es compatible con las bases de datos más comunes, como

MySQL, Oracle, PostgreSql y ODBC. Escribir una página web con acceso a una base de

datos es increíblemente simple utilizando una de las extensiones específicas de bases de

Page 46: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

33

datos (p.ej., para mysql), o utilizar una capa de abstracción como PDO, o conectarse a

cualquier base de datos que admita el estándar de Conexión Abierta a Bases de Datos por

medio de la extensión ODBC.

PHP está listo y preparado para realizar cualquier tipo de aplicaciones, gracias a la gran

y extensa librería de funciones con la que está dotado, librerías que van desde funciones

para realizar cálculos matemáticos avanzados, hasta conexiones con redes y bases de

datos, como se indicó anteriormente. Entre otras importantes capacidades de PHP,

tenemos: funciones para el envío de correos electrónicos, conexiones de red, carga de

archivos, entre una lista interminable de utilidades adicionales.

Sintaxis

PHP ejecuta solo el código que se encuentre entre sus delimitadores, o por defecto,

ejecuta solo el código que se encuentre en un archivo con extensión .php. Los

delimitadores más comunes son <?php para abrir una sección PHP y ?> para cerrarla.

Estos se usan con más frecuencia, cuando se inserta código php en páginas HTML, es así

que estos delimitadores nos permiten separar php del resto de código que es ejecutado

por el cliente. En lo que compete al tipo de variables y funciones de control que usa PHP,

es bastante parecido o casi similar al lenguaje C.

2.2.12 MySQL

MySQL es un sistema gestor de base de datos relacional, desarrollada y distribuida por

Oracle Corporation. Es considerada como la base de código abierto más popular del

mundo, sobre todo para entornos de desarrollo web, es así como este gestor es compatible

con la mayoría de los lenguajes de desarrollo web existentes en la actualidad.

Características de MySQL

• Está escrito y desarrollado en su base por C y C++.

• Está disponible y accesible para varias plataformas y diferentes tipos de sistemas

operativos.

• Disponibilidad para realizar aplicaciones y usos con los siguientes frameworks de

desarrollo: C, C++, Java, Perl, PHP, Python, etc.

Page 47: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

34

• Hace uso eficiente de la potencia y capacidad de sistemas multiprocesador, gracias a

su implementación multihilo.

• Es compatible con las principales herramientas y plataformas de desarrollo con más

uso en la actualidad.

• El servidor está disponible como un programa separado para ser usado en un

ambiente cliente/servidor.

Tipos de Datos soportados por MySQL

• Integer

• Float

• Double

• Char

• Varchar

• Text

• Date

• Time

• DateTime, TimeStamp, Year

• Y tipos de datos especiales usados para Geolocalización

Sentencias y Funciones

• Soporte para las cláusulas GROUP BY y ORDER BY.

• Pueden usarse las funciones: COUNT(), COUNT(DISTINCT ...),AVG(), STD(),

SUM(), MAX() y MIN().

• Soporte para LEFT OUTER JOIN y RIGHT OUTER JOIN usando notación SQL

estándar.

• Las sentencias DELETE, INSERT y UPDATE retornan el número de filas que han

sido afectadas.

• Se puede mezclar tablas de diferentes bases de datos en la misma consulta.

Seguridad, Conectividad y Escalabilidad

MySql maneja un sistema propio de sistema de privilegios muy seguro, por lo tanto, la

verificación para cada base se la realiza basado en el host.

Page 48: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

35

Los clientes pueden conectarse al servidor MySQL usando el protocolo de comunicación

TCP/IP sobre cualquier plataforma o pueden usar el conector ODBC (Open Database

Connectivity) que provee soporte a programas que vayan a ser usados por los clientes

para el desarrollo de algún proyecto.

Tiene gran potencial al momento de manejar gran cantidad de registros por base de datos.

Su uso se extiende a más de 50 millones de registros y más de 60000 tablas. Hasta 64

índices por tabla son permitidos. Cada índice puede consistir en 1 a 16 columnas.

(UNIOJEDA, 2011)

El motor de almacenamiento es el software que se encarga del manejo de estas tres

características. Este software maneja a todos los datos de una base, como se organizan y

la relación que tienen con otros datos de diferentes tablas, además que gestiona como se

almacenan y como son accedidos por los usuarios que tengan permisos para esta base.

También se encarga de mantener la seguridad y la integridad de toda la estructura que

encierra una sola base. Existen varios tipos de motor de almacenamiento que pueden ser

utilizados, los cuales se definen al momento de creación de una base y en las sentencias

de creación de tablas.

Figura 13. Motores de almacenamiento de MySQL. (UNIOJEDA, 2011)

ISAM: Acepta registros de longitud fija y variable. Los datos que se almacenan en esta

base toman el formato de la máquina en donde se está ejecutando la misma, esto lo

convierte en un motor de funcionamiento más rápido, pero dependiente de la máquina.

Page 49: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

36

No soporta datos espaciales (geolocalización), y el tamaño máximo que acepta de una

tabla es de 4gb.

MyISAM: su característica principal es el manejo de tablas de datos no transaccionales,

por lo cual es usada frecuentemente en aplicaciones Web. Este motor consta con unos

índices integrados por una especie de bandera que indica si la tabla fue cerrada

correctamente.

InnoDB: este motor provee a MySQL con soporte a transacciones con capacidades para

las funciones commit y rollback (hacer y deshacer). Nos permite la implementación de

claves foráneas para crear relaciones entre tablas de la base, y gracias a esta función

podemos usar una sentencia SELECT en donde intervengan diferentes tipos de tablas. El

motor en cuestión está completamente integrado con el servidor MySQL, y es por esto

que puede mantener su propio buffer pool para mantener datos e índices en memoria

principal. InnoDB no tiene un límite de tamaño predefinido para las tablas ya que ha sido

diseñado de tal manera, que siempre trata de obtener el máximo rendimiento cuando se

procesa un gran volumen de datos. Como se mencionó anteriormente, es posible combinar

varias sentencias y aceptar cada una de estas al mismo tiempo con la función COMMIT,

y para deshacer los cambios realizados con esta función, ejecutamos la sentencia

ROLLBACK. (UNIOJEDA, 2011)

Una vez expuestos los diferentes tipos de motores de bases de datos que nos ofrece

MySQL y conociendo también sus características, se ha determinado que, para la

aplicación en cuestión a desarrollar, se va a usar el motor InnoDB, dado a que sus

características se adaptan bastante a las necesidades que demanda la funcionalidad que

tendrá la aplicación.

Page 50: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

37

3. METODOLOGÍA

La metodología de desarrollo representa a una colección de documentación formal

referente a los procesos, las políticas y los procedimientos que intervienen en el desarrollo

del software. A continuación, se detallará la metodología a usar en el desarrollo de la

aplicación móvil de vehículo compartido.

3.1 Metodología Extreme Programming (XP)

En esta metodología se prioriza y promueve el trabajo en equipo, en donde se busca que

todos los desarrolladores involucrados en el proyecto aprendan en la práctica y se apoyan

mutuamente, potenciando así las relaciones interpersonales y propiciando un buen clima

de trabajo. Uno de los aspectos más importantes de esta metodología es que el usuario

forma una parte fundamental en el desarrollo de un proyecto, ya que entre desarrolladores

y clientes debe existir una fluida comunicación y realimentación continua en aspectos

técnicos, visuales y de funcionamiento del producto final. Es así como implementar

soluciones a revisiones de un usuario será mucho más fácil y simple.

La metodología XP es perfecta para proyectos en donde se sabe que los requisitos serán

imprecisos, cambiantes y adaptables, en busca de lograr la visión que el cliente o usuario

final tienen sobre el software a desarrollarse y estableciendo bases sólidas bajo cualquier

aspecto que pueda generar un alto riesgo técnico. Es así como se propone esta

metodología para “entregar el software que los clientes necesitan en el momento que lo

necesitan, respondiendo a cualquier requerimiento cambiante del cliente, aún en fases

avanzadas de desarrollo”. (Joskowicz, 2008)

La metodología XP basa su éxito en características esenciales que conforman la base de

esta teoría de desarrollo y que han sido organizados en tres apartados, los cuales son:

historias de usuario, roles, procesos y prácticas.

Page 51: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

38

3.1.1 Historias de Usuario

Esta técnica es usada en la metodología XP para especificar los requerimientos del

software. Para ello se trabaja junto al usuario ya que es este quien describirá las

características que el sistema debe tener, ya sean estos requerimientos funcionales, como

no funcionales. Esta es una actividad bastante interactiva y dinámica, en donde una

historia de usuario propuesta puede cambiar, reemplazarse por una más específica o

general, modificar su enfoque o incluso eliminarse. Es imprescindible que cada historia

de usuario sea completamente comprensible y clara en sus limitaciones para que los

desarrolladores sean capaces de implementarlas en un tiempo acorde a la complejidad de

la funcionalidad que proveerá al sistema este requerimiento. (Letelier & Penadés, 2006)

En conclusión, las historias de usuario proporcionan los detalles sobre la estimación de

riesgos y cuánto tiempo llevará implementar el requerimiento de dicha historia. A

continuación, se muestra como es el formato de una plantilla de historia de usuario usada

en la metodología XP.

Historia de Usuario

Número: (Se define un número único para cada historia de

usuario. Este puede cumplir un estándar impuesto por el

líder del proyecto)

Nombre: (Se define un nombre que, describa a cortos rasgos,

la funcionalidad a implementar en ese requerimiento)

Usuario: (Se define los usuarios que se verán involucrados e interactuarán con la funcionalidad definida en esta historia de

usuario)

Prioridad en Negocio (Alta/Media/Baja): (Se define

el impacto que tendrá este requerimiento a nivel de negocio)

Riesgo en Desarrollo (Alta/Media/Baja): (Se define el

nivel de riego y complejidad que podría presentarse en el

desarrollo de esta funcionalidad)

Puntos Estimados: (Se definen puntos de control para el

requerimiento a desarrollarse)

Iteración Asignada: (Se definen ciclos de desarrollo a

ejecutarse en el desarrollo de este requerimiento)

Programador responsable: (Se da a conocer al o los desarrolladores involucrados en el desarrollo de este requerimiento)

Descripción: (Se describe con claridad y convicción lo que hará la funcionalidad a implementarse en esta historia de

usuario. Se describe como y que usuarios intervienen y que rol va a cumplir cada uno de ellos)

Observaciones: (Se definen aspectos a tener en cuenta durante el desarrollo del requerimiento expuesto en esta historia de

usuario)

Tabla 5. Modelo de una plantilla de Historia de Usuario usada en la metodología

XP (Realización propia)

Page 52: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

39

Después de definir una historia de usuario, esta será descompuesta en tareas de

programación y asignadas a los desarrolladores para ser implementadas durante los ciclos

de desarrollo definidos para este requerimiento.

3.1.2 Roles XP

Desde su definición como metodología ágil, eXtreme Programming de Beck ha definido

roles de acción para los involucrados en el desarrollo de un proyecto. A continuación,

describiremos cada uno de estos roles y cuáles son sus responsabilidades.

• Programador. - El programador es la pieza fundamental en la metodología XP

y tendrá más responsabilidades en el desarrollo del proyecto que otro rol. Será el

responsable de producir, diseñar y probar el código del sistema. Deberá estar

dispuesto a recibir cualquier crítica o recomendación y mantener una

comunicación adecuada con otros programadores y los demás involucrados del

proyecto.

• Cliente. – El cliente, como lo habíamos mencionado, será el encargado de definir

las historias de usuario y especificaciones para realizar pruebas funcionales para

validar la correcta implementación del sistema. El cliente representa a los

usuarios finales que harán uso y se verán afectados por el sistema.

• Encargado de Pruebas o Tester. – Es el encargado de ayudar y apoyar al cliente

en la preparación/realización de las pruebas funcionales al sistema. Después de

ayudar en la ejecución de estas pruebas, también será el responsable de emitir y

hacer públicos los resultados obtenidos.

• Encargado de Seguimiento o Tracker. – Es el encargado de recoger, analizar y

publicar información sobre la marcha del proyecto sin afectar demasiado al

proceso. Supervisa el cumplimiento de las estimaciones y objetivos en cada

iteración de desarrollo sobre un requerimiento, y si es necesario determinará la

realización de un cambio necesario para lograr los objetivos de cada iteración.

Page 53: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

40

• Entrenador o Coach. – Es el experto en la aplicación de la metodología XP y

responsable del proceso global del proyecto. Identifica las desviaciones e

interviene directamente para que el proceso se siga correctamente. Guiará y

aconsejará al grupo de desarrollo, tratando de no dañar su confianza y seguridad.

• Consultor. – Es un miembro externo del equipo involucrado en el desarrollo del

proyecto, pero que posee conocimiento de un tema en específico necesario para

el proyecto. Ayuda al equipo a resolver problemas en específicos pertinentes a su

conocimiento.

• Gestor o Big Boss. – Es el intermediario y favorece la relación entre usuarios y

desarrolladores. Cubre las necesidades del equipo y se asegura que cumplan sus

objetivos. Principalmente su labor es de coordinar tiempos de entrega y solución

de conflictos.

(Letelier & Penadés, 2006)

3.1.3 Proceso XP

Un proyecto XP, comprende en su ciclo de vida los siguientes puntos: entender lo que el

usuario necesita, estimar el tiempo y esfuerzo necesario para poder crear una solución a

la solicitud del cliente, y entregar este resultado como un producto final que cumpla con

las expectativas del cliente. Por lo general, los clientes no son capaces de especificar con

claridad sus requerimientos para el sistema al comienzo del proyecto, por lo que el ciclo

de vida de XP es un ciclo dinámico pensado para realizar cambios a corto y largo plazo,

y que estos cambios tengan el menor impacto posible en la continuación del desarrollo

del sistema. Para ello, se trata de realizar ciclos de desarrollo cortos llamados iteraciones,

procurando entregar resultados funcionales al final de cada ciclo. En cada ciclo se

realizará un análisis, diseño, desarrollo y pruebas funcionales para validar el correcto

desempeño de los requerimientos planteados para cada iteración. (Joskowicz, 2008)

Page 54: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

41

Con estas iteraciones, no solo que optimizamos el tiempo y los recursos, sino que

dinamizamos todo el proceso de desarrollo de un sistema, a diferencia de otras

metodologías como lo podemos observar en la siguiente figura:

Figura 14. Evolución de los largos ciclos de desarrollo en cascada (a) a ciclos

iterativos más cortos (b) y a lo realizado en XP. (Acebal, 2002)

Acordamos que el ciclo de vida de un proyecto XP es muy dinámico, pero eso no significa

que podamos identificar fases durante el desarrollo de este. Es así como el ciclo de vida

ideal de XP consta de 6 fases, las cuales son:

I. Fase de Exploración. - En esta fase se define el alcance general del proyecto al

igual que los requerimientos funcionales y no funcionales del mismo. Para ello,

el cliente definirá las historias de usuario y a partir de estas los programadores

establecerán los tiempos y riesgos de desarrollo para cada requerimiento del

sistema. Esta fase dura un par de semanas, obteniendo al final un punto de partida

para determinar el objetivo general del sistema y un tiempo plazo total estimado

para el desarrollo y puesta en producción del proyecto.

II. Fase de Planificación. - La planificación es una fase relativamente corta, y es

aquí donde el cliente, el gestor del proyecto y los desarrolladores se ponen de

acuerdo para determinar la importancia y el orden, para implementar las historias

de usuario, y sus respectivos entregables. Esta fase se la lleva a cabo en una o

varias reuniones grupales de planificación, obteniendo al final de estas un

documento donde se identifica los entregables finales de cada una de las historias

de usuario.

Page 55: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

42

III. Fase de Iteraciones. - Esta conforma la principal y más cuidadosa fase del ciclo

de desarrollo XP, es aquí donde todos los requerimientos del sistema son

desarrollados, generando al final de cada iteración un entregable funcional

correspondiente a una historia de usuario. Como lo mencionamos, las historias de

usuario definidas al inicio del proyecto no tienen el suficiente detalle para reflejar

la funcionalidad en su máximo potencial, por lo que al inicio de cada iteración se

realizan las tareas necesarias de análisis por parte del programador tomando en

cuenta todas las recomendaciones realizadas por el cliente, es así que podemos

inferir, que en esta fase el cliente va a cumplir un papel esencial.

IV. Fase de Producción. – Como mencionamos anteriormente, al final de cada ciclo

de desarrollo tendremos entregables totalmente funcionales y sin error alguno,

pero puede ser deseable por parte del cliente no poner el sistema en producción

hasta que no se tenga la funcionalidad completa del sistema. Es así que en esta

fase ya no se realizan desarrollos a nivel funcional del sistema, pero si se pueden

realizar tareas de revisión de rendimiento y ajustes adicionales que pueden

resultar en la inclusión de nuevas características a la versión final del sistema.

V. Fase de Mantenimiento. - Ya puesta a producción una primera versión del

sistema se debe de poner a disposición tareas de soporte al cliente, esto con el

objetivo de realizar mantenimiento inmediato ante posibles problemas

presentados en el sistema. Es así como se realizarán nuevas iteraciones para

corregir aspectos débiles del sistema, se implementarán y se seguirá brindando

soporte hasta la culminación de esta fase.

VI. Muerte del Proyecto. - Cuando se haya cubierto en su totalidad con el

cumplimiento e inclusión en el sistema de todas las historias de usuario, ni

tampoco existan en ejecución ningún ciclo de desarrollo extra para corregir

falencias, errores o necesidades del cliente en aspectos de funcionalidad,

rendimiento y confiabilidad del sistema, se podrá dar como terminado o muerto

el proyecto y entregar la documentación final del sistema.

(Joskowicz, 2008)

Page 56: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

43

3.1.4 Prácticas XP

El objetivo primordial de la metodología XP es tratar de disminuir el costo que genera el

cambio en los diferentes ciclos de desarrollo a lo largo del proyecto, lo suficiente para

que el diseño evolutivo funcione. Esto se trata de conseguir, apoyándose en las nuevas

tecnologías disponibles y en la aplicación de las prácticas que se describen a continuación.

• El juego de la planificación: Engloba al proceso de comunicación entre el cliente

y los desarrolladores. El gestor del proyecto realiza una estimación del esfuerzo

requerido para la implementación de las historias de usuario y los clientes deciden

sobre el tiempo de las entregas de cada ciclo de desarrollo. El cliente establece la

prioridad de cada historia de usuario, de acuerdo con el valor que aporta para el

negocio.

• Entregas pequeñas: La idea es producir rápidamente versiones del sistema que

sean operativas, aunque obviamente no cuenten con toda la funcionalidad

pretendida para el sistema, pero sí que constituyan un resultado de valor para el

negocio. Una entrega no debería tardar más 3 meses.

• Metáfora: Una metáfora es una historia compartida que describe cómo debería

funcionar el sistema. El usuario y desarrolladores deben definir un grupo de

metáforas que identifiquen la funcionalidad del proyecto a realizarse.

• Pruebas: Las pruebas para el sistema son establecidas antes de comenzar a

desarrollar e implementar el código y son ejecutadas constantemente ante cada

modificación que se realice en el sistema. Los clientes intervienen en la creación

y ejecución de estas pruebas para cada historia de usuario que deba validarse.

• Refactorización (Refactoring): Este término conlleva una actividad de

reestructuración del código con el objetivo de evitar duplicación de código,

mejorar su legibilidad, simplificarlo y hacerlo más entendible para futuros

cambios. La refactorización mejora la estructura interna del código sin alterar su

comportamiento externo.

Page 57: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

44

• Propiedad colectiva del código: El ya mencionado proceso de refactorización es

una antesala para aplicar este concepto en donde un programador puede cambiar

cualquier parte del código en cualquier momento. Con esta práctica se trata de

evitar que algún programador sea imprescindible para realizar cambios en alguna

parte del sistema.

• Cliente in-situ: El éxito del proyecto XP se debe a que es el cliente quien guía

constantemente el trabajo hacia lo que aportará mayor valor de negocio y los

desarrolladores pueden y deben resolver de manera inmediata cualquier duda

asociada.

• Estándares de programación: XP enfatiza la comunicación de los

programadores a través del código, con lo cual es indispensable que se sigan

ciertos estándares de programación. Los estándares de programación mantienen

el código legible para los miembros del equipo, facilitando los cambios.

(Letelier & Penadés, 2006)

Figura 15. Las prácticas se refuerzan entre sí. (Letelier & Penadés, 2006)

Page 58: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

45

Justificación

Ya expuesta la metodología XP, podemos notar que es perfecta para aplicarla en el

desarrollo de nuestra aplicación móvil. Dado que será una aplicación que tendrá cambios

constantes en sus requerimientos, esta metodología dinámica jugará un papel importante

en la reducción de costo y tiempo de los cambios que se puedan realizar en alguna de las

etapas del ciclo de vida del proyecto.

Al ser una aplicación dirigida al uso, en su mayoría, de estudiantes, es y será

imprescindible escuchar las críticas a las primeras versiones del aplicativo y mediante

iteraciones de desarrollo procurar solventar las falencias que vayan apareciendo antes que

el aplicativo se disponga para producción.

De igual manera al ser un proyecto a corto plazo, se espera con esta metodología cumplir

los tiempos de entrega establecidos minimizando al máximo los riesgos que el desarrollo

de esta aplicación móvil implica.

En este sentido, de acuerdo con lo mencionado, se podrán hacer mejoras posteriores en el

aplicativo.

Page 59: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

46

4. DESARROLLO DEL PROYECTO

4.1 Requerimientos Funcionales

Para determinar los requerimientos de la aplicación móvil a desarrollar, hemos aplicado

una de las bases de la Metodología XP, procediendo con la elaboración de historias de

usuario en donde se definen los actores e interacciones que tendrán cada uno de ellos con

las funcionalidades del aplicativo.

4.1.1 Actores

En este punto vale realizar una aclaración sobre la funcionalidad que tendrá el aplicativo,

y hay que tomar en cuenta que la aplicación será destinada para un usuario final, el cual

podrá ejercer cualquiera de los dos roles identificados a continuación, según sea su

necesidad en el momento, en el mismo perfil de usuario y en la misma aplicación.

Ahora, planteadas las historias de usuario y casos de uso, se ha podido identificar y

determinar a los actores o roles que interactuarán con la aplicación. A cada actor se le ha

asignado un nombre que representa y describe las actividades que podrá realizar en la

aplicación. Estos actores son los siguientes:

1. Conductor

En el rol de conductor, el usuario final podrá realizar las siguientes

actividades:

• Usuario final, externo al sistema.

• Crear un usuario para acceder al uso de la aplicación.

• Registrar los datos de un vehículo, el cual pondrá a disposición para

brindar el servicio de vehículo compartido.

• Crear y poner a disposición una ruta a recorrer.

Page 60: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

47

• Determinar los parámetros del viaje, como hora, fecha y asientos

disponibles en el vehículo.

• Calificar el servicio en general al finalizar la ruta determinada.

2. Pasajero

En el rol de pasajero, el usuario final podrá realizar las siguientes actividades:

• Usuario final, externo al sistema.

• Crear un usuario para acceder al uso de la aplicación.

• Buscar rutas que sean de su interés.

• Consultar la disponibilidad de asientos en una ruta deseada.

• Escoger y reservar un asiento en una ruta deseada.

• Calificar el servicio en general al finalizar la ruta escogida.

4.1.2 Historias de Usuario

A continuación, se presenta una tabla que resume las historias de usuario planteadas y

aprobadas por el tutor del proyecto, para lo que será las funcionalidades con las que

contará el aplicativo.

Número Contexto Usuario Resultado / Comportamiento

esperado

1 Registrarse a la aplicación con las credenciales del correo institucional de la UCE

Usuario Aplicación

Solamente se podrá acceder a la aplicación con el usuario y clave pertenecientes a las credenciales del correo institucional.

2 Iniciar Sesión en la aplicación de un usuario ya registrado

Usuario Aplicación

Una vez registrado el usuario, este podrá ingresar al aplicativo con la clave y usuario registrados.

3 Registrar un vehículo que brindará el servicio de vehículo compartido

Usuario Aplicación

El usuario conductor registrará los datos de su vehículo en la base de datos de la aplicación, garantizando la factibilidad y seguridad del servicio.

4 Creación de la ruta a recorrer y disponibilidad

Usuario Aplicación

El conductor creará la ruta a recorrer, especificará la disponibilidad y establecerá los parámetros para el inicio de esta.

Page 61: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

48

5 Cancelación de una ruta ya creada

Usuario Aplicación

El conductor podrá realizar la cancelación de una ruta que ha creado, siempre y cuando en esta no exista una reserva ya hecha.

6 Realizar una búsqueda de una ruta específica deseada

Usuario Aplicación

El usuario que desee usar el servicio deberá buscar una ruta que sea de su interés, para ello ingresará un parámetro de búsqueda y en base a este obtendrá un resultado, si existiese.

7 Reservar un asiento en la ruta propuesta por un conductor

Usuario Aplicación

Si existiese disponibilidad de asientos en una ruta, el pasajero podrá realizar la reserva de un asiento.

8 Cancelar la reserva de un asiento en una ruta propuesta por un conductor

Usuario Aplicación

El pasajero podrá realizar la cancelación de la reserva en una ruta, si ya no deseara participar en esta.

9 Calificación del servicio brindado y gestionado por la aplicación

Usuario Aplicación

Al final del servicio, todos los usuarios calificarán el nivel de satisfacción del viaje y podrán ingresar un comentario al respecto.

Tabla 6. Resumen de las historias de usuario definidas para el aplicativo.

(Realización Propia))

4.1.3 Casos de Uso

En el siguiente diagrama se muestra la interacción que cada actor identificado tiene en

cada uno de los casos de uso. Como hemos aclarado, el usuario final que descargue la

aplicación podrá ejercer cualquiera de estos dos roles al mismo tiempo según sea su

necesidad en el momento.

Page 62: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

49

Figura 16. Diagrama de casos de uso (Realización propia)

4.1.4 Descripción de los casos de uso

• Registrarse

Actores: Usuario final en el rol de conductor o pasajero.

Page 63: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

50

En primer lugar, el usuario final deberá descargar la aplicación desde la página

https://gmoncayoresearch.com/carpoolingUCE/ e instalarla en su celular. Ahora,

para poder ingresar a la aplicación, primero se debe realizar un proceso de

registro. Para ello el usuario deberá ingresar los datos requeridos en el formulario

de registro, asignar un usuario y contraseña para finalmente guardar el registro.

Posteriormente deberá confirmar su registro mediante un email que llegará al

correo electrónico ingresado en el formulario de registro.

Figura 17. Diagrama del caso de uso Registrarse (Realización propia)

• Iniciar Sesión

Actores: Usuario final en el rol de conductor o pasajero.

El usuario final podrá ingresar a la aplicación usando sus credenciales

correspondientes validadas en el proceso de registro. Una vez iniciada sesión en

la aplicación, el usuario podrá hacer uso de las funciones de esta.

Page 64: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

51

Figura 18. Diagrama del caso de uso Iniciar Sesión (Realización propia)

• Registrar Vehículo

Actores: Usuario final en el rol de conductor.

Si el usuario final desea ofrecer el servicio de vehículo compartido, primero

deberá de registrar un vehículo de su propiedad. Para ello, deberá ingresar los

datos solicitados en el formulario de Agregar vehículo y guardar el registro. Con

este proceso el usuario estará listo para ofrecer el servicio.

Figura 19. Diagrama del caso de uso Iniciar Registrar Vehículo (Realización

propia)

Page 65: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

52

• Crear una Ruta

Actores: Usuario final en el rol de conductor.

El usuario final que ejercerá en el momento como conductor, podrá realizar la

creación de una ruta, teniendo en cuenta que el punto de partida siempre va a ser

el campus universitario y el destino final será a su elección. Al crear la ruta

también determinará la fecha y hora de inicio del viaje, así como la disponibilidad

de asientos en su vehículo.

Figura 20. Diagrama del caso de uso Crear Ruta (Realización propia)

• Cancelar una Ruta

Actores: Usuario final en el rol de conductor.

Las rutas creadas por el usuario se guardarán en su perfil en la opción Mis Rutas

y aquí estarán disponibles para observar los datos de esta. También se tendrá la

opción de cancelar la ruta, pero de ya existir reservas hechas en esta, ya no se

podrá realizar el proceso de cancelación.

Page 66: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

53

Figura 21. Diagrama del caso de uso Cancelar Ruta (Realización propia)

• Buscar Ruta

Actores: Usuario final en el rol de pasajero.

El usuario final que necesita usar el servicio de vehículo compartido podrá

realizar una búsqueda mediante un parámetro de ingreso, de las rutas que ha este

le puedan beneficiar. El parámetro de búsqueda corresponderá al nombre de un

sector de la ciudad y si existiese alguna coincidencia, se le presentará la ruta

encontrada.

Figura 22. Diagrama del caso de uso Buscar Ruta (Realización propia)

Page 67: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

54

• Escoger y Reservar una Ruta

Actores: Usuario final en el rol de pasajero.

Cuando el usuario haya encontrado una ruta que se adapte a sus necesidades, este

podrá realizar una reserva en dicho trayecto.

Figura 23. Diagrama del caso de uso Escoger y Reservar Ruta (Realización

propia)

• Cancelar la reserva en una ruta

Actores: Usuario final en el rol de pasajero.

Si el usuario final desea cancelar la reserva realizada con anterioridad en una ruta

propuesta, deberá ingresar a la opción Mis Reservas y desde aquí se le dará la

opción de cancelar la reserva.

Figura 24. Diagrama del caso de uso Cancelar la reserva en una ruta

(Realización propia)

Page 68: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

55

• Calificar Servicio

Actores: Usuario final en el rol de pasajero y conductor.

El usuario final, ya sea como pasajero o conductor, al finalizar el viaje tendrá la

opción de calificar el nivel de satisfacción con el servicio en general. La

calificación se realizará mediante el estándar de 5 estrellas. Esta calificación se la

realizará, en el caso del conductor, en la opción Mis Rutas y para el caso del

pasajero, la calificación la podrá realizar en la opción Mis Reservas. En estas dos

opciones se presentarán las rutas en las que ha participado un usuario, ya sea

como conductor o pasajero, respectivamente. Estas se seguirán presentando en el

perfil del usuario hasta que estos den una calificación a la ruta en la que han

participado.

Figura 25. Diagrama del caso de uso Calificar Servicio (Realización propia)

Page 69: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

56

4.2 Requerimientos No Funcionales

• Seguridad: La aplicación solicitará un usuario y contraseña registrados para

poder ingresar a esta, controlando de esta manera el ingreso de usuarios no

autorizados o externos a la universidad. Se validará que solo se pueda usar correos

institucionales pertenecientes al dominio de la universidad, para registrarse en la

aplicación. Mencionar lo de la confirmación del correo

• Escalabilidad: Gracias a su diseño y arquitectura, la aplicación quedará

disponible a la integración de nuevas funciones y sistemas que puedan beneficiar,

en un futuro, la expansión y crecimiento de esta.

• Concurrencia: Al ser desarrollada en base a eventos asincrónicos, la aplicación

permitirá que varios usuarios interactúen con la misma al mismo tiempo, sin

generar un cuello de botella que pueda colapsar el servidor de la aplicación.

• Usabilidad: La interfaz de la aplicación será bastante intuitiva y fácil de usar para

el usuario. Al proponer un solo perfil de usuario para ambos roles que el usuario

final puede tomar mientras interactúa en la aplicación, se simplificará el uso de

esta, en lugar de proponer dos perfiles diferentes que podrían llegar a confundir

al usuario.

4.3 Diseño de la Base de Datos

A continuación, se muestra el modelo entidad-relación de la base de datos a

implementarse para la aplicación. Como se mencionó con anterioridad, el gestor de base

de datos a usarse para la aplicación será MySQL.

Page 70: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

57

Figura 26. Diagrama del modelo entidad-relación de la Base de Datos de la App

(Realización propia)

4.4 Arquitectura Física de la Aplicación Móvil

La aplicación móvil será alojada por un dispositivo móvil con sistema operativo Android,

la cual interactuará con la base de datos presentada anteriormente elaborada en el gestor

de base de datos PostgreSQL, mediante servicios de tipo Web API proporcionados por

un servidor de aplicaciones elaborado en .Net en Visual Studio 2015. De igual manera

todas las funcionalidades de la aplicación serán proporcionadas por el servidor de

aplicaciones antes mencionado.

Page 71: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

58

Figura 27. Arquitectura física de la aplicación móvil (Realización propia)

4.5 Arquitectura Lógica de la Aplicación Móvil

Para el desarrollo de esta aplicación móvil se ha implementado la arquitectura

multicapas, debido a que es más viable, eficiente y convencional en este tipo de

aplicaciones. Es así como se ha separado en capas diferentes la interfaz con la que

interactúa el usuario, la lógica de negocio y las operaciones a realizar en la base de datos.

4.5.1 Capa de Presentación

Aquí se encuentran todas las interfaces por medio de las cuales el usuario interactuará

con la aplicación. Por medio de esta capa se hará cumplir las reglas del negocio, en donde

se capturará y validará los datos ingresados por el usuario, así como se hará cumplir

reglamentos y restricciones en las funciones de la aplicación. El desarrollo de las

interfaces se ha realizado con el uso e implementación de HTML y CSS.

Page 72: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

59

4.5.2 Capa de Lógica del Negocio

Esta capa contendrá el modelo de negocio de la aplicación, es decir, las funcionalidades

que le dan valor a esta. Es aquí donde se recibirán las peticiones de los usuarios y tras el

proceso respectivo, se enviarán respuestas al mismo. Esta capa nos permite relacionar y

comunicar a la capa de presentación con la capa de datos. Es por medio de esta capa que

presentaremos la información de los usuarios registrados y estos podrán hacer uso de

todas las funcionalidades con las que la aplicación consta.

4.5.3 Capa de Almacenamiento

Es en esta capa donde se almacenarán todos los datos y además es la encargada de darnos

acceso a los mismos. Por lo tanto, aquí residirá la base de datos implementada para esta

aplicación y además nos brindará los servicios necesarios para acceder e interactuar con

esta. Aquí se almacenará los datos de los usuarios que se registren en la aplicación, así

como datos generados en la interacción con las funciones de esta, como por ejemplo datos

de vehículos registrados y rutas creadas.

4.6 Fases del desarrollo de la Aplicación Móvil

Para la fase de desarrollo de la aplicación móvil se ha puesto en práctica la metodología

expuesta con anterioridad, al ser esta la que mejor se adaptaba a los recursos que se tenía

para la elaboración de este proyecto. A lo largo de todo el tiempo que se ha invertido en

el desarrollo de esta aplicación y poniendo en práctica la metodología XP, hemos

obtenido como resultado las siguientes fases de desarrollo.

4.6.1 Exploración y Planificación

Dentro de esta fase de desarrollo de la aplicación, se ha realizado la recolección de datos

necesarios para el planteamiento de los requerimientos funcionales y no funcionales de

la aplicación.

Page 73: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

60

Para ello se tomó en cuenta el resultado y opiniones obtenidas en una encuesta realizada

sobre el tema de Vehículo Compartido en la Facultad de Ingeniería de la Universidad

Central del Ecuador en meses pasados. Además, se tomó en cuenta los consejos y

observaciones realizados por los propios ingenieros docentes que propusieron el tema en

un principio, siendo ellos también portavoces de las opiniones del alumnado en general

de la Facultad de Ingeniería.

El levantamiento de datos e información a nivel de campo fue un proceso de

investigación llevado a cabo por el desarrollador de la aplicación, en el cual se estudió

los diferentes puntos estratégicos de la facultad en los cuales sea más grande la

concurrencia de alumnos, para definirlos posteriormente como puntos de encuentro de

donde tendrían punto de partida las rutas creadas por los mismos alumnos.

De esta manera se definió las funcionalidades a presentar en la aplicación, así como los

usos que se le podría dar a esta.

4.6.2 Diseño

Se realizó un estudio y análisis de los requerimientos a cumplir con la aplicación, teniendo

en cuenta tiempo, presupuesto y alcance con lo cual se pudo definir las herramientas de

desarrollo a usar para la correcta elaboración y producción de la aplicación.

Al ser un proyecto para realizarse por un solo desarrollador se dio prioridad al uso de

herramientas conocidas y populares entre la comunidad informática, en las cuales el

desarrollador ya tuviera conocimiento y experiencia en las mismas para agilizar el

proceso, y en herramientas de software libre, para no tener problemas de presupuesto o

compra de licencias, que para un solo desarrollador podría ser bastante costoso

sobrellevar estos valores por sí mismo.

Como consecuencia se dio el uso de herramientas de código abierto, expuestas en

capítulos anteriores, las cuales a la vez son algunas de las más populares usadas a nivel

mundial para el desarrollo de aplicaciones móviles.

Page 74: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

61

4.6.3 Programación basada en Iteraciones

La programación realizada para el desarrollo de la aplicación se ha realizado cumpliendo

los pasos descritos en la metodología usada para este proyecto. Se ha generado ciclos de

desarrollo en donde al final de cada uno de estos, se presentaba un entregable ya funcional

para la aplicación que correspondía a un requerimiento en concreto. Al final de cada uno

de los ciclos mencionados, se ha realizado un control de calidad para verificar que si se

está cumpliendo cada uno de los requerimientos que se ha fijado para la aplicación.

La programación se ha realizado usando como lenguaje de programación base a JQuery

Mobile, en conjunción con HTML y JavaScript para el desarrollo de la aplicación por

parte del Cliente y con el uso de lenguaje PHP para el desarrollo del complemento

funcional y lógico de la aplicación por parte del Servidor. En conjunto entre Cliente y

Servidor se ha obtenido una aplicación que cumple en cubrir todos los requerimientos

planteados en la fase de planificación, obteniendo así éxito en la aplicación de la

metodología planteada en su inicio.

4.6.4 Implementación y Producción

Al ya tener un producto que se podría decir que está terminado, funcional y cumple con

los requerimientos propuestos para la aplicación, entramos en la fase en la que el cliente

debe dar su visto bueno para poner el sistema en producción. En esta fase se ha realizado

pequeñas correcciones dispuestas por observaciones realizadas por el cliente final, en

este caso, por testers que pertenecen al alumnado de la facultad y por docentes de esta.

Se realizó pruebas funcionales finales y en cada una de estas pruebas se fue verificando

que cada uno de los requerimientos, tanto funcionales como no funcionales que se

propuso para la aplicación, se cumplan a cabalidad. Incluso se agregó nuevas

funcionalidades que en un principio no se tomó en cuenta para el desarrollo de la

aplicación

Page 75: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

62

4.7 Puesta en Producción

En esta etapa se realizó una última revisión y verificación de la aplicación, en donde se

confirmó que esta si cumple con todos los requerimientos propuestos para este proyecto

en sus inicios. Como resultado de realizar el proceso antes mencionado, se decidió poner

en producción la aplicación.

Para llevar a cabo esta etapa final se decidió la contratación de un servidor privado en

donde se realizó la completa migración de la aplicación, incluido la base de datos en

donde se alojará toda la información recolectada por esta. Para el caso, se creó una página

web donde se da a conocer el enlace directo de descarga de la aplicación. A continuación,

se muestra el resultado final del desarrollo de la aplicación móvil, así como la página web

de descarga directa de esta.

https://gmoncayoresearch.com/carpoolingUCE/

Figura 28. Página de descarga de la aplicación móvil (Realización propia)

Page 76: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

63

CarpoolingUCE App

Figura 29. Versión final de la aplicación móvil (Realización propia)

Page 77: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

64

5. CONCLUSIONES

➢ Con este proyecto se ha puesto a disposición de la comunidad universitaria una

opción de transporte que mejorará la forma en la que los estudiantes, docentes y

administrativos se dirigen desde la universidad a sus respectivos destinos fuera de

ella. Es así como se ha implementado otra opción de movilización para la

comunidad universitaria, a parte de las demás opciones de movilización brindadas

por la actual administración municipal. La aplicación móvil puede ser descargada

de forma gratuita y usada para gestionar la oferta de vehículo compartido,

fomentando la unidad de la comunidad universitaria y valores como la

integración, colaboración y ayuda.

➢ Mediante la aplicación móvil se recolectará una gran cantidad de datos sobre los

estudiantes. Esta información recolectada, puede ser analizada y estudiada para

obtener conocimientos que ayuden en la creación e implementación de nuevos

procesos, aplicaciones y sistemas que mejoren la movilidad y atención que recibe

la comunidad universitaria en la actualidad.

➢ Se priorizó el desarrollo de la aplicación para dispositivos móviles con sistema

operativo Android, por ser este el sistema operativo más popular a nivel mundial,

así como también, al ser un sistema que basa su arquitectura en el software libre

por excelencia, se tenía más y mejores herramientas para su desarrollo

disponibles, sin tener que incurrir en costos por licencias de uso de estas.

Page 78: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

65

6. RECOMENDACIONES

➢ La aplicación tiene un gran potencial para una posible expansión, que no sea un

concepto solo usado en la faculta de Ingeniería, si no que sea usado en toda la

Universidad Central del Ecuador. De igual manera se puede implementar nuevas

y mejores funcionalidades a la misma, siempre teniendo como meta el mejorar el

estilo de vida de la comunidad académica. También se recomienda realizar la

portabilidad de la aplicación para que esta esté disponible también en dispositivos

Apple con sistema operativo IOS y para dispositivos con sistema operativo

Microsoft.

➢ Se recomienda, para un futuro trabajo de titulación, implementar la aplicación en

la Facultada de Ingeniería, recolectar datos, analizarlos y estudiarlos para

proponer soluciones de movilidad a la comunidad universitaria. Como autor de la

tesis en cuestión, yo, Marco Vinicio García Yunga me comprometo en colaborar

con la asistencia y asesoría necesaria para realizar el lanzamiento oficial de la

aplicación y cooperar con la integración de este proyecto con un futuro proyecto

de análisis de datos que se realice en base a la información recolectada por la

aplicación.

➢ Se recomienda que la aplicación funcione en conjunto con otros proyectos

relacionados en el mismo tema, para tener un sistema más completo que brinde

un mejor servicio a la comunidad académica y de esta manera se convierta en un

referente tecnológico para futuros proyectos. Con esta herramienta en

funcionamiento, la facultad de Ingeniería fomenta en la Universidad Central del

Ecuador el acoger y apuntar al desarrollo del concepto conocido como Smart

University, en donde se pretende que la tecnología intervenga en todos los

aspectos administrativos y académicos de la universidad, con la intención de

mejorar el estilo de vida de estudiantes, docentes y administrativos.

➢ Se recomienda que la Facultad de Ingeniería de la Universidad Central del

Ecuador, realice una inversión económica en esta aplicación, para que la misma

Page 79: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

66

pueda hacerse con más y mejores servicios ofrecidos por las aplicaciones de

Google que se han usado para el desarrollo de la aplicación. Es así como se debería

invertir en la compra de mejores credenciales de Google Maps, dado que las

actuales pertenecen al período gratuito de prueba que Google ofrece solo por el

período de un año.

➢ Se recomienda una mejor gestión de la base de datos de la aplicación, por el

momento esta se encuentra en un servidor privado, pero se aconseja que la base

tenga una réplica y los debidos procesos de respaldo (backup) en los servidores

de la Universidad Central del Ecuador.

Page 80: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

67

BIBLIOGRAFÍA

(1) Abernethy, M. (Junio de 2011). ¿Simplemente qué es Node.js? (I.

Corporation, Editor) Recuperado el 13 de Abril de 2018, de

https://www.ibm.com/developerworks/ssa/opensource/library/os-

nodejs/index.html

(2) Acebal, C. (2002). eXtreme Programming (XP): un nuevo método de

desarrollo de software. Departamentode Informática, Área de Lenguajes y

Sistemas Informáticos, Universidad de Oviedo: Novatica.

(3) Álvarez, A. M. (2001). Qué es PHP. Recuperado el 20 de Agosto de 2018,

de https://www.desarrolloweb.com/articulos/392.php

(4) Álvarez, M. A., Galeano, D., & Peña, J. (2014). Manual del lenguaje de

marcación de HTML5.Desarrolladorweb.com. Recuperado el 13 de Abril de

2018, de http://exprimiendoopencms.com/export/sites/sagasuite/.galleries/test-

galeria-descarga/manual-lenguaje-html5.pdf

(5) Aneloa Chipantasi, N. E., & Cerda Tanguila, J. L. (2016). Aplicación móvil

para mejorar la movilidad de la comunidad universitaria de la universidad

central del ecuador utilizando “Vehículo Compartido”. Recuperado el 11 de

diciembre de 2017, de http://www.dspace.uce.edu.ec/bitstream/25000/7349/1/T-

UCE-0011-284.pdf

(6) Bakken, J. P., Uskov, V. L., Penumatsa, A., & Doddapaneni, A. (2014).

Smart Universities, Smart Classrooms and Students with Disabilities. Bradley

Universities, Illinois, USA: Springer, Cham.

(7) Basterra, Bertea, Borello, Castillo, & Venturi. (2017). Android OS Documentation

Release 0.1. (I. T. Córdoba, Ed.) Recuperado el 9 de Abril de 2018, de

https://media.readthedocs.org/pdf/androidos/latest/androidos.pdf

(8) Fuentes Villarreal, C. A. (Noviembre de 2013). ¿Qué es JQuery?

Recuperado el 14 de Abril de 2018, de https://www.northware mx/wp-

content/uploads/2013/11/Noviembre_Que_es_jQuery__Northware.pdf.

Page 81: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

68

(9) García , J. L. (2018). GMaps.js: una forma muy fácil de publicar mapas en

la web. (W. mappinggis.com, Editor) Recuperado el 18 de Abril de 2018, de

https://mappinggis.com/2018/03/gmaps-js-una-forma-muy-facil-de-publicar-

mapas-en-la-web/

(10) Gasca, M. C., Camargo, L., & Medina, B. (2013). Metodología para el

desarrollo de aplicaciones móviles. Recuperado el 7 de Abril de 2018, de

file:///C:/Users/HP-User/Downloads/Dialnet-

MetodologiaParaElDesarrolloDeAplicacionesMoviles-4778503.pdf

(11) Gauchat, J. D. (2012). El gran libro de HTML5, CSS3 y Javascript (1ra

ed.). Gran Vía de les Corts Catalanes, Barcelona: Marcombo S.A.

(12) Girónes, J. T. (2011). El gran libro de Android (3ra ed.). Madrid, España

Península: Marcombo S.A.

(13) Guevara Soriano, A. (2014). Dispositivos Móviles. Revista Seguridad.

Recuperado el 7 de Abril de 2018, de https://revista.seguridad.unam.mx/numero-

07/dispositivos-moviles

(14) IBM Software. (2012). El desarrollo de aplicaciones móviles nativas, Web

o híbridas. (I. Corporation, Ed.) Recuperado el 8 de Abril de 2018, de

ftp://ftp.software.ibm.com/la/documents/gb/commons/27754_IBM_WP_Native_

Web_or_hybrid_2846853.pdf

(15) Infobae, R. V. (16 de Diciembre de 2015). Carpooling: qué es y cómo

funciona. Recuperado el 7 de Abril de 2018, de

https://www.infobae.com/2015/12/16/1776933-carpooling-que-es-y-como-

funciona

(16) Joskowicz, J. (2008). Reglas y Prácticas en eXtreme Programming. (U. d.

Vigo, Editor) Recuperado el 22 de Abril de 2018, de

http://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf

(17) Letelier, P., & Penadés, M. C. (2006). Metodologías ágiles para el

desarrollo de software: eXtreme Programming (XP). Recuperado el 22 de Abril

de 2018, de http://www.cyta.com.ar/ta0502/b_v5n2a1.html

Page 82: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

69

(18) Luttecke, C. (2014). ¿Qué es jQuery Mobile? Recuperado el 15 de Abril

de 2018, de http://www.jtech.ua.es/dadm/restringido/web/sesion05-apuntes.pdf

(19) Martínez, F. L. (2011). Aplicaciones para dispositivos móviles. (U. P.

Valencia, Ed.) Recuperado el 9 de Abril de 2018, de

https://riunet.upv.es/bitstream/handle/10251/11538/Memoria.pdf

(20) Máster en Desarrollo de Aplicaciones Android. (2017). Arquitectura de

Android. (U. P. Valencia, Ed.) Recuperado el 11 de Abril de 2018, de

http://www.androidcurso.com/index.php/recursos/31-unidad-1vision-general-y-

entorno-de-desarrollo/99-arquitectura-de-android

(21) McFarlin, T. (Mayo de 2016). ¿What Is JQuery? Recuperado el 14 de

Abril de 2018, de https://code.tutsplus.com/tutorials/what-is-jquery--cms-26232

(22) Mozilla MDN web docs. (2015). ¿Qué es JavaScript? Recuperado el 13

de Abril de 2018, de

https://developer.mozilla.org/es/docs/Learn/JavaScript/First_steps/Qu%C3%A9

_es_JavaScript

(23) Ortiz, E. C. (2012). Introducción a jQuery Mobile. IBM. (I. Corporation,

Editor) Recuperado el 18 de Abril de 2018, de

https://www.ibm.com/developerworks/ssa/library/wa-

jquerymobileupdate/index.html

(24) Peris, L. (Diciembre de 2016). Artìculo "Apache Cordova". Consultor

tecnológico y Programador PHP. Recuperado el 13 de Abril de 2018, de

https://luisperis.com/apache-cordova

(25) Rodríguez, A. (2014). Sistema Operativo Android. Recuperado el 9 de

Abril de 2018, de https://es.slideshare.net/AlondraAgueroRodriguez/sistema-

operativo-android-39540973

(26) UNIOJEDA. (2011). Fundamentos de MySQL. (E. d. Computación,

Editor) Recuperado el 25 de Agosto de 2018, de

https://anaylenlopez.files.wordpress.com/2011/03/fundamentos-de-

mysql_iiicorte.pdf

Page 83: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

70

(27) Universidad de Alicante. (2013). Introducción a JQuery Mobile. (D. C.

IA, Editor) Recuperado el 15 de Abril de 2018, de

http://www.jtech.ua.es/dadm/restringido/web/sesion05-apuntes.pdf

Page 84: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

71

ANEXOS

Page 85: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

72

ANEXO A

Manual Técnico para el desarrollo de la aplicación móvil

Instalación de NODE.JS

Node.js es un lenguaje de programación que utiliza código JavaScript en el lado del

Backend, por lo que es extremadamente rápido para gestionar proyectos de gran tamaño

sin consumir mucho recurso.

Para descargarlo nos dirigimos a la página oficial de node.js

(https://nodejs.org/es/download/) y elegimos la versión que necesitemos. Para el caso será

la última versión para Windows de 64 bits.

Figura A 1 Instalación de Node.js (Realización Propia)

Una vez descargado el archivo, damos doble clic sobre este para empezar la instalación.

Se nos presentará una pantalla de inicio para comenzar con el proceso de instalación.

Damos en Next.

Page 86: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

73

Figura A 2 Instalación de Node.js (Realización Propia)

Aceptamos los términos y condiciones de uso y presionamos Next.

Figura A 3 Instalación de Node.js (Realización Propia)

Elegimos el destino donde se instalará el software

Page 87: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

74

Figura A 4 Instalación de Node.js (Realización Propia)

Elegimos los componentes a instalarse.

Figura A 5 Instalación de Node.js (Realización Propia)

Y finalmente damos clic en Install, para empezar con el proceso de instalación con todos

los parámetros antes definidos.

Page 88: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

75

Figura A 6 Instalación de Node.js (Realización Propia)

Al terminar la instalación, presionamos el botón Finish para salir. Podemos comprobar

que la instalación se realizó correctamente, revisando si ya tiene una versión existente en

el sistema. Para esto en un terminal CMD de Windows, tipificamos node -v y se nos

deberá mostrar la versión que está instalada en el sistema.

Figura A 7 Instalación de Node.js (Realización Propia)

Figura A 8 Revisión de instalación de Node.js (Realización Propia)

Page 89: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

76

Para el correcto funcionamiento de esta herramienta de desarrollo, se debe configurar sus

correspondientes variables de entorno. Para esto vamos al ícono de nuestro equipo, clic

derecho y propiedades.

Figura A 9 Configuración de Node.js (Realización Propia)

Se nos presentará una pantalla donde se muestran las características de nuestro equipo.

Aquí nos dirigimos a la opción Configuración avanzada del sistema.

Figura A 10 Configuración de Node.js (Realización Propia)

En la siguiente pantalla buscamos la opción Variables de entorno, y damos clic.

Page 90: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

77

Figura A 11 Configuración de Node.js (Realización Propia)

En la sección que se denomina Variables del sistema, buscaremos la variable llamada

Path. Ingresamos a esta variable y agregamos la dirección de donde se instaló node.js.

Figura A 12 Configuración de Node.js (Realización Propia)

Con el botón Nuevo podremos agregar una nueva variable de entorno. Aquí agregamos

la dirección de node.js (C:\Program Files\nodejs\) y aceptamos.

Page 91: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

78

Figura A 13 Configuración de Node.js (Realización Propia)

También revisaremos en esta sección, que se encuentre declarada la variable del software

de desarrollo de JAVA, ya que este es una parte fundamental para que node.js funcione a

la perfección y a la vez tengamos disponibles todas las herramientas Java para comenzar

con el desarrollo.

Figura A 14 Configuración de Node.js (Realización Propia)

Instalación de SDK de Android

Se recomienda que se instale por completo el software Android Studio, pero para el caso

pertinente solo necesitaremos el SDK de Android.

Para instalar las herramientas de desarrollo de Android (SDK), necesitamos descargar el

archivo correspondiente para comenzar la instalación. Para ello vamos a la página

Page 92: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

79

https://android-sdk.uptodown.com/windows en donde se encuentra este archivo

disponible.

Figura A 15 Instalación de Android SDK (Realización Propia)

Una vez el archivo se haya descargado, damos doble clic en este para empezar con el

proceso de instalación. Se nos presentará la pantalla de inicio de la instalación y damos

en Next.

Figura A 16 Instalación de Android SDK (Realización Propia)

Escogemos la dirección de donde deseamos que se instale el SDK y damos Next.

Page 93: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

80

Figura A 17 Instalación de Android SDK (Realización Propia)

A continuación, creamos un acceso directo para esta herramienta y comenzamos la

instalación con Install.

Figura A 18 Instalación de Android SDK (Realización Propia)

Finalizada la instalación ya tenderemos esta herramienta disponible para el desarrollo de

aplicaciones móviles con sistema operativo Android, además que tendremos ya

disponible la plataforma Android en nuestro equipo para integrarla con otros softwares

para el desarrollo de la aplicación, como se lo explicará más adelante.

Page 94: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

81

Instalación de Apache Cordova

Este software será la base para crear y desarrollar nuestra aplicación. Para tener disponible

esta herramienta, necesariamente tenemos que tener ya instalado node.js ya que es sobre

esta plataforma que funciona Apache Cordova.

Para comenzar con la instalación de Cordova, nos dirigimos al directorio donde se instaló

node.js, buscamos un ícono que represente un terminal CDM y damos clic en este.

Figura A 19 Instalación de Apache Cordova (Realización Propia)

Ingresamos a este terminal y usaremos el comando $ npm install -g cordova para

empezar con la instalación de Cordova.

Figura A 20 Instalación de Apache Cordova (Realización Propia)

Una vez instalada esta herramienta, crearemos nuestro proyecto para comenzar con el

desarrollo de la aplicación. Para ello en este mismo terminal usaremos el comando $

cordova create MyApp para crear el proyecto.

Page 95: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

82

Figura A 21 Creación de un proyecto en Apache Cordova (Realización Propia)

Ahora, ya que nuestro proyecto se tratará de una aplicación móvil que será ejecutada en

dispositivos móviles con sistema operativo Android, necesitamos agregar esta plataforma

a nuestro proyecto. Ya que anteriormente instalamos el SDK de Android y ya teníamos

disponible la plataforma de Android, usaremos el siguiente comando para agregar esta

plataforma al desarrollo de la aplicación $ cordova platform add android.

Figura A 22 Agregar plataforma Android a proyecto de Apache Cordova

(Realización Propia)

Con esto tendremos configurado y listo nuestro equipo para comenzar con el desarrollo

de la aplicación.

Instalación de servidor de prueba Apache (WAMPSERVER64)

Para realizar las pruebas pertinentes a la aplicación, necesitaremos un servidor de prueba

antes de subir la aplicación a un servidor de producción, para que esté disponible a los

estudiantes de la facultad de Ingeniería de la UCE.

Este servidor virtual de prueba, además nos brindará la herramienta de administración de

bases de datos MySQL, el cual se llama phpMyAdmin. Esta será necesaria al momento

de crear y administrar la base de datos externa de la aplicación.

Para empezar con la instalación de este servidor virtual, descargaremos el archivo

necesario desde la página oficial de esta herramienta, la cual es

Page 96: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

83

http://www.wampserver.com/. Para el caso, escogeremos el instalador para un sistema

Windows de 64 bits.

Figura A 23 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Una vez descargado el archivo, damos doble clic sobre este para empezar con la

instalación. Se nos presentará la pantalla de inicio de instalación y damos Next.

Figura A 24 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Aceptamos los términos y condiciones de uso y damos Next.

Page 97: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

84

Figura A 25 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Escogemos la dirección en donde se instalará el software.

Figura A 26 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Y empezamos con la instalación, usando el botón Install.

Page 98: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

85

Figura A 27 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Terminado la instalación, lo ejecutamos y tenemos que revisar que, en la barra de inicio

de Windows, el ícono del servidor se encuentre de color verde, esto significa que el

servidor está activo y funcionando correctamente.

Figura A 28 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Y como antes lo mencionamos, este servidor nos pondrá a disposición también el

administrador de base de datos MySQL. Para ingresar a este damos clic en el ícono del

servidor y escogemos la opción phpMyAdmin.

Page 99: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

86

Figura A 29 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

En el navegador se abrirá la pantalla de login de este administrador. Para ingresar a este

el usuario por defecto será root y damos en Continuar.

Figura A 30 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Al ingresar, ya tendremos la opción de crear y modificar nuevas bases de datos MySQL,

para integrarlas al desarrollo de nuestra aplicación.

Page 100: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

87

Figura A 31 Instalación de Servidor Virtual WAMPSERVER (Realización Propia)

Page 101: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

88

ANEXO B

Manual de Instalación de la Aplicación CarpoolingUCE

Descargar la aplicación de la siguiente página web.

URL: https://gmoncayoresearch.com/carpoolingUCE/

Figura B 1 Descarga de la aplicación CarpoolingUCE en dispositivo móvil

(Realización Propia)

Una vez descargada la aplicación en un dispositivo móvil con sistema operativo Android,

procedemos a instalarla.

Figura B 2 APK de la aplicación CarpoolingUCE descargado en dispositivo móvil

(Realización Propia)

Page 102: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

89

Si recibimos un mensaje de bloqueo debido a que la aplicación ha sido descargada de un

origen desconocido, procedemos a activar esta opción en nuestro dispositivo android.

Para ello elegimos la opción Ajustes.

Figura B 3 Mensaje de bloqueo al momento de instalar la aplicación

CarpoolingUCE en un dispositivo móvil (Realización Propia)

Se nos enviará a los ajustes del dispositivo móvil, aquí activamos la opción Orígenes

desconocidos.

Figura B 4 Activas Orígenes desconocidos en un dispositivo móvil (Realización

Propia)

Page 103: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

90

Y aceptamos la activación de esta opción en el dispositivo movil.

Figura B 5 Aceptar activación de Orígenes desconocidos en un dispositivo móvil

(Realización Propia)

A continuación, ya se nos permitirá la correcta instalación de la aplicación móvil. Para

ellos usamos el botón Instalar.

Figura B 6 Instalación de la aplicación CarpoolingUCE en dispositivo móvil

(Realización Propia)

Page 104: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

91

Después de instalar correctamente la aplicación, procedemos a abrirla. Para ello

seleccionamos el ícono de la aplicación CarpoolingUCE

Figura B 7 Inicio de la aplicación CarpoolingUCE en dispositivo móvil

(Realización Propia)

Page 105: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

92

ANEXO C

Manual de Uso de la Aplicación CarpoolingUCE

Para poder ingresar a la aplicación, es necesario registrarse en la misma. Para ello

entramos en la opción REGISTRARSE.

Figura C 1 Registrarse en la aplicación (Realización Propia)

Se nos dirigirá a otra pantalla donde tenemos que ingresar todos los datos requeridos. Un

aspecto importante es que el email a usarse para el registro solo deberá ser el del correo

institucional proporcionado por la UCE, es decir que tenga el dominio

[email protected].

Page 106: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

93

Figura C 2 Formulario de registro de la aplicación (Realización Propia)

Una vez ingresados y validados los datos en el formulario de registro, seleccionamos el

botón de Registrar. Se nos mostrará un mensaje de éxito y otro donde se indica que se

debe validar el registro, mediante un correo enviado el email institucional.

Figura C 3 Mensajes de éxito al registrarse en la aplicación (Realización Propia)

Page 107: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

94

Para validar el proceso de registro, ingresar a su correo institucional y revisar en la

bandeja de entrada o correo no deseado, un email enviado por

[email protected] en donde se enviará un enlace de confirmación. Dar clic

en este enlace para finalizar con el proceso de registro.

Figura C 4 Correo de confirmación enviado al correo institucional del solicitante

(Realización Propia)

Ahora ya podremos ingresar a la aplicación con la cuenta creada. Para ello en Usuario

ingresamos el correo institucional y en Clave la contraseña ingresada en el proceso de

registro. Damos en INICIAR SESIÓN para ingresar a nuestra cuenta.

Figura C 5 Logueo a la aplicación (Realización Propia)

Page 108: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

95

La primera pantalla en presentarse será la del perfil de usuario. Aquí se muestra toda

nuestra información y aquí tenemos la opción de agregar una foto de perfil presionando

la opción Agrega una foto para tu perfil.

Figura C 6 Sección Mi Perfil (Realización Propia)

En la parte inferior tenemos 4 opciones para ir a diferentes secciones de la aplicación y

para salir de la misma.

Figura C 7 Secciones de la aplicación (Realización Propia)

Seleccionado la opción Buscar podremos buscar las rutas disponibles, que han sido

creadas por otros usuarios. Tendremos dos opciones de búsqueda, una por Sector donde

solo se presentarán las rutas disponibles para el actual día, y otra donde se presentarán

todas las disponibles desde el actúa día en adelante.

Page 109: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

96

Figura C 8 Sección Mi Perfil (Realización Propia)

Con el botón Mis Reservas podremos observar las reservas que hemos realizado en una

ruta disponible, además que podremos calificar en las rutas pasadas que hemos

participado. La calificación de la ruta se la hará mediante el parámetro de 5 estrellas. Para

regresar a la pantalla principal usamos el botón Atrás.

Figura C 9 Sección Mis Reservas (Realización Propia)

La siguiente sección de la pantalla principal es la de Mi Auto. En esta sección podremos

observar la información de un vehículo que hayamos registrado. También desde esta

Botón que dirige a

sección Mis

Reservas

Page 110: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

97

sección nos podremos dirigir al formulario para el registro de un vehículo, en caso de que

deseemos crear y ofrecer una ruta de viaje.

Figura C 10 Sección Mi Auto (Realización Propia)

En el formulario de registro de vehículo, se nos pedirá ingresar datos importantes del auto

que usaremos para brindar una ruta. Aquí también podremos agregar una foto de nuestro

vehículo, la cual es obligatoria para terminar con el proceso de registro del auto.

Botón que dirige al

formulario de

registro del vehículo

Page 111: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

98

Figura C 11 Formulario para registrar un vehículo (Realización Propia)

La siguiente sección de la pantalla principal es la de +Ruta. En esta sección podremos

crear y ofrecer una ruta de viaje para la comunidad universitaria. Tener en cuenta que

para crear una ruta debemos primero tener un auto registrado en nuestro perfil.

El formulario para crear una ruta nos requerirá que ingresemos la información necesaria

para crear una ruta y esta sea comprensible para los posibles pasajeros. En la opción

Punto de Encuentro, seleccionaremos de entre 4 puntos estratégicos de la facultad de

Ingeniería, donde será que se encuentra el vehículo listo para comenzar la ruta. En la

opción Punto de Llegada, ingresaremos la dirección de destino, lo cual será posible

mediante un buscador de direcciones o usando el mapa de Google, con su marcador.

Page 112: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

99

Figura C 12 Sección Crear Ruta (Realización Propia)

Continuando con el formulario, se nos pedirá datos estratégicos de la ruta, como lo son la

fecha y hora de viaje, disponibilidad, sector de destino y los campos teléfono de contacto

y vehículo se añadirán automáticamente de las anteriores secciones explicadas en este

manual. Cabe recalcar que, para crear una ruta, obligatoriamente debe tener un vehículo

registrado en la cuenta del usuario.

Botón para ver un

mapa de los puntos

de encuentro

Mapa que indica la

dirección de destino

buscada

Sección de búsqueda

de direcciones

Page 113: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

100

Figura C 13 Sección Crear Ruta (Realización Propia)

Con el botón Ver mis Rutas podremos observar las rutas que hemos creado y están

activas, además que podremos calificar las rutas pasadas que hemos creado y en las que

se ha participado. La calificación de la ruta se la hará mediante el parámetro de 5 estrellas.

Para regresar a la pantalla principal usamos el botón Atrás.

Figura C 14 Sección Mis Rutas Activas (Realización Propia)

Botón para dirigirse a

la opción Ver mis

rutas

Datos extraídos

automáticamente de

las secciones

anteriores

Page 114: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

101

La última sección del menú inferior, pero observada desde la sección Mi Perfil, será el

botón que nos permita cerrar la sesión en la aplicación. Una vez cerrada la sesión,

debemos ingresar de nuevo el usuario y la clave para ingresar a la misma. Pero si la

aplicación se cierra con el botón Atrás del dispositivo móvil, esta mantendrá guardada la

sesión del usuario que ha ingresado con anterioridad a la aplicación.

Figura C 15 Botón para Salir y Cerrar Sesión en la aplicación (Realización Propia)

Ahora si no encontramos en cualquiera de las tres secciones: Buscar, Mi Auto, +Ruta;

este último botón cambiará por el de Perfil, el cual nos dirigirá a la pantalla principal de

Mi Perfil.

Figura C 16 Botón para dirigirse a la sección Mi Perfil (Realización Propia)

En la sección principal de la aplicación llamada Mi Perfil, constamos de dos botones

superiores que nos dirigen a otras dos secciones de la aplicación.

Figura C 17 Secciones adicionales en sección Mi Perfil (Realización Propia)

Este botón nos dirige

a la sección Acerca

de, donde se muestra

la información

general de la

aplicación

Este botón nos dirige a la

sección Ayuda, donde

encontraremos

referencias de los puntos

de encuentro de las rutas

Page 115: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

102

Figura C 18 Secciones Acerca de y Ayuda de la aplicación (Realización Propia)

Para poder observar la trayectoria que tendrá una ruta que hayamos buscado y sea de

nuestra conveniencia, solo debemos dar clic encima de esta ruta y se nos desplegará toda

la información necesaria que debemos conocer de la ruta en donde reservaremos.

Figura C 19 Observar la información de una ruta propuesta (Realización Propia)

Clic en la ruta para ver

toda su información

Page 116: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

103

Dentro de la información observaremos la ruta trazada en un mapa y también tendremos

la opción de Reservar Ruta. Con esta opción estamos optando por un asiento en la ruta

propuesta. No se podrá reservar más de una vez en la misma ruta y no se podrá reservar

en la ruta cuando la disponibilidad de esta sea de cero.

Figura C 20 Información de una ruta propuesta y opción de Reservar Ruta

(Realización Propia)

Una vez realizada la reserva en la ruta, podremos ver la misma en la sección Mis Reservas

que se explicó anteriormente. Aquí tendremos la opción de Cancelar la reserva realizada,

además de poder ver la información de la ruta nuevamente y el estado de esta. De igual

manera, aquí se presentarán rutas ya ejecutadas en las que hemos participado, con la razón

de que se las califique. Una vez calificadas, las rutas se retirarán de esta sección.

Page 117: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

104

Figura C 21 Sección Mis Reservas, opciones Cancelar reserva y Calificar ruta

(Realización Propia)

Para el creador de la ruta, en la opción Ver mis rutas tendrá la opción de Cancelar la ruta,

siempre y cuando en esta ya no existan reservas hechas por otros usuarios. También podrá

Calificar el servicio recibido por los pasajeros en las rutas que este ha ejecutado con

anterioridad.

Figura C 22 Sección Mis Rutas, opciones Cancelar ruta y Calificar ruta

(Realización Propia)

Botón para Calificar el

servicio recibido en una

ruta en la cual hemos

participado

Botón para Cancelar la

reserva hecha en una

ruta

Botón para Cancelar

una ruta propuesta,

siempre y cuando en

esta ya no existan

reservas

Botón para Calificar el

servicio recibido en

una ruta que hemos

propuesto

Page 118: AUTOR: Marco Vinicio García Yunga...ii DERECHOS DE AUTOR Yo, MARCO VINICIO GARCÍA YUNGA, en calidad de autor y titular de los derechos morales y patrimoniales del trabajo de titulación

105

Recuerde que, para poder hacer uso de esta aplicación, necesita estar conectado a una red

wifi o tener activo el plan de datos móviles de su dispositivo.

Figura C 23 Activar datos móviles o conectarse a una red wifi para hacer uso de la

aplicación (Realización Propia)