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.