SOL: Sis ema de Op imización Logís ica
pa a Banco de Alimen os de Mad id
SOL: Sys em o Op imized Logis ics
o BAM
Au o
En ique Miguel To ijos Gab iel
Di igido po
José Luis Vázquez Pole i
Cu so
2019 - 2020
T abajo de Fin de G ado
Ingenie ía del So wa e
Facul ad de In o má ica
Uni e sidad Complu ense de Mad id
Dedica o ia
A mi u o po escucha me y dedica me su iempo y expe iencia
en el p oyec o, a mis amigos po acompaña me siemp e, a mis
pad es po guia me y ayuda me a se quien soy, a mi cuñada
po su apoyo siemp e aleg e e incansable y a mi he mano po
enseña me lo que es se un in o má ico y no duda nunca de lo
que puedo alcanza .
Resumen
El Banco de Alimen os de Mad id (BAM) es una ONG que busca en ega alimen os a odos
los que no puedan comp a los. La o ganización iene mucho mo imien o de pe sonal ya que la g an
mayo ía son olun a ios, es o hace di ícil una ges ión in e na del Banco. Además no hacen mucho
dine o, el que consiguen, en la mayo ía de los casos po donaciones, lo u ilizan pa a comp a y
man ene alimen os pa a en ega los a la gen e que los necesi a, po eso sus equipos in o má icos
son an iguos y deben ene cuidado con las aplicaciones que ins alan en ellos, po cualquie incom-
pa ibilidad que pueda su gi .
El Sis ema de Op imización Logís ica pa a el Banco de Alimen os de Mad id (SOL-BAM) es
una solución a es e p oblema. La gen e se puede conec a a a és de un na egado y ges iona la
in o mación in e na que no con olaban ácilmen e. Es e Sis ema esuel e los siguien es p oblemas:
Conoce la asis encia de los olun a ios al Banco (no ienen un ho a io).
Rese a las salas de euniones que ienen pa a o ganiza se in e namen e o con o as emp esas.
Alguna o ma de comunica se en e los empleados y olun a ios y no i ica p oblemas a los
in o má icos.
O ganiza las isi as de colegios u o as en idades al Banco.
Todo es o lo con ola un se ido que ecibe odos es os da os, de es a mane a se puede usa
desde cualquie o denado independien emen e del sis ema ope a i o que enga ins alado.
Palab as Cla e
SOL-BAM, SOL, BAM, Banco, Alimen os, Volun a ios, CMS, Joomla, XAMPP
Abs ac
The Banco de Alimen os de Mad id (BAM) is a NGO ha seeks o deli e ood o anyone who
can’ a o d i . This o ganisa ion has a lo o changes in pe sonnel because he as majo i y o
hem a e olun ee s, making e y di icul managing he Bank’s in e nal p ocess. In addi ion o
his, hey don’ make much money, he one hey make, is used o buy mo e ood and keep i o
anyone who needs i , ha ’s why hei compu e equipmen is ou da ed and hey mus be ca e ul
wi h he applica ions hey ins all on i , o any incompa ibili y ha may a ise.
The Sys em o Op imized Logis ics o Banco de Alimen os de Mad id (SOL-BAM) is a solu ion
o his p oblem. People can connec h ough a b owse and manage all his in o ma ion ha wasn’
con olled e ec i ely be o e. This Sys em sol es he ollowing p oblems:
Know he a endance o olun ee s a he Bank ( hey don’ ha e a schedule).
Rese e he mee ing ooms hey ha e o o ganize hemsel es in e nally o wi h o he compa-
nies.
A way o comunica e be ween olun ee s and employees and no i y p oblems o he IT de-
pa men .
O ganise he isi s o schools o o he ins i u ions o he Bank.
E e y hing is con olled by a se e ha manage all he da a, his way SOL-BAM can be used
om any compu e ega dless o he sys em ins alled.
Key Wo ds
SOL-BAM, SOL, BAM, Bank, Food, Volun ee s, CMS, Joomla, XAMPP
Índice gene al
1. In oducción 1
1.1. In oduc ion......................................... 1
1.2. An eceden es ........................................ 2
1.3. Res icciones ........................................ 2
1.4. Obje i os .......................................... 3
1.5. Plande abajo....................................... 4
2. Cap u a de Requisi os 7
2.1. Ex acción de los equisi os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Requisi os uncionales ................................... 8
2.3. Requisi os écnicos..................................... 9
3. A qui ec u a del sis ema 11
3.1. Esquema de las he amien as seleccionadas . . . . . . . . . . . . . . . . . . . . . . . 11
3.2. Joomla............................................ 12
3.2.1. Ex ensionesdeJoomla............................... 14
3.3. Lenguajesdep og amación ................................ 20
3.4. XAMPPybasesdeda osSQL .............................. 20
3.5. Máquina i ual....................................... 21
4. Desa ollo 23
4.1. Inicio y ges ión de usua ios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2. Asis enciade olun a ios.................................. 25
4.3. Sis ema de ese as de salas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4. Mensaje íaen eusua ios ................................. 32
4.5. No i icacióndep oblemas ................................. 34
4.6. Con olde isi asalbanco................................. 37
4.7. Máquina i ual y conexión a in e ne . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.8. Ins ala la aplicación web en la máquina i ual . . . . . . . . . . . . . . . . . . . . . 40
4.9. P uebasFinales....................................... 42
5. Conclusiones 43
5.1. Conclusions......................................... 44
5.2. Reuniones con el BAM y la c onología del p oyec o . . . . . . . . . . . . . . . . . . . 45
5.3. Al e na i as a las ecnologías u ilizadas . . . . . . . . . . . . . . . . . . . . . . . . . 46
6
Capí ulo 2
Cap u a de Requisi os
Pa a escoge una a qui ec u a e icien e pa a el p oyec o, había que ecoge los equisi os del
Banco, an o los uncionales como los écnicos.
Con los equisi os uncionales se ecoge ían las necesidades que se debían cumpli , iden i icando
los obje i os del p oyec o, y con los écnicos pod íamos indaga en algunas es icciones que se
debían ene en cuen a pa a que el sis ema lo pudie a u iliza el Banco en sus o icinas.
En es e capí ulo se a a explica que p oceso se siguió pa a ex ae los equisi os y las euniones
que se u ie on pa a ello, después se explica an odos ellos, o ganizados po el ipo al que pe enecen.
2.1. Ex acción de los equisi os
Du an e las p ime as euniones con los esponsables del Banco se explica on algunas ecnologías
que u ilizaban y comen a on po encima su a qui ec u a pa a conoce la o ganización del Banco.
Explica on el p oceso in e no de la emp esa y el mo imien o de comida den o de la misma, cómo
pasaba de los donan es a los comedo es sociales y demás ins i uciones. La comida se man enía en sus
es an e ías y se igilaba su es ado pe iódicamen e pa a no en ega comida en malas condiciones.
Después se e isó el abajo en las o icinas, enseña on cómo se ponían en con ac o con donan es
y clien es y o ganizaban el in en a io. También explica on cómo hacían la nómina de los empleados
y cómo cambiaban los equipos de ec uosos.
Una ez que e mina on de explica odos es os p ocesos, se obse a on las pequeñas in e accio-
nes del día a día. Ellos apun aban pequeñas si uaciones que ocu ían y cualquie uncionalidad que
que ían que se incluye a y las compa ían en pos e io es euniones. Después de comunica las, se
e isaban indi idualmen e pa a encon a qué las p o ocaba, una ez que se de ec aba una posible
7
causa, se compa aba con el es o pa a asegu a la. Después se enseña on al Banco pa a con i ma
los p oblemas que p o ocaban esas incidencias y ellos a i ma on que es aban de acue do con la
lis a mos ada. Con es as causas, las uncionalidades y la explicación de los p ocesos se c ea on los
equisi os de la aplicación, y es os pe mi ie on edac a los obje i os a alcanza y las es icciones
a cumpli .
Se mos a on al Banco los obje i os y las es icciones que se ex aje on pa a que las alidasen
y así pode empeza con el diseño de la a qui ec u a.
2.2. Requisi os uncionales
Es os equisi os ecogían lo que se espe aba que esol ie a el sis ema, más a de se con i ie on
en los obje i os del p oyec o:
Conoce la asis encia de los olun a ios al Banco pa a pone se en con ac o con o a pe sona
si el que se buscaba no es aba ese día. Es a uncionalidad la pidió el Banco desde el p incipio.
Rese a las salas de euniones. Es e equisi o su gió po que en algunas euniones que se
man enían con el Banco algún olun a io en aba en la sala pensando que es aba acía. Es as
incidencias ambién su gie on en euniones con o as en idades.
Comunicación en e los empleados y olun a ios. Es e equisi o se pidió po que muchas eces
la gen e enía en silencio los elé onos y no se en e aban cuando alguien los llamaba, po lo
que los olun a ios empeza on a le an a se de su pues o pa a in o ma a o o compañe o.
Sis ema de no i icación de incidencias pa a los écnicos. Es e p oblema se de ec ó al es udia
el p oceso de epo a una incidencia. El p oceso o iginal consis ía en isi a el depa amen o
de IT e in o ma del allo. Si había pe sonal e a endían, pe o había ocasiones en las que no
había nadie.
O ganiza las isi as de colegios u o as en idades. Es a uncionalidad la pidió el Banco en julio
del 2020, su gió po que e isa on el his ó ico de isi as de la emp esa y un día se p esen a on
más de 100 pe sonas a conoce el Banco, una can idad que no se espe aba y que supe aba con
c eces el lími e es ablecido pa a o ganiza el abajo ese día sin complicaciones. Debido a la
echa en la que se pidió y que e a el equisi o menos alioso pa a la Fundación, ue conside ado
el menos impo an e.
Con odos es os equisi os implemen ados, se end ía una solución que cumpli ía con odos los
obje i os del p oyec o, pe o había que ene en cuen a los equisi os écnicos pa a que la aplicación
se pudie a ins ala en el Banco y uncionase sin p o oca nue as complicaciones.
8
2.3. Requisi os écnicos
Du an e las euniones se menciona on una se ie de es icciones que se debían ene en cuen a
pa a diseña la a qui ec u a del sis ema:
La aplicación debía pe mi i que se conec a an a ios usua ios a la ez desde dis in os equipos,
de es a mane a se pod ía accede a la in o mación gene al y se ac ualiza ía cualquie da o
impo an e que debie an sabe el es o sin que a ec ase al uncionamien o no mal del so wa e.
Los equipos desde los que se iba a accede al sis ema e an en su mayo ía an iguos y había
un iesgo de que dejasen de unciona co ec amen e. La aplicación debía delega lo menos
posible la ges ión de la in o mación en los equipos indi iduales pa a e i a pé didas de da os
en caso de cualquie p oblema.
El sis ema debía pe mi i inclui nue as uncionalidades sin necesidad de accede al código
uen e de la aplicación. Es e e a un equisi o muy impo an e pa a el Banco po que que ían
un sis ema que se pudie a ac ualiza en el u u o y que pudie a esol e cualquie p oblema
que su giese más adelan e.
El usua io obje i o e a muy mayo , la accesibilidad del sis ema enía que se lo más al a
posible.
La solución debía se lo más ba a a posible pa a usa la. Es e equisi o e a impo an e po que
el Banco no enía mucho dine o, dependía po comple o de las donaciones.
Con es as es icciones se podía diseña una aplicación que se adap a a a la o ganización del Banco,
po lo que se esol e ían los p oblemas que enían sin p o oca o os nue os.
9
10
Capí ulo 3
A qui ec u a del sis ema
An es de p og ama como al, había que pensa cómo iba a se la a qui ec u a de la aplicación.
Una ez que se u ie a un esquema del sis ema, se pod ía in es iga qué he amien as iban a se
necesa ias pa a implemen a lo.
Teniendo en cuen a los equisi os del p oyec o, se escogió implemen a un sis ema clien e-
se ido . Un sis ema así pe mi e cen aliza odo el p oceso del negocio en un solo equipo, los
usua ios se conec an a él y el se ido ges iona oda la in o mación. Es a a qui ec u a pe mi i ía
abs ae se de los equipos indi iduales y del sis ema que u ie an in eg ado, ya que los usua ios se
conec a ían a a és de un na egado web.
En es e capí ulo se a a explica las he amien as que o man pa e de la a qui ec u a del
p oyec o y el p oceso que se siguió pa a escoge cada una.
3.1. Esquema de las he amien as seleccionadas
Cuando se escogió la a qui ec u a que iba a u iliza el sis ema, se busca on dis in as he amien as
qué pe mi ie an diseña una página web. Se decidió u iliza un Con en Managemen Sys em (CMS)
ya que, con es e ipo de so wa e, se podía implemen a una aplicación que cumplie a odos los
equisi os uncionales y écnicos, en especial el del sis ema que pueda ac ualiza se ácilmen e con el
paso del iempo. El CMS que se escogió ue Joomla.
Dado que Joomla escuchaba las pe iciones de clien es desde un equipo conc e o, se decidió
p epa a una máquina i ual que aloja a la aplicación. El Banco enía un se icio de hos ing de
o a emp esa en el que podían man ene a ias máquinas, así que se comp obó con el Banco si
podían inclui una más y esul ó que sí podían inclui la sin aumen a el p ecio que ya pagaban.
Joomla es aba p og amado en php y podía u iliza Ja asc ip , un de alle a ene en cuen a pa a
cuando se necesi ase modi ica el uncionamien o de algún componen e de la aplicación. Po úl imo,
11
se necesi aba un ges o de bases de da os pa a con ola la in o mación que maneja ía el sis ema,
así que se incluyó XAMPP en la aplicación.
Figu a 3.1: Esquema de las he amien as u ilizadas en el sis ema
Con la explicación en al o ni el de la a qui ec u a del sis ema e minada, hay que explica en
de alle las he amien as que se han u ilizado a lo la go del p oyec o y po qué se escogie on.
3.2. Joomla
Es la he amien a más impo an e del p oyec o, se u ilizó pa a c ea y ges iona la aplicación
web. En la web o icial hay una ienda que o ece muchas ex ensiones c eadas po la comunidad,
es as añaden uncionalidades de odo ipo a una página web que se es é desa ollando. Joomla
y odas las ex ensiones g a ui as que es án en la ienda o icial ienen una licencia GNU Gene al
Public License (GPL), lo que signi ica que se pueden desca ga , usa , compa i y modi ica sin
ninguna es icción, incluso se puede ende un so wa e que se haya diseñado con ellas, sea una
ex ensión o una aplicación. En el desa ollo de SOL-BAM no se ha comp ado ninguna ex ensión
pa a implemen a el p oyec o. Se u ilizó es e CMS po que e a un so wa e sencillo de u iliza , e a
muy popula , luego si enía algún p oblema pod ía encon a alguna solución en in e ne ácilmen e
y po que e a lo bas an e lexible como pa a ins ala ex ensiones que modi icasen po comple o la
uncionalidad de la aplicación, luego end ía más opciones pa a implemen a los obje i os.
Una aplicación de Joomla se o ganiza en 2 secciones, el on end y el backend. El on end es
lo que suelen e odos los usua ios, en él se mues an odas las uncionalidades a las que se quie e
que acceda cualquie a en un uso no mal de la aplicación, los adminis ado es lo pueden modi ica
sin necesidad de einicia la máquina. El backend es la sección de la aplicación en la que se ges iona
oda la in o mación de la misma, en ella se pueden diseña páginas a las que se quie e que se acceda
12
desde el on end. Solo los adminis ado es pueden accede a es a sección.
Po de ec o, no odos los adminis ado es pueden ins ala y con igu a nue o so wa e, el único
que puede es el supe usua io, pe o los pe misos de cualquie usua io se pueden modi ica según lo
que se necesi e.
Las páginas en Joomla es án o madas po los siguien es elemen os:
Menús y Elemen os del menú: Un menú es un conjun o de enlaces que apun an a sus
elemen os. Un elemen o del menú es una página web de la aplicación, hay de muchos ipos en
unción del elemen o p incipal de la página, ya sea un a ículo o un módulo conc e o.
A ículos: Son documen os esc i os que pueden con ene ex o, imágenes, ablas, enlaces y
mucho más. Si en pa a mos a in o mación al usua io y que no enga ninguna in e acción
con ella. Si se quie e implemen a un blog en Joomla, es habi ual inclui muchos a ículos en
la página. En SOL-BAM solo hay un a ículo, es á en la página de inicio.
Módulos: Son elemen os más complejos, en la mayo ía de los casos o ecen algún ipo de
in e acción con el usua io, como un calenda io pa a ges iona e en os, un menú con enlaces
a o as páginas o un o mula io pa a egis a se. Cuando se ins ala una ex ensión que añade
una uncionalidad pa a un usua io en el on end, se es á ins alando un módulo nue o. Una
página no es á limi ada a un elemen o, se pueden inclui a ios módulos en páginas conc e as.
Figu a 3.2: Página web con el a ículo “Inicio”, un módulo de búsqueda y un menú
Pa a diseña una aplicación con es a he amien a, se necesi a un ges o de BBDD en u equi-
po. Después hay que c ea una ca pe a en un di ec o io conc e o del ges o , desca ga Joomla y
descomp imi lo en dicha ca pe a. En XAMPP el di ec o io po de ec o es “h docs” en la aíz, en
WampSe e , es la ca pe a “www”.
13
Figu a 3.3: La aplicación web “sol” en h docs en XAMPP
3.2.1. Ex ensiones de Joomla
Pa a implemen a los obje i os del p oyec o, se busca on ex ensiones en la ienda o icial de
Joomla du an e el desa ollo. An es de ins ala una ex ensión se inspeccionaba la demo de la ienda,
si enía, y se e isaba su documen ación pa a en ende qué incluía y cómo usa lo, pe o en algunos
casos daban p oblemas en el equipo ins alado (incompa ibilidades con o as ex ensiones ins aladas,
e o es de pa es del código que no uncionaban, ...), en esos casos se desins alaban y buscaban
o as. En es e apa ado solo se menciona las que se u ilizan en la e sión inal del p oyec o.
La plan illa as002057: Una plan illa de Joomla pe mi e cambia el aspec o isual de la
página web en el on end o el backend. Po de ec o hay 2 plan illas pa a el on end y 2 pa a
el backend, pe o se pueden desca ga más. La plan illa as002057 modi ica el on end. Es á
diseñada con un amewo k de Boo s ap que pe mi e es uc u a los elemen os de la página
en la cabece a, el cue po o el pie de página. Además el cue po se es uc u a en 3 columnas,
aunque la e sión de pago iene más.
Se escogió es a plan illa po que enía un es ilo pa ecido al BAM, onos azules sob e blancos, y
pe mi ía diseña las páginas con comodidad g acias a la dis ibución de posiciones que o ece.
14
(a) Cap u a de la demo o icial
(b) Ejemplo cabece a SOL-BAM
Figu a 3.4: Plan illa del p oyec o
AJAX Seach: Joomla o ece un buscado po de ec o pa a las páginas del p oyec o. Es a
ex ensión pe mi e c ea un buscado que mues a los esul ados mien as el usua io es á
esc ibiendo en ez de ca ga una página conc e a con los esul ados. Lo u ilizan los usua ios
en el on end de la aplicación.
Figu a 3.5: Resul ado de una búsqueda con AJAX Sea ch
15
22
Capí ulo 4
Desa ollo
Una ez que se e minó de in es iga qué he amien as se iban a u iliza , se empezó el desa ollo
del p oyec o. En es e capí ulo se a a explica en de alle el p oceso del desa ollo del sis ema.
P ime o se implemen ó la aplicación web ya que e a el p oceso más impo an e y el que lle a ía
más iempo pa a e mina lo. Se desa olla on los equisi os uncionales de uno en uno, de al mane a
que no se a anzaba al siguien e has a que no se e minaba el ac ual.
Con la aplicación e minada y uncional, se p epa ó la máquina i ual y se asladó odo
el so wa e a ella, concluyendo con la implemen ación del p oyec o. Pa a con i ma el co ec o
uncionamien o de la aplicación, se ealiza on a ias p uebas del sis ema que se explica án al inal
del capí ulo.
4.1. Inicio y ges ión de usua ios
Al empeza el desa ollo se buscó la e sión segu a más a anzada de Joomla y se ins aló en el
equipo. Du an e la ins alación se escogió la opción de gene a unas páginas po de ec o, así había
un ejemplo comple o y uncional en la aplicación que pe mi i ía en ende el uncionamien o de la
he amien a en de alle. También se busca on u o iales en blogs de in e ne y pequeños cu sos en
You ube.
Figu a 4.1: Opciones de da os de ejemplo en la ins alación
23
El sis ema con la opción escogida con enía 2 páginas web de ejemplo, la p ime a e a un blog
con una gale ía de o os bas an e simple, mos aba cómo uncionaban los a ículos con a ias con i-
gu aciones y algún módulo conc e o como las gale ías, y la segunda simulaba una ienda online de
u a. Es e úl imo e a más complejo y enía a ios apa ados con módulos de odo ipo, además de
una plan illa di e en e pa a cambia el on end de la página. Cuando se en endió el uncionamien o
in e no de la he amien a, se bo a on los ejemplos y se empezó a desa olla la aplicación.
Pa a empeza , se decidió implemen a los usua ios y los oles que se iban a u iliza . Los oles que
se necesi aban en la aplicación e an “adminis ado es‘” pa a con ola lo odo, “usua ios no males”
que enían acceso a odas las uncionalidades de la aplicación y los “in o má icos” que podían
ges iona las no i icaciones de p oblemas de usua ios no males. En Joomla los usua ios no ienen
oles como al, o man pa e de uno o a ios g upos de usua ios a la ez con más o menos pe misos.
Pa a los 2 p ime os oles se decidió u iliza los g upos “Adminis a o ” y “Regis e ed” que ienen
po de ec o en el sis ema, pe o pa a los in o má icos se c eó un nue o g upo, “in o ma ico”, que
enía los mismos pe misos que un usua io no mal. Más adelan e se e isa ía es e ol y se modi ica ía
en unción de lo que se necesi a ía pa a las no i icaciones. Se deja on los demás g upos que es aban
po de ec o en el sis ema po si en el u u o el Banco los ue a a necesi a .
Figu a 4.2: G upos de usua ios
Mien as se hacían p uebas c eando usua ios y asignándoles g upos se de ec ó que, cuando se
quisie an inclui muchos usua ios a la ez, po ejemplo cuando se es é ins alando el sis ema po
p ime a ez, el p oceso iba a se muy pesado, así que se op ó po busca alguna o ma de inclui
muchos usua ios desde un iche o ex e no. Se encon a on muchas ex ensiones, pe o se decidió
u iliza J2XML y Use Impo e . Después de ins ala lo y p oba lo, se empezó a abaja en el
on end de la aplicación.
24
An es de empeza con los obje i os, se necesi aba busca qué plan illa se iba a u iliza pa a el
on end de la aplicación, así se pod ía p epa a la is a inal de cada uncionalidad mien as se
e minaban du an e el desa ollo. Mien as se e isaban las demos de las plan illas que se conside-
a on in e esan es, no pasó desape cibido un pequeño buscado que incluían algunas demos pa a
encon a páginas conc e as. Se conside ó una uncionalidad ex a muy in e esan e pa a el p oyec o,
así que op ó po inco po a la después de escoge la plan illa.
Con la plan illa ins alada y las p uebas de compa ibilidad con el sis ema p e io e minadas,
se p obó el buscado po de ec o de Joomla, pe o acabó siendo de poco alo po que mos aba
los esul ados en una página nue a, po lo que se buscó alguna ex ensión que pe mi ie a inclui
un buscado como el las demos isi adas. Cuando se encon ó una ex ensión con un buscado así,
AJAX Sea ch, se ins aló y se con i mó que no p o ocaba con lic os con ningún componen e p e io.
Después de con igu a odo se decidió c ea algunos a ículos de ejemplo y un menú pa a p epa a
una pequeña demo de la aplicación. Con la demo e minada, se ol ió a con ac a con el Banco
pa a ene una eunión y enseña los a ances.
Es a eunión se ealizó en julio del 2020 y en ella se mos ó la demo y los obje i os que se iban
a aba ca pa a que con i ma an que seguían siendo de in e és pa a el Banco. Al esponsable del
Banco le gus ó la p esen ación del so wa e, con i mó las uncionalidades que es aban ecogidas y
pidió añadi o a más, el sis ema pa a con ola las isi as del Banco. Indicó que es a uncionalidad
e a muy conc e a y que se iba a usa muchas menos eces que el es o, pe o que les end ía bien
un sis ema que con ola a esa pa e. Se explicó que se podía inco po a como el equisi o uncional
menos impo an e, pe o no había ce eza de pode implemen a lo a iempo. El esponsable es u o
de acue do y dejó cla o que si se podía hace pe ec o, pe o que p e e ían que el es o de obje i os
de la lis a es u ie an implemen ados an es. Con la eunión e minada, se con inuó desa ollando la
aplicación.
4.2. Asis encia de olun a ios
Es e apa ado del p oyec o esul ó se el más complicado del desa ollo po que se diseña on
a ias ideas pa a implemen a una solución al p oblema y se a dó mucho iempo en encon a una
opción iable.
Pa a conoce la asis encia de cada usua io, se pensó en que cada pe sona end ía dos ablas,
una que ep esen aba que días de la semana solía es a y la o a que indicaba los meses. Ambas
ablas debían se modi icables pa a ac ualiza la in o mación cuando el usua io quisie a y cada
campo debía ene 1 alo de 3, “Habi ual” que indicaba que e a a o que el usua io al a a en ese
momen o, “Duda”, que no siemp e es aba, y “No es oy”. Cualquie a podía indica que, po ejemplo,
no es aba en agos o ningún día pe o que el es o del año solía es a los ie nes. Con es a es uc u a
se podía gua da mucha in o mación de los olun a ios sin se muy in asi o, y si alguien que ía
ac ualiza su asis encia lo podía hace ápidamen e.
Se op ó po gua da es as ablas en los pe iles de cada usua io y que con el buscado se pudie an
encon a los pe iles de los demás, pe o se p oduje on 2 p oblemas g a es:
25
Se encon a on muchas ex ensiones que pe mi ían añadi campos al pe il de los usua ios,
pe o ninguna incluía una abla con ilas y columnas. Se podía soluciona incluyendo muchos
campos de ex o o una opción simila , pe o los pe iles se ían muy g andes y lo con e i ían
en un sis ema muy pesado de u iliza .
Los pe iles de los usua ios se a aban po de ec o como in o mación p i ada y solo se podía
accede al pe il del usua io conec ado. No se encon ó ninguna ex ensión que pe mi ie a hace
públicos los pe iles del sis ema.
Se encon ó una ex ensión que duplicaba los pe iles de Joomla de al mane a que se podían a a
como si ue a una ed social pa ecida a Facebook o Twi e . Es a ex ensión e a Communi y Builde
de Joomlapolis y o ecía a los usua ios la posibilidad de c ea pos s pa a que o os los ie an y
esc ibie an comen a ios, apa e de que las cuen as se podían hace públicas. Si bien es cie o que
es a ex ensión solucionaba uno de los p oblemas, ambién gene aba o os.
Con es a ex ensión no se podía gene a ablas en los pe iles, solo se podían gene a en un pos ,
po lo an o los adminis ado es debían con i ma que cada cuen a solo enía pos s con dichas ablas.
Además no había una o ma cla a de limi a los comen a ios en la aplicación y no se podía en ia
mensajes p i ados en e usua ios. Po úl imo, la ex ensión daba con lic os con la plan illa que se
es aba u ilizando. Se podía cambia la plan illa po o a, pe o nada asegu aba que o a plan illa
que no es u ie a diseñada po Joomlapolis uncionase, apa e de que apa en aba se un so wa e
muy complejo de maneja y lle a ía mucho iempo con igu a lo pa a hace lo que se necesi aba. Al
inal se desca ó la opción de los pe iles pa a gua da las ablas.
Figu a 4.3: Pe il de ejemplo de Joomlapolis
La siguien e opción que se conside ó ue gene a una página conc e a pa a cada usua io de al
mane a que solo el dueño pod ía edi a la. En es a ocasión no se encon ó un plugin que pe mi ie a
hace algo así, la única opción que había e a diseña la ex ensión manualmen e. An es de desca a
es a opción se buscó como se podía hace una ex ensión en in e ne y no e a un p oceso an sencillo
como se espe aba. Una ex ensión de Joomla debía segui una es uc u a de iche os y di ec o ios
conc e a pa a que el sis ema lo econocie a como un so wa e que podía ejecu a . Apa e del iempo
26
que lle a ía hace una ex ensión, se end ía que con ola como pod ía modi ica un usua io su
página, ya que, de no hace lo, pod ía habe cualquie cosa en la página en ez de las ablas. Po
es os mo i os, se desca ó es a opción y se empezó a busca o a.
La úl ima posibilidad que su gió ue diseña 2 páginas, cada una con una abla con la asis encia
de los pe iles del sis ema, odos los usua ios accede ían a las mismas páginas y solo pod ían
modi ica la ila de su pe il. Mien as se buscaba alguna ex ensión qué ges iona a ablas se encon ó
Cus om Tables, un plugin que pe mi ía diseña y con ola ablas de da os. Cuando se es u o
buscando documen ación de es a he amien a no se encon ó mucho, pe o lo que se io en la
demos ación e a muy in e esan e y los o os ges o es de ablas que se e isa on en la ienda o icial
enían menos opciones de edición en las is as, así que se op ó po es a ex ensión.
Se empezó diseñando la abla que gua daba los da os de la semana, la es uc u a de odas las
ablas iba a se casi igual sal ando que haya más o menos campos. Todas las ilas iban a ene un
usua io, se ía una cla e o ánea que apun a ía a los usua ios del sis ema y la cla e p incipal de la
abla, po lo que no se pod ía hace más de una ila que apun ase al mismo usua io. el es o se ían
campos de ex o, pe o se end ía que limi a sus posibles alo es de alguna o ma pa a que solo
pudie an se “Habi ual”, “Duda” y “No es oy”.
Figu a 4.4: Campos de la abla Semana
G an pa e de lo que se hizo en las ablas ue con las opciones que daba la ex ensión, pe o
se necesi aba cambia algunos de alles pa a que unciona a como se necesi aba, así que se decidió
busca la o ma de in oduci sc ip s de Ja asc ip pa a modi ica el uncionamien o de algunos
elemen os y un iche o CSS pa a pe sonaliza la is a. Como no había ninguna o ma de in oduci
algo así sal o modi icando la ex ensión, se decidió busca o as ex ensiones que pe mi ie an edi a
e inclui lo que se necesi aba.
Se u ilizó la ex ensión CSScon ig pa a modi ica algunos elemen os de las is as de la abla
con un edi o CSS que incluía la he amien a, po ejemplo, cambia el colo de los campos de las
ilas. Con la ex ensión JQue y Easy se pudo in oduci algunos sc ip s Ja asc ip pa a limi a las
opciones de los campos de ex o, gene ando un con enedo que sólo e a isible cuando se ponía el
27
a ón encima del campo que se que ía modi ica .
(a) Vis a de la abla modi icada con CSScon ig siendo un adminis ado
(b) Opciones del con enido con JQue y
Easy
Figu a 4.5: Modi icaciones con CSScon ig y JQue y Easy
Pa a e mina la abla de la semana, se enía que con igu a pa a que el usua io solo pudie a
modi ica su ila, sal o si e a un adminis ado . Cuando se empezó a implemen a esa pa e, se
descub ió que no se podía accede a la sesión desde un sc ip en Ja asc ip , po lo que se eque ía
algún o o componen e que accedie a a los da os que se necesi aban. Se buscó alguna ex ensión que
pe mi ie a gene a sc ip s en php y se encon ó el plugin Sou ce e . Con es a ex ensión se podía
in oduci código en o os módulos, así que se c eó un sc ip que accedie a a la sesión y gua da a la
in o mación que se necesi aba en una a iable. El sc ip Ja asc ip lee ía esa a iable y econoce ía
qué ila e a el usua io conec ado, impidiendo que se pudie an edi a o as ilas.
Figu a 4.6: Sc ip gene ado en un módulo con Sou ce e
28
Figu a 4.7: El usua io solo puede modi ica su ila
Cuando se e minó con la abla de asis encia de la semana, se empezó a diseña la de los
meses. Dado el esul ado en pan alla, se decidió sepa a la en 2 semes es, así se lee ía cómodamen e
el con enido de las celdas. Se impo a on los mismos sc ip s que había an es y se gene a on las
mismas plan illas con los campos de los meses. Lo único que se cambió espec o a la abla de la
semana es adonde apun aban los usua ios, apun aban a los de la semana. Es o se hizo así po que
en el Banco es aban más in e esados en la asis encia semanal, no se iba a da el caso de un usua io
que u ie a las asis encias de cada mes y no las de cada día. O o pun o a ene en cuen a es que el
bo ado de las ilas en es as ablas es en cascada, po lo an o si un olun a io dejaba de abaja
en el Banco, solo se end ía que bo a su ila de la semana.
(a) Tabla p ime semes e
(b) Tabla segundo semes e
Figu a 4.8: Tablas de asis encia de los meses
Al implemen a la asis encia en unas ablas gene ales a las que odos enían acceso, cualquie
miemb o del Banco podía comp oba ácilmen e qué compañe os iban a i un día conc e o, lo que
simpli icaba la plani icación de cualquie a ea y agilizaba el p oceso in e no de la Fundación.
4.3. Sis ema de ese as de salas
Con la ges ión de la asis encia de olun a ios del Banco e minada, se empezó a diseña el
sis ema pa a ese a salas de euniones.
29
Al p incipio se pensó en u iliza alguna ex ensión qué pe mi ie a hace ese as pa ecidas a las
que se ha ían en una biblio eca, un ho el o un alquile de cualquie ipo. Es os sis emas pe mi ían
que los clien es ie an qué p oduc os enía la emp esa y en qué echas es aban disponibles, después
se podían ese a pa a que nadie pudie a accede a ellos mien as los es aban u ilizando. Cuando
se buscó un so wa e así, se descub ió que Joomla enía muchas ex ensiones de es e ipo, ese as
de ho eles como Jom es, ges o es de en as de p opiedades como Ren alo o p és amos de con enido
mul imedia como MediaLib a y Basic. Si bien e a bueno que hubie an muchas ex ensiones en e
las que elegi , había un p oblema, odas ellas es aban cen adas en un ámbi o especí ico y, aunque
se podían usa pa a o os con ex os, hab ía que abaja de más pa a ajus a el so wa e y que
uncionase en el p oyec o. Un ejemplo e an los sis emas de los ho eles, en los que había un p oceso
po de ás pa a ges iona los pagos que no e a necesa io en el p oyec o, apa e del hecho de que no
se podía ese a una habi ación de un ho el pa a 1 ho a.
Figu a 4.9: Cap u a demo Jom es
Debido a la especi icación de es as he amien as, se op ó po busca una ex ensión más gené ica
que ges iona a cualquie ipo de e en o. Con un so wa e así se a a ían las euniones como e en os
conc e os que odos pod ían e desde la página web, pe o que solo el c eado de la eunión pod ía
modi ica o elimina .
Se encon ó una ex ensión, JE en s, que o ganizaba e en os en un calenda io. Es os e en os
podían ene una ca ego ía pa a dis ingui los de o os. Además, la documen ación e a muy ex ensa
y había acceso a odas las opciones de con igu ación en la e sión g a ui a, así que se ins aló en el
p oyec o.
30
An es de c ea e en os, se enía que cons ui un calenda io en el que se gua da ían. Mien as se
e isaban las con igu aciones, se encon ó la posibilidad de limi a que ipos de e en os se podían
gene a en cada calenda io. Con es a opción, se podía u iliza es a ex ensión en u u as implemen-
aciones de la aplicación, lo que aumen aba el alo del p oyec o. Se c eó la ca ego ía “ euniones” y
a ias subca ego ías de ejemplo que ep esen aban las salas que se podían ese a . Es o se diseñó
así pa a que, si un usua io no u ie a cla o que sala escoge , se le pod ía asigna a la eunión la
ca ego ía gene al y, más adelan e, modi ica la a una sala disponible.
(a) Con igu ación gene al (b) Ca ego ías pe mi idas
Figu a 4.10: Con igu ación de ca ego ías en el calenda io
En las subca ego ías se ac i ó una opción que e isaba que no hubie a con lic os de ho a ios de
euniones con la misma ca ego ía, así no hab ían a ias ese as de la misma sala a la misma ho a.
(a) Ca ego ías de las ese as (b) Opciones subca ego ías
Figu a 4.11: Subca ego ías de las ese as
Pa a e mina , se e isa on las plan illas po de ec o de los calenda ios, se escogió la más in e e-
san e y se ajus ó con CSScon ig pa a que man u ie a los onos que se u ilizaban en el es o de la
aplicación. También se añadió un í ulo a la página con una leyenda pa a que los usua ios pudie an
econoce las euniones po los colo es asignados.
31
(a) Ca ego ías inales del p oyec o
(b) Calenda io de isi as
Figu a 4.19: Ges ión de isi as al Banco
A pesa de que se a isó al Banco de que no había ce eza de pode implemen a es e obje i o,
se pudo hace ya que había una ex ensión que esol ía el p oblema ácilmen e. Con es e obje i o se
demues a la e ec i idad de la ex ensión ins alada y ea i ma el hecho de que la aplicación pod ía
inclui nue as uncionalidades en el u u o ácilmen e, cumpliendo uno de los equisi os écnicos
más impo an es del p oyec o.
4.7. Máquina i ual y conexión a in e ne
Con la aplicación web e minada, había que p epa a una máquina i ual que aloja a la aplica-
ción y escucha a las pe iciones de los clien es. Pa a ello había que c ea dicha máquina y con igu a la
pa a ene acceso a in e ne .
Al p incipio se op ó po u iliza una máquina con un sis ema Windows Se e , ya que uno de los
38
se ido es del Banco enía ins alado ese sis ema, pe o se acabó desca ando po que e a de pago. Se
decidió ins ala un sis ema Linux po que no cos aba nada ins ala lo o u iliza lo, pe o habían muchos
sis emas con es e ke nel y no se sabía con segu idad cual e a el más e icien e pa a el p oyec o. Se
e alua on a ios sis emas ope a i os y se compa a on las en ajas e incon enien es de cada uno,
llegando a la decisión de u iliza Ubun u Se e .
Se encon ó la página o icial de Ubun u en la que se podía desca ga el sis ema, pe o mien as se
buscaba dicha página se halló o a que o ecía imágenes de máquinas i uales con sis emas Linux
ins alados, odas las máquinas que se o ecían e an de código abie o. Es a página e a Osboxes,
y una de las máquinas que o ecía enía ins alado Ubun u Se e , la e sión 19.10. Es á imagen
es aba diseñada pa a impo a se en un ges o de MV especí ico, Vi ualBox. Debido a la expe iencia
p e ia con dicho ges o y que es aba la posibilidad de u iliza una máquina ya con igu ada pa a él,
se decidió inco po a lo al p oyec o con la máquina en cues ión.
Después de impo a se en el ges o , había que con igu a la máquina pa a ene acceso a in e -
ne . Mien as se buscaba una explicación pa a ealiza dicha con igu ación, se encon a on muchas
p egun as que a aban es e asun o en a ios o os, pe o hubo una p egun a que hacía e e encia
a la misma máquina que se es aba u ilizando en el p oyec o. Se siguie on los pasos que se indi-
caban en ella, se con igu ó la máquina en el Vi ualBox pa a u iliza un adap ado puen e con la
máquina ísica y se c eó un iche o en una di ección conc e a de la máquina i ual que indicaba la
in o mación necesa ia pa a econoce la ed como un acceso a in e ne .
Figu a 4.20: Fiche o de con igu ación de ed de la máquina i ual
Después de con igu a la ed y de con i ma el acceso a in e ne , se decidió ins ala una in e az
g á ica pa a la máquina. Se omó es a decisión po que los adminis ado es del Banco que iban a
ges iona la máquina no enían mucha expe iencia con un sis ema Linux, po lo an o una in e az
g á ica les pe mi i ía maneja la con más acilidad.
Se ins aló un paque e que ges ionaba in e aces g á icas y pe mi ía ins ala a ias en la máquina.
El paque e e a asksel, y en es e p oyec o solo se u ilizó pa a ins ala un ges o de in e aces, SLiM,
y una in e az, GNOME. Después de ins ala odos los paque es y iche os, se einició la máquina
y se con i mó que la in e az g á ica se es aba ejecu ando y que seguía eniendo acceso a la ed.
39
Figu a 4.21: Máquina i ual con la in e az g á ica
Después de con i ma el co ec o uncionamien o de la máquina, solo quedaba ins ala odo
el so wa e necesa io en ella y aslada la aplicación. Una ez que se hicie a es o, el sis ema ya
cumpli ía odos los equisi os uncionales y écnicos del p oyec o.
4.8. Ins ala la aplicación web en la máquina i ual
En es e pun o del desa ollo ya es aba e minada la implemen ación de los obje i os del p oyec o
y la con igu ación inicial de la máquina i ual, lo único que al aba e a p epa a la máquina con
la aplicación y hace las p uebas inales del p oyec o.
An es de aslada la página, se e isó su p esen ación y se mejo a on algunos elemen os que
se habían igno ado, como algún campo de ex o que es aba muy pegado a o o campo y de alles
simila es. También se e isó la máquina i ual y se cambió el ondo de esc i o io pa a man ene la
imagen de la emp esa.
Con odas los cambios es é icos e minados, se buscó la o ma de aslada el so wa e. P ime o
se ins aló XAMPP en la máquina i ual pa a ges iona la in o mación de la aplicación. Después
se subió la aplicación web y la BD a una ca pe a de Google D i e pa a accede a ellas desde la
máquina que las iba a aloja . Cuando se desca gó y se impo ó la BD, se p odujo un p oblema de
40
incompa ibilidad en el sis ema po que el iche o SQL e a de una e sión an e io a la ins alada.
Pa a soluciona lo se u ilizó el comando “mysql-upg ade” que o ece XAMPP en un sc ip apa e
pa a ac ualiza la BD al sis ema de la máquina. Con ese comando ejecu ado, se bo ó la BD en el
sis ema y se ol ió a impo a .
Figu a 4.22: Base de da os en la máquina i ual
Po úl imo , se impo ó la aplicación en la ca pe a “h docs” de XAMPP y se accedió al so wa e
desde el na egado pa a con i ma que la ins alación se había ealizado co ec amen e, sin emba go
se p oduje on unos p oblemas en el módulo de asis encia de olun a ios. E an debido a que los
sc ip s php gene ados c eaban iche os en el di ec o io “ mp” de la página cuando se ejecu aban y
el sis ema no pe mi ía gene a los. Pa a soluciona lo se die on pe misos de esc i u a en la ca pe a de
la página web, el di ec o io “ mp” y el di ec o io “logs”. Es e úl imo e a necesa io pa a ejecu a la
aplicación en modo depu ación y que se pudie an gua da los iche os con el egis o de la ejecución.
Figu a 4.23: Página web en el di ec o io “h docs” de la máquina i ual
41
Con odo el so wa e asladado a la máquina i ual y con igu ado pa a que se pudie a ejecu a
desde el na egado , solo al aba hace las p uebas inales del sis ema pa a con i ma el co ec o
uncionamien o de la aplicación.
4.9. P uebas Finales
Dado que e a una aplicación que se iba a u iliza desde muchos equipos con dis in os sis emas
y dis in os na egado es, había que hace unas p uebas de uncionamien o del so wa e.
Es as p uebas consis ie on en accede al sis ema y pode u iliza odas sus uncionalidades
sin p oblemas. La máquina i ual es aba con igu ada pa a que cualquie equipo conec ado a la
misma ed WiFi pudie a accede al sis ema, así que lo p ime o que se con i mó e a que la máquina
que es aba alojando la máquina i ual enía acceso desde el na egado . Los na egado es que se
u iliza on pa a las p uebas ue on Google Ch ome, Mic oso Edge y Mozilla Fi e ox, que e an los
na egado es más habi uales de la Fundación. Se accedió con una cuen a de un usua io no mal, con
un in o má ico y con un adminis ado y se u iliza on odos los módulos del sis ema pa a con i ma
su uncionamien o. También se accedió al backend con el adminis ado y con el supe usua io.
Cuando se e mina on las p uebas en la máquina que alojaba el se ido , se hicie on p uebas en
o os 3 disposi i os que ambién es aban conec ados a la misma ed. 2 de es os disposi i os enían
ins alado un sis ema Windows y el e ce o enía un Ubun u. Las p uebas ue on las mismas, se
accedie on con a ias cuen as y se con i mó la uncionalidad de ellas. Pa a e mina las, se simuló
una con e sación en e 2 usua ios de 2 equipos dis in os y ampoco se p oduje on p oblemas.
No se hizo ninguna p ueba más compleja como una p ueba de es és po que no se sabía la
a qui ec u a de los sis emas del Banco y cualquie p ueba de es e ipo de la página se ía en un equipo
di e en e, po lo que no se pod ía asegu a que los esul ados se epi ie an cuando se aslada an a
los se ido es del BAM.
Es as p uebas si ie on pa a con i ma que la aplicación uncionaba co ec amen e, se podía
accede a ella desde dis in os equipos y que podía sa is ace las necesidades del Banco de Alimen os
de Mad id.
42
Capí ulo 5
Conclusiones
Con el desa ollo del p oyec o e minado y la aplicación uncional, se cumplió el obje i o p in-
cipal del p oyec o, diseña un sis ema que ayude a los empleados y olun a ios del BAM con su
abajo en el día a día. La aplicación se puede u iliza a la ez desde dis in os equipos con na e-
gado es di e en es y se puede modi ica en el u u o pa a ecoge necesidades que su jan con su
uso.
En es e abajo se ha desa ollado un p oyec o so wa e que man iene las pau as de p oyec os
que se ealizan en emp esas en el ámbi o labo al, algunos de es os concep os no se habían ealizado
en la ca e a con es e ni el de de alle y ha sido una expe iencia nue a. Se u ie on muchas euniones
con el clien e de la aplicación, se es udió el uncionamien o in e no de su emp esa y se ex aje on
equisi os pa a ma ca las pau as del p oyec o y lo que se iba a aba ca , apa e de su pos e io
p esen ación al clien e, la jus i icación de po qué se hicie on las cosas cómo se hicie on y el eedback
pa a conoce qué pa es de la aplicación gus an más y qué pa es se deben mejo a y cómo hace lo.
También se ha ap endido que hay ac o es ex e nos que pueden a ec a al desa ollo de cual-
quie p oyec o, es necesa io iden i ica los pa a p epa a un plan de con ingencia y que no a ec en
nega i amen e al desa ollo, pe o pueden su gi e en os que no se alo a on. En es os casos hay
que diseña un plan en el momen o pa a co egi el umbo del p oyec o. En el caso del SOL-BAM
u o luga la c isis del Co id-19 y la cua en ena, que a ec a on al p oceso de desa ollo y a la
comunicación que se man enía con el clien e. Cuando se p odujo es e inciden e, se op ó po de e-
ne empo almen e el desa ollo y con inua lo más a de, apa e de modi ica la echa de en ega
p e is a a la con oca o ia de sep iemb e.
A pesa de las complicaciones que su gie on, se pudo p esen a la e sión inal del p oyec o al
BAM explicando qué necesidades se ecogie on y qué uncionalidades incluía la aplicación. Cuando
los esponsables del Banco ie on dicha e sión se mos a on complacidos con los esul ados y
edac a on una ca a en la que se ecoge su sa is acción con la aplicación.
Pa a conclui quie o ecalca el hecho de que es e p oyec o es un escena io eal en el que el
43
sis ema esuel e p oblemas eales y que el clien e acep a la p opues a mos ada, un hecho que me
llena de o gullo ya que he podido u iliza los concep os ap endidos en la ca e a pa a diseña algo
que puede ayuda a mucha gen e que necesi e de los se icios p es ados po el Banco.
5.1. Conclusions
Wi h he de elopmen o he p ojec inished and he applica ion comple ely unc ional, he
main objec i e o he p ojec was achie ed, design a sys em which could aid he employees and
olun ee s om BAM wi h hei wo k. The applica ion can be used a he same ime om di e en
compu e s wi h di e en web b owse s and can be upda ed in he u u e so i can mee needs a ising
om i s use.
In his hesis i has been de eloped a so wa e p ojec ha main ains he guidelines o o he
p ojec s ca ied by companies in hei business, some o he concep s used ha en’ been applied
du ing he deg ee wi h his de ail and ha e been a new expe ience. Many mee ings we e held
wi h he clien , he in e nal p ocess o he company was s udied and he equisi es o he p ojec
we e ex ac ed so ha he guidelines o he p ojec could be s ablished and se said p ojec in he
co ec way, apa om i s subsequen p esen a ion o he clien , he jus i ica ion o why e e y hing
was done he way hey we e and he eedback gi en so i could be known which pa s om he
applica ion we e app ecia ed and which o he needed o be imp o ed and how.
I has also been lea ned ha he e a e ex e nal ac o s ha can a ec he de elopmen o any
p ojec , hey need o be iden i ied in o de o p epa e a con ingency plan and s op hem be o e hey
hinde de elopmen , howe e he e may a ise e en s ha we en’ conside ed. In his ins ances i ’s
necessa y o design a plan on he spo o co ec he cou se o he p ojec . In he case o SOL-BAM
he Co id-19 c ysis and he qua an ine ook place, which hinde ed he de elopmen o he p ojec
and he communica ion wi h he clien . When his inciden happened, i was decided o empo a ily
s op he de elopmen and con inue i la e , apa om modi ying he deli e y da e o Sep embe .
E en wi h he obs acles ha a ose, he inal e sion o he p ojec could be p esen ed o BAM
explaining which needs we e ga he ed and which unc ionali ies we e included in he applica ion.
When he Bank’s ep esen a i es saw his e sion hey we e pleased wi h he esul s and d a ed a
le e exp essing hei sa is ac ion wi h he implemen a ion.
To conclude I would like o emphasize he ac ha his p ojec is a eal scena io in which he
sys em sol es eal p oblems and he clien accep s he p oposal shown, a ac ha ills me wi h
p ide since I ha e been able o use he concep s lea ned in he deg ee o design some hing ha can
help many people who need he se ices p o ided by he Bank.
44
5.2. Reuniones con el BAM y la c onología del p oyec o
En odas las euniones que se u ie on con el Banco de Alimen os de Mad id es aba D. Juan
An onio Alonso Poma eda, Di ec o de In o má ica, y g acias a su ayuda se pudo conoce el un-
cionamien o del Banco con mucho de alle y diseña un sis ema ú il pa a la Fundación.
En la p ime a eunión, en ab il del 2019, se enseñó una p opues a pa a op imiza el aspaso
de la comida de donan es a los clien es que la necesi aban, como comedo es sociales o iglesias. Esa
idea ue desca ada ápidamen e po que ya enían una aplicación pa a ello, sin emba go, el Di ec o
se mos ó dispues o a ene a ias euniones pa a explica el p oceso in e no del Banco y de ec a
cualquie p oblema que u ie an.
En es e pun o se busca on a ias me odologías pa a ges iona el abajo de la o ma más e icien e.
Teniendo en cuen a que se necesi aba ex ae odos los equisi os an es de segui con el es o del
p oyec o, se decidió u iliza una me odología en cascada o wa e all. Después de es a decisión,
empeza ía la ase de ex acción de los equisi os.
En las siguien es euniones, el Di ec o empezó explicando el p oceso de demanda de comida.
Tenían a ios comedo es sociales en la ciudad que se ponían en con ac o con ellos pa a pedi comida.
En muchos casos, los pedidos se epe ían mensualmen e, así que solo a isaban a la Fundación cuando
que ían modi ica el pedido de un mes conc e o. Con es o, el Banco sabía cuan a demanda enía
y podía o ganiza la comida que necesi aba. Cuando una pe sona indi idual se ponía en con ac o
con ellos pa a pedi comida, la edi igían a uno de los comedo es, así en ez de epa i comida a
indi iduos la epa ían a locales, simpli icando el p oceso de en ega y aho ando combus ible de
los camiones y iempo.
En cuan o a las donaciones de comida, el Banco in o maba a los donan es de pues os de ecogida
ce canos a su i ienda o de cualquie e en o p óximo en el que iban a ecoge alimen os. La g an
mayo ía de es os e en os o maban pa e de las Ope aciones Kilo que o ganizaban pe iódicamen e.
Pa e de las donaciones que ecibían e a dine o, po lo an o, cuando no alcanzaban la can idad de
comida necesa ia pa a sa is ace su demanda, podían comp a lo que necesi aban a emp esas como
Me cadona o Lidl.
También in en a on un sis ema pa a ecibi más dine o, “Apad ina una calle”, en la que una
emp esa pagaba una suma conc e a pa a que nomb a an una calle de los almacenes del Banco
con su nomb e y lo publica an en su página web, algunas emp esas que lo hicie on ue on Bankia,
Ca e ou y Google.
Una ez que se e minó con el p oceso in e no, en mayo, se empezó a e isa cómo con olaban
cada pa e del p oceso en las o icinas. Se e isó qué he amien as u ilizaban pa a la ges ión de los
almacenes, como se o ganizaban a los olun a ios y que p oblemas sucedían mien as hacían su
ac i idad no mal.
En oc ub e del 2019 se había e minado de ex ae odos los equisi os y había con i mación del
Banco de que es aban de acue do con la lis a mos ada. A pa i de es e pun o empezó la ase de
diseño de la a qui ec u a.
45
Todo el p oceso de selección de la a qui ec u a lle ó mucho iempo ya que se op a on po a ias
opciones. Se enía cla o que se necesi aba un sis ema cen alizado que p ocesa a odas las pe iciones
de clien es, pe o no es aba an cla o qué he amien as se iban a u iliza .
La p ime a opción ue diseña 2 aplicaciones, una en el clien e p og amada a mano con algún
lenguaje como Ja a o Py hon y o a en el se ido que escuchaba pe iciones HTTP con Ja asc ip o
php, pe o se desca ó ápidamen e po que lle a ía demasiado iempo hace un sis ema así, e a muy
p obable que u ie a allos g a es de segu idad y los equipos del Banco aba caban muchos sis emas
ope a i os que se enían que con ola .
Con el equisi o de los equipos del Banco, se enía que diseña un sis ema que p ocesa a odo
en el se ido y que el clien e solo en ia a y ecibie a in o mación, así que se pensó en diseña
un se ido con Sp ing, un amewo k que pe mi ía p og ama un se ido con Ja a y que enía
muchos p o ocolos desa ollados. Es e so wa e se iba a ap ende con de alle du an e el segundo
cua imes e del cu so, pe o no se sabía nada de él en el momen o, así que se enía que in es iga
du an e el p ime cua imes e pa a es a segu o de que ue a de u ilidad. También había o o
p oblema, la aplicación se ía de código ce ado y cualquie a que quisie a añadi una uncionalidad
nue a end ía que accede al código de la aplicación pa a modi ica la, si uación que no le in e esaba
al Banco.
La úl ima opción ue u iliza un CMS, e a un sis ema mucho más ácil de maneja y de ap ende ,
se u ilizaba en muchas emp esas pa a ges iona aplicaciones web y podía inclui nue as uncionali-
dades ácilmen e, luego e a pe ec o pa a el p oyec o. Se op ó po u iliza Joomla, se buscó que se
necesi aba pa a ins ala lo y algunos u o iales pa a ap ende a maneja lo.
En eb e o del 2020 se p esen ó la a qui ec u a al u o di ec o del p oyec o y, después de da
el is o bueno, se empezó con el desa ollo del p oyec o. Du an e es e mes se in en ó con ac a con
el Banco pa a in o ma les de la a qui ec u a de la solución, pe o no es aban disponibles. No cogían
el elé ono ni espondían a los co eos. Un mes después empezó la c isis del Co id-19.
Du an e es a c isis no se pudo abaja con el p oyec o debido a a ios p oblemas pe sonales,
así que el desa ollo se de u o empo almen e. En junio del 2020 se eanudó el abajo y, después
de insis i a ias eces, se ealizó una eunión con el Banco a inales de julio. En esa eunión se
mos ó un p o o ipo de la aplicación y se ol ie on a con i ma las es icciones.
Se implemen ó el es o del p oyec o du an e el mes de agos o, se ealiza on las p uebas inales
del sis ema y se enseñó una e sión uncional con odos los obje i os cumplidos al Banco en una
eunión elemá ica en sep iemb e. Los esponsables que es u ie on en la llamada se mos a on muy
sa is echos con lo que ie on y p epa a on una ca a pa a con i ma la e acidad del p oyec o.
5.3. Al e na i as a las ecnologías u ilizadas
Du an e el p oyec o se e alua on a ias ecnologías que pe mi i ían implemen a la aplicación.
Muchas de es as ecnologías se u iliza on al p incipio, pe o se acaba on desca ando po que daban
con lic os con los componen es p e ios o se p oducía o o ipo de p oblemas. Sin emba go, había
46
ecnologías que se e alua on y que no se u iliza on en ninguna pa e del desa ollo, simplemen e se
desca a on po una opción mejo .
Respec o al desa ollo de la aplicación web, solo se encon ó una opción álida pa a implemen-
a la, un sis ema CMS. En cuan o a qué sis ema conc e o, se op ó po u iliza Joomla, pe o habían
más CMS que podían habe la desa ollado:
Wo dP ess: Es o a he amien a simila que pe mi e gene a y ges iona aplicaciones web.
Wo dP ess e a el CMS más u ilizado en el momen o po que e a más ácil de u iliza y disponía
de más ex ensiones y plan illas, pe o se escogió Joomla po que enía una polí ica más lexible
con sus ex ensiones, lo que pe mi ía con igu a la página con mayo de alle y diseña una
solución más e ec i a pa a el Banco.
D upal: Es o o CMS menos popula que las opciones an e io es. La di e encia de D upal
espec o al es o e a su eno me po encial, pues es aba o ien ado a g andes aplicaciones sin
necesidad de muchas ex ensiones ex e nas. Se desca ó po que e a una he amien a muy po-
en e y la cu a de ap endizaje e a más compleja, y no es aba pensada pa a una aplicación
más pequeña.
Con el CMS se necesi aba un ges o de BBDD pa a con ola la in o mación que es aba en el
sis ema. De las opciones e aluadas, cualquie ges o podía se i , pe o se escogió XAMPP debido a
que se había abajado con él an e io men e. La o a opción ba ajada ue WampSe e , un ges o
simila que ambién podía con ola aplicaciones web.
Pa a la máquina i ual se e isa on a ios sis emas ope a i os que es u ie an o ien ados a
a ende las pe iciones de o os equipos. Todos los sis emas que se e alua on e an Linux po que e an
g a ui os. Si bien es cie o que se escogió Ubun u Se e po su acilidad de uso y su popula idad, lo
que p o ocaba que hubie an más o os en in e ne que soluciona an p oblemas en el sis ema, había
más opciones:
O acle Linux: Es un se ido diseñado po O acle. Se puede u iliza en muchos equipos
ha dwa e di e en es y es conocido po se muy e icien e en la ges ión de BBDD.
Fedo a: Es un sis ema o ien ado a usua ios que no ienen mucha expe iencia con Linux, pe o,
si la u ie an, pod ían con igu a lo en unción de lo que necesi en. Dispone de a ias in e aces
g á icas en unción de lo que busque el usua io, como GNOME o KDE.
Cen OS: Es uno de los se ido es más popula es pa a ges iona aplicaciones. Se c eó a pa i
de un sis ema Red Ha En e p ise Linux y o ece un en o no más es able que se ha ido
ac ualizando desde hace muchos años.
Respec o al ges o de la máquina i ual, había un so wa e que se i ía pa a el p oyec o,
VMwa e. No se u ilizó po que se había encon ado una imagen de una máquina i ual que es aba
diseñada pa a Vi ualBox.
47
Figu a A.1: Ca a de acep ación del BAM
54
Apéndice B
Manual de Usua io
Pa a u iliza la aplicación hay que desca ga el iche o con la ex ensión “.o a” en un equipo que
enga un ges o de máquinas i uales como Vi ualBox o VMwa e y segui los siguien es pasos:
1. Impo a el iche o en el ges o de máquinas i uales. No es necesa io modi ica la con igu-
ación de ed pa a ene acceso a in e ne , pe o si se quie e modi ica es esponsabilidad del
usua io. Se impo a á la máquina i ual y se pod á accede a la aplicación con ella.
2. Encende la máquina y accede al sis ema. El usua io de la máquina i ual es:
Nomb e de Usua io Con aseña
osboxes osboxes.o g
3. Cuando se ha encendido el equipo hay que ab i el e minal y ejecu a las siguien es ins uc-
ciones:
Figu a B.1: Ins ucciones en el e minal
55
La p ime a ins ucción enciende el se ido XAMPP, la segunda nos pe mi e sabe cual es
la IP de la máquina, se puede e en el “ine ” de la ed “enp0s3”, en la cap u a an e io es
“192.168.1.47”.
4. Ab i el na egado en un equipo que es é conec ado a la misma ed WiFi que el disposi i o
que es é alojando la máquina e in oduci una de es as di ecciones:
F on end Backend
h p://IP-Máquina-Vi ual/sol h p://IP-Máquina-Vi ual/sol/adminis a o
En la pa e “IP-Máquina-Vi ual” se in oduce la IP que apa eció en el paso 3, en el ejemplo
se ía “192.168.1.47”.
5. Necesi as in oduci un usua io en el sis ema pa a accede , es os son los que hay po de ec o:
Nomb e de Usua io Con aseña G upo P incipal
Paco paco Regis ado
Paco2 paco Regis ado
Paco3 paco3 Regis ado
Rosa osa Regis ado
Pepe pepe In o má ico
Admin admin Adminis ado
Supe use supe use Supe Usua io
Solo el adminis ado y el Supe usua io pueden accede al backend.
Si se a a u iliza el sis ema, se ecomienda cambia las con aseñas de los usua ios a o as más
segu as.
56