scieee Science in your language
[ca] (orig)

Millorant el Learning Dashboard: integració de gamificació i visualització avançada

Author: Scognamillo, Nicola
Publisher: Universitat Politècnica de Catalunya
Year: 2025
Source: https://upcommons.upc.edu/bitstream/2117/428827/2/192266.pdf
id192266
MILLORANT EL LEARNING DASHBOARD:
INTEGRACIÓ DE GAMIFICACIÓ I
VISUALITZACIÓ AVANÇADA
NICOLA SCOGNAMILLO
Di ec o /a
CARLES FARRE TOST (UNIVERSITAT POLITÈCNICA DE CATALUNYA)
Ponen : MARC ORIOL HILARI (Depa amen d'Enginye ia de Se eis i Sis emes d'In o mació)
Ti ulació
G au en Enginye ia In o mà ica (Enginye ia del So wa e)
Memò ia del eball de i de g au
Facul a d'In o mà ica de Ba celona (FIB)
Uni e si a Poli ècnica de Ca alunya (UPC) - Ba celonaTech
23/01/2025
Abs ac
The Lea ning Dashboa d (LD) is a ool used in some subjec s o he Uni e si a Poli ècnica de
Ca alunya (UPC) ela ed o so wa e enginee ing, designed o help s uden s o ack hei p og ess in
eam based p ojec s. The In eg a ed Gami ied Lea ning Dashboa d En i onmen (GLiDE) is a new
e sion o he LD ha aims o imp o e use expe ience h ough a isual o e haul and he in oduc ion
o gami ica ion elemen s. In i s cu en e sion he GLiDE is only a p oo o concep , his p ojec
p e ends o in eg a e he componen s ha make up he GLiDE and de elop new unc ionali ies ha
allow i o be pu in o p oduc ion.
This p ojec has been done ollowing a e sion o he sc um me hodology adap ed o he academic
en i onmen (a backlog has been de ined and been aken ca e o in a se ies o sp in s, all while
holding weekly mee ings wi h he p oduc owne ).
Resum
El Lea ning Dashboa d (LD) és una eina u ili zada a algunes assigna u es de la Uni e si a Poli ècnica
de Ca alunya (UPC) elacionades a l’enginye ia del so wa e dissenyada pe a ajuda els alumnes a e
un seguimen del seu p og és en p ojec es g upals. L’In eg a ed Gami ied Lea ning Dashboa d
En i onmen (GLiDE) és una no a e sió del LD que busca millo a l’expe iència de l’usua i i anima
el seu ús mi jançan una no a in e ície g à ica i la in oducció d’elemen s de gami icació. En la se a
e sió ac ual el GLiDE és una p o a de concep e, aques p ojec e é com a objec iu in eg a els
componen s que o men el GLiDE i desen olupa no es uncionali a s que pe me in posa -lo en
p oducció.
Aques p ojec e s’ha po a a e me seguin la me odologia sc um adap ada a l’en o n acadèmic (s’ha
de ini un backlog que s’ha execu a en una sè ie de sp in s men e es man enien eunions se manals
amb el p oduc owne ).
Resumen
El Lea ning Dashboa d (LD) es una he amien a usada en algunas asigna u as de la Uni e si a
Poli ècnica de Ca alunya (UPC) elacionadas con la ingenie ía del so wa e diseñada pa a ayuda a los
alumnos a hace un seguimien o de su p og eso en p oyec os g upales. El In eg a ed Gami ied
Lea ning Dashboa d En i onmen (GLiDE) es una nue a e sión del LD que busca mejo a la
expe iencia del usua io y anima su uso median e una nue a in e az g á ica y la in oducción de
elemen os de gami icación. En su e sión ac ual el GLiDE es una p ueba de concep o, es e p oyec o
iene como obje i o in eg a los componen es que o man el GLiDE y desa olla nue as
uncionalidades que pe mi an pone lo en p oducción.
Es e p oyec o se ha ealizado siguiendo la me odología sc um adap ada al en o no académico (se ha
de inido un backlog que se ha ejecu ado en una se ie de sp in s mien as se man enían euniones
semanales con el p oduc owne ).
2
Índex de con ingu s
1. In oducció i con ex uali zació............................................................................................8
1.1. Con ex ........................................................................................................................................8
1.2. De inicions..................................................................................................................................9
1.3. Iden i icació del p oblema..........................................................................................................9
1.4. Ac o s implica s........................................................................................................................10
2. Jus i icació...........................................................................................................................11
3. Abas ....................................................................................................................................14
3.1. Objec ius del p ojec e...............................................................................................................14
3.2. Possibles obs acles i iscos.......................................................................................................14
4. Me odologia i igo .............................................................................................................16
4.1. Me odologia de eball..............................................................................................................16
4.2. Me odologia de desen olupamen ............................................................................................16
4.3. Execució de la me odologia......................................................................................................17
5. Plani icació..........................................................................................................................19
5.1. Desc ipció de les asques..........................................................................................................19
5.2. Recu sos....................................................................................................................................21
5.2.1. Recu sos humans.............................................................................................................21
5.2.2. Recu sos ma e ials.......................................................................................................... 22
5.3. Es imacions...............................................................................................................................22
5.4. Diag ama de Gan ....................................................................................................................24
5.5. Ges ió de isc: Plans al e na ius i obs acles..............................................................................25
5.5.1. Ús de no es ecnologies..................................................................................................25
5.5.2. Pa i d’un p ojec e exis en ............................................................................................25
5.5.3. Bugs................................................................................................................................ 26
5.6. Execució de la plani icació.......................................................................................................26
6. P essupos ............................................................................................................................29
6.1. Iden i icació dels cos os............................................................................................................29
6.1.1. Recu sos humans.............................................................................................................29
6.1.2. Ha dwa e.........................................................................................................................31
6.1.3. So wa e..........................................................................................................................31
6.1.4. Cos os addicionals...........................................................................................................31
6.2. Es imació dels cos os................................................................................................................32
6.3. Con ol de ges ió.......................................................................................................................33
6.4. Execució del p essupos ............................................................................................................34
7. Es a inicial del GLiDE......................................................................................................37
7.1. A qui ec u a..............................................................................................................................37
7.2. Concep es p incipals.................................................................................................................38
7.2.1. Gami ica ion Engine.......................................................................................................38
7.2.2. Ad anced In e ac ion......................................................................................................39
7.3. In e ície d’usua i (Ad anced In e ac ion)...............................................................................40
8. Especi icació de equisi s...................................................................................................42
8.1. Requisi s uncionals..................................................................................................................42
3
8.2. Requisi s no uncionals.............................................................................................................44
9. Tecnologies u ili zades........................................................................................................47
10. No a a qui ec u a del sis ema.........................................................................................50
11. In eg ació i esolució de bugs del GLiDE.......................................................................51
11.1. Iden i icació i esolució de p oblemes....................................................................................51
11.1.1. P oblemes esol s.......................................................................................................... 51
11.1.2. P oblemes penden s.......................................................................................................55
11.2. Validació.................................................................................................................................57
12. Desen olupamen d’una solució pe l'au en icació indi idual d’es udian s...............59
12.1. Anàlisi d’al e na i es..............................................................................................................59
12.2. Desen olupamen ................................................................................................................... 59
12.3. Validació.................................................................................................................................65
13. Desen olupamen d’una eina d’adminis ació.............................................................. 66
13.1. Anàlisi d’al e na i es..............................................................................................................66
13.2. Desen olupamen ................................................................................................................... 66
13.3. In eg ació d’IA gene a i a......................................................................................................74
13.4. Validació.................................................................................................................................76
14. Con ene i zació i desplegamen ...................................................................................... 79
15. In o me de Sos enibili a ................................................................................................. 85
15.1. Au oa aluació.........................................................................................................................85
15.2. Dimensió econòmica.............................................................................................................. 86
15.3. Dimensió ambien al................................................................................................................87
15.4. Dimensió social...................................................................................................................... 88
16. Lleis i egulacions.............................................................................................................90
16.1. P o ecció de dades..................................................................................................................90
16.1.1. P incipis de p o ecció de dades.....................................................................................90
16.1.2. D e s de les pe sones.....................................................................................................90
16.1.3. Responsable i enca ega del ac amen .......................................................................91
16.2. P opie a in el·lec ual..............................................................................................................91
16.3. Llicència de so wa e..............................................................................................................92
17. In eg ació de coneixemen s............................................................................................. 93
18. Conclusions i eball u u ...............................................................................................94
18.1. Objec ius i ap enen a ge......................................................................................................... 94
18.2. Assolimen de les compe ències ècniques.............................................................................94
18.3. T eball u u ............................................................................................................................96
19. Re e ències........................................................................................................................97
Annex.....................................................................................................................................100
Annex A. Documen ació de les API..............................................................................................100
Annex A1. Ad anced In e ac ion Backend.............................................................................100
Annex A2. Gami ica ion Engine.............................................................................................103
Annex B. Models concep uals de la p ime a e sió del GLiDE....................................................116
Annex C. Reposi o is de Gi Hub...................................................................................................119
Annex D. Manual pe desplega el GLiDE................................................................................... 120
4
Índex de aules
[Taula 1] Compa a i a de les uncionali a s del GLiDE amb les al e na i es......................... 12
[Taula 2] Anàlisi DAFO...........................................................................................................13
[Taula 3] Es imació d’ho es, ecu sos i dependències en e asques........................................23
[Taula 4] P obabili a i impac e pe cada isc...........................................................................25
[Taula 5] Sous pels ols del p ojec e........................................................................................ 29
[Taula 6] Ho es i cos de pe sonal pe cada asca del p ojec e.................................................30
[Taula 7] Cos del ha dwa e..................................................................................................... 31
[Taula 8] Cos de l’espai de eball...........................................................................................31
[Taula 9] Valo de la pa ida pe con ingències........................................................................32
[Taula 10] Cos os pe imp e is os...........................................................................................32
[Taula 11] Cos o al del p ojec e............................................................................................. 33
[Taula 12] P essupos pel sp in 4 desp és dels can is de plani icació....................................34
[Taula 13] Taula de con ol de ges ió inal...............................................................................36
[Taula 14] Cos o al del p ojec e inal.....................................................................................36
[Taula 15] Especi icació GET e aluable ac ions................................................................... 100
[Taula 16] Especi icació POST impo da a...........................................................................101
[Taula 17] Especi icació GET leade boa ds...........................................................................101
[Taula 18] Especi icació PATCH selec ed da es.................................................................... 102
[Taula 19] Especi icació POST login.....................................................................................103
[Taula 20] Especi icació GET s uden playe s.......................................................................103
[Taula 21] Especi icació POST game.................................................................................... 104
[Taula 22] Especi icació PUT game.......................................................................................105
[Taula 23] Especi icació POST game g oup..........................................................................106
[Taula 24] Especi icació POST impo da a...........................................................................106
[Taula 25] Especi icació DELETE leade boa d.....................................................................107
[Taula 26] Especi icació PUT leade boa d............................................................................ 108
[Taula 27] Especi icació POST OpenAI API.........................................................................109
[Taula 28] Especi icació DELETE simple ule......................................................................109
[Taula 29] Especi icació PUT simple ule..............................................................................111
[Taula 30] Especi icació DELETE da e ule..........................................................................112
[Taula 31] Especi icació PUT da e ule..................................................................................113
[Taula 32] Especi icació GET subjec s.................................................................................. 114
[Taula 33] Especi icació POST subjec ..................................................................................115
5

Índex de igu es
[Figu a 1] In e ície del GLiDE................................................................................................. 8
[Figu a 2] Exemple d’his ò ia d’usua i i asques en un sp in a Taiga.....................................16
[Figu a 3] Exemple d’es uc u a de b anques seguin Gi low................................................ 17
[Figu a 4] Diag ama de Gan .................................................................................................. 24
[Figu a 5] Diag ama de Gan inal..........................................................................................28
[Figu a 6] Taula de càlcul pel con ol de ges ió.......................................................................34
[Figu a 7] A qui ec u a del GLiDE..........................................................................................37
[Figu a 8] Pan alla de moni o a ge...........................................................................................40
[Figu a 9] Pan alla de gami icació........................................................................................... 41
[Figu a 10] No a a qui ec u a del GLiDE............................................................................... 50
[Figu a 11] Injecció de mocks al i xe de p o es....................................................................57
[Figu a 12] Exemple de p o a pe cas d’èxi ........................................................................... 58
[Figu a 13] Exemple de p o a pe cas de allada.....................................................................58
[Figu a 14] Pan alla d’inici de sessió.......................................................................................60
[Figu a 15] Fines a pe inse i c edencials de Google............................................................60
[Figu a 16] Pan alla de selecció de pe il.................................................................................61
[Figu a 17] C edencials a Google Cloud Pla o m Console.................................................... 61
[Figu a 18] Codi pe a egi el bo ó de login de Google...........................................................62
[Figu a 19] Seqüencia pe en ia un id_ oken a un se ido ................................................... 63
[Figu a 20] Seqüència pe POST login.................................................................................... 64
[Figu a 21] Seqüència pe GET s uden Playe s....................................................................... 64
[Figu a 22] No a base de dades de l’Ad anced In e ac ion Backend..................................... 65
[Figu a 23] C eació de pa ida, ia d’assigna u a....................................................................67
[Figu a 24] C eació de pa ida, c eació d’assigna u a..............................................................67
[Figu a 25] C eació de pa ida, de inició d’a ibu s.................................................................68
[Figu a 26] C eació de pa ida, impo ació de egles...............................................................69
[Figu a 27] C eació de pa ida, polí ica de ni ells...................................................................69
[Figu a 28] C eació de pa ida, impo ació d’alumnes i equips...............................................70
[Figu a 29] C eació d’achie emen s........................................................................................ 71
[Figu a 30] C eació de egles...................................................................................................71
[Figu a 31] C eació de leade boa ds........................................................................................ 71
[Figu a 32] Edició de egles.....................................................................................................72
[Figu a 33] Edició de leade boa ds.......................................................................................... 72
[Figu a 34] Seqüència pe POST subjec .................................................................................73
[Figu a 35] Seqüència pe POST subjec a l’Admin Tool........................................................73
[Figu a 36] Cos de la sol·lici ud a l’API d’OpenAI.................................................................75
[Figu a 37] Seqüència pe POST openAiApi...........................................................................76
[Figu a 38] Exemple de con igu ació i iniciali zació de l’en o n de p o es............................76
[Figu a 39] P ime exemple de es a Angula ......................................................................... 77
6
[Figu a 40] Segon exemple de es a Angula ..........................................................................78
[Figu a 41] Docke ile pe l’Admin Tool.................................................................................79
[Figu a 42] Con ingu s del i xe nginx.con ........................................................................... 80
[Figu a 43] Docke ile pels backends del GLiDE....................................................................81
[Figu a 44] Componen s del GLiDE al docke compose.........................................................82
[Figu a 45] Beses de dades, xa xes i olum al compose..........................................................83
[Figu a 46] Diag ama de desplegamen del GLiDE.................................................................84
[Figu a 47] Model concep ual de la ges ió gene al................................................................ 116
[Figu a 48] Model concep ual de la p epa ació de gami icació.............................................117
[Figu a 49] Model Concep ual de l’Ad anced In e ac ion.....................................................118
[Figu a 50] Con enido s uncionan a Docke Desk op......................................................... 121
7
1. In oducció i con ex uali zació
Aques documen s’ha eali za com a pa d’un T eball de Fi de G au (TFG) pe l’especiali a
d’Enginye ia del So wa e del G au en Enginye ia In o mà ica cu sa a la Facul a
d’In o mà ica de Ba celona (FIB) de la Uni e si a Poli ècnica de Ca alunya (UPC).
1.1. Con ex
L’In eg a ed Gami ied Lea ning Dashboa d En i onmen (GLiDE) [1], una cap u a del qual
es po eu e a la igu a 1, es ac a d’una eina ideada pe a se u ili zada en el
desen olupamen de so wa e en equip dins d’un en o n educa iu, aques a pe me que
es udian s i p o esso s ebin e oacció con ínua, p ecisa i objec i a del p océs d’ap enen a ge
indi idual i en equip sob e la qual pode basa la p esa de decisions i l’a aluació de les
ac uacions du an el anscu s dels p ojec es [2], o men e u ili za la gami icació pe a
millo a l’expe iència de l’usua i.
[Figu a 1] In e ície del GLiDE. Fon : [3]
El GLiDE a so gi de la necessi a de millo a el Lea ning Dashboa d (LD) [2], una eina
basada en el Q-Rapids Dashboa d [4] que in eg a dades d’eines de desen olupamen de
8
so wa e com Taiga i Gi Hub i que ha es a u ili zada a les assigna u es Aplicacions i Se eis
Web (ASW) i P ojec e d’Enginye ia del So wa e (PES) de la Facul a d’In o mà ica de
Ba celona (FIB) i a l’assigna u a Ampliació a l’Enginye ia del P og ama i (AMEP) de
l’Escola Poli ècnica Supe io d'Enginye ia de Vilano a i la Gel ú (EPSEVG), pe in en a
esold e les di icul a s que an exp essa els es udian s pe a egi el LD al seu lux de eball
[1]. Pe e -ho, el GLiDE in eg a ia elemen s de gami icació a les uncionali a s del LD.
El p ojec e del GLiDE es a ma ca com a objec ius millo a la implicació i mo i ació
dels es udian s, millo a les dinàmiques i endimen dels equips, ajuda a p odui p ojec es de
majo quali a i explo a es a ègies inno ado es de gami icació [1].
1.2. De inicions
● Dashboa d: In e ície g à ica que pe me isuali za dades de mane a àcil mi jançan
g à ics o al es elemen s isuals.
● Gi Hub: Eina que pe me man eni eposi o is de codi en línia i e con ol de
e sions.
● Gami icació: Ús d’elemen s del disseny de jocs en con ex os no de joc [5] com a a
leade boa ds i achie emen s.
● In eg a ed Gami ied Lea ning Dashboa d: Ve sió del Lea ning Dashboa d que in eg a
elemen s de gami icació i o e eix una expe iència d’usua i millo ada.
● Lea ning Dashboa d: E olució del Q-Rapids Dashboa d que col·lecciona i in eg a les
dades del Taiga i Gi Hub dels p ojec es desen olupa s pels alumnes i en calcula
mè iques.
● Q-Rapids Dashboa d: Eina pe a alua i moni o a la p oducció de so wa e en
en o ns àgils.
● Taiga: Eina de ges ió de p ojec es di igida a desen olupado s en en o ns àgils.
1.3. Iden i icació del p oblema
El p oblema amb el GLiDE au en el e que en el seu es a ac ual és només una p o a de
concep e. Això signi ica que en el p esen , el GLiDE enca a es à lluny d’es a p epa a pe a
se u ili za en un en o n educa iu eal.
Pe se més especí ic, el GLiDE cons a de dues pa s sepa ades, la pa d’in e acció [6] i
la de gami icació [7], que enca a a al a in eg a i es eja . Això implica comp o a que els
componen s so wa e que o men aques es pa s (l’Ad anced In e ac ion F on end,
9
4. Me odologia i igo
4.1. Me odologia de eball
Pe aques p ojec e se segui à la me odologia sc um, es ac a d’una me odologia àgil i e a i a
i inc emen al pe ges iona el desen olupamen on es de ineix un backlog d’his ò ies
d’usua i, aques s’execu a à en una sè ie de sp in s que du en un pe íode de e mina de emps
[8]. El p ojec e a ança a mesu a que es buida el backlog.
A a bé, aques a me odologia s’ha d’adap a pe e -la unciona en un en o n acadèmic,
ja que cal gene a a e ac es eque i s pe la no ma i a i pe GEP i pe què pe aques p ojec e
només hi ha un únic desen olupado .
Pe e el seguimen s’u ili za à Taiga, aques a eina ens pe me de ini -hi les his ò ies
d’usua i, èpiques i sp in s. Les his ò ies es poden assigna a les èpiques i di idi en asques
pe les quals es po segui el p og és, un exemple del que podem oba pe un sp in es po
eu e a la igu a 2.
Addicionalmen , pe al seguimen del p ojec e, se celeb a an eunions se manals amb
l’equip de eball del GLiDE on es con ola à el p og és de la eina e a i es esold an les
qües ions que hagin so gi du an la se mana.
[Figu a 2] Exemple d’his ò ia d’usua i i asques en un sp in a Taiga. Fon : Elabo ació p òpia.
4.2. Me odologia de desen olupamen
Du an el desen olupamen s’u ili za à Gi pel con ol de e sions. Aques ens pe me e un
seguimen de o s els can is e ec ua s sob e el codi base, cosa que pe me o na en e e a
e sions an e io s, p opo cionan -nos així p o ecció con a danys i e e sibles [9]. També és
ideal pel eball coope a iu, ja que ajuda a esold e can is incompa ibles eali za s pe
di e en s pe sones, pe ò això no és elle an aquí pe què aques és un p ojec e indi idual.
Es eballa à amb Gi Hub, que és on es oba o el codi del GLiDE epa i en e els
següen s eposi o is: GLiDE- on end, GLiDE-backend i GLiDE-gami ica ion-engine.
16

La me odologia pe eballa en aques s eposi o is se à Gi low [10], aquí s’hi man enen
semp e dues b anques: main (on hi ha l’úl ima e sió es able p epa ada pe se llançada) i
de elopmen (on es desen olupen les no es uncions i es co egeixen e o s). Pe cada no a
unció es c ea una no a b anca a pa i de de elopmen i quan s’enlles eix es a me ge. Si es
ol p epa a una e sió de llançamen , es c ea una b anca a pa i de de elopmen amb el
núme o de la e sió al nom, desp és es a me ge d’aques a b anca a main. En el cas que
so geixi cap e o a main, es c ea una b anca de ho ix on s’a eglen els p oblemes, aques s
can is en se acaba s s’inco po en a main. A la igu a 3 podem eu e un exemple de com
queden les b anques quan se segueix Gi low.
Aques a me odologia ens ajuda a man eni el codi ne i o gani za , acili a el seguimen
dels can is al p ojec e i pe me e eleases de mane a senzilla [11]. A sob e, l’au o d’aques
eball ja es à amilia i za amb aques a me odologia, això signi ica que es pod à eballa
amb ella de mane a e icien .
[Figu a 3] Exemple d’es uc u a de b anques seguin Gi low. Fon : [10]
4.3. Execució de la me odologia
Du an l’execució del p ojec e s’ha es a seguin la me odologia que s’acaba de desc iu e.
G àcies al seguimen que s’es à en amb Taiga es po eu e cla amen l’es a del p ojec e,
això pe me con ola àcilmen quina és la eina e a i què al a pe e . Gi low ha pe mès
man eni un eposi o i o gani za que acili a el desen olupamen . A més, les eunions
se manals han es a ú ils pe acla i dub es i pe ga an i que el so wa e que s’es à
desen olupan compleix amb la isió i les necessi a s del p ojec e GLiDE.
17
Pe aques es aons, s’ha conside a que la me odologia és exi osa i no con é e cap can i
signi ica iu. Només s’ha decidi explici a la de ini ion o done pe les uncionali a s
desen olupades, s’ha de e mina que una uncionali a es po conside a comple ada quan
aques a s’ha desen olupa , passa els es s que demos en el seu co ec e uncionamen i s’ha
e me ge de la se a b anca a la b anca de elopmen .
18
5. Plani icació
Aques p ojec e p end à lloc en e el 9 de se emb e de 2024 i el 6 de gene de 2025, això
suposa un o al de 120 dies, dels quals 79 són labo ables. Pel p ojec e, com es jus i ica à a
con inuació, s’ha es ima una du ada de 545 ho es. Conside an aques s dos ac o s, s’ha
decidi dedica 6 ho es en dies labo ables i ap oximadamen 2 ho es en dies no-labo ables pe
elabo a el p ojec e.
5.1. Desc ipció de les asques
Ges ió del p ojec e
● GP1 - Con ex uali zació i abas (25 ho es)
○ Es edac a à un documen on es de ineix el con ex del p ojec e, la jus i icació
pe la solució iada, l’abas que ac a à i la me odologia que se segui à.
● GP2 - Plani icació empo al (20 ho es)
○ Es de ini an en un documen les asques que s’assoli an du an el p ojec e amb
les se es es imacions empo als, els ecu sos que s’u ili za an i les mane es de
ges iona els iscos. També s’elabo a à un diag ama de Gan pe les asques.
○ Dependències: GP1.
● GP3 - P essupos i sos enibili a (20 ho es)
○ Es calcula à el cos de du a e me les asques de inides an e io men i es a à
una anàlisi de sos enibili a del p ojec e.
○ Dependències: GP2.
● GP4 - In eg ació del documen inal (25 ho es)
○ S’elabo a à un documen que inclogui la in o mació dels documen s p e is
inco po an -hi els can is i co eccions que hagin so gi .
○ Dependències: GP3.
● GP5 - Reunions (15 ho es)
○ Es po a an a e me eunions se manals amb el u o del p ojec e pe supe isa
la eina e a.
Incepció
● I1 - P epa ació de l’en o n (15 ho es)
○ S’ins al·la à o el so wa e necessa i pe al desen olupamen .
● I2 - Es udi de les ecnologies a u ili za (15 ho es)
19
○ S’es udia an els dos amewo ks que u ili za el GLiDE (Angula i Sp ing
Boo ) pe es a p epa a pe a eballa amb el seu codi.
● I3 - Es udi de l’a qui ec u a del GLiDE (20 ho es)
○ S’es udia à l’es uc u a del codi i de les bases de dades del GLiDE.
● I4 - Execu a els componen s del GLiDE (15 ho es)
○ S’execu a an o s els componen s del GLiDE ( on end, backend i
gami ica ion engine) en local.
Sp in 1
● S11 - Plani icació del sp in (5 ho es)
○ Es plani ica an a ni ell ine-g ained les asques a execu a du an el sp in .
○ Dependències: I3, I4.
● S12 - In eg ació dels componen s so wa e (60 ho es)
○ Es a an aquelles asques elacionades a la in eg ació dels componen s del
GLiDE.
○ Dependències: I1, S11.
● S13 - Documen ació (10 ho es)
○ Es documen a à la eina e a du an el sp in .
Sp in 2
● S21 - Plani icació del sp in (5 ho es)
○ Es plani ica an a ni ell ine-g ained les asques a execu a du an el sp in .
○ Dependències: S12.
● S22 - Desen olupa uncions d’usua i (40 ho es)
○ Es desen olupa an les uncions elacionades a l’au en icació d’usua is.
○ Dependències: S21.
● S23 - Documen ació (10 ho es)
○ Es documen a à la eina e a du an el sp in .
Sp in 3
● S31 - Plani icació del sp in (5 ho es)
○ Es plani ica an a ni ell ine-g ained les asques a execu a du an el sp in .
○ Dependències: S22.
● S32 - Desen olupa uncions d’adminis ado (40 ho es)
○ Es desen olupa an les uncions elacionades a l’eina d’adminis ado pe als
p o esso s.
20
○ Dependències: S31.
● S33 - Documen ació (10 ho es)
○ Es documen a à la eina e a du an el sp in .
Sp in 4
● S41 - Plani icació del sp in (5 ho es)
○ Es plani ica an a ni ell ine-g ained les asques a execu a du an el sp in .
○ Dependències: S32.
● S42 - Desen olupa uncions ex a (40 ho es)
○ Es desen olupa an uncions addicionals que no són i als pel uncionamen
del GLiDE.
○ Dependències: S41.
● S43 - Documen ació (10 ho es)
○ Es documen a à la eina e a du an el sp in .
● S44 - Validació (20 ho es)
○ Es posa à el GLiDE en mans d’alguns alumnes i p o esso s pe què el puguin
p o a . Desp és aques s p o esso s i alumnes se an enques a s pe eu e’n
l’opinió.
Redacció de la memò ia del TFG
● RM1 - Redacció de la memò ia del TFG (75 ho es)
○ S’elabo a à el documen de la memò ia del TFG, aques inclou à una e sió
e inada dels con ingu s dels documen s de ges ió del p ojec e.
P epa ació de la de ensa del TFG
● PD1 - P epa ació de la de ensa del TFG (40 ho es)
○ Es p epa a à la p esen ació inal del p ojec e i o s els ma e ials que aques a
necessi i.
5.2. Recu sos
5.2.1. Recu sos humans
Els ecu sos humans eque i s pel p ojec e són els següen s:
● [AP] Au o del p ojec e: assumi à di e en s ols d’un equip de desen olupamen del
so wa e (cap de p ojec e, a qui ec e del so wa e, desen olupado , dissenyado de
UI/UX i es e ) pe al d’assoli els objec ius ma ca s a la con ex uali zació.
21

● [DP] Di ec o del p ojec e: se à qui s’enca ega à de supe isa el p ojec e du an el
seu desen olupamen .
● [TG] Tu o de GEP: se à qui dona à e oacció pe o s els lliu amen s de
l’assigna u a.
5.2.2. Recu sos ma e ials
Respec e a ecu sos ma e ials, pe pode eali za el p ojec e se à necessa i un espai de eball
amb accés a la xa xa i un o dinado , ambé cald à un espai on pode e les eunions
se manals de seguimen . Pel que a a so wa e, s’u ili za à el que es à llis a a con inuació:
● [ATN] A enea: la pla a o ma on es a an els lliu amen s de GEP.
● [DKR] Docke : una eina que acili a à el desplegamen dels di e en s componen s
so wa e que o men el p ojec e.
● [DRW] D aw.io: eina que s’u ili za à pe a l’elabo ació de diag ames UML.
● [GIT] Gi Hub i Gi : pe me en emmaga zema el codi en eposi o is i e con ol de
e sions.
● [GNT] Gan P ojec : una eina que se eix pe c ea diag ames de Gan .
● [GWS] Google Wo kspace: conjun d’eines on s’u ili za à D i e pe edi a els
documen s del p ojec e, Gmail pe la comunicació amb el di ec o del p ojec e i el
u o de GEP i Calenda pe plani ica les eunions de seguimen .
● [ITJ] In elliJ IDEA: és un IDE pensa pe desen olupa amb Ja a.
● [TGA] Taiga: eina que es a à se i pe ges iona el p ojec e.
● [ZTO] Zo e o: una eina pe ges iona les e e ències del eball.
5.3. Es imacions
Codi
Tasca
Du ació (h)
Dependències
Recu sos
GP
Ges ió del p ojec e
105
GP1
Con ex uali zació i abas
25
AP, ATN, GWS, TG, ZTO
GP2
Plani icació empo al
20
GP1
AP, ATN, GNT, GWS, TG, ZTO
GP3
P essupos i sos enibili a
20
GP2
AP, ATN, GWS, TG, ZTO
GP4
In eg ació del documen inal
25
GP3
AP, ATN, GWS, TG, ZTO
GP5
Reunions
15
AP, DP, GWS
22
I
Incepció
65
I1
P epa ació de l'en o n
15
AP, DKR, GIT, ITJ
I2
Es udi de les ecnologies a u ili za
15
AP, ITJ
I3
Es udi de l’a qui ec u a del GLiDE
20
AP, GIT, ITJ
I4
Execu a els componen s del GLiDE
15
AP, DKR, GIT, ITJ
S1
Sp in 1
75
S11
Plani icació del sp in
5
I3, I4
AP, TGA
S12
In eg ació dels componen s so wa e
60
I1, S11
AP, DKR, GIT, ITJ
S13
Documen ació
10
AP, DRW, GWS, TGA
S2
Sp in 2
55
S21
Plani icació del sp in
5
S12
AP, TGA
S22
Desen olupa uncions d’usua i
40
S21
AP, DKR, GIT, ITJ
S23
Documen ació
10
AP, DRW, GWS, TGA
S3
Sp in 3
55
S31
Plani icació del sp in
5
S22
AP, TGA
S32
Desen olupa uncions d’adminis ado
40
S31
AP, DKR, GIT, ITJ
S33
Documen ació
10
AP, DRW, GWS, TGA
S4
Sp in 4
75
S41
Plani icació del sp in
5
S32
AP, TGA
S42
Desen olupa uncions ex a
40
S41
AP, DKR, GIT, ITJ
S43
Documen ació
10
AP, DRW, GWS, TGA
S44
Validació
20
AP, DP
RM
Redacció de la memò ia del TFG
75
RM1
Redacció de la memò ia del TFG
75
AP, DP, GWS, ZTO
PD
P epa ació de la de ensa del TFG
40
PD1
P epa ació de la de ensa del TFG
40
AP, DP, GWS
To al
545
[Taula 3] Es imació d’ho es, ecu sos i dependències en e asques. Fon : Elabo ació p òpia.
23
5.4. Diag ama de Gan
[Figu a 4] Diag ama de Gan . Fon : Elabo ació p òpia.
24
5.5. Ges ió de isc: Plans al e na ius i obs acles
P è iamen , s’han iden i ica els obs acles i iscos que es poden oba du an l'elabo ació
d’aques p ojec e, a la aula 4 aques s es poden eu e jun amen amb la p obabili a de la se a
ocu ència i l’impac e que poden eni . En aques apa a s’explica an els plans pe mi iga els
seus e ec es.
Risc
P obabili a
Impac e
Ús de no es ecnologies
Mi jana
Mi jà
Pa i d’un p ojec e exis en
Al a
Baix
Bugs
Al a
Al
[Taula 4] P obabili a i impac e pe cada isc. Fon : Elabo ació p òpia.
5.5.1. Ús de no es ecnologies
Com s’ha comen a p è iamen , el GLiDE cons a de es pa s: el on end que u ili za
Angula i el backend i gami ica ion engine que an se i Sp ing Boo . L’au o d’aques
p ojec e no es à del o ben e sa en aques s amewo ks, pe e on a aques a si uació s’ha
dedica un emps a l’es udi d’aques es ecnologies.
A més, pe ga an i que aques obs acle no suposi un p oblema pe la empo i zació del
p ojec e, s’ha decidi a egi un ma ge de emps a la du ació de les asques d’in eg ació i
desen olupamen dels sp in s. No es necessi en ecu sos addicionals.
5.5.2. Pa i d’un p ojec e exis en
El GLiDE ha es a desen olupa pe dos al es alumnes, això signi ica que si l’au o el ol
amplia , p ime s’hau à de amilia i za amb el codi exis en , cosa que suposa ha e de
dedica un emps d’es udi a aques codi i ambé a comp o a que es po execu a sense
p oblemes a l’o dinado on es desen olupa à el p ojec e.
Pe e i a p oblemes amb la plani icació s’ha a egi una asca d’es udi de l’a qui ec u a
del GLiDE i s’ha ingu en comp e a l’ho a de ia la du ació de les asques. No es necessi en
ecu sos addicionals.
25
6.2. Es imació dels cos os
Pe al de e on a qualse ol con ingència s’ha es able una pa ida equi alen al 15% dels
cos os que s’han llis a ins aques pun . El alo d’aques a pa ida es po eu e a la aula 9.
Con ingència
Valo (€)
Pa ida (€)
Recu sos humans
15.697
2.354,55
Ha dwa e
136
20,40
Cos os addicionals
1.325
198,75
To al
2.574
[Taula 9] Valo de la pa ida pe con ingències. Fon : Elabo ació p òpia.
També s’han calcula els cos os pels imp e is os ja iden i ica s a la aula 10. Aques s enen en
comp e la p obabili a que succeeixi cada imp e is , el emps necessa i pe ges iona -lo i el
sou dels ols que es egin a ec a s.
Imp e is
P obabili a (%)
Temps (h)
Rols a ec a s
Sous (€/h)
Cos (€)
Ús de no es ecnologies
50
20
AS (50%)
D (50%)
35,67
25
303,35
Pa i d’un p ojec e exis en
75
10
AS (50%)
D (50%)
35,67
25
227,52
Bugs
75
30
D (50%)
T (50%)
25
22,65
536,07
To al
1.067
[Taula 10] Cos os pe imp e is os. Fon : Elabo ació p òpia.
A iba s a aques pun ja disposem de o s els cos os, només a al a suma -los pe a iba al
cos o al del p ojec e, aques càlcul es po eu e a la aula 11.
Pa ida
Cos (€)
Recu sos humans
15.697
32

Ha dwa e
136
Cos os addicionals
1.325
Con ingències
2.574
Imp e is os
1.067
To al
20.799
[Taula 11] Cos o al del p ojec e. Fon : Elabo ació p òpia.
6.3. Con ol de ges ió
Men e s’es à po an a e me el p ojec e old em con ola si hi ha cap des iació en e el
p essupos i els cos os eals que s’es an inco en . De la mane a que s’ha plan eja el p ojec e
només podem eu e una des iació en el cos de pe sonal a causa d’una di e ència en e el
emps espe a pe compli una asca i el eal. Pe an , se à necessa i que du an el
desen olupamen es agin egis an les ho es emp ades pe assoli cada asca, això ens
pe me à calcula dues mè iques pe cada asca:
● Des iació d’ho es: Es es en les ho es eals a les ho es es imades pe cada asca, això
en pe me de e mina si les es imacions han es a co ec es i ens ajuda de ca a a e
on a les següen s i e acions, ja que ens pe me plani ica amb una idea més p ecisa
del nos e i me de eball.
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó 𝑑'ℎ𝑜𝑟𝑒𝑠 = ℎ𝑜𝑟𝑒𝑠 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑒𝑠 − ℎ𝑜𝑟𝑒𝑠 𝑟𝑒𝑎𝑙𝑠
● Des iació de cos : Es mul iplica la des iació d’ho es de la asca pel cos pe ho a,
d’aques a mane a podem sabe la di e ència en e el cos eal de la asca i el seu cos
plani ica . Aques a mè ica és la que esul a més ú il pe e un con ol del p essupos .
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó 𝑑𝑒 𝑐𝑜𝑠𝑡 = 𝑑𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó 𝑑'ℎ𝑜𝑟𝑒𝑠 × 𝑐𝑜𝑠𝑡 𝑝𝑒𝑟 ℎ𝑜𝑟𝑎
Si sumem les des iacions de cos pe o es les asques aconseguim la des iació de cos o al,
si aques a és nega i a signi ica que el cos eal ha es a supe io al plani ica . Pe una si uació
així disposem de la pa ida pe con ingències, l’au o del p ojec e hau à de de e mina si
s’u ili za i en el cas a i ma iu com s’u ili za.
33
El con ol d’aques es mè iques es a à a una aula de càlcul, una cap u a d’aques a aula
es po eu e a la igu a 6.
[Figu a 6] Taula de càlcul pel con ol de ges ió. Fon : Elabo ació p òpia.
6.4. Execució del p essupos
Conside an els can is en la plani icació en el sp in 4, ha e al a ecalcula el p essupos pe
aques a pa de p ojec e, cosa que es po eu e a la aula 12.
Codi
Tasca
Du ació (h)
Dedicació (h)
Cos (€)
CP
AS
D
DU
T
S41
Plani icació del sp in
5
5
154,2
S42
Desen olupa uncions d’adminis ado
ex a
30
4
18
4
4
757,96
S43
Con ene i zació del GLiDE
20
5
10
5
541,6
S44
Re isió i p epa ació de la demo
10
3
5
2
262,82
S45
Documen ació
10
5
5
279,2
To als
75
10
9
33
4
19
1.996
[Taula 12] P essupos pel sp in 4 desp és dels can is de plani icació. Fon : Elabo ació p òpia.
34
Pe acaba de calcula el cos del p ojec e s’han inse i o es les des iacions empo als i els
can is de plani icació a la aula de con ol de la ges ió. Els esul a s es poden eu e a la aula
13.
Codi
Tasca
Du ació
Es imada
(h)
Dedicació (h)
Cos
Es ima
(€)
Du ació
Real
(h)
Des iació
Cos (€)
CP
AS
D
DU
T
GP1
Con ex uali zació i abas
25
25
771
26
30,84
GP2
Plani icació empo al
20
20
616,8
22
61,68
GP3
P essupos i sos enibili a
20
20
616,8
20
0
GP4
In eg ació del documen inal
25
25
771
24
-30,84
GP5
Reunions
15
9
2
2
1
1
440,22
15
0
I1
P epa ació de l'en o n
15
5
10
428,35
15
0
I2
Es udi de les ecnologies a
u ili za
15
5
10
428,35
15
0
I3
Es udi de l’a qui ec u a del
GLiDE
20
20
713,4
20
0
I4
Execu a els componen s del
GLiDE
15
15
375
18
75
S11
Plani icació del sp in
5
5
154,2
5
0
S12
In eg ació dels componen s
so wa e
60
10
20
20
10
1.748,3
72
349,66
S13
Documen ació
10
5
5
279,2
10
0
S21
Plani icació del sp in
5
5
154,2
5
0
S22
Desen olupa uncions
d’usua i
40
5
25
5
5
1.009,95
40
0
S23
Documen ació
10
5
5
279,2
12
55,84
S31
Plani icació del sp in
5
5
154,2
5
0
S32
Desen olupa uncions
d’adminis ado
40
5
25
5
5
1.009,95
44
101
S33
Documen ació
10
5
5
279,2
10
0
S41
Plani icació del sp in
5
5
154,2
5
0
S42
Desen olupa uncions
d'adminis ado ex a
30
4
18
4
4
757,96
30
0
S43
Con ene i zació del GLiDE
20
5
10
5
541,6
24
108,32
35
S44
Re isió i p epa ació de la
demo
10
3
5
2
262,82
10
0
S45
Documen ació
10
5
5
279,2
10
0
RM1
Redacció de la memò ia del
TFG
75
70
5
2.337,15
80
155,81
PD1
P epa ació de la de ensa del
TFG
40
40
1233,6
44
123,36
To als
545
262
76
160
15
32
15.796
581
1.031
[Taula 13] Taula de con ol de ges ió inal. Fon : Elabo ació p òpia.
Com es po eu e, el cos de ecu sos humans desp és del can i de plani icació és de 99 eu os
més que a la plani icació inicial. També enim que les des iacions empo als de les asques
han suposa un sob ecos de 1.031 eu os.
Una al a modi icació que s’ha e é a eu e amb el so wa e, dona que s’ha decidi
in eg a l’API d’OpenAI, que és de pagamen . To i això, l’ús que s’ha e du an el p ojec e
no ha a iba a cos a un cèn im i no ha e al a e cap pagamen .
Amb o , el cos inal del p ojec e és el que enim a la aula 14. En aques a s’hi po eu e
que enca a que hi ha hagu ce es des iacions, el p ojec e s’ha pogu comple a amb un cos
o al pe so a del p essupos inicial.
Pa ida
Cos Es ima (€)
Cos Real (€)
Recu sos humans
15.697
16.827
Ha dwa e
136
136
Cos os addicionals
1.325
1.325
Con ingències
2.574
-
Imp e is os
1.067
-
To al
20.799
18.288
[Taula 14] Cos o al del p ojec e inal. Fon : Elabo ació p òpia.
36
7. Es a inicial del GLiDE
Aques p ojec e pa eix de l’aplicació esul an dels eballs GLiDE - Ad anced In e ac ion
[6] i GLiDE - Gami ica ion Engine [7]. Pe an , a al a explica l’es a inicial del GLiDE pe
pode deixa cla què s’ha e en aques p ojec e i què ja exis ia. Aques apa a ambé ens
pe me à amilia i za -nos amb concep es bàsics del GLiDE que s’ani an ac an en els
p òxims apa a s.
7.1. A qui ec u a
Com es po eu e a la igu a 7, la p ime a e sió del GLiDE cons a de es componen s:
● Ad anced In e ac ion Backend: Componen que a d’in e media i en e el Lea ning
Dashboa d, el Gami ica ion Engine i l’Ad anced In e ac ion F on end,
p opo cionan -li al da e les dades que ol mos a . Comp a amb la se a p òpia base
de dades Pos g eSQL. Implemen a amb Sp ing Boo .
● Ad anced In e ac ion F on end: Componen esponsable de ende i za la in o mació
del Lea ning Dashboa d i els elemen s de gami icació. Implemen a amb Angula .
● Gami ica ion Engine: Componen esponsable de p opo ciona les uncionali a s de
gami icació. Comp a amb la se a p òpia base de dades Pos g eSQL. Implemen a amb
Sp ing Boo .
[Figu a 7] A qui ec u a del GLiDE. Fon : Elabo ació p òpia.
37

7.2. Concep es p incipals
En aques apa a es pa la à de mane a esumida d’aquells concep es dels models del
Gami ica ion Engine [7] i l’Ad anced In e ac ion [6] que són elle an s pe les uncionali a s
implemen ades du an el p ojec e. Els models concep uals es poden oba a l’annex B.
7.2.1. Gami ica ion Engine
Respec e del Gami ica ion Engine, el concep e cen al és la pa ida, aques a e de e minada
pe una assigna u a, un quad imes e (quad imes e 1 o quad imes e 2) i el p ime any del
cu s. La pa ida é una da a d’inici i una de inal que de e minen el pe íode en el qual es po
execu a la gami icació, ambé é es a ibu s a, b i c que de e minen la di icul a pe puja de
ni ell.
Cada pa ida é una sè ie de subg ups que co esponen als subg ups de l’assigna u a en el
cu s i quad imes e de la pa ida.
A cada subg up enim associa s els p ojec es que es an eali zan els seus alumnes,
aques s con enen els iden i icado s del p ojec e al Lea ning Dashboa d, Gi Hub i Taiga.
El següen concep e impo an pe la pa de ges ió gene al són els jugado s, dels quals
enim dos ipus: els indi iduals i els equips. Els p ime s ep esen en els alumnes a les pa ides
i els segons els equips. Aques es són les en i a s que guanyen pun s, badges i poden puja de
ni ell. Cada equip é elaciona un p ojec e.
To segui , enim el concep e dels es udian s, aques s ep esen en els alumnes al GLiDE i
es an iden i ica s pel seu nom d’usua i. Dona que un alumne po pa icipa en di e en s
pa ides (pe exemple si cu sa di e en s assigna u es on s’u ili za el GLiDE), aques es po
associa a múl iples usua is indi iduals. També enen com a a ibu s els iden i icado s de
Gi Hub i Taiga de l’alumne.
Desp és enim els concep es elaciona s a la gami icació, aquí els cen als són les accions
a aluables, els achie emen s, les egles i les leade boa ds.
Les accions a aluables ep esen en les mè iques del Lea ning Dashboa d, pe això enen
un a ibu que co espon a l’endpoin de l’API del Lea ning Dashboa d necessa i pe
aconsegui el alo de la mè ica.
Aques es mè iques es calculen a pa i de les dades dels eposi o is de Gi Hub i els
p ojec es de Taiga dels equips. Els següen s són dos exemples de mè ica:
38
● LDIM S uden commi s: Pe cen a ge de commi s e s pe un alumne espec e del o al
de commi s del p ojec e.
● LDTM Unassigned asks: Pe cen a ge de asques no assignades a cap alumne espec e
del o al.
Els achie emen s són necessa is pe pode u ili za les accions a aluables, aques s poden
assigna pun s o badges segons el alo de l’a ibu “ca ego y”.
A con inuació, enim les egles que poden se o simples o empo als, la di e ència és que
les segones només es poden compli en un pe íode de e mina pe una da a d’inici i una inal.
Les egles elacionen achie emen s amb accions a aluables, es ablin la condició que ha de
supe a el alo de l’acció a aluable pe aconsegui l’achie emen , com pe exemple: LDIM
S uden asks és majo que 20%.
Aques a condició, jun amen amb a ibu s com la quan i a de egades que cal compli
una egla pe aconsegui l’achie emen i la ecompensa que s’aconsegueix queden egis a s
dins del concep e assignació d’achie emen .
La comp o ació pe eu e si un alumne o equip compleix una egla, de la ma eixa
mane a que l’ac uali zació de les dades del Lea ning Dashboa d, no es a en emps eal,
aques a p en lloc quan s’a alua la pa ida. L’a aluació compo a aga a els alo s de o es les
mè iques del Lea ning Dashboa d i eu e si passen les condicions de les egles.
L’úl im concep e que cal comen a és el de les leade boa ds, aques es o denen els
alumnes o equips segons les ecompenses que han ebu . D’aques a mane a els alumnes es
poden compa a amb els seus companys, això c ea una compe ició amis osa que anima a
millo a el endimen p opi i de l’equip.
Amb o , la idea és c ea les egles de mane a que s’alineïn amb els objec ius
d’ap enen a ge de l’assigna u a i animin la pa icipació dels es udian s.
7.2.2. Ad anced In e ac ion
Pel que a al model concep ual de l’Ad anced In e ac ion, els p ime s concep es són els
es udian s i els jugado s, an els de ipus indi idual com els de ipus equip. Aques s són
idèn ics als del Gami ica ion Engine dels quals ja s’ha pa la .
La es a del model é a eu e p incipalmen amb els elemen s de isuali zació pe
pan alla. Cada jugado en una pa ida é un dashboa d o ma pe di e en s pan alles que
con enen di e en s componen s isuals com g à ics, ex o ima ges.
39
7.3. In e ície d’usua i (Ad anced In e ac ion)
Tenim les dues pan alles p esen s a la p ime a e sió del GLiDE. La p ime a és la de
moni o a ge on l’usua i po isuali za les mè iques del Lea ning Dashboa d, an les
indi iduals com les de l’equip. Aques a es po eu e a la igu a 8.
[Figu a 8] Pan alla de moni o a ge. Fon : [6]
La segona pan alla és la de gami icació, aquí l’usua i po eu e el seu ni ell, els pun s que ha
acumula , les badges que ha aconsegui i les que po aconsegui . També s’hi poden eu e les
leade boa ds, enim el podi pel op 3 i la pes anya del ànquing, on podem eu e els pun s i
les posicions de o s els jugado s. Aques a es po eu e a la igu a 9.
40
[Figu a 9] Pan alla de gami icació. Fon : [6]
41
● Cha .js: És una llib e ia Ja aSc ip que p opo ciona g à ics HTML. S’u ili za pe
gene a alguns dels g à ics que es mos en al GLiDE.
● JSON in Ja a: És una llib e ia que pe me e la aducció de documen s JSON a
objec es Ja a i ice e sa.
● ModelMappe : És una llib e ia que acili a la con e sió en e objec es simila s.
S’u ili za pe acili a la con e sió en e models de la base de dades i Da a T ans e
Objec s (DTO).
● Sp ingdoc-openapi: És una llib e ia que gene a la documen ació de l’API seguin
l’especi icació OpenAPI pe un p ojec e elabo a amb Sp ing Boo .
Sp ingdoc-openapi es basa en la con igu ació del p ojec e, les se es classes i un
sis ema d’ano acions pe p odui la documen ació.
En l’anàlisi cos -bene ici s'ha conside a p incipalmen algun can i pe millo a . A a bé, s’ha
de e mina que el endimen ja és sa is ac o i pe les necessi a s del p ojec e i que el cos
empo al de e e el GLiDE u ili zan al es ecnologies és massa ele a i edui ia
d às icamen el emps dedica a les asques d’in eg ació i desen olupamen de no es
uncionali a s. Pe aques es aons s’ha decidi e se i les ecnologies que s’han he e a .
Du an el desen olupamen d’aques p ojec e s’han a egi al s ack ecnològic els
elemen s que s'esmen en a con inuació:
Llib e ies:
● Apache Commons CSV: Pe me la lec u a de ii xe s en el o ma Comma Sepa a ed
Value (CSV) [16]. Aques a llib e ia s’ha u ili za pe pe me e l’en ada de dades dels
es udian s i els seus equips en o ma CSV.
● Google API Clien Lib a y o Ja a: O e eix uncionali a s p esen s a les API de
Google com anspo HTTP, ges ió d’e o s, au en icació, JSON pa sing, pujada i
baixada de con ingu s mul imèdia i ba ching [17]. Aques a llib e ia s’ha u ili za
p incipalmen pe e i ica okens d’iden i a de Google.
● Google Iden i y Se ices Ja aSc ip : Dona supo pe l’au en icació i l’ob enció de
okens d’accés de Google [18]. Aques a llib e ia s’ha u ili za pe implemen a
l’au en icació d’usua is mi jançan un comp e Google.
● Ngx- oas : Facili a l’en iada de missa ges Toas a l’usua i, aques s se eixen pe
dona e oacció a l’usua i de mane a simple i es è ica [19]. Aques a llib e ia s’ha
48

u ili za p incipalmen pe man eni in o ma l’usua i quan inicia i anca sessió o si
so geix cap e o .
● RxJS: P opo ciona eines di igides a l’elabo ació de p og ames asínc ons i basa s en
esde enimen s [20]. Aques a llib e ia s’ha u ili za p incipalmen pe esold e e o s
causa s pe una ges ió inco ec a d’ope acions asínc ones.
P o es:
● Jasmine: F amewo k de p o es pe Ja aSc ip [21]. Pe me de ini p o es i c ea
mocks mi jançan una sin axi simple. S’ha u ili za pe esc iu e les p o es de l’eina
d’adminis ació.
● JUni : F amewo k de p o es pe Ja a [22]. S’ha usa pe esc iu e les p o es uni à ies
a l’Ad anced In e ac ion Backend i al Gami ica ion Engine.
● Ka ma: Tes unne pe Ja aSc ip [23]. Pe me execu a les p o es c eades amb
Jasmine al na egado , ambé és capaç de de ec a quan s’han dona can is al codi pe
o na a execu a les p o es de mane a au omà ica. S’ha u ili za pe execu a p o es
pe l’eina d’adminis ació.
● Mocki o: F amewo k de mocking pe Ja a [24]. És una eina que pe me c ea mocks
de dependències, s’ha e se i jun amen amb JUni pe elabo a les p o es pe
l’Ad anced In e ac ion Backend i el Gami ica ion Engine.
49
10. No a a qui ec u a del sis ema
Du an la eali zació del p ojec e, al com es conc e a à als següen s capí ols, s’han modi ica
els elemen s del GLiDE i se n’ha a egi un de nou, l’a qui ec u a inal és el de la igu a 10.
A la in eg ació i esolució de bugs s’han modi ica de mane a pa cial l’Ad anced
In e ac ion F on end, l’Ad anced In e ac ion Backend i el Gami ica ion Engine.
Desen olupa una solució pe l’au en icació d’usua is ha compo a modi ica
l’Ad anced In e ac ion F on end i l’Ad ancced In e ac ion Backend.
Finalmen , c ea l’eina d’adminis ació ha eque i c ea un nou componen , l’Admin
Tool, i in odui can is al Gami ica ion Engine i a l’Ad anced In e ac ion Backend.
[Figu a 10] No a a qui ec u a del GLiDE. Fon : Elabo ació p òpia.
50
11. In eg ació i esolució de bugs del GLiDE
11.1. Iden i icació i esolució de p oblemes
El p ime pas pe inicia el p océs d’in eg ació i esolució de bugs ha es a con igu a en quin
po unciona ia cada componen i es abli les connexions en e aques s i les bases de dades.
Aques pas ha compo a modi ica els i xe s de con igu ació a l’Ad anced In e ac ion
Backend i al Gami ica ion Engine, i assegu a que els se eis de l’Ad anced In e ac ion
F on end eien les c ides al seu backend. En aques p ime pas, amb modi icacions mínimes,
es a pode comp o a que els di e en s es connec a en co ec amen i unciona en de
mane a conjun a sense p oblemes.
El segon pas ha es a el d’iden i ica p oblemes en el sis ema i oba aspec es a millo a .
Pe cada p oblema que s’ha oba s’ha c ea un issue al espec iu eposi o i de Gi Hub,
assignan -li una e ique a pe indica -ne el ipus i la p io i a , les e ique es s’han de e mina
jun amen amb l’equip de eball del GLiDE a les eunions se manals.
11.1.1. P oblemes esol s
En aques apa a es de allen els p oblemes que s’han iden i ica com a més p io i a is i que,
pe an , s’han assegu a de esold e. També s’inclouen alguns p oblemes més meno s, pe ò
que la se a esolució no suposa a un emps de desen olupamen excessiu.
Ad anced In e ac ion
1. En inicia l'aplicació no es mos en els g à ics a la pan alla de moni o a ge indi idual.
○ E ique a: Bug.
○ Es a : Soluciona .
○ Desc ipció: En en a a la pan alla de moni o a ge pe p ime a egada podem
oba que no es dibuixen els g à ics.
○ Solució: El p oblema esidia en el e que es eia una sè ie de c ides asínc ones
al backend pe aconsegui les dades que es olen dibuixa i es podia execu a
la unció pe dibuixa els g à ics abans d’ob eni les espos es. G àcies a les
eines que p opo ciona RxJS s’ha pogu ga an i que s’ob enen els esul a s de
o es les c ides asínc ones abans de dibuixa els g à ics.
2. No es mos a co ec amen el op 3 en casos d'empa .
51
○ E ique a: Bug.
○ Es a : Soluciona .
○ Desc ipció: Quan enim un empa pe qualse ol posició del op 3 d’un
ànquing al podi només es mos a el p ime usua i pe o d e al abè ic d’en e
els empa a s.
○ Solució: Pe es iccions de emps s’ha decidi aplica la solució més simple,
on només es mos a el podi en si uacions en què no hi ha cap empa en el op
3.
3. A la pan alla de moni o a ge de l’equip si s'a egeixen massa his ò ics o diag ames de
ba es, aques s no es poden eu e.
○ E ique a: Bug.
○ Es a : Soluciona .
○ Desc ipció: Si es an a egin g à ics his ò ics o de ba es, aques s an
apa eixen l’un so a l’al e ins a so i de la pan alla i no és possible e -hi
sc oll.
○ Solució: S’han modi ica els con enido s que con enen els g à ics pe e que
si el seu con ingu és massa g os, apa egui una sc oll ba , e i an que els
con ingu s su in de la pan alla i assegu an que o s es poden eu e.
4. A la pan alla moni o a ge de l’equip si es demana el g à ic his ò ic pe una mè ica,
aques no es dibuixa co ec amen .
○ E ique a: Bug.
○ Es a : Soluciona .
○ Desc ipció: En en a a la pan alla de moni o a ge de l’equip es mos en
co ec amen els g à ics, pe ò si olem isuali za els his ò ics de més
mè iques només apa eix el í ol, pe ò no es dibuixa el g à ic.
○ Solució: La causa del p oblema e a el ma eix que pe l’issue 2 i s’ha pogu
esold e de la ma eixa mane a.
5. El podi no escala a la mida de la ines a.
○ E ique a: Low p io i y bug.
○ Es a : Soluciona
○ Desc ipció: Quan s’escala la ines a el podi man é la se a mida, cosa que no
a cap al e elemen de la pan alla.
52
○ Solució: A l’h ml del s’ha embolica el can as on es dibuixa el podi amb una
di amb “ esponsi e: ue” a l’es il. També ha e al a a egi un pe i e a d
en e el can i de mida de la ines a i el del g à ic pe e i a p oblemes en la
isuali zació.
6. E o s a la consola en en a a la pa de gami ica ion.
○ E ique a: Low p io i y bug.
○ Es a : Soluciona .
○ Desc ipció: En en a a la pan alla de gami icació sal en e o s a la consola,
aques s indiquen que hi ha hagu un p oblema a dibuixa l’a a a de l’usua i i
el logo de l’equip.
○ Solució: L’e o e del e que s’in en a dibuixa les ima ges abans que
aques es s'aconsegueixin del backend. Pe soluciona el p oblema, a l’h ml del
componen s’ha a egi com a condició que les ima ges inguin alo pe
dibuixa -les.
7. Visuali zació de noms de les mè iques.
○ E ique a: Bug.
○ Es a : Soluciona .
○ Desc ipció: A la pan alla de moni o a ge de l’equip es mos en els
iden i icado s de les mè iques com a a “closed_ asks_wi h_AE” en comp es
de “Closed asks wi h ac ual e o in o ma ion”.
○ Solució: S’ha es able un sis ema simple on s’emmaga zemen els
iden i icado s i els í ols de les mè iques, això pe me e la aducció i
mos a el alo co ec e pe pan alla.
8. Millo a esponsi eness dels g à ics.
○ E ique a: Enhancemen .
○ Es a : Soluciona .
○ Desc ipció: Els g à ics de calib e a la pan alla de moni o a ge escalen a la
mida de la pan alla, pe ò no ho an les lle es i els alo s de l’in e io .
○ Solució: Al codi on es de ineix el g à ic s’han can ia les pa s on es
de ineixen les mides del ex pe e que escalin de mane a p opo cional a
l’amplada de la es a del g à ic.
9. Uni o mi za les g à iques his ò iques.
○ E ique a: Bug.
53

○ Es a : Soluciona .
○ Desc ipció: Pels g à ics his ò ics a la pan alla de moni o a ge de l’equip els
ex ems de l’eix y can ien segons els alo s màxims i mínims d’y.
Conside an que ep esen en pe cen a ges, s’ha aco da amb l’equip de eball
del GLiDE que aques s ex ems semp e hau ien de se 0 i 100.
○ Solució: Al codi on es de ineixen els g à ics his ò ics es poden es abli els
ex ems de l’eix y i s’han posa els alo s a 0 i 100.
10. E o en el o ma de les da es.
○ E ique a: Low p io i y bug.
○ Es a : Soluciona .
○ Desc ipció: A les pan alles de moni o a ge hi ha un selec o de da es que
pe me de e mina el pe íode pel qual es olen eu e les mè iques. Aques
selec o pe me inse i manualmen la da a o selecciona -la clican les da es
d’inici i inal en un calenda i. El p oblema és que el selec o mos a les da es
en o ma DD/MM/YYYY, pe ò quan s’inse eixen manualmen s’in e p e en
de mane a MM/DD/YYYY.
○ Solució: En eu e que el p oblema passa pe culpa d’un bug del componen
pe selecciona les dades, s’ha ia no pe me e l’en ada manual de da es.
11. No hi ha memò ia dels angs de da es selecciona s pels g à ics his ò ics.
○ E ique a: Bug, enhancemen .
○ Es a : Soluciona .
○ Desc ipció: Si se su de les pan alles de moni o a ge o es e esca la pàgina
els alo s es able s al selec o de da es es pe den, això és p oblemà ic pe què,
pe exemple, si l’alumne ol pode eu e les mè iques pel sp in en el qual es
oba hau à de posa les da es cada egada que en i.
○ Solució: S’ha a egi una ope ació al backend pe gua da les da es, aques a es
c ida cada egada que l’usua i a una selecció del pe íode.
12. L'usua i només po eu e una leade boa d indi idual i d'equip.
○ E ique a: Enhancemen .
○ Es a : Soluciona .
○ Desc ipció: Les leade boa ds que po eu e l’usua i enen condicionades pels
a ibu s “indi idual_leade boa d_id” i “ eam_leade boa d_id” de la aula
“gami ica ion_dashboa d” a la base de dades. Això signi ica que l’usua i
54
només po eu e una leade boa d indi idual i una d’equip i el p o esso
necessi a sabe l’id d’aques es quan iniciali za la in o mació de l’alumne.
○ Solució: La solució es à elacionada al can i de la base de dades que s’ha
desc i en un apa a an e io , a a la aula “gami ica ion_dashboa d” con é
l’iden i icado de la pa ida (“game_cou se”, “game_pe iod” i
“game_subjec _ac onym”) cosa que pe me busca o es les leade boa ds de la
pa ida. A la in e ície s’ha a egi un selec o que pe me ia d’en e les
leade boa ds, aquella que s’ha ia es mos a à pe pan alla.
Gami ica ion Engine
1. E alua e game causa l’a u ada del Gami ica ion Engine pe algunes egles.
○ E ique a: Bug.
○ Es a : Soluciona .
○ Desc ipció: El Lea ning Dashboa d é dos ipus de mè iques anomenades
ac o s de quali a i indicado s es a ègics que necessi en se de ini s pel
p o esso si es olen u ili za . Si aques a de inició no s’ha e i es c een al
Gami ica ion Engine egles que usen aques s ipus de mè iques, a alua la
pa ida amb egles així causen un e o que a u a el Gami ica ion Engine.
○ Solució: El p oblema passa pe què en a alua la pa ida es a una c ida a l’API
del Lea ning Dashboa d pe cada egla i si la egla és d’un dels ipus de
mè ica que s’ha menciona quan no s’han de ini , la c ida e o na un e o i
això a sal a una excepció que no es ges iona enlloc. Pe a egla el p oblema
només ha e al a a egi un y-ca ch que en cas d’e o n’in o ma la causa.
11.1.2. P oblemes penden s
En aques apa a es de allen aquells p oblemes que o i ha e -se iden i ica la se a esolució
ha queda o a de l’abas del p ojec e. Aques s són p oblemes que no enen un impac e
signi ica iu de ca a a l’usua i i que, pe an , deixa -los sense esold e no a ec a à
nega i amen la se a expe iència.
Ad anced In e ac ion
1. Només es mos en els ànquings pe un g up.
○ E ique a: Won ix.
55
○ Es a : Penden .
○ Desc ipció: A la pan alla de gami icació quan olem consul a un ànquing, si
aques és a escala de subg up de l’assigna u a, només es mos a el ànquing
del subg up iden i ica pel núme o més baix. S’ha decidi no a egla aques
issue, ja que l’a aluació pe subg ups no s’ajus a a les necessi a s del p oduc
owne , dona que a les assigna u es so in podem oba que els in eg an s
d’un equip pe anyen a di e en s subg ups i a que aques ipus de ànquing no
ingui sen i . Pe aques a aó, només s’u ili za an els ànquings pe la ma è ia.
2. Queden o a s a la pan alla de moni o a ge de l’equip quan no s’ha selecciona cap
mè ica.
○ E ique a: Enhancemen , won ix.
○ Es a : Penden .
○ Desc ipció: Quan no hi ha cap mè ica seleccionada pels g à ics his ò ics o de
ba es queden espais en blanc a la pan alla. S’ha decidi no soluciona aques
issue, ja que soluciona -lo se ia una millo a es è ica meno que eque i ia una
quan i a de dedicació conside able.
3. A egi Fa icon a la pàgina web.
○ E ique a: Enhancemen , won ix.
○ Es a : Penden .
○ Desc ipció: La icona que es po eu e a la pes anya del GLiDE al na egado
enca a és la que podem oba pe de ec e a Angula . Aques issue no se
soluciona à pe què en aques momen enca a no exis eix un logo ip pel
GLiDE, quan aques es c eï s’a egi à.
Gami ica ion Engine
1. No unciona la c eació de egles a a és de Swagge .
○ E ique a: Won ix.
○ Es a : Penden .
○ Desc ipció: Swagge és una eina que pe me gene a una in e ície a pa i
d’una especi icació OpenAPI d’un API i p o a -ne les c ides. En el cas del
Gami ica ion Engine, g àcies a un sis ema d’ano acions que s’u ili za pe
documen a cada c ida de l’API, aques a in e ície es gene a au omà icamen .
Quan s’in en a c ea una egla amb la in e ície l’ope ació alla pe culpa de
com es codi ica un dels pa àme es que és de ipus a ay. S’ha ia no
56
soluciona aques p oblema pe què les especi icacions de les ope acions pe
c ea egles són co ec es i, en p incipi, no hi hau ia d’ha e mai la necessi a
de e aques es c ides a a és d’aques a in e ície.
11.2. Validació
Pe comp o a el uncionamen del GLiDE s’han po a a e me una sè ie de p o es.
Pe aquells componen s desen olupa s amb Sp ing Boo s’han c ea des de ze o p o es
uni à ies pe la ja mencionada capa de se eis, dona que la lògica de l’aplicació esideix
aquí. Pe du a e me aques es p o es s’ha u ili za JUni , un es ing amewo k pe Ja a i el
mocking amewo k Mocki o.
Pe cada se ei enim un documen de p o es equi alen , en aques s hi podem oba
l’ano ació “@Injec Mocks” i una decla ació del se ei objec e de les p o es, això pe me
injec a mocks de les se es dependències mi jançan l’ano ació “@Mock” al com es po
eu e a la igu a 11.
[Figu a 11] Injecció de mocks al i xe de p o es. Fon : Elabo ació p òpia.
Desp és podem oba els es s p òpiamen di s que es an indica s amb l’ano ació “@Tes ”.
Aquí es de ineix amb el mè ode when de Mocki o el que olem que o nin les uncions dels
mocks de les dependències, s’execu a la unció que s’es à p o an amb uns de e mina s
pa àme es i s’u ili zen mè odes com “asse Equals” i “asse Null” pe comp o a que es
e o nen els alo s espe a s i mè odes com “ e i y” pe comp o a que s’han e ce es c ides
als mocks. To això es à exempli ica a les igu es 12 i 13.
Pe cada unció es an p o es an pe escena is d’èxi com pe escena is de allada, com
a mos a, en el cas de la igu a 12 enim un cas en què es c ea una pa ida de mane a exi osa i
a la igu a 13 podem eu e una si uació on la c eació alla pe què la pa ida ja exis eix.
57
[Figu a 20] Seqüència pe POST login. Fon : Elabo ació p òpia.
[Figu a 21] Seqüència pe GET s uden Playe s. Fon : Elabo ació p òpia.
Pe desen olupa aques a uncionali a ha e al a in odui una pe i a modi icació a la base
de dades de l’Ad anced In e ac ion Backend. S’ha a egi l’a ibu “use name” a la aula
“s uden _use ”, aques passa a se la no a clau p imà ia, i s’ha can ia l’a ibu
“lea ningdashboa d_use name” pe “s uden _use _use name”, aques a de clau o ana que
apun a a la aula “s uden _use ”. D’aques a mane a, la aula “s uden _use ” p en la ma eixa
o ma que el seu equi alen a la base de dades del Gami ica ion Engine i ens pe me u ili za
use name, que a a con ind à l’email de l’alumne, pe iden i ica cada usua i. El diag ama de
la base de dades esul a es po eu e a la igu a 22.
64

[Figu a 22] No a base de dades de l’Ad anced In e ac ion Backend. Fon : Elabo ació p òpia.
12.3. Validació
Pe alida el uncionamen de l’au en icació ia Google pe la pa de l’Ad anced
In e ac ion Backend s’han c ea les p o es uni à ies pe S uden Se ice al com s’ha desc i a
l'apa a d’in eg ació, esolució de bugs i e ac o ing.
Pe l’Ad anced In e ac ion F on end, en can i, la comp o ació s’ha e de mane a
manual. El p océs pe e -ho compo a a egi un usua i a la base de dades amb el mail
d’es udian de l’au o del p ojec e, això ha pe mès eu e que el sis ema unciona
co ec amen . També s’han e p o es amb ad eces que no pe anyen a la UPC o que no es an
egis ades a l’aplicació pe e i ica que aques es no podien comple a l’au en icació.
65
13. Desen olupamen d’una eina d’adminis ació
13.1. Anàlisi d’al e na i es
Abans de o s’han conside a les al e na i es, les opcions e en o bé expandi el on end del
GLiDE pe pe me e que els p o esso s ambé hi puguin en a i eni accés a una sè ie
d’eines pe de ini pa ides, achie emen s, egles de joc i leade boa ds o bé c ea un nou
componen només accessible pel p o esso a on es po e el ma eix. La ia s’ha e
conside an que no hi ha cap supe posició en e les uncionali a s pe es udian s i p o esso s i
que si es ol expandi el GLiDE, cald à a egi la ges ió pe un nou ipus d’usua i. Pe
aques es aons s’ha decidi desen olupa un nou componen .
13.2. Desen olupamen
Pe desen olupa l’eina d’adminis ació s’ha aga a com a guia el pun 11.8 de la memò ia
del Gami ica ion Engine [7], en conc e els pun s 11.8.1 i 11.8.2, on s’explica el p océs pe
p epa a una pa ida al GLiDE.
En p ime lloc, enim el pun de ges ió gene al, on es pa la de quins elemen s bàsics a
al a iniciali za abans de pode passa a p epa a la gami icació. Aquí s’explica que cal c ea
l’assigna u a, la pa ida, de ini la di icul a pe puja de ni ell i desp és inse i la in o mació
dels alumnes i els seus equips. Pe possibili a això s’ha c ea una in e ície que pe me e
aques s qua e passos.
El p ime és el de la selecció o c eació de l’assigna u a. Aquí l’usua i é la possibili a de
ia d’en e les assigna u es exis en s, com és el cas de la igu a 23, o inse i la in o mació
d’una no a, que és el cas de la igu a 24.
66
[Figu a 23] C eació de pa ida, ia d’assigna u a. Fon : Elabo ació p òpia.
[Figu a 24] C eació de pa ida, c eació d’assigna u a. Fon : Elabo ació p òpia.
El segon és el de la de inició dels a ibu s de la pa ida, que es po eu e a la igu a 25. Aquí
l’usua i po inse i el cu s (posan el p ime any d’aques ), el quad imes e i les da es d’inici i
67
inal de la pa ida. També es é l’opció de ia una al a pa ida pe pode impo a -ne les
egles, al com es eu a la igu a 26.
[Figu a 25] C eació de pa ida, de inició d’a ibu s. Fon : Elabo ació p òpia.
68
[Figu a 26] C eació de pa ida, impo ació de egles. Fon : Elabo ació p òpia.
El e ce és el de la de inició de la polí ica de ni ells, que es po eu e a la igu a 27. En
aques pas es po de ini la quan i a de pun s necessà ia pe puja de cada ni ell, això es a
de inin els pa àme es a, b i c de la següen ó mula:
𝑝𝑢𝑛𝑡𝑠 𝑝𝑒𝑟 𝑝𝑢𝑗𝑎𝑟 𝑎𝑙 𝑛𝑖𝑣𝑒𝑙𝑙 𝑛 = 𝑎·𝑏(𝑛·𝑐)
Pe e el p océs més in uï iu, a la pan alla es mos a la co ba de di icul a , cosa que ens ajuda
a eu e com escala la di icul a de puja de ni ell a mesu a que aques augmen a.
[Figu a 27] C eació de pa ida, polí ica de ni ells. Fon : Elabo ació p òpia.
El qua pas és el de la impo ació d’alumnes i equips, que es po eu e a la igu a 28. Aquí
l’usua i po puja un i xe CSV pe impo a les dades dels alumnes i equips, aques es
se eixen pe c ea els jugado s i equips de la pa ida.
69

[Figu a 28] C eació de pa ida, impo ació d’alumnes i equips. Fon : Elabo ació p òpia.
En segon lloc, enim el pun de p epa ació de la gami icació, on es pa la de com iniciali za
aquells elemen s di ec amen elaciona s a la gami icació: achie emen s, egles i
leade boa ds. En aques cas l’API sí que o e eix c ides pe la se a c eació, en conseqüència,
només ha es a necessa i c ea els o mula is co esponen s, aques s són isibles a les igu es
29, 30 i 31. Un de all és que la c eació de egles o e eix la possibili a de gene a el í ol i
missa ge de mane a au omà ica a pa i de les ca ac e ís iques d’aques a.
70
[Figu a 29] C eació d’achie emen s. Fon : Elabo ació p òpia.
[Figu a 30] C eació de egles. Fon : Elabo ació p òpia.
[Figu a 31] C eació de leade boa ds. Fon : Elabo ació p òpia.
71
A més d’això, ambé s’han a egi o mula is pe edi a egles, leade boa ds i pe a egi
alumnes i equips a una pa ida ja exis en amb l’objec iu de acili a la ges ió del GLiDE pe
pa del p o esso a . Aquí ambé ha e al a a egi no es ope acions a l’API del Gami ica ion
Engine. Les pan alles es poden eu e a les igu es 32 i 33.
[Figu a 32] Edició de egles. Fon : Elabo ació p òpia.
[Figu a 33] Edició de leade boa ds. Fon : Elabo ació p òpia.
Pe desen olupa les no es ope acions s’ha aplica el pa ó Con olado -Se ei-Reposi o i de
la ma eixa mane a que es a pe les ope acions ja exis en s. Això signi ica que, pe exemple,
pe les assigna u es s’ha c ea el con olado i el se ei, el eposi o i ja exis eix. Amb això, les
seqüències de les no es ope acions enen una o ma simila a la de la igu a 34. Pe eu e les
especi icacions d’aques es c ides a l’API es po consul a l’annex A.
72
[Figu a 34] Seqüència pe POST subjec . Fon : Elabo ació p òpia.
També, a l’Admin Tool s’ha aplica el pa ó Single on. Això pe me eni un se ei, del qual
només exis eix una ins ància, des d’on es an o es les c ides al Gami ica ion Engine i al qual
poden accedi o s els componen s. Pe an , la seqüència pe e una c ida a l’API des dels
componen s queden com a la igu a 35.
[Figu a 35] Seqüència pe POST subjec a l’Admin Tool. Fon : Elabo ació p òpia.
73
3. Es copien els i xe s package.json i package-lock.json, on es de ineixen les
dependències, al di ec o i de eball.
4. S’ins al·len les dependències.
5. Es copien la es a de i xe s al di ec o i de eball.
6. Es c ea la build de p oducció de l’aplicació.
Desplegamen de l’aplicació amb nginx:
1. Es ia la ima ge de nginx que es ol u ili za .
2. S’esbo a el i xe de con igu ació pe de ec e de nginx i se subs i ueix pe un
documen amb els con ingu s de la igu a 42. El codi a que a l’ad eça a el se se eixi
el documen index.h ml del nos e p ojec e Angula .
[Figu a 42] Con ingu s del i xe nginx.con . Fon : Elabo ació p òpia.
3. Es copien els i xe s esul an s del mun a ge del p ojec e Angula a la ca pe a h ml de
nginx.
4. Es ma ca en quin po in e n del con enido unciona à el se ido nginx.
5. S’inicia el se ido nginx.
Pe l’Ad anced In e ac ion Backend i el Gami ica ion enim el següen docke ile de la igu a
43.
80

[Figu a 43] Docke ile pels backends del GLiDE. Fon : Elabo ació p òpia.
Aques docke ile ambé é dues pa s:
Mun a ge de l’aplicació:
1. Es ia la ima ge de g adle que es ol u ili za .
2. Es ma ca el di ec o i de eball.
3. Es copien els i xe s de g adle i el codi on al di ec o i de eball.
4. S’execu a la comanda pe gene a el i xe JAR.
Desplegamen de l’aplicació:
1. Es ia la ima ge de JDK que es ol u ili za .
2. Es copia el i xe JAR.
3. S’execu a l’aplicació Ja a.
Si olem e unciona qualse ol d’aques s componen s pe sepa a simplemen a al a use
les comandes “docke build - ‘nom_de_la_ima ge’ .” i “docke un -d ‘nom_de_la_ima ge’”.
A a bé, si olem e unciona o s els componen s del GLiDE a la egada, a al a
u ili za el i xe docke -compose.yml. Aques pe me execu a el GLiDE en se i només la
comanda “docke compose up”.
81
Aques i xe é una p ime a pa on s’execu en els qua e docke iles dels quals s’acaba
de pa la , es ma quen les a iables d’en o n i es de e mina la xa xa pe la qual es
comunica an els componen s. Això es po eu e a la igu a 44.
[Figu a 44] Componen s del GLiDE al docke compose. Fon : Elabo ació p òpia.
Al i xe ambé hi ha el codi que s’enca ega de c ea el con enido de Pos g eSQL i les dues
bases de dades de l’Ad anced In e ac ion Backend i el Gami ica ion Engine. També s’hi a la
de inició de la xa xa pe la comunicació en e con enido s i del olum que man é la
pe sis ència de mane a que no es pe d si s’apaguen els con enido s. Això es po eu e a la
igu a 45.
82
[Figu a 45] Beses de dades, xa xes i olum al compose. Fon : Elabo ació p òpia.
Amb o això, en aixeca o a l’aplicació, el desplegamen queda al com s’indica al diag ama
de la igu a 46.
83
[Figu a 46] Diag ama de desplegamen del GLiDE. Fon : Elabo ació p òpia.
84
15. In o me de Sos enibili a
15.1. Au oa aluació
En con es a l’enques a p opo cionada a GEP, l’au o ha pogu e lexiona sob e els
coneixemen s i les capaci a s que é espec e a les es dimensions de la sos enibili a :
l’econòmica, l’ambien al i la social.
En p ime lloc, aques s aspec es es an ac a de mane a bas an explíci a a una de les
assigna u es cu sades pe l’au o , A qui ec u a del PC (APC). En aques a assigna u a es
plan eja a un escena i, en conc e la cons ucció d’un da a cen e , que calia anali za enin
en comp e les es dimensions. També s’hi elabo a a un es udi sob e algun ema del món de
la in o mà ica on calia eni en conside ació les es dimensions.
A pa d’això, al lla g dels es udis la dimensió ambien al ha es a p esen en múl iples
ocasions, sob e o quan es pa la de ha dwa e. Respec e a això, la con e sa s’ha cen a
sob e o en el ema de l’e-was e (els esidus elec ònics) i l’alumna ha ingu múl iples
ocasions de pa icipa en una inicia i a que hi a on a a és de les jo nades eu ili za de
l’associació Tecnologia pe a To hom (TxT) [27], on o dinado s que hau ien es a desca a s
s’a eglen de mane a que es puguin eu ili za en o a mena de p ojec e.
Pel que a a l’aspec e social, en algunes assigna u es com Aplicacions i Se eis Web
(ASW) i P ojec e d’Enginye ia del So wa e (PES) es desen olupen p ojec es en equip,
d’aques a mane a s’ap enen en p o undi a o s els aspec es del eball col·labo a iu. A més, a
GPS s’em a i za a o ça que el p ojec e apo és algun alo a la socie a , en el cas de l’au o
es a desen olupa una aplicació que anima a a l’usua i a p end e consciència del seu
consum ene gè ic a casa i de mane es de edui -lo.
Respec e a la dimensió econòmica, a pa de l’anàlisi del p essupos que s’ha e en
aques eball, s’ha ingu l’expe iència d’es udia la iabili a i sos enibili a econòmica d’un
p ojec e hipo è ic a l’assigna u a Ges ió de P ojec es de So wa e (GPS).
En e aques a e lexió, l’au o ha es a capaç d’iden i ica algunes mancances en el seu
coneixemen . La p ime a é a eu e amb no es a amilia i za amb l’ús d’indicado s que
pe me en mesu a l’impac e del p ojec e en les es dimensions. La segona é a eu e amb la
di icul a pe iden i ica l’impac e ambien al d’un p ojec e so wa e, ja que du an la ca e a
la dimensió ambien al semp e s’ha cen a més en l’impac e del ha dwa e.
85

15.2. Dimensió econòmica
Has es ima el cos de la eali zació del p ojec e?
Com es po eu e en apa a s an e io s, s’han anali za els cos os pe o el p ojec e. Això ha
suposa conside a els cos os de pe sonal, on s’han ingu en comp e les ho es de eball i els
sala is de cada ol, les despeses en ha dwa e i so wa e i ambé els cos os dels espais de
eball i eunions.
Has p es decisions pe edui el cos ? Has quan i ica aques es al i?
En p ime lloc, s’ha decidi u ili za so wa e g a uï pe desen olupa el p ojec e. A pa
d’això la majo pa del cos del p ojec e e a dedica al cos de pe sonal i l’única mane a de
edui -lo se ia e allan la quan i a d’ho es de eball, cosa que no e a possible.
S’ha ajus a el cos p e is al cos inal?
El cos p e is sí que s’ha ajus a al cos inal, pe eu e els de alls del cos pe po a a e me
el p ojec e es po consul a l’apa a 6.4. Execució del p essupos .
Com es esol el p oblema que ols abo da ? En què millo a à econòmicamen la e a
solució a les exis en s?
Ac ualmen , el més p ope a una al e na i a al GLiDE són eines de ges ió de p ojec es
so wa e, aques es s’han iden i ica quan s’ha e l’anàlisi de l’es a de l’a .
La p incipal millo a econòmica que suposa à aques p ojec e és espec e a la p ime a
e sió del GLiDE, que ins aques momen s’han in e i uns dine s a desen olupa -la, pe ò
com ja s’ha exp essa , aques a no es à lles a pe posa -se en mans d’alumnes i p o esso s, la
no a e sió assegu a que es pugui eu e un alo d’aques a in e sió.
Quin cos es imes que ind à el p ojec e du an la se a ida ú il?
El cos que ind à el p ojec e du an la se a ida ú il e elaciona al seu consum ene gè ic i al
cos d’amplia o ac uali za -lo, pe de e mina aques segon cos a ia al a e ec ua un càlcul
com el que es a a l’apa a 6. P essupos d’aques a memò ia.
S’ha ingu en comp e el cos dels ajus amen s / ac uali zacions / epa acions du an la
ida ú il del p ojec e?
86
Si a al a ajus a o epa a el GLiDE el e que o s els seus componen s es an con ene i za s
signi ica que aques es pod à o na a desplega àcilmen , cosa que signi ica un es al i.
El cos d’ac uali za l’aplicació depend à del emps de desen olupamen , pe ò du an la
eali zació del p ojec e s’ha busca ga an i que l’aplicació sigui man enible i àcil d’amplia ,
això ajuda à a e i a que aques emps s’alla gui massa.
Pod ien p odui -se escena is que pe judiquessin la iabili a econòmica del p ojec e?
No s’ha iden i ica cap isc signi ica iu a la iabili a econòmica del p ojec e.
15.3. Dimensió ambien al
Has es ima l’impac e ambien al que ind à la eali zació del p ojec e? T’has plan eja
minimi za l’impac e?
Aques es ac a d’un p ojec e so wa e que només a se i una ecnologia que po suposa un
impac e ambien al signi ica iu, el se ei d’OpenAI. Els da a cen e s que possibili en la
in el·ligència a i icial emp en una g an quan i a de ecu sos pe se cons uï s, gene en
esidus elec ònics que poden con eni subs àncies pe illoses com plom o me cu i,
consumeixen g ans olums d’aigua pe e ige ació i enen un g an consum elèc ic [28].
To i això, l’ús que a el GLiDE de la in el·ligència a i icial és an meno que no s’ha
conside a un aspec e elle an pe l’impac e ambien al d’aques p ojec e.
Alesho es, l’impac e ambien al que ind à bàsicamen es limi a al consum ene gè ic que
implica à el desen olupamen i eni l’aplicació uncionan .
S’ha conside a com minimi za l’impac e ambien al, pe ò s’ha a iba a la conclusió que
qualse ol acció p esa ind ia un e ec e negligible sob e un impac e que no és signi ica iu.
Si o nessis a e el p ojec e, pod ies eali za -lo amb menys ecu sos?
Conside an l’expe iència que s’ha guanya eali zan aques p ojec e, si aques s’hagués de
o na a e , a ia al a menys emps pe comple a -lo. Pe an , el p incipal ecu s que es
pod ia edui se ia el emps, això ambé implica ia una meno despesa ene gè ica.
Com es esol ac ualmen el p oblema que ols abo da ? En què millo a à
ambien almen la e a solució a les exis en s?
Ac ualmen , el més p ope a una al e na i a al GLiDE són eines de ges ió de p ojec es
so wa e, aques es s’han iden i ica quan s’ha e l’anàlisi de l’es a de l’a .
87
Aques a no a e sió del GLiDE no suposa à cap millo a ambien al eal espec e cap de
les al e na i es que s’han anali za .
El p ojec e pe me à edui l’ús d’al es ecu sos? Globalmen , l’ús del p ojec e
millo a à o empi jo a à l’emp em a ecològica?
El p ojec e no pe me à edui l’ús d’al es ecu sos. Globalmen , no ind à cap impac e
signi ica iu sob e l’emp em a ecològica.
Pod ien p odui -se escena is que essin augmen a l'emp em a ecològica del p ojec e?
L’únic cas que pod ia e augmen a l'emp em a ecològica del p ojec e és si l’elec ici a que
s’u ili za a la màquina on es à desplega el GLiDE es p odueix usan on s d’ene gia no
eno ables.
15.4. Dimensió social
Què c eus que ’apo a à pe sonalmen la eali zació d’aques p ojec e?
Des d'un pun de is a pe sonal, aques p ojec e suposa l’opo uni a pe ap end e a eballa
amb ecnologies que són no es pe l’au o i pe guanya expe iència en in eg a i
desen olupa so wa e. El p ojec e ambé dona a l’au o l'opo uni a d’aplica bones
p àc iques de p og amació i ges ió.
La eali zació d’aques p ojec e ha implica e lexions signi ica i es en l’àmbi pe sonal,
p o essional o è ic de les pe sones que han in e ingu ?
La eali zació d’aques p ojec e no ha implica cap e lexió signi ica i a. El GLiDE
simplemen és una eina que p e én ajuda alumnes en els seus p ojec es de so wa e
desen olupa s en equip.
Com es esol ac ualmen el p oblema que ols abo da ? En què millo a à socialmen la
e a solució a les exis en s?
Ac ualmen , el més p ope a una al e na i a al GLiDE són eines de ges ió de p ojec es
so wa e, aques es s’han iden i ica quan s’ha e l’anàlisi de l’es a de l’a .
La p incipal millo a social que p esen a aques p ojec e és que ajuda à alumnes a eni
una millo expe iència quan desen olupin p ojec es so wa e en equip, ja que ind an una eina
88
que els ajuda a e un seguimen i eu e com assoleixen els objec ius de l’ap enen a ge de
mane a in e ac i a.
Exis eix una necessi a eal del p ojec e?
Sí que exis eix una necessi a eal del p ojec e. Com s’ha menciona en apa a s an e io s, la
e sió o iginal del GLiDE no és usable. Pode posa el GLiDE en uncionamen pe me à
ajuda alumnes a e un millo seguimen dels seus p ojec es.
Qui es bene icia à de l’ús del p ojec e? Hi ha cap col·lec iu que es po eu e pe judica
pel p ojec e? En quina mesu a?
Els p incipals bene icia s de l’ús del p ojec e se an els alumnes que l’u ili zin. El GLiDE els
ajuda à a e un seguimen dels seus p ojec es d’una mane a in e ac i a. No s’ha iden i ica
cap col·lec iu que es pugui eu e pe judica pel p ojec e.
En quina mesu a soluciona el p ojec e el p oblema plan eja inicialmen ?
El p oblema soluciona el p oblema plan eja inicialmen comple amen . En acaba el p ojec e
el GLiDE és plenamen uncional i lles pe a se posa en ús.
Pod ien p odui -se escena is que essin que el p ojec e os pe judicial pe a algun
segmen pa icula de la població?
El GLiDE no p esen a cap uncionali a que pod ia po a a pe judica un segmen pa icula
de la població.
Pod ia c ea el p ojec e alguna mena de dependència que deixés els usua is en posició
de debili a ?
S’ha conside a que el p ojec e no po gene a cap mena de dependència pe judicial pe als
usua is.
89
necessi en els p o esso s al GLiDE, pe an , s’han ana ajus an els equisi s pe assegu a
que el so wa e desen olupa s’ajus és a les se es necessi a s.
18.3. T eball u u
El p ojec e GLiDE enca a p esen a opo uni a s de eball de ca a al u u . La p ime a, i la que
més s’ha oba a al a en aques p ojec e, és pode e un p océs de alidació de l’aplicació.
Hau ia es a ealmen in e essan pode posa el GLiDE en mans d’alumnes i eu e quina
e oacció en donen, cosa que sens dub e ajuda ia a eu e si a al a e ajus os a la in e ície i
ambé se ia ú il pe ajuda a e ina el sis ema de pa ides.
La segona, é a eu e amb amplia la ges ió d’usua is. De ca a als usua is al a ia a egi
l’opció d’edi a el pe il, a egin o mula is pe edi a el seu nom de jugado i pode puja les
ima ges que s’u ili zen com a a a a . També enim que a la no a e sió del GLiDE es poden
c ea a la base de dades alumnes i equips en massa a a és d’un CSV, pe ò al a ia a egi les
eines pe pode e una edició a ni ell més de alla , poden modi ica amb acili a les dades
d’un alumne o equip indi idual.
La e ce a és que alguns concep es de la p ime a e sió del GLiDE no s’han acaba
u ili zan , com pe exemple els subg ups de les assigna u es, alesho es es a ia bé e la eina
d’acaba d’a alua si es ol amplia el GLiDE pe què en aci ús o si es p e e eix elimina -los.
96

19. Re e ències
[1] C. Fa é, L. López, M. O iol, A. Espinola, A. Miñana, i X. F anch, «GLiDE: In eg a ed
Gami ied Lea ning Dashboa d En i onmen », CAiSE Resea ch P ojec s Exhibi ion,
2024, p. 34-42.
[2] A. Volko a, C. Fa é, X. F anch, i J. D. Conejos, «Implan ación de un cuad o de mando
pa a el seguimien o del p og eso de p oyec os so wa e desa ollados po equipos de
es udian es», 2022. Mas e ’s hesis, Uni e si a Poli ècnica de Ca alunya. Disponible a:
h p://hdl.handle.ne /2117/371383
[3] L. L. Cues a, «2023-24 Q2.AMEP», 27 maig 2024. Consul a: 13 oc ub e 2024. [En línia].
Disponible a:
h ps://docs.google.com/p esen a ion/d/1WHUGzZzVDFb_lPzdY14mLVxYib78Rp6WL
3mA-wNi5Uw
[4] L. López e al., «Q-Rapids Tool P o o ype: Suppo ing Decision-Make s in Managing
Quali y in Rapid So wa e De elopmen », en In o ma ion Sys ems in he Big Da a E a,
ol. 317, J. Mendling i H. Mou a idis, Ed., en Lec u e No es in Business In o ma ion
P ocessing, ol. 317. , Cham: Sp inge In e na ional Publishing, 2018, p. 200-208. doi:
10.1007/978-3-319-92901-9_17.
[5] S. De e ding, R. Khaled, L. Nacke, i D. Dixon, «Gami ica ion: Towa d a de ini ion», gen.
2011, p. 12-15.
[6] A. Espinola Ga cia, «GLiDe-I: In eg a ed Gami ied Lea ning Dashboa d En i onmen -
Ad anced In e ac ion», Mas e hesis, Uni e si a Poli ècnica de Ca alunya, 2024.
Consul a: 16 desemb e 2024. [En línia]. Disponible a:
h ps://upcommons.upc.edu/handle/2117/419114
[7] A. Miñana Mon ecino, «GLiDe-G: In eg a ed Gami ied Lea ning Dashboa d
En i onmen  : Gami ica ion Engine», Mas e hesis, Uni e si a Poli ècnica de
Ca alunya, 2024. Consul a: 16 desemb e 2024. [En línia]. Disponible a:
h ps://upcommons.upc.edu/handle/2117/418504
[8] «C ea e P ojec », Taiga - Lo e you p ojec s. Consul a: 22 se emb e 2024. [En línia].
Disponible a: h ps:// ee. aiga.io/p ojec /new
[9] «¿Qué es el con ol de e siones?» Consul a: 13 oc ub e 2024. [En línia]. Disponible a:
h ps://abou .gi lab.com/es/ opics/ e sion-con ol/
[10] A lassian, «Flujo de abajo de Gi low | A lassian Gi Tu o ial», A lassian. Consul a:
13 oc ub e 2024. [En línia]. Disponible a:
h ps://www.a lassian.com/es/gi / u o ials/compa ing-wo k lows/gi low-wo k low
[11] A. Isla, «¿Po qué es una buena idea u iliza Gi Flow?», Medium. Consul a: 22
se emb e 2024. [En línia]. Disponible a:
h ps://willywes.medium.com/po -qu%C3%A9-es-una-buena-idea-u iliza -gi low-c92c5
e7754e0
[12] «Sala io en España - Sala io Medio», Talen .com. Consul a: 4 oc ub e 2024. [En
línia]. Disponible a: h ps://es. alen .com/sala y
[13] «Asus UX530UX-FY021T In el Co e i7-7500U/8GB/256GB SSD/GTX950/15.6"»,
PcComponen es. Consul a: 5 oc ub e 2024. [En línia]. Disponible a:
h ps://www.pccomponen es.com/asus-ux530ux- y021 -in el-co e-i7-7500u-8gb-256gb-s
sd-g x950-156
[14] «Días labo ables calculado a en España | Ca aluña». Consul a: 5 oc ub e 2024. [En
línia]. Disponible a: h ps://www.dias-labo ables.es/Ca alu%C3%B1a.h m#a3
[15] «Plan Sowe - SOWO». Consul a: 5 oc ub e 2024. [En línia]. Disponible a:
h ps://www.sowo.es/plan-sowe /
97
[16] «Commons CSV – Home». Consul a: 2 gene 2025. [En línia]. Disponible a:
h ps://commons.apache.o g/p ope /commons-cs /
[17] «API Clien Lib a y o Ja a | Google o De elope s». Consul a: 18 no emb e 2024.
[En línia]. Disponible a: h ps://de elope s.google.com/api-clien -lib a y/ja a
[18] «Au ho izing o Web | Au ho iza ion», Google o De elope s. Consul a: 18
no emb e 2024. [En línia]. Disponible a:
h ps://de elope s.google.com/iden i y/oau h2/web/guides/o e iew
[19] «ngx- oas », npm. Consul a: 24 no emb e 2024. [En línia]. Disponible a:
h ps://www.npmjs.com/package/ngx- oas
[20] «RxJS - In oduc ion». Consul a: 18 no emb e 2024. [En línia]. Disponible a:
h ps:// xjs.de /guide/o e iew
[21] «Jasmine Documen a ion». Consul a: 14 gene 2025. [En línia]. Disponible a:
h ps://jasmine.gi hub.io/
[22] «JUni 5». Consul a: 14 gene 2025. [En línia]. Disponible a: h ps://juni .o g/juni 5/
[23] «Ka ma - Spec acula Tes Runne o Ja asc ip ». Consul a: 14 gene 2025. [En
línia]. Disponible a: h ps://ka ma- unne .gi hub.io/la es /index.h ml
[24] «Mocki o amewo k si e». Consul a: 14 gene 2025. [En línia]. Disponible a:
h ps://si e.mocki o.o g/
[25] «In eg a ing Google Sign-In in o you web app | Au hen ica ion», Google o
De elope s. Consul a: 3 gene 2025. [En línia]. Disponible a:
h ps://de elope s.google.com/iden i y/sign-in/web/sign-in
[26] «Au hen ica e wi h a backend se e | Au hen ica ion», Google o De elope s.
Consul a: 3 gene 2025. [En línia]. Disponible a:
h ps://de elope s.google.com/iden i y/sign-in/web/backend-au h
[27] «Tecnlogia pe a o hom | Facul a d’In o mà ica de Ba celona». Consul a: 7 oc ub e
2024. [En línia]. Disponible a: h ps:// x .upc.edu/
[28] «AI has an en i onmen al p oblem. He e’s wha he wo ld can do abou ha .»
Consul a: 12 gene 2025. [En línia]. Disponible a:
h ps://www.unep.o g/news-and-s o ies/s o y/ai-has-en i onmen al-p oblem-he es-wha -
wo ld-can-do-abou
[29] «REGLAMENTO (UE) 2016/ 679 DEL PARLAMENTO EUROPEO Y DEL
CONSEJO - de 27 de ab il de 2016 - ela i o a la p o ección de las pe sonas
ísicas en lo que espec a al a amien o de da os pe sonales y a la lib e
ci culación de es os da os y po el que se de oga la Di ec i a 95/ 46/ CE
(Reglamen o gene al de p o ección de da os)», [En línia]. Disponible a:
h ps://www.boe.es/doue/2016/119/L00001-00088.pd
[30] «Ley O gánica 3/2018, de 5 de diciemb e, de P o ección de Da os Pe sonales y
ga an ía de los de echos digi ales.», se . 2020, Consul a: 24 no emb e 2024. [En línia].
Disponible a: h ps://www.boe.es/busca /pd /2018/BOE-A-2018-16673-consolidado.pd
[31] «10.- Modi icació de la No ma i a sob e els D e s de la P opie a Indus ial i
In el·lec ual de la UPC.pd ». Consul a: 25 no emb e 2024. [En línia]. Disponible a:
h ps://go e n.upc.edu/ca/consell-de-go e n/consell-de-go e n/sessio-05-2022-del-consel
l-de-go e n/comissio-deconomia-i-in aes uc u es/ap o acio-de-la-modi icacio-de-la-no
ma i a-sob e-els-d e s-de-la-p opie a -indus ial-i-in el-lec ual-de-la-upc/ap o acio-de-l
a-modi icacio-de-la-no ma i a-sob e-els-d e s-de-la-p opie a -indus ial-i-in el-lec ual-de
-la-upc/@@display- ile/ isible ile/10.-%20Modi icaci%C3%B3%20de%20la%20No ma
i a%20sob e%20els%20D e s%20de%20la%20P opie a %20Indus ial%20i%20In el%
C2%B7lec ual%20de%20la%20UPC.pd
[32] «P opie a in el·lec ual dels eballs acadèmics UPC | Biblio ècnica». Consul a: 25
no emb e 2024. [En línia]. Disponible a:
98
h ps://biblio ecnica.upc.edu/p opie a -in ellec ual/p opie a -in ellec ual- eballs-academic
s-upc# i ula i a -p opie a -indus ial-in ellec ual- eball-academic- g- m-o- eball-assign
a u a
[33] «Apache License, Ve sion 2.0». Consul a: 25 no emb e 2024. [En línia]. Disponible
a: h ps://www.apache.o g/licenses/LICENSE-2.0
[34] «Open Sou ce Licenses 101: Apache License 2.0 - FOSSA», Dependency Hea en.
Consul a: 25 no emb e 2024. [En línia]. Disponible a:
h ps:// ossa.com/blog/open-sou ce-licenses-101-apache-license-2-0/
99
Annex
Annex A. Documen ació de les API
En eali za aques p ojec e ha e al a a egi no es c ides a les API de l’Ad anced
In e ac ion Backend i el Gami ica ion Engine pe pode implemen a les no es uncionali a s
del GLiDE. Aques es no es c ides queden documen ades a con inuació.
Annex A1. Ad anced In e ac ion Backend
Ope ació pe aconsegui o es les accions a aluables:
Mè ode
Endpoin
GET
/api/gami ica ion/e aluableAc ions
Respos es (applica ion/json)
Codi
Desc ipció
200
OK: Lis o E aluableAc ionDTO objec s.
[
{
"id": "LDTM-Tasks_s anda d_de ia ion",
"name": " asks_sd",
"desc ip ion": "Pe cen age o a ia ion in he numbe o asks
be ween eam membe s",
"ca ego y": "Playe Pe o mance",
"assessmen Le el": "Team",
"sou ceDa aTool": "Lea ningDashboa d",
"sou ceDa aAPIEndpoin ": "/me ics/*/cu en ?p j=*"
}
]
[Taula 15] Especi icació GET e aluable ac ions. Fon : Elabo ació p òpia.
Ope ació pe impo a les dades d’alumnes i equips a pa i d’un i xe CSV:
Mè ode
Endpoin
POST
/api/impo Da a
Pa àme es de la sol·lici ud
Nom
Tipus
gameSubjec Ac onym
S ing
gameCou se
In ege
gamePe iod
S ing
100
Cos de la sol·lici ud (mul ipa / o m-da a)
Nom
Tipus
impo edDa a
Mul ipa File
Respos es (applica ion/json)
Codi
Desc ipció
201
CREATED: Success ully impo ed da a.
409
CONFLICT: In alid CSV eco d.
[Taula 16] Especi icació POST impo da a. Fon : Elabo ació p òpia.
Ope ació pe aconsegui o es les leade boa ds d’una pa ida:
Mè ode
Endpoin
GET
/api/leade boa ds
Pa àme es de la sol·lici ud
Nom
Tipus
gameSubjec Ac onym
S ing
gameCou se
In ege
gamePe iod
S ing
Respos es (applica ion/json)
Codi
Desc ipció
200
OK: Lis o Leade boa dDTO objec s.
[
{
"id": 1,
"name": "AMEP 2024 Quad imes e 1 wo k dis ibu ion
leade boa d",
"s a Da e": "2024-09-02",
"endDa e": "2024-12-31",
"assessmen Le el": "Team",
"ex en ": "Subjec ",
"anonymiza ion": "Full",
"s uden Visible": ue,
"achie emen Id": 1
}
]
[Taula 17] Especi icació GET leade boa ds. Fon : Elabo ació p òpia.
101

Ope ació pe modi ica el pe íode pel qual es mos en les mè iques his ò iques pe un usua i:
Mè ode
Endpoin
PATCH
/api/playe s/{playe name}/moni o ing/selec edDa es
Pa àme es de u a
Nom
Tipus
playe name
S ing
Pa àme es de la sol·lici ud
Nom
Tipus
s a Da e
S ing
endDa e
S ing
Respos es (applica ion/json)
Codi
Desc ipció
200
OK: Playe Moni o ingDTO objec .
{
"id": 1,
"playe name": "playe .name",
"s a Da e": "2024-12-01",
"endDa e": "2024-12-31",
"selec edMe ics": "accep ance_c i e a_check",
"selec edHis o yMe ics": "accep ance_c i e a_check",
"selec edBa Me ics": "accep ance_c i e a_check"
}
404
NOT FOUND: Indi idual playe wi h gi en id no ound.
[Taula 18] Especi icació PATCH selec ed da es. Fon : Elabo ació p òpia.
Ope ació pe e login d’un usua i:
Mè ode
Endpoin
POST
/api/s uden s/login
Heade s
Nom
Tipus
idToken
S ing
Respos es (applica ion/json)
Codi
Desc ipció
102
200
OK: Login success ul.
400
BAD REQUEST: No idToken was p o ided.
401
UNAUTHORIZED: Issue e i ying idToken.
404
NOT FOUND: S uden use no ound.
[Taula 19] Especi icació POST login. Fon : Elabo ació p òpia.
Ope ació pe aconsegui els di e en s jugado s d’un usua i (dona que un alumne po cu sa
múl iples assigna u es on s’u ili za el GLiDE):
Mè ode
Endpoin
GET
/api/s uden s/playe s
Heade s
Nom
Tipus
idToken
S ing
Respos es (applica ion/json)
Codi
Desc ipció
200
OK: Lis o Indi idualPlaye DTO objec s.
[
{
"playe name": "playe .name",
"poin s": 10,
"le el": 1,
" ype": "Indi idual",
" ole": "S uden ",
" eamPlaye name": "TeamName",
"p ojec ": "P ojec Name",
"lea ningdashboa dUse name": "ld.use name",
"gi hubUse name": "gi hub.use name",
" aigaUse name": " aiga.use name"
}
]
400
BAD REQUEST: No idToken was p o ided.
401
UNAUTHORIZED: Issue e i ying idToken.
404
NOT FOUND: S uden use no ound.
[Taula 20] Especi icació GET s uden playe s. Fon : Elabo ació p òpia.
Annex A2. Gami ica ion Engine
Ope ació pe c ea una no a pa ida:
103
Mè ode
Endpoin
POST
/api/games
Cos de la sol·lici ud (mul ipa / o m-da a)
Nom
Tipus
subjec Ac onym
S ing
cou se
In ege
pe iod
S ing
s a Da e
S ing
endDa e
S ing
i s Le elPolicyPa ame e
Floa
secondLe elPolicyPa ame e
Floa
hi dLe elPolicyPa ame e
Floa
Respos es (applica ion/json)
Codi
Desc ipció
201
CREATED: GameDTO objec .
{
"subjec Ac onym": "AMEP",
"cou se": 2024,
"pe iod": "Quad imes e 1",
"s a Da e": "2024-09-02",
"endDa e": "2024-12-31",
"le elPolicyFunc ionPa ame e s": [
1,
1.4,
2
],
"s a e": "Playing"
}
404
NOT FOUND: Subjec wi h he gi en subjec ac onym no
ound.
409
CONFLICT: (1) Game pa ame e s canno be blank. (2) The gi en
game al eady exis s.
[Taula 21] Especi icació POST game. Fon : Elabo ació p òpia.
Ope ació pe edi a una pa ida:
Mè ode
Endpoin
104
PUT
/api/games
Cos de la sol·lici ud (mul ipa / o m-da a)
Nom
Tipus
subjec Ac onym
S ing
cou se
In ege
pe iod
S ing
s a Da e
S ing
endDa e
S ing
Respos es (applica ion/json)
Codi
Desc ipció
200
OK: GameDTO objec .
{
"subjec Ac onym": "AMEP",
"cou se": 2024,
"pe iod": "Quad imes e 1",
"s a Da e": "2024-09-02",
"endDa e": "2024-12-31",
"le elPolicyFunc ionPa ame e s": [
1,
1.4,
2
],
"s a e": "Playing"
}
404
NOT FOUND: Game wi h he gi en iden i ie no ound.
409
CONFLICT: In alid da e pa ame e s.
[Taula 22] Especi icació PUT game. Fon : Elabo ació p òpia.
Ope ació pe c ea un nou g up d’una pa ida:
Mè ode
Endpoin
POST
/api/gameG oups
Cos de la sol·lici ud (mul ipa / o m-da a)
Nom
Tipus
gameSubjec Ac onym
S ing
gameCou se
In ege
105
404
NOT FOUND: Da e ule wi h he gi en id no ound.
[Taula 30] Especi icació DELETE da e ule. Fon : Elabo ació p òpia.
Ope ació pe edi a una egla de da es:
Mè ode
Endpoin
PUT
/api/ ules/da es/{id}
Pa àme es de u a
Nom
Tipus
id
Long
Cos de la sol·lici ud (mul ipa / o m-da a)
Nom
Tipus
name
S ing
epe i ions
In ege
s a Da e
S ing
endDa e
S ing
gameSubjec Ac onym
S ing
gameCou se
In ege
gamePe iod
S ing
e aluableAc ionId
S ing
achie emen Assignmen
Message
S ing
achie emen Assignmen Only
Fi s Time
Boolean
achie emen Assignmen
Condi ion
S ing
achie emen Assignmen
Condi ionPa ame e s
Lis <Floa >
achie emen Assignmen Uni s
In ege
achie emen Assignmen
Assessmen Le el
S ing
Respos es (applica ion/json)
112

Codi
Desc ipció
200
OK: Da eRuleDTO objec .
{
"id": 1,
"name": "Minimum Task Assignmen Th eshold",
" ype": "Simple",
" epe i ions": 1,
"s a Da e": "2024-12-01",
"endDa e": "2024-12-31",
"gameSubjec Ac onym": "AMEP",
"gameCou se": 2024,
"gamePe iod": "Quad imes e 1",
"e aluableAc ionId": "LDIM-S uden _ asks",
"achie emen Id": 1,
"achie emen Assignmen Message": "To ensu e equi able
dis ibu ion o wo kload, each s uden mus be assigned mo e
han 12% o he o al asks in he p ojec . This ule p omo es
balanced pa icipa ion and encou ages collabo a i e e o among
all s uden s.",
"achie emen Assignmen OnlyFi s Time": alse,
"achie emen Assignmen Condi ion":
"ValueG ea e ThanO EqualTo",
"achie emen Assignmen Condi ionPa ame e s": [
0.20
],
"achie emen Assignmen Uni s": 10,
"achie emen Assignmen Assessmen Le el": "Indi idual"
}
400
BAD REQUEST: (1) The gi en game pe iod name no a alid
pe iod ype (Only a ailable: Quad imes e 1, Quad imes e 2); (2)
The gi en achie emen assignmen condi ion name no a alid
condi ion ype (Only a ailable: ValueG ea e Than,
ValueLessThan, ValueEqualTo, ValueG ea e ThanO EqualTo,
ValueLessThanO EqualTo, ValueOu sideO Range,
ValueInsideO Range); (3) The gi en numbe o achie emen
assignmen condi ion pa ame e s no he expec ed by he
condi ion ype; (4) The gi en achie emen assignmen
assessmen le el name no a alid playe ype (Only a ailable:
Team, Indi idual).
404
NOT FOUND: (1) Game wi h he gi en subjec ac onym, cou se
and pe iod no ound; (2) E aluable ac ion wi h he gi en id no
ound; (3) Achie emen wi h he gi en id no ound; (4) No da e
ule exis s wi h he gi en Id.
409
CONFLICT: (1) Da e ule name canno be blank; (2) Da e ule
epe i ions canno be less han 1; (3) Da e ule s a da e canno
be pos e io o da e ule end da e.
[Taula 31] Especi icació PUT da e ule. Fon : Elabo ació p òpia.
Ope ació pe consul a o es les assigna u es de inides:
113
Mè ode
Endpoin
GET
/api/subjec s
Respos es (applica ion/json)
Codi
Desc ipció
200
OK: Lis o Subjec DTO objec s
[
{
"ac onym": "AMEP",
"code": 340379,
"name": "Ampliació a l’Enginye ia del P og ama i",
"school": "340-EPSEVG",
"s udies": "340GREIN18"
}
]
[Taula 32] Especi icació GET subjec s. Fon : Elabo ació p òpia.
Ope ació pe c ea una assigna u a:
Mè ode
Endpoin
POST
/api/subjec
Cos de la sol·lici ud (mul ipa / o m-da a)
Nom
Tipus
ac onym
S ing
code
In ege
name
S ing
school
S ing
s udies
S ing
Respos es (applica ion/json)
Codi
Desc ipció
201
CREATED: Subjec DTO objec
{
"ac onym": "AMEP",
"code": 340379,
"name": "Ampliació a l’Enginye ia del P og ama i",
"school": "340-EPSEVG",
"s udies": "340GREIN18"
}
409
CONFLICT: (1) Subjec ac onym canno be blank. (2) The gi en
114
subjec ac onym is al eady used.
[Taula 33] Especi icació POST subjec . Fon : Elabo ació p òpia.
115
Annex B. Models concep uals de la p ime a e sió del GLiDE
[Figu a 47] Model concep ual de la ges ió gene al. Fon : [7]
116
[Figu a 48] Model concep ual de la p epa ació de gami icació. Fon : [7]
117

[Figu a 49] Model Concep ual de l’Ad anced In e ac ion. Fon : [6]
118
Annex C. Reposi o is de Gi Hub
Reposi o i de l’Ad anced In e ac ion F on end:
● h ps://gi hub.com/Lea ning-Dashboa d/GLiDe-F on end
Reposi o i de l’Ad anced In e ac ion Backend:
● h ps://gi hub.com/Lea ning-Dashboa d/GLiDe-Backend
Reposi o i del Gami ica ion Engine:
● h ps://gi hub.com/Lea ning-Dashboa d/GLiDe-Gami ica ion-Engine
Reposi o i de l’Admin Tool:
● h ps://gi hub.com/Lea ning-Dashboa d/GLiDe-Admin
119
Annex D. Manual pe desplega el GLiDE
Ins al·lació de Docke
El p ime pas pe pode a enca el GLiDE és ins al·la Docke , du an aques p ojec e s’ha
e se i Docke Desk op que es po oba al següen enllaç:
● h ps://www.docke .com/
Simplemen , a al a execu a l’ins al·lado i segui els passos que su en. En acaba això ja
podem execu a Docke Desk op.
C eació de les c edencials d’au o i zació
El segon pas és c ea les c edencials d’au o i zació de Google. Les ins uccions pe
aconsegui això són les següen s:
1. Ana a la Google Cloud Pla o m Console (h ps://console.cloud.google.com/?hl=es).
2. C ea un nou p ojec e.
3. Ana a la pàgina APIs & se ices i selecciona C eden ials.
4. C ea una no a c edencial OAu h clien ID pe aplicacions web.
Desp és d’ha e comple a les ins uccions podem aconsegui l’iden i icado del clien
OAu h, aques ens a à al a més enda an .
Descà ega i con igu ació
Pe acili a el desplegamen s’ha c ea un nou eposi o i a Gi Hub que inclou o el codi del
GLiDE, el i xe docke -compose.yml i i xe s addicionals que pe me en c ea les bases de
dades de l’Ad anced In e ac ion Engine i el Gami ica ion Engine. Senzillamen , a al a
desca ega o clona el següen eposi o i:
● GLiDE Deploy: h ps://gi hub.com/SnappySM/GLiDe-Deploy
Desp és hem d’ana al di ec o i on es oba el codi i c ea -hi un i xe .en . En aques
de ini em la con asenya de la base de dades, l’iden i icado del clien OAu h (que hem
aconsegui en passos an e io s i, si olem pode u ili za les uncionali a s d’IA gene a i a, el
oken de l’API d’OpenAI. Els con ingu s del .en han de eni la següen o ma:
120
DB_PASSWORD=con asenya
GOOGLE_CLIENT=id-clien -oau h
OPENAI_API_KEY=api-key-openai
Posada en ma xa
Finalmen , només a al a ob i una consola al di ec o i on es oba el codi i execu a la
comanda “docke compose up”, això engega à o s els con enido s. Si ob im Docke Desk op
eu em que enim l’es uc u a de la igu a 11, en aques momen pod em u ili za el GLiDE.
[Figu a 50] Con enido s uncionan a Docke Desk op. Fon : Elabo ació p òpia.
121