scieee Open visual document viewer

Platform for the analysis of sports statistics

Moreno Canduela, Pablo; Gallego Cuervo, Iván

Abstract

This project aims to develop a football analysis application, that offers professional football staffing and sports enthusiasts a comprehensive tool that covers all aspects of building a football club. The system will provide in-depth statistics and information about thousands of football players, as well as rich data visualization elements and images that transform complex information into clear-cut insights. Users will have access to tools to filter players according to numerous advanced statistics and attributes, squad enhancement and analysis functionalities, complex player evaluation algorithms that cater to user-specific needs and other functions that ease the process of player recruitment and creating winning teams. The system is formed by a web application based on the Django framework and an integrated database that contains information of upwards of eleven thousand players.

Full text

1 PLATFORM FOR THE ANALYSIS OF SPORTS STATISTICS FINAL DEGREE PROJECT PABLO MORENO CANDUELA AND IVÁN GALLEGO CUERVO SUPERVISORS JOSÉ IGNACIO REQUENO JARABO MARÍA ELENA GÓMEZ MARTÍNEZ DEGREE IN COMPUTER ENGINEERING FACULTY OF INFORMATICS UNIVERSIDAD COMPLUTENSE DE MADRID JUNE 2024 2 PLATAFORMA PARA ANÁLISIS DE ESTADÍSTICAS DEPORTIVAS TRABAJO DE FIN DE GRADO CURSO 2023-2024 PABLO MORENO CANDUELA E IVÁN GALLEGO CUERVO DIRECTORES JOSÉ IGNACIO REQUENO JARABO MARÍA ELENA GÓMEZ MARTÍNEZ GRADO EN INGENIERÍA INFORMÁTICA FACULTAD DE INFORMÁTICA UNIVERSIDAD COMPLUTENSE DE MADRID Junio 2024 3 DEDICATION To e e y passion. To e e y aspi a ion. 4 ACKNOWLEDGEMENTS I is ha d o pu in o wo ds how g a e ul we a e o ou supe iso s Ma ía Elena Gómez Ma ínez and José Ignacio Requeno Ja abo and hei commi men o guide us h ough his ad en u e, wi hou hei suppo his p ojec would ha e been unachie able. Equally impo an has been he suppo o ou closes iends and amily membe s, i al pilla s o ou academic and pe sonal jou neys. Thank you o picking us up when we ell. 5 ABSTRACT This p ojec aims o de elop a oo ball analysis applica ion, ha o e s p o essional oo ball s a ing and spo s en husias s a comp ehensi e ool ha co e s all aspec s o building a oo ball club. The sys em will p o ide in-dep h s a is ics and in o ma ion abou housands o oo ball playe s, as well as ich da a isualiza ion elemen s and images ha ans o m complex in o ma ion in o clea -cu insigh s. Use s will ha e access o ools o il e playe s acco ding o nume ous ad anced s a is ics and a ibu es, squad enhancemen and analysis unc ionali ies, complex playe e alua ion algo i hms ha ca e o use -speci ic needs and o he unc ions ha ease he p ocess o playe ec ui men and c ea ing winning eams. The sys em is o med by a web applica ion based on he Django amewo k and an in eg a ed da abase ha con ains in o ma ion o upwa ds o ele en housand playe s. Keywo ds Foo ball, s a is ics analysis, spo s s a is ics, playe pe o mance, web applica ion, Django amewo k, da a isualiza ion, spo s analy ics. 6 RESUMEN Es e abajo iene como obje i o el desa ollo de una aplicación de análisis de es adís icas u bolís icas, que o ece an o a cue pos écnicos p o esionales como a en usias as del ú bol una he amien a in eg al que en uel e odos los aspec os elacionados con la cons ucción de un equipo de ú bol. El sis ema p opo ciona á in o mación y es adís icas de alladas sob e miles de jugado es de ú bol, así como elemen os de isualización de da os e imágenes que ans o man in o mación compleja en conocimien os áciles de comp ende . Los usua ios end án acceso a he amien as pa a il a jugado es según di e sos pa áme os complejos, uncionalidades elacionadas con la cons ucción y el análisis de equipos, algo i mos complejos de e aluación de jugado es que se adap an a necesidades especí icas del usua io y o as uncionalidades que acili an las a eas elacionadas con el eclu amien o de jugado es y la c eación de equipos ganado es. El sis ema es á con o mado po una aplicación web que u iliza el ma co de Django, y una amplia base de da os que cuen a con in o mación sob e más de once mil jugado es de ú bol. Palab as cla e Fú bol, análisis de es adís icas, es adís icas depo i as, endimien o de depo is as, aplicación web, Django, isualización de da os, análisis depo i o. 7 CONTENT INDEX Chap e 1 - In oduc ion ................................................................................................ 14 1.1 Mo i a ion ........................................................................................................... 14 1.2 Objec i es........................................................................................................... 16 1.3 Wo k Plan ............................................................................................................ 17 Chap e 2 - S a e o he A ........................................................................................... 19 2.1 Use P o iling........................................................................................................ 19 2.2 Compa a i e Analysis o o he P ojec s ......................................................... 19 2.3 Technologies ...................................................................................................... 22 2.3.1 WEB FRAMEWORK TECHNOLOGIES ......................................................... 23 2.3.2 Web De elopmen .................................................................................... 24 2.3.3 De elopmen En i onmen ...................................................................... 25 2.3.4 Collabo a ion and T acking Tools ........................................................... 25 2.3.5 Da ase ........................................................................................................ 26 Chap e 3 - Analysis ........................................................................................................ 28 3.1 P oduc Pe spec i e .......................................................................................... 28 3.2 Di ision in Subsys ems ........................................................................................ 28 3.2.1 Playe Managemen Subsys em ............................................................. 29 3.2.2 Analysis Subsys em .................................................................................... 29 3.2.3 Use Managemen Subsys em ................................................................. 30 3.3 Func ional Requi emen s .................................................................................. 31 3.3.1 Use Case Diag am..................................................................................... 31 3.3.2 Ac i i y Diag ams and S uc u ed Na u al Language.......................... 32 3.4 Non-Func ional Requi emen s ......................................................................... 44 3.4.1 Ex e nal In e ace Requi emen s ............................................................. 44 8 3.4.2 Pe o mance Requi emen s ..................................................................... 44 3.4.3 Da a Pe sis ence Requi emen s .............................................................. 45 3.4.4 Secu i y Requi emen s .............................................................................. 45 3.4.5 Design Requi emen s ................................................................................ 45 3.4.6 Documen Requi emen s ......................................................................... 45 3.4.7 Resou ce Requi emen s ............................................................................ 46 3.4.8 A ailabili y Requi emen s ......................................................................... 46 Chap e 4 - Design.......................................................................................................... 47 4.1 Class Diag ams................................................................................................... 47 4.2 Da ase S uc u e ............................................................................................... 49 4.3 In e ace Mockup.............................................................................................. 50 4.4 Technological Scope ........................................................................................ 51 Chap e 5 - Implemen a ion ......................................................................................... 53 Chap e 6 - Tes ing.......................................................................................................... 56 6.1 Uni es ................................................................................................................ 56 6.2 In eg a ion es ................................................................................................... 57 6.3 Co e age ........................................................................................................... 58 Chap e 7 - P ojec Managemen ............................................................................... 59 7.1 Es ima ing: Func ion Poin Analysis .................................................................. 59 7.1.1 Unadjus ed Func ion Poin ....................................................................... 59 7.1.2 Value Adjus men Fac o .......................................................................... 61 7.1.3 Adjus ed Func ion Poin ............................................................................ 63 7.1.4 Size o he So wa e P ojec ...................................................................... 63 7.1.5 E o Es ima ion.......................................................................................... 64 7.2 Planning .............................................................................................................. 64 7.3 Resou ces............................................................................................................ 65 9 7.4 Risk Managemen .............................................................................................. 66 7.4.1 Risk Iden i ica ion and Ca ego iza ion ................................................... 67 7.4.2 Risk Analysis and Mi iga ion...................................................................... 68 Chap e 8 - P ojec Con ol and Moni o ing ............................................................... 71 8.1 Change Con ol, Moni o ing and Ve i ica ion .............................................. 71 8.2 Di icul ies Found ................................................................................................ 72 Chap e 9 - Conclusions and Fu u e Wo k .................................................................. 74 Chap e 10 - Pe sonal Con ibu ions .............................................................................. 76 Bibliog aphy............................................................................................................................ 82 Appendix A - P og amme ’s Manual .............................................................................. 86 Appendix B - Use ’s Manual ............................................................................................. 92 16 1.2 Objec i es In o de o add ess he challenges posed by he compe i i e na u e o he spo , we ha e highligh ed he ollowing keys ones o na iga e he de elopmen o ou p ojec : 1. Comp ehensi e Foo ball Managemen Pla o m: we p opose o c ea e a use - iendly pla o m ha co e s all aspec s o oo ball managemen , wi h obus ools ha enw ap playe scou ing, squad analysis and s a egic planning. 2. Da a-d i en Decision Making: by using ad anced da a analy ics we plan o a m coaches, scou s, spo ing di ec o s and en husias s wi h insigh ul in o ma ion ha can be ansla ed in o success on he pi ch. 3. Playe Scou ing and Rec ui men : ou ocus on inding he bes playe s ha i he club’s philosophy is key in he de elopmen o he applica ion. 4. Squad Building: ans o ming g oups o playe s in o winning eams, aking in o conside a ion inances, manage ial p e e ences and o he ex e nal ac o s. 5. Long- e m S a egic Planning: all he ea u es o ou pla o m s em om he co e belie ha he long- e m sus ainabili y o he club is undamen al. Use s a e able o c ea e s a egies ha inco po a e boa d expec a ions and mone a y es ic ions, such as you h de elopmen p og ams, playe imp o emen pa hways and season objec i es, wi h he aim o u ning any club in o a winning dynas y. 6. Cus omiza ion and Flexibili y: designing he pla o m o be adap able o ca e o he needs and p e e ences o a mul i ude o use s. 7. Scalabili y and Reliabili y: building a solid and scalable in as uc u e ha accommoda es a g owing use base and handles la ge olumes o upda ed da a wi hou comp omising he expe ience. 17 8. Con inuous Imp o emen : we a e commi ed o a cons an e inemen o he pla o m, lis ening o eedback and adap ing o e ol ing ends in oo ball managemen . 1.3 Wo k Plan In o de o de elop his so wa e p ojec , we ha e ollowed he “Wa e all o Cascade model”. This in ol es a ious phases whe e he p e ious one mus be comple ed be o e going on o he nex . We ha e op ed o his model due o he ollowing easons: 1. Sequen ial and linea na u e o he model, wi h well de ined equisi es om he ou se . The clea and s able na u e o his model has helped us ul ill each phase me hodically. 2. The p edic abili y o his ype o me hodology has allowed us o o ganize he p ojec in o a p edic able imeline, wi h clea and di e en ia ed phases. 3. Time cons ain s ha e had a clea impac on he decision o choosing his model, as i allows us o ha e a limi ed se o i e a ions wi h clea objec i es o each sp in . 4. The s uc u e o igid i e a ions allows ou eam o ge cons an eedback, and se s deadlines o he implemen a ion o he unc ionali ies, wi h hei equi emen s al eady de ined and s able h oughou he en i e y o he p ojec . The en i e p ocess has been subdi ided in o wo-week blocks o asks, which has allowed he p ojec o g ow wi h consis ency and ensu ing a cons an inpu o eedback om ou ad iso s. We s a ed wi h he planning o he p ojec , whe e we c ea ed a se o plans o help guide he de elopmen . Con inuing wi h he equi emen analysis whe e we s udied, analyzed and documen ed all he needs o ou applica ion. Wi h all equi emen s es ablished, we p oceeded o he design phase and de ined he echnical speci ica ions. Then we ans o med all he equi emen s in o ac ual code, ollowing all he documen a ion o he p e ious s ages. Finally igo ous es ing was 18 conduc ed in o de o ensu e he so wa e quali y and mee all he equisi es be o e he p ojec deploymen . In he nex chap e s o his documen we will explo e he s a e o he a o he ield ou applica ion lays in, explain he de elopmen p ocess o his so wa e applica ion and i s subphases: analysis, design, implemen a ion and es ing, and p o ide he necessa y in o ma ion o unde s and he managemen o he p ojec , as well as he mechanisms ela ed o p ojec con ol and moni o iza ion. Finally, a concluding chap e including he akeaways o he p ojec and u u e wo k will be p esen in his documen . 19 Chap e 2 - S a e o he A Da a analysis and isualiza ion ools a e no a ecen addi ion o he wo ld o spo s. En husias s and expe s ha e always been ascina ed by he collec ion o da a o hei a o i e spo , om pionee coaching s a s o dedica ed adio s a ion spo s alk shows and specialized magazines. 2.1 Use P o iling Mainly, he applica ion is ca e ed owa ds manage s and o he membe s o he s a o a oo ball club, such as scou s, analys s and spo ing di ec o s, bu we also ake in o conside a ion ama eu oo ball en husias s ha also seek a comp ehensi e pla o m o oo ball managemen and analysis. 2.2 Compa a i e Analysis o o he P ojec s P io o designing he speci ica ions and equi emen s, we d ew inspi a ion om he exis ing pla o ms ha a e dedica ed o he use o he a o emen ioned echnologies wi hin he scope o spo s, and pa icula ly oo ball. This has helped us ealize which a e he sho comings and s eng hs o simila pieces o so wa e, and which a e he a ailable oppo uni ies o gain an edge o e hem. ADVANTAGES DISADVANTAGES IDEAS FOR OUR APP Wyscou [1] Mo e han 600 hund ed compe i ions including you h leagues and cups. API access. Ad anced sea ch o c ea e playe sho lis s. S a s pai ed wi h ideo. Backed by es ablished Basic plan 300$ a yea . No insigh on possible ans e ees. The possibili y o ad anced sea ching o playe s and he c ea ion o sho lis s o keep ack o ce ain playe s. 20 ADVANTAGES DISADVANTAGES IDEAS FOR OUR APP eams. Olocip [2] AI scou ing and p edic i e pe o mance. Pe sonalized dashboa d. Used in di e en spo s. P edic ion and p e en ion o inju ies. Playe assessmen and pe o mance p edic ion. Scalabili y and able o inco po a e u u e da a sou ces and handle la ge olumes o da a. No possible access o speci ic in o o da a o he solu ions p o ided by Olocip. Using AI o p edic pe o mance o playe s. Scalabili y o he app. S a sPe o m [3] In-dep h and his o ical da a ha allows ends analysis and his o ical compa ison. Li e ma ch s a is ics ha allow in-game analysis and ac ical adjus men s. Cus omiza ion o di e en ypes o use s. Lacks ools om di ec compe i o s. Ca e ed owa ds media ou le s and spo be ings companies. Allow end analysis and compa ison be ween playe s. InS a [4] Comp ehensi e ideo co e age. De ailed ma ch and playe analysis. Cus omizable epo s and da a isualiza ion. Tools o ec ui men and playe ading. Mainly ocused on Ame ican high-school and college oo ball eams. Lack o da a o o he coun ies. De ailed playe da a and ools o playe ec ui men and ading. Scispo s [5] Women oo ball included. S a s, ad anced playe sea ch and sho lis ing. Calcula ed me ics such as ans e alue, po en ial and de elopmen . Con empo a y in e ace. In elligen sea ch engine. Own eam analysis. Backed by es ablished eams. Limi ed da abase. No ideo a ailable. Essen ial pack 900$ a mon h. Possibili y o own eam analysis. Ha ing calcula ed me ics such as ans e alue. Table 2.1- Compe i i e Landscape 21 In gene al, pla o ms can ga he and display playe and compe i ions da a and s a is ics e ec i ely, mos o hem also o e ing playe epo s ha include g aphs such as playe p og ession, hea maps and many mo e. Wyscou is he leade in e ms o he shee amoun o da a and he a ie y o compe i ions and clubs co e ed in hei plans bu lack some e y in eg al unc ions ha hei main compe i o , Scispo s, ea u e in hei plans, such as ans e alue and playe po en ial analysis o ou s anding playe s. In e ms o p icing, he e a e no ee al e na i es ha o e simila se ices, bu some a e mo e expensi e han o he s. Scispo ’s app oach o an up on p icing helps us unde s and wha alue you a e ge ing o wha you a e paying, whe eas Wyscou ’s app oach is o e ing a e y limi ed numbe o ea u es o a ixed p ice, and hen ge ing a p i a e, pe sonalized, p ice o he ea u es you eques . While some o he ea u es equi ed o an e ec i e eam-planne ool a e p esen in all hese pla o ms, such as he da a and s a is ical analysis o playe s and compe i ions, mos lack he unc ionali y ha is key o ou scope, a eal- ime eam planne and builde . The sho lis and eam analysis a e p esen in he wo main playe s in his sec o , Wyscou and Scispo s, bu only he la e o e s ma ke - alue indica o s. Ou main ocus is o expand on he eam-builde aspec s o hese pla o ms, adding sma - ans e s, which gi e a comp ehensi e insigh in o he club’s ma ke oppo uni ies, aking in o accoun a gi en budge and a speci ic long- e m spo ing goal, such as building a young squad ha aims o u u e esul s and ma ke p o i o immedia e esul s. 22 2.3 Technologies In o de o ensu e he bes possible pe o mance and i o ou ision, we analyzed he main op ions in e ms o he de elopmen o an applica ion, which a e summa ized in he able below. Once we se led o web app de elopmen , as i allows c ea ing an easily accessible applica ion ac oss a mul i ude o di e en de ices and ope a ing sys ems wi hou equi ing downloads, we explo ed he di e en possibili ies in e ms o web applica ion amewo k echnologies (WAF) [6], ounda ions aimed o help de elope s build web applica ions, and he main akeaways can be seen in he able below. WEB APP DEVELOPMENT MOBILE APP DEVELOPMENT De ini ion P ocess o designing, building, and main aining a websi e app. C ea ing an applica ion o use on mobile de ices. Technologies used HTML, CSS, Ja aSc ip mainly Pla o m-speci ic echnologies Compa ibili y Web apps can wo k on mul iple de ices o pla o ms and on olde ope a ing sys ems. You need o conside he di e se ypes o mobile de ices and ope a ing sys ems Implemen a ion Requi e less pla o m-speci ic p og amming knowledge in o de o implemen . Need speci ic ech s acks and sepa a e apps o di e en OS. Upda es Di ec upda e o changes in he applica ion. Usually, you need he comme cial app s o e app o al o any kind o upda e. Table 2.2 - Technologies 23 2.3.1 Web F amewo k Technologies ADVANTAGES DISADVANTAGES Reac [7] Ja aSc ip amewo k. Simpli ied Use In e ace de elopmen wi h a decla a i e app oach. La ge communi y and ecosys em. Ensu es scalabili y hanks o eusable componen s. De elope ools like Reac De Tools [8] o debugging. Uses Ja aSc ip XML syn ax, his acili a es he UI de elopmen . High lea ning cu e o beginne s. Requi es addi ional ooling and lib a ies o complex ea u es like ou ing o s a e managemen . Vue.js [9] E icien upda es o he use in e ace wi h au oma ic acking o da a changes. Componen based a chi ec u e acili a es code eusing and main ainabili y. Op ions API and Composi ion API o de ine componen logic. Single ile componen s ha encapsula e logic, empla e and s yles. Smalle communi y and ecosys em compa ed o he o he s. Limi ed scalabili y o applica ions. Django [10] Based in py hon. Follows MVC a chi ec u e [11]. La ge communi y and documen a ion. Simpli ied da abase in e ac ion wi h Objec Rela ional Mapping sys em. Au oma ic gene a ion o admin in e ace o e icien managemen o da abase. Comp ehensi e se o ools ou o he box. Buil in secu i y measu es like he CSFR Token [12] i o ms o p o ec apps agains common web ulne abili ies like c oss si e eques o ge y. Tes ing amewo k o uni y es ing. I s igid s uc u e may limi lexibili y. Angula [13] Buil -in ea u es o complex single- page applica ions. Code main ainabili y wi h a componen -based a chi ec u e. Typesc ip in eg a ion, which enhances Need o ollow ce ain con en ions and pa e ns o de elopmen , limi s lexibili y. La ge bundle size compa ed o o he amewo ks, which makes a slowe app. 24 code quali y. Anima ion suppo o a isually appealing UI. Rou ing suppo . La ge collec ion o lib a ies and ools, wi h an ex ensi e communi y and documen a ion. Table 2.3 – Web F amewo k Technologies I is impo an o men ion he many ools and echnologies we chose and used o manage he ele an echnical aspec s o ou p ojec . Below we desc ibe in de ail hese s a egies and he ole hey play in he de elopmen o ou p ojec . 2.3.2 Web De elopmen Rega ding web and mobile app de elopmen , we s udied bo h app oaches and decided o ocus on c ea ing a web applica ion due o he abili y o each a wide audience and lexibili y in p og amming. We p e e he e sa ili y o web applica ions along wi h ou web de elopmen expe ience ob ained om he cou ses we ha e a he Complu ense Uni e si y o Mad id. Ano he aspec we ook in o conside a ion is he appea ance o ou p oduc . We a e commi ed o p o iding a use - iendly in e ace, and being able o display powe ul isualiza ion ools while keeping a simple look and eel ha does no o e whelm he use is e y challenging in a mobile en i onmen . A web applica ion allows us o unleash he ull po en ial o ou p oduc , and in he u u e, a po o a mobile en i onmen could be conside ed i he e was enough use -demand. To implemen ou web applica ion, we chose he Django amewo k based on Py hon, which ollows he Model-View-Templa e (MVT) design pa e n, like he Model- View-Con olle (MVC), Django uses a complex, modula amewo k p o ided o ou applica ion, whe e model handles da a managemen , iew con ols, and empla es. This p ocess acili a ed ou de elopmen and allowed us o main ain a clean and s uc u ed code. 25 Fo he on end o ou applica ion, we ha e mixed CSS and Ja aSc ip o gi e he use well s uc u ed, s yled, and adap i e pages. We ha e ensu ed a consis en and in e ac i e app oach o all ou ools. 2.3.3 De elopmen En i onmen When coding he p ojec , we used Visual S udio Code [14] as he In eg a ed De elopmen En i onmen (IDE) [15] o choice. I s lexibili y, wide ange o ex ensions, and dynamic use base make his code edi o a powe ul ool o de elopmen . Addi ionally, Visual S udio Code’s na i e in eg a ion wi h Gi [16] allowed us o e ec i ely main ain e sion con ol o ou code by using Gi Hub [17] as a emo e eposi o y. As a eam o wo de elope s, being able o make code con ibu ions emo ely and synch onously has been i al and has signi ican ly sped up he de elopmen o he applica ion. 2.3.4 Collabo a ion and T acking Tools We used JIRA [18] and Slack [19] o p ojec managemen and p ojec acking. These pla o ms ha e allowed us o o ganize ou ac i i ies, assign asks pe iodically, and ack p ojec p og ess in de ail, as well as ins an messaging. The whole p ojec since Oc obe has been b oken down in o 2-week blocks wi h each o he di e en asks classi ied in o di e en modules, which we e lagged acco ding o hei comple ion s a us. Toge he wi h he use o he ins an messaging ea u e in eg a ed in Slack, and o he messaging pla o ms such as Wha sApp [20], we used Google Mee [21] o eam mee ings, which allowed us o main ain e ec i e communica ion h oughou he de elopmen o he p ojec , especially in a emo e wo k en i onmen . We also used Google Docs [22] and Google D i e [23] o collabo a e on w i ing all documen a ion and sha ing o he iles. 32 3.3.2 Ac i i y Diag ams and S uc u ed Na u al Language 1. Playe Subsys em ● Basic Sea ch Figu e 3.2 – Basic Sea ch AD Iden i ie UC1 Use case name Basic Sea ch Ac o s Use , Sys em Desc ip ion Use sea ches playe s and he ones whose name, club o league ma ches he que y a e displayed P econdi ion Playe da abase up o da e. No mal Sequence 1. Use en e s some ex on he box and clicks he “Sea ch” bu on. 2. The sys em looks o ma ches on he playe ’s names, club o league. 3. Resul s a e displayed. 33 Pos condi ion Playe da abase up o da e. Excep ions S ep 3: I he e a e no playe ma ches, he use will be in o med. Table 3.1 – Basic Sea ch SNL ● Playe P o ile Figu e 3.3 – Playe P o ile AD Iden i ie UC2 Use case name Playe P o ile Ac o s Use Desc ip ion Re ie e and display in-dep h a ibu es and s a is ics o a playe 's p o ile, including s eng hs, weaknesses. P econdi ion Playe p o ile exis s in he da abase. No mal Sequence 1. Use accesses h ough any alid way o a playe ’s p o ile. 2. The sys em e ches and compiles basic playe in o ma ion such as hei age, club, posi ions as well as hei image. 3. Sys em displays he in o ma ion. 34 Pos condi ion Use s a e in o med abou he selec ed playe 's in o ma ion. Excep ions 3. Once he in o ma ion is displayed, he use has wo op ional ac ions: 3a: The use can click on one o he playe ’s posi ions, which will make he sys em c ea e ad anced da a isualiza ion g aphs wi h hei s a is ics, as well as calcula ing hei Sma Sco e o ha posi ion. 3b: The use can selec one o hei exis ing Squads o add he playe o hem. Table 3.2 – Playe P o ile SNL ● Ad anced Sea ch Figu e 3.4 – Ad anced Sea ch AD Iden i ie UC3 Use case name Ad anced Sea ch Ac o s Use , Sys em Desc ip ion Fil e playe s based on desi ed cha ac e is ics such as playe in o ma ion, physical a ibu es, and in-pi ch s a is ics. P econdi ion Playe da abase is a ailable. 35 No mal Sequence 1. The sys em displays a se o il e s and posi ions. 2. Use can selec hose il e s and posi ions, hen clicks he “Sea ch” bu on. 3. Sys em il e s all he playe s acco ding o he selec ed me ics and displays hem. Pos condi ion Use sees a lis o playe s ha ma ch hei desi ed cha ac e is ics. Excep ions S ep 3: I no esul s a e ound, he use will be in o med. Table 3.3 – Ad anced Sea ch SNL ● T ans e Value Helpe Figu e 3.5 - T ans e Value Helpe AD Iden i ie UC4 Use case name T ans e alue helpe Ac o s Use , Sys em Desc ip ion Es ima e a playe 's ans e ee based on a ious cha ac e is ics. P econdi ion Playe in o ma ion and con ac de ails a e a ailable. 36 No mal Sequence 1. Use p o ides playe cha ac e is ics, league, club, and con ac de ails. 2. Sys em calcula es an es ima ed ans e ee. 3. Sys em compa es he es ima e wi h T ans e ma k 's ma ke alue o alida ion. 4. Sys em p o ides he use wi h he es ima ed ans e ee. Pos condi ion Use ecei es an es ima ed ans e ee o he speci ied playe . Excep ions Table 3.4 – T ans e Value Helpe SNL 2. Analysis Subsys em ● Squad Builde Figu e 3.6 – Squad Builde AD Iden i ie UC5 Use case name Squad Builde 37 Ac o s Use , Sys em Desc ip ion Analyze an exis ing eam squad, p o iding eedback on imp o emen s and playe ecommenda ions. P econdi ion Team squad in o ma ion is a ailable. No mal Sequence 1. Use impo s an exis ing eam squad. 2. Use clicks on he desi ed posi ions on he ield, playe s ha play he e a e highligh ed, and he use can choose hem and add hem o he selec ed ele en. 3. When ele en playe s ha e been selec ed, he use p esses he “Analyze” bu on. 4. Sys em p o ides eedback on each o he selec ed playe s, indica ing hei s eng hs and weaknesses. 5. Below-a e age playe s can be eplaced i he use clicks he “Replace” bu on, which will p omp he sys em o look o playe s ha imp o e he medioc e ones. The use can swap hem ou and eplace he weak links o he squad Pos condi ion Use ecei es eedback on hei squad and can imp o e i . Excep ions S ep 2: i he use desi es o, hey can emo e he selec ed playe s by clicking on he “x” icon nex o hei name on he ield. S ep 3: i he e a e no exac ly ele en playe s, he use will be in o med and asked o esize hei selec ed ele en. Table 3.5 - Squad Builde SNL 38 ● Sma Sco e Figu e 3.7 – Sma Sco e AD Iden i ie UC6 Use case name Sma Sco e Ac o s Sys em Desc ip ion Analyze a playe and p o ide a nume ic e alua ion om 1 o 99. P econdi ion Playe in o ma ion a ailable. No mal Sequence 1. Playe in o ma ion is loaded. 2. The sys em checks i he e is any Fu u eScope in o ma ion p o ided and e ie es he pa ame e s. 3. The sys em pe o ms he e alua ion algo i hm. 4. The sys em e u ns a nume ic e alua ion. Pos condi ion The sys em p o ides a nume ic g ade o he playe . Excep ions S ep 2: i he e is no de ined in o ma ion o he Fu u eScope, he de aul pa ame e s will be applied. Table 3.6 - Sma Sco e SNL 39 ● Recommended Signings Figu e 3.8 – Recommended Signings AD Iden i ie UC7 Use case name Recommended Signings Ac o s Use , Sys em Desc ip ion P o ide use s wi h ecommended playe signings based on playe p e e ences and s a is ical alues. P econdi ion Playe da abase and ans e alue es ima es a e a ailable. No mal Sequence 1. Use s access he ecommended signings sec ion. 2. Use s choose he ype o playe hey a e looking o . 3. The sys em il e s ou he playe s ha do no mee he desi ed cha ac e is ics. 4. Sys em compu es he Sma Sco e o he emaining playe s. 40 5. Sys em displays he bes op ions as ecommended signings o he use . Pos condi ion Use ecei es a lis o up o 30 ecommended signings wi h hei Sma Sco e. Excep ions S ep 2- I is no manda o y o add all he il e s o he playe s. S ep 3 - I can be he case ha no playe s mee he desi ed condi ions. In ha case, he use will be in o med, and hey can modi y he il e s. Table 3.7 – Recommended Signings SNL 3. Use Managemen Subsys em ● Sign Up Figu e 3.9 – Sign Up AD Iden i ie UC8 Use case name Sign Up Ac o s Use 41 Desc ip ion C ea e an accoun wi h alid c eden ials p o ided by he use P econdi ion No duplica e use IDs No mal Sequence 1. Use p o ides c eden ials. 2. Use ID uniqueness is e i ied. 3. Passwo d s eng h is e i ied. 4. Accoun is c ea ed. 5. Log in Pos condi ion No duplica e use IDs Excep ions S ep 2: i he use ID is al eady p esen in he da abase, he use will be in o med. S ep 3: is he passwo d is no s ong enough, he use will be in o med. Table 3.8 – Sign Up SNL ● Log In Figu e 3.10 – Log In AD Iden i ie UC9 Use case name Log In Ac o s Use Desc ip ion Check ha he c eden ials en e ed by he use a e alid 48 Figu e 4.1 – PMS Class Diag am Fo he Analysis Subsys em, as shown in Figu e 4.2, we ha e used he colo pale e p e iously men ioned, and again choosing an abs ac ep esen a ion o he o he wo subsys ems. Figu e 4.2 – AS Class Diag am 49 Fo he inal subsys em, he Use Managemen Subsys em, we main ain he s ylis ic decisions o he ep esen a ion o i s class diag am, which is displayed in Figu e 4.3. Figu e 4.3 – UMS Class Diag am 4.2 Da ase S uc u e Designing he s uc u e o he da ase o his applica ion is a c ucial s ep in he de elopmen o he p ojec , as i ensu es da a consis ency and a manageable se o in o ma ion. The ma e ial o he applica ion can be classi ied in o 7 in e connec ed da a models. Below, we de ail hem and hei ole in he sys em: ● Playe : in his model ind in o ma ion and s a is ics abou each o he mo e han 12.000 playe s p esen in ou applica ion. A ibu es include playe name, age, na ionali y, and a ious pe o mance me ics. 50 ● Posi ion: as playe s can play in mo e han one posi ion, he Posi ion model is going o be a ield associa ed wi h he Playe model. This allows mo e lexibili y and he implemen a ion o obus playe analysis. ● Squad: his model is associa ed wi h he Squad Builde unc ionali y, and each o hese da a ypes is going o con ain a lis o playe s and a squad name. ● Sho lis : he same way Squad is associa ed wi h he Squad Builde unc ionali y; Sho lis is ela ed o he Recommended Signings ea u e o he Analysis Subsys em. ● League: his is an auxilia y da a model ha con ains he names o he leagues in ou da ase and he coun y associa ed wi h hem. This model is used by he Use and Analysis subsys em, as i is in ol ed in he Sma Sco e calcula ion and he Fu u eScope se ings. ● Use P o ile: e y common in web applica ions, he Use P o ile model handles he use da abase and hei se ings and sa ed elemen s. 4.3 In e ace Mockup In his phase we made choices o ensu e ha ou applica ion ollows a use - cen ic app oach, p o iding an in ui i e use expe ience. The key design p inciples ha ou applica ion ollows a e: 1. Sideba na iga ion: ou in e ace should ea u e a sideba ha houses he p ima y ools, di iding hem in o ca ego ies ha ease b owsing ou applica ion. 2. Top ba : he main pu pose o ha ing a op ba in ou applica ion is o complemen he sideba , p o iding a seconda y na iga ion elemen . He e, use s can ind he ea u es ela ed o use au hen ica ion and o he accoun - ela ed unc ionali y. Fu he mo e, a sea ch box is p o ided, whe e he Basic Sea ch desc ibed in he Playe Managemen Subsys em in Chap e 3 can be pe o med. 3. Responsi e Design: as desc ibed p e iously, a non-nego iable equi emen was ha ou applica ion mus adap o a wide ange o de ices, web b owse s and sc een sizes. This p inciple ensu es a consis en and op imized use expe ience. 51 4. Consis en B anding and S yling: h oughou he in e ace, we main ain a consis en colo pale e, ypog aphy, and iconog aphy. By adhe ing o he same s ylis ic choices, we boos use amilia iza ion wi h ou applica ion. The deli e able om his phase was a mockup o p o o ype o he web applica ion’s in e ace, c ea ed using he Can a [35] so wa e ool, an online isual sui e and empla e edi o . The design choices and p inciples p e iously men ioned a e embodied in Figu e 4.4 and will se e as he bluep in o he s ylis ic decisions in he implemen a ion phase o he p ojec . Figu e 4.4 – In e ace Mockup 4.4 Technological Scope As an in oduc ion o he chap e , we will desc ibe he a chi ec u e o he applica ion a a high-le el. In Figu e 4.5 we ha e a desc ip i e g aphic ep esen a ion o he a chi ec u e. 52 Figu e 4.5 – A chi ec u e o he Applica ion As desc ibed in he igu e, he use will in e ac wi h he applica ion h ough i s in e ace, coded in high le el languages such as HTML, Ja aSc ip and CSS. By in e ac ing wi h he in e ace, he use will be able o communica e wi h he applica ion’s logic, p og ammed in Py hon and Ja aSc ip , which will wo k alongside he da abase, ile sys em and algo i hmic backbone o he applica ion. 53 Chap e 5 - Implemen a ion This phase in ol es coding he applica ion, which in ol ed ansla ing he unc ional equi emen s in o p og amming languages. In ou case, we used he Django F amewo k, which ollows he model- empla e- iews (MTV) a chi ec u al pa e n and in ol es he use o p og amming languages such as HTML, CSS and Py hon. The chosen me hodology was especially impo an o his s age, as subdi iding he de elopmen in o wo-week blocks, wi h mee ings in be ween, allowed us o keep a cons an wo k low, clea ly de ined objec i es o each sp in and a cons an in lux o eedback and discussion abou he decisions made. The i s week o implemen a ion was dedica ed o he c ea ion o he web applica ion’s basic p o o ype: a simple page whe e he unc ionali y can be deployed as i is de eloped. This in ol ed c ea ing a simple in e ace acco ding o he decisions aken in he design s age and in oducing a educed e sion o he playe da ase , in o de o es he i s pieces o unc ionali y wi h a limi ed amoun o in o ma ion. The nex weeks in ol ed he comple ion o wo o he main ea u es o he Playe Managemen Subsys em, ad anced sea ch, and he playe p o ile. Fo his s age, he in e ace was g ea ly upg aded, as he i s ad anced da a isualiza ion elemen s we e in oduced in o he applica ion. The implemen a ion o he ad anced sea ch ea u e was challenging, bu i helped us unde s and he in icacies o wo king wi h he da ase while mixing di e en p og amming languages such as Py hon, Ja aSc ip , and HTML. The nex mon h o de elopmen , om mid-Janua y o he end o Feb ua y, was dedica ed o wo o he main ea u es o ou web applica ion, he Squad Builde ool and he Sma Sco e calcula ion algo i hms. These wo componen s o he Analysis 54 Subsys em posed a g ea challenge as hey in ol e complex ope a ions and complica ed calcula ions, bu once we mas e ed hem, o he obs acles we e no as kno y as be o e. In Figu e 5.1, an example o one o he many algo i hms in ol ed in Sma Sco e calcula ion is displayed, his one is used o ob ain an adjus men ac o o he sco e when weighing playe s es ima ed ans e alue and he ans e budge p o ided by he use . Figu e 5.1 – Budge Adjus men Fac o In Figu e 5.2, ano he example o he calcula ions made in he p ocess o e alua ing playe s h ough he Sma Sco e alue is shown. To calcula e he ac o ela ed o a playe ’s age, we a e going o be using he Fu u eScope se ings chosen by he use . In his case, when selec ing long- e m success (G ow h Fac o = 2), he 55 algo i hm places mo e alue in he playe ’s age, gi ing mo e ex eme age sco e ac o s o e y young o e y old playe s. Figu e 5.2 – Age Adjus men Fac o The culmina ing e o s o he implemen a ion s age we e dedica ed o he de elopmen o he ecommended signings ool o he Analysis Subsys em, as well as he Fu u eScope se ings ela ed o he Use Managemen Subsys em and inal weaks o he CSS and HTML code ela ed o he isual aspec s o he web applica ion’s in e ace. The inal deli e ables o his s age we e a de ini i e web applica ion, a Use ’s Manual, and a P og amme ’s Manual, which a e included in he appendixes o his documen . 56 Chap e 6 - Tes ing A e he de elopmen o he code and he manuals, igo ous es ing and quali y assu ance p ocedu es we e conduc ed o ensu e ha he so wa e me he speci ied equi emen s and cons ain s. We ha e conduc ed bo h uni es s and in eg a ion es s o co e all code o ou applica ion. We ha e ollowed he es ing guidelines de ined in So wa e Tes ing and Quali y Assu ance [36], o ensu e ha his p ocess is done e icien ly and mee s he quali y equi emen s posed by hese es ing s anda ds. Uni es ing consis s o es ing indi idual modules and componen s o he sys em, alida ing he beha io o he unc ions ha a e included in he code. On he o he hand, in eg a ion es ing is he p ocess o e i ying he in e ac ions be ween di e en pa s o he sys em as a uni ied g oup. 6.1 Uni es To co e as many es cases as possible, we ha e used a combina ion o wo es ing echniques: ● Black-Box es ing: implies es ing he unc ionali y o he p og am wi hou p io knowledge o he in e nal wo kings o he sys em, jus he inbound and ou bound pa ame e s o a unc ion. ● Whi e-Box es ing: equi es comple e knowledge o he sys em ha is being es ed. Fo he es ing o ou web applica ion, we ha e mainly used equi alence and asse ion o check he beha io o he p og am in di e en scena ios. As de ined by he a o emen ioned es ing and quali y assu ance guidelines, equi alence class pa i ioning is used in cases whe e he inpu domain is oo la ge o all i s inpu s o be used as es inpu s. Fo example, o es ing he Use subsys em, we ha e used his 57 echnique o c ea e equi alence classes o he login p ocess o a use , whe he he c eden ials a e alid, o hey a e no . An example o he use o whi e-box es ing, also known as s uc u al es ing, can be ound in he alida ion o he sys em’s connec ion o he T ans e ma k API. The ocus in his pa icula case is on he da a low and con ol low, ha is, he logic behind he da a e ie al and p ocessing and e o handling mechanisms. 6.2 In eg a ion es Once he modules o he applica ion ha e been indi idually es ed, in he p ocess known as uni es ing, he s abili y o he sys em as an ensemble mus be e i ied. The main objec i e o in eg a ion es ing is o ensu e he co ec ness o he communica ion be ween he di e en modules ha make up he applica ion and ha e been uni - es ed. The e exis a ious me hods o conduc in eg a ion es s: Big Bang, Top-bo om, Bo om- op and Sandwich. Due o he size o he sys em, we ha e disca ded Bing Bang, because i in ol es in eg a ing all sys em componen s a he same ime. In ou case, we ha e used he Top-bo om model, which begins wi h high le el modules and in eg a es low le el modules p og essi ely, opposi e o Bo om op ha begins wi h low le el modules. Sandwich in eg a ion ep esen s a midpoin be ween op-bo om and bo om op. Fo ins ance, in his quali y assu ance p ocess we ha e es ed he ecommended signings unc ionali y co esponding o he Analysis subsys em. This ool in ol es communica ion be ween di e en modules: Sma Sco e calcula ion, playe sea ching wi h cons ain s in he da ase , he use o he Fu u eScope se ings, e c. 64 7.1.5 E o Es ima ion The inal s ep o his p ocess consis s o he calcula ion o an e o es ima e, measu ed in pe son-days. The o mula used o ge his es ima e is he ollowing: E o Es ima e = (Adjus ed Func ion Poin Coun / Deli e y Ra e) * Days pe pe son-mon h • The Adjus ed Func ion Poin Coun (AFP) was calcula ed p e iously (AFP = 173) • The Deli e y Ra e (DR) is he es ima ed Func ion Poin s ha can be deli e ed by a pe son in a mon h and a e measu ed in Func ion Poin s pe pe son-mon h. In his p ojec , we ha e es ablished ha DR = 18 FPs/pe son-mon h. • Days pe pe son-mon h (DPM) e e s o he con e sion a e o pe son-mon hs o e o o pe son-days o e o , ha is, he numbe o wo king days o a pe son in a mon h. Fo he es ima ion o ou applica ion, DPM = 17,5 days pe mon h. Figu e 7.5 – E o Es ima e The E o Es ima e o he implemen a ion o he p ojec is 168 pe son-days. 7.2 Planning The es ima ion o he imeline o he de elopmen o his p ojec ha e been ob ained by using he p ojec managemen so wa e ool P ojec Lib e [42]. This open- sou ce so wa e has been used o gene a e a Gan cha o ou p ojec , which is included below in Figu e 7.6. 65 Figu e 7.6 – Planning Gan Cha The main akeaways d awn om he cha a e ha mos o he e o s ha e been dedica ed o he Implemen a ion s age, which expanded om he mon hs o Decembe o he beginning o Ap il. Figu e 7.7 – Dependency Cha 7.3 Resou ces The de elopmen eam o his p ojec consis s o ou membe s, on one hand, Gallego and Mo eno, in cha ge o he de elopmen o he applica ion as well as w i ing e e y piece o documen a ion, and wo ad iso s, p o esso s Elena Gómez and José Ignacio Requeno. To illus a e he esou ce/ ask assignmen o his p ojec , we a e going o use he ollowing able, which conside s he main ac i i ies ha make up he p ojec . 66 Ac i i y Con ibu o P ojec Managemen I án Gallego Pablo Mo eno Counseling, Consul ing Elena Gómez José Ignacio Requeno Analysis I án Gallego Pablo Mo eno Design I án Gallego Pablo Mo eno Coding I án Gallego Pablo Mo eno Tes ing I án Gallego Pablo Mo eno Documen ing I án Gallego Pablo Mo eno Table 7.2 – Resou ce Alloca ion In e ms o inancial esou ces, he only capi al in es ed in his p ojec was des ined o he pu chase o a copy o Foo ball Manage 2024, which was used o he objec i e o ob aining he da abase o he applica ion. 7.4 Risk Managemen In so wa e de elopmen , assessing he possible ci cums ances o e en s ha may hinde he p ojec ’s success is a undamen al pa o minimizing hei po en ial nega i e consequences. In his chap e , we will iden i y which a e hese ci cums ances and assess hei impo ance and p o ide s a egies o minimize hei impac . 67 7.4.1 Risk Iden i ica ion and Ca ego iza ion Technical isks ● Dependency on ex e nal APIs: eliance on an ex e nal API o ge he playe ’s T ans e ma k alua ion, his could pose a isk i he API expe iences down ime o becomes una ailable. ● Compa ibili y issues: some b owse s o de ices may cause compa ibili y issues due o a ia ion in se ings, ende ing o speci ica ions. ● Da a secu i y: isks associa ed wi h da a secu i y include unau ho ized access, ulne abili ies in he sys em o da a b eaches. Resou ce isks ● Limi ed de elopmen esou ces: cons ain he p ojec imeline and quali y o deli e ables. ● In as uc u e limi a ions: he chosen echnologies and in as uc u e may lead o pe o mance issues o subop imal use expe ience. Func ional isks ● Incomple e unc ionali y: he applica ion may ace isks ela ed o incomple e o inconsis en unc ionali y, compa ed o hei desc ip ion in he p ojec ’s equi emen s. ● Use in e ace sho comings: poo usabili y, lack o esponsi eness o con using na iga ion may a ec use ’s sa is ac ion and adop ion o he p oduc . Ope a ional isks ● Sys em main enance: changes o he da abase, image olde o agmen s o he code may equi e down ime o dis up no mal ope a ions. 68 Managemen isks ● Communica ion challenges: poo communica ion among eam membe s could lead o misunde s andings, con lic s, o delays. ● Scope c eep: in he case ha new ea u es o equi emen s a e in oduced du ing he p ojec de elopmen phase, scope c eep may occu , leading o delays o changes in cons ain s. ● Poo ly de ined scope: issues may a ise i he scope has no been well de ined o i he de elopmen p ocess is no clea . Quali y isks ● Tes ing limi a ions: inadequa e es ing co e age o ine ec i e s a egies may esul in unde ec ed de ec s, bugs, o usabili y issues in he inal p oduc . ● Insu icien documen a ion: a lack o documen a ion o low-quali y one may c ea e issues ha hinde a obus quali y assu ance p ocess. Ex e nal isks ● Ma ke changes: changes in consume needs, p e e ences o he compe i i e landscape may impac on he p ojec ’s success. 7.4.2 Risk Analysis and Mi iga ion Only when we comp ehend and assess he impo ance o he p e iously men ioned isks, we a e able o ackle hem and mi iga e hem. To do his, he isks mus be analyzed, aking in o conside a ion he likelihood o hem occu ing and he impac hey would ha e on he p ojec i hey we e o appea , pe o ming a quali a i e analysis and gi ing hei nega i e impac a nume ic g ade anging om 1 o 25. 69 Fu he mo e, mi iga ion s a egies mus be de ined, explaining wha ac ions a e aken o minimize o comple ely elimina e he nega i e impac s o hese ci cums ances o e en s, aking in o accoun he p io i y de ined p e iously. Figu e 7.8 – Risk P io i y Scale Using Mic oso Excel, we ha e c ea ed wo ables. The i s one is depic ed in Figu e 7.8 and desc ibes he scale used o iden i ying he isks’ p io i y acco ding o he p obabili y o occu ence and impac , and he second one, Figu e 7.9, includes a desc ip ion o he impac , p io i y le el and mi iga ion s a egies o each o he isks. 70 This is he main eason why he p e ious e alua ion o isks has been aken in o conside a ion in each o he s ages o de elopmen o his p ojec , oge he wi h he pe inen moni o ing and con ol o hese isks. Figu e 7.9 – Risk E alua ion 71 Chap e 8 - P ojec Con ol and Moni o ing 8.1 Change Con ol, Moni o ing and Ve i ica ion The p ojec has been de eloped using Gi Hub as a e sion con ol ool, ha ing a join eposi o y in which each o us coded in ou own b anch, and he consis ency o he code was ensu ed h ough pushing, pulling, and me ging b anches om he Gi Hub eposi o y. To moni o he p og ess o he p ojec and he s a us o he asks co esponding o he biweekly block, we ha e used a Ji a Boa d. In he Ji a So wa e ool, a p ojec can be c ea ed, and by using i s buil -in ch onog am, backlog and boa d ea u es, we we e able o e ec i ely ollow p ojec p og ess. Fo each wo-week e o we had a boa d wi h he asks ha we e se as objec i es o he pe iod, which we e classi ied unde di e en modules and gi en a s a us ag acco ding o hei comple ion si ua ion. Using his so wa e allowed us o always accoun o he asks ha needed o be done in ha pe iod, and he abili y o assign asks o a use pe mi ed seamless collabo a ion be ween he eam membe s. Figu e 8.1 – Ji a Boa d 72 Finally, in ou biweekly mee ings, he e i ica ion o he asks was done oge he wi h ou u o s. This is a way o ensu ing ha he p ojec is de eloping in he igh pa h, and i mis akes o possible enhancemen s a e ound o ques ions a e posed, hey a e quickly and e ec i ely ackled. These mee ings we e held ei he in pe son, in he acul y, emo ely, h ough he Google Mee pla o m, o as a mix u e o he wo, depending on he a ailabili y o he membe s o he p ojec . 8.2 Di icul ies Found Holding he de elopmen o his p ojec o high s anda ds has posed a challenge in each o he s ages o he a ai . In he i s s age, analysis, he main obs acles ha we ound we e ha he exis ing pla o ms in he ma ke we e ex emely sec e i e and he me ic abou hei modus ope andi, and we had li le in o ma ion abou he echnologies hey used o he way hey we e implemen ed. Fu he mo e, when ponde ing wha echnologies we e sui able o he ision ha we had o ou p ojec , we we e equi ed o in es iga e and adop nume ous concep s and ideas we we e un amilia wi h. Secondly, de ining he equi emen s and ga he ing he cons ain s o hold ou p ojec o he highes s anda d was edious, especially conside ing ha he knowledge ega ding hese p ocedu es was deeply bu ied in ou memo ies. The implemen a ion s age was clea ly he bumpies one. Being he one ha ook he longes ime and e o , we we e inding new challenges e e y single day. Fi s , we we e no expe s using he Django amewo k, so i ook some ge ing used o all i s in icacies and peculia i ies. The ea ly days o his s age we e dedica ed o ha ing a wo king web applica ion, which we hen could use as a backbone o hen implemen he ea u es a a ime. 73 Ha ing a wo king da abase was a challenge. S anda dizing o ma s o each o he ields ook some discussion among he eam, and deciding wha o do when some o he ields we e una ailable also posed a challenge. The bigges deba e a hose momen s was he size o he da abase: we wan ed o ha e as many playe s and as much in o ma ion abou hem as possible, bu wi hou comp omising he pe o mance o he applica ion, and inding a balance be ween hose wo ook some ime. Ano he issue we ound was displaying some isualiza ion ools and ha ing hem be dynamically esized acco ding o he use ’s sc een size. The CSS and Ja aSc ip code o hese ypes o unc ionali ies is no ha d, howe e , inding he igh se ings was a ma e o a lo o ial and e o . New challenges came when we had o implemen he “Ge Recommended Signings” ea u e. The algo i hms o assess he quali y o each playe ook way oo long, as he applica ion had o pe o m a lo o logical ope a ions o each indi idual playe on he da abase (as p e iously men ioned, his numbe is upwa ds o 12.000). The a e age u na ound ime o hese ope a ions was a ound i e minu es, which is no wha was speci ied in he Pe o mance Requi emen s. To ackle his p oblem, we added some p elimina y il e s o his unc ionali y and modi ied he o iginal pe o mance equi emen s. By il e ing p eemp i ely, he playe s by posi ional p o ile ( o example, including playe s ha play in any o he mid ielde posi ions) and beha io al a che ype ( hei plays yle, o example, c ea i e mid ielde s), as well as hei p e e ed oo , we we e able o p eselec a se o playe s ha ha e ou s anding me ics, o hen apply he g ading and selec ion algo i hms o only hose playe s. While i is s ill possible o ge ecommenda ions wi hou selec ing hese il e s, i is no ecommended, and he pe o mance equi emen s only speci y he expec ed u na ound ime when applying hem. 80 Fo he design s age, I was esponsible o ans o ming he documen co esponding o he da ase o ou applica ion ha I án Gallego gene a ed om he Foo ball Manage 2024 ideo game, in o a CSV ile ha ou pla o m was going o use, as well as educed e sions ha we e going o be used in ea lie e sions o he applica ion du ing he de elopmen p ocess o unc ionali y es ing pu poses. In his s age I was also asked wi h he c ea ion o a mockup o he in e ace o he applica ion. Fo he c ea ion o his p o o ype, I cap u ed he ideas we had ag eed on du ing he analysis s age as well as he p inciples de ined du ing he weeks alloca ed o he design o he p ojec and po ayed hem in a digi al ende . Wi h he documen a ion and o he byp oduc s o he analysis and design s ages, we we e eady o en e he mos edious phase o he so wa e de elopmen p ocess, he implemen a ion, wi h clea and concise guidelines. Fi s ly, I was esponsible o he c ea ion o he amewo k, ha means gene a ing he necessa y iles and documen s o ou Django applica ion o ha e a ounda ion on o which we we e able o deploy he unc ionali ies ela ed o he applica ion. My subsequen e o s we e dedica ed o implemen ing se e al elemen s o he Playe Managemen Subsys em, namely, he basic sea ch and he p o ile o he playe s. Using he mos educed e sion o he da ase s we had c ea ed in he design phase, I was able o ha e a wo king basic sea ch ba ha displayed playe s ha ma ched wi h he sea ch que y and hen I c ea ed a basic playe p o ile, ex ac ing he a ibu es om each o he playe s in he da abase and displaying he basic ones. The challenging pa o he Playe Managemen Subsys em was gene a ing he g aphs and o he isualiza ion ools ela ed o he ad anced s a is ics unc ionali y. 81 This in ol ed wo king wi h di e en p og amming languages and c ea ing unc ions and algo i hms o a ibu e compa ison, display, and ca ego iza ion. F om he Analysis Subsys em, I wo ked closely wi h I án Gallego o c ea e he squad builde ool, which con ains di e en elemen s such as analysis algo i hms, selec ion ools, da a isualiza ion and use managemen . Pe sonally, I ound his o be one o he mos demanding asks o he p ojec , especially conside ing ha we we e beginning o become amilia wi h he s uc u e o ou applica ion and disco e ing he in icacies o he echnology we had chosen o i . My ocus shi ed owa ds he unc ionali ies ela ed o he Use Managemen Subsys em as soon as he p e iously men ioned ool was implemen ed. While I closely collabo a ed wi h I án Gallego o he Fu u eScope se ings, I was mainly esponsible o hese unc ionali ies due o my p e ious expe ience wi h simila a ai s. I c ea ed he code ela ed o use c eden ials managemen , sign up, login and o he aspec s o use accoun managemen , which was no especially complica ed, bu equi ed a lo o wo k o ensu e ha he secu i y equi emen s we e me . Dealing wi h use ’s squads and sho lis s was also a key aspec o he e o s o hese weeks, as was hei in eg a ion in o o he pa s o he applica ion ( o example implemen ing he sho lis ing o sugges ed playe s in he ecommended signings ool). Fo he las s age o he p ojec , I was a he wheel o he c ea ion and e alua ion o he es ing applica ions. Wi h some help om my eamma e and a lo o cons an wo k, we we e able o gua an ee ha 100% o he code was es ed a e he inaliza ion o his phase. Finally, I helped I án wi h his commi men o inishing all o he pe inen documen a ion ela ed o he p ojec , including manuals and o he elemen s ha needed o be done. 82 Bibliog aphy [1] Wyscou . [Online]. A ailable: h ps://wyscou .hudl.com/app/?. [2] Olocip. [Online]. A ailable: h ps://olocip.com/. [3] S a sPe o m. [Online]. A ailable: h ps://www.s a spe o m.com/. [4] InS a . [Online]. A ailable: h ps://ins a scou .com/. [5] Scispo s. [Online]. A ailable: h ps://www.scispo s.com/. [6] DocFo ge, "Web Applica ion F amewo k," [Online]. A ailable: h ps://web.a chi e.o g/web/20150723163302/h p:/doc o ge.com/wiki/Web_ applica ion_ amewo k. [7] Reac . [Online]. A ailable: h ps:// eac .de /. [8] Reac , "Reac De Tools," [Online]. A ailable: h ps:// eac .de /lea n/ eac - de elope - ools. [9] Vue.js. [Online]. A ailable: h ps:// uejs.o g/. [10] Django. [Online]. A ailable: h ps://www.djangop ojec .com/. [11] Uni e si y o Cali o nia, Be keley, "Model-View-Con olle ," [Online]. A ailable: h ps://pa e ns.eecs.be keley.edu/?page_id=42. [12] CGISecu i y, "The C oss-Si e Reques Fo ge y," [Online]. A ailable: h ps://www.cgisecu i y.com/cs - aq.h ml. [13] Angula . [Online]. A ailable: h ps://angula .io/. [14] Visual S udio Code, [Online]. A ailable: h ps://code. isuals udio.com/. 83 [15] Amazon Web Se ices, "Wha is an In eg a ed De elopmen En i onmen (IDE)," [Online]. A ailable: h ps://aws.amazon.com/wha - is/ide/#:~: ex =An%20in eg a ed%20de elopmen %20en i onmen %20(IDE,eas y- o-use%20applica ion.. [16] Gi . [Online]. A ailable: h ps://gi -scm.com/. [17] Gi Hub. [Online]. A ailable: h ps://gi hub.com/. [18] JIRA. [Online]. A ailable: h ps://www.a lassian.com/. [19] Slack. [Online]. A ailable: h ps://slack.com/. [20] Wha sApp. [Online]. A ailable: h ps://www.wha sapp.com/. [21] Google Mee , [Online]. A ailable: h ps://mee .google.com/. [22] Google Docs, [Online]. A ailable: h ps://docs.google.com/. [23] Google D i e, [Online]. A ailable: h ps://www.google.com/d i e/. [24] Foo ball Manage 2024, [Online]. A ailable: h ps://www. oo ballmanage .com/games/ oo ball-manage -2024. [25] Spo s In e ac i e, [Online]. A ailable: h ps://www.sigames.com/. [26] Eu ogame , "E e on signs Foo ball Manage da abase," 17 No embe 2017. [Online]. A ailable: h ps://www.eu ogame .ne /e e on-signs- oo ball- manage -da abase. [27] T ans e ma k , [Online]. A ailable: h ps://www. ans e ma k .com/. [28] "T ans e ma k API," [Online]. A ailable: h ps:// ans e ma k -api. e cel.app/. [Accessed Janua y 2024]. [29] Ve cel. [Online]. A ailable: h ps:// e cel.com/. 84 [30] Modelio. [Online]. A ailable: h ps://www.modelio.o g/index.h m. [31] Google Ch ome, [Online]. A ailable: h ps://www.google.com/ch ome/. [32] Mic oso Edge, [Online]. A ailable: h ps://www.mic oso .com/edge. [33] Mozilla Fi e ox, [Online]. A ailable: h ps://www.mozilla.o g/ i e ox/. [34] B a e, [Online]. A ailable: h ps://b a e.com/. [35] Can a, [Online]. A ailable: h ps://www.can a.com/. [36] K. Naik and P. T ipa hy, So wa e Tes ing and Quali y Assu ance, Wiley, 2008. [37] Py es -co , [Online]. A ailable: h ps://pypi.o g/p ojec /py es -co /. [38] A. J. Alb ech , in P oceedings o IBM Applica ion De elopmen Symposium, 1979, p. 83. [39] Mic oso Excel, [Online]. A ailable: h ps://www.mic oso .com/en/mic oso - 365/excel. [40] Func ion Poin Modele , "Gene al Sys em Cha ac e is ics," [Online]. A ailable: h p://www. unc ionpoin modele .com/ pm- in ocen e /index.jsp? opic=%2Fcom. unc ionpoin modele . pm.help%2Fdi a ile s%2Fconcep s%2Fcon-99.h ml. [41] In e na ional Fuc ion Poin Analysis Use s G oup , "Func ion Poin Analysis Me hod," [Online]. A ailable: h ps://i pug.o g/i pug-s anda ds/ pa. [42] P ojec Lib e, [Online]. A ailable: h ps://www.p ojec lib e.com/. [43] Amazon Web Se ices, [Online]. A ailable: h ps://aws.amazon.com/. [44] Django, "Download," [Online]. A ailable: h ps://www.djangop ojec .com/download/. 85 [45] Py hon, "Downloads," [Online]. A ailable: h ps://www.py hon.o g/downloads/ elease/py hon-3120/. [46] Gi , "Downloads," [Online]. A ailable: h ps://gi -scm.com/downloads. [47] Django, "Ins uc ions," [Online]. A ailable: h ps://django- ex ensions. ead hedocs.io/en/la es /ins alla ion_ins uc ions.h ml. [48] Py es , "Ge S a ed," [Online]. A ailable: h ps://docs.py es .o g/en/7.1.x/ge ing-s a ed.h ml. 86 APPENDIXES Appendix A - P og amme ’s Manual The objec i e o his manual is o p o ide he basics abou ou p og am so ha any de elope can adap , modi y, o imp o e he code o ou applica ion. The main objec i es o his documen a e ha any in e es ed eade s can: 1. Unde s and wha p og amming languages, lib a ies and add-ons a e needed o modi y and execu e he code. 2. Ins all any o he a o emen ioned equi emen s in o hei de elopmen en i onmen . 3. Comp ehend he s uc u e o he applica ion. 4. Unde s and how he code can be modi ied o amend he changes in oduced by a hi d pa y. 5. Run he modi ied e sion o he applica ion. Requi emen s Ou web applica ion is based on he Django web applica ion amewo k, pa icula ly, using e sion 5.0.1, which can be ins alled om hei Downloads page [44]. Django is a high-le el web amewo k based on he combina ion o se e al p og amming languages. In ou p ojec , he ollowing languages ha e been used: - HTML - CSS - Ja aSc ip - Py hon The i s h ee languages do no equi e any ins alla ion, bu in o de o compile Py hon p og ams, a alid e sion o i mus be ins alled. As ou applica ion uses he 5.0.1 e sion o Django, which only suppo s Py hon e sions 3.10, 3.11 and 3.12, one 87 o hese has o be ins alled, howe e , we encou age he de elope s o ge he la es e sion o Py hon 3.12 om hei Downloads page [45], which was he one we used o he de elopmen o he applica ion. The applica ion is published on a Gi Hub eposi o y, so i is essen ial ha he local machine has ins alled Gi , which can be done om hei Downloads page [46]. Py hon Lib a ies While he Django F amewo k akes ca e o mos o he Py hon lib a ies we ha e used in he de elopmen o he p ojec , he e a e some ha do need o be ins alled on he clien ’s en i onmen o be able o modi y he en i e y o he p ojec . Fi s ly, he Django-ex ensions lib a y mus be ins alled. Django-ex ensions is a collec ion o cus om ex ensions o he Django F amewo k, which can be ins alled by ollowing he guide on hei Ins uc ions page [47]. The pu pose o hese ex ensions in ou p ojec is o be able o impo a di e en da abase. In /sma sco e/impo .py one can change he sou ce ile o he applica ion’s da abase, and a e making he pe inen changes, he de elope would need o un he ollowing command inside he p ojec ’s di ec o y: py manage.py unsc ip sma sco e.impo The second module he de elope would need o ins all is he py es amewo k, which can be done by ollowing he ins uc ions in hei Ge S a ed page [48]. This module is used o pe o m uni a y es s on he applica ion, and hey can be ound unde /sma sco e/ es s. 88 S uc u e o he Applica ion The en i e y o he p ojec is con ained in he same gi eposi o y, and as p e iously men ioned, i is s uc u ed acco ding o Django’s F amewo k Model-View- Con olle (MVC) a chi ec u e, which ha monizes he di e en componen s and allows a de elope - iendly en i onmen . In his Chap e we a e going o expand on each o he subcomponen s o he applica ion, which we ha e di ided in o 6 ca ego ies. P ojec Di ec o y The P ojec Di ec o y is he nucleus o he applica ion, con aining he ools o un, manage and mig a e i . I s main ile is /manage.py, which can be loca ed in he oo di ec o y o he applica ion and o he iles a e p esen unde he / g olde . Applica ion Di ec o y When we men ion he Applica ion Di ec o y, we a e e e ing o he iles ha de ine he beha io and unc ionali y o he applica ion. They a e p esen in he /sma sco e di ec o y, and hey handle he logic o he web applica ion. I a de elope needs o in oduce changes o he p ojec , he mos likely place o hese changes is going o be one o he iles p esen he e. Templa es Unde he subca ego y o Templa es, we can ind he use - acing laye o he applica ion. The iles p esen in he /sma sco e/ empla es olde a e w i en using he HTML language and con ain he pages he use is going o see when using he web applica ion. 89 S a ic The S a ic subca ego y is en isioned o con ain he addi ional iles ha he web applica ion is going o need o o e he bes use expe ience. Unde /sma sco e/s a ic we can ind di e en ypes o S a ic componen s: ● Ja aSc ip Con en : p esen unde /sma sco e/s a ic/js_con en , hese iles de ine addi ional unc ionali y o he HTML pages p esen in he Templa es subca ego y. The Ja aSc ip code ound in his olde o en se es as a ool o p o ide ex a unc ionali y o he use - acing laye o he applica ion o o communica e his laye wi h he Applica ion Di ec o y. ● S yling Con en : p esen unde /sma sco e/s a ic/s yle.cs, hese documen s speci y he p esen a ion o he in e ace o he applica ion o he use . ● Mul imedia Con en : iles such as images, on s and o he UI elemen s can be ound unde /sma sco e/s a ic, pa icula ly, in he img, images and on s olde s. In hese di ec o ies con en such as playe ’s images, coun ies’ lags and o he icons is loca ed. Da abase This subca ego y consis s o he da abase iles o he applica ion. Cu en ly, he da a is ob ained om a cs documen and a e impo ing i o he Django F amewo k, i is p esen as /db.sqli e3. This ile con ains all he ele an in o ma ion ela ed o he applica ion, ha is, he playe s and hei s a is ics and he use s and hei sa ed in o ma ion (squads, sho lis s, se ings, e c.). Tes s The Tes s ca ego y consis s o he code ela ed o he e alua ion and he inspec ion o he unc ionali y o he web applica ion. The iles ela ed o es ing can be ound in he /sma sco e/ es s di ec o y. 96 Sideba The sideba con ains d opdown menus which he use can in e ac wi h by ho e ing he mouse o e . The main ools o he applica ion a e ound inside one o he ca ego ies o he sideba . Figu e B.5 – Sideba Tools 97 Figu e B.6 – Sideba Lib a y Use Se ings A “Se ings” bu on can be ound on he sideba , which will di ec he use o ha page, whe e he in o ma ion ela ed o he accoun can be upda ed. 98 Figu e B.7 – Use Se ings Basic and Ad anced Sea ch The e a e wo di e en ypes o sea ch que ies ha can be pe o med in ou applica ion: ● Basic Sea ch: using he sea ch ba p esen a he na iga ion ba ( op o he in e ace). Use ’s que y will be ma ched wi h e e y playe ’s name, club, and league. Figu e B.8 – Basic Sea ch Figu e B.9 – Basic Sea ch Resul s 99 ● Ad anced Sea ch: p esen unde he “Tools” ca ego y on he sideba . The e is a oo ball ield image whe e he use can choose he posi ions hey wan he il e ed playe s o play in. The use can also add il e s ela ed o playe s a ibu es and ma ch s a is ics by clicking on he “Add Fil e ” bu on and selec ing be ween he op ions p esen ed on he d opdown menus. Figu e B.10 – Ad anced Sea ch Figu e B.11 - Ad anced Sea ch Add Fil e 100 Figu e B.12 - Ad anced Sea ch Que y Figu e B.13 - Ad anced Sea ch Resul s Playe P o ile The e a e mul iple ways o eaching a playe ’s p o ile, one o hem being by sea ching (as explained p e iously) and clicking on he playe ’s name in he “Sea ch Resul s” page. 101 In a playe ’s p o ile we can ind basic in o ma ion abou he playe , oge he wi h he posi ions whe e hey a e able o play. When selec ing one o hese posi ions, a g aph compa ing he playe ’s ma chday s a is ics o he a e age o o he playe s in ha posi ion will show up, as well as a summa y o hose s a is ics and he playe ’s Sma Sco e o he selec ed posi ion. Fu he mo e, i he use is logged in and has p e iously c ea ed a Squad, hey can add he playe o he squad. Figu e B.14 – Playe P o ile Figu e B.15 – Playe P o ile A ibu es 102 Figu e B.16 – Playe P o ile S a is ics C ea ing a Squad The i s ime he use clicks on he “My Squads” sec ion o he sideba , unde “Lib a y”, he page will show up emp y, le ing he use c ea e new squads. A e adding playe s o he c ea ed squads, he use is able o edi he c ea ed squads (changing hei name o emo ing playe s om hem) o emo ing squads om hei lib a y. Figu e B.17 – C ea e Squad 103 Figu e B.18 – Squad Name Figu e B.19 – My Squads Figu e B.20 – Add o Squad 104 Figu e B.21 – Edi Squad Squad Builde The Squad Builde ool, ound in he sideba , equi es ha he use has c ea ed a squad p io o he access o his page. He e, he use will be able o selec hei squad o choice. Once you ha e selec ed which one he use wan s o wo k wi h, hey a e able o add playe s by selec ing a posi ion and choosing any o he playe s ha a e able o play he e. They can be emo ed by clicking on he “x” on he op igh co ne o hei image. 105 Once 11 playe s a e selec ed on he ield, he squad can be analyzed by clicking he co esponding bu on. This will p omp he sys em o compa e each o he playe ’s s a s on he selec ed posi ion agains he a e age alues, p o iding an insigh on he pe o mance o e e y selec ed playe . I a playe has below-a e age s a is ics, i will le he use ind a eplacemen playe , by displaying a lis o playe s ha will imp o e he squad, as well as de ailed isualiza ion ools ha help illus a e he compa ison. Whene e he use eels ha hey ha e ound he pe ec imp o emen , hey can click he “Replace” bu on, con i m he ac ion and au oma ically he imp o ed playe will eplace he p e ious op ion. Figu e B.22 – Squad Builde Selec Squad 112 Glossa y The pu pose o his sec ion is o help he use unde s and each o he s a is ics and a ibu es o he playe s. ● Name: playe ’s name. ● Na ionali y: playe ’s ep esen ed coun y. ● In e na ional_ma ch: numbe o o icial in e na ional ma ches played. ● Club: cu en playe s’ club. ● League: he league he playe plays in. ● Pos: lis o posi ions he playe can play a . ● P e _ oo : p e e ed oo . ● Age: playe ’s age. ● Heigh : playe ’s heigh in cm. ● Weigh: playe ’s weigh in kg. ● Sala y: yea ly sala y in Eu os. ● End_con ac : da e hei cu en con ac expi es. ● S a e ma ch: numbe o games played as a s a e . ● Res_ma ch: numbe o games playe as a bench playe . ● Min: numbe o minu es played. ● Goal: numbe o goals. ● Asis: numbe o assis s. ● xG: expec ed goals. ● Gol_90: goals pe 90 minu es. ● Asis_90: assis s pe 90 minu es. ● Goal_allowed: goals allowed as a goalkeepe . ● Clean_shee : numbe o clean shee s. ● S _ a : sa e a e o e 100. ● xS _ a : expec ed sa e a e o e 100. ● Pen_sa ed_ a : penal y sa ed a e o e 100. ● Faga: ouls agains . ● Fcomm: ouls made. ● Yel: yellow ca ds ecei ed. ● Red: ed ca ds ecei ed. ● Dis _90: dis ance co e ed pe 90 minu es. ● Key_ ck_90: key ackles pe 90 minu es. ● Key_hd _90: key heade s pe 90 minu es. ● Blocks_90: blocks pe 90 minu es. ● Cl _90: clea ances pe 90 minu es. ● In _90: in e cep ions pe 90 minu es. ● Hd _ a : heade s won a e o e 100. 113 ● Tackles_ a : ackles won a e o e 100. ● Gl_mis ake: mis akes leading o goals. ● Pass_ a : passes comple ed a e o e 100. ● P _pass_90: p og essi e passes a e o e 100. ● Key_pass_90: key passes pe 90 minu es. ● C _c_90: c osses c ea ed pe 90 minu es. ● C _c_acc: c osses accu acy o e 100. ● Ch_c_90: chances c ea ed pe 90 minu es. ● D b_90: d ibbles pe 90 minu es. ● Poss_los _90: possession los pe 90 minu es. ● Sho _ a : sho a e o e 100. ● Con _ a : con e sion a e o e 100. ● Do sal: playe ’s shi numbe . ● Coun y_league: coun y o he playe ’s league. ● ma ke _ alue: playe ’s es ima ed ma ke alue.