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.