UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito,...

90
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE INGENIERÍA INFORMÁTICA SISTEMA WEB DE UBICACIÓN GEOGRÁFICA Y TRAZO DE RUTAS DE TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO TRABAJO DE GRADUACION, PREVIO LA OBTENCIÓN DEL TÍTULO DE INGENIERO INFORMÁTICO AUTOR: Granizo Pilataxi Sergio Leonardo TUTOR: M.Sc. Mauro Leonardo Rosas Lara QUITO, 12 DE MAYO 2016

Transcript of UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito,...

Page 1: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

UNIVERSIDAD CENTRAL DEL ECUADOR

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

CARRERA DE INGENIERÍA INFORMÁTICA

SISTEMA WEB DE UBICACIÓN GEOGRÁFICA Y TRAZO DE RUTAS

DE TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO

TRABAJO DE GRADUACION, PREVIO LA OBTENCIÓN DEL TÍTULO DE

INGENIERO INFORMÁTICO

AUTOR: Granizo Pilataxi Sergio Leonardo

TUTOR: M.Sc. Mauro Leonardo Rosas Lara

QUITO, 12 DE MAYO

2016

Page 2: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

ii

DEDICATORIA

A mi madre que amo con todo mi corazón,

a mi novia que quiero tanto

y a mis futuros hijos.

Page 3: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

iii

AGRADECIMIENTO

El autor expresa su agradecimiento a:

Ing. Benjamín Sandoval Bonilla, gerente general de la empresa DCA Sistemas que me

permitió laborar en su organización, para demostrar mi capacidad y formar parte de

manera fundamental en mis estudios universitarios y por ende en la obtención del

título de ingeniero informático

A todas las personas, amigos y familiares que hicieron posible cumplir este gran

sueño en la vida.

Page 4: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

iv

AUTORIZACION DE AUTORIA INTELECTUAL

Yo SERGIO LEONARDO GRANIZO PILATAXI en calidad de autor del Proyecto

integrador titulado: SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y TRAZO DE

RUTAS DE TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO, autorizo

a la Universidad Central del Ecuador hacer uso de todos los contenidos que me

pertenecen o parte de los que contiene esta obra, con fines estrictamente

académicos o de investigación.

Los derechos que como autor me corresponden, con excepción de la presente

autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los

artículos 5, 6, 8; 19 y demás pertinentes de la Ley de Propiedad Intelectual y su

Reglamento.

Asimismo, autorizo a la Universidad Central del Ecuador para que realice la

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

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

Quito, 12 de mayo de 2016

Sergio Leonardo Granizo Pilataxi

CI: 1719855171 Telf.: 0997009187 Email: [email protected]

Page 5: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

v

Page 6: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

vi

CALIFICACION DEL TRIBUNAL

Page 7: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

vii

RESULTADO DEL TRABAJO DE GRADUACION

Page 8: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

viii

CONTENIDO

pág.

DEDICATORIA ii

AGRADECIMIENTO iii

AUTORIZACION DE LA AUTORIA INTELECTUAL iv

APROBACION DEL TUTOR DE TRABAJO DE TITULACION v

CALIFICACION DEL TRIBUNAL vi

RESULTADO DEL PROYECTO INTEGRADOR vii

CONTENIDO viii

LISTA DE TABLAS x

LISTA DE FIGURAS xi

RESUMEN INFORMATIVO xv

RESUMEN INFORMATIVO (INGLES) xvi

1. INTRODUCCION

1.1 Introducción .......................................................................................................... 1

1.2 Definición del Problema ....................................................................................... 1

1.3 Antecedentes ........................................................................................................ 1

1.4 Formulación del Problema ................................................................................... 2

1.2.4 Justificación ....................................................................................................... 3

1.2.5 Módulos de la Aplicación .................................................................................. 5

1.2.5.1 Módulo I: Módulo de Conexión ...................................................................... 6

1.2.5.2 Modulo II: Módulo de Transacciones ............................................................. 7

1.2.5.3 Módulo III: Módulo de Búsqueda y Geolocalización .................................... 8

1.2.5.4 Módulo IV: Módulo de Administración .......................................................... 9

1.2.5.5 Módulo V: Módulo de Seguridad .................................................................. 10

Page 9: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

ix

2. MARCO REFERENCIAL

2.1 Estado del Arte................................................................................................... 12

2.1.2 Evaluación de alternativas .............................................................................. 15

2.1.3 Implicaciones ................................................................................................... 16

3. METODOLOGIA DE DESARROLLO

3.1 Valores de la Metodología XP ........................................................................... 28

3.2 Fases de la Metodología ..................................................................................... 29

3.2.1 Fase 1: Estudio de Factibilidad ....................................................................... 29

3.2.2 Fase 2: Análisis y Diseño Global .................................................................... 36

3.2.3 Fase 3: Desarrollo ............................................................................................ 37

3.2.4 Fase 4: Puesta en Producción ........................................................................ 37

3.3. Plataforma Tecnológica .................................................................................... 38

3.3.1 Arquitectura de la Aplicación Web ................................................................ 38

4. MARCO ADMINISTRATIVO

4.1 Recursos ............................................................................................................. 51

4.1.1 Técnicos – Tecnológicos................................................................................ 51

4.1.2 Humano ........................................................................................................... 52

5. CONCLUSIONES

6. RECOMENDACIONES

7. CITAS BIBLIOGRAFICAS

ANEXOS

Page 10: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

x

LISTA DE TABLAS

pág.

1. Campos y Descripción de los datos obtenidos 3

2. Colegios Mejor Puntuados de Quito según SENESCYT 12

3. Cuadro comparativo de metodologías 15

4. Valores de la metodología XP 18

5. Cuadro Comparativo de lenguajes de programación 20

6. Cuadro comparativo de IDE’s de Desarrollo 22

7. Cuadro Comparativo de Servidores de Aplicaciones 23

8. Cuadro Comparativo de Frameworks 24

9. Cuadro Comparativo de Sistemas Gestores de Bases de Datos 25

10. Lista de Procedimientos para manejo y uso de la aplicación web 29

11. Clase Conexión 36

12. Clase Colegio 37

13. Clase ColegioController 38

14. colegio.js 40

15. mapa.js 41

16. ubicación.js 41

17. Marcadores de la aplicación 47

18. Resumen Herramientas de desarrollo 49

Page 11: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

xi

LISTA DE FIGURAS

pág.

1. Módulos de la aplicación 5

2. Módulo de Conexión 6

3. Módulo de Transacciones 6

4. Ejemplo de un SIG 7

5. Usuario Administrador 8

6. Análisis de Seguridad 9

7. Colegio Sebastián de Benalcazar, mejor renqueado según SENESCYT 13

8. Problemática Actual 14

9. Casos de Uso 28

10. Diagrama Lógico de los Procesos 30

11. Diagrama del patrón de diseño MVC 32

12. Arquitectura de la Aplicación Web 33

13. Estructura de la aplicación 34

14. Muestra de la tabla de colegios en Postgresql 35

15. Diagrama de las páginas de la aplicación 39

16. Esquema Cliente – Servidor 42

17. Servicio web sin estado 43

18. Servicios uniformes 44

19. Arquitectura en Capas 44

20. Pantalla inicial del test del servicio web 45

21. Lista de Colegios en formato XML 45

Page 12: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

xii

22. Búsqueda de colegios por Id 47

23. Plataforma Java 48

24. Antoine Picon 56

25. Pantalla de Inicio 57

26. Pantalla de Inicio con credenciales 58

27. Marcadores 59

28. Datos de un colegio 60

29. Combo 61

30. Búsqueda de colegios 62

31. Trazo de Rutas 63

32. Información de un colegio 64

Page 13: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

xiii

RESUMEN

“SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y TRAZO DE RUTAS DE

TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO, MODALIDAD

PROYECTO INTEGRADOR”

Autor: Sergio Leonardo Granizo Pilataxi Tutor: Mauro Leonardo Rosas Lara

La tecnología y la ciencia son los pilares de una cadena evolutiva en la historia del ser

humano, contribuyendo al desarrollo global, abarcando todas las áreas que involucran

al mismo, principalmente conllevando al crecimiento económico y social.

Un avance de la ciencia y la tecnología lo forman las Tecnologías de la Información y

las Comunicaciones (TIC) y con ello el uso del INTERNET, instrumento que ha

marcado una huella imborrable en el desarrollo de la sociedad de hoy.

De esta manera se hace necesaria la creación de una aplicación informática que

muestre de manera gráfica, la localización de cada colegio y además despliegue la

información necesaria y pertinente para obtener un mejor conocimiento de las

unidades educativas que se encuentran ubicadas en Quito y regidas por el Ministerio

de Educación, los beneficios que puede lograr con esta aplicación, entre ellos, mejor

conocimiento en cuanto a localización, distancia y tiempo de llegada al colegio que

necesite.

PALABRAS CLAVES: /APLICACIÓN WEB / LOCALIZACIÓN DE MAPAS/

PLATAFORMA DE SERVICIO (PAAS)/ BASE DE DATOS (SGBD)/ PATRON DE

DISEÑO MVC/ ARQUITECTURA CLIENTE SERVIDOR/

Page 14: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

xiv

ABSTRACT

TITLE: “WEB SYSTEM FOR GEOGRAPHICAL LOCATION AND ROUTES STROKE

TO ARRIVE AT COLLEGES OF QUITO, INTEGRATOR PROJECT MODE”

Author: Sergio Leonardo Granizo Pilataxi

Tutor: Mauro Leonardo Rosas Lara

Technology and science are the pillars of an evolutionary chain in human history,

contributing to global development, covering all areas involving the same, mainly

leading to economic and social growth. An advance of science and technology is

formed by the Information Technology and Communications (TIC) and thus the use of

the Internet, an instrument that has marked an indelible mark on the development of

today's society. Thus the creation of a computer application that shows graphically the

location of each school and also display the information necessary and relevant for a

better understanding of educational units are located in Quito and governed is

necessary, by the Ministry of Education, the benefits that can be achieved with this

application, including better knowledge in terms of location, distance and time of arrival

at school need.

KEYWORDS: / WEB APPLICATION/ LOCATION MAP / PLATFORM AS A SERVICE

(PAAS) / DATABASE (DBMS) / DESIGN PATTERN MVC / CLIENT SERVER

ARCHITECTURE /

I CERTIFY that the above and foregoing is a true and correct

translation of the original document in Spanish.

___________________________

VERDEZOTO COBOS BEATRIZ DEL CARMEN

Certified Translator

ID: 1708508591

Page 15: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

1

1. INTRODUCCION

1.1 Introducción

La educación secundaria en la actualidad demanda calidad y es vital que nuestra

sociedad sepa cuáles son las instituciones que pueden aportar un buen servicio a los

estudiantes, ya sea por su ubicación, jornada, especialidades que ofrece, entre otras

cosas, para ello es necesario tener una aplicación gráfica y en tiempo real con el fin

de llegar a los colegios y con una recopilación optima de los datos con el fin de elegir

la mejor opción para nuestros hijos.

1.2 Definición del Problema

Actualmente es muy difícil detectar la ubicación geográfica de un gran número de

colegios de Quito de forma digital, ya que muchos no constan en los registros de

Google Maps, razón por la cual se dificulta mucho conocer información relevante

como:

Dirección del colegio

Número de estudiantes

Numero de especialidades

Número de alumnos que se encuentran cursando en Educación General

Básica y en bachillerato

Jornada de estudios (Matutina o vespertina)

Distancia en km.

Tiempo aproximado para llegar al colegio

1.3 Antecedentes

Desde el pasado ha sido un verdadero dilema conocer las instituciones educativas que

ofertan la educación secundaria de nuestros hijos, ya sea por desconocimiento o por

desinterés; esto crea un estancamiento, ocasionado por la falta de explotación del

Page 16: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

2

mercado académico y la no optimización del tiempo, lo que hace que perdamos

recursos valioso como tiempo y dinero, aislándonos así de todas las oportunidades

que se encuentran presentes, estos problemas se solucionaran con el desarrollo de

una aplicación web que cubrirá estas falencias

1.4 Formulación del Problema

Debido a la particular forma geográfica de la ciudad de Quito y a la escasez de

información web disponible sobre la mayoría de los colegios de Quito es muy difícil

ubicarlos en tiempo real, y más complicado aún obtener datos relevantes respecto a la

proyección académica de la institución, así como trazar una ruta óptima de llegada a la

institución académica destino.

Considerando la problemática antes mencionada, se pretende aplacar y disminuir este

desconocimiento de los colegios de Quito, que se encuentran legalmente registrados

en los bancos de Datos del Ministerio de Educación del Ecuador, de tal forma que

podamos acceder a la mayor cantidad de colegios viables en la forma más eficiente

posible, mediante el proyecto SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y

TRAZO DE RUTAS DE TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO

1.2.3 Objetivos

1.2.3.1 Objetivo General

Crear un sistema web de ubicación geográfica y trazo de rutas de transporte

para llegar a los colegios de Quito

1.2.3.2 Objetivos Específicos

• Colocar a los colegios de Quito en una App usando coordenadas de longitud y

latitud

• Relacionar por medio de posición, las distancias y proximidades existentes

entre el usuario y las unidades educativas

Page 17: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

3

• Trazar una ruta por medio de marcadores, usando la posición del usuario y el

colegio destino

1.2.4 Justificación

Dado que actualmente es muy difícil detectar la ubicación geográfica de un gran

número de colegios de Quito de forma digital, pues muchos no constan en los registros

de Google Maps, razón por la cual se dificulta mucho conocer información relevante

como:

• Nombre de la institución

• Dirección de la institución

• Rector o autoridad máxima de la institución

• Teléfonos de la institución

• Número de estudiantes

• Numero de especialidades

• Página Web de la institución educativa (siempre y cuando disponga de un

sitio web)

• Jornada de estudios de los alumnos (matutino o vespertino)

• Entre otras cosas.

El proyecto integrador SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y TRAZO DE

RUTAS DE TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO, avalado

por la prestigiosa Universidad Central del Ecuador, propone obtener esta información

de forma rápida, clara y oportuna; para ofrecer una solución tecnológica y muy fácil de

utilizar y así apoyar a la comunidad de Quito con una aplicación informática que

provea toda la información antes mencionada, además, dicha aplicación funcionará en

tiempo real.

Esta aplicación informática, tendrá una arquitectura cliente – servidor sobre un patrón

de diseño Modelo Vista Controlador, eso significa que cualquier usuario que se

Page 18: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

4

conecte a internet por medio de algún dispositivo, podrá acceder a la aplicación, sin

preocuparse por los problemas de visualización, pues la app, es responsiva

Para comprender de forma más clara, veamos la siguiente tabla a manera de ejemplo

Tabla 1. Campos y Descripción de los datos obtenidos

Campo Descripción

Colegio Es el nombre del colegio o Instituto, en caso de ser Instituto se precederá el nombre del Instituto con la palabra “Instituto” Ejm: AMAZONAS

Rector Es el nombre completo del rector, rectora o autoridad máxima de la institución, no se toma en cuenta títulos como: Ing. Dr. Mg., etc. Ejm: Molina Villacis Dino Isaias

Dirección Es la dirección donde se encuentra ubicada la institución educativa Ejm: Lauro Guerrero S/N e Iturralde

Jornada Es la jornada de estudios que ofrece la institución a sus estudiantes Ejm: Matutina y Vespertina

Modalidad Es la modalidad de estudios que ofrece la institución a sus estudiantes Ejm: Presencial

Número de Estudiantes

Número de estudiantes que se encuentran en Educación General Básica o EGB Ejm: EGB: 1280

Número de estudiantes que se encuentran en los cursos superiores con alguna especialidad o Diversificado Ejm: Diversificado: 1251

Especialidades Es el nombre de la especialidad o especialidades que ofrece la institución a sus estudiantes Ejm: Unificado, Área de Comercio y Administración

Teléfonos Es el número o números de los teléfonos convencionales (añadido la extensión 02) que posee la institución Ejm: 022611611 022612736 022612608

Informes Es el link del sitio web oficial de la institución, en caso de no disponer, se colocará la etiqueta “No dispone de Sitio Web” Ejm: www.colegioamazonas.edu.ec

Hay que indicar que el formato de la información lo provee el Ministerio de Educación

del Ecuador, razón por la cual, nuestra aplicación no puede alterar ningún campo

antes mencionado, solo se puede acceder a ellos a través de un servicio web que

funciona en tiempo real

1.2.5 Alcance

El alcance del proyecto, es llegar a tomar los datos antes mencionado de cada colegio

y trazar una ruta, siempre y cuando físicamente sea posible (Por Ejemplo: No se

Page 19: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

5

podría trazar una ruta, si el usuario está en otro continente), entre el usuario y el

destino, a la vez que se calcula la distancia y el tiempo promedio entre ambos puntos,

usando cualquier dispositivo que tenga conexión a internet (PC, laptop, Smartphone,

etc.) y soporte un navegador web

1.2.5 Módulos de la Aplicación

El SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y TRAZO DE RUTAS DE

TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO está compuesto de 5

módulos:

Módulo de Conexión

Módulo de Transacciones

Módulo de Búsqueda y Geolocalización

Módulo de Administración

Módulo de Seguridad

Los cuales se detallan a continuación en el siguiente diagrama:

Page 20: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

6

Figura 1. Módulos de la aplicación

1.2.5.1 Módulo I: Módulo de Conexión

El SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y TRAZO DE RUTAS DE

TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO, utiliza doble conexión.

Conexión a través de JDBC

Se toma en cuenta elementos como:

JDBC: Conector que sirve para vincular la base de datos con Netbeans y el servidor

de aplicaciones

SISTEMA WEB DE UBICACIÓN

GEOGRAFICA Y TRAZO DE RUTAS DE TRANSPORTE PARA

LLEGAR A LOS COLEGIOS DE QUITO

Módulo de

Conexión

Módulo de Transacciones

Módulo de Búsqueda y

Geolocalización

Módulo de Administración

Módulo de Seguridad

Page 21: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

7

Clase Conexión: Para extraer los datos que obtenemos de Postgresql, usando

sentencias SQL.

Ficheros XML de Persistencia: Para manejar de forma adecuada las conexiones de la

aplicación

Conexión a través de Servicio Web

Ficheros de JavaScript: Para crear funciones especiales que permitan extraer los

datos de un servicio web REST, para ello se utiliza el path o url que genera el servicio

web y por medio del método GET se extrae la información requerida

Ficheros JQuery: Para manejar de forma adecuada las conexiones de la aplicación

Figura 2. Módulo de Conexión

1.2.5.2 Modulo II: Módulo de Transacciones

Una transacción es un conjunto de órdenes que se ejecutan formando una unidad de

trabajo, este módulo se encarga del manejo eficiente de las transacciones, algunas

características son:

Finalizar las transacciones exitosamente con un commit

Una transacción que no termita exitosamente se cancela (rollback).

Page 22: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

8

En JDBC por omisión cada sentencia sql, se compromete tan pronto se ejecuta, es

decir una conexión funciona por defecto en modo auto-commit

Además del JDBC, se hará uso del framework Java Server faces (Primefaces) para

gestionar las transacciones de una manera más óptima y sistematizada.

Figura 3. Módulo de transacciones

1.2.5.3 Módulo III: Módulo de Búsqueda y Geolocalización

En este módulo se describe el funcionamiento del módulo de búsqueda por medio de

la utilización de un API de Google Maps que actualmente es muy utilizada en los

Sistemas de Información Geográfica (SIG), la cual por medio de coordenadas de

latitud y longitud(x, y), nos representará gráficamente la posición del colegio

API de Google Maps: Es un conjunto de API que le permiten superponer datos propios

sobre un mapa de Google Maps personalizado para crear aplicaciones web y móviles

con la potente plataforma de mapas de Google, incluso con imágenes satelitales,

Street View, perfiles de elevación, indicaciones sobre cómo llegar, mapas con estilos,

demografía, análisis y una amplia base de datos de ubicaciones.

Sistema de Información Geográfica (SIG): Es un conjunto de herramientas que integra

y relaciona diversos componentes (usuarios, hardware, software, procesos) que

Page 23: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

9

permiten la organización, almacenamiento, manipulación, análisis y modelización de

grandes cantidades de datos procedentes del mundo real que están vinculados a una

referencia espacial, facilitando la incorporación de aspectos sociales-culturales,

económicos y ambientales que conducen a la toma de decisiones de una manera más

eficaz.

Figura 4. Ejemplo de un SIG (http://resources.arcgis.com)

1.2.5.4 Módulo IV: Módulo de Administración

En este módulo se pueden crear, modificar y eliminar usuarios para el manejo de la

aplicación así como la configuración de sus respectivos permisos.

Además de eso el módulo permite a los administradores gestionar el servicio de la

aplicación, pudiendo incluso aumentar su escalabilidad.

Page 24: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

10

Figura 5. Usuario Administrador

1.2.5.5 Módulo V: Módulo de Seguridad

En este módulo se define las políticas de seguridad de la aplicación web, para prevenir

el acceso no autorizado ya sea de manera interna o externa, para ello se restringe el

acceso a los usuarios a través de un nombre de usuario y contraseña que deberá ser

ingresado obligatoriamente, por otro lado el usuario solo posee permisos de lectura, es

decir, no es posible alterar la base de datos, desde las páginas de navegación que se

muestra al cliente.

Para complementar se realizó el siguiente análisis en donde se involucran los tres

agentes importantes de la organización como son la parte administrativa, organización,

y la parte tecnológica

Page 25: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

11

Figura 6. Análisis de Seguridad

Page 26: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

12

2. MARCO REFERENCIAL

2.1 Estado del Arte

A nivel nacional el desconocimiento sobre las unidades educativas que están a

nuestro alrededor y que pueden servir para la educación de nuestros hijos es muy alto,

es decir, la población desconoce muchos aspectos fundamentales, incluso la ubicación

del colegio en el que quiere o debe poner a su hijo, algunos aspectos que influyen

para este desconocimiento son:

Tomar la decisión en poco tiempo

No pedir consejo a nadie o consultar sólo con determinadas personas

Valorar en exceso un solo aspecto de la Educación

De entre el personal del colegio, interesarse sólo por los profesores

Despreocuparse de las relaciones sociales y de la tecnología

Olvidarse de la orientación psicopedagógica y la atención personalizada

Fijarse en las dimensiones y el número de instalaciones, pero no en su cuidado

Entre otros

La regla de oro: “Piensa en las condiciones de tu hijo antes que en las condiciones del

colegio”

Y aunque el desconocimiento de la tecnología es menor, hay muchas personas que si

bien algo conocen sobre los colegios, se desconocen puntos bien importantes como:

Conocer cuál es la localización exacta del colegio

Saber la distancia y el tiempo aproximado que le va a tomar al estudiante en

llegar al colegio, desde la casa

Saber las especialidades que dicha institución ofrece

Conocer el nombre del rector, rectora o autoridad máxima del colegio

Conocer los números telefónicos o el sitio web del colegio, para mayor

información que se requiera.

Page 27: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

13

Ranking Colegio Promedio

1 Sebastián de Benalcazar 812,9

2 Cardenal Spellman 812,3

3 Técnico Experimental de Aviación Civil 796,5

4 Unidad Educativa Municipal Experimental Eugenio Espejo 793,4

5 Marista 791,1

6 Técnico Salesiano Don Bosco 770

7 San Luis Gonzaga 768,9

8 Unidad Naval César Endara 768,4

9 Cinco de junio 764,2

10 San Gabriel 764,05

11 Juan Pío Montufar 763,04

12 Giovanni Antonio Farina 762,4

13 Colegio Militar Eloy Alfaro 757,3

14 Quitumbe 756,9

15 Sagrado Corazón de Jesús 751

16 Instituto Nacional Mejía 748,7

17 De América M. A. Carrillo de Mata M. 748,2

18 La Salle 743,7

19 Ambato 742,2

20 Santa María Eufrasia 741,6

Tabla 2. Colegios Mejor Puntuados de Quito según SENESCYT (Tomado de EL

COMERCIO)

Page 28: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

14

Figura 7. Colegio Sebastián de Benalcazar, mejor renqueado según SENESCYT

Ante esto la Universidad Central del Ecuador se siente en la obligación de mitigar este

desconocimiento y se ha planteado un propósito muy ambicioso que consiste en crear

una aplicación Informática, específicamente para ubicar colegios y obtener su

información, así como el trazado de rutas para llegar en un tiempo aproximado.

El inconveniente actual que tiene la sociedad quiteña, es que al no existir una

aplicación que nos despliegue la información apropiada de las instituciones educativas

de Quito, hay muchas que no son conocidas, dado que tampoco existe un sistema que

trace la ruta de manera apropiada, se hace difícil llegar en un tiempo optimo al lugar

que se necesita acceder.

Actualmente se cuenta con el servicio de Google Maps que permite ubicar un colegio y

trazar la ruta, pero su uso es un tanto engorroso pues no está atomizado hacia la

necesidad del cliente, por otro lado el usuario debe señalar o escribir el origen, para

que trace la ruta, si el usuario tiene desconocimiento de las calles, de la ciudad y del

gran número de avenidas, se le va resultar sumamente complicado, con el proyecto

SISTEMA WEB DE UBICACIÓN GEOGRAFICA Y TRAZO DE RUTAS DE

TRANSPORTE PARA LLEGAR A LOS COLEGIOS DE QUITO se pretende minimizar

todos estos inconvenientes para que la aplicación puede ser usada por cualquier tipo

de usuario

Page 29: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

15

Figura 8. Problemática Actual

Todos estos inconvenientes han impulsado para crear el SISTEMA WEB DE

UBICACIÓN GEOGRAFICA Y TRAZO DE RUTAS DE TRANSPORTE PARA LLEGAR

A LOS COLEGIOS DE QUITO

2.1.2 Evaluación de alternativas

Existen algunas alternativas que se podrían tomar en cuenta:

- La alternativa más sencilla es no hacer nada, obviamente el proyecto, no

tendría razón, no se va obtener la información que requiere, el trabajo, es repetitivo y

rutinario y solamente lo podrán hacer un grupo reducido de usuarios

- Colocar varias personas para realizar el trabajo de censo en cada colegio, si

tomamos en cuenta, que solo a nivel privado existen más de 800 instituciones, se

tendría que contratar un número importante de colaboradores, y habría además que

re-contratarlos cada año para ir actualizando nuestra base de conocimiento, sin tomar

en cuenta el lado impredecible de las personas, la dependencia hacia los empleados,

la parte administrativa también sería muy tediosa, ya que habría que visitar los

colegios previamente para obtener los permisos de ingreso por parte de los rectores y

demás autoridades, Luego esta información se debería publicar en las redes sociales

para llegar masivamente a la mayoría de personas

- Otra alternativa, sería que la Universidad lance una campaña muy agresiva de

marketing y publicidad, en la prensa, contratar cuñas en la radio y en la televisión, para

Page 30: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

16

que llegar al usuario con tal fuerza que todo el mercado de estudiantes venga a

nosotros, y capacitarlos para que obtengan todo el conocimiento que la aplicación les

proporciona, esta alternativa es demasiado arriesgada y tan costosa que sale del

presupuesto

2.1.3 Implicaciones

La tecnología y la ciencia son los pilares fundamentales de una cadena evolutiva en la

historia del ser humano, contribuyendo al desarrollo global, abarcando todas las áreas

que involucran al mismo, principalmente conllevando al crecimiento económico y

social.

El avance de la ciencia y la tecnología lo forman las Tecnologías de la Información y

las Comunicaciones (TIC), el desarrollo de aplicaciones informáticas cada vez mas

útiles y sofisticadas; el uso del INTERNET, instrumento que ha marcado una huella

imborrable en el desarrollo de la sociedad de hoy.

De esta manera se hace necesaria la creación de un sistema informático de

georeferenciación que muestre de manera gráfica, la localización de cada colegio, que

trace la ruta optima de desplazamiento y sobre todo obtenga la información necesaria

y pertinente para los usuarios que día a día necesitan conocer los beneficios que

ofrecen las instituciones de la ciudad de Quito.

Los beneficios que se puede lograr con esta aplicación son:

Mejor toma de decisión al elegir un colegio para estudiar

Conocimiento de tiempo y distancia entre origen y destino

Optimización del tiempo para recorridos

Mejor conocimiento de los colegios de Quito

Facilidad de uso para usuarios no informáticos.

Una vez analizados todos estos factores, y la viabilidad que supone desarrollar un

proyecto de tales características, es necesario elegir una metodología adecuada para

la elaboración del proyecto denominado: SISTEMA WEB DE UBICACIÓN

GEOGRAFICA Y TRAZO DE RUTAS DE TRANSPORTE PARA LLEGAR A LOS

COLEGIOS DE QUITO

Page 31: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

17

Selección de la Metodología y Herramientas de Desarrollo

Prince 2 Scrum Extreme Programing (XP)

Descripción

Pes

o

Descripción

Pes

o

Descripción

Pes

o

Enfoque de

desarrollo

Se centra en las

mejores prácticas

para la gestión de

todo tipo de

proyectos

9

Se centra en la

gestión de proyectos,

en situaciones en las

que es difícil

planificar el futuro.

7

Se centra en la mentalidad de

los desarrolladores

guiándolos a través del

desarrollo y enfocándose en

la calidad del producto final

9

Características

Un comienzo

organizado y

controlado

Un desarrollo

organizado y

controlado,

Un final organizado y

controlado

Revisiones periódicas

de los progresos.

Flexibilidad en las

decisiones.

Dirección de control

automática “Gestión

por Excepción”.

Buena comunicación

8

El software es

desarrollado por un

equipo de auto-

organización en

incrementos. Los

cambios que deben

aplicarse se registran

en un backlog. El

“Scrum Master” es el

encargado de resolver

los problemas que

impiden que el

equipo trabaje

eficazmente

8

Planificación, pequeñas

emisiones, diseño sencillo,

pruebas, y refactorización,

programación en parejas,

propiedad colectiva,

integración continua, semana

40-h

8

Interacción con

el usuario

El cliente forma el

equipo de desarrollo

hasta la entrega del

software

7

El usuario interactúa

todo el tiempo con el

desarrollo del

software

8

El cliente permanece fuera

del proyecto hasta finalizar

cada etapa de desarrollo 7

Proceso de

desarrollo

Releases cortos

Diseño Simple

Pruebas y

Refactorización

Programación en

parejas

Propiedad colectiva

Integración continua

Estándar de

codificación

8

Equips de Scrum

Product backlog

Sprint

Revision del Sprint

8

Elegir un requisito

Escribir una prueba

Verificar que la prueba

falla

Escribir la

implementación

Ejecutar las pruebas

automatizadas.

8

Usabilidad en

aplicaciones

móviles

Se ajusta aplicaciones

al desarrollo todo

tipo de proyectos

informáticos

8

Se centra en

proyectos más

grandes, no

específicamente en

aplicaciones móviles

6

Se ajusta perfectamente al

diseño de aplicaciones

móviles

9

Proceso de

gestión del

proyecto

Reunión de

planificación 6

Scrum Master

Reunión de

planificación de

Sprint

Reunión scrum diaria

7 Reuniones de planificación

7

Proceso de

configuración

del software

No especificado 1 No especificado

1

Se actualiza la lista de

requisitos tachando el

requisito implementado.

Asimismo se agregan

requisitos que se hayan visto

como necesarios durante este

ciclo y se agregan requisitos

de diseño

8

Proceso de

gestión de

procesos

No especificado 1 No especificado 1

No especificado

1

Page 32: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

18

Manejo de

errores

los planes del

proyecto se centran

en obtener resultados

concretos, y no sólo

en la planificación de

las actividades

8

Scrum, es una

metodología, muy

bien recomendada,

por su efectividad en

la detección de

errores

8

XP es una de las

metodologías con mayor

acogida en el campo

profesional, ya que está

orientada precisamente a

crear el software a partir de

los errores

9

Aceptación

Satisfacción del

programador.

Solución de errores

de programas

9

Ha sido utilizada por

grandes empresas

como Google y

Yahoo con resultados

muy satisfactorios

9

Continua expandiéndose

debido a sus buenos

resultados 9

Flexibilidad

Algunas prácticas son

imposibles de

eliminar ya que son

necesarias para

mantener las otras en

su lugar

5

Algunos proyectos

por ser muy grandes,

se vuelven muy

difíciles de manejar 8

Es una metodología propia,

que tiene un campo de

acción especifico en el

desarrollo de apps móviles,

por lo tanto posee mayor

flexibilidad

7

Tamaño de los

proyectos Pequeños y Medianos 8

Pequeños, Medianos

y grandes 8 Pequeños y medianos 8

Tamaño de

equipo Menor que 10 9

Múltiples equipos

menores que 10 8 Menor que 10 9

Estilo de

desarrollo Iterativo y rápido 8 Iterativo y rápido 8 Iterativo 8

Estilo de código Limpio y sencillo 7 No especificado 1 Limpio y sencillo 7

Entorno

tecnológico

Requiere rápida

retroalimentación 7 No especificado 1 Requiere retroalimentación 7

Entorno físico

Equipos en un mismo

lugar y equipos

distribuidos

7 No especificado 1 No especificado 1

Cultura de

negocio

Colaborativo y

cooperativo 7 No especificado 1 Colaborativo 7

Mecanismos de

abstracción Orientado a objetos 7 Orientado a objetos 7 Orientado a objetos 7

Curva de

aprendizaje Mediana 8 Compleja 6 Mediana 8

Peso

Sumatoria 13

8 Sumatoria

11

2 Sumatoria

14

4

Porcentual 69

% Porcentual

56

% Porcentual

72

%

Tabla 3. Cuadro Comparativo de Metodologías

De acuerdo a la Tabla 3 la Metodología seleccionada es XP, ya que es la que mejor se

adapta a nuestro proyecto, tomando en cuenta que la aplicación a desarrollar, debe

superar muchos test y además tomando en cuenta el tiempo de desarrollo con el que

contamos, es ideal tener una curva de aprendizaje no muy compleja, esta

metodología, tiene un mejor enfoque hacia tendencia móvil

Page 33: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

19

REQUERIMIENTOS TÉCNICOS PARA DESARROLLAR LA APLICACIÓN LENGUAJES DE PROGRAMACION

Java PHP Python Ruby

Descripción Peso Descripción Peso Descripción Peso Descripción Peso

Co

mp

ati

bil

idad

co

n

des

arr

oll

o d

e a

pp

s m

óv

iles

Java, tiene

muchas

cualidades

poderosas que

lo hacen

prioritario al

momento de

diseñar una

aplicación

móvil

8

Es el lenguaje

más flexible,

potencial y de

alto rendimiento

de este tipo de

lenguajes, la

aplicación más

famosa diseñada

con este

lenguaje es la

red social de

Facebook

8

Lenguaje de

programación

interpretado,

cuya filosofía

hace hincapié

en una sintaxis

que favorezca

un código

legible para la

creación de

apps móviles

8

No es muy

compatible con

el desarrollo de

aplicaciones

moviles

4

Tip

o d

e

len

gu

aje

Compilado 8 Compilado 8 Compilado 8

Lenguaje de

programación

interpretado, en

una sola pasada

7

Pa

rad

igm

a

Orientado a

objetos,

Imperativo 8

Multiparadigma

Imperativo,

Orientado a

objetos,

Procedural y

Reflexivo

8

Multiparadig

ma

programación

orientada a

objetos,

programación

imperativa y

programación

funcional

8

Interpretado,

reflexivo y

orientado a

objetos

5

Sis

tem

a

Op

era

tiv

o

Multiplataform

a 9 Multiplataforma 9 Multiplatafor

ma 9 Multiplataforma 9

Lic

enci

a GNU Public

(GPL) Libre,

abierta, con

copyleft

8

Libre, sin

copyleft (similar

a BSD original)

6

Libre

(compatible

GPL)

7

GNU Public

(GPL) Libre,

abierta, con

copyleft

8

Ra

nk

ing

(Pu

esto

)

N. 1 10 N. 6 6 N. 4 8 N. 8 5

Fle

xib

ilid

ad

- Expandible y

potente

- Tiene

bibliotecas

disponibles

- Seguro

9

- Es muy

flexible, en

entornos web

8

- Flexible

- Orientado

a objetos

- Código

más

legible

8

- Flexible

- Orientado a

objetos

- Código más

legible

7

So

po

rte - Amplio

Soporte y

Documentaci

ón

9

- Mayor soporte

en línea

8 - Soporte en

línea 7

- Soporte en

línea 7

Page 34: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

20

Cu

rva

de

ap

ren

diz

aje

- Dificultad

Moderada 8

- Fácil de

aprender

9 - Dificultad

Moderada 8

- Dificultad

Moderada 8

Co

nec

tiv

ida

d

con

BD

- No existen

JDBC para

BDs poco

comerciales,

algunas

8

- Capacidad de

conectar con

múltiples BDs

8

La conexión

can bases de

datos es un

tanto compleja

6

La conexión can

bases de datos es

un tanto

compleja

6

Do

cum

enta

ció

n

Existe mucha

documentación

en le web 9

Existe mucha

documentación

en le web

9 Documentació

n variada 8

Poca

documentación 6

Des

arr

oll

o

Web

Java tiene

muchas

herramientas

para desarrollar

proyectos web

10

PHP fue creado

para desarrollar

proyectos web

10

Orientado al

desarrollo web

también

9

Pocos

framework para

desarrollo web

7

Ro

bu

stez

Muy Robusto 10 Robusto 8 Robusto 8

Todavía no es

un lenguaje muy

maduro para

compararlo con

Java

5

Po

rta

bil

idad

A bajo nivel se

limita la

portabilidad. 8 Portable 9 Portable 9

A bajo nivel se

limita la

portabilidad.

6

Inte

gra

ció

n c

on

otr

as

pla

tafo

rma

s

Java puede

integrarse con

gestores de

bases de datos,

motores de

reglas,

servidores

remotos,

gestores NoSql,

etc

10

Integración

limitada y

menor que Java

7

Integración

limitada y

menor que

Java

7

Integración

limitada y

menor que Java

7

Peso Sumatoria 141 Sumatoria 130 Sumatoria 126 Sumatoria 105

Porcentual 88% Porcentual 81% Porcentual 79% Porcentual 66%

Tabla 5. Cuadro comparativo de Lenguajes de Programación

De acuerdo a la Tabla 5 el lenguaje de programación Java, tiene muchas cualidades

poderosas que lo hacen prioritario al momento de diseñar una aplicación móvil, entre

las cualidades que favorecieron a Java, tenemos que el proyecto necesita integrarse a

varios componentes distintos como son html, css, xhtml, bootstrap, jquery, javascript,

servidor de base de datos, servidor de aplicaciones, cloud de openshift.

Necesitamos un Lenguaje robusto que satisfaga toda esta demanda, Java es el mejor

rankeado y además de eso, hay muy buena documentación para suplir las falencias

que se presenten en el camino

Page 35: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

21

IDE DE DESARROLLO

Eclipse JCreator Netbeans

Descripción Peso Descripción Peso Descripción Peso

Características

La compilación es en

tiempo real. Tiene pruebas

unitarias, integración con

Ant, asistentes(wizards)

para creación de proyectos,

clases test y refactorización

10

Incluyen la gestión

de proyectos,

plantillas, resaltado

de sintaxis

personalizable,

vistas de clase, etc.

8

Edición

JavaScript,

soporte para usar

estructuras Spring

de soporte web, 10

Editor

Dispone de un editor de

texto con resaltado de

sintaxis. 9

Posee un editor de

texto muy intuitivo

con la sintaxis y

autocompletado

9

Posee un editor de

texto muy

intuitivo con la

sintaxis y

autocompletado

9

Controlador de

Versiones

(CVS)

Posee un controlador de

versiones CVS 9

No posee CVS

7

No posee CVS

7

Interfaz

Es menos intuitivo que los

otros IDs de Java,

personalizable 7

Interfaz intuitiva y

completamente

personalizable 8

Interfaz muy

intuitiva y fácil de

usar 10

Configuración

En proyectos avanzados se

vuelve compleja la

configuración 8

En proyectos

avanzados se

vuelve compleja la

configuración

8

La configuración

es menos

complejas que en

los otros IDE’s

10

Robustez Es robusto 8

Presenta

limitaciones, en

proyectos

complejos

6

Es más robusto y

estable que los

otros IDE’s

10

Conectividad

con BD’s

Permite comunicarse con

bases de datos externas 9 Integración con

pocas BD’s 6

La integración

MySQL y

Postgresql es más

óptima y además

se puede

compartir

bibliotecas entre

proyectos

dependientes.

10

Programación

Distribuida

Es muy útil para proyectos

que usen programación

distribuida 8

Es muy limitado

para proyectos de

programación

distribuida

5

Es muy útil para

proyectos que

usen

programación

distribuida

8

Tiempo de

ejecución

13,25 segundos 8

1,74 segundos 8

11,20 segundos 8

Curva de

aprendizaje

Compleja 7

Mediana 8

Mediana 8

Peso Sumatoria 83 Sumatoria 73 Sumatoria 90

Porcentual 83% Porcentual 73% Porcentual 90%

Tabla 6. Cuadro comparativo de IDEs de Desarrollo

De acuerdo a la Tabla 6 y tomando en cuenta, los requerimientos de la aplicación, se

utilizara Netbeans como IDE prioritario, por su interfaz amigable con el usuario,

facilidad para crear archivos exportables *.war. Además se necesitará la creación de

un servicio web tipo REST y el mejor IDE para esta tarea, en base a la experiencia

adquirida en proyectos anteriores es Netbeans combinado con Glassfish y Wildfly

Page 36: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

22

SERVIDOR DE APLICACIONES

Glassfish TomCat Jboss Wildfly

Descripción Peso Descripción Peso Descripción Peso

Diseño

Diseñado

específicamente

para trabajar con

aplicaciones

escritos en Java

9

Es simplemente un

servidor HTTP y Java

servletcontainer 8

JBoss es un servidor

completo de Java EE

servidores de

aplicaciones,

incluyendo un

contenedor EJB

9

Integración con

IDE’s

Solo se integra

con Netbeans 8

Se integra con cualquier

IDE de Java 9

Se integra con

cualquier IDE de Java 9

Conexión

Remota

Compleja 7

Dificultad Moderada 7

Compleja 7

Manejo EJB

Soporta EJB´s

sin ningún

problema

10

No soporta EJB´s

4

Soporta EJB´s sin

ningún problema 10

Manejo Web

services

Permite crear

Web services de

una manera muy

fácil y sencilla

10

No Soporta Web services

4

La Creación de Web

Services es un tanto

compleja 8

Compatibilidad

con Openshift

No es

compatible 1

Es compatible, ero solo

con características

básicas

3

Es muy compatible

con Openshift 8

Instalación Es muy fácil de

instalar 9

Es muy ligero, no

requiere instalación 9

Es muy ligero, no

requiere instalación 9

Interfaz

Intuitivo

Muy intuitivo,

fácil de usar,

viene pre-

configuradoo

con Netbeans

9

Hay que configurarlo

manualmente, con viene

integrado con Netbeans 8

Hay que configurarlo

manualmente, con

viene integrado con

Netbeans

8

Robustez

Es bastante

completo, para

aprender en un

entorno

experimental

8

Es un tanto limitado para

medianos y grandes

proyectos 5

Es muy completo,

actualmente es mejor

que Glassfish y

Tomcat, funciona para

cualquier entorno

9

Operaciones

por segundo

6988,9 8

6615,3 7

6802,1 8

Tiempo medio

respuesta

0,242 9

0,358 6

0,3 7

Tiempo mex,

respuesta

1,519 9

3,693 7

2,606 8

90% tiempo

respuesta

0,6 9

0,75 8

0,675 9

Soporte Ya no posee

soporte 6

Posee soporte limitado

7

Posee mas soporte que

los otros servidores de

aplicaciones

8

Peso Sumatoria 112 Sumatoria 92 Sumatoria 117

Porcentual 80% Porcentual 66% Porcentual 84%

Tabla 7. Cuadro comparativo de Servidores de Aplicaciones

De acuerdo a la tabla 7 y tomando en cuenta que la aplicación requiere un servidor de

completo, robusto y compatible con el manejo de servicios web, usaremos Glassfish,

aunque para la replicación usaremos Jboss Wildfly también, porque el servidor espejo,

se ejecuta sobre plataforma RedHat es muy útil en este caso, sobre todo para el

acceso online. El único servidor que definitivamente no será usado es Tomcat por sus

limitaciones en cuanto al manejo de EJB’s para la arquitectura MVC

Page 37: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

23

FRAMEWORKS

JSF Struts SpringMVC

Descripción Peso Descripción Peso Descripción Peso

Características

Posee un controlador

central que se

encarga de manejar

todas las peticiones

del cliente y

gestionar su ciclo de

vida.

El código JSF con el

que creamos las

vistas es muy

parecido al HTML

estándar.

10

Es por el

momento el más

difundido de los

frameworks open

source en el

ámbito java,

consta de un

servlet que actúa

de controlador

central que recibe

todas las

peticiones de los

clientes

5

A pesar de que no

impone ningún modelo

de programación en

particular, este

framework se ha vuelto

popular, al ser

considerado una

alternativa, sustituto, e

incluso un

complemento al

modelo EJB

8

MVC Se puede usar para

arquitectura MVC 7

Se puede usar para

arquitectura MVC 7

Creado específicamente

para arquitectura MVC 9

Implementaciones

MyFaces,

RichFaces,

ICEFaces y Mojarra

8 No dispone 1 No dispone 1

Licencia GPL 10 GPL 10 Apache GPL 10

Compatibilidad

con Ajax 50% 5 50% 5 100% 10

i18n y l10n 50% 5 100% 10 50% 5

multilenguaje

compatibilidad

groovy/scala

100% 10 50% 5 50% 5

Curva de

aprendizaje Facil 9 Mediana 6 Mediana 6

Compatibilidad

con JS

JSF permite

introducir JavaScript

en la página

9 Muy básicamente 7 Muy básicamente 7

Documentacion

JSF posee mucha

documentación en la

web

9

Documentación

muy buena

8

Posee documentación

variada 8

Compatibilidad

con Bootstrap

Se puede integrar

con bootstrap para

realizar aplicaciones

responsivas 10

Al no ser

compatible, las

vistas quedan

atadas al

dispositivo en el

cual se renderizan

4

Se puede integrar con

bootstrap

8

Configuración

Facil

9

Mediana

7

Compleja, ya que por

cada servicio que se

tenga se necesita un

archivo XML de

configuración.

5

Compatibilidad

con apps móviles

Es compatible,

existen muchas

aplicaciones en la

actualidad

9

Es compatible

aunque no es

natural al mapeo

de los datos

ingresados

6

El contenedor de

Spring no es ligero, no

es recomendable su uso

en aplicaciones

móviles.

4

Peso Sumatoria 110 Sumatoria 81 Sumatoria 86

Porcentual 85% Porcentual 62% Porcentual 66%

Tabla 8. Cuadro Comparativo de Frameworks

De acuerdo a la Tabla 8 el Framework seleccionado es JSF, ya que la aplicación

posee abundante código JavaScript y JQuery, Además vamos interactuar con el API

de Google Maps y con Twitter Bootstrap

Page 38: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

24

SISTEMA GESTOR DE BASE DE DATOS

Postgresql MySQL DB2 Express

Descripción

Pes

o

Descripción

Pes

o

Descripción

Pes

o

Diseño

Es un sistema de

gestión de bases de

datos muy robusto y

funciona de una

manera muy optima

al combinarlo con

Java

10

Es un sistema de

gestión de bases de

datos relacional,

multihilo y

multiusuario con más

de seis millones de

instalaciones.

9

Es un motor de base

de datos relacional que

integra XML de

manera nativa 8

Manejo de bases

no relacionales No dispone 5 No dispone 5

Permite almacenar

documentos completos

dentro del tipo de

datos xml para realizar

operaciones y

búsquedas de manera

jerárquica e integrarlo

con búsquedas

relacionales

7

Administrador PgAdmin 9 Mysqladmin 9

DB2 Express-C

(Licencia gratuita para

proyectos open

source)

9

Recursos

250 MB de espacio

en disco duro

250 MB de RAM

Arquitectura del

sistema 32/64 bits

10

512 RAM

1 GB Memoria

Virtual

1 GB disco duro

Arquitectura del

sistema 32/64 bits

8

256 MB RAM

2 GB de Disco Duro

Arquitectura del

sistema 32/64 bits

7

Licencia Licencia BSD 9 GPL y Propietaria 9 GPL y Propietaria 9

Manejo

De

Índices

Árbol R-/R+, Hash,

Expresión, Parcial 8

Árbol R-/R+ (Tablas

MyISAM

solamente),

Hash (Tablas HEAP

solamente)

8 Hash, reversa y Mapa

de bits 7

Objetos

soportados

nativamente

Dominio, Cursor,

Trigger, Funciones,

Procedimiento,

Rutina externa

9

Cursor, Trigger,

Funciones,

Procedimiento,

Rutina externa

9

Cursor, Trigger,

Funciones,

Procedimiento, Rutina

externa

9

Características

fundamentales

nativas

Atomicidad 10 Atomicidad 10 Atomicidad 9

Consistencia 10 Consistencia 10 Consistencia 9

Aislamiento 9 Aislamiento 9 Aislamiento 9

Durabilidad, Tabla

temporal 10

Durabilidad, Tabla

temporal 10

Durabilidad, Tabla

temporal y Vista

materializada

10

Particionamiento Rango

Lista 9

Rango

Hash

Compuesto

(Rango+Hash) Lista

9

Rango

Hash

Compuesto

(Rango+Hash)

Lista

9

Soporte Soporte empresarial

disponible. 9 Soporte empresarial

disponible. 9

El Soporte es casi nulo

para la versión gratuita 3

Sistema

Operativo Multiplataforma. 9 Multiplataforma. 9 Multiplataforma. 9

Page 39: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

25

Compatibilidad

con tecnologías

web

Ampliamente

popular - Ideal para

tecnologías Web. 9

Ampliamente

popular - Ideal para

tecnologías Web. 9

Tiene más orientación

hacia la parte

administrativa de la

empresa

7

Potencia

Su SQL es estándar

y fácil de aprender

y muy potente 9

Su SQL, es muy

completo y potente 9

El SQL de DB2 es

muy potente.

9

Instalación y

Configuración

Fácil de Instalar y

configurar 9

Facilidad de

instalar, la

configuración es un

poco complejan.

9 Facil de instalar y

configurar

SOA Dispone de

Arquitectura SOA 8 Dispone de

Arquitectura SOA 8 Dispone de

Arquitectura SOA 8

Documentación

Existe gran cantidad

de documentación,

aunque sin

experticia,

configurar llega a

ser un caos.

9

Un gran porcentaje

de las utilidades de

MySQL no están

documentadas.

9

La mayoría de

documentación es para

la versión de pago, los

recursos son limitados

al usar DB2 gratuito

5

Interfaz Intuitivo

Posee una interface

muy sencilla y fácil

de entender 9

No es intuitivo, como

otros programas 6

No es intuitivo, como

otros programas 6

Seguridad

Es fácil de vulnerar

sin protección

adecuada. 6

Es fácil de vulnerar

sin protección

adecuada. 6

Es fácil de vulnerar

sin protección

adecuada. 6

Velocidad al

crear y ejecutar

consultas

Muy rápido

8

Muy rápido

8

Lentitud crear y

ejecutar consultas.

5

Tipos de Datos

Reducida cantidad

de tipos de datos. 7

Amplia cantidad de

tipos de datos 8

Reducida cantidad de

tipos de datos, en la

versión gratuita

7

Peso Sumatoria 200 Sumatoria 195 Sumatoria 167

Porcentual 87% Porcentual 85% Porcentual 73%

Tabla 9. Cuadro comparativo de Sistemas Gestores de Base de Datos

De acuerdo a la Tabla 9 el Sistema Gestor de base de datos seleccionado es

Postgresql, ya que es una gestor muy robusto, fácil de usar, y ocupa pocos recursos,

para disminuir el peso de la aplicación en el servidor, para administrar la base de datos

se usará pgadmin

Ya se han realizado proyectos anteriores, por lo que se dispone de más experiencia en

cuento a la configuración del SGBD, la base local se ejecutara en Windows en el

puerto 5432 y la base remota en RedHat en el puerto 5433, dado que Postgresql es

compatible con ambos sistemas operativos no hay ningún problema relevante en su

configuración

Además se necesitará software auxiliar como:

Page 40: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

26

Framework responsivo Bootstrap Twitter: Es un framework o conjunto de

herramientas de Código abierto para diseño de sitios y aplicaciones web de índole

responsivo

JQuery: Es una biblioteca de JavaScript, creada inicialmente por John Resig, que

permite simplificar la manera de interactuar con los documentos HTML, manipular el

árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la

técnica AJAX a páginas web

Google Maps: : Es un servidor de aplicaciones de mapas en la web que pertenece a

Alphabet Inc. Ofrece imágenes de mapas desplazables, así como fotografías por

satélite del mundo e incluso la ruta entre diferentes ubicaciones o imágenes a pie de

calle con Google Street View

Arc Gis: es un grupo de componentes de software que permiten trabajar con datos en

forma de arreglos con la finalidad de representar mapas, para luego ser desplegados

en la pantalla

Plataforma OpenShift: es una plataforma de aplicaciones de nube que automatiza el

hosting, configuración, implementación y administración de pilas de aplicaciones en un

entorno de nube flexible

Git: Es un software de control de versiones pensado en la eficiencia y la confiabilidad

del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número

de archivos de código fuente

RubyGem: Es un gestor de paquetes para el lenguaje de programación Ruby que

proporciona un formato estándar y autocontenido (llamado gem) para poder distribuir

programas o librerías en Ruby

Page 41: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

27

3. METODOLOGÍA DE DESARROLLO

Luego de un exhaustivo análisis y de acuerdo a la Tabla 3 del capítulo anterior se

llegó a la conclusión que la mejor opción en cuanto a metodologías de desarrollo de

software compatibles con las características del proyecto es: Xtreme Programming (de

ahora en adelante XP) o Programación Extrema, frente a otras metodologías como

SCRUM o Prince2 que también son muy buenas, pero en otro tipo de proyectos

informáticos.

La metodología XP o Programación Extrema es la más destacada en cuanto al

manejo de procesos ágiles, pues, brinda un mayor control y visibilidad del proyecto a

corto, mediano y largo plazo, esta metodología es sumamente útil porque aplica mayor

énfasis en la adaptabilidad del proyecto antes que en su pre-visualización.

Tomando en cuenta que en el proyecto SISTEMA WEB DE UBICACIÓN

GEOGRAFICA Y TRAZO DE RUTAS DE TRANSPORTE PARA LLEGAR A LOS

COLEGIOS DE QUITO, es altamente cambiante pues integra varios paradigmas de

programación, las modificaciones en el desarrollo son prácticamente inevitables, por lo

tanto es de vital importancia aplicar XP para agilizar su desarrollo y minimizar su

complejidad

Se puede considerar la programación extrema como la adopción de las mejores

metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el

proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.

XP también incorpora al usuario como parte activa durante toda el ciclo de desarrollo

del software, razón por la cual, se estará interactuando de manera continua con los

clientes, cada vez que se cumpla un hito en el desarrollo del sistema, obviamente cada

avance debe contar con la aprobación del cliente y si se genera algún tipo de error o

alguna duda se tomarán accione como:

Revisión del código

Corrección de errores

Refactorización del Código

A continuación se mencionará los Valores más importantes de la metodología XP y su

relación con el proyecto que se está realizando

Page 42: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

28

3.1 Valores de la Metodología XP

Valor Descripción Valor en la aplicación web

Simplicidad

Se simplifica el diseño para

agilizar el desarrollo y

facilitar el mantenimiento.

La app se ha creado en base al

patrón de diseño MVC,

precisamente pensando en su

fácil mantenimiento y en la

agilidad del desarrollo

Comunicación

Debe comentarse sólo

aquello que no va a variar,

por ejemplo el objetivo de

una clase o la funcionalidad

de un método.

Se ha comentado la definición

de cada método, tanto en

clases java como en funciones

JavaScript de acuerdo a su

importancia y prioridad

Retroalimentación

Al realizarse ciclos muy

cortos tras los cuales se

muestran resultados, se

minimiza el tener que

rehacer partes que no

cumplen con los requisitos

Constantemente se han venido

realizando pruebas unitarias y

de integración para mejorar el

rendimiento de la aplicación

Coraje

Siempre diseñar y

programar para hoy y no

para mañana

Se ha tratado de optimizar el

tiempo de la mejor forma

posible para programar la

aplicación en el menor tiempo,

pero con la mayor calidad

posible, es decir, programar

con eficiencia, eficacia y

efectividad

Respeto

Los miembros del equipo

respetan el trabajo del resto

no haciendo

menos a otros

Una de las mayores cualidades

que se resaltan en el desarrollo

de este proyecto integrador es

precisamente el respeto por el

trabajo al momento de

programar

Tabla 10. Valores de la Metodología XP

Page 43: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

29

3.2 Fases de la Metodología

3.2.1 Fase 1: Estudio de Factibilidad

Esta fase tendrá como objetivo relevar y analizar en líneas generales los

requerimientos y características globales de la aplicación a desarrollar, a fin de

establecer el alcance del sistema y el esfuerzo necesario para su desarrollo, de forma

que se pueda conformar una propuesta lo más precisa posible.

En los casos en que sea factible, es conveniente mencionar la descripción de la

aplicación y los requerimientos necesarios para su desarrollo.

Descripción de la aplicación: La aplicación web, será gestionada a través de un

servidor de aplicaciones (Glassfish en el servidor local y Wildfly en el servidor remoto),

haciendo uso de la Plataforma online como servicio (PaaS) OpenShift RedHat y se

podrá acceder al aplicativo escribiendo su Localizador Único de Recursos (URL)

mediante un navegador web (Internet Explorer, Mozilla Firefox, Google Chrome, etc.)

Una vez ingresado en el portal web de la aplicación se requiere usuario y contraseña

para la autenticación, solamente por fines académicos dicho usuario y contraseña,

mientras la aplicación tenga un uso no comercial, serán admin

Posteriormente se desplegará una ventana dividida en dos partes. En la parte superior

estarán dos botones de color azul para Trazar Ruta y Regresar y en la segunda parte

estará el mapa con unos marcadores de color rojo, que al pulsar sobre ellos,

proporcionaran la información de cada colegio, Luego al presionar el botón Trazar

Ruta, se desplegará un combo jsf para elegir el colegio al que se desea ir, también se

puede escribir el nombre del colegio sino se desea seleccionar de la lista, luego al

presionar el botón IR, se trazará la ruta desde la ubicación en la que se encuentra el

usuario hasta la ubicación del colegio seleccionado

Finalmente al pulsar sobre el icono del colegio, se mostrará la información relevante,

así como la distancia en kilómetros y el tiempo aproximado en horas y minutos que le

tomará al usuario hasta llegar al colegio, usando algún vehículo

Page 44: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

30

Requerimientos Técnicos para desarrollar la aplicación

Herramienta Descripción

JDK Es un kit de herramientas de desarrollo para la

creación de programas en Java

Netbeans Es un entorno de desarrollo integrado libre para

aplicaciones de Java

Glassfish Servidor de Aplicaciones en la máquina local

Postgresql Sistema gestor de base de datos

Pgadmin Administrador de la base de datos

Wildfly Servidor de aplicaciones remoto

OpenShift Plataforma como Servicio

JSF Frimework Java Server faces

Bootstrap Twitter Frameworj Responsivo

JQuery Bibliotecas de JavaScript

API Google Maps Elementos de Google Maps para visualizar puntos de

referencia

Tabla 11. Herramientas para desarrollo

Además se necesitará software auxiliar como:

Arc Gis Es un grupo de componentes de software que

permiten trabajar con datos en forma de arreglos con

la finalidad de representar mapas

Git Software de control de versiones

RubyGem Gestor de paquetes para Ruby

Tabla 12. Software Auxiliar

Hardware

Computadora con procesador: Core i7 2.50 GHz,

Memoria RAM 2GB,

Disco Duro de 50 GB.

Conexión permanente a internet

Page 45: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

31

Casos de Uso

Figura 9. Casos de uso

A continuación detallaremos los actores principales y los casos de uso que tenemos

en la aplicación

Actores

Usuario Administrador: Es la persona que gestiona la aplicación, si se necesita,

mantenimiento, refactorización del código, configuración de los módulos, actualización

o algún tipo de cambio adicional; este actor puede realizar tareas especificas

Usuario: Es el cliente o usuario final, es decir la persona que únicamente usara la

aplicación como producto final una vez terminado el proyecto, desde la capa del

cliente

Casos de Uso

Modificar Usuarios y contraseñas: Si la aplicación necesita un mayor nivel de

formalidad o seguridad para la puesta en producción es necesario mejorar el ingreso y

gestión de usuarios

Page 46: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

32

Figura 10. Modificar usuario y contraseña

Trazar Ruta: Consiste en dibujar la ruta entre origen y destino usando la aplicación

Lo primero que se necesita es conocer la posición actual del usuario, para ello se

necesita conocer la latitud y longuitud del origen.

Google Maps, utiliza dos objetos propios que funcionen de manera similar a un GPS

llamados coords.latitude y coords.longitude para almacenar esta información.

Para obtener la latitud y longuitud del colegio destino, solo lo tomaremos de la base de

datos, cuando el usuario seleccione el nombre del colegio que desea visitar.

De esta manera ya tenemos los datos correspondientes de origen y destino

Para trazar la ruta, se utilizaran dos objetos propios del API de Google Maps:

DirectionService: Calcula la ruta, siempre y cuando sea posible, entre el

origen y el destino

DirectionRenderer: Muestra la trayectoria de la ruta en el mapa, tomando

como entrada la información que le provee el DirectionService

Page 47: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

33

Estos dos objetos ya viene pre configurados, solo hay que instanciarlos y usar sus

atributos

Figura 11. Trazar Ruta

Testear métodos: Consiste en probar regularmente los métodos para medir su

eficiencia, velocidad, rendimiento, utilidad; los métodos siempre son susceptibles de

mejora o desuso dependiendo la evolución de la aplicación, estos pueden ser

refactorizados, actualizados, eliminados o a su vez se pueden crear nuevos métodos

para reemplazar a métodos obsoletos

Figura 12. Testear Métodos

Ingresar al Portal: Consiste netamente en colocar en la barra del navegador web la

dirección URL (Localizador Único de Recursos) de la aplicación, en este caso:

http://database-geolocalizacion.rhcloud.com/EjemploWildfly , luego en la pantalla de

ingreso, poner su usuario y contraseña (Por fines netamente académico ambos serán

admin) y finalmente visualizar la primera página

Figura 13. Ingresar al Portal

Page 48: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

34

Mostrar lista de colegios en el Mapa: Despliega la lista de todos los colegios de la

capital, y permite seleccionar cualquiera de ellos

Figura 14. Mostrar lista de colegios

Procesos

PASO

ACTIVIDAD

1 Ingresar al portal de la aplicación

1.1 Iniciar Sesión

2 Registro

2.1 Ingresar Datos Personales

2.2 Crear Usuario

3 Enviar Registro

4 Ingresar usuario y contraseña

5 Mostrar lista de colegios en el mapa

6 Seleccionar colegios

7 Trazar ruta para llegar al colegio seleccionado

8 Mostrar información relevante del colegio

Tabla 13. Lista de Procedimientos para manejo y uso de la aplicación web

Page 49: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

35

Dia

gra

ma

de

Se

cu

en

cia

Fig

ura

15.

Dia

gra

ma

de S

ecu

en

cia

Page 50: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

36

3.2.2 Fase 2: Análisis y Diseño Global

Se analizará a bajo nivel cada requerimiento documentado en la etapa anterior y se

realizará un diseño global de los principales circuitos del sistema. El resultado de esta

etapa será el “Análisis de Requerimientos”, con el cual se confeccionará la “Propuesta

Definitiva”.

Descripción Lógica de los procesos del Sistema

Figura 16. Diagrama Lógico de los Procesos

Page 51: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

37

3.2.3 Fase 3: Desarrollo

Se compone de varias etapas bien diferenciadas y repetitivas por cada submódulo del

sistema (llamadas iteraciones):

a) Diseño Detallado: Se elaborarán las Especificaciones de Diseño de cada

programa del sistema, se realizará un análisis de las herramientas, para elegir

las más adecuadas y acordes para nuestro sistema, también se realizará un

análisis de los lenguajes de programación, para elegir el programa más robusto

y que cumpla con los requerimientos del proyecto

b) Desarrollo: Se codificará cada uno de los programas especificados en la etapa

anterior usando la plataforma Java

c) Control de Calidad: se realizarán las pruebas unitarias y de integración

necesarias para que la calidad de los programas desarrollados sea la más

óptima posible. Esta etapa incluye el ajuste de los módulos con calidad

inaceptable.

d) Implementación: se lleva a cabo la integración de los programas, la carga

inicial y la confección del archivo ejecutable o *.jar que será colocado en el

servidor OpenShift para que el cliente pueda acceder y usar la aplicación en

tiempo real,. También se procederá a cargar un manual de usuario en caso de

que se requiera algún tipo de capacitación relativa al manejo del software.

3.2.4 Fase 4: Puesta en Producción

Esta etapa tiene lugar cuando ya se terminó de desarrollar todos los módulos del

sistema. Su función es realizar los ajustes requeridos para que el mismo pueda

llevarse a producción, realizar la carga inicial y migración definitiva de los datos,

parametrizar el sistema, e implementarlo en el servidor adecuado, de ser necesario,

comprar un dominio y darle un nombre formal al URL que direcciona a la aplicación.

Para la fase final del proyecto se procederá a entregar el proyecto con los respectivos

manuales

Page 52: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

38

Manual de Ejecución de Código Compilado

Manual de Ejecución de Código Fuente

Manual de Instalación en Entorno PC

Manual de Instalación en máquina virtual

Manual de Instalación de Herramientas

Guía Rápida de Usuario (Ver Anexo F, en Sección Anexos)

3.3. Plataforma Tecnológica

3.3.1 Arquitectura de la Aplicación Web

La arquitectura de la aplicación Web, se basará en un patrón de diseño bastante bien

conocido llamado MVC (Modelo – Vista - Controlador) y varias capas.

El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que

separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el

módulo encargado de gestionar los eventos y las comunicaciones. Para ello MVC

propone la construcción de tres componentes distintos que son el modelo, la vista y el

controlador, es decir, por un lado define componentes para la representación de la

información, y por otro lado para la interacción del usuario.

Este patrón de arquitectura de software se basa en las ideas de reutilización de código

y la separación de conceptos, características que buscan facilitar la tarea de desarrollo

de aplicaciones y su posterior mantenimiento

Rápidamente el patrón MVC se define de la siguiente manera

Modelo: Contiene el núcleo de la funcionalidad (dominio) de la aplicación, encapsula el

estado de la aplicación, es independiente del controlador y la Vista

Vista: Es la presentación del Modelo, puede acceder al modelo pero nunca cambiar su

estado, puede ser notificada cuando hay un cambio de estado en el Modelo

Controlador: Reacciona a la petición del cliente, ejecutando la acción adecuada y

creando el modelo pertinente.

Page 53: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

39

Figura 17. Diagrama de la arquitectura MVC

Page 54: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

38

La

ap

lica

ció

n c

on

tie

ne v

ario

s c

om

pon

ente

s inte

gra

do

s,

la a

rqu

ite

ctu

ra y

el d

iseñ

o t

ota

l de

la a

plic

ació

n

se

mu

estr

a e

n la

sig

uie

nte

ap

lica

ció

n Fig

ura

18.

Arq

uit

ectu

ra d

e la

Ap

lic

ac

ión

We

b

Page 55: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

39

Como se mencionó anteriormente el patrón de diseño MVC, permite separar de

manera eficiente el diseño de la lógica de negocios

Contraejemplo:

Se tomará el caso de algo tan sencillo como son el HTML y las CSS. Al principio, en el

HTML se mezclaba tanto el contenido como la presentación. Es decir, en el propio

HTML tenemos etiquetas como "font" que sirven para definir las características de una

fuente, o atributos como "bgcolor" que definen el color de un fondo. El resultado es

que tanto el contenido como la presentación estaban juntos y si algún día

pretendíamos cambiar la forma con la que se mostraba una página, estábamos

obligados a cambiar cada uno de los archivos HTML que componen una web, tocando

todas y cada una de las etiquetas que hay en el documento. Con el tiempo se observó

que eso no era práctico y se creó el lenguaje CSS, en el que se separó la

responsabilidad de aplicar el formato de una web

En el entorno Netbeans, la aplicación tiene la siguiente estructura

A continuación analizaremos las capas de la arquitectura de la aplicación

Capa de Información: Se compone de la base de datos y del SGBD que permite

centralizar datos, administrarlos en forma eficiente y proveer acceso a los datos

almacenados con programas de aplicación.

Page 56: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

40

Fig

ura

19.

Dia

gra

ma

de C

lase

s d

e la

ap

lic

ació

n

Page 57: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

41

Capa de Acceso a Datos: Conecta la Capa de Negocios con la Capa de Información,

generalmente se conecta con un JDBC y se usa clases Java (Clase Conexión y Clase

Colegio) en un paquete llamado conexión, y aunque se puede acceder directamente a

los datos, lo recomendable es usar un framework de persistencia. Como Hibernate o el

propio JPA...

En esta capa se encuentran distribuidas las clases de la siguiente forma:

PAQUETE CONEXIÓN

Para una mejor descripción y detalle de las clases, observar el Anexo D (Sección

Anexos)

Capa de Negocio: Presenta el modelo de la aplicación, es decir, las reglas y la lógica

de negocios representados en los componentes EJB (Enterprise Java Bean) que están

dentro de un contenedor EJB

En la arquitectura de Netbeans la capa de Negocio se encuentra dentro del paquete

controlador y la lógica del negocio en sí, se encapsula en la clase ColegioController a

través de notaciones EJB

En esta capa se encuentra la clase que permite controlar los métodos del objeto

Colegio

PAQUETE CONTROLADOR

Para una mejor descripción y detalle de las clases, observar el Anexo D (Sección

Anexos)

Capa de Presentación: Comprende todos los componentes del Contenedor Web,

como Servlets, Páginas JSF, el API incrustado de Google Maps y los diferentes scripts

de JQuery y Bootstrap que estamos integrando.

Clase Conexión

Clase Colegio

Clase ColegioController

Page 58: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

42

Capa del Cliente Web: Es la presentación de la interfaz gráfica de la aplicación, al

usuario a través de un navegador web.

A continuación se detallan las paginas jsf que forma la vista de la aplicación

index.xhtml

mapa.xhtml

avance2.xhtml

template.xhtml

Figura 20. Diagrama de las páginas de la aplicación

Además, se hará uso de archivos JavaScript para agregar funcionalidad cuando el

usuario genere algún evento, por ejemplo: pulsar algún botón para establecer

conexión con el servicio web para acceso a los datos

index.xhtml

•El usuario ingresa a la aplicación, usando su nombre de usuario y su contraseña

mapa.xhtml•El usuario, observa

el mapa y elije el colegio al cual quiere dirigirse

avance2.xhtml

• Esta pagina muestra la ruta entre el origen y el destino, además muestra la distancia y el tiempo aproximado hasta llegar al colegio

template.xhtml

Esta página es una plantilla que contiene los

elementos mas importantes que se van a

mostrar, es muy útil para reutilización del

código y mantenimiento de la vista de la

aplicación

Page 59: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

43

Clases de tipo JavaScript

Son pseudoclases ya que propiamente no son archivos que van a ser compilados por

la Java Virtual Machine (JVM), sino mas bien, es código fuente de JavaScript

estructurado al estilo de clase Java, es decir con métodos y funciones pero propios de

JavaScript

Estos ficheros están organizados en directorios, que a su vez en la idea conceptual, se

podría decir que son paquetes

PAQUETE MAPAS

Para una mejor descripción y detalle de las clases, observar el Anexo D (Sección

Anexos)

WEB SERVICE REST

REST deriva de "REpresentational State Transfer", que traducido vendría a ser

“transferencia de representación de estado”, un servicio REST no tiene estado

(stateless), lo que quiere decir que, entre dos llamadas cualesquiera, el servicio pierde

todos sus datos. Esto es, que no se puede llamar a un servicio REST y pasarle unos

datos (p. ej. un usuario y una contraseña) y esperar que “nos recuerde” en la siguiente

petición. De ahí el nombre: el estado lo mantiene el cliente y por lo tanto es el cliente

quien debe pasar el estado en cada llamada.

REST es un estilo de arquitectura para desarrollar servicios. Los servicios web que

siguen este estilo deben cumplir con las siguientes premisas:

Cliente/Servidor: Como los servicios web son cliente servidor y definen un interface

de comunicación entre ambos separando completamente las responsabilidades entre

ambas partes.

Colegios.js

Mapa.js

Ubicación.js

Page 60: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

44

Figura 21. Esquema Cliente – Servidor

(http://www.arquitecturajava.com/servicios-rest/)

Sin estado: Son servicios web que no mantienen estado asociado al cliente .Cada

petición que se realiza a ellos es completamente independiente de la siguiente. Todas

las llamadas al mismo servicio serán idénticas.

Figura 22. Servicio Web sin estado

(http://www.arquitecturajava.com/servicios-rest/)

Cache: El contenido de los servicios web REST se puede cachear de tal forma que

una vez realizada la primera petición al servicio el resto puedan apoyarse en la cache

si fuera necesario.

Page 61: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

45

Figura 23. Caché (http://www.arquitecturajava.com/servicios-rest/)

Servicios Uniformes: Todos lo servicios REST compartirán una forma de invocación

y métodos uniforme utilizando los métodos GET, POST, PUT, DELETE

Figura 24. Servicios uniformes (http://www.arquitecturajava.com/servicios-rest/)

Arquitectura en Capas: Todos los servicios REST están orientados hacia la

escalabilidad y un cliente REST no será capaz de distinguir entre si esta realizando

una petición directamente al servidor, o se lo esta devolviendo un sistema de caches

intermedio o por ejemplo existe un balanceador que se encarga de redirigirlo a otro

servidor.

Page 62: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

46

Figura 25. Arquitectura en Capas

(http://www.arquitecturajava.com/servicios-rest/)

Para ver el correcto funcionamiento del servicio web se procederá ha realizar algunos

test usando el IDE Netbeans

Pruebas del Servicio Web REST

Para verificar el buen funcionamiento del servicio web de la aplicación, se procederá a

realizar un importante paso dentro de la metodología XP, que es la parte

correspondiente a Pruebas.

El Web Service fue creado usando el entorno Netbeans, el test lo realizaremos con

este mismo IDE, aunque tambien se puede utilizar software específicos de Test como

SoapUI

Page 63: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

47

Figura 26. Pantalla inicial del test del servicio web

Figura 27. Lista de Colegios en formato XML

Page 64: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

48

Figura 28. Búsqueda de Colegio por Id

Es importante mencionar que en un servicio web REST, los datos se pueden

transportar tanto en formato JSON como en formato XML, para diferenciar ambos

formatos, puede observar el Anexo E que se muestra en la sección de Anexos

En el proyecto, el servicio web, está contenido dentro de un archivo exportable

llamado WebServiceWSJSP.war en el directorio C:/database/deployments/, si por

alguna razón el WebService no permite el acceso a los datos, se recomienda reiniciar

el servidor de aplicaciones para solucionar este inconveniente

Descripción de los marcadores

Como ya se mencionó anteriormente, en la aplicación se muestran diferentes

marcadores (algunos marcadores son propios de google maps y otros son

personalizados por el autor) para diferenciar tanto al usuario como al colegio destino

usando sus respectivas coordenadas

Page 65: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

49

Marcadores

Imagen Nombre Descripción

Colegio

Este marcador aparece en la pantalla

inicial de la aplicación, cada marcador

representa a un colegio de la capital

ecuatoriana

Colegio

Este marcador aparece únicamente

cuando se ha seleccionado el destino al

que se desea llegar

Usuario

Este marcador representa al usuario,

aparece en las coordenadas en donde

se encuentre el usuario, cuando desea

trazar una determinada ruta

Tabla 29. Marcadores de la aplicación

Page 66: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

51

4. MARCO ADMINISTRATIVO

4.1 Recursos

4.1.1 Técnicos – Tecnológicos

Para la realización del proyecto integrador denominado: SISTEMA WEB DE

UBICACIÓN GEOGRAFICA Y TRAZO DE RUTAS DE TRANSPORTE PARA LLEGAR

A LOS COLEGIOS DE QUITO y el producto final se dispuso de herramientas

tecnológicas actualizadas, las cuales son:

Hardware:

Computadora Portátil Sony Vaio con procesador: Core i5-2450M 2.50 GHz,

Memoria RAM instalada 10,00GB,

Disco Duro de 500 GB.

Disco duro externo de 1 TB para almacenamiento de respaldo (backup)

Acceso a Internet permanente.

Software para el desarrollo:

En la siguiente tabla a modo de resumen listaremos las herramientas de desarrollo de

software que se han venido mencionando en capítulos anteriores

Herramienta Descripción

JDK Es un kit de herramientas de desarrollo para la

creación de programas en Java

Netbeans Es un entorno de desarrollo integrado libre para

aplicaciones de Java

Glassfish Servidor de Aplicaciones en la máquina local

Postgresql Sistema gestor de base de datos

Pgadmin Administrador de la base de datos

Wildfly Servidor de aplicaciones remoto

OpenShift Plataforma como Servicio

Git Software de control de versiones

RubyGem Gestor de paquetes para Ruby

Page 67: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

52

JSF Frimework Java Server faces

Bootstrap Frameworj Responsivo

JQuery Bibliotecas de JavaScript

API Google Maps Elementos de Google Maps para visualizar puntos de

referencia

Tabla 15. Resumen herramientas de desarrollo

4.1.2 Humano

Sergio Granizo, Egresado de la carrera de Ingeniería Informática de la Universidad

Central del Ecuador, se encargará de programar los módulos de la aplicación en Java

y de realizar las respectivas pruebas unitarias y de integración para su óptimo

funcionamiento

Msc. Mauro Rosas, Tutor del proyecto, se encargará de revisar la documentación del

proyecto, así como de verificar el óptimo funcionamiento del sistema durante todas sus

fases, desde su diseño hasta la puesta en marcha.

Page 68: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

liii

5. CONCLUSIONES

Una aplicación basada en un sistema de georeferenciación orientada

específicamente a la búsqueda de colegios y trazo de rutas es muy útil, porque

muchos ciudadanos desconocen cuantas Instituciones educativas (Colegios e

Institutos) existen en las inmediaciones de su barrio y/o parroquia; Esto

conlleva a tomar malas decisiones y es una desventaja para padres y

estudiantes

Con el avance del desarrollo del software y la mejora de las metodologías

ágiles ahora es posible construir aplicaciones de gran calidad, robustez y

ponerlas en un hosting estable y seguro como OpenShift RedHat, con una

mínima inversión económica, sin el riesgo que nos pueda imponer el tiempo, ya

que esta Plataforma como servicio no caduca y está al alcance del alumnado

universitario que desee desarrollar este tipo de proyectos

El avance de la tecnología demanda que todas las aplicaciones sean de tipo

responsivo, la aplicación desarrollada cumple plenamente con este

requerimiento por lo tanto se adapta fácilmente a cualquier tipo de tamaño o

resolución de pantalla de los dispositivos sin perder su calidad visual y

maniobrabilidad

A través del Middleware, se logró desarrollar una aplicación de tipo hibrido que

relacionó lo mejor de cada componente (Google Maps, Java, JavaScript, etc.)

para producir un producto útil y fácil de utilizar, tomando en cuenta un principio

básico de las aplicaciones modernas, ya que tienen que ser orientadas a

servicios, razón por la cual se ancló la aplicación a un servicio web de tipo

REST para que los datos sean tratados de la mejor forma posible.

El desarrollo de la tecnología hace fundamental el uso del internet como

herramienta esencial para la solución de problemas cotidianos que

necesariamente implica la construcción de aplicaciones más allá del ámbito

local, impulsando aun más los sistemas en tiempo real y todo lo referente al

paradigma de la web 3.0

Page 69: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

liv

Este tipo de aplicaciones permiten cohesionar de mejor manera la educación

con la tecnología y despertar el interés de todos los agentes

implicados(Empresa Privada, Población, Ministerios y Universidades) para

mejorar el proceso de acceso a la información, selección y capacitación a la

comunidad

Además del campo académico, la Geolocalización puede desempeñar un rol

fundamental en otras áreas como: Control de Transito Vehicular, Localización

de puntos estratégicos en caso de emergencia, Definición de Zonas de

Vulnerabilidad ya sea por la pobreza o por el nivel de delincuencia,

Posicionamiento para determinadas actividades comerciales de las empresas,

entre otras cosas

El proyecto Sistema localizador de Colegios y Ruteo (SILCOR) esta destinado

a persistir en el tiempo, ya que su arquitectura de desarrollo está basado en el

patrón de diseño MVC(Modelo Vista Controlador), el cual simplifica y facilita

considerablemente su mantenimiento, migración y sostenimiento

Las aplicaciones diseñadas en capas son mas fáciles de proteger porque

tienen separadas las vistas(Capa del Cliente) de tal manera que el usuario

desconoce por completo, la lógica de negocio(Capa de Negocio) y la base de

datos(Capa de Persistencia)

Page 70: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

lv

6. RECOMENDACIONES

Actualmente se usa un host de la plataforma OpenShift RedHat que nos

proporciona un dominio un tanto extenso y difícil de entender o memorizar, se

recomienda contratar un host pagado para tener un dominio más apropiado en

caso de que la aplicación se vuelva comercializable o a su vez sea acogida por

alguna empresa privada o alguna entidad del gobierno como el Ministerio de

Educación

La aplicación actualmente posee un gran número de elementos integrados, se

recomienda analizar más profundamente todas las herramientas actuales que

existen de desarrollo, así como las nuevas tendencias y los paradigmas de

programación para que la aplicación sea un poco más ligera, entendible,

portable y se vaya innovando para que pueda perdurar en el tiempo

Se recomienda continuar con el desarrollo de la aplicación tomando en cuenta

la funcionalidad de la aplicación para que el sistema pueda mejorar y

convertirse en un sistema experto que incluso pueda tomar decisiones como:

¿Qué tipo de colegio necesita el estudiante?, ¿Qué tipo de Jornada es la más

apta para el estudiante?, etc. utilizando técnicas de Minería de Datos y

Business Intelligence.

Se recomienda ampliar el tipo de Instituciones Educativas que pueden ser

localizadas en la aplicación, se puede extender la base de conocimientos, para

que el Sistema localice Universidades, Centros de Capacitación Particulares,

Infocentros, Escuelas, Escuelas para niños especiales, etc.

Se recomienda aumentar el alcance, pues actualmente solo se toma en cuenta

las instituciones educativas que pertenecen a la ciudad de Quito, pero se

podría incluir mas espacio geográfico, incluso abarcar toda la región continental

ecuatoriana

Page 71: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

lvi

Se recomienda integrar el API de Google Maps con la banco de datos de la

Secretaría Nacional de Transporte del Ecuador para unificar las bases de

conocimiento y poder agregar mayor funcionalidad a la aplicación como Rutas

de los buses o de recorridos que dispone cada colegio

Se recomienda incorporar elementos multimedia en la aplicación como: vista en

tres dimensiones, realidad aumentada o videos de las unidades educativas que

el usuario visite para que tenga una idea más clara del destino que va a

conocer

En el caso de ir caminando, se recomienda realizar algunos criterios de

selección para predecir de mejor forma el tiempo que se va a demorar una

persona en llegar al destino, por ejemplo un atleta demorará menos tiempo en

llegar en comparación con una persona de la tercera edad, a pesar de ir por la

misma ruta

Con el paso del tiempo indudablemente la base de datos del sistema va a

seguir creciendo, razón por la cual se recomienda crear un sistema de

replicación o de backups, para tener un respaldo, en caso que la aplicación

colapse o sufra algún daño que afecte los datos o su estructura como tal.

Actualmente no se toman casos especiales al trazar la ruta como: Huelgas,

desfiles o algún tipo de eventos, se recomienda unificar la base de datos con la

información que provea la policía Nacional al respecto de estos contratiempos

para mejorar la eficiencia de la aplicación

Para un mejor manejo de los datos a futuro se recomienda la elaboración de un

DataMars o un DataWareHouse para mejorar los tiempos de respuesta de la

aplicación, así como el mejoramiento y la creación de nuevas políticas en la

lógica del negocio

Page 72: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

lvii

GLOSARIO

ANCHO DE BANDA: Medida de la cantidad de información que puede pasar por una

vía, expresada en bits/segundo (o algún múltiplo).

API: Es un conjunto de reglas (código) y especificaciones que las aplicaciones pueden

seguir para comunicarse entre ellas: sirviendo de interfaz entre programas diferentes

de la misma manera en que la interfaz de usuario facilita la interacción humano-

software.

APLICACIÓN: Programa diseñado para una determinada función

APPLE: Primera compañía fabricante de computadoras personales y creadora de la

computadora Macintosh

ARCHIVO: Conjunto de datos relacionados.

AUTOMATIZACIÓN: Realización de una combinación específica de acciones por una

máquina, sin la ayuda de personas.

BACKUP: Copias de archivos, equipos de reemplazo o procedimientos alternativos

disponibles para ser usados en caso de emergencias producidas por fallas totales o

parciales de un sistema computacional.

BANCO DE DATOS: Colección de archivos de datos, de tipo histórico, utilizados para

consultas específicas de algún tema en particular.

BASE DE DATOS RELACIONAL: Colección de datos organizada y relacionada, para

evitar duplicaciones y permitir la obtención de datos combinados, satisfaciendo la

necesidad de usuarios con diferentes necesidades de información.

CSS: Es un lenguaje utilizado en la presentación de documentos HTML. Un

documento HTML viene siendo coloquialmente “una página web”. Entonces podemos

decir que el lenguaje CSS sirve para organizar la presentación y aspecto de una

página web

GOOGLE MAPS: Es un servidor de aplicaciones de mapas en la web que pertenece a

Alphabet Inc. Ofrece imágenes de mapas desplazables, así como fotografías por

satélite del mundo e incluso la ruta entre diferentes ubicaciones o imágenes a pie de

calle con Google Street View

Page 73: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

lviii

GIS. Es un conjunto de herramientas para unir, almacenar y presentar datos

espaciales sobre el mundo que nos rodea.

HTML es el lenguaje que se emplea para el desarrollo de páginas de internet. Está

compuesto por una seríe de etiquetas que el navegador interpreta y da forma en la

pantalla

MARCADOR. Es un icono o imagen que sirve para mostrar al usuario puntos de

interés en un mapa de Google Maps

MVC: Modelo Vista Controlador (MVC) es un estilo de arquitectura de software que

separa los datos de una aplicación, la interfaz de usuario, y la lógica de control en tres

componentes distintos.

PC: Computador personal de escritorio

WORKFLOW: Flujo de trabajo

Page 74: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

53

7. BIBLIOGRAFIA

1. RUEDA, Francisco; QUINTERO, Alejandro; RUEDA, Julieta; LEON, Mauricio,

(1995), Metodología para el desarrollo de aplicaciones Cliente-Servidor, descargado

del internet el 12 de enero de 2016

2. GRANELL, Carlos, (2013), Future trends in geospatial information management,

descargado del internet el 16 de enero del 2016

3. AVILA, Clara, (2012), Foursquare para empresas, descargado el 10 de noviembre

del 2015

4. BELTRAN, Gerson, (2012), Geolocalización y redes sociales: un mundo social, local

y móvil, descargado el 10 de noviembre de 2015

5. AMAYA, Daniel, (2013), Metodologías ágiles en el desarrollo de aplicaciones para

dispositivos móviles, descargado el 10 de noviembre de 2015

6. http://datos.gob.es/content/herramientas-de-procesado-visualizacion-de-datos,

descargado el 16 de enero del 2016

7. https://desocultar.files.wordpress.com/2010/04/google-geolocalizacion-de-

contenidos-maps-y-earth.pdf, descargado el 20 de enero del 2016

Page 75: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

54

ANEXOS

Page 76: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

55

ANEXO A

Artículo: La importancia de la Geolocalización en tu negocio

La Geolocalización es mucho más que una moda. Las grandes empresas,

como Google, Facebook o Groupon, ya han apostado por ella. Y qué no decir

de Foursquare…

En esta época que nos ha tocado vivir, parece que queremos que todo el mundo

sepa lo que hacemos, adónde vamos y con qué frecuencia lo hacemos (dichosas

redes sociales). Más allá de este eterno debate, lo cierto es que es posible que las

empresas utilicen los servicios de la geolocalización para obtener pingües

beneficios.

Todos tenemos que estar de acuerdo en que la geolocalización influye cada vez más

en las decisiones de compra del usuario, tanto en el qué comprar como en el dónde

hacerlo…

Tomado de http://www.contunegocio.es/

ANEXO B

Articulo: Evolución de la Geolocalización y el GPS

Gestión de flotas, recursos humanos, servicios de seguridad... Las aplicaciones

que la geolocalización tiene en las empresas son cada vez más numerosas. Y es que

este sistema hace que todo se vea, que todo se sepa, que todo se controle. Bueno,

quizás la afirmación suene un poco exagerada e, incluso, recuerde a la obra 1984, de

George Orwell. Pero, hasta cierto punto, ésta es la esencia de la geolocalización, una

tecnología que permite ubicar, según coordenadas espaciales, a una persona u objeto

mediante un dispositivo. La definición es de Juan Miguel Gómez, profesor de la EAE

Business School y de la Universidad Carlos III de Madrid.

Page 77: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

56

Las herramientas claves son el GPS, que determina la posición de un elemento a

través de satélites, y el RFID, que trabaja con radiofrecuencia. “Se podría decir que

estos dos componentes son el hardware de la tecnología”…

El software, mientras, estaría constituido por los planos y mapas sobre los que se

realizan las identificaciones; mapas suministrados por servicios como Google Maps o

Mapquest, “este último muy empleado en Estados Unidos, pero poco en Europa”.

Recientemente, Apple adquirió la compañía de mapas Placebase, lo que da una idea

de la relevancia de este instrumento…

Tomado de http://www.emprendedores.es/

ANEXO C

Noticia: El catedrático de Historia de la Arquitectura y la Tecnología de la

Universidad de Harvard Antoine Picon, presidente de la Fundación Le Corbusier

de París opina: “

La creciente importancia del espacio en relación a los desarrollos tecnológicos como la

Geolocalización y la realidad aumentada explica el papel estratégico de los mapas en

la evolución de la experiencia urbana” (15 de diciembre 2015)

Figura 30. Antoine Picon

Tomado de: http://www.20minutos.es/noticia/2626270/0/presidente-fundacion-le-

corbusier-disertara-segovia-sobre-auge-ciudades-inteligentes/#xtor=AD-

15&xts=467263

Page 78: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

57

ANEXO D

PAQUETE CONEXIÓN

Clase Conexión

Descripción: esta clase permite conectarse con el gestor de base de datos a través de

un componente jdbc, en esta clase, se crea una conexión que permite extraer los

datos de los colegios para posteriormente ser tratados en los objetos que manejan la

lógica de Negocio

Conexión

Atributos Private LinkedList<Colegio> listar_tag; Private Colegio tag_html; Private Statement st; Private ResultSet rs;

Métodos Public getListar_tag; Public setListar_tag(LinkedList<Colegio> colegios); Public getTag_html; Public setTag_html(Colegio colegio); Public getListar_tag; Public setListar_tag(Colegio colegio); Public getSt; Public setSt(Statement st); Public getRs; Public setRs(Result Rs);

Tabla 16. Clase Conexión

Clase Colegio

Descripción: Esta clase es una entidad que sirve para mapear los objetos java con las

tablas y campos de la base de datos, para ello se crea un atributo de tipo privado por

cada campo que maneja la tabla

Colegio

Atributos private Integer id; private String provincia; private String canton; private String parroquia; private String nombreInstitucion; private String codigoInstitucion; private String direccion; private String latitud; private String longuitud; private String representanteInstitucion; private String telefonos;

Page 79: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

58

private String sostenimiento; private String regimenEscolar; private String jornada; private String modalidad; private String nivelEducacion; private String especialidadBachillerato; private String tipoEducacion; private Integer basico; private Integer diversificado;

Métodos public Integer getId() ; public void setId(Integer id) ; public String getProvincia(); public void setProvincia(String provincial); public String getCanton() ; public void setCanton(String canton) ; public String getParroquia() ; public void setParroquia(String parroquia) ; public String getNombreInstitucion() ; public void setNombreInstitucion(String nombreInstitucion) ; public String getCodigoInstitucion() ; public void setCodigoInstitucion(String codigoInstitucion) ; public String getDireccion() ; public void setDireccion(String direccion) ; public String getLatitud() ; public void setLatitud(String latitud) ; public String getLonguitud() ; public void setLonguitud(String longuitud) ; public String getRepresentanteInstitucion() ; public void setRepresentanteInstitucion(String representanteInstitucion) ; public String getTelefonos() ; public void setTelefonos(String telefonos) ; public String getSostenimiento() ; public void setSostenimiento(String sostenimiento) ; public String getRegimenEscolar() ; public void setRegimenEscolar(String regimenEscolar) ; public String getJornada() ; public void setJornada(String jornada) ; public String getModalidad() ; public void setModalidad(String modalidad) ; public String getNivelEducacion() ; public void setNivelEducacion(String nivelEducacion) ; public String getEspecialidadBachillerato() ; public void setEspecialidadBachillerato(String especialidadBachillerato) ; public String getTipoEducacion() ; public void setTipoEducacion(String tipoEducacion) ; public Integer getBasico() ; public void setBasico(Integer basico); public Integer getDiversificado() ; public void setDiversificado(Integer diversificado);

Tabla 17. Clase Colegio

Page 80: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

59

Clase ColegioController

Descripción: esta clase permite Controlar los elementos de la clase colegio, permite

separar los datos, de la funcionalidad de la aplicación, para tener mayor control sobre

la aplicación y poder realizar auditorías de seguridad y mantenimiento de una forma

más rápida y sencilla

ColegioController

Atributos private Colegio colegio; private List<Colegio> colegios;

Métodos public Colegio getColegio() ; public void setColegio(Colegio colegio) ; public List<Colegio> getColegios() ; public void setColegios(List<Colegio> colegios); public ColegioController();

Tabla 18. Clase ColegioController

Colegios.js

Descripción: Este archivo permite conectarse con el gestor de base de datos a través

de un servicio web tipo REST, en esta clase, se crea una conexión que permite extraer

los datos de los colegios a través de un URL para posteriormente ser tratados,

lanzados o mostrados en la interface de la aplicación por medio de páginas tipo

facelets

Colegios.js

Atributos Var request; Var colegio;

Métodos Function llenar(); Function llenarC(colegio)

Tabla 19. Colegios.js

mapa.js

Descripción: Este archivo permite desplegar el mapa inicial con una latitud y longuitud

establecidas por default cuando la aplicación se ejecuta, además coloca marcadores

Page 81: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

60

propios del Api de Google Maps en dicho mapa tomando como referencia la latitud y

Longuitud de todos los colegios de la capital, y cuando se pulsa sobre algún marcador

se despliega un cuadro de diálogo para mostrar sus datos relevantes

mapa.js

Atributos var myLatlng; var map; var request;

Métodos Function initMap(); Function mostrarColegios(colegios)

Tabla 20. mapa.js

ubicacion.js

Descripción: Este archivo permite tomar los datos del controlador y de los scripts

anteriores para trazar la ruta entre el usuario y el destino, inicialmente se registrara la

ubicación del usuario para trazar el origen de la trayectoria

ubicacion.js

Atributos var gMapa; var gCoder; var gLatLon; var ds = new google.maps.DirectionsService(); var dr = new google.maps.DirectionsRenderer(); var markerColegio = new google.maps.Marker(); var combo1;

Métodos function getMapa(); function initM(); function fn_mal(); function fn_ok(rta); function capturarTrazar(); function trazarRuta(); function fnRutear(resultados, status);

Tabla 21. Ubicación.js

Page 82: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

61

ANEXO E

Colegio ALANGASI en formato XML

<basico>571</basico>

<canton>QUITO</canton>

<codigoInstitucion>17H01448</codigoInstitucion>

<direccion> ABDON CALDERON OE1-144 Y ELOY ALFARO</direccion>

<diversificado>419</diversificado>

<especialidadBachillerato>Area de Comercio y Administracion, Area Tecnico

Industrial,Ciencias,Unificado</especialidadBachillerato>

<id>5</id>

<jornada>Matutina</jornada>

<latitud>-0.306333</latitud>

<longuitud>-78.416389</longuitud>

<modalidad>Presencial</modalidad>

<nivelEducacion>EGB y Bachillerato</nivelEducacion>

<nombreInstitucion>ALANGASI</nombreInstitucion>

<parroquia>ALANGASI</parroquia>

<provincia>PICHINCHA</provincia>

<regimenEscolar>Sierra</regimenEscolar>

<representanteInstitucion>DIAZ TIPAN CARLOS HUMBERTO</representanteInstitucion>

<sostenimiento>Fiscal</sostenimiento>

<telefonos>022788105 022787414 022787322</telefonos>

<tipoEducacion>NO DISPONE</tipoEducacion>

Colegio ALANGASI en formato JSON

{"basico":571,"canton":"QUITO","codigoInstitucion":"17H01448","direccion":" ABDON CALDERON OE1-144 Y

ELOY ALFARO","diversificado":419,"especialidadBachillerato":"Area de Comercio y Administracion, Area

Tecnico Industrial,Ciencias,Unificado","id":5,"jornada":"Matutina","latitud":"-0.306333","longuitud":"-

78.416389","modalidad":"Presencial","nivelEducacion":"EGB y

Bachillerato","nombreInstitucion":"ALANGASI","parroquia":"ALANGASI","provincia":"PICHINCHA","regimenEscol

ar":"Sierra","representanteInstitucion":"DIAZ TIPAN CARLOS

HUMBERTO","sostenimiento":"Fiscal","telefonos":"022788105 022787414 022787322","tipoEducacion":"NO

DISPONE"}

Page 83: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

62

ANEXO F

Guía Rápida del Usuario

Para facilitar el uso de la aplicación, se ha generado una guía rápida de usuario con la

finalidad de que las personas que quieran usar el software puedan hacerlo muy

rápidamente

1. Ingresar al link de la aplicación:

http://database-

geolocalizacion.rhcloud.com/EjemploWildfl

y

Se nos desplegará la pantalla de

ingreso

Figura 31. Pantalla de Inicio

Page 84: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

63

2. Colocar el usuario y la contraseña

para ingresar a la aplicación

Hay que mencionar que por

motivos netamente académicos el

usuario y la contraseña son Admin

Figura 32. Pantalla de Inicio con

credenciales

Page 85: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

64

3. Al ingresar al sistema, se

desplegará esta pantalla, todos

los colegios e institutos que están

registrados en el Ministerio de

Educación están representados

por marcadores de color rojo

Figura 33. Marcadores

Page 86: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

65

4. Si pulsamos sobre algún

marcador, se nos desplegará la

información relevante, como se

muestra en la pantalla

Figura 34. Datos de un colegio

Page 87: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

66

5. Al presionar en el botón Trazar

Ruta, se nos aparecerá una

pantalla con nuestra ubicación

actual y un combo con la lista

de todos los colegios de Quito

que constan en el banco de

Datos del Ministerio de

Educación

Figura 35. Combo

Page 88: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

67

6. En el combo que aparece en la

aplicación, se puede

seleccionar el colegio que

desea o buscar el colegio

escribiendo el nombre de la

Institución

Figura 36. Búsqueda de colegios

Page 89: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

68

7. Luego de haber elegido el

colegio que vamos a rutear(en

el ejemplo se escogió al

colegio ALBERT EINSTEIN)

pulsamos en el botón IR, y

automáticamente nos trazará la

ruta, y nos mostrará la

distancia y el tiempo

aproximado que se demorará

el usuario en llegar a la

institución, en este caso 47.7

km y 1 hora respectivamente

Figura 37. Trazo de Rutas

Page 90: UNIVERSIDAD CENTRAL DEL ECUADOR - dspace.uce.edu.ec · desconocimiento de los colegios de Quito, que se encuentran legalmente registrados en los bancos de Datos del Ministerio de

69

8. Luego que se ha trazado la ruta y

se desea conocer la información

del colegio, debemos pulsar sobre

el marcador que identifica al

colegio y se nos

desplegará la información de la

institución, de manera similar a lo

que observamos en la captura de

la pantalla

Figura 38. Información de un colegio