scieee Science in your language
[es] (orig)

Automatización de la gestión de la piscina de la UCM mediante Pista Virtual

Abstract

A pesar de la modernización de distintas áreas de las zonas deportivas de la Universidad Complutense de Madrid, no se ha modernizado la gestión de los accesos y reservas a las instalaciones. Sin embargo, en los últimos años se ha hecho un esfuerzo para que estas acciones puedan llevarse a cabo online a través de una aplicación móvil llamada Pista Virtual. En este contexto, en este trabajo de fin de grado presentamos una extensión de Pista Virtual a la gestión de las piscinas. La aplicación tiene varios módulos, nosotros hemos realizado la parte de la piscina de verano. En un principio iban a ser ambas piscinas, pero finalmente de la piscina de invierno no recibimos ningún requisito por lo que solo hemos implantado la piscina de verano. El módulo piscina está implementado con las tecnologías .NET y Xamarin, nuevas para nosotros en un primer momento. A día de hoy entendemos por qué Pista Virtual decidió desde un primer momento desarrollar la aplicación en C#, ya que el desarrollo multiplataforma da muchas facilidades para los distintos sistemas operativos (Android, iOS) que hoy en día son mayoritariamente utilizados. El resultado que hemos tenido de este Trabajo de Fin de Grado, es el módulo integrado en la aplicación. En él podemos tener dos roles, el de usuario o el de gestor. Para los usuarios la aplicación tiene una sección llamada Piscina en la que puedes comprar entradas para el acceso a la misma, la entrada se genera mediante un código BIDI que permite acceso al usuario para el uso y disfrute de la piscina. Para los gestores la aplicación tiene una sección llamada Entradas en la que seleccionan el día y les permiten escanear los códigos BIDI y así poder dar acceso a los distintos usuarios a la piscina.

Read accessible full text

Automatización de la gestión de la piscina de la UCM mediante Pista Virtual

Author: Martín Gutiérrez, Carlos; Ortiz Zamora, Patricia
Year: 2019
Source: https://docta.ucm.es/bitstreams/a7a098ba-6e6b-4d9d-a015-168fffa6119e/download
Au oma ización de la ges ión de la piscina
de la UCM median e Pis a Vi ual
T abajo de Fin de G ado en G ado en Ingenie ía del So wa e,
G ado en Ingenie ía In o má ica de la Facul ad de In o má ica,
Uni e sidad Complu ense de Mad id
Au o es:
Ca los Ma ín Gu ié ez.
Pa icia O iz Zamo a.
Di ec o : Ad ián Riesco
Índice
Resumen ........................................................................................................................................ 4
Summa y ....................................................................................................................................... 5
Ag adecimien os ........................................................................................................................... 6
Acknowledgemen s ....................................................................................................................... 7
1. In oducción .......................................................................................................................... 8
1.1. Mo i ación .................................................................................................................... 8
1.2. Obje i os ....................................................................................................................... 8
1.3. Plan de abajo .............................................................................................................. 9
1.4. Es uc u a de la memo ia. ............................................................................................. 9
2. In oduc ion ........................................................................................................................ 10
2.1. Mo i a ion ................................................................................................................... 10
2.2. Obje i es ..................................................................................................................... 11
2.3. Wo kplan ..................................................................................................................... 11
2.4. Memo y s uc u e ....................................................................................................... 12
3. P elimina es ........................................................................................................................ 12
3.1. Pis a Vi ual ................................................................................................................. 12
3.2. Tecnologías .................................................................................................................. 13
3.2.1. .NET ..................................................................................................................... 13
3.2.2. Xama in ............................................................................................................... 13
3.3. Visual S udio ................................................................................................................ 14
3.4. Licencias ...................................................................................................................... 14
4. Requisi os ............................................................................................................................ 15
4.1. Requisi os Iniciales ...................................................................................................... 15
4.2. Requisi os Pos e io es ................................................................................................. 17
4. Implemen ación .................................................................................................................. 19
4.1. Diseño .......................................................................................................................... 19
4.2. Explicación de la implemen ación. .............................................................................. 20
5. Manual de Usua io .............................................................................................................. 27
5.1. Aplicación Ges o ........................................................................................................ 28
5.2. Aplicación usua io ....................................................................................................... 30
6. Con ibución de los alumnos ............................................................................................... 35
6.1. Ca los ........................................................................................................................... 35
6.2. Pa icia ......................................................................................................................... 37
7. Conclusiones y abajo u u o ............................................................................................. 38
7.1. Conclusiones................................................................................................................ 39
7.2. T abajo u u o ............................................................................................................. 40
8. Conclusions and Fu u e wo k .............................................................................................. 40
8.1. Conclusions ................................................................................................................. 41
8.2. Fu u e Wo k ................................................................................................................ 42
Bibliog a ía .................................................................................................................................. 43
Resumen
A pesa de la mode nización de dis in as á eas de las zonas depo i as de la Uni e sidad
Complu ense de Mad id, no se ha mode nizado la ges ión de los accesos y ese as a las
ins alaciones. Sin emba go, en los úl imos años se ha hecho un es ue zo pa a que es as acciones
puedan lle a se a cabo online a a és de una aplicación mó il llamada Pis a Vi ual.
En es e con ex o, en es e abajo de in de g ado p esen amos una ex ensión de Pis a Vi ual a
la ges ión de las piscinas.
La aplicación iene a ios módulos, noso os hemos ealizado la pa e de la piscina de e ano.
En un p incipio iban a se ambas piscinas, pe o inalmen e de la piscina de in ie no no ecibimos
ningún equisi o po lo que solo hemos implan ado la piscina de e ano.
El módulo piscina es á implemen ado con las ecnologías .NET y Xama in, nue as pa a noso os
en un p ime momen o. A día de hoy en endemos po qué Pis a Vi ual decidió desde un p ime
momen o desa olla la aplicación en C#, ya que el desa ollo mul ipla a o ma da muchas
acilidades pa a los dis in os sis emas ope a i os (And oid, iOS) que hoy en día son
mayo i a iamen e u ilizados.
El esul ado que hemos enido de es e T abajo de Fin de G ado, es el módulo in eg ado en la
aplicación. En él podemos ene dos oles, el de usua io o el de ges o . Pa a los usua ios la
aplicación iene una sección llamada Piscina en la que puedes comp a en adas pa a el acceso
a la misma, la en ada se gene a median e un código BIDI que pe mi e acceso al usua io pa a el
uso y dis u e de la piscina. Pa a los ges o es la aplicación iene una sección llamada En adas
en la que seleccionan el día y les pe mi en escanea los códigos BIDI y así pode da acceso a los
dis in os usua ios a la piscina.
Palab as cla e: Pis a Vi ual, Piscina UCM, .NET, Xama in, C#, And oid, iOS, usua io, ges o ,
acceso, Código BIDI.
Summa y
Despi e he mode niza ion o di e en a eas o he spo s a eas o he Complu ense Uni e si y
o Mad id, he managemen o access and booking o he acili ies ha e no been mode nized.
Howe e , in ecen yea s an e o has been made so ha hese ac ions can be ca ied ou online
h ough a mobile applica ion called Pis a Vi ual.
In his con ex , in his end-o -deg ee p ojec we p esen an ex ension o Pis al Vi ual o he
managemen o swimming pools.
The applica ion has se e al modules, we ha e made pa o he summe pool. A i s hey we e
going o be bo h pools, bu a he end we did no ecei e any equi emen abou he Win e
pool so we only implemen ed he summe pool.
The pool module is implemen ed wi h .NET and Xama in echnologies, new o us a i s . Today
we unde s and why Pis a Vi ual decided om he i s momen o de elop he applica ion in
C#, since he mul ipla o m de elopmen gi es many acili ies o he di e en ope a ing
sys ems (And oid, iOS) ha oday a e mos ly used.
The esul we ha e had om his Final Deg ee P ojec is he module in eg a ed in he applica ion.
We can in ha e wo oles in i , he use and he manage . Fo he use s, he applica ion has a
sec ion called “Pool” whe e you can buy icke s o Access, he en y is gene a ed by a BIDI code
ha allows use s o en y he pool. Fo manage s he applica ion has a sec ion called “Ticke s”
in which he use s selec he day and allow hem o scan he BIDI codes and gi e access o he
di e en use s o he pool.
Keywo ds: Pis a Vi ual, Pool UCM, .NET, Xama in, C #, And oid, iOS, use , manage , access, BIDI
Code.

Ag adecimien os
En p ime luga que emos ag adece a nues o u o , Ad ián Riesco, el habe acep ado nues o
TFG, el habe es ado odo el cu so con noso os ayudando y anquilizándonos en los momen os
de mayo agobio. También que emos da las g acias al equipo de Pis a Vi ual, que siemp e nos
han ecibido con los b azos abie os en sus o icinas, y han es ado disponibles pa a ayuda nos
cuando lo hemos necesi ado, en especial que íamos ag adecé selo a Ra ael, que ha sido el que
más iempo ha es ado con noso os ayudándonos y explicándonos las dis in as ecnologías y
esol iéndonos cada duda que eníamos. Nos sen imos e dade amen e ealizados as habe
ap endido una ecnología nue a, que sin su ayuda no hubie a sido posible.
No nos que emos ol ida de nues a amilia y amigos que nos han es ado apoyando y mo i ando
a lo la go de odo el cu so, siemp e con una son isa y dándonos ánimos pa a consegui saca
es e p oyec o adelan e.
Acknowledgemen s
Fi s o all we wan o hank ou u o , Ad ián Riesco, o accep ing ou TFG, o being he whole
cou se wi h us helping us and eassu ing us in he momen s o g ea es load o wo k. We also
wan o hank he Pis a Vi ual eam, who ha e always welcomed us wi h open a ms in hei
o ices, and willing o help us when we needed i , especially we wan ed o hank Ra ael, who has
been he guy who has helped us he mos , explaining he di e en echnologies and esol ing
e e y doub we had. We eel uly ul illed a e ha ing lea ned a new echnology, which wi hou
hei help would no ha e been possible.
We do no wan o o ge abou ou amily and iends who ha e been suppo ing and
mo i a ing us h oughou he cou se, always wi h a smile and gi ing us encou agemen o ge
his p ojec o wa d
1. In oducción
En es a sección de es e T abajo de Fin de G ado p esen amos la mo i ación, los obje i os y el
plan de abajo. Po úl imo, desc ibimos la o ganización del es o de la memo ia.
La ges ión del acceso a las zonas depo i as en la UCM se quie e au oma iza poco a poco. Es a
au oma ización se es á ealizando median e una aplicación mó il llamada Pis a Vi ual. En
pa icula , en las piscinas, ienen una ges ión manual que alen iza el acceso a los usua ios y
di icul a la ges ión a los adminis ado es. En es e abajo p oponemos una ex ensión de Pis a
Vi ual que consis e en la en ada a la piscina de e ano median e la aplicación.
El acceso a la piscina de e ano de la Complu ense que ha habido has a aho a ha sido median e
la comp a de abonos en papel o de en adas indi iduales en la pue a de acceso. Pa a pode
pasa solo enías que p esen a un ca ne uni e si a io y paga en la pue a o da el bono.
Además, el a o o e a di ícil de con ola ya que no había un egis o de en as dia ias.
In oduci la piscina en Pis a Vi ual supone una ayuda pa a pode con ola el a o o, ya que la
aplicación no deja á ese a más en adas de las pe mi idas. Impedi que con un mismo abono
de la Complu ense pasen dos o más pe sonas, ya que un abono lo puedes u iliza una ez al día.
Tene con olado el acceso de usua ios an o que pe enecen a la Complu ense como los que
no y que los usua ios que accedan conozcan las no mas pa a pode dis u a de la piscina.
El módulo piscina en Pis a Vi ual ayuda a un a ance ecnológico en el acceso a la piscina ya que
con solo lle a el mó il puedes accede y paga en el momen o.
1.1. Mo i ación
Ayuda a la Complu ense a mejo a su sis ema de acceso a las piscinas ue una de las p incipales
mo i aciones de es e p oyec o. Cuando conocimos a Pis a Vi ual y nos o eció ealiza es e
p oyec o no pudimos deci que no ya que sabe que nues a aplicación a a u iliza se y a a es a
implan ada en el sis ema de la UCM de ca ác e más o menos inmedia o nos ha se ido como
mo i ación pa a hace el p oyec o y abaja con más ganas.
O o mo i o po el cuál elegimos colabo a con ellos ue ap ende un lenguaje nue o como es
.NET y Xama in.Fo ms, ya que es algo que a lo la go de la ca e a no hemos u ilizado y g acias a
que Pis a Vi ual es á implemen ada con es a ecnología hemos podido ap ende la y o ma nos
en un ámbi o que has a aho a no habíamos conocido.
In oduci Pis a Vi ual en la uni e sidad supone un a ance ecnológico ya que as años de colas
y espe as pa a accede a cualquie ins alación depo i a, g acias a es a aplicación solo necesi as
ene la en u mó il pa a pode ese a el acceso a cualquie a de ellas. Po es o mismo elegimos
una colabo ación con ellos pa a nues o TFG.
1.2. Obje i os
El obje i o p incipal de es e TFG es c ea una he amien a que pe mi a el acceso a las piscinas
de la Complu ense de una mane a más cómoda pa a los usua ios y mejo a la ges ión de la
piscina.
Es e p oyec o iene como obje i o la ealización del módulo pa a la au oma ización de la piscina,
es deci , el acceso a la piscina median e la aplicación. El p oyec o es á di idido en dos á eas
independien es, una pa a el abajado de la UCM que consis e en la lec u a de un código BIDI
pa a pe mi i el acceso a la piscina, y o a á ea pa a los usua ios (empleados, es udian es,
alumni) que consis e en la comp a de en adas o bonos pa a accede a la piscina median e la
gene ación de un código BIDI.
La o ganización del abajo se ha lle ado a cabo como sigue:
 In es igación y ap endizaje sob e la ecnología y del lenguaje que íbamos a u iliza .
 Ins alación del módulo de .NET en Visual S udio.
 Realiza las p ime as pan allas y p uebas pa a comenza a amilia iza nos con el
lenguaje.
 Desa ollo de la aplicación p e ia a los equisi os.
 In oducción de los equisi os en nues a aplicación.
 P uebas de uncionamien o y a eglo de los e o es.
 Adap ación de nues as in e aces a las de Pis a Vi ual u ilizando los es ilos que nos
die on.
 In eg ación del Módulo Piscina en la aplicación de Pis a Vi ual.
1.3. Plan de abajo
Du an e los p ime os meses nues o p incipal abajo ue amilia iza nos con el lenguaje y con
la ecnología que hemos es ado usando. Hicimos pequeñas in e aces que se conec aban las
unas con las o as y con un uncionamien o mínimo.
Comenzamos ealizando un pequeño menú como el que podemos e en nues o código, del
que poco a poco ue su giendo nues o modulo. Fuimos añadiendo uncionalidad a medida que
uimos isi ando a Pis a Vi ual y ap endiendo de los e o es que íbamos come iendo pa a no
ene los más adelan e.
A inales de ma zo La Complu ense nos dio sus equisi os, los añadimos en nues a aplicación y
comenzamos a i a Pis a Vi ual con bas an e más ecuencia pa a que nos indica an como
que ían las in e aces y nos soluciona an alguna duda que íbamos eniendo espec o a los
equisi os, ya que ellos han sido los que se han comunicado con la Complu ense en odo
momen o.
La semana p e ia a Semana San a, Pis a Vi ual nos dio sus in e aces y adap amos nues a
aplicación a los diseños que ellos nos pidie on.
En Semana San a hicimos la en ega del código al equipo de Pis a Vi ual pa a que hicie an la
in eg ación en la aplicación y la Complu ense pudie a p oba el código y los equisi os con
anquilidad de ca a a la ape u a de la piscina de e ano.
Después de Semana San a esc ibimos la memo ia.
1.4. Es uc u a de la memo ia.
El es o de la memo ia se es uc u a de la siguien e o ma:
 Tipo de En ada: Teniendo en cuen a los dos equisi os an e io es, especialmen e la
pe enencia a uno de los oles de inidos, podemos de ini el ipo de en ada a la piscina
el cual solo se puede ealiza de es únicas mane as:
o En ada Indi idual: En ada de un único uso y de alidez limi ada al día en que
se adquie e. Es e icke es comp ado en la misma en ada de las ins alaciones
siemp e que el a o o no se ea supe ado y puedas ac edi a u pe enencia a
uno de los oles de inidos p e iamen e. Una ez se abandonen las ins alaciones,
ese icke no pod á ol e a se u ilizado.
o En ada Abono 10: Abono de 10 en adas indi iduales y de alidez limi ada al
in de la empo ada de e ano. Es e abono ambién es adqui ido en la en ada
de las ins alaciones y queda á limi ado an o al a o o de la piscina como a la
ac edi ación de uno de los oles de inidos p e iamen e excluyendo al ol de
Alumno NO UCM el cual no end á acceso a es e ipo de en ada. Una ez se
abandonen las ins alaciones se debe á gas a o o uso del bono.
o En ada anual: Ta je a anual de acceso. Es e ipo de en ada ambién es á
di ec amen e elacionada con el a o o de las ins alaciones, así como con el ol
al que se pe enezca excluyendo al ol de Alumno NO UCM el cual no end á
acceso a es e ipo de en ada.
 P ecio: El p ecio de en ada depende an o del ol al que pe enezcas como del ipo de
en ada que se adquie a. La siguien e abla p esen a odas las combinaciones posibles
de oles y ipos de en adas.
Quedando los equisi os iniciales p e ios a la p ime a implemen ación de inidos,
podemos desc ibi el mé odo de en ada a la piscina:
 Encon ándose el usua io en la en ada de las ins alaciones, debe á
p esen a su abono anual al pe sonal allí p esen e, el cual le da ía acceso
inmedia o siemp e y cuando el a o o lo pe mi a. Si no dispone de abono
anual, debe á o bien comp a una en ada indi idual o un abono de 10 usos
(si no iene ya uno en su pode ). Una ez ealizada la adquisición
(cumpliendo siemp e los equisi os) el usua io pod á accede a las
ins alaciones.
Como se puede obse a , es e sis ema es bas an e udimen a io y an icuado, lo que p o oca
que enga ca encias de odos los ni eles como la inexac i ud del a o o al no se con olada la
salida de las ins alaciones o la posible o mación de colas pa a pode accede a la piscina. Incluso
pod ía llega a exis i la suplan ación de iden idad a la ho a de p esen a la ac edi ación que
INDIVIDUAL
ABONO 10
ABONO ANUAL
NO UCM
5€
-
-
UCM
4€
25€
50€
ALUMNI
4€
25€
75€
PERSONAL
4€
25€
30€

e i ica la pe enencia a cualquie a de los oles debido a que la exigencia que se obse ó en
es as si uaciones no e a de g an ni el.
4.2. Requisi os Pos e io es
Una ez concluimos con la obse ación del p oceso de en ada y conociendo los
equisi os p e ios exis en es, p ocedimos a con empla los casos de uso y equisi os de
la nue a implemen ación. Se de inie on dos casos de uso: ob ene icke y accede al
ecin o.
 Ob ene Ticke : El p esen e caso de uso pe mi e al usua io ob ene un icke de acceso
a la piscina a a és de la nue a aplicación.
La p econdición a ene en cuen a en es e p ime escena io es que el usua io es é
egis ado en la aplicación de Pis a Vi ual.
Flujo p incipal
1. El usua io se alida en el sis ema.
2. El sis ema comp ueba que ipo de descuen o iene el clien e en elación al ol al que
pe enece.
2.1. Si el clien e ya posee un ipo de en ada como un abono de 10 o un abono
anual, le pe mi e adqui i un icke a p ecio 0 €.
2.2. En caso de que el clien e no posea ningún ipo de abono, le pe mi e la
adquisición de un icke sencillo aplicando la a i a es ablecida en la abla en
elación a su ol.
3. Cuando el clien e aya a ealiza la adquisición de la en ada, se le o ece la
posibilidad de adqui i has a 2 icke s ex a pa a acompañan es.
3.1. El usua io debe á indica pa a cada en ada si los acompañan es es án
inculados a la UCM o no, asociándose así la co espondien e a i a a las
en adas ex a.
4. Se alida el núme o de icke s que el usua io es á solici ando y pos e io men e se
p ocede a su adquisición y al pago en su caso.
5. El sis ema con abiliza los icke s emi idos.
Flujos al e na i os
A. El sis ema no encuen a el usua io o no iene acceso a descuen os de ningún ipo.
I. Mues a un mensaje in o mado al usua io y le pe mi e el acceso como
usua io gene al.
B. El sis ema no iene disponibilidad de icke s a la en a, mos ando en es e caso un
mensaje in o mando al usua io que no exis en en adas pa a la echa seleccionada.
Las pos condiciones es ablecidas son: la disposición de uno o a ios icke s po pa e
del usua io que le pe mi en el acceso al ecin o y la no i icación de los icke s endidos.
Cabe deci que la adquisición de un icke es obliga o ia. Siemp e que se quie a accede
a la piscina. Es os icke s pueden ene un cos e de 0 € si se posee un abono anual o un
abono de 10 usos. El abono anual no es posible adqui i se a a és de la aplicación
(decisión del clien e) mien as que el abono de 10 usos sí lo es. En caso de no posee
ninguno de es os descuen os, siemp e se pod á adqui i un icke al p ecio es ablecido.
Al a a se de una p ime a especi icación de equisi os y de inición de caso de uso,
ambos lujos ue on modi icados con cie os de alles que mejo a on el p oceso de
adquisición de en adas. Es as modi icaciones ue on consul adas y ap obadas po el
clien e espe ando siemp e la idea inal del p oduc o.
En pa icula , la localización del ipo de descuen o asociado al usua io se ealiza á como
paso p e io a la comp a inal de las en adas y una ez localizado (si lo hubiese), si es e
ue a un abono de 10, se le es a ía un uso a dicho descuen o eliminándolo inalmen e
si es e se queda a sin usos. Se añadi á un lujo al e na i o al pun o A, limi ando al
usua io que ha accedido sin iden i icación a la comp a única de icke s de acceso
excluyéndolo de la comp a de abonos de 10 usos. Se añadi á un caso de uso pos e io ,
con emplado la comp a de un abono de 10 usos.
 Accede al ecin o: El p esen e caso de uso desc ibe el acceso del usua io a las
ins alaciones de la piscina.
Las p econdiciones pa a es e caso de uso son: La llegada del clien e a las
ins alaciones con el icke de acceso p e iamen e ob enido a a és de la aplicación,
el disposi i o de acceso/lec u a es á uncionando y no se pe mi e el acceso si se ha
llegado al a o o máximo.
Flujo p incipal
1. El usua io p esen a un código QR gene ado en la comp a del icke en e al disposi i o de
lec u a.
2. El sis ema comp ueba la alidez del icke p esen ado.
2.1. En caso de que el icke es é caducado (la adquisición de dicho icke es sólo álida
pa a el mismo día de la comp a) o sea in álido, mues a un mensaje isual y un sonido
de e o .
2.2. En caso de que el icke sea álido, si el usua io es pe sonal NO inculado a la UCM
mos a á un mensaje de acep ación emi iendo un sonido di e en e pa a que el
adminis ado del luga comp uebe su alidez.
2.3. En caso de que el icke sea álido, si el usua io es pe sonal inculado a la UCM mos a á
un mensaje de acep ación.
3. El sis ema aumen a en 1 la ocupación po cada icke álido p esen ado.
Flujos al e na i os
A. El sis ema no econoce como álido el icke p esen ado.
i. Mues a po pan alla un mensaje y emi e un a iso sono o in o mando del
esul ado e óneo, KO.
B. El sis ema ha alcanzado el lími e máximo del a o o.
ii. Mues a po pan alla un mensaje in o mando del lími e alcanzado
emi iendo un a iso sono o.
Las pos condiciones en es e caso son: la en ada del usua io al ecin o y la no i icación
del núme o de en adas que se p oducen.
Es impo an e ene en conside ación que en un p ime momen o se plan eó el sis ema
de acceso a a és de la aplicación con un código QR y unos o nos que con olasen
an o la en ada como la salida de las pe sonas, lle ando así un con eo exac o del a o o.
A pos e io i, el clien e nos comunicó la imposibilidad de ins ala los o nos.
Es o supuso el cambio en los lujos p incipales de los dos casos de uso an e io es. El
usua io ya no se encon a á con la imposibilidad de en a habiendo comp ado su icke
pa a ese día po un escena io de a o o máximo, ya que la comp a de en adas se limi a á
a ese mismo día con olando el a o o de la piscina en el mismo momen o de la comp a.
Po o o lado, al no pode con ola con los o nos la salida de los usua ios, es e con ol
de a o o queda á en manos del adminis ado de las ins alaciones disminuyendo
manualmen e el o o ac ual en el sis ema.
4. Implemen ación
En es e apa ado se a a explica el diseño y es uc u a comple a del aplica i o. En p ime
luga , se explica á la es uc u a gene al, clases, subclases, así como los plugins añadidos pa a
comple a la uncionalidad.
Como hemos explicado en la sección 2 de es a memo ia, se ha u ilizado es a ecnología
debido a la acilidad que plan ea a la ho a de implemen a código mul ipla a o ma. Es o nos
pe mi e desa olla el código básicamen e solo en un lenguaje combinado C# y Xaml pa a
odas las pla a o mas exis en es: IOS, And oid y UWP (Uni e sal Windows Pla o m). Cabe
menciona que en cie os casos sí que es necesa io especi ica y desa olla código pa a cada
pla a o ma debido a las di e encias en cie as ca ac e ís icas, como po ejemplo en las
no i icaciones o los pe misos, como po ejemplo el de la cáma a de o os [6].
4.1. Diseño
La es uc u a que se gene a cuando se c ea un p oyec o de Xama in es la siguien e:
Como se puede obse a se c ean 4 p oyec os. El p oyec o p incipal y donde se a a
desa olla la mayo pa e del código es en el p ime o, ModuloPiscina. Aquí es donde se
implemen a el código na i o, es deci , el código que a a se ú il pa a las 3 pla a o mas.
También se c ean o os 3 p oyec os con p opiedades especí icas de cada pla a o ma como
se ha comen ado en la in oducción de es e apa ado.
La es uc u a esul an e de ModuloPiscina es la siguien e:
En es a es uc u a se obse an a ias ca pe as pa a una mejo o ganización del p oyec o. Po
ejemplo, podemos di e encia en e la pa e de acceso a la piscina en la ca pe a En ada y la
pa e de con ol de acceso en Lec u aQR o la pa e de conexión del con enido isual y la lógica
en ViewModel o incluso un conjun o de clases básicas con a ibu os de iden i icación. Todas
ellas se án explicadas a con inuación.
4.2. Explicación de la implemen ación.
En la ca pe a de “Classes”, como comen amos an e io men e, encon amos clases simples
implemen adas en C# con a ibu os impo an es y de los cuales se a a hace uso en la pa e
isual.
Algunas clases son p opo cionadas po el equipo de Pis a Vi ual pa a acili a la in eg ación en
sus sis emas como po ejemplo la clase Descuen o. Es a clase ya es usada en su aplicación pa a
o os ipos de depo es y alquile de pis as, po an o nos pidie on que u iésemos de base es a
clase, la cual cuen a con a ibu os como Id_Descuen o, Nomb e Id_Ges o , Can idad, Fecha_Ini,
Fecha_Fin, e c., pa a la ealización de nues a aplicación.
En la pa e elacionada con los usua ios encon amos la clases Use en la cual se de inen los
a ibu os básicos a ene en cuen a en un usua io como el Nomb e, Apellidos, DNI… y o os
impo an es como son:
public i ual Lis <Descuen o> Descuen os { ge ; se ; }
public i ual Lis <En adas> His o icoEn adas { ge ; se ; }
Nos encon amos an e dos lis as de Descuen o y En adas las cuales an a pe mi i localiza ,
asigna y elimina un descuen o o una en ada al usua io co espondien e. Es as lis as son
inicializadas a a és de la clase Usua iosP ueba, la cual es la enca gada de inicializa los a ibu os
básicos de la clase Use y es as lis as an impo an es de la siguien e mane a
public class Usua iosP ueba
{
public s a ic Use Usua ioEs udian e() {
Use usua io = new Use
{
Id_Usua io = 1,
Nomb e = "ca los",
Apellidos = "ma in gu ie ez",
Email_P e e ido = "cama [email protected]",
Fecha_Nacimien o = new Da eTime(1995, 8, 14),
Sexo = ue,
DNI = "51229181T",
Descuen os = new Lis <Descuen o>(),
Ges o es = new Lis <Usua io_Ges o >(),
His o icoEn adas = new Lis <En adas>()
};
Usua io.Descuen os.Add(new Descuen o {
Id_Descuen o = 2,
Nomb e = "Abono de 10 usos",
Desc ipcion = "Es e bono de 10 baños es pa a uso indi idual, no
ans e ible. El uso de es e abono es a limi ado a usua ios de la UCM
mayo es de edad.",
P ecio = 25,
Num_Usos = 8,
Fecha_Inicio = Da eTime.Now,
});
usua io.His o icoEn adas.Add(new En adas(2.ToS ing(), usua io.Id_Usua io, 2,
9, new Da eTime(2009, 08, 25), new Da eTime(2018, 08, 26), null ));
e u n usua io;
}
}
La clase En a CódigoBidi se enca ga de gene a a a és del plugin ins alado
ZXingBa codeImageView [7]el código QR pa a el se icio de escane iden i ique una en ada. Se
ha ealizado de la siguien e mane a:
ba code = new ZXingBa codeImageView
{
Ho izon alOp ions = Layou Op ions.FillAndExpand,
Ve icalOp ions = Layou Op ions.FillAndExpand,
};
ba code.Ba codeFo ma = ZXing.Ba codeFo ma .QR_CODE;
ba code.Ba codeOp ions.Wid h = 250;
ba code.Ba codeOp ions.Heigh = 250;
ba code.Ba codeValue = id_usua io + " " + id_en ada + " " + id_descuen o + " " +
num_usos + “ ” + echa_adquisicion.ToSho Da eS ing() + " " +
echa_ in.ToSho Da eS ing();

Como se puede obse an en las 3 úl imas líneas de es e agmen o de código, a pa i de a ios
a ibu os de la clase En ada se iden i ica y se c ea el código QR el cual pod á se leído
pos e io men e y localiza así el ID del usua io al que pe enece, el p opio ID de la en ada, e c.
Además de la gene ación del código, mues a in o mación de in e és de la en ada.
La clase IQ CodeScanningSe ice es simplemen e una in e az enca gada de inicializa la
cáma a y el plugin enca gado de la lec u a de códigos QR.
public in e ace IQ CodeScanningSe ice
{
Task<s ing> ScanAsync();
}
Po úl imo, podemos de ini a las clases Acompanan esLis , Desc_Usua io y Usua io_Ges o
como clases de conexión an o pa a el con enido isual con la lógica como en e o as clases.
Po ejemplo Usua io_Ges o c ea una elación en e un usua io (Id_Usua io) y el ipo de ol al
que pe enece y Acompanan esLis nos p opo ciona a a és de un obje o de ipo En ada una
lis a de p ecios pa a los inculados a la UCM y los NO inculados lo cual cob a á sen ido en la
pa e isual.
Con inuamos con la ca pe a “En ada” en la cual se de inen las clases elacionadas con la pa e
del clien e a la ho a de ealiza la comp a, la ese a o acceso a las ins alaciones. En es a ca pe a
encon amos uno de los esquemas ca ac e ís icos de es e lenguaje, la conexión en e la lógica
en C# y la pa e isual en Xaml, un lenguaje basado en HTML y XML con cie os a ibu os que
nos pe mi en esa conexión. En la Imagen 2 se obse a el desglose de una página de con enido
(C# + Xaml). El esquema esul an e se ía el siguien e:
Cada una de es as páginas de con enido ep esen a una en ana en la aplicación mó il. A
con inuación, se explica án una a una odas es as páginas, su uncionalidad p incipal y alguna
e e encia al código en sí. Se explica án en o den de acceso a la aplicación.
En p ime luga , la página App es c eada au omá icamen e en un p oyec o de Xama in. Es la
página po de ec o que se c ea en el p oyec o na i o pa a pode lanza la aplicación. Como se
ha comen ado con an e io idad, enemos la pa e de con enido isual, y la pa e lógica en C#. A
con inuación, se mues a la pa e lógica App.Xaml.Cs:
namespace ModuloPiscina
{
public pa ial class App : Applica ion
{
public App()
{
Ini ializeComponen ();
MainPage = new Na iga ionPage(new MainPage());
}
}
}
En la cons uc o a se obse an dos líneas. La p ime a, Ini ializeComponen (), es una unción
in e na que pe mi e el lanzamien o del con enido isual de p opia página la cual amos a
encon a en el es o de páginas de con enido. La segunda, es la inicialización de la na egación
en e páginas que nos pe mi i á na ega en e las di e en es pa es de la aplicación.
A con inuación, el lujo de na egación con inua ía has a MainPage. En es a página ya podemos
deci que la pa e isual cob a impo ancia, si uando dos bo ones que an a di idi la pa e de
con ol de acceso y la pa e de en ada, comp a, e c. El código Xaml que encon amos en
MainPage.xaml es el siguien e:
<Con en Page xmlns="h p://xama in.com/schemas/2014/ o ms"
xmlns:x="h p://schemas.mic oso .com/win x/2009/xaml"
xmlns:local="cl -namespace:ModuloPiscina"
x:Class="ModuloPiscina.MainPage"
Ti le="PISCINAS UCM">
<S ackLayou >
<Bu on ClassId="usua io" Clicked="OnBu onClicked" S yle="{S a icResou ce
bo onS yle2} " Tex ="USUARIO" Ve icalOp ions="Cen e AndExpand"/>
<Bu on ClassId=" abajado " Clicked="OnBu onClicked"
S yle="{S a icResou ce bo onS yle2}" Tex ="TRABAJADOR"
Ve icalOp ions="Cen e AndExpand"/>
</S ackLayou >
</Con en Page>
Como se puede obse a , con la e ique a <Bu on> se c ean los dos bo ones que, con cie os
a ibu os de es ilo S yle, de con ol de acción Clicked, de iden i icación ClassId, o del ex o a
mos a Tex , quedan implemen ados. La uncionalidad de los bo ones se implemen a en la
pa e lógica de la página MainPage.xaml.cs donde a a és del alo o o gado al a ibu o Clicked,
el mé odo que ealiza la uncionalidad deseada es llamado y ejecu ado. Dicho mé odo
OnBu onClicked queda de inido de la siguien e mane a:
async oid OnBu onClicked(Objec sende , E en A gs e){
Bu on b n = (Bu on)sende ;
swi ch (b n.ClassId) {
case "usua io": awai Na iga ion.PushAsync(new P o ilePage()); b eak;
case " abajado ": awai Na iga ion.PushAsync(new Scanne Page()); b eak;
}
}
A a és de los a ibu os de iden i icación podemos con ola qué bo ón ha sido accionado y,
como consecuencia, su co espondien e acción a ealiza . Pa a ambos bo ones la acción se á
edi igi a las siguien es páginas en el lujo de na egación.
Con inuamos con P o ilePage donde se c ea á un lis ado de obje os de ipo Use con di e en es
descuen os y en adas que nos pe mi i á accede al pe il seleccionado. Es impo an e ecalca
que es e ipo de acceso se ha lle ado a cabo pa a la e sión o line ya que una ez in eg ada en
la aplicación de Pis a Vi ual, se ealiza á con los c edenciales de la base de da os de sus sis emas
y cuyos da os pe sonales como de con enido no se án ca gados de o ma manual y es á ica.
Una ez se ha accedido con uno de los usua ios de la lis a, nos si uamos en la pan alla p incipal
de la aplicación Fi s Page, donde se end á la posibilidad de ealiza las p incipales acciones y
uncionalidades del aplica i o. En la pa e isual de es a página, enemos los siguien es bo ones:
<S ackLayou G id.Row="2">
<Bu on ClassId="comp a En ada" S yle="{S a icResou ce bo onS yle2}"
Tex ="Comp a en ada" Clicked="Na iga ionBa Bu ons" />
<Bu on ClassId="comp a Bono" S yle="{S a icResou ce bo onS yle2}"
Tex ="Comp a bono" Clicked="Na iga ionBa Bu ons" />
<Bu on ClassId="misE en os" S yle="{S a icResou ce bo onS yle2}" Tex ="Mis
E en os" Clicked="Na iga ionBa Bu ons" />
</S ackLayou >
En el p ime o de ellos na ega emos has a la pan alla donde pod emos ese a una en ada
median e la unción Rese a En ada. P e iamen e a la na egación a es a página, se ealizan
a ias comp obaciones de cumplimien o de los equisi os p e ios especi icados en la sección 3,
como po ejemplo que el a o o no se haya supe ado o que el usua io ya haya ealizado 3 ese as
pa a el día ac ual, especi icación que se conc e ó en euniones pos e io es. Todas las posibles
opciones de e o y denegación de acción po incumplimien o de equisi os es án con oladas
po cuad os de diálogo que in o man al usua io de lo ocu ido.
Una ez nos si uamos en Rese a En ada, nos encon amos con una de las páginas más
complejas y con con enido del aplica i o. En es a página se o ece á al usua io ese a una
en ada pa a el día ac ual, así como las en adas pa a los posibles acompañan es, con un máximo
de 2. Es a uncionalidad se ealiza á a a és de una lis a de icke s donde el usua io pod á elegi
la inculación de sus acompañan es con la UCM debido al cambio de p ecio que implica. A su
ez, se mos a á dinámicamen e el p ecio de cada en ada y el p ecio o al a paga po el usua io.
Como se indica an e io men e, las en adas que el usua io pod á ese a queda án limi adas a
un máximo de 3.
<Lis View x:Name="acompanan esLis a" Sepa a o Colo ="Black">
<Lis View.I emTempla e>
<Da aTempla e >
<ViewCell Heigh ="70">
<Con en View>
<G id>
<G id.ColumnDe ini ions >
<ColumnDe ini ion Wid h="4.5*"/>
<ColumnDe ini ion Wid h="4.5*"/>
<ColumnDe ini ion Wid h="1*"/>
</G id.ColumnDe ini ions>
<Label G id.Column="0" Tex Colo ="Black"
Tex ="{Binding En ada.Id_en ada_S ing}"
Ho izon alOp ions="S a " >
</Label>
<Picke G id.Column="1" }" Wid hReques ="70"
Selec edI em="{Binding Valo Seleccionado
I emsSou ce="{Binding Valo esPicke }" Tex Colo ="Red"
Ti le="Pe enencia a la UCM" Ho izon alOp ions="/>
<Label x:Name="can idadIndi idual" G id.Column="2
Tex ="{Binding Can idad}" />
</G id>
</Con en View>
</ViewCell>
</Da aTempla e>
</Lis View.I emTempla e>
</Lis View>
Aquí se mues a pa e de Rese a En ada.xaml. La complejidad de es a clase no eside en la
pa e lógica, donde se suman can idades, se c ean obje os de ipo y se inse an da os en lis as
Descuen os o En adas, sino en la conexión y inculación (Binding) [8]de los da os de es as clases
con la pa e isual.
Como se obse a en el código an e io , es a conexión se hace a a és del a ibu o Binding,
donde el alo que oma hace e e encia al a ibu o de la clase que se es á ep esen ado. Si se
a a de una lis a como en es e caso Lis View, no es necesa io indica la clase a la que pe enecen
los alo es. Si hablamos de o as ep esen aciones como e ique as o cuad os de ex o, hab ía
que indica en la lógica en qué con ex o de inculación nos encon amos (BindingCon ex HACER
REFERENCIA o a ez) aunque ambién exis en casos donde se pod ía indica di ec amen e en la
pa e isual con a ibu os de e ique a como en los Picke o selec o es ( esal ado en e de).
Una ez ealizada la ese a, el lujo de na egación nos edi ecciona á a la lis a de en adas del
usua io iden i icado. Es o quie e deci que nos encon amos en la siguien e página de con enido
de la aplicación, AccesoPe il.
Nos encon amos an e una lis a de obje os de ipo En ada. Como se ha explicado
an e io men e, es necesa io incula el con enido pa a se mos ado en AccesoPe il.xaml pe o
al a a se de una lis a no es necesa io indica en con ex o, simplemen e hab ía que indica cuál
es la uen e de da os pa a esa lis a (iden i icada a a és del Id) en la pa e lógica
AccesoPe il.xaml.cs, no malmen e en la cons uc o a de la misma. En es e caso la uen e de
da os p o iene de la lis a de en adas del usua io.
odasEn adas.I emsSou ce = use .His o icoEn adas;
Vol iendo al menú p incipal, enemos la opción de comp a un abono. Ac ualmen e, po
pe ición del clien e, solo se puede ealiza la comp a de un abono de 10 baños. En un p incipio
se con emplaban odas las posibilidades de comp a (abono anual, piscina de in ie no y e ano)
pe o a lo la go del desa ollo las especi icaciones ue on cambiando, siendo es a una de las
Como comen amos, podemos encon a deslizando hacia la de echa más in o mación ace ca de
la piscina de e ano y que los cí culos encuad ados en la an e io imagen nos indican dónde
es amos. En la segunda imagen el bo ón “¿CÓMO LLEGAR?” nos edi ecciona ía a Google Maps
con la di ección de las ins alaciones.
Vol iendo la pan alla p incipal del módulo de la piscina, amos a accede a la pa e de comp a y
de isualización de imágenes.
En p ime luga , pinchando en el bo ón de comp a en ada encon amos una página donde
hab á que selecciona , en unción de la elación del usua io con la UCM, el núme o de en adas
que deseamos comp a . En unción del a o o del momen o y del núme o máximo de en adas

po comp a pe mi idas pa a un usua io, nos apa ece á un mensaje de e o in o mando de lo
ocu ido o nos pe mi i á con inua con la comp a. Se ap ecia el p ecio o al a paga unción de
las selecciones, así como un desplegable indicando el mé odo de pago (ac ualmen e solo se
pe mi e el pago po a je a).
Una ez se pincha en “PAGAR” nos edi ige al TPV i ual que Pis aV ual y la Uni e sidad
Complu ense de Mad id iene con a ado, en es e caso ges ionado po edsys.
En segundo luga , pinchando en VER ENTRADAS nos encon amos an e odas las en adas
que el usua io posee pa a el día de hoy. Como se puede obse a (cuad os ojos) en es a imagen,
exis en a ias en adas a las cuales se accede deslizando hacia la de echa. También nos
encon amos con in o mación ele an e (cuad os e des) la cual puede se ú il pa a el pe sonal
de las ins alaciones o el usua io a la ho a de localiza e iden i ica in o mación elacionada con
la en ada a escanea . Las en adas caduca án si no han sido usadas y deja án de se álidas una
ez se han escaneado. Cada código QR almacena un iden i icado del p ecio de en ada, ipo de
en ada, iden i icado del usua io, nomb e del comp ado , p ecio del pago, iden i icado de
en ada, nº en ada, odo ello enc ip ado pa a mejo a la p o ección de da os, po lo que el
ges o lee, desenc ip a y alida.
Exis e el caso en el que el usua io se encuen e en la pan alla de isualización de sus en adas y
con código ya escaneados. En es a si uación, la aplicación nos indica á a a és de un mensaje,
si uado debajo del código QR, que la en ada ya ha sido u ilizada jun o con la ho a del uso. En
al caso la aplicación del Ges o no da á po álido la lec u a de la misma.
6. Con ibución de los alumnos
En es a sección p esen amos las con ibuciones indi iduales de cada uno de los miemb os del
equipo.
6.1. Ca los
Cuando decidimos hace es e T abajo de Fin de G ado lo p ime o que empecé a hace ue
comenza a e isa documen ación de .NET y de C#.
T as la eunión de e ano en la piscina, es u e mi ando TPV y cómo conec a a los o nos la
aplicación, ya que en un p incipio lo que íbamos a implan a e an unos o nos de acceso que la
Complu ense enía comp ados desde hacía bas an e iempo.
Una ez comenzado el cu so, es u e documen ándome más sob e la ecnología y las
he amien as que íbamos a u iliza . Lo p ime o que hice ue ac ualiza el Visual S udio e
ins ala me los módulos necesa ios pa a pode empeza a ealiza la implemen ación.
Una ez es u o odo ins alado uimos a una eunión con Pis a Vi ual, y con ellos decidimos que
mejo que ellos nos die an su aplicación, e a empeza una desde el p incipio noso os y así poco
a poco i ap endiendo desde los comienzos y no me e nos de lleno en una aplicación que en ese
momen o no sab íamos ni po dónde empeza .
Pa a comenza es u e mi ando u o iales de YouTube [9] y empezando a hace pequeñas
aplicaciones independien es al módulo piscina, que si ie on pa a amilia iza me con el lenguaje
y con la nue a ecnología que hemos u ilizado.
Mien as íbamos ealizando nues as p ime as en anas, uimos a la piscina de in ie no a
in o ma nos del ho a io, las clases y los p ecios. Du an e una a de es u imos hablando con la
pe sona al ca go y nos dio oda la in o mación que necesi ábamos, p incipalmen e los p ecios,
los oles de los usua ios, los ho a ios y el uncionamien o de la piscina de in ie no.
Has a p ác icamen e na idad es u imos ealizando aplicaciones po nues a cuen a, que poco a
poco se ue on adap ando a lo que íbamos a ene que en ega al equipo de Pis a Vi ual.
Cuando comenzamos a ealiza una aplicación en conjun o, empezamos ealizando un menú en
el que es aban incluidos odas las opciones que pod ía ene nues a aplicación.
De es e menú comencé ealizando el Pe il del usua io, que, aunque no es é incluido en Pis a
Vi ual po que ellos ya enían su p opio pe il, hicimos uno pa a nues a aplicación. El pe il,
es aba o mado po los da os pe sonales de usua io y el ipo de abono o pase que enía pa a la
piscina.
Después del pe il es u e gene ando el código QR, e cómo se hacia me lle ó bas an e iempo,
a pesa de es a siguiendo un u o ial, uimos a una u o ía con Pis a Vi ual en la que nos
ayuda on y nos enseña on un Gi Hub que nos si ió de ayuda. Pa a la gene ación del código QR
u imos que ins ala nos un paque e nue o de Xama in, que nos acili ó bas an e las cosas. Una
ez que el código QR se mos aba le añadimos más in o mación pa a que uese más segu o,
aunque ac ualmen e el equipo de Pis a Vi ual, ha añadido más de la que noso os pusimos en
su momen o.
Una ez eníamos el código BIDI y el escáne , es u imos uniéndolos en una aplicación, una ez
unidos empezamos a hace un poco la lógica de acceso y pa a ello nos hicimos nues os p opios
caso de uso, y comencé a ealiza la implemen ación de acceso a la piscina pa a los usua ios.
Cuando ya eníamos casi oda la aplicación acabada, la Complu ense nos dio nue os casos de
uso. El p ime o de ellos solici aba que el usua io pueda comp a una en ada pa a la piscina, el
cual enía unos pasos a segui . Lo p ime o que enía que comp oba e a que el usua io es u ie a
en el sis ema, y comp oba que ipo de descuen o enía asociado el usua io. En caso de que el
usua io u ie a un abono el cos e pa a se ia de 0 eu os, en caso con a io, el usua io accede ía
a la comp a de un icke pa a él y un máximo de dos icke s más pa a posibles acompañan es,
pe enezcan a la Complu ense o no.
Una ez e minados los casos de uso, adap amos nues a aplicación lo máximo posible a lo que
Pis a Vi ual enía, pa a ello el equipo nos p opo cionó los colo es y los dis in os es ilos que ellos
enían en su aplicación. Una ez u imos odos los bo ones y colo es adap ados, pis a i ual nos
dio unos mockups de cómo enían pensado que uese la aplicación.
Una ez acabada la aplicación comenzamos a ealiza la memo ia. La di idimos en e los dos
au o es y la unimos poco a poco.
Lo p ime o que ealice de la memo ia ue on los equisi os, p ime o los que habíamos aco dado
an o en la eunión del e ano de 2018 en la piscina de e ano, como los que nos explica on en
la piscina de in ie o du an e el p ime cua imes e. A con inuación expuse los equisi os que
la Complu ense nos de alló pa a el uncionamien o de la aplicación.
Después de acaba es a pa e u imos una p ime a eunión con el u o sob e cómo es uc u a
la memo ia, ya que no sabíamos exac amen e qué pone . En esa eunión es ablecimos un índice
con las pa es más impo an es que debe ía lle a la memo ia. Una ez es ablecido el índice
hicimos un epa o equi a i o y uimos esc ibiendo poco a poco, como de allo a con inuación.
Cuando e miné es e apa ado, me puse a edac a el código que habíamos ido implemen ando
cada uno de noso os, an o la pa e del diseño como la de la implemen ación.
Una ez nues o código es u o in eg ado en la aplicación de Pis a Vi ual, y as habe es ado
haciendo di e en es p uebas, comencé a ealiza el manual de usua io de la misma que podemos
e en la sección an e io , a al a de algunas imágenes que iban a i se ac ualizando a medida que
hicie an nue as e siones.
Con inué esc ibiendo las conclusiones de es e T abajo de Fin de G ado.
Una ez e minada la memo ia en cas ellano y alidada pues nues o u o a medida que íbamos
a anzando y co igiendo nos pusimos con la aducción. Yo ealicé la aducción de la
in oducción y de las conclusiones y abajo u u o.
Po úl imo, ealizamos es e apa ado, en el cuál he edac ado mis apo aciones al p oyec o
du an e odo es e cu so.
6.2. Pa icia
Una ez decidido el TFG y ya sabiendo las ecnologías que íbamos a u iliza pa a su
implemen ación, lo p ime o que hice ue empeza a lee la documen ación de Mic oso ,
comencé mi ando que e a .NET, pa a qué se ía y cómo se u ilizaba. A con inuación es u e
mi ando qué e a C# y qué pa ones seguía.
Igual que mi compañe o, as la eunión con la piscina de e ano y sabiendo que en un p incipio
íbamos a u iliza los o nos de la piscina de in ie no, es u e mi ando dis in as posibilidades de
conexión de los o nos con la aplicación ya que la Complu ense los enía comp ado desde hacía
iempo y los iene en la piscina de in ie no sin u iliza .
Lo p ime o que hice ue lo mismo que hizo Ca los, me ac ualicé el Visual S udio añadiendo los
módulos necesa ios pa a comenza la implemen ación de la aplicación y pode empeza a
p og ama el módulo piscina. Una ez u imos odo ins alado y habíamos mi ado su icien e
documen ación u imos una p ime a eunión con el equipo de Pis a Vi ual. Nos aconseja on
empeza haciendo noso os pequeñas aplicaciones, uniendo unas pan allas a o as, po lo que
eso ue lo que hicimos los dos. Igual que mi compañe o comencé con el u o ial de YouTube [9],
que nos si ió pa a amilia iza nos y poco a poco i a anzando en el lenguaje y cogiendo base de
ca a a las u u as implemen aciones.
Pa a comenza a hace es as pan allas nos eunimos los dos e hicimos unos casos de uso a papel
que pos e io men e enseñamos al equipo de Pis a Vi ual, pa a que nos los alida an y ie an
que les pa ecía la lógica que que íamos da le a la aplicación.
Cuando ya u imos los casos de uso es ablecidos, comenzamos a ealiza las en anas y
pequeñas aplicaciones con una lógica que ya habíamos es ablecido p e iamen e.
Mien as íbamos adqui iendo conocimien os de las he amien as nue as e íbamos a ianzando
conocimien os, uimos a la piscina de in ie no pa a e cómo e a su uncionamien o. Es u imos
una a de allí con la pe sona al ca go, quien nos explicó odo sob e ambas piscinas. Nos o eció
un documen o en el que especi icaba odos los oles de los usua ios y los dis in os p ecios de
ambas piscinas.
Una ez comenzado el segundo cua imes e, las isi as a Pis a Vi ual aumen a on. Con ellos
decidimos comenza haciendo un menú y poco a poco i a anzando.
De es e menú comencé ealizando la in o mación, que en ella es aban incluidas las dos piscinas,
la de e ano y la de in ie no y una in o mación gene al ace ca de lo que son ambas piscinas.
Cabe des aca que en la aplicación que enseñamos en el manual de usua io solo es á añadida la
in o mación de la piscina de e ano, ya que de la piscina de in ie no oda ía no hay casos de uso
ni equisi os. Una ez acabada la in o mación, mien as que mi compañe o hacia el desa ollo
del código QR, yo ealicé una aplicación pa alela que simula al ges o . Es deci , comencé a
ealiza el escáne de código QR que alidaba el código BIDI que mi compañe o había c eado.
Pa a ello ambién me ayudé de un u o ial y del Gi Hub que Pis a Vi ual nos había enseñado
p e iamen e en una de las euniones con ellos y que nos había acili ado la ins alación de un
paque e de Xama in pa a ayuda nos con es os apa ados.
Una ez u imos an o el escáne como el código BIDI unimos ambas aplicaciones y empezamos
a ealiza las p ime as p uebas de lec u a y a comenza con la lógica de acceso a la piscina.

Una ez u imos la aplicación bas an e a anzada, ue cuando la Complu ense nos dio sus
especi icaciones, en conc e o había dos, yo me enca gué de la segunda de ellas. En ella hacía
e e encia al acceso al ecin o de la piscina de e ano. En es e caso de uso especi icaba que el
acceso se hacía median e un icke (código BIDI), pa a ello leía el icke y comp obaba si e a
álido. En caso de se ap o, mues a un mensaje de acceso pe mi ido, con el ol del usua io y
con un sonido p ede e minado. En caso de que el icke no sea ap o pa a en a mues a un
mensaje de e o y po que, como po ejemplo si ya se ha pasado p e iamen e con esa en ada
o si es á caducada, es a lec u a i á acompañada de un sonido dis in o al del acceso co ec o.
Jun o con el acceso de la pe sona se suma uno a las pe sonas en la piscina pa a así no sob epasa
el a o o.
Como mi compañe o ha comen ado an e io men e, una ez u imos e minada la aplicación nos
pusimos a ealiza las in e aces que Pis a Vi ual nos había dado como guías pa a que a la ho a
de in eg a la aplicación les ue a lo más ácil posible.
Una ez acabada la aplicación nos pusimos con la memo ia. Nos di idimos las dis in as secciones
y las uimos jun ando poco a poco mien as nues o u o nos la iba alidando.
Lo p ime o que ealicé de la memo ia ue on algunos apa ados como la mo i ación, los
obje i os, una pequeña in oducción y pa e de las ecnologías. Pues o que no sabíamos muy
bien como es uc u a la memo ia, u imos una eunión con el u o pa a que nos e isa a lo
poco que habíamos esc i o y e como es uc u a la. Du an e la eunión, como ha comen ado
mi compañe o, hicimos un índice inicial sob e el que basa nos pa a i empezando.
Lo p ime o que hice as es a eunión, ue ees uc u a el pun o de la in oducción y deja lo
como un capí ulo en e o. Pa a ello me base en el índice que habíamos es uc u ado.
Cuando e miné con la in oducción, me puse a esc ibi los p elimina es, en los que uní pa e de
las ecnologías que ya había esc i o p e iamen e, pe o que nues o u o nos dijo que
cambiá amos po que e a muy écnico y e a mejo explica lo de mane a di e en e y con
e e encias a la documen ación. Nos aconsejó que en es e apa ado explicá amos qué es Pis a
Vi ual, ya que du an e oda la memo ia les mencionamos, pe o en ningún momen o decíamos
quiénes son.
Una ez e minados es os pun os esc ibí el abajo u u o del p oyec o, aba cando posibles
mejo as y u u as inco po aciones pa a la aplicación.
Una ez e minada g an pa e de la memo ia, esc ibí el esumen y los ag adecimien os.
Cuando la memo ia es u o co egida, p ocedimos a la aducción, yo me enca gué del esumen
y de los ag adecimien os.
Po úl imo añadimos es a sección en la que yo he esc i o mi con ibución al p oyec o, desde el
p ime día que nos pusimos con el T abajo de Fin de G ado.
7. Conclusiones y abajo u u o
Pa a e mina , exponemos a con inuación cie as conclusiones que aba can an o desde el
pun o de is a de la abaja con una nue a ecnología, has a las sensaciones de abaja pa a
un clien e an impo an e como puede se la Uni e sidad Complu ense de Mad id.
Nos cen a emos ambién en las posibles aplicaciones que el módulo implemen ado puede
apo a en las ins alaciones de las piscinas.
7.1. Conclusiones
Como abajo de in de g ado, podemos deci que ha sido una expe iencia y un abajo
sa is ac o io y g a i ican e ya que el hecho de ap ende una nue a ecnología de desa ollo,
como ha sido en es e caso con .NET y Xama in, siemp e apo a nue os conocimien os y
expe iencias que pueden se muy ú iles.
No hay que deja de lado que el hecho de en en a se a un TFG de es as ca ac e ís icas y pa a
un clien e muy exigen e y a eces poco o ganizado, es un e o más al que en en a se ya que
g an pa e del iempo empleado ha es ado dedicado al es udio de la nue a ecnología y a la
adap ación de es a al módulo a desa olla . Cabe deci qué g acias al equipo de Pis a Vi ual,
es e p oceso ha sido más ácil de cumpli ya que ellos enían un amplio conocimien o de es as
he amien as de abajo y nos han ecibido siemp e sin ningún p oblema. En cie as ocasiones
ambién ha sido un obs áculo el hecho de que ellos, ya expe os en las he amien as, u iesen
exigencias y especi icaciones écnicas de ca a a la in eg ación del aplica i o en su aplicación en
el u u o
A g andes asgos, el p incipal p oblema que nos hemos encon ado en es a ecnología es la
conexión del con enido si uado en la pa e lógica de la aplicación con la pa e isual Xaml debido
a la exis encia de a ios mé odos de ealización. Es o a p io i puede se una en aja ya que no
e limi a el cómo hace lo pe o hay que ene en cuen a que dependiendo de la si uación y el
ipo de con enido que se quie a lanza , puede habe es icciones y los mé odos no siemp e se
álidos.
A la ho a del ap endizaje del lenguaje, sob e odo en la pa e isual del amewo k nos hemos
encon ado con una g an can idad de e ique as de a ibu o con in inidad de uncionalidades, lo
cual es an ás ico ya que es o e pe mi e ealiza una g an can idad de cosas muy in e esan es y
di e en es, pe o e limi a si e es nue o con la ecnología ya que e llegas a pe de e incluso
us a , de odo lo que iene y a eces no encon a lo que es ás buscando. A su a o , di emos
que la documen ación que o ece Mic oso es muy amplia y es á bien edac ada, aunque las
aducciones al español dejan mucho que desea .
En segundo luga , como hemos comen ado en la in oducción de es a sección, amos a con a
las expe iencias y sensaciones de habe ealizado el abajo pa a la Uni e sidad Complu ense de
Mad id y con Pis aVi ual como in e media ios en la mayo ía de las ocasiones.
En gene al, podemos deci que la expe iencia ha sido buena y posi i a pa a noso os. Es amos
con en os y sa is echos en pode deci que hemos ealizado un abajo de u ilidad pa a la
uni e sidad la cual ha sido nues a casa du an e es a e apa de nues a ida y ese ue el p incipal
mo i o po el que decidimos ealiza es e abajo de in de g ado.
Con espec o al comp omiso y se iedad de la o ganización enca gada de los depo es en la
uni e sidad, sí que podemos deci que es amos un poco descon en os ya que en un p incipio y
según nos hicie on sabe , es aban o almen e comp ome idos y con ac i ud posi i a, pe o a lo
la go del año esas ganas pa ece que desapa ecie on excep o pa a el momen o inal en el mes
de mayo cuando las p isas apa ecie on al e que la empo ada de e ano empezaba y sabían
poco de la aplicación.
Con espec o a los equisi os iniciales podemos deci que han su ido, en nues a opinión,
demasiadas modi icaciones a lo la go del desa ollo. Tan p on o el sis ema de en ada iba a se
con o nos como de epen e no que ían un con ol de a o o. Es o no es un p oblema si se no i ica
con an elación, pe o eniendo en cuen a que la mayo ía de cambios han sido no i icados en el
úl imo mes p e io a la ape u a de las ins alaciones no se pueden sa is ace odas las
especi icaciones.
Es o supone que llegue la echa de ape u a y que la aplicación y el nue o sis ema de en ada
puede que no es én lis os según es os úl imos equisi os. Po nues a pa e, y en e e encia las
p ime as especi icaciones y algunas pos e io es (con un iempo de eacción lógico a los plazos
de en ega de es e abajo) han sido cumplidas. En gene al, y en nues a opinión, la ges ión po
pa e de las ins i uciones de la uni e sidad no ha sido las adecuadas pa a el desa ollo de
so wa e.
Po pa e de Pis aVi ual, solo enemos palab as de ag adecimien o an o po su siemp e
disponibilidad, comp omiso o amabilidad, como po su implicación y ayuda que nos han
p es ado. La dinámica de abajo ha sido muy comple a, con a ias euniones al mes,
comunicaciones con inuas an o pa a dudas écnicas como pa a in o mación llegada desde la
uni e sidad.
7.2. T abajo u u o
Pa a es e p oyec o se pueden plan ea dis in os abajos u u os.
 Uno de los más inmedia os pod ía se el acceso a la piscina de in ie no median e la
aplicación, ya que como ha es ado pasando en la de e ano se accede median e un bono
o una a je a. Es a a je a lle a esc i a en su pa e ase a el acceso de días y ho as a las
que el usua io puede pasa . Inse a es a piscina en la aplicación supond ía una mejo a
en el con ol de acceso y pode ob ene oda la in o mación necesa ia de los dis in os
g upos de clases en una misma pla a o ma.
 O a mejo a se ía el acceso median e o nos, cuando comenzamos es e abajo nos
dije on que enían unos o nos comp ados desde hacía iempo pa a el acceso a las
piscinas, pe o que nunca se habían llegado a u iliza , si inalmen e se implan a la piscina
de in ie no pod ía accede se a ella median e los o nos, ya que los ienen comp ados
pe o en desuso. Igualmen e es os o nos pod ían u iliza se median e el ca ne
uni e si a io o median e la a je a de acceso de los usua ios con un código de ba as.
 Ampliaciones que la aplicación pod ía ene pueden se la implan ación de
de oluciones, po si inalmen e se cancela el plan de i a la piscina.
 Pode ese a la en ada pa a el acceso a la piscina con a ios días de an elación.
 Añadi dis in os idiomas a la aplicación pa a los es udian es E asmus.
8. Conclusions and Fu u e wo k
To conclude, we p esen below some conclusions ha ange om he poin o iew o wo king
wi h a new echnology, o he sensa ions o wo king o such an impo an clien as he
Complu ense Uni e si y o Mad id.
We will also ocus on he possible applica ions ha he implemen ed module can p o ide in he
swimming pool acili ies.
8.1. Conclusions
As Bachalo deg ee hesis, we can say ha i has been a sa is ying and ewa ding expe ience
since he ac o lea ning a new de elopmen echnology, as in his case wi h .NET and Xama in,
always b ings new knowledge and expe iences ha can be e y use ul.
We mus no o ge ha he ac o acing a p ojec o hese cha ac e is ics, o a e y demanding
and some imes no e y o ganized clien , is a challenge. A g ea pa o he ime spen has been
de o ed o he s udy o he new echnology and he adap a ion o his o he module unde
de elopemen . We mus say ha hanks o he Pis a Vi ual eam, his p ocess has been easie
o ul ill since hey had a wide knowledge o hese wo k ools and hey ha e always ecei ed us
wi hou any p oblem. On ce ain occasions, i has also been an obs acle he ac ha hey,
al eady expe s in he ools, had equi emen s and echnical speci ica ions o he in eg a ion o
he applica ion in he u u e ha we migh no be able o unde s and.
B oadly speaking, he main p oblem we ha e ound in his echnology is he connec ion o he
con en loca ed in he logical pa o he applica ion wi h he isual pa Xaml due o he
exis ence o se e al me hods o ealiza ion. This a p io i can be an ad an age because i does
no limi you how o do i bu you ha e o keep in mind ha depending on he si ua ion and he
ype o con en you wan o launch, he e may be es ic ions and he me hods may no always
be alid.
A he ime o lea ning he language, especially in he isual pa o he amewo k we ha e
ound a lo o a ibu e labels wi h many ea u es, which is g ea since his allows you o do a lo
o e y in e es ing and di e en hings, bu i also limi s you i you a e new wi h echnology
because you ge los and e en us a ed o how ex ensi e i is and some imes you canno ind
wha you a e looking o . In i s a o , we will say ha he documen a ion o e ed by Mic oso
is e y b oad and well w i en, al hough he ansla ions in o Spanish don’ mee expec a ions.
Secondly, as we ha e said in he in oduc ion o his sec ion, we a e going o ell you abou he
expe iences and sensa ions o ha ing done he wo k o he Complu ense Uni e si y o Mad id
and wi h Pis aVi ual as in e media ies in mos o he occasions.
In gene al, we can say ha he expe ience has been good and posi i e o us. We a e happy and
sa is ied o say ha we ha e done a use ul job o he uni e si y which has been ou home du ing
his phase o ou li e and ha was he main eason why we decided o do his inal deg ee
p ojec .
In e e ence o he commi men and se iousness o he o ganiza ion in cha ge o spo s in he
uni e si y, we can say ha we a e a li le bi unhappy since a he beginning and as hey le us
know, hey we e o ally commi ed and wi h posi i e a i ude, bu h oughou he yea hose
hopes seem o ha e disappea ed excep o he inal momen in he mon h o May when he
ush appea ed because he summe season was abou o begin and hey knew li le abou he
applica ion.
Wi h espec o he ini ial equi emen s we can say ha hey ha e su e ed, in ou opinion, oo
many modi ica ions h oughou he de elopmen . As soon as he en y sys em was going o be
wi h la hes as suddenly hey did no wan a gauging con ol. This is no a p oblem i he
de elope is no i ied in ad ance, bu conside ing ha mos changes ha e been no i ied in he
las mon h, jus be o e he opening o he acili ies, i is impossible o implemen i wi h he
app op ia e quali y assu ance.