scieee Open visual document viewer

Gestión de rutas turísticas para Málaga

Luna Criado, Alejandro

Abstract

Ante la gran cantidad de turistas que cada año vienen a visitar la ciudad de Málaga y la gran cantidad de ofertas de elementos turísticos que nuestra ciudad ofrece, surge la necesidad de desarrollar una aplicación web (con un diseño responsive) en la que a través de una serie de elementos turísticos que previamente están definidos en el sistema, el usuario pueda organizar una ruta, en la que entre otros aspectos, se pueden seleccionar cuales de estos lugares les gustaría visitar, indicar el horario que tendrá disponible para realizar la ruta, así como el día de la semana y el lugar de partida. A través de estas preferencias elegidas por el usuario, el sistema se encargará de planificar una ruta donde se indicará entre otros aspectos: - Los elementos que son posible visitar atendiendo el horario y día elegido. - El orden en el que se deben de realizar las visitas. - El tiempo que se debe emplear en cada visita, el cual coincide con el tiempo medio que un usuario suele tardar en completar la visita de las instalaciones. - Rutas gráficas y paneles de indicaciones que mostrarán los pasos a seguir para ir desde un lugar turístico a otro.

Full text

1 2 3 ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA G ado en Ingenie ía In o má ica GESTIÓN DE RUTAS TURÍSTICAS PARA MÁLAGA MANAGEMENT OF TOURIST ROUTES FOR MÁLAGA Realizado po Alejand o Luna C iado Tu o izado po Gab iel Jesús Luque Polo Depa amen o Lenguajes y Ciencias de la Compu ación UNIVERSIDAD DE MÁLAGA MÁLAGA, Diciemb e de 2018 Fecha de ensa: El Sec e a io del T ibunal 4 5 Resumen An e la g an can idad de u is as que cada año ienen a isi a la ciudad de Málaga y la g an can idad de o e as de elemen os u ís icos que nues a ciudad o ece, su ge la necesidad de desa olla una aplicación web (con un diseño esponsi e) en la que a a és de una se ie de elemen os u ís icos que p e iamen e es án de inidos en el sis ema, el usua io pueda o ganiza una u a, en la que en e o os aspec os, se pueden selecciona cuales de es os luga es les gus a ía isi a , indica el ho a io que end á disponible pa a ealiza la u a, así como el día de la semana y el luga de pa ida. A a és de es as p e e encias elegidas po el usua io, el sis ema se enca ga á de plani ica una u a donde se indica á en e o os aspec os: - Los elemen os que son posible isi a a endiendo el ho a io y día elegido. - El o den en el que se deben de ealiza las isi as. - El iempo que se debe emplea en cada isi a, el cual coincide con el iempo medio que un usua io suele a da en comple a la isi a de las ins alaciones. - Ru as g á icas y paneles de indicaciones que mos a án los pasos a segui pa a i desde un luga u ís ico a o o. Palab as cla e Tu ismo, u as, ciudad in eligen e, geolocalización, Google Maps, Google Places, aplicación web, esponsi e. 6 Abs ac Due o he huge quan i y o ou is s who isi Málaga ci y e e y yea and he a ie y o ou is elemen s o e ed, he necessi y o de eloping a web applica ion has a ised (wi h a esponsi e design) in which h ough ou se e als ou is ic elemen s p e iously de ined by he sys em, he use could o ganize a ou e o selec which o hose places he/she would like o isi , indica e he ime a ailable o making he ou e and also he day o he week and place o depa u e, among o he aspec s. Th oughou hose p e e ences choosen by he use , he sys em will plan a ou e whe e hose among o he aspec s will be indica ed: - The elemen s a ailable o isi ing acco ding o he choosen ime and da e - The o de in which hose isi s mus be done - The ime needed in each isi , wich mus concide wi h he a e age ime he use use o ake in inishing he isi o he acili ies - G aphical ou esand indica ion panels which will show he s eps o be ollowed o going om one ou is spo o ano he one. Keywo ds Sigh seeing, ou es, sma ci y, geoloca ion, Google Maps, Google Places, web applicca ion, esponsi e. 7 Índice Índice .......................................................................................................................... 7 Capí ulo 1. In oducción ............................................................................................ 11 1.1 In oducción ..................................................................................................... 11 1.2. Obje i os ........................................................................................................ 12 1.3. Es uc u a ....................................................................................................... 13 Capí ulo 2. Es udio de Me cado ............................................................................... 15 2.1. In oducción .................................................................................................... 15 2.2. Málaga Tu ismo .............................................................................................. 15 2.3. Spain.in o ....................................................................................................... 16 2.4. España es cul u a ........................................................................................... 17 2.5. Conclusión...................................................................................................... 17 Capí ulo 3. Tecnologías y he amien as u ilizadas ................................................... 19 3.1. HTML 5 .......................................................................................................... 19 3.2. CSS 3 ............................................................................................................. 19 3.3. Ja aSc ip y JQue y ....................................................................................... 19 3.4. PHP ................................................................................................................ 20 3.5. AJAX .............................................................................................................. 20 3.6. Boo s ap ........................................................................................................ 20 3.7. Google Maps Ja aSc ip API y lib e ía Places de Google .............................. 22 3.8. MySQL ........................................................................................................... 23 3.9. XAMPP ........................................................................................................... 23 3.10. B acke s ....................................................................................................... 24 Capí ulo 4. Análisis del sis ema ................................................................................ 25 4.1. Roles del sis ema ........................................................................................... 25 4.2. Requisi os Funcionales .................................................................................. 25 RF-001 Regis o ................................................................................................. 25 RF-002 Login ..................................................................................................... 25 RF-003 Ges iona u as ...................................................................................... 26 RF-004 Añadi Luga Tu ís ico ........................................................................... 26 RF-005 Edi a Luga Tu ís ico ............................................................................ 26 RF-006 Ges iona Ca ego ías ............................................................................ 26 RF-007 Ges iona Usua ios ............................................................................... 27 RF-008 Mi Pe il ................................................................................................. 27 8 RF-009 Ce a sesión......................................................................................... 27 4.3. Requisi os No Funcionales ............................................................................. 27 RNF-001 Usabilidad ........................................................................................... 27 RNF-002 Po abilidad......................................................................................... 27 RNF-003 Facilidad de man enimien o ................................................................ 27 4.4. Casos de uso ................................................................................................. 28 4.4.1. Regis o .................................................................................................... 29 4.4.2. Login ........................................................................................................ 29 4.4.3. Ges iona u as......................................................................................... 30 4.4.4. Añadi Luga Tu ís ico .............................................................................. 31 4.4.5. Edi a Luga Tu ís ico ............................................................................... 32 4.4.6. Ges iona Ca ego ías ............................................................................... 33 4.4.7. Ges iona Usua ios .................................................................................. 34 4.4.8. Mi Pe il .................................................................................................... 35 4.4.9. Ce a sesión ........................................................................................... 35 Capí ulo 5. Modelado e Implemen ación del Sis ema ............................................... 37 5.1. Diag amas de Secuencia ............................................................................... 37 5.2. Base de Da os ................................................................................................ 45 5.2.1. Modelo Relacional .................................................................................... 45 5.2.2. Tablas ...................................................................................................... 46 5.2.2.1. Tabla Usua io ............................................................................ 46 5.2.2.2. Tabla Ca ego ías ....................................................................... 47 5.2.2.3. Tabla Luga es ............................................................................ 47 5.2.2.4. Tabla Ho a ios ........................................................................... 48 5.3. Cálculo de Ru as ............................................................................................ 49 Capí ulo 6. P uebas .................................................................................................. 51 Capí ulo 7. Conclusiones y líneas u u as ................................................................ 53 7.1. Conclusiones .................................................................................................. 53 7.2. Líneas u u as ................................................................................................. 53 Capí ulo 8. Bibliog a ías ........................................................................................... 55 Apéndice A. Manual de ins alación ........................................................................... 59 Apéndice B. Manual de usua io ................................................................................ 69 B.1. Regis o ......................................................................................................... 69 B.2. Login .............................................................................................................. 71 9 B.3. Ca ego ías ..................................................................................................... 73 B.4. Luga es .......................................................................................................... 78 B.4.1. Nue o Luga ............................................................................................ 78 B.4.2 Edi a Luga es .......................................................................................... 83 B.5. Ru as u ís icas en Málaga............................................................................. 87 B.6. Usua ios ......................................................................................................... 95 B.7. Pe il ............................................................................................................... 96 B.8. Tiempo de sesión. .......................................................................................... 98 16 Figu a 2.1. Panel de u as Fuen e: h p://www.malaga u ismo.com/es/secciones/ u as/13 2.3. Spain.in o O a al e na i a que nos encon amos pa a ealiza u as u ís icas es el si io web Spain.in o [2]. Dicha web iene p ede inidas di e en es ipos de u as, pe o al igual que la al e na i a an e io es as u as son es á icas y desc ip i as, sin ene en cuen a p e e encias del usua io. Gene almen e nos da la posibilidad de busca u as il ando po comunidad au ónoma, di e enciándolas en cua o p incipales ca ego ías: - Ru as u banas - Ru as cul u ales - Ru as emá icas - Ru as en e pueblos 17 Figu a 2.2. Ca ego ías de u as Fuen e: h ps://www.spain.in o/es/que-quie es/ u as/ 2.4. España es cul u a España es cul u a es una más de las al e na i as web [3] que nos da la posibilidad de ealiza u as po las di e en es ciudades de España. Es a al e na i a o ece di e sos ipos de u as, que an desde u as gas onómicas has a u as monumen ales. Cabe des aca que al igual que las an e io es al e na i as, es as u as ambién son es á icas, sin ene en cuen a eque imien os del usua io. 2.5. Conclusión Después de ealiza el es udio de he amien as simila es que exis en en la ac ualidad, cabe des aca que se a a de una aplicación muy inno ado a, ya que pa ece se que, ac ualmen e, no exis en sis emas que e pe mi an ealiza una u a u ís ica a endiendo p e e encias y ho a ios de los usua ios, sino que las soluciones que se o ecen son u as es á icas y sin ene en cuen a los eque imien os que pueda ene la pe sona que u ilice la he amien a. 18 19 Capí ulo 3. Tecnologías y he amien as u ilizadas En es e capí ulo se comen an las di e en es ecnologías que se usa án en el p oceso de desa ollo de la aplicación web, así como las he amien as que se u iliza án en la codi icación y despliegue del sis ema. 3.1. HTML 5 El p oyec o consis e en una aplicación web, po lo an o, g an pa e se á desa ollada a a és de HTML 5 [4], un lenguaje de ma cas de hipe ex o pa a la elabo ación de páginas web. Se ha decidido u iliza es e lenguaje ya que se conside a uno de los lenguajes web más impo an e y sus elemen os son compa ible p ác icamen e con odos los na egado es que exis en en la ac ualidad. 3.2. CSS 3 Pa a sepa a la es uc u a del documen o web de su diseño, se u ilizan a ias hojas de es ilos en cascadas (CSS) [5] dependiendo del apa ado de la aplicación a p esen a , lo que nos pe mi i á diseña una web que sea isualmen e llama i a de ca a al usua io de o ma in ui i a y sencilla. 3.3. Ja aSc ip y JQue y Pa a c ea con enido dinámicamen e, con ola la in oducción de da os en los dis in os o mula ios que o ece el sis ema y sob e odo, pa a con ola los di e en es e en os que se p oduci án, se u iliza á Ja aSc ip [6] y JQue y [7]; el p ime o de ellos es un lenguaje de p og amación que usualmen e se u ilizan en el desa ollo de una aplicación web, mien as que el segundo es un amewo k muy popula de dicho lenguaje Al igual que muchas lib e ías, pa a pode u iliza JQue y end emos a ias opciones. Podemos desca ga nos su lib e ía e inclui la en nues o p oyec o, o bien, inclui la 20 CDN que con iene dicha lib e ía compilada y que nos pe mi i á hace uso de odas sus uncionalidades. En nues o caso se ha op ado po u iliza el CND de JQue y. Figu a 3.1. Inclusión de JQue y La inclusión de JQue y se end á que hace en odas las páginas donde se quie a hace uso de es e amewo k. 3.4. PHP Pa a con ola la uncionalidad que o ece el sis ema (back-end) se u iliza á PHP [8], un lenguaje de p og amación de código abie o bas an e popula en el desa ollo web, al pode se inc us ado den o del HTML, el cual nos pe mi i á gene a páginas web dinámicas. 3.5. AJAX Ajax [9] es una écnica que se suele emplea en el desa ollo web pa a pe mi i desa olla aplicaciones in e ac i as mien as se man iene la comunicación asínc ona con el se ido . A a és de es a ecnología pod emos ealiza cambios en el con enido HTML sin necesidad de eca ga la página en la que nos encon emos. 3.6. Boo s ap O a de las ecnologías que u iliza emos en el desa ollo del sis ema se á Boo s ap [10], un amewo k desa ollado po Twi e , que pe mi e el desa olla si ios web esponsi e que nos acili a á que nues a aplicación se adap e a disposi i os que engan di e en es ipos de pan allas. Exis en di e en es mé odos de ins alación/uso del amewo k al igual ocu e con JQue y, en nues o caso u iliza emos la CDN de Boo s ap, que con iene la e sión 21 compilada del CSS y Ja aSc ip de Boo s ap, po lo que solo end emos que inclui lo en la cabece a de odas las páginas de nues o p oyec o donde hagamos su uso, al y como se indica el manual o icial. Figu a 3.2. Inclusión de CSS y Ja aSc ip de Boo s ap. Pa a pode u iliza los plugins Ja aSc ip de Boo s ap, p e iamen e end emos que inclui en nues o p oyec o la lib e ía jQue y, al y como se mues a en la Figu a 3.1, ya que la mayo pa e de dichos plugins hacen uso de dicha lib e ía. Po o a pa e, Boo s ap con iene algunas uncionalidades que hacen uso de una po en e lib e ía Ja aSc ip llamada Poppe [11], que nos pe mi i á u iliza , en e o os aspec os, la ecnología AJAX, la cual nos acili a la c eación de elemen os eme gen es, menús, al e a con enido de una página HTML sin necesidad de eca ga la. Al igual que con Boo s ap y JQue y, end emos que inclui las lib e ías en nues o p oyec o pa a pode u iliza la, al y como se mues a en la Figu a 3.3. Figu a 3.3. Inclusión de Poppe . 22 3.7. Google Maps Ja aSc ip API y lib e ía Places de Google Pa a el cálculo, uso y ges ión de las u as, se usa á la API Ja aSc ip de Google Maps [12], ya que dispone de g andes y complejas unciones que nos pe mi i án ob ene y diseña u as sin g andes es ue zos de p og amación. Pa a pode u iliza dicha API, end emos que c ea un p oyec o y solici a una cla e, llamada API KEY, ya que g an pa e de los se icios que o ece Google equie en au en icación. Figu a 3.4: Ejemplo API KEY Google Maps Ja aSc ip API. Fuen e: h ps://de elope s.google.com/maps/documen a ion/embed/ge -api-key Es a API KEY si e pa a, en e o os aspec os, con ola el núme o de pe iciones que se ealizan a google, de mane a que con es a cla e pod emos hace 1000 pe iciones dia ias a google g a ui amen e. Si se equie en de más pe iciones se debe á de solici a una a i a de pago que se aco de al núme o de pe iciones que se p e én que se ealicen dia iamen e, o simplemen e el núme o de pe iciones aumen a á has a 150000 con egis a una a je a de c édi o y pode alida la iden idad del usua io. Pa a pode u iliza es a API, end emos que inclui la en las cabece as de odas las páginas de donde se hagan uso, al y como se mues a en la Figu a 3.5 23 Figu a 3.5: Inclusión de Google Maps Ja aSc ip API. Pa a pos e io es con igu aciones del p oyec o c eado (como habili a nue as APIs, ges iona es adís icas de uso,…) pod emos accede a la pla a o ma Cloud de Google [13]. Po o a pa e, u iliza emos la lib e ía Places de Google [14], que nos pe mi i á ob ene la localización geog á ica e in o mación adicional bas an e de allada a la ho a de de ini la ubicación de los luga es u ís icos. Pa a su uso añadi emos la cláusula lib a ies=places a la inclusión de Google Maps Ja aSc ip API. Figu a 3.6: Inclusión de Google Maps Ja aSc ip API y lib e ía Places de Google. 3.8. MySQL Como sis ema ges o de la base de da os que ha á uso nues o sis ema se u iliza á MySQL [15], al a a bases de da os de código abie o y que además es bas an e popula de usa en en o nos de desa ollo web. 3.9. XAMPP Se ha á uso de XAMPP [16] ya que o ece la pa icula idad de ene in eg ado el se ido web Apache donde se desplega á nues a aplicación, el sis ema ges o de base de da os y el in é p e e de los sc ip s de PHP. 24 3.10. B acke s Pa a la codi icación de la aplicación web se ha á uso del edi o de ex o llamado B acke s [17], ya que nos pe mi i á, en e o os aspec os, ob ene una conexión en iempo eal con nues o na egado web, lo que nos da la posibilidad de e ins an áneamen e los cambios que ealicemos en los iche os HTML y CSS de nues a aplicación. U iliza emos dos plugins que nos pe mi i á desa olla nues o sis ema con más acilidad; u iliza emos el plugin llamado PHP Sma Hin s [18], que nos o ece á suge encias de au ocomple ado de palab as cla es de PHP como pueden se nomb e de unciones, a iables y cos an es; y u iliza emos el plugin llamado PHP Syn ax Hin [19], que nos ayuda á con la sin axis de PHP y consul as MySQL. 25 Capí ulo 4. Análisis del sis ema En es e capí ulo desc ibi emos los equisi os uncionales y no uncionales del sis ema, así como la de inición de casos de uso. 4.1. Roles del sis ema En el sis ema se han de inido una se ie de pe iles que se di e encian gene almen e en los p i ilegios de acceso que es os usua ios engan de inido. Cuando hablamos de p i ilegios de acceso, nos e e imos a los pe misos que iene un usua io pa a u iliza las di e en es uncionalidades que el sis ema nos o ece. Los pe iles que se han de inido son los siguien es:  Súpe Adminis ado  Adminis ado  Usua io no mal o sin p i ilegios 4.2. Requisi os Funcionales RF-001 Regis o Cualquie usua io pod á egis a se en el sis ema. Pa a ello debe á u iliza un nomb e de usua io que no se encuen e egis ado p e iamen e, así como un co eo que no se encuen e dado de al a. Po de ec o, el usua io no end á el pe il de “Súpe Adminis ado ” ni de “Adminis ado ”, si no que end á el pe il de usua io no mal o sin p i ilegios. RF-002 Login Pa a accede al sis ema se eque i á de un con ol de acceso median e un iden i icado de usua io y cla e. Dicha cla e se á almacenada en la base de da os a a és de PHP, usando un algo i mo de hash de único sen ido. 32 4.4.5. Edi a Luga Tu ís ico Nomb e Edi a Luga Tu ís ico Desc ipción Edi a las ca ac e ís icas de un luga u ís ico P e- condiciones El usua io debe de habe iniciado sesión en el sis ema Requisi os Debe exis i al menos un elemen o u ís ico de inido No pueden exis i dos luga es con el mismo nomb e o ubicación Requisi o uncional que cumple RF-006 Edi a Luga Tu ís ico Ac o es Usua ios con el pe il de “Súpe Adminis ado ” o “Adminis ado ” Figu a 4.4.5. Caso de uso Edi a Luga Tu ís ico 33 4.4.6. Ges iona Ca ego ías Nomb e Ges iona Ca ego ías Desc ipción C ea , busca , edi a y elimina ca ego ías del sis ema P e- condiciones El usua io debe de habe iniciado sesión en el sis ema Requisi os Debe exis i al menos una ca ego ía de inida No pueden exis i dos ca ego ías con el mismo nomb e Requisi o uncional que cumple RF-007 Ges iona Ca ego ías Ac o es Usua ios con el pe il de “Súpe Adminis ado ” o “Adminis ado ” Figu a 4.4.6. Caso de uso Ges iona Ca ego ías 34 4.4.7. Ges iona Usua ios Nomb e Ges iona Usua ios Desc ipción Busca , elimina , concede pe il de “Adminis ado ” o concede pe il de “Usua io no mal” a cualquie usua ios que no engan el pe il de “Súpe Adminis ado ” P e- condiciones El usua io debe de habe iniciado sesión en el sis ema Requisi os Debe exis i al menos un usua io con el pe il de “Adminis ado ” o “Usua io no mal” Requisi o uncional que cumple RF-008 Ges iona Usua ios Ac o es Usua ios con el pe il de “Súpe Adminis ado ” Figu a 4.4.7. Caso de uso Ges iona Usua ios 35 4.4.8. Mi Pe il Nomb e Mi Pe il Desc ipción Modi ica da os pe sonales y con aseña de acceso del usua io en sesión P e- condiciones El usua io debe de habe iniciado sesión en el sis ema Requisi os Requisi o uncional que cumple RF-009 Pe il Ac o es Cualquie usua io egis ado Figu a 4.4.8. Caso de uso Pe il 4.4.9. Ce a sesión Nomb e Ce a sesión Desc ipción Desconexión del sis ema P e- condiciones El usua io debe de habe iniciado sesión en el sis ema Requisi os Requisi o uncional que cumple RF-010 Ce a sesión Ac o es Cualquie usua io egis ado 36 Figu a 4.4.9. Caso de uso ce a sesión 37 Capí ulo 5. Modelado e Implemen ación del Sis ema En es e capí ulo indica emos los diag amas de secuencia que se han de inido pa a cada caso de uso, se desc ibi á la base de da os que usa á el sis ema y cómo se calculan las u as u ís icas in e namen e. 5.1. Diag amas de Secuencia Pa a cada uno de los casos de uso que se han de inido, se ha c eado un diag ama de secuencia, donde se mues a de o ma isual como es la in e acción del usua io an e las di e en es pa es del sis ema que nos pod emos encon a . Figu a 5.1.1. Diag ama de secuencia de Regis o 38 Figu a 5.1.2. Diag ama de secuencia de Login Figu a 5.1.3. Diag ama de secuencia de Ges iona Ru as 39 Figu a 5.1.4. Diag ama de secuencia de Nue o Luga 40 Figu a 5.1.5. Diag ama de secuencia de Edi a Luga es 41 Figu a 5.1.6. Diag amas de secuencia de Edición y c eación de una ca ego ía 48 o Desc ipción: Campo de ex o que con iene una desc ipción del luga u ís ico. El amaño máximo de la desc ipción de á de 4.294.967.295 ca ac e es. o Ca ego ía: Cla e o ánea a la abla Ca ego ías, indica el idCa ego ía al que pe enece el luga u ís ico. o La i ud y Longi ud: Como su nomb e indica, man iene la in o mación de la la i ud y la longi ud donde se encuen a si uado el luga u ís ico. El amaño máximo pa a ambos campos es de 80 ca ac e es. 5.2.2.4. Tabla Ho a ios La abla Ho a ios con iene in o mación ace ca de la ape u a de un luga u ís ico pa a cada día de la semana, conc e amen e los campos que con iene se de inen a con inuación. o idLuga : Valo en e o que indica el idLuga al que pe enece el ho a io de inido. o DiaSemana: Con end á un alo de ex o, donde se indica á el día de la semana al que co esponde el ho a io. Es os días se án especi icados en inglés (Monday, Thuesday, Wednesday,…, Sunday). o Ape u a: Con iene el alo Sí o el alo No, dependiendo si el día de la semana al que pe enezca es á abie o el luga u ís ico o no lo es á. o Ho aApe u a: Con iene la ho a en la que el luga u ís ico es a á abie o pa a la disposición al público. Pod á se un alo nulo dependiendo si el día pa a el que se de ina la ho a de ape u a no es á abie o el luga u ís ico. o Ho aCie e: Con iene la ho a en la que el luga u ís ico es a á ce ado pa a la disposición al público. Pod á se un alo nulo dependiendo si el día pa a el que se de ina la ho a de cie e no es á abie o el luga u ís ico. 49 Pa a la inicialización y con igu ación de la base de da os se p opo ciona á un sc ip llamado “inicializa BD.sql” que se enca ga á de es e p opósi o. 5.3. Cálculo de Ru as El cálculo de las u as u ís icas que nos o ece el sis ema se ges iona á de dos o mas di e en es, las cuales depende án del núme o de elemen os u ís icos que deseemos isi a . Si el núme o de elemen os plani icados en la u a es meno o igual a 8, se calcula án odas las posibles pe mu aciones de u as y se escoge á la que nos o ezca un mejo esul ado de odas ellas. Po o a pa e, si el núme o de elemen os que deseamos plani ica en nues a u a supe a a los 8 elemen os, end emos el p oblema que hab á algún momen o en el que no se pod án calcula odas las pe mu aciones de es os elemen os, debido a la g an can idad de combinaciones que se debe ían de compu a y la can idad de ecu sos ha dwa e que se necesi a ían pa a ello. En es e caso, lo que ha emos se á calcula á una se ie de pe mu aciones alea o ias que se conside en opo unas y se añadi á una nue a en ada que consis i á en i isi ando el luga más p óximo al que nos encon emos p e iamen e, comenzando desde el pun o de pa ida de la u a. De odas es as posibilidades de u as el sis ema nos o ece á la que conside e mejo . Pa a conside a que una u a es mejo que o a, se end án en cuen a los de alles que se desc iben a con inuación: 1. Cuan o mayo sea el núme o de luga es que podemos isi a en nues a u a mejo se á la u a. 2. En el caso de que dos u as con engan el mismo núme o de elemen os a isi a , se conside a á que la mejo u a es la que meno iempo pe dido enga, es deci , la u a que nos o ezca meno iempo de espe a pa a pode ealiza las isi as de los luga es u ís icos. 3. En el caso de que el iempo pe dido sea el mismo pa a ambas u as, se conside a á mejo u a la con enga mayo pun uación de elemen os u ís icos. 50 4. Si las dos u as p esen an la misma pun uación de luga es u ís icos, se conside a á mejo u a la que disponga de meno iempo andando en el eco ido hacia los luga es u ís icos. 5. Po úl imo, si el iempo andando es el mismo en ambas u as, se escoge á la p ime a u a que se haya calculado. Las dis ancias y du aciones pa a i caminando desde un luga u ís ico a o o se calculan a a és de pe iciones a Google Maps. Es as pe iciones se ha án una sola ez y sus esul ados se almacena án en una ma iz de amaño N x N, donde N es el núme o de elemen os u ís icos que engamos plani icados la u a u ís ica, de mane a que la posición de la ma iz pe enecien es a los índices [ i , j ] con i ≠ j, indica á la dis ancia y du ación pa a i caminando desde el luga i hacia el luga j. En el caso de que i = j, indica á la dis ancia y du ación pa a i caminando desde el pun o de pa ida de la u a hacia el luga u ís ico j. 51 Capí ulo 6. P uebas Pa a comp oba el co ec o uncionamien o de nues o sis ema, se ha c eado una se ie de p uebas uni a ias a a és de la he amien a llamada “Selenium IDE” [20] pa a comp oba los di e en es casos de uso que se han de inido en nues a aplicación. Conc e amen e se han ealizado las siguien es p uebas:  Regis o  Login  Calcula Ru a  C eación, edición y eliminación de una ca ego ía  Concede pe il Adminis ado , concede pe il usua io no mal y elimina un usua io  C eación, edición y eliminación de un luga u ís ico  Modi ica da os de pe il  Ce a sesión Se acili a á el conjun o de p uebas de inidas en el iche o “P uebas GRTM.side”. En la Figu a 6.1 podemos obse a la ejecución del es C ea Luga , el cual simula la c eación de un luga u ís ico en el sis ema. 52 Figu a 6.1. P ueba C ea Luga Tu ís ico 53 Capí ulo 7. Conclusiones y líneas u u as 7.1. Conclusiones El desa ollo de es e abajo inal de g ado nos ha pa ecido una idea bas an e buena, ya que debido a la g an can idad de u is as que nos encon amos dia iamen e po las calles de Málaga, pod emos omen a las isi as a luga es de in e és público dando la opo unidad de conoce la pa e más p o unda e his ó ica de nues a ciudad, acili ando las cos osas a eas que conlle an el plani ica una u a u ís ica. También se ha podido u iliza bas an es ecnologías que hemos is o a lo la go de la ca e a como ha sido el desa ollo web a a és de HTML, CSS y Ja aSc ip o el uso de MySQL pa a ges iona las bases de da os. Po o a pa e, se han ap endido nue as ecnologías como AJAX, a u iliza diseños esponsi e en el desa ollo de nues o sis ema web a a és de Boo s ap y al uso de mapas que nos o ece Google. Se han encon ado g andes di icul ados a la ho a de u iliza las API de Google Maps pa a ges iona las u as del sis ema debido a la eno me can idad de uncionalidades que nos o ece; pe o con paciencia y mucha p ác ica, se ha conseguido desa olla un sis ema in eg ando las me odologías de las que se han eque ido. 7.2. Líneas u u as En un p incipio, el desa ollo de es e T abajo Final de G ado es aba conside ado pa a que se ealiza a en g upo de al menos dos pe sonas, pe o al no se posible la c eación de es e y al dispone de un iempo limi ado pa a el desa ollo de la aplicación, hemos enido que disc epa uncionalidades del sis ema y cen a nos en las ca ac e ís icas p incipales que hagan que nues o sis ema uncione co ec amen e y cumpla los obje i os de inidos. Debido a es o, nos encon amos con algunas pa es del sis ema que se pod ían mejo a , como ambién añadi algunas ca ac e ís icas que lo hagan más a ac i o de ca a al usua io que la u ilice. 54 A con inuación, se de allan alguna de es as: o Implemen a un algo i mo de búsqueda que se enca gue de calcula la mejo u a u ís ica independien emen e del núme o de luga es que el usua io desee isi a . o Es ablece o o ipo de medios pa a ealiza las u as, como puede se el coche, el au obús o el en. o Es ablece un calenda io en el que se de inan los ho a ios de los luga es u ís icos en unción del día del mes. o In oduci u as de múl iples días, donde se pe mi a es ablece más de un día de u a. o Pe mi i ealiza una se ie de descansos den o de la u a. o Replan ea el sis ema pa a que enga en cuen a el sala io disponible po pa e del usua io y el cos e que supond ía ealiza la u a u ís ica. 55 Capí ulo 8. Bibliog a ías [1] Málaga Tu ismo. Recupe ado de h p://www.malaga u ismo.com/es/secciones/ u as/13 Accedido el 12 de sep iemb e de 2018. [2] Spain.In o. Recupe ado de h ps://www.spain.in o/es/que-quie es/ u as/ Accedido el 12 de sep iemb e de 2018. [3] España es cul u a. Recupe ado de h p://www.xn--espaaescul u a- nb.es/es/ emas/ u as/ Accedido el 12 de sep iemb e de 2018. [4] HTML. Recupe ado de h p://www.jun adeandalucia.es/a e oes/cen os- ic/14005663/hel ia/aula/a chi os/ eposi o io/0/164/h ml/h ml/manual_h ml.h ml Accedido el 28 de Sep iemb e de 2018. [5] CSS. Recupe ado de h ps://es.wikipedia.o g/wiki/Hoja_de_es ilos_en_cascada Accedido el 28 de Sep iemb e de 2018. [6] Ja aSc ip . Recupe ado de h ps://www.ja asc ip .com Accedido el 28 de sep iemb e de 2018. 56 [7] JQue y. Recupe ado de h ps://jque y.com/ Accedido el 28 de sep iemb e de 2018. [8] PHP. Recupe ado de h p://php.ne / Accedido el 28 de sep iemb e de 2018. [9] AJAX. Recupe ado de h ps://www.w3schools.com/js/js_ajax_in o.asp Accedido el 28 de sep iemb e de 2018. [10] Boo S ap. Recupe ado de h p://blog.ge boo s ap.com/ Accedido el 28 de sep iemb e de 2018). [11] Poppe . Recupe ado de h ps://poppe .js.o g/ Accedido el 28 de sep iemb e de 2018. [12] Google Maps API. Recupe ado de h ps://de elope s.google.com/maps/documen a ion/ja asc ip / u o ial Accedido el 28 de sep iemb e de 2018. 57 [13] Pla a o ma Cloud de Google. Recupe ado de h ps://console.cloud.google.com Accedido el 28 de sep iemb e de 2018. [14] Lib e ía Places de Google. Recupe ado de h ps://cloud.google.com/maps-pla o m/places/?apis=places Accedido el 28 de sep iemb e mayo de 2018. [15] MySQL. Recupe ado de h ps://www.mysql.com/ Accedido el 28 de sep iemb e de 2018. [16] XAMPP. Recupe ado de h ps://www.apache iends.o g/es/index.h ml Accedido el 28 de sep iemb e de 2018. [17] B acke s. Recupe ado de h p://b acke s.io/ Accedido el 28 de sep iemb e de 2018. [18] Ex ension PHP Sma Hin s. Recupe ado de h p://b acke s.dnba d.com/ex ension/mackenza.php-sma hin s Accedido el 28 de sep iemb e de 2018. 64 Figu a A.8: Bloqueo de ca ac e ís icas a a és del i ewall de Windows. Figu a A.9: Panel de con ol de XAMPP con se icios de Apache y MySQL iniciados. 65 Pa a comenza con el despliegue de la base de da os, u iliza emos la he amien a phpMyAdmin. Pa a ello, accede emos al na egado web e in oduci emos en la URL la di ección h p://localhos /phpmyadmin Figu a A.10: Página p incipal de phpMyAdmin Una ez es emos en la pan alla p incipal de phpMyAdmin, nos di igimos a la pes aña Impo a . Seleccionamos el iche o “inicializa BD.sql”, que es sc ip enca gado de c ea e inicializa la base de da os. Como conjun o de ca ac e es del a chi o u iliza emos la codi icación en u -8, que nos pe mi i á ep esen a cualquie ca ác e Unicode. Deja emos ma cada la opción que nos pe mi e la in e upción del sc ip si se p oduce algún e o al a a el sc ip de inicialización de la base de da os. Habili amos la e isión de las cla es o áneas y escogemos como o ma o del sc ip SQL. Como opciones especí icas al o ma o no habili a emos ninguna modalidad SQL compa ible especí ica. 66 Figu a A.11: Con igu ación de pa áme os en la impo ación de base de da os de phpMyAdmin Una ez ealizada la impo ación de la base de da os nos mos a á una en ana en la que nos indica in o mación de las consul as SQL ealizadas, al y como se mues a en la Figu a A.12. 67 Figu a A.12: Pa e de la In o mación ace ca de las consul as ealizadas en phpMyAdmin Po úl imo, amos a p ocede con el despliegue de la aplicación. Pa a ello nos di igimos a la u a de ins alación de XAMPP ( éase la Figu a A.3). Accedemos al di ec o io h docs y copiamos la ca pe a GRTM que se acili a en la aíz de dicho di ec o io. Figu a A.13: Despliegue de aplicación en XAMPP 68 Pa a comp oba que odo es á uncionando co ec amen e, pod emos accede desde el na egado web a a és de la di ección h p://localhos /GRTM, la cual nos edi igi á a la página de inicio de sesión de la aplicación. Figu a A.14: Login del sis ema 69 Apéndice B. Manual de usua io En es e apéndice se desc ibi án odas las uncionalidades que o ece nues a aplicación web, así como las di e en es is as que nos podemos encon a . Conc e amen e, el sis ema se compone de las siguien es is as:  Regis o  Login  Ca ego ías  Luga es  Ru as  Usua ios  Mi pe il En el sis ema se di e encian es pe iles de usua ios, los cuales co esponden con los p i ilegios que es os engan asignados:  Súpe Adminis ado .  Adminis ado .  Usua io no mal o sin p i ilegios. Po de ec o, los usua ios que se egis en en el sis ema se conside a án usua ios no males o sin p i ilegios. Los usua ios que pueden u iliza las di e en es is as se desc iben en sus espec i as de iniciones. B.1. Regis o Pa a pode u iliza la aplicación, debemos de c ea un nue o usua io en el sis ema, in oduciendo in o mación pe sonal como son el nomb e, apellidos, co eo elec ónico, nomb e de usua io y con aseña. 70 Figu a B.1.1: Vis a de egis o Una ez hemos in oducido los da os pe sonales de nues a nue a cuen a, pulsa emos sob e el bo ón “Regis a ”, pa a ealiza la pe ición de egis o. De es os da os pe sonales, cabe des aca que no pod emos egis a nos en el sis ema u ilizando un nomb e de usua io o co eo elec ónico que p e iamen e se encuen e de inido. También es obliga o io ellena odos los campos del o mula io. Es a is a puede se u ilizada po cualquie usua io. 71 Figu a B.1.2: Fallo p oducido en solici ud de egis o, co eo elec ónico exis en e en el sis ema Si el egis o ha sido sa is ac o io, el sis ema nos edi igi á a la is a p incipal de la ges ión de u as. B.2. Login La página de Login, es la enca gada de que un usua io que se encuen e egis ado en el sis ema pueda accede a es e, y u iliza las di e en es uncionalidades a las que enga p i ilegio. Conc e amen e, se compone de los campos nomb e de usua io y con aseña, los cuales son obliga o ios pa a pode inicia sesión. 72 Figu a B.2.1: Vis a de acceso al sis ema También se dispone del bo ón “Accede ”, que se á el enca gado de ealiza la pe ición de inicio al sis ema. Figu a B.2.2: Fallo p oducido en solici ud de inicio al sis ema, nomb e de usua io y con aseña obliga o ios. Si los da os in oducidos son co ec os, el sis ema nos edi igi á a la is a p incipal de la ges ión de u as. Cualquie usua io puede u iliza es a is a. 73 B.3. Ca ego ías Cuando amos a de ini un nue o elemen o u ís ico en el sis ema, es e debe pe enece obliga o iamen e a una ca ego ía. En es a página pod emos ges iona el CRUD de las ca ego ías de inidas en nues o sis ema:  C ea e: Pod emos añadi nue as ca ego ías.  Read: Se mos a á una abla de lec u a donde se mues an las ca ego ías exis en es en el sis ema. Además, se dispone de un buscado de ca ego ías.  Upda e: Pod emos modi ica cualquie ca ego ía que se encuen e de inida.  Dele e: Pod emos elimina cualquie ca ego ía que se encuen e de inida. Figu a B.3.1: Vis a de ges ión de ca ego ías A la ho a de c ea una ca ego ía, debemos de ene en cuen a de que no pod emos de ini una ca ego ía con el mismo nomb e que alguna de las ca ego ías que ya se encuen en de inidas en el sis ema. Pa a c ea una nue a ca ego ía u iliza emos el campo de ex o des inado pa a ello y pulsa emos sob e el bo ón “Añadi ”. 80  El ho a io de cie e debe se mayo al ho a io de ape u a, de mane a que solo se pod á de ini ho a ios que ayan desde las 00:00 ho as has a las 23:59 ho as del mismo día. Figu a B.4.1.2. Fallo al c ea nue o luga u ís ico, la ca ego ía es eque ida La ubicación del luga u ís ico puede se de inida de a ias o mas:  In oduciendo la di ección en el campo designado pa a ello (campo “Ubicación”, éase Figu a B.4.1.3), el cual mues a suge encias de di ecciones con o me es amos esc ibiendo en él. Una ez es ablecida la di ección pulsa emos sob e la lupa que encon a emos en la pa e de echa del campo “Ubicación” pa a que 81 se ac ualice la di ección isual del mapa de Google y las coo denadas en el sis ema o bien ha emos “in o” sob e dicho campo. Figu a B.4.1.3. Búsqueda del museo Picasso de Málaga a a és del campo Ubicación  Buscando la di ección de o ma isual a a és del mapa de Google que se acili a y pulsando sob e la ubicación que deseamos escoge . Au omá icamen e nos in oduci á la di ección de o ma ex ual en el campo des inado pa a ello y se ac ualiza á las coo denadas del sis ema. Si in en amos sali de las egiones de España se mos a á una ale a pa a indica nos que es amos saliendo de las egiones pe mi idas. Al pulsa el bo ón “Acep a ”, nos con igu a á una di ección au omá icamen e en el cen o de Málaga. 82 Figu a B.4.1.4. Ubicación isual en mapa de Google del museo Picasso de Málaga Figu a B.4.1.5. Ale a de egión es ingida Una ez cumplimen ado co ec amen e odos los campos del o mula io, pulsa emos sob e el bo ón “Añadi ” pa a c ea el nue o luga u ís ico. 83 Si ha sido posible añadi lo, el sis ema nos edi igi á a la is a “Edi a Luga es”, mos ando los luga es que engan coincidencias en nomb e con el nue o luga u ís ico de inido. Po o a pa e, si pulsamos sob e el bo ón “Vol e ”, se edi igi á al lis ado de luga es u ís icos de inidos en el sis ema, los cuales se mues an en la is a “Edi a Luga es”. Figu a B.4.1.6. Vis a “Edi a Luga es” después de añadi el luga u ís ico “Museo Picasso” B.4.2 Edi a Luga es Es a is a nos pe mi e edi a los luga es u ís icos exis en es del sis ema, así como el ho a io de isi as que es os engan de inidos. P incipalmen e cons a de un lis ado donde se mues a odos los luga es u ís icos, o eciéndonos la posibilidad de elimina los o edi a alguna de sus ca ac e ís icas. En es e lis ado se mues a pa e de la in o mación del luga u ís ico, conc e amen e mos a á el nomb e de la ca ego ía, du ación media de la isi a y la pun uación designada. 84 Figu a B.4.2.1. Vis a “Edi a Luga es” Al igual que en la is a de ca ego ías, dispond emos de un buscado pa a busca un luga u ís ico conc e o, in oduciendo pa e del nomb e, du ación media o pun uación de es e en el campo “Busca coincidencias”, de modo que con o me ayamos in oduciendo el alo a il a , se i á ac ualizando el con enido de la abla de luga es u ís icos incluyendo solamen e aquellos luga es que concue den con el alo in oducido en dicho campo. Figu a B.4.2.2. Campo Busca coincidencias Si que emos edi a un luga u ís ico, pulsa emos sob e el bo ón “Edi a ” que se encuen e de inido en la en ada del luga que deseemos edi a . Al pulsa sob e dicho bo ón, el sis ema nos edi igi á a una nue a is a, idén ica en es ilos y con enidos a la is a “Nue o Luga ”, con la di e encia de que, odos los campos del o mula io que componen dicha is a es a án ellenados con las ca ac e ís icas que el luga u ís ico enga de inido. 85 Figu a B.4.2.3. Vis a “Edi a Luga ”, edi ando el luga “La Alcazaba” O a de las di e encias que podemos encon a en es a is a espec o la is a “Nue o Luga ” es el bo ón “Deshace ”, el cual nos pe mi e es au a los alo es o iginales de las ca ac e ís icas del luga u ís ico que se hayan manipulado. Cabe des aca que pa a edi a un luga u ís ico debemos de ene en cuen a una se ie de ca ac e ís icas que coinciden con las que debemos ene en cuen a a la ho a de añadi un nue o luga u ís ico al sis ema, las cuales se desc iben en la Sección B.4.1. Po úl imo, podemos elimina un luga u ís ico exis en e en el sis ema. Pa a ello pulsa emos sob e el bo ón “Elimina ” que se encuen e de inido en la en ada del luga que deseemos elimina . 86 Al pulsa sob e dicho bo ón, el sis ema nos mos a á una ale a en la que nos indica de que, si eliminamos un luga u ís ico, se elimina án odos los ho a ios que es e luga enga asociados. Figu a B.4.2.4. Ale a de eliminación de un luga u ís ico Si pulsamos sob e el bo ón “Acep a ”, se p ocede á a la eliminación del luga u ís ico y los ho a ios que es e enga de inidos; mien as que si pulsamos sob e el bo ón “Cancela ” se desca a án los cambios. Figu a B.4.2.5. Luga u ís ico “Museo Picasso” eliminado 87 B.5. Ru as u ís icas en Málaga Una ez engamos los luga es u ís icos de inidos con sus espec i os ho a ios y ca ego ías, en es a is a pod emos calcula una u a (si es posible) a endiendo di e en es con igu aciones po pa e del usua io, las cuales son obliga o ias y se desc iben a con inuación:  Día de salida y ho a io de u a. Pod emos selecciona el día de la semana que deseamos ealiza la u a u ís ica, así como el ho a io de inicio y inalización de es a. Po de ec o se ma ca á el día y la ho a co espondien es al momen o de acceso a la is a.  Pun o de pa ida. Pod emos selecciona el luga desde el que deseamos comenza la u a u ís ica. Po de ec o se escoge como coo denadas de salida el cen o de Málaga.  Luga es u ís icos. Pod emos selecciona los luga es u ís icos que deseamos isi a , con posibilidad de il a luga es que pe enezcan a una o a ias ca ego ías conc e as. 88 Figu a B.5.1. Vis a Ru as u ís icas en Málaga Los luga es se mos a án en paneles di e en es, de los cuales, el p ime panel se encon a á desplegado, mos ando desc ipción del luga y la du ación media que el usua io suele a da en ealiza la isi a al luga u ís ico. Los demás paneles apa ece án ocul os, con posibilidad de mos a los pulsando en el nomb e del luga . 89 Figu a B.5.2. Vis a Ru as u ís icas en Málaga, mos ando los luga es u ís icos que pe enecen a la ca ego ía “Monumen os His ó icos” Una ez seleccionado odos los da os necesa ios pa a c ea la u a, pulsa emos sob e el bo ón “Calcula Ru a”. Si es posible de ob ene una u a conside ando los da os que el usua io ha in oducido, se mos a á la u a calculada con las ano aciones necesa ias que indica án los pasos que debemos de segui , dando la posibilidad de Imp imi la u a o gua da la en PDF. 96 Figu a B.6.1. Vis a Usua ios Al igual que en la is a “Ca ego ías” y “Edi a Luga ”, en es a is a disponemos un buscado de coincidencias, donde pod emos in oduci el nomb e del usua io que deseamos busca , de modo que con o me ayamos in oduciendo el nomb e se i á ac ualizando el con enido de la abla de usua ios incluyendo solamen e aquellos usua ios que concue den en nomb e con el alo in oducido. Figu a B.6.2: Campo Busca coincidencias B.7. Pe il En es a is a pod emos modi ica nues os da os pe sonales, como son el nomb e, los apellidos y el co eo elec ónico. También end emos la posibilidad de cambia la con aseña de acceso, pe o no se á posible modi ica el nomb e de usua io. Si no que emos cambia la con aseña de acceso al sis ema, debe emos deja en blanco los campos e e en es al cambio de con aseña. Una ez modi icado los da os que deseemos de nues o pe il, pulsa emos sob e el bo ón “Edi a ”. 97 Figu a B.7.1. Vis a Pe il, as modi ica los da os del usua io co ec amen e Po o a pa e, si necesi amos es ablece los da os o iginales an e posibles cambios en los di e en es campos del o mula io, pulsa emos sob e el bo ón “Deshace ”. Cabe des aca que no se á posible u iliza una di ección de co eo elec ónico que se encuen e p e iamen e de inida en el sis ema. Figu a B.7.2. Fallo al edi a da os del usua io, co eo exis en e 98 B.8. Tiempo de sesión. El sis ema dispone de un iempo limi ado de sesión, de mane a que no pod emos cambia en e las di e en es páginas de nues o sis ema pasado 10 minu os pe manecido en cualquie página de es a, eniéndonos que iden i ica de nue o en el sis ema, excep uando la página de Login y de Regis o, que no se end án en cuen a el iempo de sesión ya que no exis i á ninguna sesión ac i a.