id191841
CREACIÓ D'UN SISTEMA SAAS PER A
VOTACIONS ELECTRÒNIQUES
SARA MÉNDEZ BRAVO
Di ec o /a
MARTACUATRECASASCAPDEVILA(UNIVERSITATPOLITÈCNICADECATALUNYA)
Ponen :MANUELRELLOSALTOR(Depa amen d'Enginye iadeSe eisiSis emesd'In o mació)
Ti ulació
G auenEnginye iaIn o mà ica(Enginye iadelSo 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
´
Index
1 Con ex 10
1.1 In oducci´o ................................ 10
1.2 De inici´o del p oblema . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Ac o simplica s.............................. 12
2 Jus i icaci´o 13
3 Abas 14
3.1 Objec ius ................................. 14
3.2 Requisi s uncionals............................ 15
3.3 Requisi s no uncionals . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Riscos ................................... 18
4 An`alisi d’al e na i es 21
4.1 Elecci´o del model de se ei . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 Tecnologies pe al desen olupamen web . . . . . . . . . . . . . . . . 22
4.3 Pla a o mes pe al me a e s . . . . . . . . . . . . . . . . . . . . . . . 23
4.4 Conclusi´o ................................. 23
5 Especi icaci´o de equisi s 24
5.1 Casosd’´us................................. 24
5.1.1 Comp a de o acions . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.2 Pa icipaci´o en o acions . . . . . . . . . . . . . . . . . . . . . 27
5.2 Diag ama de classes d’especi icaci´o . . . . . . . . . . . . . . . . . . . 31
5.2.1 Res iccions ex uals . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.2 Desc ipci´o de les classes . . . . . . . . . . . . . . . . . . . . . 32
6 Disseny del sis ema 37
6.1 A qui ec u a del sis ema . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2 A qui ec u a del Backend . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3 Pa ons de disseny u ili za s . . . . . . . . . . . . . . . . . . . . . . . 41
6.4 Dissenydel on end ........................... 43
6.4.1 Diag ames de Seq¨u`encia . . . . . . . . . . . . . . . . . . . . . 43
6.5 In eg aci´o amb Minec a . . . . . . . . . . . . . . . . . . . . . . . . . 46
7 Ges i´o del isc: Plans al e na ius i obs acles 50
8 Plani icaci´o 53
8.1 Can is espec e a la plani icaci´o inicial . . . . . . . . . . . . . . . . . 53
8.2 Jus i icaci´o dels can is i plani icaci´o de ini i a . . . . . . . . . . . . . 53
8.3 Impac e en els objec ius i desen olupamen del p ojec e . . . . . . . . 53
8.4 Impac e en els cos os del p ojec e . . . . . . . . . . . . . . . . . . . . 54
8.5 Es a ac ual del p ojec e . . . . . . . . . . . . . . . . . . . . . . . . . 54
9 Me odologia i igo 55
10 P essupos 56
2
10.1 Cos de pe sonal pe ac i i a (CPA) . . . . . . . . . . . . . . . . . . 56
10.2Amo i zacions .............................. 58
10.3Cos osgene als .............................. 58
10.4Con ing`encies ............................... 59
10.5Imp e is os ................................ 60
10.6 Es imaci´o dels cos os . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.7Con oldeges i´o ............................. 61
11 In o me de sos enibili a 62
11.1 Dimensi´o econ`omica . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
11.2 Dimensi´o ambien al . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
11.3Dimensi´osocial .............................. 64
12 `
A ees legals i no ma i es elle an s 66
12.1 P o ecci´o de dades pe sonals . . . . . . . . . . . . . . . . . . . . . . . 66
12.2 Segu e a en els sis emes de pagamen . . . . . . . . . . . . . . . . . 66
12.3 D e s d’au o i p opie a in el·lec ual ................. 66
12.4 Llei de se eis digi als i accessibili a . . . . . . . . . . . . . . . . . . 67
12.5 No ma i a sob e ideojocs i en o ns i uals . . . . . . . . . . . . . . 67
13 In eg aci´o de coneixemen s 68
13.1 Disseny i a qui ec u a del sis ema . . . . . . . . . . . . . . . . . . . . 68
13.2 Desen olupamen Web i Backend . . . . . . . . . . . . . . . . . . . . 68
13.3 Enginye ia de Requisi s i Ges i´o . . . . . . . . . . . . . . . . . . . . . 68
13.4 In eg aci´o de Solucions C ea i es . . . . . . . . . . . . . . . . . . . . 68
13.5 P ojec e i Col·labo aci´o......................... 68
14 Conclusions 69
14.1 Assolimen dels objec ius . . . . . . . . . . . . . . . . . . . . . . . . . 69
14.2Valo aci´ope sonal ............................ 69
14.3Fu u esampliacions............................ 70
15 Annex 71
15.1 Manual d’usua i pel Plugin Minec a . . . . . . . . . . . . . . . . . . 71
15.1.1 Ins al·laci´o de Minec a . . . . . . . . . . . . . . . . . . . . 71
15.1.2 Con igu aci´o del Plugin . . . . . . . . . . . . . . . . . . . . . . 73
15.1.3 Ob enci´o del Token . . . . . . . . . . . . . . . . . . . . . . . . 75
15.1.4InicideSessi´o........................... 76
15.1.5 P oc´es de Vo aci´o . . . . . . . . . . . . . . . . . . . . . . . . . 77
15.1.6 Resul a s de la Vo aci´o . . . . . . . . . . . . . . . . . . . . . . 79
3
´
Index de Figu es
1 Casos d’´us del sis ema. Elabo aci´o p `opia. . . . . . . . . . . . . . . . 24
2 Diag ama de classes d’especi icaci´o. . . . . . . . . . . . . . . . . . . . 31
3 Diag ama d’a qui ec u a. Fon : TFG: C eaci´o de l’en o n d’au en i-
caci´o i ges i´o d’usua is al sis ema de o aci´o d’Ek a os en minec a . . 38
4 Exemple d’´us del pa ´o P omesa. Fon : Elabo aci´o p `opia. . . . . . . 42
5 Diag ama de seq¨u`encia pe la comp a d’un se ei. Fon : Elabo aci´o
p `opia.................................... 44
6 Cap u a de pan alla de la p`agina p incipal del p ojec e web. Fon :
Elabo aci´op `opia. ............................ 45
7 Cap u a de pan alla elecci´o de pagamen de la web. Fon : Elabo aci´o
p `opia.................................... 45
8 Cap u a de pan alla in o ma i a de la web. Fon : Elabo aci´o p `opia. . 46
9 Diag ama de l’a qui ec u a del plugin de Minec a . Fon : Elabo aci´o
p `opia.................................... 47
4
´
Index de Taules
1 Facili a d’´us. Fon : Elabo aci´o p `opia . . . . . . . . . . . . . . . . . 15
2 Escalabili a i endimen . Fon : Elabo aci´o p `opia . . . . . . . . . . . 16
3 Segu e a i p i aci a . Fon : Elabo aci´o p `opia . . . . . . . . . . . . . 16
4 Fiabili a i disponibili a . Fon : Elabo aci´o p `opia . . . . . . . . . . . 17
5 Man enimen i supo . Fon : Elabo aci´o p `opia . . . . . . . . . . . . 17
6 Desc ipci´o cas d’´us CU1 (Elabo aci´o p `opia). . . . . . . . . . . . . . . 25
7 Desc ipci´o cas d’´us CU2 - Selecciona can i d’idioma (Elabo aci´o p `opia). 26
8 Desc ipci´o cas d’´us CU3 - Login a Minec a (Elabo aci´o p `opia). . . 27
9 Desc ipci´o cas d’´us CU4 - Vo a dins de Minec a (Elabo aci´o p `opia). 28
10 Desc ipci´o cas d’´us CU5 - Veu e esul a s dins de Minec a (Elabo a-
ci´op `opia). ................................ 29
11 Desc ipci´o cas d’´us CU6 - Logou de Minec a (Elabo aci´o p `opia). . 30
12 Cos os de pe sonal. Elabo aci´o p `opia. . . . . . . . . . . . . . . . . . 56
13 Cos os pe ac i i a amb ho es dedicades. Elabo aci´o p `opia. . . . . . 57
14 Taula d’amo i zacions del ha dwa e i so wa e. Elabo aci´o p `opia. . . 58
15 Taula de cos os gene als. Elabo aci´o p `opia. . . . . . . . . . . . . . . 59
16 Taula d’imp e is os amb assignaci´o de ols. Elabo aci´o p `opia . . . . 60
17 P essupos o al del p ojec e amb con ing`encies. Elabo aci´o p `opia . 60
5
Resum
Aques T eball de Final de G au, desen olupa en el ma c del g au en Enginye ia
In o m`a ica a la Facul a d’In o m`a ica de Ba celona (FIB), ´e com a objec iu el
desen olupamen d’una pla a o ma SaaS pe ges iona el p oc´es de comp a del se ei
de o acions elec `oniques de l’emp esa `
Ek a os. El p ojec e combina una in e ´ıcie
in u¨ı i a amb un sis ema de pagamen s in eg a , mi jan¸can PayPal i S ipe, pe a-
cili a una expe i`encia d’usua i e icien i segu a. Addicionalmen , la soluci´o explo a
la inco po aci´o de Minec a com a me a e s pe expandi el se ei, o e in una ex-
pe i`encia imme si a que connec a els usua is amb un en o n digi al que els pe me
eali za la o aci´o d’una mane a m´es isual i in u¨ı i a.
6
Resumen
Es e T abajo de Final de G ado, desa ollado en el ma co del g ado en Ingenie ´ıa
In o m´a ica en la Facul ad de In o m´a ica de Ba celona (FIB), iene como obje i o
el desa ollo de una pla a o ma SaaS pa a ges iona el p oceso de comp a del se -
icio de o aciones elec ´onicas de la emp esa `
Ek a os. El p oyec o combina una
in e az in ui i a con un sis ema de pagos in eg ado (median e PayPal y S ipe) pa a
acili a una expe iencia de usua io e icien e y segu a. Adem´as, la soluci´on explo a
la inco po aci´on de Minec a como me a e so pa a expandi el se icio, o eciendo
una expe iencia inme si a que conec a a los usua ios con un en o no digi al que les
pe mi e ealiza la o aci´on de una mane a m´as isual e in ui i a.
7
Abs ac
This Final Deg ee Thesis, de eloped wi hin he amewo k o he Compu e Science
deg ee a he Ba celona School o In o ma ics (FIB), aims o de elop a SaaS pla o m
o manage he pu chase p ocess o he elec onic o ing se ice o e ed by he com-
pany `
Ek a os. The p ojec combines an in ui i e use in e ace wi h an in eg a ed
paymen sys em ( ia PayPal and S ipe) o ensu e an e icien and secu e use expe i-
ence. Addi ionally, he solu ion explo es he in eg a ion o Minec a as a me a e se
o expand he se ice, o e ing an imme si e expe ience ha connec s use s wi h a
digi al en i onmen enabling hem o o e in a mo e isual and in ui i e way.
8
Ag a¨ımen s
P ime amen , ull exp essa el meu ag a¨ımen als di ec o s d’aques eball, la Ma a
Cua ecasas i el Manuel Rello, pel seu supo i dedicaci´o du an o es les ases del
p ojec e. La se a expe i`encia i consells han es a claus pe du a e me aques a eina
amb `exi .
Tamb´e ull ag ai als meus companys de p ojec e, el Rica d Vi˜nas i el Lucas Valen,
pe la se a col·labo aci´o, es o ¸c i companyia al lla g d’aques eball. Ha es a un
plae compa i aques a expe i`encia amb osal es.
Vold ia dona les g `acies a o l’equip de l’inLab FIB, pe ha e -me acolli . T eballa
amb aques equip m’ha pe m`es c ´eixe an a ni ell p o essional com pe sonal.
Finalmen , ull e un econeixemen especial a la me a am´ılia i amics, pe sem-
p e es a al meu cos a , o e in -me el seu supo incondicional, especialmen en els
momen s m´es in ensos. G `acies pe c eu e en mi i ajuda -me a a iba on s´oc a ui.
9
•RNF2: Escalabili a i endimen
N´ume o Vole e 6a
Desc ipci´o El sis ema ha de se escalable pe supo a un nomb e
c eixen d’usua is i a la egada man eni un bon endi-
men .
Jus i icaci´o S’ha de ga an i que el sis ema pugui ges iona inc e-
men s en el nomb e d’usua is sense empi jo a la quali-
a en l’expe i`encia d’usua i.
Condici´o de sa is-
acci´o
Ha de supo a ins a 1000 usua is concu en s..
M`e ode de alida-
ci´o
Reali za p o es de c`a ega amb el m`axim nomb e d’u-
sua is possibles simul `aniamen .
Taula 2: Escalabili a i endimen . Fon : Elabo aci´o p `opia
•RNF3: Segu e a i p i aci a
N´ume o Vole e 9a
Desc ipci´o S’han de p o egi les dades pe sonals i ga an i la p i a-
ci a del o .
Jus i icaci´o La segu e a i la p i aci a s´on equisi s legals i `e ics
s’han de compli pe p o egi l’usua i en o momen .
Condici´o de sa is-
acci´o
Assegu a l’anonima dels o s.
M`e ode de alida-
ci´o
P o es de segu e a eali zades pe l’equip d’´
Ek a os.
Taula 3: Segu e a i p i aci a . Fon : Elabo aci´o p `opia
16
•RNF4: Fiabili a i disponibili a
N´ume o Vole e 5a
Desc ipci´o Hem de p opo ciona un sis ema disponible du an o
el pe ´ıode de les o acions, sense in e upcions.
Jus i icaci´o Les in e upcions pod ien gene a insa is acci´o en els cli-
en s i p`e dua de con ian¸ca en el sis ema.
Condici´o de sa is-
acci´o
Ga an i una disponibili a del 99.9% du an les sessions
de o aci´o.
M`e ode de alida-
ci´o
Moni o i za la disponibili a del sis ema du an les p o-
es.
Taula 4: Fiabili a i disponibili a . Fon : Elabo aci´o p `opia
•RNF5: Man enimen i supo
N´ume o Vole e 7a
Desc ipci´o S’ha de p opo ciona un codi ben documen a pe aci-
li a el man enimen i les u u es ac uali zacions.
Jus i icaci´o Teni una bona documen aci´o edueix el cos i el emps
de man enimen i millo es.
Condici´o de sa is-
acci´o
P opo ciona una documen aci´o ac uali zada amb exem-
ples i guies d’´us.
M`e ode de alida-
ci´o
Cal que o s els memb es de l’equip de desen olupamen
ex e n alidin la cla eda i la cobe u a de la documen-
aci´o p opo cionada.
Taula 5: Man enimen i supo . Fon : Elabo aci´o p `opia
17
3.4 Riscos
A con inuaci´o, s’enume en possibles iscos a l’ho a de desen olupa aques p ojec e.
La de ecci´o p oac i a dels iscos ens pe me `a implemen a mesu es de mi igaci´o
adequades, assegu an que el p ojec e es man ingui dins dels e minis, p essupos os
i equisi s de quali a es able s. En e els iscos iden i ica s, podem des aca els
seg¨uen s:
RISC 001. Complicacions `ecniques en la in eg aci´o amb ´
Ek a os
•Desc ipci´o: Poden so gi complicacions du an la in eg aci´o del sis ema de
o aci´o amb el sis ema d’´
Ek a os, especialmen si hi ha can is inespe a s en les
se es API o in aes uc u a.
•P obabili a : Mode ada. To i ha e una comunicaci´o ac i a amb l’equip
d’´
Ek a os, poden ha e modi icacions que no a ibin a se modi icades.
•Impac e: Una mala in eg aci´o po p o oca una mala expe i`encia d’usua i i
pe dua de dades, a m´es d’ende e i conside ablemen el p ojec e. Indicado s:
Els indicado s p incipals que eu iem se ien un augmen en els e o s HTTP
quan el sis ema accedeixi a l’API d’´
Ek a os i eu iem dades inconsis ens en el
sis ema.
•Es a `egies de p e enci´o: Una opci´o pod ia se e eunions pe i`odiques
amb l’equip d’´
Ek a os pe pa la de qualse ol can i eali za .
•Plans de mi igaci´o: Fe solucions p o isionals, com modes de eball descon-
nec a s, pe assegu a el uncionamen en cas de eni p oblemes amb l’API.
RISC 002: Vulne abili a s de segu e a
•Desc ipci´o: Exis eix el isc de que les ulne abili a s puguin se explo ades,
aix`o pod ia comp ome e les dades pe sonals dels usua is, els esul a s de les
o acions o el co ec e uncionamen del sis ema.
•P obabili a : Mode ada. Malg a la implemen aci´o de bones p `ac iques de
segu e a , cap sis ema ´es del o immune a ulne abili a s.
•Impac e: Po compo a una p`e dua de con ian¸ca pe pa dels usua is, san-
cions legals pe incomplimen de no ma i es de p i adesa i la in e upci´o del
se ei.
•Indicado s: Un indicado pod ia se un augmen dels in en s d’acc´es no au-
o i za egis a s als logs del sis ema.
•Es a `egies de p e enci´o: Es poden aplica eines d’an`alisi de ulne abili a s
pe iden i ica i soluciona ulne abili a s abans que siguin explo ades.
•Plans de mi igaci´o: Es po de ini un pla de ecupe aci´o que pe me i es au-
a el sis ema a un es a ope a iu.
18
RISC 003: Can is en els equisi s
•Desc ipci´o: En el cas que ´
Ek a os modi iqui els equisi s du an el desen-
olupamen del sis ema de o aci´o, s’hau ien de ees uc u a els eballs ja
eali za s, gene an e a ds en el p ojec e i a ec an la quali a del p oduc e
inal.
•P obabili a : Mode ada. To i ha e una plani icaci´o inicial, les necessi a s
del clien poden can ia en qualse ol momen , en que haguem d’adap a -nos
a les nomes necessi a s.
•Impac e: La ees uc u aci´o del p ojec e jun amen amb a egi nous equisi s
po p o oca un ende imen dels emps de lliu amen .
•Indicado s: En aques cas l’indicado se ia la documen aci´o de can is en els
equisi s pe pa d’´
Ek a os.
•Es a `egies de p e enci´o: La millo soluci´o se ia man eni una comunicaci´o
egula amb l’equip d’´
Ek a os, amb eunions pe i`odiques pe es a al dia de
qualse ol possiblecan i en els equisi s.
•Plans de mi igaci´o: Abans d’aplica can is g ans es poden desen olupa
p o o ips i e p o es de concep e, aix´ı alidem la iabili a dels nous equisi s
sense comp ome e o el p ojec e.
RISC 004. Compa ibili a
•Desc ipci´o: Po ha e p oblemes de compa ibili a en e el sis ema de o aci´o
i les di e en s e sions de Minec a , o al es sis emes u ili za s pe ´
Ek a os.
•P obabili a : Mode ada-Al a. Po ha e alguna ac uali zaci´o de Minec a o
d’al es sis emes i les di e `encies en e les e sions poden gene a incompa ibi-
li a s imp e is es.
•Impac e: Po p o oca e o s de uncionali a en el sis ema de o aci´o, a ec-
an l’expe i`encia d’usua i i la con ian¸ca en el sis ema. Po p o oca amb´e un
ende imen dels emps de lliu amen pe pode soluciona les incompa ibili a s.
•Indicado s: Apa ici´o d’in o mes d’e o s elaciona s amb la compa ibili a a
de e minades uncionali a s en algunes e sions de Minec a .
•Es a `egies de p e enci´o: Teni un con ol sob e les ac uali zacions de Mi-
nec a i al es sis emes que u ili za i ´
Ek a os pe de ec a can is que a ec in
la compa ibili a .
•Plans de mi igaci´o: Desen olupa solucions p o isionals o pa ches pe ga-
an i la con inu¨ı a del se ei en les no es e sions.
19
RISC 005. Quali a del p og ama i La p es`encia d’e o s no de ec a s a emps
po a ec a el uncionamen del sis ema, causan una mala expe i`encia pels usua is.
•Desc ipci´o: La p es`encia d’e o s o bugs no de ec a s a emps poden a ec a
nega i amen el uncionamen del sis ema, causan una mala expe i`encia pels
usua is.
•P obabili a : Baixa. To i e una e isi´o igo osa du an el desen olupamen ,
en p ojec es amb ce a complexi a `ecnica poden ha e incid`encies imp e is es.
•Impac e: Aques s e o s poden p o oca una mala expe i`encia d’usua i, de-
c emen de con ian¸ca i, ins i o , la p`e dua de clien s.
•Indicado s: Alguns cla s indicado s pod ien se augmen en el nomb e de
queixes pe pa dels clien s du an el p oc´es de comp a, o b´e, du an el p oc´es
de o aci´o.
•Es a `egies de p e enci´o: Es poden aplica di e ses opcions, una d’elles
se ia implemen a p o es uni `a ies pe es eja el codi, o b´e, eali za p o es
d’usabili a amb usua is pe aix´ı iden i ica els e o s abans del llan¸camen .
•Plans de mi igaci´o: La millo opci´o ´es de ini un equip de espos a pe
co egi e o s desp ´es del desplegamen .
20
4 An`alisi d’al e na i es
En aques cap´ı ol s’anali zen les di e en s al e na i es ecnol`ogiques i es a `egiques
conside ades du an el desen olupamen del p ojec e, i es jus i iquen les decisions
iades pe ga an i una bona soluci´o.
4.1 Elecci´o del model de se ei
Necessi `a em un model de se ei que pe me ´es a ´
Ek a os o e i els seus se eis de
o aci´o de mane a accessible pels clien s i sense comp ome e la segu e a o la quali a
del sis ema.
•Al e na i es conside ades:
– Model SaaS (So wa e as a Se ice): P opo ciona se eis al n´u ol
accessibles des de qualse ol disposi iu amb connexi´o a in e ne .
∗Pun s o s: Acc´es `acil idesde qualse ol disposi iu amb connexi´o a
in e ne , ´e un cos inicial baix i acili a les u u es ac uali zacions i
el seu man enimen . Meno cos inicial.
∗Pun s ebles: T´e ce es limi acions en quan a la pe sonali zaci´o i
cus omi zaci´o i, dep`en de que hi hagi acc´es a in e ne .
– Model PaaS (Pla o m as a Se ice): o e eix una pla a o ma comple-
a pe al desen olupamen i desplegamen d’aplicacions pe sonali zades.
∗Pun s o s: O e eix una millo pe sonali zaci´o d’aplicacions i ´es m´es
lexible pel desen olupamen de solucions.
∗Pun s ebles: A lla g e mini es po necessi a m´es ecu sos i, pe
an , se m´es cos osa. Tamb´e ´e una co ba d’ap enen a ge majo pe
al desplegamen i man enimen .
•Opci´o adop ada:
Es a escolli el model SaaS pe la se a acili a , pel seu meno cos inicial i
pe qu`e ens acili a les u u es ac uali zacions del sis ema. Enca a que el model
PaaS hau ia dona una majo lexibili a i ajus amen , e a menys a ac iu a
causa de la necessi a d’op imi za cos os i emps de desen olupamen . El
model SaaS s’alinea m´es amb l’objec iu d’´
Ek a os de simpli ica el p oc´es pels
usua is, men e que PaaS hau ia eque i m´es ecu sos dedica s a la ges i´o de
pla a o ma.
21
4.2 Tecnologies pe al desen olupamen web
Es necessi a a una soluci´o pe al desen olupamen de la in e ´ıcie web que ens pe -
me ´es c ea un sis ema in u¨ı iu, de `acil man enimen i que no eque ´ıs una g an
co ba d’ap enen a ge.
•Al e na i es conside ades:
– F amewo ks Ja aSc ip (com Vue.js o Reac ): amewo ks mo-
de ns i po en s pe al desen olupamen del on -end amb uncionali a s
a an¸cades.
∗Pun s o s: Ens o e eixen uncionali a s a an¸cades pe al desen o-
lupamen , enen amb´e una g an comuni a i hi ha un bon supo pe
l’in eg aci´o.
∗Pun s ebles: Hi ha una co ba d’ap enen a ge i ´es necessi a emps
pe domina -los, aix`o po po a complexi a al p ojec e.
– Tecnologies cl`assiques (Node.js, HTML, CSS): en ocamen mini-
malis a i senzill que combina se ido i clien sense necessi a d’u ili za
amewo ks addicionals.
∗Pun s o s: S´on una opci´o m´es senzilla i `apida pe a desen olupa ,
no cal una o maci´o en no es ecnologies.
∗Pun s ebles: P opo ciona menys lexibili a a l’ho a de c ea in-
e ´ıcies d’usua i, ´es limi an pe a p ojec es m´es complexos.
•Opci´o adop ada:
Es a op a pe desen olupa l’in e ´ıcie g `a ica amb els llengua ges de Node.js,
HTML i CSS. Es a decidi aix`o pe la se a implemen aci´o m´es senzilla i pe qu`e
suposa a menys emps de desen olupamen . To i que ha e u ili za els llen-
gua ges de Vue.js i Reac hau ia p opo ciona una expe i`encia m´es din`amica i
po se m´es escalable a lla g e mini, l’´us de ecnologies m´es cl`assiques ens ha
pe mes un desplegamen `apid i sense necessi a una o maci´o en al es ecno-
log´ıes.
22
4.3 Pla a o mes pe al me a e s
E a necess`a ia una pla a o ma imme si a i cus omi zable pe in eg a -hi el sis ema
de o acions d’´
Ek a os, en possible que els usua is o in des de la pla a o ma.
•Al e na i es conside ades:
– Minec a : pla a o ma al amen pe sonali zable, `ampliamen coneguda
i accessible.
∗Pun s o s: P opo ciona una g an lexibili a i pe sonali zaci´o dels
en o ns, a m´es de se una pla a o ma mol popula i amb una g an
comuni a d’usua is. El seu cos d’ap enen a ge ´es m´es baix que el
d’al es pla a o mes.
∗Pun s ebles: Te ce es limi acions en casos mol complexes i po
sembla una pla a o ma ”menys se iosa”que al es.
– Al es en o ns i uals (com Decen aland o Roblox): o e eixen
en o ns imme sius, pe `o amb limi acions `ecniques i cos oses in eg acions.
∗Pun s o s: Donen g ans possibili a s d’in eg aci´o amb uncionali-
a s complexes, a m´es de se en ons imme sius i mode ns.
∗Pun s ebles: Augmen en el cos de desen olupamen , eque eixen
d’una especiali zaci´o p `e ia pe pode eballa amb ells.
•Opci´o adop ada: inalmen , l’opci´o escollida a se la d’u ili za Minec a .
La decisi´o a se impulsada p incipalmen pe l’emp esa ´
Ek a os que pe mo ius
de m`a que ing ho an p e e i , pe qu`e ´es una pla a o ma mol popula i amb
una base d’usua is consolidada.
Des d’una pe spec i a `ecnica, Minec a ens o e ia amb´e mol es opcions de
pe sonali zaci´o i lexibili a a l’ho a de dissenya l’en o n i ual. L’equip de
l’InLab am op a pe u ili za la e si´o Ja a en comp es de la Bed ock pe qu`e
la e si´o Ja a ens pe me ia e modi icacions d’una mane a m´es c`omoda.
Pe al a banda, les al e na i es de Decen aland o Roblox amb´e e en iables,
pe `o es a conside a que l’in eg aci´o se ia m´es complexe i que el cos e a majo .
4.4 Conclusi´o
Les decisions que s’han p es en aques p ojec e, busquen sob e o simpli ica el cos
i ajus a els equisi s. To i aix`o, s’ha de eni en comp e que en se un p ojec e
desen olupa pe a una al a emp esa, ´
Ek a os, hi ha decisions que s’han hagu de
p end e col·labo a i amen amb l’emp esa, buscan un in e `es com´u. Aix`o inclou
an la selecci´o del model SaaS, com les ecnologies u ili zades pel desen olupamen ,
com l’elecci´o del ideojoc de Minec a com a pla a o ma pe al me a e s.
Aques es decisions han ajuda a ajus a el desen olupamen a les necessi a s que
eque ia el clien , assegu an que el esul a compleixi els seus objec ius i equisi s
inicials.
23
5 Especi icaci´o de equisi s
En aques cap´ı ol p esen em l’especi icaci´o del sis ema, incloen els casos d’´us, el
diag ama de classes d’especi icaci´o, les se es es iccions ex uals i la desc ipci´o de
les classes.
5.1 Casos d’´us
Un cop anali za s els equisi s uncionals i no uncionals, cal iden i ica i explica els
casos d’´us p incipals. Com podem eu e a la seg¨uen igu a, s’han oba un o al de
sis. A con inuaci´o s’expliquen cada un d’ells.
Figu a 1: Casos d’´us del sis ema. Elabo aci´o p `opia.
24
5.1.1 Comp a de o acions
Cas d’´
us CU1 - Regis a no a o aci´o
Ac o p incipal Comp ado
Dispa ado L’usua i ol adqui i el se ei de o aci´o.
P econdicions
1. L’usua i ha d’in odui les dades demanades (email, domini
i nomb e de pa icipan s).
2. El domini ha de se ´unic i no p ohibi .
Escena i p incipal
1. L’usua i in odueix les dades necess`a ies al o mula i.
2. El sis ema alida les dades in odu¨ıdes.
3. L’usua i selecciona el m`e ode de pagamen , po se PayPal
o S ipe.
4. El sis ema p ocessa el pagamen i con i ma la comp a.
5. El sis ema a isa a l’API d’ek a os de la ansacci´o, i el seu
sis ema ´es qui en ia un co eu elec `onic amb la in o maci´o
d’acc´es a la pla a o ma.
Ex ensions
1a. Les dades in odu¨ıdes s´on inco ec es o incomple es: el sis-
ema no i ica l’e o i pe me co eccions.
2a. El pagamen alla: el sis ema no i ica l’e o i o e eix ein-
en a l’ope aci´o.
Taula 6: Desc ipci´o cas d’´us CU1 (Elabo aci´o p `opia).
25
5.2.1 Res iccions ex uals
Les seg¨uen s es iccions assegu en la alidesa del sis ema:
•RT1 - Els codis de descomp e han de se ´unics i no eu ili zables.
•RT2 - Un codi de descomp e nom´es po se aplica si es `a ac iu i no ha expi a .
•RT3 - La da a del pagamen ha de se pos e io o igual a la da a d’aplicaci´o
del cup´o.
•RT4 - Un cup´o nom´es es po aplica una egada pe pagamen .
•RT5 - Els pagamen s s´on disjun s: un pagamen ha de se ´unicamen de ipus
PayPal o S ipe.
•RT6 - Els comp ado s poden es a associa s a m´ul iples pagamen s, pe `o cada
pagamen ha d’es a associa a un ´unic comp ado .
•RT7 - La opci´o d’un o pe any a la o aci´o del ma eix.
•RT8 - El clien que u ili za un codi es el ma eix clien que a la comp a.
•RT9 - El p euFinal es calcula com a (p eu * numPa icipan s) * (1 - descomp e).
•RT10 - numPa icipan s >= 1.
•RT11 - 0 <descomp e <1.
5.2.2 Desc ipci´o de les classes
Pe acili a -ne la comp ensi´o, el diag ama d’especi icaci´o es di ideix en dos blocs
p incipals:
•Vo acions: Inclou les classes enca egades de ep esen a i ges iona les o a-
cions dins del sis ema.
•En i a s i pagamen s: Blocs esponsables de ges iona els pagamen s asso-
cia s a les o acions.
32
A con inuaci´o, es p esen a una desc ipci´o de les classes que o men el sis ema, segons
el diag ama UML an e io .
Usua i
En el sis ema, la classe Usua i ac ua com la base pe a ep esen a una pe sona
que in e ac ua amb el sis ema. Un usua i po eni di e sos ols, depenen de la
se a pa icipaci´o dins del sis ema. Els ols de Clien iVo an s´on especiali zacions
d’aques a classe. El sis ema ha de pe me e que un usua i pugui se clien i Vo an
alho a, ja que una pe sona po eali za comp es i pa icipa en les o acions.
A ibu s clau:
•El nom ico eu s´on necessa is pe iden i ica i con ac a amb l’usua i.
Subclasses:
•Clien : Po eali za pagamen s i comp a se eis.
•Vo an : Po pa icipa en les o acions.
Pe me escalabili a del sis ema, ja que els usua is poden assumi m´ul iples ols al
lla g del emps.
Vo aci´o
La classe Vo aci´o ep esen a el p oc´es p incipal del sis ema. Aques a classe ´es el
pun de pa ida pe a la pa icipaci´o dels usua is en el sis ema de o aci´o.
A ibu s clau:
•idVo aci´
o: Pe me iden i ica la o aci´o.
•da a ini ida a i: Es ableixen els l´ımi s empo als dins els quals els usua is
poden pa icipa en la o aci´o.
•es a : Indica l’es a de la o aci´o, ´es a di , si es `a obe a, ancada o inali zada.
Les elacions amb Opci´o iVo an ga an eixen que cada o aci´o es igui o mada pe
di e ses opcions i que cada o an pugui egis a el seu o en el sis ema. La elaci´o
amb En i a mos a com aques es es an composades pe les o acions co esponen s.
A m´es, ´e dues elacions amb Vo an pe mos a aques s dos aspec es:
•Relaci´o amb els po encials o an s: Inclou o s els usua is que poden pa icipa
en la o aci´o.
•Relaci´o amb els o an s eals: Rep esen a un subconjun del conjun an e io i
nom´es inclou els o an s que han em`es el seu o .
33
Opci´o
Les Opcions s´on una pa clau del sis ema, s´on els elemen s sob e els quals els
o an s p enen decisions. Aques es opcions ep esen en les espos es possibles a una
o aci´o i es an associades a una o aci´o espec´ı ica.
Relacions clau:
•Cada Opci´o o ma pa d’una Vo aci´o, els usua is nom´es poden o a en les
opcions disponibles dins d’una o aci´o.
En i a
La classe En i a ep esen a el sis ema de ges i´o de o acions adqui i pel clien , ´es
a di , amb el sis ema SaaS els clien s poden adqui i una en i a . Aques a en i a
pe me al clien c ea , ges iona i supe isa o s els p ocessos de o aci´o que desi gin
en una ma eixa o gani zaci´o, pe `o aques es uncionali a s es eali zen amb se eis
d’´
Ek a os.
A ibu s clau:
•El domini se eix com iden i icado de l’en i a , que acili a l’acc´es dins del
sis ema.
A m´es, la elaci´o amb Vo aci´o indica que una en i a po ges iona di e ses o acions,
men e que la elaci´o amb Vo an implica que l’en i a po eni di e sos usua is
pa icipan en les o acions. Aix´ı les en i a s no nom´es de ineixen les o acions, sin´o
que amb´e acili en el p oc´es de pa icipaci´o.
Pagamen
Els Pagamen s s´on necessa is pe a la ges i´o econ`omica del sis ema. Aques a clas-
se egis a els pagamen s eali za s pels usua is. Les especiali zacions Pagamen -
Paypal iPagamen S ipe pe me en adap a el sis ema a di e en s m`e odes de
pagamen , pe me en di e ses opcions de pagamen .
Relacions clau:
•Cada pagamen es `a associa a una Comp a, que a la egada es `a associada a
unClien , aix`o ga an eix que les ansaccions es egis in co ec amen i siguin
a ibu¨ıdes a la pe sona que ha eali za el pagamen .
Clien
El Clien ´es una subclasse de la classe Usua i, que es dedica a eali za comp es
dins del sis ema.
A ibu s clau:
•Els a ibu s he e a s de Usua i, com el nom i el co eu, ga an eixen la iden i-
icaci´o i comunicaci´o amb el clien .
A m´es, la elaci´o amb En i y desen olupa en una classe anomenada Comp a, que
pe me ges iona les ansaccions eali zades. Aix`o acili a un seguimen p ec´ıs de
les in e accions inance es dins del sis ema.
34
Comp a
La Comp a ep esen a una ansacci´o que in oluc a un Clien i una En i a , es a-
blin la connexi´o en e el clien que adqui eix el sis ema i l’o gani zaci´o que ges iona
les o acions. Aques a classe ecull in o maci´o essencial pe a ges iona i supe isa
els p ocessos d’adquisici´o dins del sis ema.
A ibu s clau:
•numPa icipan s (In ege ): Nomb e de pa icipan s que el clien po in-
clou e en les o acions.
•da a ini (Da e): Da a d’inici de la comp a, indican quan comen¸ca el se ei
con ac a .
•da a i (Da e): Da a de inali zaci´o de la comp a, es ablin el pe ´ıode de
alidesa del se ei.
•p euFinal (Floa ): Impo o al de la comp a, incloen -hi descomp es apli-
ca s.
Relacions clau:
•Relaci´o amb Clien : Cada Comp a es `a associada a un ´unic clien , indican
qui ha eali za la ansacci´o.
•Relaci´o amb En i a : La Comp a es `a inculada a una En i a , ep esen an
el domini que el clien ha adqui i .
Pe me ges iona les ansaccions econ`omiques i el se ei p opo ciona , assegu an
que els clien s inguin acc´es a les uncionali a s co esponen s dins del pe ´ıode espe-
ci ica .
Cup´o
El Cup´o ep esen a un descomp e que els Clien s poden u ili za pe ob eni a an-
a ges econ`omics en les se es comp es.
A ibu s clau:
•codi (S ing): Iden i icado ´unic del cup´o, que pe me e i ica la se a ali-
desa i aplicaci´o.
•descomp e (Floa ): Quan i a que es descomp a del p eu inal d’una comp a.
•da a caduci a (Da e): Da a l´ımi pe u ili za el cup´o, es ablin la se a
alidesa empo al.
Relacions clau:
•Relaci´o amb Clien : Un Cup´o po se u ili za pe un clien , qui ´es bene icia
pel descomp e en les se es ansaccions. Aques a elaci´o desen olupa en la
classe Cup´o u ili za
35
Cup´o U ili za
El Cup´o U ili za ep esen a l’aplicaci´o d’un Cup´o pe un Clien en una ansacci´o
espec´ı ica. Aques a classe assegu a que els cupons nom´es es poden u ili za dins dels
l´ımi s es able s.
A ibu s clau:
•nom (S ing): Iden i icado del clien que ha u ili za el cup´o.
•codi (S ing): Iden i icado del cup´o que ha es a u ili za .
•descomp eAplica (Floa ): Quan i a del descomp e e ec i amen aplica
en la comp a.
Relacions clau:
•Relaci´o amb Cup´o: Cada Cup´o U ili za es `a associa al cup´o o iginal que
a se aplica .
•Relaci´o amb Comp a: Un Cup´o U ili za es `a incula a una comp a es-
pec´ı ica, assegu an que el descomp e s’apliqui co ec amen a la ansacci´o.
•Relaci´o amb Clien : Pe me iden i ica quin clien ha u ili za el cup´o en una
comp a conc e a.
Ens pe me man eni un egis e de alla de com s’u ili zen els cupons en el sis ema,
assegu an la anspa `encia en la ges i´o dels descomp es.
36
6 Disseny del sis ema
Aques apa a desc iu el disseny del sis ema, incloen -hi la se a a qui ec u a, els
pa ons de disseny implemen a s, i el disseny de la in e ´ıcie g `a ica.
6.1 A qui ec u a del sis ema
L’a qui ec u a del sis ema es basa en el model clien -se ido , on els elemen s clau
s´on el plugin de Minec a in eg a amb un se ei SaaS.
Com s’ha di , l’a qui ec u a del sis ema es basa en el model clien -se ido , que inclou
di e sos componen s essencials. En aques a a qui ec u a, el Clien Web o e eix una
in e ´ıcie g `a ica pe a la in e acci´o de l’usua i amb el sis ema. El backend, en can i,
ges iona la l`ogica del sis ema i s’enca ega de la comunicaci´o amb l’API d’´
Ek a os. A
m´es, hi ha el plugin de Minec a , que s’enca ega del p ocessamen d’esde enimen s
dins del joc, enlla¸can -lo amb la pla a o ma de o aci´o i assegu an la sinc oni zaci´o
d’esde enimen s en emps eal.
L’a qui ec u a clien -se ido ´es un pa ´o de disseny que dis ibueix les uncionali a s
d’un sis ema en e dos componen s p incipals: el clien i el se ido . Aques model
sepa a les esponsabili a s pe millo a l’escalabili a , la segu e a i el endimen dels
sis emes. Els p o ocols de comunicaci´o es able s en e el clien i el se ido s´on
HTTP o TCP/IP.
Els componen s p incipals d’aques model s´on:
•Clien : Aques componen ´es qui inicia la sol·lici ud i in e ac ua di ec amen
amb l’usua i. Po p end e la o ma an d’una aplicaci´o m`obil com d’una in-
e ´ıcie web. El clien ´es qui sol·lici a se eis o dades al se ido , les mos a a
l’usua i i s’enca ega de que l’expe i`encia d’usua i sigui bona.
•Se ido : Aques componen ´es qui espon a les sol·lici uds del clien . P o-
po ciona di e en s ecu sos com se eis, dades o uncionali a s espec´ı iques.
P ocessa les pe icions i e o na els esul a s al clien .
A an a ges de l’A qui ec u a Clien -Se ido :
L’a qui ec u a clien -se ido o e eix di e sos a an a ges:
•Descen ali zaci´o de esponsabili a s: El clien i el se ido enen asques
sepa ades.
•Escalabili a : Es poden a egi m´es clien s o e millo es al se ido sense
a ec a el sis ema global.
•Segu e a : El se ido po implemen a mecanismes de segu e a com el con-
ol d’acc´es.
•Man enibili a : El codi del clien i el se ido es poden desen olupa i man-
eni pe sepa a .
•In e ope abili a : El clien po in e ac ua amb di e sos se ido s.
37
Aplicaci´o en el P ojec e: En aques p ojec e, l’a qui ec u a clien -se ido s’ha
aplica de la seg¨uen mane a: El backend a de se ido , aques se ido o e eix se eis
a dos ipus de clien s: l’aplicaci´o web, que p opo ciona la in e ´ıcie g `a ica a l’usua i,
i el plugin de Minec a , que ges iona els esde enimen s dins del joc.
La comunicaci´o en e l’aplicaci´o web i el se ido s’ha du a e me amb pe icions
HTTPS. El plugin de Minec a , pe la se a banda, en ia dades i pe icions al se ido ,
amb pe icions HTTPS i mi jan¸can WebSocke s, aix`o ha pe mes la sinc oni zaci´o
d’esde enimen s en emps eal.
Figu a 3: Diag ama d’a qui ec u a. Fon : TFG: C eaci´o de l’en o n d’au en icaci´o i
ges i´o d’usua is al sis ema de o aci´o d’Ek a os en minec a .
Aques a a qui ec u a inclou els seg¨uen s elemen s clau:
•Clien Web: ´
Es l’in e ´ıcie g `a ica amb la qual in e ac uen els cliens que olen
adqui i el se ei de o aci´o. Les ecnologies u ili zades pel seu desen olupa-
men han es a : HTML, CSS, i Node.js.
La se a unci´o ´es la de mos a la in o maci´o al clien i ges iona les accions
que aques eali za.
•Backend: ´
Es lenca ega de ges iona la l`ogica del sis ema i la comunicaci´o
amb l’API d’Ek a os. S’ha desen olupa ´unicamen amb el llengua ge de No-
de.js.
´
Es l’adminis ado del p oc´es de les pe icions que es eben del clien web i del
plugin de Minec a i, a m´es, ha de ges iona les espos es pe inen s. La comu-
nicaci´o es eali za mi jan¸can pe icions HTTPS i WebSocke s. En el backend
es oben amb´e les u es pe a les ope acions elacionades amb el sis ema de
o aci´o, els pagamen s i els codis de descomp e.
38
•plugin de Minec a : Un plugin de Minec a ´es una ex ensi´o de p og ama i
que modi ica o a egeix uncions i elemen s dins del joc en un se ido conc e .
Els plugins pe me en ajus a egles dins del joc, con ola esde enimen s o
in eg a sis emes ex e ns.
El plugin de Minec a ´es l’enca ega de ges iona els esde enimen s dins del
joc de Minec a . El plugin ecull les dades dels esde enimen s que succeeixen
dins del joc i les en ia al backend, ga an in aix´ı una sinc oni zaci´o de les dades
a emps eal.
6.2 A qui ec u a del Backend
El backend ´es el nucli del sis ema, com ja s’ha di an e io men , ´es l’enca ega
del ges ionamen de la l`ogica de negoci, la comunicaci´o amb l’API d’´
Ek a os i el
ac amne de les pe icions an del clien web com del plugin de Minec a .
El desen olupamen del backend es `a e amb Node.js, s’ha ap o i a el seu en o n
as´ınc on i basa en esde enimen s. Aix`o ha esul a mol ´u il pe ac a les pe icions
an de la web com del plugin de Minec a .
El ou ing de Node.js ha es a e amb Exp ess.js [11], que ´es un amewo k que
pe me de ini les u es d’una mane a senzilla.
Pa s p incipals del backend:
•Vo ing Es ac a de les uncions pe ges iona les o acions de Minec a .
S’enca ega del maneig de pe icions HTTP que els usua is poden eali za in-
e ac uan amb el sis ema i, a m´es, in e ac ua amb la API d’´
Ek a os pe en ia
i alida els esul a s de les o acions.
•Ek a os S’enca ega de ges iona la c eaci´o d’en i a s, alida els cupons de
descomp e, i eali za les ope acions de e i icaci´o de dades..
•Paymen s: ´
Es la pa enca egada de la ges i´o de pagamen s a a ´es de
PayPal i S ipe, u ili zan di ec amen l’API REST de cada una. Ges iona
amb´e els eembo samen s en cas que la comp a no s’e ec iu exi osamen .
In eg aci´o amb Minec a :
El plugin de Minec a in e ac ua amb el backend sob e o amb pe icions HTTP, aix`o
´es el que pe me als usua is pa icipa en o acions di ec amen des del joc.
•Login El p oc´es d’au en icaci´o es po ges iona de dues mane es di e en s. La
p ime a e isi´o es la que a desen olupa un company al seu TFG i ula : C ea-
ci´o de l’en o n d’au en icaci´o i ges i´o d’usua is al sis ema de o aci´o d’´
Ek a os
en Minec a . Aques eball, a e possible que es gene ´es un codi QR di-
ec amen a Minec a i aques e po a a a una web que ell ha ia c ea pe
au en ica -se.
To i que a a no em se i aques m`e ode de la ma eixa mane a, ell a e
la l`ogica p incipal del login, a a s’ha adap a pe qu`e els usua is puguin inicia
sessi´o di ec amen u ili zan el oken que ob enen a la pla a o ma d’´
Ek a os.
•Vo acions A a ´es de la u a POST / o e el pluguin li en ia al backend les
dades de la o aci´o i ´es el backend qui in e ac ua amb l’API d’´
Ek a os pe
en ia -li els esul a s inals.
39
Ru es del Backend: El backend o e eix di e sos pun s d’acc´es pe als clien s,
incloen el clien web i el plugin. A con inuaci´o es mos en algunes de les u es
p incipals:
•GET /: Re o na un missa ge pe comp o a que el se ido es `a ac iu.
•GET /loadVo ing: Ca ega la con igu aci´o i in o maci´o inicial de la o aci´o.
•GET / esul s: Re o na els esul a s de la o aci´o.
•POST / o e: En ia el esul a de la o aci´o escolli .
•POST / ese : Res ableix o null els esul a s de la o aci´o, ´es una unci´o de
ca `ac e in e n.
•GET /cuponIn o: Valida i ob ´e el descomp e del codi de descomp e in odu¨ı
pel clien .
•GET /checkEn i yName: Comp o a si el nom d’en i a in odu¨ı pel clien no
es `a en us i si es `alid.
•GET /loginVo e : Pe me l’inici de sessi´o dels o an s.
•POST /handleS ipe: Ges iona les ope acions del pagamen amb S ipe.
•GET /cap u eS ipe: Cap u a els pagamen s e s amb S ipe.
•POST /handlePaypal: Ges iona les ope acions del pagamen amb Paypal.
•POST /cap u ePaypal: Cap u a els pagamen s e s amb Paypal.
40
6.3 Pa ons de disseny u ili za s
Pe al d’assegu a un codi eu ili zable i `acil de man eni , s’han aplica di e sos
pa ons de disseny, en e els quals des aquen:
•Pa ´o Fac o y: El pa ´o Fac o y ´es un pa ´o de disseny que pe me c ea
objec es de mane a lexible i encapsulada. En lloc de c ea objec es di ec amen
a a ´es del cons uc o de la classe, el pa ´o Fac o y u ili za una `ab ica pe
c ea els objec es. Aques pa ´o ´es ´u il quan la c eaci´o d’objec es ´es complexa
o dep`en de condicions, ja que pe me cen ali za la l`ogica de c eaci´o i e i a
duplicacions de codi.
Aques pa ´o s’ha e se i pe a la c eaci´o dels m`e odes de pagamen , pe me-
en aix´ı di e en s m`e odes de pagamen sense necessi a de con`eixe els de alls
de la se a implemen aci´o. El clien nom´es a una sol·lici ud, que s’enca ega
de decidi quin ipus d’objec e c ea segons les necessi a s.
To i que en el p ojec e no s’implemen a un pa ´o Fac o y comple amb una
`ab ica cen ali zada, el sis ema segueix un en ocamen semblan al Fac o y,
ja que es decideix din`amicamen quin objec e c ea (pe exemple, ‘paypal-
Paymen Handle ‘ o ‘s ipePaymen Handle ‘) en unci´o de la u a o ipus de
sol·lici ud. Aques en ocamen ´e di e ses simili uds amb el pa ´o Fac o y:
– C eaci´o d’objec es cen ali zada: La l`ogica de c eaci´o dels objec es es
cen ali za a les u es, e i an la duplicaci´o de codi en di e sos llocs.
– Desacoblamen de la l`ogica de c eaci´o d’objec es: El clien no
necessi a sabe com es c een les ins `ancies, nom´es eali za una sol·lici ud
i el sis ema decideix quin c ea .
– Facili a d’ampliaci´o en el u u : Si en el u u es ol a egi un nou
m`e ode de pagamen , nom´es cal c ea un nou handle i ac uali za les
u es pe inco po a -lo, sense ha e de modi ica el codi exis en .
Aques en ocamen encapsula la c eaci´o dels objec es de pagamen i segueix
una es uc u a que pe me a egi nous m`e odes de pagamen en un u u , sense
necessi a de modi ica el codi exis en , cosa que ´es una ca ac e ´ıs ica comuna
en el pa ´o Fac o y.
•Pa ´o P omesa: El pa ´o P omesa s’u ili za pe ges iona ope acions as´ınc ones,
pe me en que les accions que poden iga emps (com accedi a la base de
dades o eali za una c ida a un se ei ex e n) es eali zin sense bloqueja el
lux de l’aplicaci´o. En lloc de bloqueja el p og ama men e espe a la espos a
d’una ope aci´o, el pa ´o P omesa pe me que el codi con inu¨ı execu an -se i
que, una egada l’ope aci´o es igui comple a, es ges ioni el esul a .
El pa ´o P omesa s’u ili za pe millo a l’expe i`encia de l’usua i, ja que hi
ha ope acions (com la connexi´o amb se eis ex e ns ) es ges ionen de mane-
a as´ınc ona. Aix`o pe me a l’usua i eb e espos es immedia es i con inua
in e ac uan amb el sis ema men e espe a el esul a de l’ope aci´o.
El codi mos a a la igu a ´es un exemple del pa ´o P omesa en el meu co-
di, e en Node.js. En aques cas, el pa ´o es mani es a mi jan¸can l’´us de la
41
Desc ipci´o de les classes
Les classes que apa eixen de colo e mell al diag ama an e io , s´on aquelles p o-
po cionades pe la API de Bukki /Spigo [12], que ´es un en o n de desen olupamen
pe a Minec a . Aques es classes no han sigu c eades pe aques p ojec e, pe `o
s´on necess`a ies pel seu uncionamen , ja que p opo cionen les eines i els mecanismes
necessa is pe in e ac ua amb amb Minec a .
•Playe : Rep esen a els jugado s dins del plugin de Minec a . Ens dona in-
o maci´o sob e la se a ubicaci´o, el seu in en a i i els elemen s amb els que
in e ac ua.
•Ja aPlugin: ´
Es una classe ”base”que de ineix un plugin a l’en o n de Bukki /S-
pigo . ´
Es la que ens pe me iniciali za , ges iona i egis a o s els esde eni-
men s dins del pluguin.
•CommandExecu o : Aques a in e ´ıcie s’enca ega de la l`ogica dels coman-
damen s pe sonali za s dins del pluguin. Aques a in e ´ıcie de ineix com es
ges ionen les comandes que execu en els jugado s.
•Runnable: ´
Es una in e ´ıcie de Ja a que s’u ili za pe p og ama asques en
segon pla dins del plugin de Minec a , u ili zan el p og amado in e n de
Bukki /Spigo .
La es a de classes del diag ama, s´on aquelles que s’han desen olupa pe al de
pe sonali za al m`axim l’en o n de Minec a i in e g a -ho amb el se ei de o acions.
•Plugin: Aques a ´es la classe p incipal del plugin, s’enca ega de la iniciali za-
ci´o, con igu aci´o i inali zaci´o del sis ema. Ges iona els esde enimen s del joc i
delega asques a les al es classes, com a a a Vo ingDelega e iMinec a Dele-
ga e.
•Vo ingDelega e: ´
Es on es ges ionen les o acions dins del plugin. S’enca ega
de la c eaci´o i ancamen de sessions de o aci´o, aix´ı com el egis e dels o s.
•Minec a Delega e: ´
Es qui ges iona o l’en o n de o aci´o dins del joc.
Reali za uncions com c ea els espais, de ec a les in e accions i ac uali za les
dades que eu l’usua i.
•Vo ingSession: Rep esen a una sessi´o de o aci´o. De ineix els de alls de
cada sessi´o, incloen les opcions disponibles i els bo ons associa s a cada opci´o,
s’enca ega amb´e del con ol del p oc´es de o aci´o en emps eal.
•Poll: Modela una o aci´o, e in o maci´o com les opcions de o , les se es
desc ipcions i si es pe me o no la selecci´o m´ul iple. Ac ua com a con enido
de dades pe a cada p oc´es de o aci´o.
•PollResul s: S’enca ega d’emmaga zema i consul a els esul a s de les o-
acions. ´
Es necess`a ia pe ob eni in o maci´o sob e els o s i pe isuali za els
esul a s de les o acions.
48
•Playe Manage : Rep esen a els jugado s dins del sis ema i pe me ges iona
el seu es a d’au en icaci´o i pa icipaci´o en les o acions. Aques a classe ´es
necessa ia pe con ola l’es a del jugado , ´es a di si es `a au en ica o no
au en ica i pe sabe si ja ha o a o no ha o a .
•Vo ingExecu o : Execu a accions elacionades amb les o acions, com a a
ca ega o acions exis en s o eme e o s. Fa m´es senzill l’acc´es a uncionali a s
conc e es del sis ema.
•CommandHandle : Ges iona els comandamen s que po in odu¨ı un juga-
do al xa del joc. Aques s comandamen s pe me en accions com pe exemple
l’inici de sessi´o al sis ema .
•Runne : Fa asques que s’execu en en segon pla dins del se ido .
49
7 Ges i´o del isc: Plans al e na ius i obs-
acles
´
Es necess`a ia una bona ges i´o dels iscos pe assegu a que el p ojec e sigui exi ´os. En
el pun 3.4 s’han iden i ica i anali za els p incipals iscos del p ojec e. A con inuaci´o,
es de allen aques s iscos jun amen amb l’impac e que pod ien eni sob e el p ojec e,
els m`e odes de p e enci´o que es poden e se i , al e na i es p oposades i quins
m`e odes de mi igaci´o segui si a iben a oc´o e .
Risc 1: Complicacions `ecniques en la in eg aci´o amb ´
Ek a os
P e enci´o: Pe p e eni aques isc ´es necessa i que es e isi la documen aci´o dispo-
nible dels se eis ex e ns, que hi hagi es able un pla d’in eg aci´o amb i es conc e es
i busca a expe s amb qui con ac a en cas que hi hagi p oblemes amb algun dels
se eis ex e ns.
Mi igaci´o: Una mane a de mi iga aques p oblema se ia en una soluci´o empo al
que simul´es el uncionamne co ec e men e se solucionen els p oblemes eal. Es
pod ia p io i za algun dels se eis pe da an dels al es, i aix´ı assegu a que pa
de la uncionali a es compleixi.
Al e na i a: Si es de ec a que la in eg aci´o amb ´
Ek a os no ´es iable en el emps p e-
is , es pod ia c ea una API p `opia que simuli les uncionali a s de l’API d’´
Ek a os,
aix`o pe me ia con inua amb el desen olupamen sis ema sense depend e.
Impac e en la du aci´o: Si no es p enen mesu es, aques isc pod ia enda e i
el p ojec e ins a 2 se manes. Amb la soluci´o empo al, es edui ia a menys d’una
se mana.
Risc 2: Vulne abili a s de segu e a
P e enci´o: Una mane da de p e eni ulne abili a s en la segu e a ´es en audi o-
ies de segu e a amb un equip expe , aplican millo s p `ac iques en la codi icaci´o de
la in o maci´o sensible i en us de p o ocols segu s pe la ansmissi´o de dades, ins i
o es pod ien aplica con igu acions de alla ocs espec´ı iques pe al sis ema.
Mi igaci´o: Un cop de eca aques isc, algunes opcions pe mi iga -ho se ien posa
el sis ema en mode de man enimen pe limi a els accessos dels clien s men e s’a-
pliquen les co eccions necess`a ies. L’al e opci´o se ia eni c`opies de segu e a pe
pode es au a les dades en cas de p`e dua o manipulaci´o.
Al e na i a: Si a iben a ha e ulne abili a s g eus, es poden desac i a les unci-
onali a s a ec ades o b´e, habili a un mode de eball o line i aix´ı e i a que l’acc´es
emo sigui un isc.
Impac e en la du aci´o: Si no es p enen mesu es de mi igaci´o, un a ac pod ia
compo a una inac i i a del sis ema du an 1-2 se manes. En can i, amb les accions
de mi igaci´o, aques emps d’inac i i a es pod ia edui a menys de 48 ho es.
50
Risc 3: Can is en els equisi s
P e enci´o: Els can is inespe a s en els equisi s no es poden p e eu e com a al pe `o,
amb una comunicaci´o cons an amb l’equip ´
Ek a os es po assegu a l’alineaci´o sob e
els equisi s. Tamb´e es po es abli des del p incipi un documen amb els equisi s
especi ica s i o mali za un p oc´es d’ap o aci´o pe a qualse ol can i en aques s.
Mi igaci´o: En el cas que hi hagi can is en els equisi s, ´es impo an p io i za els
nous equisi s en unci´o de la se a impo `ancia i implemen a -los en u u es ases de
desen olupamen pe al de no in e omp e l’ac ual.
Al e na i a: Da an d’un can i impo an en els equisi s, es pod ia desen olupa
la no a uncionali a en una b anca independen , aix´ı es po dese n olupa sense
a ec a o sis ema i e i an ha e de edissenya el p ojec e de nou.
Impac e en la du aci´o: Can is an g ans sense ges iona poden p o oca un en-
da e imen de ins a 3 se manes, si es p enen les mesu es de mi igaci´o aix`o pod ia
a iba a edui -se a nom´es 1.
Risc 4: Compa ibili a
P e enci´o: Pe p e eu e p oblemes en la compa ibili a s’han d’ana con olan les
ac uali zacions de Minec a i d’al es eines ex e nes u ili zades. Fe p o es amb les
al es e sions exis ens i de ec a possibles e o s a emps.
Mi igaci´o: Un cop de ec a s p oblemes de compa ibili a s una mane a de mi iga -
ho se ia implemen an solucions p o isionals pe ga an i la uncionali a del sis ema
en les no es e sions. Tamb´e es po es abli una pol´ı ica de compa ibili a limi ada
i selecciona amb quines e sions unciona `a el se ei.
Al e na i a: En cas de eni p oblemes de compa ibili a amb sis emes ex e ns, es
po implemen a una capa d’abs acci´o que ges ioni les di e `encies en e e sions i
ga an i que el sis ema uncioni men e es desen olupen les adap acions necess`a ies
pe a les al es e sions.
Impac e en la du aci´o: Els p oblemes de compa ibili a pod ien p o oca un
enda e imen de ins a 2 se manes. Aplican els plans de mi igaci´o aix`o es pod ia
con e i en uns 3-5 dies.
51
Risc 5: Quali a del p og ama i
P e enci´o: Pe p e eu e que o el p og ama i ´es de quali a es poden e p o es
uni `a ies i p o es d’usabili a egula s pe assegu a que el codi ´es uncional i no e
ca encies. Que l’equip aci e isions de codi pe iden i ica possibles e o s abans del
desplegamen amb´e ´es una bona opci´o.
Mi igaci´o: Pe mi iga possibles e o s desp ´es del llan¸camen , s’hau ia de man eni
un equip de espos a `apida pe aplica solucions i ac uali zacions necess`a ies.
Al e na i a: Si abans del llan¸camen es de ec a una baixa quali a del p og ama i,
es po op a com al e na i a pe e unllan¸camen g adual, ´es a di , e una e si´o
be a pe un g up limi a d’usua is, que ens ajudi a ecolli eedback i soluciona e o s
abans del desplegamen comple .
Impac e en la du aci´o: Aques is pod ia p o oca un e a d de ins a 3 se manes.
Si s’apliquen els m`e odes de mi igaci´o i hi ha un equip de espos a, es pod ien esold e
en menys d’una se mana.
Amb aques a plani icaci´o de allada de la ges i´o de iscos i les se es possibles solucions,
s’in en a edui al m`axim l’impac e nega iu en el desen olupamen del p ojec e i
ga an i que es compleixin els objec ius dins dels e minis es able s.
52
8 Plani icaci´o
El p ojec e a comen¸ca amb una plani icaci´o inicial que se ia com a guia gene al pe
al desen olupamen de les di e en s ases. To i aix`o, al lla g del p oc´es s’han p odu¨ı
di e sos ajus amen s pe al d’adap a -se a necessi a s can ian s. A con inuaci´o,
s’anali zen aques s can is, la jus i icaci´o de les decisions adop ades i les implicacions
esul an s:
8.1 Can is espec e a la plani icaci´o inicial
•Inc emen d’ho es dedicades a la e isi´o i co ecci´o de la mem`o ia:
La plani icaci´o inicial es ima a 20 ho es pe a aques a asca. No obs an aix`o,
desp ´es de l’expe i`encia adqui ida du an el desen olupamen , es a decidi
augmen a -ne la dedicaci´o a 25 ho es pe ga an i un con ingu de quali a .
•Reducci´o de emps en asques de desen olupamen elacionades amb
el backend del SaaS: G `acies a l’´us de biblio eques i amewo ks op imi za s,
com la llib e ia Swee Ale [13] pe als pop-ups, es a simpli ica el disseny
d’in e ´ıcies i es a aconsegui edui el emps inicialmen p e is pe a ce es
uncionali a s, ajus an la plani icaci´o sense comp ome e la quali a .
•Can i en el calenda i de lliu amen d’algunes asques: Pe al de com-
pli amb p io i a s es able es pe ´
Ek a os, algunes asques es an eo dena ,
especialmen aquelles elacionades amb la in eg aci´o amb l’API d’´
Ek a os i les
p o es inals.
8.2 Jus i icaci´o dels can is i plani icaci´o de ini i a
Els can is eali za s esponen a:
•La necessi a de ga an i la quali a del lliu amen inal, p io i zan la docu-
men aci´o i les p o es.
•La me odologia de eball `agil, ha pe m`es edis ibui les ho es d’algunes as-
ques sense a ec a l’abas ni els objec ius.
•Les sol·lici uds espec´ı iques del clien , ´
Ek a os, que han in lui en l’o d e de
p io i a d’algunes uncionali a s.
8.3 Impac e en els objec ius i desen olupamen del p ojec e
Els ajus amen s no han al e a els objec ius gene als del p ojec e, sin´o que han pe m`es
alinea -lo millo amb les necessi a s del clien i amb els es `anda ds espe a s. El
desen olupamen s’ha bene icia d’una ges i´o lexible, cosa que ha pe m`es abo da
les des iacions en emps.
53
8.4 Impac e en els cos os del p ojec e
L’inc emen d’ho es en algunes asques, com la e isi´o de la mem`o ia, i la eassig-
naci´o d’ho es d’al es asques han ingu un impac e m´ınim en els cos os globals del
p ojec e. Aix`o s’ha degu a una op imi zaci´o gene al del emps i l’´us de ecu sos
sense necessi a d’augmen a signi ica i amen les ho es o als dedicades.
8.5 Es a ac ual del p ojec e
El p ojec e es oba en la ase inal de p o es i alidaci´o, amb les p incipals uncio-
nali a s ja implemen ades, amb´e s’es `a inali zan la edacci´o de la mem`o ia. Aix`o
indica que es compleix amb el calenda i p e is , amb ma ge su icien pe abo da
possibles ajus amen s inals abans de l’en ega inal.
54
9 Me odologia i igo
Pe al desen olupamen d’aques p ojec e, s’ha adop a la me odologia `agil, un en o-
camen que pe me adap a -se de mane a e icien als can is i ga an i que el p oduc e
inal s’ajus i als equisi s. Aques a me odologia ´es especialmen adequada pe a p o-
jec es com aques , on els equisi s poden e oluciona al lla g del emps. Du an la
ca e a s’han es udia me odologies `agils com Sc um [14] i Kanban [15], i en aques
p ojec e s’ha op a pe una combinaci´o d’ambdues.
U ili zem un sis ema de ges i´o isual pe o gani za les asques i el lux de eball,
op an pe T ello [16] com a eina p incipal pe c ea un aulell Kanban. Aques a opci´o
ens acili a eu e quin ´es l’es a de cada asca, ajudan -nos a p io i za uncionali a s
i a man eni un seguimen con inu del p og ´es.
Pel que a a la comunicaci´o in e na, s’ha op a pe u ili za Slack [17], una pla a o ma
que p omou un en o n p o essional i sense dis accions, acili an aix´ı la col·labo aci´o
en e els memb es de l’equip. A m´es, u ili zem Gi Hub [18] com a sis ema de con ol
de e sions pe ges iona el codi de mane a col·labo a i a.
A a ´es d’aques es eines, el p ojec e es desen olupa amb un en ocamen i e a iu i
inc emen al, amb e isi´o cons an del p og ´es i adap aci´o dels objec ius a mesu a que
a anci el eball.
55
10 P essupos
Aques cap´ı ol ´e com a objec iu anali za els cos os associa s al desen olupamen
d’aques p ojec e. En p ime lloc, es p opo ciona an els cos os p opis de les ac i i-
a s eali zades, desp ´es s’a egi an els cos os dels ecu sos ma e ials necessa is pe
al p ojec e, i, inalmen , el esul a del c`alcul de les amo i zacions, con ing`encies i
imp e is os.
10.1 Cos de pe sonal pe ac i i a (CPA)
Pe de e mina el cos de eali za les ac i i a s p oposades, cal con`eixe el sou de
cada memb e de l’equip i la se a pa icipaci´o en el p ojec e. El sou mi j`a de cada ol
s’ha ob ingu a pa i de la p`agina Glassdoo [19]. El cos o al s’ha calcula enin en
comp e 220 dies labo ables a l’any i 8 ho es di`a ies, la qual cosa implica un o al de
1760 ho es a l’any. S’ha a egi un 30% al sou b u pe a la co i zaci´o a la Segu e a
Social.
Rol Sou anual b u (€) Ho es dedicades
Cap del p ojec e 60.000 70
Desen olupado 28.000 310
Dissenyado UI/UX 30.000 50
A qui ec e 38.000 20
To al 450
Taula 12: Cos os de pe sonal. Elabo aci´o p `opia.
A con inuaci´o, es p esen a el p essupos de alla pe a cada asca. L’impo asso-
cia a cada asca s’ha calcula mul iplican el nomb e d’ho es dedicades pe cada
p o essional pel cos pe ho a, incloen -hi la con ibuci´o a la Segu e a Social.
56
Codi Ac i i a Ho es dedi-
cades (h)
Cos pe
ho a (€)
Cos o al (€)
TRI1 In es igaci´o sob e o aci-
ons digi als i sis emes de
pagamen
20 15,91 318,20
TRI2 An`alisi del me a e s 20 15,91 318,20
TG1 De inici´o de l’abas i con-
ex uali zaci´o del p ojec e
25 34,09 852,25
TG2 Plani icaci´o empo al i di-
ag ama de Gan
20 34,09 681,80
TD1 Disseny de l’a qui ec u a i
c eaci´o del backend del Sa-
aS
50 15,91 795,50
TD2 Implemen aci´o de les un-
cionali a s de pagamen
40 15,91 636,40
TD3 C eaci´o de les in e ´ıcies
d’usua i (UI) pe al SaaS
50 17,05 852,50
TD4 Disseny de l’a qui ec u a
del se ido de Minec a
20 21,63 432,60
TD5.1 C eaci´o del m´on de Mine-
c a
15 15,91 238,65
TD5.2 C eaci´o de les sales de o-
aci´o
15 15,91 238,65
TD5.3 Con igu aci´o del se ido
de Minec a
15 15,91 238,65
TD6 In eg aci´o amb l’API
d’´
Ek a os
20 15,91 318,20
TD7 P o es i alidaci´o del sis-
ema
40 15,91 636,40
RM1 Documen aci´o del p ojec e 50 15,91 795,50
RM2 Re isi´o i co ecci´o de la
mem`o ia
25 34,09 852,25
RM3 P epa aci´o de la de ensa
del TFG
25 15,91 397,75
To al 450 8.603,2
Taula 13: Cos os pe ac i i a amb ho es dedicades. Elabo aci´o p `opia.
57
El p ojec e pe me `a edui l’´us d’al es ecu sos? Globalmen , l’´us del
p ojec e millo a `a o empi jo a `a l’emp em a ecol`ogica?
Com s’ha comen a an e io men , pe me `a edui l’´us de ecu sos ´ısics com pa-
pe , in a, e c. Podem di que sis ema digi al millo a `a l’emp em a ecol`ogica, ja
que edui `a les emissions de gasos con aminan s elaciona s amb el anspo de la
poblaci´o.
Es pod ien p odui escena is que essin augmen a l’emp em a ecol`ogica
del p ojec e? No s’ha conside a cap possible escena i con augmen i l’emp em a
ecol`ogica del p ojec e.
11.3 Dimensi´o social
Que c eus que ’ha apo a a ni ell pe sonal la eali zaci´o d’aques p o-
jec e?
A ni ell pe sonal, la eali zaci´o d’aques p ojec e m’ha apo a mol es coses posi i es.
M’ha dona l’opo uni a de desen olupa habili a s en la plani icaci´o de p ojec es i
he posa en p `ac ica compe `encies com el eball en equip, la comunicaci´o i el com-
p om´ıs. A m´es, ha es a una expe i`encia que m’ha ajuda a ap ned e i c eixe com a
u u a enginye a in o m`a ica.
Com es esol ac ualmen el p oblema que ols a on a (es a de l’a )?
En qu`e millo a socialmen (quali a de ida) la e a soluci´o espec e a la
exis en s?
Aques p ojec e esol sob e o els equisi s de l’emp esa ´
Ek a os, o i aix`o, s’han
de ec a alguns aspec es socials on po se ealmen ´u il.
Ac ualmen , les o acions adicionals poden exclou e ce s col·lec ius, com pe sones
amb mobili a edu¨ıda o aquelles que iuen en zones emo es. El p ojec e ajuda en
aques s casos eduin les ba e es ´ısiques, pe me que m´es pe sones puguin pa icipa
acili an el p oc´es.
Exis eix una necessi a eal del p ojec e?
Realmen no espon a un p oblema de i al impo `ancia pe `o pe me al clien acili a
el p oc´es de comp a dels seus se eis i dona una eina inno ado a pe eali za les
o acions.
La eali zaci´o d’aques p ojec e ha implica e lexions signi ica i es a ni-
ell pe sonal, p o essional o `e ic de les pe sones que hi han in e ingu ?
S´ı, la eali zaci´o del p ojec e m’ha e e lexiona a ni ell p o essional, m’ha e
con`eixe no es `ecniques i posa -les en p `ac ica i, a m´es, m’ha ajuda a sabe cap a
on ull en oca una mica millo el meu u u p o essional.
Qui es bene icia `a de l’´us del p ojec e? Hi ha algun col·lec iu que po
eu e’s pe judica pel p ojec e? En quina mesu a?
Els p incipals bene icia is d’aques p ojec e se an els clien s d’ek a os i l’en i a en
si. Pel que a als col·lec ius pe judica s, s’ha de eni en comp e la b e xa digi al, hi
ha pe sones que enca a no enen acc´es a aques es ecnologies, aix`o a que no puguin
bene ici -se d’aques se ei.
64
En quina mesu a soluciona el p ojec e el p oblema plan eja inicialmen ?
Com s’ha ana esmen an , p ojec e ha soluciona exi osamen els equisi s demana s
pel clien i s’han soluciona amb `exi o s els ep es que s’han ana oban .
Pod ien p odui -se escena is que acin que el p ojec e sigui pe judicial pe
a algun segmen pa icula de la poblaci´o?
Com el p ojec e ´es pe a una en i a i no ´es un p ojec e que s’hagi d’inco po a de
mane a global no es conside a cap escena i on el p ojec e sigui pe judicial pe pa
de la poblaci´o.
El p ojec e pod ia c ea algun ipus de depend`encia que deixes els usua is
en posici´o de debili a ?
No, el p ojec e no gene a cap ipus de denepd`encia depend`encia, l’objec iu ´es o e i
una eina complemen `a ia pe en iqui el se ei que o e eix ´
Ek a os. No obs an , ´es
impo an que hi hagi opcions al e na i es pe a qui no puguin accedi al sis ema
digi al.
65
12 `
A ees legals i no ma i es elle an s
Aques cap´ı ol ´e com a objec iu anali za les `a ees legals i no ma i es que s’han de
conside a pe ga an i que el p ojec e compleixi amb les egulacions igen s.
12.1 P o ecci´o de dades pe sonals
•No ma i a aplicable: Reglamen Gene al de P o ecci´o de Dades a la Uni´o
Eu opea [20].
•Requisi s:
–Ob eni el consen imen dels usua is pe a la ecollida i p ocessamen de
dades.
–Assegu a el ac amen segu i con idencial de les dades pe sonals.
–Pe me e als usua is accedi , ec i ica o elimina les se es dades.
•Complimen pe pa del p ojec e: El p ojec e ga an i `a que qualse ol
dada pe sonal ecollida (com in o maci´o d’usua i del se ido de Minec a o
del sis ema de pagamen ) compleix amb la no ma i a GDPR.
12.2 Segu e a en els sis emes de pagamen
•No ma i a aplicable: Di ec i a de Se eis de Pagamen 2 a la UE [21].
•Requisi s:
–Implemen aci´o de l’Au en icaci´o Fo a de Clien (SCA) pe a ansaccions
en l´ınia.
–Compli amb es `anda ds com PCI DSS (Paymen Ca d Indus y Da a
Secu i y S anda d).
•Complimen pe pa del p ojec e: El sis ema ga an i `a ansaccions se-
gu es i p o egi `a dades banc`a ies dels usua is.
12.3 D e s d’au o i p opie a in el·lec ual
•No ma i a aplicable: Llei de p opie a in el·lec ual[22] (en l’`ambi nacional
i eu opeu).
•Requisi s:
–Respec a els d e s d’au o de qualse ol eina o pla a o ma u ili zada, com
a a Minec a i APIs de e ce s.
–Ob eni les llic`encies necess`a ies pe a ´us come cial o educa iu del se ido
de Minec a .
•Complimen pe pa del p ojec e: Es e i ica `a que l’´us de Minec a i
al es eines es `a cobe pe les llic`encies pe inen s.
66
12.4 Llei de se eis digi als i accessibili a
•No ma i a aplicable: Di ec i a sob e Accessibili a Web i egulacions simi-
la s [23].
•Requisi s:
–Ga an i que les in e ´ıcies web i el sis ema SaaS siguin accessibles pe a
pe sones amb discapaci a .
•Complimen pe pa del p ojec e: Es eballa `a pe implemen a bones
p `ac iques d’accessibili a , com e ique es al pe a ima ges i na egaci´o amb
ecla .
12.5 No ma i a sob e ideojocs i en o ns i uals
•No ma i a aplicable: Reglamen acions espec´ı iques pe a ideojocs i in e ac-
cions i uals en unci´o del pa´ıs[24].
•Complimen pe pa del p ojec e: Es ga an i `a que no es ulne en lleis
sob e con ingu s, p i aci a o segu e a en un en o n i ual.
67
13 In eg aci´o de coneixemen s
El desen olupamen d’aques p ojec e m’ha e a posa en com´u els coneixemen s
de di e ses disciplines de l’enginye ia de so wa e, e lec in els p incipis i `ecniques
que he ap ´es du an la ca e a. A con inuaci´o, es de allen com s’han aplica aques s
concep es:
13.1 Disseny i a qui ec u a del sis ema
Du an el desen olupamen del backend aix´ı com les di e en s in e ´ıcies d’usua i,
s’han aplica ecnologies senzilles pe `o e ec i es com Node.js, HTML i CSS. La ia
d’aque es ecnologies a se clau pe a la comunicaci´o clien i se ido , aix´ı com pe
a man eni una a qui ec u a cla a i modula . Els concep es ap ´esos a l’assigna u a
de ASW an se claus pe la iden i icaci´o de componen s independen s i la se a
in eg aci´o, pe me en una implemen aci´o cohesionada i escalable.
13.2 Desen olupamen Web i Backend
En el desen olupamen del backend i les in e ´ıcies d’usua i, es an aplica ecnolo-
gies senzilles pe `o e ec i es com Node.js, HTML i CSS. Aques a elecci´o ecnol`ogica
e lec eix els concep es adqui i s a Aplicacions i Se eis Web (ASW), que han es a
essencials pe assegu a una comunicaci´o e icien en e el clien i el se ido .
13.3 Enginye ia de Requisi s i Ges i´o
La de inici´o dels objec ius i necessi a s del p ojec e es a eali za seguin els p incipis
d’Enginye ia de Requisi s (ER), on aig ap end e a ecolli , p io i za i alida equi-
si s uncionals i no uncionals. A m´es, l’o gani zaci´o i supe isi´o del p ojec e s’han
basa en les me odologies `agils ap eses a Ges i´o de P ojec es de So wa e (GPS), que
han pe m`es ajus a les asques segons les p io i a s d’´
Ek a os.
13.4 In eg aci´o de Solucions C ea i es
Du an el desen olupamen , es an aplica solucions inno ado es, com l’elecci´o de
Minec a com a pla a o ma pe al me a e s es a basa en la se a lexibili a i
accessibili a , e lec in una ap oximaci´o p agm`a ica i c ea i a.
13.5 P ojec e i Col·labo aci´o
El p ojec e ha ac ua com una s´ın esi p `ac ica de les compe `encies adqui ides a l’as-
signa u a P ojec e d’Enginye ia del So wa e (PES). La col·labo aci´o amb ´
Ek a os
ha sigu un aspec e des aca , exigin adap abili a i una ges i´o igo osa dels ecu sos
pe alinea -nos amb les se es necessi a s i expec a i es.
68
14 Conclusions
En aques ´ul im cap´ı ol se `a alo ada la eina eali zada du an aques p ojec e i
es e isa `a l’assolimen dels objec ius plan eja s inicialmen . Tamb´e hi hau `a una
alo aci´o pe sonal sob e l’expe i`encia de desen olupa aques p ojec e i es plan eja an
possibles ampliacions pe a u u es ac uali zacions.
14.1 Assolimen dels objec ius
Els objec ius p incipals d’aques p ojec e e en c ea una pla a o ma SaaS que pe -
me ´es als clien s d’´
Ek a os accedi als se eis de o aci´o i desen olupa un pluguin
que in eg ´es el sis ema de o aci´o al ideojoc de Minec a .
El sis ema SaaS ha es a un `exi , o e eix una in e ´ıcie d’usua i in u¨ı i a, s’han in e-
g a els sis emes de pagamen i s’ha in eg a co ec amen amb l’API d’´
Ek a os.
Pe an , no nom´es s’ha simpli ica el p oc´es de comp a del se ei de o acions
elec `oniques d’´
Ek a os, sin´o que ambe s’o e eix una millo expe i`encia pels clien s.
L’implemen aci´o del plugin de Minec a ha es a un al e `exi . El pluguin pe me
als usua is pa icipa en o acions di ec amen dins del joc, aix`o augmen a l’a ac iu
del se ei i ajuda a ´
Ek a os a assoli el seu objec iu d’aa iba a un p´ublic m´es jo e.
To i que el p ojec e no ha pogu se es a amb g ans quan i a s d’usua is, s’han
comple els equisi s inicials es able s pe l’emp esa, aix´ı que podem conside a que
ins el momen el p ojec e ha es a un `exi .
14.2 Valo aci´o pe sonal
Des del pun de is a de l’au o a aques p ojec e ha sigu mol en iquido . T eballa
en un p ojec e eal, amb un clien i uns equisi s, ha pe m`es posa en p `ac ica els
coneixemen s adqui i s du an el g au.
El desen olupamen del SaaS i el plugin de Minec a ha sigu un ep e `ecnic que s’ha
esol amb solucions c ea i es, i ha sigu una opo uni a de eballa amb ecnologies
mode nes com Node.js, HTML, CSS i Ja a en el cas de Minec a .
Tamb´e s’ha ingu l’opo uni a de eballa en un equip amb g ans p o essionals
i companys dels quals s’ha ap `es mol , no nom´es des del pun de is a `ecnic sin´o
amb´e sob e la ges i´o de p ojec es i eball en equip.
69
14.3 Fu u es ampliacions
Enca a que el sis ema ac ual compleix amb els equisi s, enca a po se millo a o b´e
amplia en el u u :
•Ampliaci´o del sis ema SaaS: Es pod ien a egi no es uncionali a s al SaaS,
com pe exemple, pod ´ıa se in eg a amb la se a pla a o ma de ges i´o del se ei
de o acions, eb -ho enca a m´es in ui iu i senzill pel clien .
•Explo aci´o d’al es me a e sos: Inicialmen es a plan eja adap a les
uncionali a s de minec a a al es pla a o mes. Ac almen nom´es es a adap a
a la e si´o Ja a de Minec a , pe `o exis eix la e si´o Bed ock, que es amb C i
se ia la p ime a ac ualizaci´o a e . Desp ´es d’aix`o s’ha conside a aplia -ho m´es
enca a a al es pla ado mes, com pe exemple, Roblox.
•Explo aci´o d’al es me a e sos: Es po explo a la possibili a d’in eg a
els se eis amb ecnologies de eali a augmen ada o in el·lig`encia a i icial,
pe busca una millo expe i`encia d’usua i i un majo a ac iu pels clien s.
Aques es u u es ampliacions pod ien posiciona a ´
Ek a os com a l´ıde en el seu
sec o , augmen an el alo del sis ema desen olupa i consolidan la se a base de
clien s.
70
15 Annex
15.1 Manual d’usua i pel Plugin Minec a
El Plugin pe a se ido s de Minec a d’Ek a os pe me als usua is con igu a un
se ido pe qu`e se eixi com a en o n de o aci´o. S’associa el se ido a una o aci´o
en conc e i o s els usua is que es an inclosos en el cens d’aques a poden accedi -hi
i o a .
15.1.1 Ins al·laci´o de Minec a
En cas de no eni Minec a ins al·la , l’usua i ha de segui el seg¨uen enlla¸c i
desca ega -se el Minec a Launche .
h ps://www.mic oso .com/s o e/p oduc Id/9PGW18NPBZV5?ocid=pdpsha e
Un cop iniciada sessi´o a Minec a , cal escolli la e si´o 1.20.4, pe e -ho hem de
segui els seg¨uen s pasos:
1. Ana a la pan alla Ins alla ions.
2. Selecciona New Ins alla ion.
3. Escolli la elease 1.20.4 i emplena la es a de dades segons les p e e `encies
pe sonals.
4. Finalmen , selecciona el bo ´o C ea e.
71
72
15.1.2 Con igu aci´o del Plugin
En aques pun donem pe e que ja s’ha comp a el se ei de o aci´o des del SaaS
i l’usua i ha ebu el co eu d’Ek a os pe inicia sessi´o, l’usua i ha c ea la se a
con asenya i ha en a al se ei de con igu aci´o de la o aci´o comp ada d’Ek a os.
Al ha e e o aix`o l’usua i es oba amb la seg¨uen pan alla:
Un cop aqu´ı s’ha de c ea la no a o aci´o desi jada, a con inuaci´o eu eu un exemple
de o aci´o pe al de que sigui m´es cla a l’explicaci´o:
73
Pe al a banda, es po consul a l’´ındex de pa icipaci´o de la o aci´o en la pa supe-
io cen al de la pan alla, al i com es mos a en la igu a que apa eix a con inuaci´o.
80
Re e `encies
[1] So wa e as a Se ice (SaaS).h ps://en.wikipedia.o g/wiki/So wa e_
as_a_se ice. Consul a el 10 de gene de 2025.
[2] Facul a d’In o m`a ica de Ba celona (FIB).h ps://www. ib.upc.edu. Con-
sul a el 25 de se emb e de 2024.
[3] inLab FIB - Labo a o i d’Inno aci´o i Rece ca de la FIB.h ps://inlab. ib.
upc.edu. Consul a el 25 de se emb e de 2024.
[4] ´
Ek a os.h ps://www.ek a os.com. Consul a el 25 de se emb e de 2024.
[5] Blockchain.h ps://www.blockchain.com. Consul a el 25 de se emb e de
2024.
[6] Minec a .h ps://www.minec a .ne . Consul a el 25 de se emb e de 2024.
[7] Sandbox (Videojoc).h ps://en.wikipedia.o g/wiki/Sandbox_game. Con-
sul a el 25 de se emb e de 2024.
[8] PayPal.h ps://www.paypal.com. Consul a el 25 de se emb e de 2024.
[9] S ipe.h ps://s ipe.com. Consul a el 25 de se emb e de 2024.
[10] James Robe son i Suzanne Robe son. Vol`e e Requi emen s Speci ica ion Tem-
pla e.h ps://www. ole e.o g. Consul a el 10 de gene de 2025.
[11] Exp ess - Node.js web applica ion amewo k.h ps://exp essjs.com/. Con-
sul a el 10 de gene de 2025.
[12] Bukki /Spigo API Documen a ion.h ps : / / www . spigo mc . o g / wiki /
spigo -api/. Consul a el 10 de gene de 2025.
[13] Swee Ale : Beau i ul, Responsi e, Cus omizable Popup Boxes.h ps://swee ale .
js.o g. Consul a el 6 d’oc ub e de 2024.
[14] Sc um Guide.h ps://www.sc umguides.o g. Consul a el 25 de se emb e
de 2024.
[15] Kanban.h ps : / / en . wikipedia . o g / wiki / Kanban. Consul a el 25 de
se emb e de 2024.
[16] T ello.h ps:// ello.com. Consul a el 25 de se emb e de 2024.
[17] Slack.h ps://slack.com. Consul a el 25 de se emb e de 2024.
[18] Gi Hub.h ps://gi hub.com. Consul a el 25 de se emb e de 2024.
[19] Glassdoo . Glassdoo : Accede a sueldos, ese˜nas de emp esas y en e is as. Con-
sul a el 6 d’oc ub e de 2024. 2024. u l:h ps://www.glassdoo .es/index.
h m.
[20] Gene al Da a P o ec ion Regula ion (GDPR).h ps://eu -lex.eu opa.eu/
eli/ eg/2016/679/oj. Consul a el 5 de desemb e de 2024.
[21] Paymen Se ices Di ec i e 2 (PSD2).h ps://ec.eu opa.eu/ inance/
docs/law/psd2_di ec i e_en.pd . Consul a el 5 de desemb e de 2024.
[22] Llei de P opie a In el·lec ual (Espanya).h ps://www.boe.es/busca /ac .
php?id=BOE-A-1996-8930. Consul a el 5 de desemb e de 2024.
81
[23] EN 301 549 Accessibili y Requi emen s o ICT P oduc s and Se ices.h ps:
//www.e si.o g/deli e /e si_en/301500_301599/301549. Consul a el 5
de desemb e de 2024.
[24] Legislaci´o sob e ideojocs i p i aci a (EUA).h ps://www. c.go /sys em/
iles/documen s/plain-language/bus44-complain -p i acy-secu i y-
ideo-game.pd . Consul a el 5 de desemb e de 2024.
82