scieee Science in your language
[sp] (orig)

CERCLES: sistema de gestión de equipos para asignaturas de ingeniera de software

Author: Puszyn Mosquera, Victoria
Publisher: Universitat Politècnica de Catalunya
Year: 2025
Source: https://upcommons.upc.edu/bitstream/2117/428369/2/193787.pdf
id193787


CERCLES: SISTEMA DE GESTIÓN DE EQUIPOS
PARA ASIGNATURAS DE INGENIERA DE
SOFTWARE
VICTORIA PUSZYN MOSQUERA
Di ec o /a
LIDIALÓPEZCUESTA(Depa amen odeIngenie iadeSe iciosySis emasdeIn o mación)
Ti ulación
G adoenIngenie íaIn o má ica(Ingenie íadelSo wa e)
Memo ia del abajo de in de g ado
Facul a d'In o mà ica de Ba celona (FIB)
Uni e si a Poli ècnica de Ca alunya (UPC) - Ba celonaTech
22/01/2025

Resumen
El obje i o de es e p oyec o es diseña e implemen a CERCLES, una aplicación web
pa a ges iona equipos y e alua el endimien o colabo a i o en asigna u as de
ingenie ía de so wa e. La he amien a pe mi e a p o eso es y es udian es o ganiza
cu sos, c ea equipos, ealiza e aluaciones en e compañe os y moni o iza mé icas
de con ibución, mejo ando la equidad y la e iciencia en p oyec os g upales.
Abs ac
The objec i e o his p ojec is o design and implemen CERCLES, a web applica ion
o managing eams and e alua ing collabo a i e pe o mance in so wa e enginee ing
cou ses. The ool allows p o esso s and s uden s o o ganize cou ses, c ea e eams,
conduc pee e alua ions, and moni o con ibu ion me ics, enhancing ai ness and
e iciency in g oup p ojec s.
Resum
L’objec iu d’aques p ojec e és dissenya i implemen a CERCLES, una aplicació web
pe ges iona equips i a alua el endimen col·labo a iu en assigna u es d’enginye ia
del p og ama i. L’eina pe me a p o esso s i es udian s o gani za cu sos, c ea equips,
eali za a aluacions en e companys i moni o i za mè iques de con ibució,
millo an l’equi a i l’e iciència en els p ojec es g upals.
ÍNDICE
1.- In oducción 8
1.1 Con ex ualización 8
1.2 Mo i ación 8
1.3 P oblema que esol e 8
1.4 Ac o es implicados 9
2.- Jus i icación 10
2.1 P oyec os simila es 10
2.2 Conclusiones 10
3.- Alcance del p oyec o 12
3.1 Obje i o p incipal 12
3.2 Sub-obje i os 12
4.- Me odología y igo 13
4.1 Me odología de abajo aplicada 13
4.2 He amien as de ges ión 14
4.3 Des iaciones eales en la me odología 16
5.- Plani icación empo al 16
5.1 In oducción y echas cla es 16
5.2 De inición de las a eas 17
5.2.1 Ta eas de Ges ión del P oyec o 17
5.2.2 Ta eas de Desa ollo 18
5.2.3 Ta eas de Elabo ación de la Memo ia y de Comunicación 19
5.3 Recu sos 20
5.3.1 Recu sos ecnológicos 20
5.3.2 Recu sos ísicos 20
5.3.3 Recu sos humanos 21
5.4 Resumen de las a eas 21
5.5 Diag ama de Gan de la plani icación 23
6.- Ges ión del iesgo 25
6.1 Posibles iesgos 25
6.2 Planes al e na i os y obs áculos 25
6.3 Des iaciones empo ales 26
7.- P esupues o 29
7.1 Iden i icación de los cos es 29
7.1.1 Cos es de ecu sos humanos 29
7.1.2 Cos es gene ales 30
7.1.2.1 Ha dwa e 30
7.1.2.2 So wa e 31
2
7.1.2.3 O os 31
7.2 Es imación de los cos es 31
7.2.1 Es imación inal 32
7.3 Con ol de ges ión 33
7.4 Des iaciones p esupues a ias 33
8.- Análisis de equisi os 35
8.1 Requisi os uncionales 35
8.2 Requisi os no uncionales 39
9.- Diseño del so wa e 44
9.1 A qui ec u a del sis ema 44
9.1.1 A qui ec u a Clien e-Se ido 44
9.1.2 Pa ón MVCS 45
9.1.3 Conside aciones sob e segu idad 46
9.2 Modelo concep ual de da os 47
9.3 Diseño de la base de da os 52
9.4 Diag amas de secuencia 55
9.5 Mock-ups 63
10.- Implemen ación 69
10.1 Implemen ación MVCS 69
10.2 He amien as y ecnologías u ilizadas 71
10.3 Dependencias del backend 73
10.4 Licencia de código abie o 74
10.5 Op imización llamadas Gi Hub 74
11.- Validación 76
11.1 P uebas equisi os uncionales 76
11.2 Validación equisi os no uncionales 80
12.- Ins alación y documen ación 82
12.1 Requisi os e ins alación de la aplicación web 82
12.2 Documen ación de la REST ul API 83
12.3 Manual de usua io 86
13.- In o me de sos enibilidad 104
13.1 Au oe aluación 104
13.2 Dimensión económica 104
13.3 Dimensión ambien al 105
13.4 Dimensión social 105
14.- Conclusiones 107
14.1 Obje i os cumplidos 107
14.2 Fu u as ampliaciones 108
3
14.3 Compe encias log adas 108
14.4 Re lexiones inales 111
Glosa io 112
Re e encias 113
4

ÍNDICE DE TABLAS Y FIGURAS
Figu a 1. Ges ión de p oyec os Sc um. 13
Figu a 2. Ejemplo de Kanban en Taiga. 14
Figu a 3. Gi low con di e en es amas. 15
Figu a 4. Tabla esumen de odas las a eas del p oyec o. 21
Figu a 5. Diag ama de Gan . 24
Figu a 6. Tabla de iesgos, p obabilidad de apa ición y ho as de emedio. 26
Figu a 7. Tabla de cos es de cada uno de los oles en el p oyec o. 29
Figu a 8. Tabla de cos es po a ea de los ecu sos humanos. 30
Figu a 9. Tabla de cos es del ha dwa e empleado en el p oyec o. 31
Figu a 10. Tabla de cos es del alquile de un cowo king. 31
Figu a 11. Tabla de cos e de las con ingencias po apa ado. 32
Figu a 12. Tabla de cos es de los imp e is os que puedan su gi en el p oyec o. 32
Figu a 13. Tabla de es imación de los cos es o ales del p oyec o. 32
Figu a 14. Tabla de es imación y cos e eal del p oyec o. 34
Figu a 15. Tablas de equisi os no uncionales. 40
Figu a 16. Ejemplo de a qui ec u a clien e-se ido . 44
Figu a 17. Ejemplo del pa ón MVCS. 45
Figu a 18. Esquema concep ual de da os. 48
Figu a 19. Diseño de la base de da os. 53
Figu a 20. Diag ama de secuencia de la uncionalidad pa a ob ene de alles de un
equipo. 56
Figu a 21. Diag ama de secuencia de la uncionalidad pa a c ea un cu so. 58
Figu a 22. Diag ama de secuencia de la uncionalidad pa a añadi p o eso es. 59
Figu a 23. Diag ama de secuencia de la uncionalidad pa a añadi es udian es. 60
Figu a 24. Diag ama de secuencia de la uncionalidad pa a c ea usua ios. 61
Figu a 25. Diag ama de secuencia de la uncionalidad pa a c ea e aluaciones. 62
Figu a 26. Mock-up de la página de inicio de sesión. 63
Figu a 27. Mock-up de la página p incipal. 64
5
Figu a 28. Mock-up de la página de pe il. 64
Figu a 29. Mock-up de la página de equipos. 65
Figu a 30. Mock-up de la página de e aluaciones. 66
Figu a 31. Mock-up de la página de un equipo. 67
Figu a 32. Mock-up de la página de un equipo pa a el p o eso . 68
Figu a 33. Tabla de p uebas ealizadas. 76
Figu a 34. Ejemplo de applica ion-p ope ies. 83
Figu a 35. Endpoin s del código. 85
Figu a 36. Cap u a de pan alla pa cial del inicio de sesión. 86
Figu a 37. Cap u a de pan alla pa cial de la página de inicio. 87
Figu a 38. Cap u a de pan alla pa cial de la página de pe il sin conec a . 88
Figu a 39. Cap u a de pan alla de la edi ección de Gi Hub. 88
Figu a 40. Cap u a de pan alla pa cial de la página de pe il conec ado. 89
Figu a 41. Cap u a de pan alla de la página de cu sos. 90
Figu a 42. Cap u a de pan alla pa cial de la página de c ea cu so. 91
Figu a 43. Cap u a de pan alla pa cial de la página de un cu so. 92
Figu a 44. Cap u a de pan alla pa cial de la página de un equipo. 94
Figu a 45. Cap u a de pan alla pa cial de la página de un c ea un equipo. 96
Figu a 46. Cap u a de pan alla pa cial de la página pa a e alua como es udian e. 97
Figu a 47. Cap u a de pan alla de la abla esumen de e aluaciones. 98
Figu a 48. Cap u a de pan alla de la abla de alles de e aluaciones. 99
Figu a 49. Cap u a de pan alla de la abla mé icas de Gi Hub. 100
Figu a 50. Cap u a de pan alla de la abla de de alles de HU y a eas. 101
Figu a 51. Cap u a de pan alla de los g á icos de Gi Hub. 102
6
1.- In oducción
1.1 Con ex ualización
Es e T abajo de Fin de G ado pe enece al G ado de Ingenie ía In o má ica de la
Facul ad de In o má ica de Ba celona de la Uni e sidad Poli écnica de Ca aluña [1],
conc e amen e, o ma pa e de la especialización de Ingenie ía del So wa e. Al se un
p oyec o de C eación de un Sis ema de So wa e, las asigna u as del G ado de las
cuales se aplican más concep os son: Ingenie ía de Requisi os, A qui ec u a del
So wa e y, sob e odo, Ges ión de P oyec os de So wa e [2].
Es e p oyec o iene como obje i o c ea un sis ema de ges ión y moni o ización de
equipos de abajo pa a asigna u as de la p opia uni e sidad que se basan en el
desa ollo de p oyec os colabo a i os, como las asigna u as de Ingenie ía de So wa e.
Dado que el abajo en equipo es undamen al en es e ipo de asigna u as, y los
p oyec os suelen implica g upos g andes (de 6 a 8 miemb os), su ge la necesidad de
un sis ema que pe mi a ges iona de mane a e icien e la pa icipación de cada
miemb o del equipo. Es o es esencial an o pa a los es udian es como pa a los
p o eso es, ya que acili a la e aluación indi idual de los es udian es en p oyec os de
la ga du ación.
1.2 Mo i ación
A lo la go de mi ca e a uni e si a ia, he enido la opo unidad de abaja en a ios
p oyec os en equipo. En di e sas ocasiones, me di cuen a de que algunos miemb os
del equipo no es aban ealizando una con ibución su icien e al p oyec o, mien as
que, en o os casos, no es aba segu a de si mi p opia apo ación e a adecuada en
compa ación con la del es o del equipo. Es a al a de isibilidad sob e las
con ibuciones indi iduales gene aba ince idumb e y, en algunos casos, una
dis ibución desigual del abajo.
Cuando se p esen ó la opo unidad de ealiza el TFG, i en es a p opues a una
solución p ác ica a es e p oblema. El sis ema p opues o no solo ayuda a cla i ica las
con ibuciones de cada miemb o del equipo, sino que ambién acili a la e aluación
jus a y obje i a, an o pa a el equipo como pa a el p o eso ado.
1.3 P oblema que esol e
En algunas de las asigna u as de Ingenie ía de So wa e, los es udian es abajan en
equipos pa a desa olla p oyec os a lo la go del cu so. Es os p oyec os, que u ilizan
he amien as colabo a i as como Gi Hub pa a el con ol de e siones y Taiga pa a la
ges ión de a eas, son moni o izados a a és del Lea ning Dashboa d (LD), un
plug-in de Taiga que cen aliza pa e de la isualización del abajo an o a ni el de
7
equipo como indi idual. Sin emba go, el p oceso de con igu ación del LD es manual,
con el p o eso ado ac uando como in e media io en e los es udian es y el equipo
enca gado de con igu a el sis ema, lo que puede gene a e asos y pé didas de da os.
El p oblema p incipal es que el LD es á más o ien ado a la moni o ización de la
pa icipación, pe o no es á diseñado pa a acili a una e aluación di ec a de las
con ibuciones indi iduales. Es o obliga al p o eso ado a ealiza un es ue zo
adicional pa a comple a la e aluación, ya que pa e del p oceso sigue siendo manual
(in oduciendo da os en hojas de Excel, po ejemplo). Es a implicación del
p o eso ado en la con igu ación alen iza el p oceso y aumen a el iesgo de e o es o
114in o mación incomple a.
Desde la pe spec i a de los es udian es, aunque el LD ya les pe mi e isualiza
mé icas sob e su pa icipación, el e o adica en que no ienen con ol di ec o sob e la
con igu ación del sis ema, lo que les limi a en su capacidad de asegu a que la
in o mación egis ada e leja adecuadamen e su abajo. La he amien a p opues a
busca que los es udian es asuman es a esponsabilidad, acili ando la co ec a
con igu ación del LD.
1.4 Ac o es implicados
Los ac o es p incipales implicados en es e sis ema son:
Es udian es: Usua ios que o man pa e de los equipos de abajo. Necesi an
egis a se en el sis ema y ges iona su pa icipación en el p oyec o, añadiendo su
in o mación de Gi Hub y Taiga, c eando y ges ionando equipos, y isualizando sus
p opios p og esos en compa ación con el equipo.
P o eso es: Usua ios que supe isan los p oyec os. Su ol p incipal es c ea y
ges iona los cu sos, ca ga los da os de los es udian es y moni o iza el p og eso de
cada equipo y es udian e. Necesi an una isión cla a de las con ibuciones indi iduales
y g upales pa a pode e alua el endimien o de o ma obje i a.
Di ec o a del TFG: Aunque ambién es p o eso a, ac úa como un ac o sepa ado.
Supe isa á el p oyec o y man end á euniones de seguimien o pa a e alua el
p og eso y los obje i os alcanzados.
Desa ollado a: Yo, como única desa ollado a del p oyec o, se é esponsable de
implemen a odas las uncionalidades del sis ema, ges iona el código, y asegu a me
de cumpli con los obje i os de inidos.
8
Google Mee
Po úl imo, las euniones de seguimien o con mi u o a del TFG se ealiza án a a és
de Google Mee [8]. En es as euniones, se e isa á el p og eso del p oyec o, se
discu i án posibles bloqueos o mejo as y se ajus a án las p io idades según sea
necesa io pa a asegu a el cumplimien o de los plazos y obje i os es ablecidos.
4.3 Des iaciones eales en la me odología
Desde el inicio del p oyec o, se es ableció la me odología Agile como ma co de
abajo, y es a se ha man enido a lo la go del desa ollo. Las he amien as iniciales
p e is as pa a apoya es a me odología incluían Gi Hub pa a el con ol de e siones,
Google Mee pa a euniones de seguimien o, y Taiga pa a la ges ión y plani icación de
las a eas.
Sin emba go, debido a que el desa ollo del sis ema ha sido ealizado po una única
pe sona, Taiga no esul ó necesa io. En su luga , se op ó po un en oque más sencillo
pa a la plani icación y seguimien o de las a eas. Du an e el p oyec o, he man enido
un egis o es uc u ado en un documen o de ex o donde se han de allado las his o ias
de usua io, equisi os y las a eas asociadas, lo que ha pe mi ido man ene cla idad
sob e las ac i idades pendien es y las comple adas.
An es de cada sp in , se ha e isado es e documen o pa a selecciona las his o ias de
usua io que, según la plani icación inicial, co espondían a esa e apa. Es e en oque ha
pe mi ido una o ganización e icien e y lexible del abajo, adap ándose a las
necesidades del p oyec o sin in oduci he amien as adicionales que no ue an
es ic amen e necesa ias.
5.- Plani icación empo al
5.1 In oducción y echas cla es
El inicio del p oyec o se es ablece el 18 de sep iemb e de 2024, coincidiendo con el
comienzo de la asigna u a de Ges ión de P oyec os (GEP) [9]. La lec u a del p oyec o
se p e é que se ealice en e el lunes 20 de ene o de 2025 y el ie nes 24 de ene o de
2025. Debido a que la memo ia debe á se en egada al menos una semana an es de la
echa asignada pa a la p esen ación [10], la en ega inal del documen o se ija á pa a
el ie nes 10 de ene o de 2025 ap oximadamen e.
Tomando en cuen a es as echas, el iempo o al disponible pa a el desa ollo del
p oyec o es de 17 semanas. Si excluimos los ines de semana y es i os, nos quedan
ap oximadamen e 83 días e ec i os de abajo. Du an e las p ime as 4 semanas del
15

p oyec o, se dedica á iempo a GEP, donde se es ima que la ca ga de abajo sea de 75
ho as, dedicadas p incipalmen e a la documen ación inicial del p oyec o.
En cuan o a la dis ibución del iempo, se ese a án los úl imos 10 días de abajo, es
deci , dos semanas (del lunes 6 de ene o al ie nes 10 de ene o), pa a inaliza la
memo ia y p epa a la p esen ación. Po lo an o, de los 79 días disponibles, es ando
los 10 úl imos días de inalización y los 19 de GEP, quedan 50 días e ec i os de
desa ollo. Si conside amos una jo nada labo al de 8 ho as al día, end emos un o al
de 400 ho as des inadas al desa ollo del sis ema. Sumando las 75 ho as dedicadas a
GEP y las 80 ho as p e is as pa a la memo ia inal, el iempo o al in e ido en el
T abajo de Fin de G ado se á de 555 ho as.
5.2 De inición de las a eas
Las a eas de es e p oyec o se han es uc u ado en es ca ego ías p incipales: ges ión
del p oyec o, desa ollo écnico y elabo ación de la memo ia jun o con a eas de
comunicación. Las a eas elacionadas con el desa ollo écnico se han o ganizado en
bloques según la uncionalidad especí ica a la que pe enecen. Cada una de ellas
cuen a con una desc ipción b e e que acla a su obje i o, además de una es imación
del iempo necesa io pa a comple a la y las dependencias de o as a eas que deben
habe se inalizado p e iamen e.
5.2.1 Ta eas de Ges ión del P oyec o
● GP1: Es udio de he amien as de apoyo pa a el p oyec o (10 ho as)
o Análisis y selección de las he amien as TIC necesa ias pa a la ges ión y
desa ollo del p oyec o.
o Dependencias: Ninguna
● GP2: Con ex ualización y alcance del p oyec o (20 ho as)
o De inición del ma co eó ico y el ámbi o del p oyec o, así como los
obje i os a alcanza .
o Dependencias: GP1
● GP3: Plani icación empo al (15 ho as)
o Es ablecimien o de la plani icación empo al, desc ibiendo las a eas y
c eando un diag ama de Gan .
o Dependencias: GP2
● GP4: P esupues o y sos enibilidad (15 ho as)
o Realización de una es imación de los ecu sos necesa ios y elabo ación de
un in o me de sos enibilidad.
o Dependencias: GP3
● GP5: In eg ación del documen o inal (15 ho as)
o Elabo ación de la memo ia inal, in eg ando odas las en egas p e ias.
16
o Dependencias: GP4
5.2.2 Ta eas de Desa ollo
Incep ion
● I1: P epa ación del en o no de desa ollo (16 ho as)
o Ins alación y con igu ación de las he amien as y pla a o mas necesa ias
pa a el desa ollo del sis ema.
o Dependencias: Ninguna
● I2: C eación de mock-ups y p o o ipos (20 ho as)
o Diseño de maque as y p o o ipos de la in e az de usua io pa a alida la
expe iencia del usua io.
o Dependencias: I1
● I3: Es udio de conexión con APIs y de ecnologías seleccionadas (20 ho as)
o In es igación de la documen ación de las APIs de Gi Hub y Taiga, y de los
amewo ks y lenguajes seleccionados.
o Dependencias: Ninguna
Conexión con las APIs
● C1: Conexión con la API de Gi Hub (40 ho as)
o Desa ollo de la uncionalidad pa a es ablece la conexión con la API de
Gi Hub y ob ene da os ele an es.
o Dependencias: Incep ion
● C2: Conexión con la API de Taiga (40 ho as)
o Implemen ación de la conexión con la API de Taiga pa a moni o iza la
ac i idad del p oyec o.
o Dependencias: Incep ion
Ges ión de Usua ios
● U1: C eación de di e en es ipos de usua ios (22 ho as)
o Implemen ación de la uncionalidad pa a c ea y ges iona usua ios,
di e enciando en e es udian es y p o eso es.
o Dependencias: Conexión con las APIs
Ges ión de P o eso es
● P1: Al a de cu so y ges ión de es udian es (45 ho as)
o Desa ollo de la uncionalidad que pe mi e a los p o eso es c ea cu sos y
ges iona a los es udian es insc i os.
17
o Dependencias: Ges ión de Usua ios
Ges ión de Alumnos
● A1: Regis o y conexión de es udian es (25 ho as)
o Desa ollo del módulo de egis o pa a que los es udian es puedan
p opo ciona su in o mación de usua io de Gi Hub y Taiga.
o Dependencias: Ges ión de P o eso es
● A2: Ges ión de equipos y p oyec os (25 ho as)
o Implemen ación de la uncionalidad que pe mi e a los es udian es c ea y
ges iona equipos y p oyec os, inculándolos con Gi Hub y Taiga.
o Dependencias: A1
● A3: Comp obación de he amien as (12 ho as)
o Desa ollo de una unción pa a e i ica la conexión con Gi Hub y Taiga,
mos ando da os cla e (commi s, amas, a eas, e c.).
o Dependencias: A2
Ges ión de Fichas
● F1: Ficha indi idual y de equipo (55 ho as)
o C eación de uncionalidades pa a que los es udian es consul en mé icas
pe sonales y el esumen del endimien o del equipo.
o Dependencias: Ges ión de alumnos
● F2: Moni o ización del endimien o (60 ho as)
o Desa ollo de he amien as pa a que los p o eso es analicen el endimien o
de los es udian es según las ichas
o Dependencias: F1
5.2.3 Ta eas de Elabo ación de la Memo ia y de Comunicación
● EMC1: Repaso del p oyec o (10 ho as)
o Re isión del p oyec o, sob e odo la pa e ecnológica.
o Dependencias: Desa ollo
● EMC2: Redacción de la memo ia (75 ho as)
o Elabo ación de la e sión de ini i a de la memo ia, in eg ando la
in o mación e isada y asegu ándose de la cohe encia en e las secciones.
o Dependencias: EMC1
● EMC3: Comunicación (15 ho as)
18
o Reuniones pe iódicas con la u o a pa a discu i el p og eso, esol e dudas
y ajus a el desa ollo del p oyec o según las ecomendaciones.
o Dependencias: Ninguna
5.3 Recu sos
En es e apa ado, amos a des aca odos los ecu sos que an a se necesa ios pa a la
elabo ación de es e p oyec o. Los ecu sos necesa ios se pueden di idi en es
ca ego ías:
5.3.1 Recu sos ecnológicos
En es e apa ado se de allan odos los p og amas y he amien as del so wa e
u ilizados du an e el desa ollo del p oyec o:
● [WIN10] Windows 10
● [LINUX] Linux Ubun u
● [VSC] Visual S udio Code: En o no de desa ollo p incipal pa a la esc i u a del
código [11].
● [GIT] Gi : He amien a de con ol de e siones pa a ges iona y as ea los
cambios en el código.
● [GITHUB] Gi Hub: Pla a o ma pa a el alojamien o de eposi o ios.
● [TAI] Taiga: He amien a de seguimien o ágil pa a ges iona a eas y asigna
ecu sos.
● [SPRING] Sp ing Boo : F amewo k pa a el desa ollo del backend [12].
● [REACT] Reac : Biblio eca de Ja aSc ip pa a la cons ucción de in e aces de
usua io en el on end [13].
● [SQL] SQLi e: Sis ema de ges ión de bases de da os u ilizado pa a almacena
la in o mación del p oyec o [14].
● [FG] Figma: He amien a colabo a i a pa a la c eación de p o o ipos y
mockups [15].
● [DW] D aw.io: He amien a pa a la elabo ación de diag amas y esquemas
a qui ec ónicos [16].
● [AT] A enea: Pla a o ma de la uni e sidad u ilizada pa a accede a ecu sos y
en ia en egas.
● [GGS] Google Sui e: Conjun o de he amien as que incluyen Google D i e,
Docs, Shee s, Slides, Mee y Gmail.
● [IG] Ins agan : Pla a o ma pa a la elabo ación del diag ama de Gan [17].
5.3.2 Recu sos ísicos
Pa a pode ealiza es e p oyec o, ha á al a u iliza un o denado po á il que cuen e
con las ca ac e ís icas adecuadas pa a el desa ollo de so wa e y la ejecución de
he amien as de desa ollo, además de una conexión es able y de al a elocidad a
in e ne pa a ges iona eposi o ios y ealiza las euniones de seguimien o.
19
5.3.3 Recu sos humanos
Al se un p oyec o indi idual, debe é asumi es os di e en es oles a lo la go del
p oyec o:
● [GP] Ges o a de p oyec o: Responsable de la plani icación y con ol del
c onog ama del p oyec o, es imando las a eas necesa ias y moni o izando el
p og eso. También se enca ga de coo dina la comunicación con la di ec o a y
el u o de GEP y edac a la memo ia del p oyec o.
● [DS] Desa ollado a del so wa e: Enca gada del desa ollo del código,
in eg ación con APIs y c eación de uncionalidades.
● [ADMIN] Adminis ado a de sis emas: Con igu ación del en o no de
desa ollo y ges ión de se ido es locales.
● [DU] Diseñado a de UI/UX: C eación de mockups y diseño de la expe iencia
del usua io.
● [AS] A qui ec a de so wa e: Enca gada de de e mina los equisi os de cada
a ea y ealiza el diseño a qui ec ónico del p oyec o.
● [T] Tes e : Realización de p uebas de uncionalidades y e i icación de la
calidad del so wa e.
Po descon ado, es e p oyec o cuen a con la colabo ación de la di ec o a del TFG,
[LL] Lidia López. Además, pa a la elabo ación de la asigna u a de GEP, cuen a con la
asis encia del u o de GEP [TGEP].
5.4 Resumen de las a eas
Figu a 4. Tabla esumen de odas las a eas del p oyec o. Fuen e: Elabo ación p opia
CÓDIGO
TAREA
DEP
HORAS
RECURSOS
GP
Ges ión del p oyec o
75
HUMANOS
MATERIALES
GP1
Es udio de
he amien as de apoyo
pa a el p oyec o
10
GP
GGS, SQL,
SPRING,
REACT
GP2
Con ex ualización y
alcance del p oyec o
GP1
20
GP, TGEP
GGS, AT
GP3
Plani icación empo al
GP2
15
GP, TGEP
GGS, AT, IG
GP4
P esupues o y
sos enibilidad
GP3
15
GP, TGEP
GGS, AT
GP5
In eg ación del
documen o inal
GP4
15
GP, TGEP
GGS, AT
20

D
Desa ollo
380
I
Incep ion
56
I1
P epa ación del
en o no de desa ollo
16
ADMIN, T
WIN10,
LINUX, VSC,
GIT, GITHUB,
SPRING,
REACT, SQL
I2
C eación de mock-ups
y p o o ipos
I1
20
DU
GGS, FG, DW
I3
Es udio de conexión
con APIs y de
ecnologías
seleccionadas
20
ADMIN,
DS
GITHUB, TAI,
SPRING,
REACT, SQL
C
Conexión con las APIs
80
C1
Conexión con la API
de Gi Hub
I
40
ADMIN,
DS, AS, T
VSC, GIT,
GITHUB, TAI,
GGS, SPRING
C2
Conexión con la API
de Taiga
I
40
ADMIN,
DS, AS, T
VSC, GIT,
GITHUB, TAI,
GGS, SPRING
U
Ges ión de Usua ios
22
U1
C eación de di e en es
ipos de usua ios
C
22
AS, DS, T
VSC, GIT,
GITHUB, TAI,
SQL
P
Ges ión de P o eso es
45
P1
Al a de cu so y ges ión
de es udian es
U
45
AS, DS, T
VSC, GIT,
GITHUB, TAI,
SPRING,
REACT
A
Ges ión de Alumnos
62
A1
Regis o y conexión de
es udian es
P
25
AS, DS, T
VSC, GIT,
GITHUB, TAI,
21
SPRING,
REACT
A2
Ges ión de equipos y
p oyec os
A1
25
AS, DS, T
VSC, GIT,
GITHUB, TAI,
SPRING,
REACT
A3
Comp obación de
he amien as
A2
12
AS, DS, T
VSC, GIT,
GITHUB, TAI,
SPRING,
REACT
F
Ges ión de Fichas
115
F1
Ficha indi idual y de
equipo
A
55
AS, DS, T
VSC, GIT,
GITHUB, TAI,
SPRING,
REACT
F2
Moni o ización del
endimien o
F1
60
AS, DS, T
VSC, GIT,
GITHUB, TAI,
SPRING,
REACT
EMC
Elabo ación de
Memo ia
Comunicación
100
EMC1
Repaso del p oyec o
D
10
GP
GS, TAI
EMC2
Redacción de la
memo ia
75
GP
GS, AT
EMC3
Comunicación
15
GP, LL,
TGEP
GS
TOTAL
555
5.5 Diag ama de Gan de la plani icación
El siguien e diag ama de Gan se ha elabo ado median e una p io ización de las a eas
a ealiza . Sin emba go, dado que se segui á un mé odo Sc um, el diag ama es
suscep ible de se modi icado, ya que al inicio de cada sp in se selecciona án las
a eas a abo da
22
Figu a 5. Diag ama de Gan . Fon : Elabo ación p opia median e ins agan
23
6.- Ges ión del iesgo
6.1 Posibles iesgos
Uno de los p incipales iesgos que en en a el sis ema es la in eg ación con
he amien as ex e nas como Gi Hub y Taiga. Es as pla a o mas son cla es
pa a el seguimien o de las con ibuciones de los es udian es, pe o dependen de
APIs que pueden su i cambios inespe ados, caídas o limi aciones en su uso, lo
cual puede a ec a la capacidad del sis ema pa a ob ene los da os necesa ios en
iempo eal.
También es impo an e conside a que la inexpe iencia en las ecnologías
seleccionadas pa a el desa ollo del sis ema puede lle a a e asos en la
implemen ación o a p oblemas écnicos inespe ados du an e el desa ollo. Si
bien es as he amien as han sido elegidas po su capacidad de adap ación a
p oyec os complejos, la al a de un conocimien o p o undo en su uso puede lle a
a p oblemas en la implemen ación de uncionalidades c í icas, y
consecuen emen e p o oca e asos en el desa ollo o e o es écnicos que
a ec en la calidad inal del sis ema. Es o incluye an o la p og amación de las
uncionalidades in e nas del sis ema como la in eg ación e ec i a con las APIs de
Gi Hub y Taiga.
El úl imo iesgo impo an e que conside a es la sob eca ga de abajo po
subes imación de a eas. Dada la complejidad del p oyec o y el núme o de
uncionalidades que deben desa olla se, es posible que algunas a eas equie an
más iempo del es imado inicialmen e. La subes imación puede gene a una
acumulación de abajo hacia el inal del p oyec o, a ec ando el c onog ama de
en ega y comp ome iendo la calidad del p oduc o inal. Es e iesgo es
especialmen e p eocupan e debido a la na u aleza indi idual del p oyec o, donde
cualquie e aso end á un impac o di ec o en la capacidad de inaliza lo a
iempo.
6.2 Planes al e na i os y obs áculos
Es e p oyec o p esen a una se ie de iesgos que pod ían impac a su desa ollo.
En la abla a con inuación se de allan cada uno de es os iesgos, indicando la
p obabilidad de que ocu an y el iempo es imado en ho as necesa io pa a
emedia los.
24
Figu a 11. Tabla de cos e de las con ingencias po apa ado. Fuen e: Elabo ación
p opia.
Recu so
Cos e [en €]
Con ingencia [en €]
Humanos
16.595,56
2.489,33
Ha dwa e
119,28
17,89
So wa e
0,0
0,0
O os
2.380,0
357,0
TOTAL
2.864,22
A con inuación, e emos los cos es añadidos según los imp e is os que puedan
su gi a lo la go del p oyec o, especi icados en an e io es en egas.
Figu a 12. Tabla de cos es de los imp e is os que puedan su gi en el p oyec o. Fuen e:
Elabo ación p opia.
Imp e is os
Ho as in e idas
según ol [en h]
Cos e
es imado
[en €]
P obabilida
d [en %]
Cos e [en
€]
In eg ación con
he amien as
ex e nas como
Gi Hub y Taiga
[ADMIN] 10
301,7
0,8
241,36
Inexpe iencia en las
ecnologías
seleccionadas
[DS] 15
490,95
0,66
324,03
Sob eca ga de abajo
po subes imación de
a eas
[GP] 10
255,3
0,5
127,65
TOTAL
693,04
7.2.1 Es imación inal
Pa a acaba , en la siguien e abla podemos e la es imación inal ap oximada del
p esupues o que hace al a pa a lle a a cabo es e p oyec o.
Figu a 13. Tabla de es imación de los cos es o ales del p oyec o. Fuen e: Elabo ación
p opia.
Cos e
P ecio
CPA (Cos es de pe sonal po ac i idad)
16.595,56
CG (Cos es impu ados gené icamen e)
2.499,28
Con ingencias
2.864,22
Imp e is os
693,04
TOTAL
22.652,1
31

7.3 Con ol de ges ión
Pa a lle a un con ol adecuado del cos e o al del p oyec o, se egis a án las
ho as empleadas en cada a ea. De es a o ma, al inaliza el p oyec o, se pod án
ealiza los cálculos necesa ios pa a e i ica si ha sido necesa io u iliza el ondo
de con ingencia o no.
A con inuación se incluyen las ó mulas u ilizadas pa a hace las comp obaciones
necesa ias:
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑐𝑜𝑠𝑡𝑒𝑠=𝐶𝑜𝑠𝑡𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜−𝐶𝑜𝑠𝑡𝑒 𝑟𝑒𝑎𝑙
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑑𝑒 ℎ𝑜𝑟𝑎𝑠=𝐻𝑜𝑟𝑎𝑠 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑎𝑠−𝐻𝑜𝑟𝑎𝑠 𝑟𝑒𝑎𝑙𝑒𝑠
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑑𝑒 ℎ𝑜𝑟𝑎𝑠 𝑐𝑜𝑛𝑠𝑢𝑚𝑖𝑑𝑎𝑠 𝑝𝑜𝑟 𝑡𝑎𝑟𝑒𝑎
= 𝐻𝑜𝑟𝑎𝑠 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑎𝑠−𝐻𝑜𝑟𝑎𝑠 𝑟𝑒𝑎𝑙𝑒𝑠( )*𝐶𝑜𝑠𝑡𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑐𝑜𝑠𝑡𝑒 𝑠𝑒𝑔ú𝑛 𝑙𝑎𝑠 ℎ𝑜𝑟𝑎𝑠 𝑝𝑜𝑟 𝑡𝑎𝑟𝑒𝑎
= 𝐻𝑜𝑟𝑎𝑠 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑎𝑠−𝐻𝑜𝑟𝑎𝑠 𝑟𝑒𝑎𝑙𝑒𝑠( )*𝐶𝑜𝑠𝑡𝑒 𝑟𝑒𝑎𝑙
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑑𝑒𝑙 𝑐𝑜𝑠𝑡𝑒 𝑠𝑒𝑔ú𝑛 𝑡𝑎𝑟𝑒𝑎= 𝐶𝑜𝑠𝑡𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜−𝐶𝑜𝑠𝑡𝑒 𝑟𝑒𝑎𝑙( )*𝐻𝑜𝑟𝑎𝑠 𝑟𝑒𝑎𝑙𝑒𝑠
𝐷𝑒𝑠𝑣𝑖𝑎𝑐𝑖ó𝑛 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒 𝑖𝑚𝑝𝑟𝑒𝑣𝑖𝑠𝑡𝑜𝑠
=𝑐𝑜𝑠𝑡𝑒 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 𝑑𝑒 𝑖𝑚𝑝𝑟𝑒𝑣𝑖𝑠𝑡𝑜𝑠−𝑐𝑜𝑠𝑡𝑒 𝑟𝑒𝑎𝑙 𝑑𝑒 𝑖𝑚𝑝𝑟𝑒𝑣𝑖𝑠𝑡𝑜𝑠
7.4 Des iaciones p esupues a ias
Du an e el desa ollo del p oyec o, se han iden i icado des iaciones
p esupues a ias debido al inc emen o de ho as in e idas en cie as a eas no
p e is as inicialmen e. Es as des iaciones es án elacionadas p incipalmen e con
las di icul ades écnicas encon adas y la necesidad de dedica más iempo al
desa ollo, especí icamen e desde el ol de Desa ollado a de So wa e (DS),
cuyo cos e po ho a es de 32,73 €.
En la abla de imp e is os de inida al inicio del p oyec o, se es ima on ho as
adicionales pa a ges iona posibles iesgos. Sin emba go, debido a los múl iples
e os encon ados, ha sido necesa io añadi ho as adicionales de abajo desde el
ol de Desa ollado a de So wa e en dos de las ca ego ías de iesgos
iden i icadas:
32
1. In eg ación con he amien as ex e nas como Gi Hub y Taiga:
Además, aunque inicialmen e se es ima on 10 ho as pa a posibles
p oblemas de in eg ación, inalmen e se necesi a on o as 50 ho as
adicionales ges ionando el in en o de conec a se a la API de Taiga, así como
explo ando al e na i as pa a supli su uncionalidad. Es e es ue zo incluyó
una e isión exhaus i a de la documen ación, p uebas epe idas de
conexión y análisis de opciones pa a eemplaza los da os que se espe aban
ob ene de Taiga. La combinación de es os ac o es consumió un iempo
signi ica i o, excediendo las p e isiones iniciales y equi iendo ajus es en
el c onog ama pa a p io iza o as a eas c í icas del p oyec o.
2. Sob eca ga de abajo po subes imación de a eas:
Algunas uncionalidades, como la au en icación con JWT y la
con igu ación del backend, equi ie on más iempo del planeado. Po ello,
se añadie on 10 ho as adicionales pa a cub i es e e aso.
Po lo an o, las 60 ho as adicionales que han hecho al a pa a mi iga esos
e o es e imp e is os, han supues o un cos e adicional de 1.963,8€.
Figu a 14. Tabla de es imación y cos e eal del p oyec o. Fuen e: Elabo ación p opia.
Cos e
P esupues o
Cos e eal
CPA (Cos es de pe sonal po ac i idad)
16.595,56
16.595,56
CG (Cos es impu ados gené icamen e)
2.499,28
2.499,28
Con ingencias
2.864,22
0,0
Imp e is os
693,04
2.656,84
TOTAL
22.652,1
21.751,68
Como podemos e en la abla, an o los CPA como CG se man ienen al y como
se p esupues a on. Sin emba go, debido a más imp e is os de los p e is os, se
han enido que añadi los 1.963,8€ a los 693,04 ya p esupues ados. Aun así,
como podemos e el cos e eal es casi 1000€ meno al cos e o al es imado, ya
que, no ha habido ningún cos e po con ingencias.
33
8.- Análisis de equisi os
8.1 Requisi os uncionales
En es e apa ado se p esen an odas las uncionalidades plan eadas desde el inicio
del p oyec o en o ma de his o ias de usua io, jun o con los c i e ios de
acep ación asociados a cada una. Es os c i e ios son esenciales pa a de ini cómo
se e i ica á que cada uncionalidad ha sido co ec amen e implemen ada.
HU01a. Con igu ación de equipos
Como es udian e, quie o c ea un equipo seleccionando un cu so, asignándole un
nomb e y añadiendo miemb os del mismo cu so, pa a o ganiza el abajo en
equipo de mane a es uc u ada.
C i e ios de acep ación:
1. El sis ema debe mos a una lis a de los cu sos disponibles, pe mi iendo al
es udian e selecciona el cu so en el que desea c ea el equipo.
2. Al c ea un equipo, el sis ema debe p opo ciona un o mula io donde el
es udian e pueda:
a. In oduci un nomb e único pa a el equipo den o del cu so
seleccionado.
b. Añadi miemb os al equipo seleccionándolos de una lis a de
es udian es del mismo cu so que no pe enezcan a o o equipo.
c. Selecciona el p o eso e aluado den o de la lis a de p o eso es de
ese cu so
3. El sis ema debe alida que el nomb e del equipo sea único den o del
cu so an es de pe mi i gua da .
4. T as gua da , el sis ema debe mos a un mensaje de con i mación.
HU01b. Con igu ación de equipos (he amien as)
Como es udian e, quie o incula la o ganización de Gi Hub y el p oyec o de
Taiga a uno de mis equipos, pa a ga an iza que odas las he amien as
necesa ias es én co ec amen e con igu adas.
C i e ios de acep ación:
1. El sis ema debe mos a den o de la página del equipo dos campos:
a. Un o mula io pa a asocia una o ganización de Gi Hub al equipo.
b. Un o mula io pa a asocia un p oyec o de Taiga al equipo.
2. Cada o mula io debe inclui un bo ón pa a e i ica la conexión con las
he amien as ex e nas (Gi Hub y Taiga).
34
3. El sis ema debe alida que:
a. Todos los miemb os del equipo es án egis ados en la o ganización
de Gi Hub y el p oyec o de Taiga.
b. El p o eso /a e aluado /a es á incluidos en la o ganización de
Gi Hub y el p oyec o de Taiga.
c. La cuen a de Gi hub del p o eso ado es á incluida en la
o ganización de Gi Hub.
d. El usua io se ei-ce cles- aiga es á incluido en el p oyec o de
Taiga.
4. En caso de e o es, el sis ema debe mos a mensajes cla os indicando los
p oblemas encon ados y cómo esol e los.
5. Una ez con igu adas co ec amen e ambas he amien as, el sis ema debe
mos a un mensaje de éxi o.
6. El es udian e iene que pode des incula la o ganización de Gi hub.
7. El es udian e iene que pode des incula el p oyec o de Taiga.
HU02. Ges ión de miemb os de un equipo
Como es udian e, quie o añadi o elimina miemb os de mi equipo, pa a
man ene lo ac ualizado según las necesidades del p oyec o.
C i e ios de acep ación:
1. Solo se pueden añadi es udian es que pe enezcan al mismo cu so y no
es én ya asignados a o o equipo.
2. En caso de elimina a odos los miemb os del equipo, es e se debe á
elimina .
HU03. Ve i icación de he amien as de sopo e
Como es udian e, quie o comp oba la conexión con mis he amien as de
sopo e (Gi Hub y Taiga), pa a asegu a me de que es án co ec amen e
inculadas al sis ema.
C i e ios de acep ación:
1. El sis ema debe mos a in o mación p i ada de la cuen a de Gi Hub pa a
asegu a su co ec a conexión:
a. Nomb e de la cuen a
b. Núme o de eposi o ios públicos y p i ados
c. Núme o de o ganizaciones
2. El sis ema debe pe mi i des incula se de la cuen a de Gi Hub
35
HU04. E alua a compañe os de equipo
Como p o eso , quie o que los alumnos puedan e alua a sus compañe os de
equipo en a ios momen os del cu so, pa a p opo ciona eedback sob e su
con ibución al p oyec o.
C i e ios de acep ación:
1. El sis ema debe pe mi i a los es udian es ealiza e aluaciones de sus
compañe os en echas con igu adas po el p o eso .
2. Los es udian es, en cada e aluación, debe án asigna una pun uación an o
a sus compañe os de equipo como a sí mismos. La suma o al de odas las
pun uaciones asignadas debe se igual al núme o de miemb os del equipo
mul iplicado po 10.
3. Los esul ados deben se accesibles sólo pa a el p o eso ado.
4. El p o eso debe pode isualiza una abla po cada e aluación, en la que
se mues en las pun uaciones o o gadas po cada es udian e a odos sus
compañe os. Cada abla inclui á ambién la media de las pun uaciones
o o gadas po los compañe os pa a cada es udian e.
5. El p o eso debe ene acceso a una abla gene al que esuma odas las
e aluaciones. Es a abla debe mos a las medias de las pun uaciones de
los compañe os acumuladas a lo la go de odas las e aluaciones, así como
la media de las au oe aluaciones de cada es udian e.
HU05. C eación y con igu ación de un nue o cu so
Como p o eso , quie o c ea y con igu a un nue o cu so es ableciendo sus da os
básicos y dando de al a a los es udian es median e un a chi o, pa a ges iona de
mane a o ganizada el cu so y los equipos de abajo.
C i e ios de acep ación:
1. El sis ema debe pe mi i al p o eso es ablece los da os del cu so,
incluyendo:
a. Nomb e del cu so.
b. Año de inicio.
c. Cua imes e.
d. P o eso es del cu so
e. Pe iodos de e aluación.
. Cuen a de p o eso ado de Gi hub, jun o con el oken de acceso.
2. El sis ema debe pe mi i la ca ga de un a chi o en o ma o .xlsx con los
da os de los es udian es (g upo, nomb e y apellidos, co eo elec ónico).
3. Los da os del a chi o deben alida se an es de se egis ados:
36

a. De ec a es udian es duplicados o con da os incomple os y gene a
un mensaje de e o pa a co egi los.
b. Valida que las di ecciones de co eo elec ónico ienen un o ma o
co ec o.
4. Los es udian es ca gados co ec amen e que aún no pe enezcan al sis ema
deben se egis ados au omá icamen e y asociados al cu so
co espondien e.
HU06a. Consul a icha de equipo (Gi Hub)
Como p o eso , quie o consul a las con ibuciones y mé icas indi iduales de
cada es udian e den o de su equipo u ilizando da os de la o ganización de
Gi Hub, pa a e alua su endimien o en el cu so en compa ación con sus
compañe os de equipo.
C i e ios de acep ación:
1. El sis ema debe mos a mé icas de alladas indi iduales como:
○ Núme o de commi s.
○ Líneas de código añadidas (+).
○ Líneas de código eliminadas (-).
○ Núme o de pull eques s (PRs).
2. El sis ema debe p esen a es os da os en una abla que mues e las
mé icas indi iduales pa a odos los miemb os del equipo.
3. Debe inclui un g á ico ci cula que isualice la p opo ción de commi s
ealizados po cada miemb o del equipo.
4. También debe inclui un g á ico de ba as que compa e las líneas de
código añadidas y eliminadas en e los miemb os del equipo.
5. Es os da os se án accesibles únicamen e si los es udian es han con igu ado
co ec amen e su o ganización de Gi Hub asociada al equipo.
HU06b. Consul a icha de equipo (Taiga)
Como p o eso , quie o consul a las mé icas indi iduales y del equipo
u ilizando da os del p oyec o de Taiga, pa a e alua el p og eso y la
colabo ación en el cu so.
37
C i e ios de acep ación:
1. El sis ema debe mos a mé icas de alladas indi iduales y del equipo
como:
a. To al de a eas.
b. To al de HUs.
c. To al de Powe .
d. HUs ce adas.
e. Núme o de in e acciones.
2. El sis ema debe p esen a es os da os en una abla que mues e las
mé icas indi iduales y globales del equipo.
3. Debe inclui g á icos isuales pa a ep esen a :
a. El p og eso en las HUs ce adas.
b. El núme o de a eas comple adas en compa ación con las
pendien es.
4. Es os da os se án accesibles únicamen e si los es udian es han con igu ado
co ec amen e su p oyec o de Taiga asociado al equipo.
8.2 Requisi os no uncionales
En es e apa ado se especi ican los equisi os no uncionales del sis ema, los
cuales de inen las ca ac e ís icas cuali a i as que debe cumpli la aplicación inal.
Es os equisi os son más di íciles de e alua en compa ación con los uncionales,
ya que no siemp e ienen una implemen ación di ec a, sino que ep esen an
p opiedades gene ales del sis ema, como la escalabilidad, la usabilidad o la
segu idad.
Pa a ealiza una especi icación más de allada y p ecisa, se ha adap ado el
modelo de equisi os de Vole e [21], es uc u ando cada equisi o en una abla
que incluye su desc ipción, jus i icación y las condiciones de sa is acción que
pe mi en e i ica su cumplimien o. Podemos e además como cada equisi o
incluye una ci a y una le a an es de su nomb e. Es o indica, den o de la
Plan illa de Especi icación de Requisi os de Vole e, cuál es el equisi o
especi icado.
38
Escalabilidad: El sis ema debe se capaz de sopo a múl iples cu sos y a ios
equipos po cu so, sin deg ada su endimien o.
Figu a 15. Tablas de equisi os no uncionales. Fuen e: Elabo ación p opia
12 . Requisi os de Capacidad
Desc ipción
El sis ema debe se capaz de ges iona múl iples cu sos con
has a 500 es udian es cada uno y a ios equipos po cu so,
ga an izando un endimien o óp imo.
Jus i icación
Es c ucial que la aplicación sopo e un núme o c ecien e de
usua ios y da os pa a se iable en un en o no académico.
Condición de
sa is acción
El iempo de espues a del sis ema debe se educido pa a
ope aciones es ánda , incluso con g andes olúmenes de
da os.
Disponibilidad y iabilidad: El sis ema debe ga an iza un up ime ele ado,
asegu ando que es udian es y p o eso es puedan accede a él en cualquie
momen o. Además, los da os de los usua ios y equipos deben es a segu os y
disponibles en odo momen o.
12d. Requisi os de Con iabilidad y Disponibilidad
Desc ipción
El sis ema debe ga an iza una al a disponibilidad y
con iabilidad, asegu ando que es udian es y p o eso es
puedan accede en cualquie momen o sin in e upciones.
Jus i icación
La con inuidad en el acceso es esencial pa a e i a e asos
en la ges ión de cu sos y equipos, así como pa a p e eni la
pé dida de da os c í icos.
Condición de
sa is acción
El sis ema debe ga an iza al a disponibilidad y iabilidad,
lo cual se log a median e su despliegue en un se ido de la
UPC, asegu ando un up ime ele ado g acias a la
in aes uc u a es ablecida po la uni e sidad.
39
Segu idad: Ci ado de con aseñas y au en icación segu a pa a el acceso de los
usua ios. Acceso es ingido a los da os de es udian es y equipos solo po
usua ios au o izados.
15a. Requisi os de Acceso
Desc ipción
El sis ema debe asegu a que solo los usua ios au o izados
puedan accede a las uncionalidades y da os especí icos
según su ol (p o eso o es udian e).
Jus i icación
La con idencialidad y la in eg idad de los da os son c í icas,
especialmen e pa a p o ege la p i acidad de es udian es y
p o eso es.
Condición de
sa is acción
El sis ema debe implemen a JWT pa a au en ica a los
usua ios y e i ica que cada acción sea ealizada solo po
usua ios con los pe misos adecuados.
15c. Requisi os de P i acidad
Desc ipción
Los da os almacenados deben cumpli con egulaciones de
p i acidad y anonima o, asegu ando que mé icas
indi iduales solo sean isibles pa a el es udian e en cues ión
o su p o eso .
Jus i icación
La aplicación maneja da os sensibles, como e aluaciones de
es udian es y mé icas pe sonales, que deben se
p esen ados de o ma anónima pa a p o ege la p i acidad.
Condición de
sa is acción
Las ichas de equipo deben mos a solo mé icas
ag egadas, y las e aluaciones en e compañe os deben
man ene se anónimas en odo momen o.
40
Figu a 18. Esquema concep ual de da os. Fuen e: Elabo ación p opia con D aw.io
Es e modelo concep ual de alla odos los elemen os p incipales del sis ema, así
como las elaciones en e ellos. A con inuación oy a de alla las en idades, sus
cla es p ima ias y ex e nas, a ibu os y elaciones p incipales:
47

1. Usua io:
● Rep esen a a cualquie pe sona que u iliza el sis ema, ya sea como
es udian e o p o eso .
● A ibu os p incipales:
○ Co eo: Iden i icado único del usua io (cla e p ima ia).
○ Nomb e: Nomb e comple o del usua io.
○ Gi Use name y TaigaUse name: Iden i icado es opcionales
pa a in eg a las he amien as ex e nas (Gi Hub y Taiga).
2. Es udian e:
● Subclase de Usua io que ep esen a a los alumnos.
● Relaciones:
○ Es miemb o de equipos.
○ Es á asociado a uno o a ios cu sos median e la en idad
in e media Es udian e-Cu so.
3. P o eso :
● Subclase de Usua io que ep esen a al p o eso ado.
● Relaciones:
○ Es p o eso de uno o a ios cu sos.
○ Es el p o eso esponsable (e aluado ) de mul iples g upos.
4. Cu so:
● Rep esen a un cu so académico y ag upa a es udian es y equipos.
● A ibu os p incipales:
○ AñoInicio: Año en que se o ece el cu so (pa e de la cla e
p ima ia).
○ Nomb eAsig: Nomb e de la asigna u a (pa e de la cla e
p ima ia).
○ Cua imes e: Cua imes e en el que se impa e el cu so
(pa e de la cla e p ima ia).
○ Ac i o: Es ado ac ual del cu so (ac i o/inac i o).
○ Gi hubAsigna u a: Se gua da la cuen a de Gi Hub del
p o eso ado ela i a al cu so.
● Relaciones:
○ Con iene a a ios equipos.
○ Tiene asociado a un p o eso .
48
5. Equipo:
● Rep esen a a un g upo de es udian es abajando jun os en un
p oyec o.
● A ibu os p incipales:
○ Nomb e: Iden i icado del equipo den o de un cu so (cla e
p ima ia compues a jun o con el cu so al que pe enece).
○ Gi O ganización: O ganización de Gi Hub asociada
(opcional).
○ TaigaP oyec o: P oyec o de Taiga asociado (opcional).
● Relaciones:
○ Es á asociado a un cu so.
○ Tiene uno o a ios es udian es como miemb os.
6. E aluación:
● Rep esen a las e aluaciones indi iduales que un es udian e ealiza
sob e sus compañe os.
● A ibu os p incipales:
○ Pun uación: No a asignada a un compañe o du an e una
e aluación especí ica.
● Relaciones:
○ Cada e aluación es á inculada a una i e ación y a
es udian es.
7. I e ación:
● De ine un pe iodo de e aluación den o del cu so.
● A ibu os p incipales:
○ FechaInicio y FechaFin: Delimi an el pe iodo de e aluación.
8. Es udian e-Cu so:
● Relación in e media que conec a a los es udian es con los cu sos.
● A ibu os p incipales:
○ G upo: Rep esen a el g upo al que pe enece el es udian e
den o del cu so.
49
Res icciones ex uales (RTs):
RT1: Un Usua io debe se exac amen e un Es udian e o un P o eso
(gene alización disjun a y comple a).
RT2: Un es udian e solo puede pe enece a un equipo den o de un cu so donde
sea es udian e.
RT3: Un equipo debe pe enece a un único cu so.
RT4: El nomb e de un equipo debe se único den o del cu so al que pe enece.
RT5: Un p o eso solo puede se el e aluado de un equipo que pe enezca a un
cu so del cual es e sea p o eso .
RT6: Un es udian e solo puede e alua a o o es udian e que pe enezca a su
mismo equipo.
RT7: Un p o eso , al c ea un cu so, debe especi ica el núme o de pe iodos de
e aluación, el cual debe es a en e 0 y 5.
RT8: Cada i e ación (pe iodo de e aluación) debe cumpli las siguien es
condiciones:
● Tene una echa de inicio an e io a la de in.
● La echa de inicio debe se pos e io a la echa de in del pe iodo an e io
(si exis e).
● La echa de in debe se an e io a la echa de inicio del siguien e pe iodo
(si exis e).
RT9: Cada e aluación debe ene una pun uación mínima de 0.
RT10: La suma o al de las pun uaciones asignadas po un es udian e en una
e aluación debe se igual al núme o de miemb os del equipo mul iplicado po 10.
RT11: Los da os de Gi O ganización y TaigaP oyec o en un equipo son
opcionales, pe o si es án p esen es, deben alida se co ec amen e pa a que el
equipo sea conside ado álido.
Con es as es icciones, me asegu o de que el sis ema es ín eg o y es á
co ec amen e delimi ado.
Jus i icación de las elaciones bina ias en luga de asociaciones
e na ias/cua e na ias:
En es e modelo concep ual, he op ado po u iliza elaciones bina ias en luga de
asociaciones e na ias o cua e na ias, las cuales hab ían e i ado el uso de
múl iples asociaciones indi iduales en e las cua o clases p incipales
(es udian e-p o eso -cu so-equipo). La azón p incipal po la cual op é po
hace lo de es a mane a es que un equipo no iene sen ido ue a del con ex o de un
50
cu so. Su exis encia depende comple amen e de es a asociado a un cu so
especí ico. Po ello, la elación en e Equipo y Cu so es undamen al y di ec a.
Además, u iliza elaciones bina ias asegu a que el modelo sea más cla o y ácil
de in e p e a , e i ando la complejidad innecesa ia que supond ía ges iona una
asociación e na ia o cua e na ia. Es o pe mi e que cada elación bina ia e leje
un ínculo lógico y bien de inido en e las en idades, man eniendo la cohe encia
y la simplicidad del diseño.
9.3 Diseño de la base de da os
Pa a la pe sis encia de da os, se e alua on a ias opciones de sis emas de ges ión
de bases de da os elacionales. Las en ajas de las al e na i as conside adas son:
1. SQLi e
● Muy lige o y sencillo de con igu a .
● Ideal pa a aplicaciones pequeñas con da os mode ados.
2. Pos g eSQL
● A anzadas capacidades pa a ope aciones complejas y ipos de da os
pe sonalizados.
● Al amen e escalable y con iable.
3. Ma iaDB
● To al compa ibilidad con MySQL, ampliamen e u ilizado en el en o no
académico de la uni e sidad.
● Desempeño obus o y sopo e pa a ope aciones concu en es.
Teniendo muy p esen es es as opciones, acabé op ando po Ma iaDB
p incipalmen e debido a su compa ibilidad con los se ido es de la UPC y su
in eg ación con he amien as u ilizadas en el en o no académico. A pesa de que
SQLi e hab ía sido su icien e en é minos de manejo de da os, las capacidades
a anzadas de Ma iaDB o ecen una mayo lexibilidad pa a u u os despliegues o
expansiones del sis ema.
Po o a pa e, se p esen a el modelo de la base de da os. En la siguien e igu a se
puede obse a el diseño p opues o pa a la ges ión de las en idades y sus
elaciones.
51
Figu a 19. Diseño de la base de da os. Fuen e: Elabo ación p opia
En es e apa ado se p esen a el diseño ísico de la base de da os u ilizado pa a la
implemen ación del sis ema, compa ándolo con el modelo concep ual desc i o
an e io men e. La imagen adjun a mues a el esquema gene ado po Da aG ip de
Je B ains, ep esen ando odas las ablas y sus elaciones.
Di e encias espec o al modelo concep ual
1. Inco po ación de IDs au ogene ados:
○ En odas las ablas p incipales, como usua io, cu so, equipo,
e aluacion, y sus elaciones in e medias, se u ilizan iden i icado es
únicos (id) au ogene ados pa a simpli ica la ges ión de cla es
p ima ias y o áneas. Es o di ie e del modelo concep ual, donde
algunas cla es se de inían como compues as (po ejemplo, cu so y
equipo).
52

2. Tokens y au en icación:
○ En la abla usua io se incluye es a columna adicional pa a
almacena okens de acceso, como:
■ gi hub_ oken: Pa a ges iona la conexión y acceso segu o
con Gi Hub de un usua io.
○ En la abla equipo, se incluye es as columnas pa a ges iona el
acceso a Taiga:
■ aiga_p ojec _id: En la API de Taiga, se ecomienda usa los
ids de p oyec os pa a hace búsquedas.
■ aiga_ e esh_ oken:En la API de Taiga, se ecomienda usa
e esh okens ya que es os pie den alidez con el eimpo.
(aunque no ue posible ealiza la in eg ación inal con
Taiga, se plan eó su inclusión pa a la au en icación segu a).
○ En la abla cu so, se gua da el siguien e oken:
■ gi hub_asigna u a_ oken: Se almacena el oken de la cuen a
de Gi Hub de la asigna u a.
3. Tablas de elaciones in e medias:
○ Se añadie on ablas in e medias explíci as pa a ges iona elaciones
de muchos a muchos:
■ es udian e_cu so: Conec a a los es udian es con los cu sos
en los que es án ma iculados, añadiendo in o mación
adicional como el g upo al que pe enece cada es udian e.
■ es udian e_equipo: Ges iona la elación de muchos a
muchos en e es udian es y equipos.
■ p o eso _cu so: Pe mi e asigna a un p o eso como
esponsable de uno o a ios cu sos.
4. Ges ión de e aluaciones:
○ La abla e aluacion en el diseño ísico almacena in o mación
de allada de las pun uaciones asignadas po un es udian e a sus
compañe os, mien as que e aluacion_de alle o ganiza la elación
en e e aluado es y e aluados, indicando los pun os asignados.
5. Es uc u a más de allada pa a i e aciones:
○ La abla e aluacion es á inculada di ec amen e con los pe iodos
de inidos pa a cada cu so, indicando las echas de inicio y in del
pe iodo de e aluación.
Todo aquello de an o el esquema concep ual como la base de da os elacionado
con Taiga se man iene pa a una posible u u a ampliación.
53
9.4 Diag amas de secuencia
En es e apa ado se p esen an dos diag amas de secuencia que ilus an ejemplos
conc e os del uncionamien o del sis ema: uno pa a una consul a GET y o o
pa a una ope ación de c eación POST. Jun o a cada diag ama, se incluyen los
con a os ele an es que in e ienen en la acción pa a p opo ciona una isión
comple a del p oceso.
El p ime diag ama co esponde a una consul a GET pa a ob ene los de alles de
un equipo. Dado que se a a de una acción simple, el diag ama incluye an o el
on end como el backend, cla amen e sepa ados po una doble línea en el
cen o de la imagen. Es o pe mi e isualiza la in e acción en e ambas pa es y
cómo se ges ionan las solici udes y las espues as den o del sis ema.
ope ación EquiposAPI::ob ene EquipoDe alle(id: in ): EquipoDe alleDTO
exc EquipoNoExis e: No exis e un equipo con ese id
e o na la in o mación del equipo y los es udian es que pe enecen al equipo
54
Figu a 20. Diag ama de secuencia de la uncionalidad pa a ob ene de alles de un equipo. Fuen e: Elabo ación p opia con D aw.io
55
ope ación EquipoCon olle ::ob ene EquipoDe alle(id: in ): <es ado,
EquipoDe alleDTO>
exc EquipoNoExis e: No exis e un equipo con ese id
e o na en caso de que exis a un equipo con ese id un DTO con la in o mación del
equipo y de los es udian es que pe enecen al equipo y un mensaje 200 OK. En
caso de que no exis a, se de uel e un mensaje de e o .
ope ación EquipoSe ice::ob ene De allePo Id(id: in ): EquipoDe alleDTO
exc EquipoNoExis e: No exis e un equipo con ese id
e o na la in o mación del equipo y los es udian es que pe enecen al equipo con
ese id
ope ación EquipoReposi o y:: indById(id: in ): Equipo
exc EquipoNoExis e: No exis e un equipo con ese id
e o na la in o mación del equipo con ese id
ope ación Es udian eEquipoReposi o y:: indByEquipoId(id: in ): Lis a
<Es udian e>
p e EquipoNoExis e: No exis e un equipo con ese id
e o na los es udian es que pe enecen al equipo con ese id.
El segundo diag ama de secuencia co esponde a una ope ación POST u ilizada
pa a la c eación de un cu so. A di e encia del p ime ejemplo, es e diag ama se
cen a exclusi amen e en la in e acción den o del backend, omi iendo la pa e del
on end. Es o se debe a que la in e acción del on end es simila a la mos ada en
el p ime diag ama y no apo a nue os elemen os ele an es. Es e diag ama
des aca po inclui múl iples subp ocesos o subdiag amas que manejan aspec os
especí icos de la c eación del cu so
56
Figu a 27. Mock-up de la página p incipal. Fuen e: Elabo ación p opia con Figma [15]
E olución: La página inal man iene una es uc u a simila pe o con un diseño
isual mejo ado, más mode no y esponsi o. Además, aho a incluye un a iso
des acado en caso de que el usua io no haya inculado su cuen a de Gi Hub,
ale ándole sob e es a acción pendien e pa a pode accede a cie as
uncionalidades del sis ema.
Página de pe il
En el mockup inicial, es a página incluye una sección con he amien as de sopo e
(Gi Hub y Taiga) y un o mula io pa a cambia la con aseña.
Figu a 28. Mock-up de la página de pe il. Fuen e: Elabo ación p opia con Figma [15]
63

E olución: En la e sión inal, la página ha sido simpli icada conside ablemen e.
Debido a p oblemas écnicos, se desca ó la in eg ación con Taiga, y como el
inicio de sesión se ealiza median e au en icación de Google, ya no es posible
ges iona el cambio de con aseña desde la aplicación. La página inal se cen a
únicamen e en la conexión del usua io con su cuen a de Gi Hub, mos ando el
es ado de la inculación y pe mi iendo ges iona la según sea necesa io.
Página de equipos
En el mockup inicial, es a página pe mi e al usua io c ea un nue o p oyec o o
uni se a uno exis en e, además de lis a los p oyec os ac uales.
Figu a 29. Mock-up de la página de equipos. Fuen e: Elabo ación p opia con Figma
[15]
E olución: La e sión inal man iene una uncionalidad muy simila pe o con un
diseño más a ac i o y e inado. Sin emba go, se eliminó la opción de uni se a un
equipo po decisión uncional: aho a, los usua ios no pueden solici a uni se a un
equipo po sí mismos, sino que deben se añadidos po los esponsables del
equipo. Es o simpli ica la ges ión y asegu a que solo los usua ios au o izados
o men pa e de un equipo.
64
Página de e aluaciones
En el mockup inicial, se plan eó un sis ema de e aluación po es ellas, con
alo aciones del 1 al 5, di idido en di e en es aspec os pa a que cada miemb o del
equipo pudie a e alua a sus compañe os indi idualmen e.
Figu a 30. Mock-up de la página de e aluaciones. Fuen e: Elabo ación p opia con
Figma [15]
E olución: En la e sión inal, as discu i con la u o a, se simpli icó el sis ema
de e aluación. Aho a, se u iliza un sis ema de alo ación numé ica gene al, donde
un es udian e cali ica el endimien o global de sus compañe os como g upo, sin
desglosa lo po ca ego ías ni e alua a cada miemb o de o ma indi idual.
65
Página equipo (es udian e)
En el mockup inicial, los es udian es podían con igu a an o el p oyec o de
Gi Hub como el de Taiga desde es a página. Se incluían opciones pa a e i ica la
exis encia del p oyec o y comp oba si los usua ios eque idos (como el p o eso y
el es udian e) es aban co ec amen e inculados.
Figu a 31. Mock-up de la página de un equipo. Fuen e: Elabo ación p opia con Figma
[15]
E olución: En la e sión inal, es a página se usionó con la is a del equipo que
ambién u iliza el p o eso ado. Aunque man iene la uncionalidad de
con igu ación pa a los es udian es, las mé icas y la in o mación a anzada del
equipo no es án disponibles pa a ellos. Aho a, los es udian es solo pueden
ges iona la conexión de Gi Hub, ya que la in eg ación con Taiga ue desca ada
debido a p oblemas écnicos.
66
Página equipo (p o eso )
El mockup inicial pa a la is a del p o eso mues a es adís icas sob e el
endimien o del equipo, incluyendo mé icas indi iduales (como commi s
ealizados, a eas asignadas) y mé icas gene ales del equipo, además de la lis a de
miemb os.
Figu a 32. Mock-up de la página de un equipo pa a el p o eso . Fuen e: Elabo ación
p opia con Figma [15]
E olución: En el diseño inal, es a página es simila , solo que hay subpáginas pa a
accede a los da os de Gi Hub y a los de las e aluaciones.
Cómo he mencionado an e io men e, los mockups iniciales cumplie on un papel
cla e a lo la go del desa ollo del sis ema como e e encia pa a es uc u a y
isualiza las uncionalidades de cada página. Sin emba go, el diseño y las
uncionalidades e oluciona on signi ica i amen e pa a adap a se a los e os
écnicos y a las necesidades eales de los usua ios. Es o esul ó en decisiones como
la simpli icación de in e aces, la uni icación de is as pa a es udian es y
p o eso ado, y la eliminación de elemen os no implemen ables. Aunque el diseño
inal di ie e en a ios aspec os, los mockups p opo ciona on una base sólida sob e
la que cons ui una solución uncional y cohe en e con los obje i os del p oyec o.
67
10.- Implemen ación
En es e apa ado se de alla el p oceso de desa ollo del sis ema, incluyendo la
implemen ación de la a qui ec u a escogida, las he amien as y ecnologías
seleccionadas, los lenguajes de p og amación u ilizados, las aplicaciones pa a la
ges ión de la base de da os y las dependencias esenciales del p oyec o.
10.1 Implemen ación MVCS
Como he mencionado, el pa ón u ilizado es el MVCS, ambién llamado
Con olle -Se ice-Reposi o y A chi ec u e. Pa a pode implemen a lo
co ec amen e, he dis ibuido los componen es de la siguien e mane a:
O ganización del F on end
El on end es á desa ollado en Reac , una biblio eca de Ja aSc ip ampliamen e
u ilizada pa a cons ui in e aces de usua io dinámicas y eac i as. Es el
enca gado de implemen a la Vis a den o del pa ón MVCS, y es á es uc u ado
de la siguien e mane a:
● s c/componen s/: Con iene odos los componen es eu ilizables de la
in e az, como bo ones y ba as, incluyendo elemen os como la ba a
la e al. Los componen es es án sepa ados en /au h y /common pa a una
mejo o ganización.
● s c/pages/: Aquí se ubican las di e en es páginas de la aplicación
o ganizadas en múl iples ca pe as: /home, /usua ios, /cu sos y /equipos.
Cada página impo a y combina los componen es necesa ios pa a cons ui
la is a comple a. En es as páginas se ges ionan los e en os del usua io ( e
Figu a 20).
● s c/u ils/: De ine las u as p i adas de na egación de la aplicación,
asociando cada u a a un componen e de página especí ico.
● s c/se ices/: Con iene los se icios de comunicación con el backend,
implemen ados pa a ealiza pe iciones HTTP. Se cen alizan aquí pa a
man ene un código limpio y acili a el manejo de e o es y okens de
au en icación. En el ejemplo de la ope ación de consul a los de alles de un
equipo (Figu a 20), el código de la clase EquipoAPI es a ia aquí.
● s c/asse s/: Almacena ecu sos es á icos como imágenes e iconos.
Escogí es a o ganización pa a man ene un código limpio, modula y ácil de
escala . Aunque Reac no sigue es ic amen e el pa ón MVCS, su capacidad pa a
maneja componen es de o ma modula y su ges ión del es ado pe mi e man ene
una es uc u a o ganizada y cohe en e con los p incipios de sepa ación de
esponsabilidades.
68

O ganización del Backend
El backend es á desa ollado en Sp ing Boo , un amewo k de Ja a que simpli ica
la c eación de aplicaciones obus as y escalables. La es uc u a del p oyec o sigue
las con enciones es ánda de Sp ing:
● s c/main/ja a/ g/backend_ g/: Es la aíz del código uen e, donde se
ubican los paque es p incipales.
○ con olle /: Con iene las clases con olado as que manejan las
pe iciones HTTP en an es. Cada con olado se enca ga de un
conjun o especí ico de endpoin s elacionados con uncionalidades
como ges ión de usua ios, cu sos o equipos.
○ se ice/: Incluye las clases de se icio que encapsulan la lógica del
negocio. Los con olado es delegan en los se icios las ope aciones
más complejas, lo que pe mi e man ene los con olado es lige os y
en ocados en la in e acción con el clien e.
○ eposi o y/: Almacena las in e aces que in e ac úan con la base de
da os, ex endiendo las uncionalidades de JPA Reposi o y. Es a capa
pe mi e ealiza ope aciones CRUD sin necesidad de implemen a
consul as SQL manualmen e.
○ model/: De ine las en idades del sis ema que se mapean a ablas en
la base de da os, u ilizando ano aciones de JPA pa a es ablece
elaciones y es icciones.
○ au h/: De ine odas las uncionalidades especí icamen e
elacionadas con la au en icación del usua io en la aplicación.
○ con ig/: Ges iona la con igu ación gene al de la aplicación, así como
la de segu idad.
○ d o/: Almacena los a chi os que de inen odos los Da a T ans e
Objec s (DTOs), los cuales se u ilizan pa a de ol e conjun os de
da os especí icos.
○ secu i y/: Ges iona la con igu ación de segu idad, incluyendo la
au en icación y au o ización median e JWT. Aquí se de inen los
il os de segu idad y las polí icas de acceso a los dis in os endpoin s
según el ol del usua io.
● s c/main/ esou ces/: Con iene a chi os de con igu ación, como
applica ion.p ope ies, además de un applica ion-sec e .p ope ies
(p opiedades p i adas), donde se especi ican de alles de la conexión a la
base de da os y o as p opiedades del sis ema.
Es a o ganización pe mi e segui el pa ón MVCS de mane a e ec i a, sepa ando
la lógica de p esen ación (con olado es), la lógica del negocio (se icios) y el
acceso a da os ( eposi o ios). Además, acili a la implemen ación de medidas de
segu idad y la ges ión de ansacciones. Al inclui una capa de se icios, los
con olado es pe manecen lige os y en ocados exclusi amen e en maneja las
69
solici udes del usua io, mien as que los se icios ges ionan las alidaciones y la
lógica emp esa ial, delegando el acceso a da os a los eposi o ios.
Al combina ecnologías mode nas y muy u ilizadas como Reac y Sp ing Boo , y
al segui pa ones de diseño econocidos como MVCS, se es ablece una base muy
sólida pa a el desa ollo de es a aplicación.
10.2 He amien as y ecnologías u ilizadas
El desa ollo del sis ema se ha lle ado a cabo u ilizando un conjun o de
he amien as y ecnologías mode nas que ga an izan la obus ez, escalabilidad y
man enibilidad del p oyec o:
Backend
● Ja a: Lenguaje de p og amación o ien ado a obje os.
● Sp ing Boo : F amewo k de Ja a que acili a el desa ollo de aplicaciones
obus as y escalables. P opo ciona una con igu ación au oma izada y un
ecosis ema in eg ado pa a ges iona dependencias, segu idad y acceso a
da os.
● Ma iaDB: Sis ema de ges ión de bases de da os elacional, seleccionado
po su compa ibilidad con el en o no académico y su desempeño en
ope aciones concu en es.
● JWT (JSON Web Token): Implemen ado pa a au en ica y au o iza las
solici udes de los usua ios de o ma segu a, eliminando la necesidad de
sesiones pe sis en es en el se ido .
● Ma en: He amien a de ges ión de dependencias y cons ucción del
p oyec o, u ilizada pa a asegu a la in eg ación luida de biblio ecas y
amewo ks en el backend.
● Lombok: Biblio eca pa a educi la esc i u a de código epe i i o en las
clases de modelo, gene ando au omá icamen e ge e s, se e s, cons uc o es
y o os mé odos comunes.
70
F on end
● Ja aSc ip : Lenguaje de p og amación dinámico u ilizado pa a c ea
in e aces in e ac i as y ges iona la lógica del on end.
● HTML: Lenguaje de ma cado que es uc u a el con enido isible de la
aplicación web.
● CSS: Lenguaje de es ilos que de ine la apa iencia y diseño isual de los
elemen os HTML.
● Reac : Biblio eca de Ja aSc ip u ilizada pa a cons ui una in e az de
usua io dinámica y modula , que in e ac úa con el backend a a és de APIs
REST ul.
● Reac Rou e : Pa a ges iona la na egación en e páginas de la aplicación.
● Con ex API: Pa a la ges ión global del es ado, incluyendo la au en icación
del usua io y las p e e encias del sis ema.
In eg ación con APIs ex e nas
● Gi Hub API: Pa a ob ene da os en iempo eal sob e las con ibuciones de
los es udian es en los eposi o ios inculados.
● Gi Hub G apQL API: U ilizada pa a ealiza consul as e icien es que
consolidan múl iples da os en una sola llamada, op imizando el endimien o
en la ob ención de mé icas a anzadas.
● Taiga API: Pa a ecopila in o mación sob e el p og eso y la o ganización
de los equipos.
Ges ión de la base de da os
Inicialmen e, se u ilizó DBea e pa a la ges ión de la base de da os. Sin emba go,
al inaliza su pe íodo de licencia g a ui a, se mig ó a Da ag ip de Je B ains, una
he amien a de código abie o que o ece uncionalidades simila es y se adap a a
las necesidades del p oyec o.
O as he amien as
● Pos man: U ilizado pa a p oba y depu a los endpoin s del backend.
● Visual S udio Code: Edi o p incipal pa a el desa ollo del código.
● Gi : Sis ema de con ol de e siones pa a ges iona el código uen e.
71
10.3 Dependencias del backend
El a chi o pom.xml de Ma en de ine odas las dependencias necesa ias pa a el
co ec o uncionamien o del backend. A con inuación, se enume an las
dependencias p incipales y su p opósi o:
Sp ing Boo S a e s
● sp ing-boo -s a e -web: P opo ciona las he amien as necesa ias pa a
desa olla APIs REST ul, incluyendo sopo e pa a JSON y un se ido
embebido (Tomca ).
● sp ing-boo -s a e -da a-jpa: Facili a la in e acción con bases de da os
elacionales u ilizando JPA (Ja a Pe sis ence API) y he amien as como
Hibe na e.
● sp ing-boo -s a e -secu i y: Implemen a segu idad en el backend,
manejando la au en icación y au o ización de usua ios.
JWT (JSON Web Token)
● jjw -api: P opo ciona las clases p incipales pa a c ea , i ma y alida
okens JWT.
● jjw -impl y jjw -jackson: Ex ienden las capacidades de jjw -api,
p opo cionando implemen ación pa a el manejo de JWT en iempo de
ejecución, con sopo e pa a JSON u ilizando Jackson.
● ja a-jw : Biblio eca adicional pa a maneja la c eación y e i icación de
okens JWT con más lexibilidad.
Ma iaDB
● ma iadb-ja a-clien : D i e JDBC que pe mi e la conexión en e Sp ing
Boo y la base de da os Ma iaDB.
Gson
● gson: Biblio eca pa a se ializa y dese ializa obje os JSON, u ilizada en
algunas ope aciones donde se equie e manipulación a anzada de da os
JSON.
Google API Clien
● google-api-clien : P opo ciona he amien as pa a in e ac ua con se icios
de Google, como la alidación de okens de inicio de sesión.
● google-oau h-clien : Biblio eca pa a maneja lujos de au en icación
OAu h 2.0, especialmen e ú il pa a alida okens gene ados po Google.
72
Mos a g á icas de
da os de Gi hub
Pasado
Como p o eso , cuando en amos
en la página de da os de Gi Hub
nos mues a los g á icos que se
gene an con las mé icas de los
es udian es.
Po azones ya explicadas, se ha excluido odo es elacionado con Taiga
(HU06b). Las uncionalidades que le co espondían han sido sus i uidas con o as
de Gi Hub, po eso se han hecho las p uebas espec i as.
11.2 Validación equisi os no uncionales
En es e siguien e apa ado oy a desc ibi cómo se han cumplido los equisi os no
uncionales de inidos al inicio del p oyec o, especi icados en el apa ado 8.2. Pa a
cada equisi o, se de alla qué decisiones de diseño, he amien as o me odologías se
han empleado pa a ga an iza su cumplimien o.
Escalabilidad
Es e equisi o se ha cumplido median e la selección de una base de da os
elacional obus a, como Ma iaDB, capaz de ges iona g andes olúmenes de
da os de mane a e icien e. La es uc u a del sis ema se diseñó especí icamen e
pa a sopo a múl iples cu sos y a ios equipos po cu so. G acias a la
op imización de consul as y la u ilización de índices en las ablas más ele an es
(como es udian es, equipos y cu sos), se ga an iza que el endimien o del sis ema
no se deg ade, incluso en escena ios de al a ca ga de usua ios y da os. Es o asegu a
iempos de espues a educidos pa a ope aciones es ánda , cumpliendo con las
condiciones de sa is acción es ablecidas.
Disponibilidad y iabilidad
Es e equisi o se ha cumplido al desplega la aplicación en un se ido
p opo cionado po la UPC, una in aes uc u a que ga an iza un up ime ele ado
g acias a su es abilidad y sopo e écnico. Es o asegu a que los es udian es y
p o eso es puedan accede al sis ema en cualquie momen o sin in e upciones, y
que los da os c í icos de usua ios y equipos es én disponibles y p o egidos en e a
posibles allos o e o es.
Segu idad
Es e equisi o se ha cumplido median e la implemen ación de OAu h pa a la
au en icación de usua ios, lo que elimina la necesidad de almacena y ci a
con aseñas, ya que se delega la au en icación a un p o eedo ex e no como
Google. Además, se u iliza JWT (JSON Web Tokens) pa a ga an iza la segu idad
en cada sesión, e i icando que solo los usua ios au o izados puedan accede a las
uncionalidades y da os según su ol. El sis ema e i ica cada solici ud u ilizando
79

es os okens, asegu ando que las acciones sean ealizadas únicamen e po usua ios
con los pe misos adecuados. De es a mane a, se p o ege la con idencialidad e
in eg idad de los da os de es udian es y equipos.
Po o o lado, es e equisi o iene o a condición que se cumple g acias a
decisiones cla e omadas du an e el desa ollo del p oyec o. Solo los p o eso es
ienen acceso a las mé icas indi iduales de los es udian es y a los esul ados
de allados de las e aluaciones, es ingiendo así la in o mación sensible que en
los es udian es. Es a decisión ga an iza el cumplimien o de egulaciones de
p i acidad y p o egen la in eg idad de la in o mación pe sonal.
Rendimien o
Aunque el sis ema ue diseñado pa a ga an iza iempos de espues a ápidos, es e
obje i o no se ha cumplido comple amen e debido a limi aciones inhe en es en la
in e acción con la API de Gi Hub. Pa a ob ene mé icas de un eposi o io o una
o ganización, es necesa io ealiza múl iples llamadas a la API, ya que no exis e
una única llamada global que p opo cione oda la in o mación eque ida. Es o
gene a un pequeño iempo de espe a, de ap oximadamen e 15 segundos, pa a
p ocesa y consolida los da os necesa ios. Aunque se ha implemen ado G aphQL
en cie as llamadas pa a op imiza el endimien o, oda ía pe sis e es e pe iodo de
espe a en o as á eas, ya que no se ha con ado con el iempo su icien e pa a aplica
G aphQL en odas las solici udes necesa ias.
Usabilidad
El equisi o de usabilidad se ha abo dado median e el diseño de una in e az
in ui i a y cla a, que pe mi e a los usua ios comple a a eas cla e en menos de
es clics. Pa a ga an iza es e obje i o, se ealizó una demo del sis ema con la
u o a esponsable del TFG, que se á usua ia de la aplicación, quien p opo cionó
alioso eedback sob e posibles e o es y mejo as en el diseño de la in e az.
G acias a es as suge encias, se ealiza on ajus es que maximizan la acilidad de
uso, op imizando la disposición de las is as y paneles. Es a colabo ación pe mi ió
alcanza una expe iencia de usua io más luida y e ec i a an o pa a es udian es
como pa a p o eso es.
Man enimien o
El equisi o de man enimien o se ha cumplido g acias a la elección de una
a qui ec u a basada en el modelo MVC (Model-View-Con olle ). Es a es uc u a
modula pe mi e una cla a sepa ación de esponsabilidades, lo que acili a la
edición o adición de nue as uncionalidades sin in e e i con el es o del código
exis en e. G acias a es a a qui ec u a, las modi icaciones en la lógica de negocio,
las is as o los con olado es pueden ealiza se de mane a independien e,
educiendo signi ica i amen e los iesgos de e o es, y po lo an o, ga an izando
la sos enibilidad y e olución del sis ema a la go plazo.
80
12.- Ins alación y documen ación
12.1 Requisi os e ins alación de la aplicación web
En es e siguien e apa ado, oy a explica odo lo necesa io pa a pode ealiza la
ins alación de CERCLES.
An es de p ocede a la ins alación, hay que asegu a se de cumpli con los
siguien es equisi os:
1. IDE (En o no de desa ollo in eg ado): Visual S udio Code (VSC) o
cualquie o o IDE pa a abaja con p oyec os backend y on end, como
In elliJ, Eclipse, e c.
2. Ja a De elopmen Ki (JDK): Desca ga e ins ala la e sión 23 del JDK
desde O acle [24].
3. Apache Ma en: Ins ala Ma en pa a ges iona las dependencias y cons ui
el a chi o .wa . Pa a ins ala lo:
a. En Linux/Ubun u: sudo ap ins all ma en
b. En Windows: Desca ga desde Ma en [25] e inclui lo en las
a iables de en o no.
4. Node.js y npm: Desca ga e ins ala la e sión 16+ de Node.js, que incluye
npm [26].
5. Se ido web Apache Tomca : Desca ga la e sión 10.x desde Tomca
Downloads [27]. Pos e io men e, ins ala y con igu a el se ido Tomca .
También cabe la posibilidad de desca ga cualquie o o se ido web.
6. Base de da os Ma iaDB: Desca ga e ins ala Ma iaDB desde Ma iaDB
O icial Downloads [28].
Una ez con amos con odos los elemen os necesa ios, los pasos a segui son los
siguien es:
1. Gene a el a chi o .wa desde el IDE
2. Desplega el a chi o .wa en el se ido web (Apache Tomca ). Al
desplega es e a chi o, se c ea á un di ec o io en el que es a án los a chi os
necesa ios pa a la ejecución de la aplicación.
3. C ea una nue a base de da os en Ma iaDB o MySQL, asegu ándose de
gua da la in o mación de conexión (URL, pue o, usua io y con aseña).
No es necesa io añadi ablas ni da os manualmen e, ya que la aplicación se
enca ga á de c ea las es uc u as necesa ias al ejecu a se po p ime a ez.
4. Ajus a los pa áme os de conexión a la base de da os en la aplicación:
Modi ica el a chi o applica ion.p ope ies (ubicado en la ca pe a
s c/main/ esou ces) en el di ec o io que se ha c eado al desplega la
aplicación (pun o 2), pa a inclui los da os de acceso a la base de da os que
se han gua dado en el pun o 3. Es e a chi o debe con ene la URL, usua io
y con aseña que se han de inido al c ea la base de da os.
81
[Figu a 34] Ejemplo de applica ion-p ope ies. Fuen e: Elabo ación p opia
5. Inicia el se ido : Una ez con igu ados los pasos an e io es, inicia
Apache Tomca . La aplicación es a á accesible desde el na egado en el
pue o con igu ado, gene almen e h p://localhos :8080.
Siguiendo es as ins ucciones, la aplicación es a á lis a pa a su uso en el se ido
co espondien e. El código de la aplicación se puede encon a en la o ganización
de Gi Hub: ce cles- g.
12.2 Documen ación de la REST ul API
CERCLES, como aplicación web diseñada con una a qui ec u a MVCS, u iliza un
se icio de API REST pa a ges iona la comunicación en e el on end y el
backend, es deci , en e las is as y los con olado es. Es e diseño pe mi e que las
di e en es uncionalidades de la aplicación se in eg en de mane a e icien e
median e llamadas a endpoin s que p opo cionan y eciben da os en o ma o
JSON, un o ma o ampliamen e usado debido a su acilidad de p ocesamien o y
ep esen ación en las in e aces de usua io.
El diseño de es a API se ha desa ollado con o me a las mejo es p ác icas pa a
ga an iza su uncionamien o como una REST ul API e icien e. En es e p oyec o,
esul ó undamen al diseña nue os mé odos y endpoin s que cumplie an con es os
es ánda es. Po ejemplo, las URLs de los endpoin s es án es uc u adas pa a
ep esen a cla amen e los ecu sos p incipales del sis ema, como es udian es,
equipos y cu sos. Es o pe mi e que cada ecu so sea ges ionado de mane a cla a y
cohe en e a a és de ope aciones bien de inidas.
En es e apa ado se p esen an los endpoin s de la API REST de o ma gene al,
mos ando odas las llamadas disponibles en el sis ema. Cada endpoin es á
documen ado con su p opósi o, pa áme os espe ados y las espues as
co espondien es, u ilizando un o ma o es anda izado como el p opo cionado po
Swagge . Es o acili a la isualización y comp ensión de las ope aciones CRUD
(C ea , Lee , Ac ualiza y Elimina ) que la API sopo a sob e los ecu sos
p incipales del sis ema.
82
A con inuación podemos e la lis a de odos los endpoin s implemen ados
ag upados po au o ización; ges ión de usua ios, cu sos, equipos y e aluaciones; y
las consul as sob e los da os del Gi Hub.
83
Figu a 35. Endpoin s del código. Fuen e: Elabo ación p opia con swagge [29].
84

El ex o necesa io pa a isualiza la documen ación de la REST ul API se
encuen a en el documen o openapi.yaml de la ca pe a docs den o del código
p opo cionado, especí icamen e en el eposi o io del backend. Pa a isualiza lo, se
debe u iliza el edi o Swagge [29].
12.3 Manual de usua io
Es e apa ado de la memo ia es á des inado a guia an o a p o eso es como a
es udian es en el uso de la aplicación, o eciendo ins ucciones de alladas sob e
cómo ealiza las a eas cla e den o del sis ema.
Inicio de Sesión
En p ime paso, enemos el inicio de sesión. Pa a pode accede a CERCLES, se
debe inicia sesión u ilizando la cuen a de co eo elec ónico p opo cionada po la
uni e sidad. Es e p oceso de au en icación se ealiza median e Google,
ga an izando segu idad y acilidad de acceso.
Figu a 36. Cap u a de pan alla pa cial del inicio de sesión. Fuen e: Elabo ación p opia
Pasos:
1. En la pan alla de inicio, encon a ás el bo ón "Inicia la sessió amb Google".
2. Haz clic en el bo ón e inicia sesión con u cuen a de la uni e sidad.
3. Una ez au en icado, el sis ema iden i ica á au omá icamen e si e es un
p o eso o un es udian e.
A pa i de aquí, se di e encia ánlas pan allas o uncionalidades den o de una
misma pan alla según las que e un es udian e o un p o eso .
85
Página de inicio (Home)
La página de inicio es la p ime a pan alla que apa ece as inicia sesión en
CERCLES y es p ác icamen e idén ica an o pa a es udian es como pa a
p o eso es, con una única pequeña di e encia.
Figu a 37. Cap u a de pan alla pa cial de la página de inicio. Fuen e: Elabo ación
p opia
Pasos:
1. Accedi al Pe il: Es e bo ón es á disponible an o pa a es udian es como
pa a p o eso es y pe mi e accede a la página de con igu ación del pe il.
2. Veu e cu sos/Veu e equips:
○ Pa a p o eso es, es e bo ón pe mi e e los cu sos que ges ionan.
○ Pa a es udian es, es e bo ón pe mi e e los equipos en los que
pa icipan.
En caso que el usua io no haya con igu ado su cuen a de Gi Hub en su pe il,
apa ece á un a iso des acado jus o encima de los bo ones p incipales. Es e a iso
si e pa a eco da al usua io que debe comple a la con igu ación de su cuen a de
Gi Hub, ya que es necesa ia pa a el co ec o uncionamien o de la aplicación.
Página de pe il
La página de pe il es común an o pa a p o eso es como pa a es udian es y
pe mi e ges iona la conexión del usua io con su cuen a de Gi Hub. Se p esen an
dos es ados p incipales en es a pan alla.
86
Es ado inicial (sin conec a )
Figu a 38. Cap u a de pan alla pa cial de la página de pe il sin conec a . Fuen e:
Elabo ación p opia
En es e caso, el sis ema mues a un bo ón "Connec a amb Gi Hub", que edi ige
a la página o icial de Gi Hub pa a ealiza la conexión.
Figu a 39. Cap u a de pan alla de la edi ección de Gi Hub. Fuen e: Elabo ación p opia
87
Es impo an e p es a a ención al mensaje des acado en neg i a. Es e indica que, si
ya exis e una sesión ac i a en Gi Hub, CERCLES asocia á au omá icamen e la
cuen a que es á ac i a. Pa a conec a o a cuen a, se á necesa io ce a p e iamen e
la sesión en Gi Hub.
Es e mensaje es ele an e pa a e i a e o es o con usiones al incula una cuen a.
Es ado conec ado
Figu a 40. Cap u a de pan alla pa cial de la página de pe il conec ado. Fuen e:
Elabo ación p opia
Una ez que se ha es ablecido la conexión, y pa a pode e i ica que la cuen a
conec ada es la co ec a, la página mues a los siguien es da os elacionados con el
usua io de Gi Hub:
● Nomb e de usua io en Gi Hub.
● Núme o de eposi o ios públicos y p i ados.
● Núme o de o ganizaciones en las que pa icipa el usua io.
Se puede desconec a de esa cuen a simpleme ne clicando en el bo ón de
“Desconnec a el comp e de Gi Hub”
88
C ea un equipo
La pan alla de c eación de equipos es á diseñada pa a que an o p o eso es como
es udian es puedan o ma nue os equipos den o de los cu sos en los que es án
in oluc ados.
Figu a 45. Cap u a de pan alla pa cial de la página de un c ea un equipo. Fuen e:
Elabo ación p opia
Aunque la pan alla es simila pa a ambos oles, hay lige as di e encias en su
uncionamien o:
In o mación gene al:
1. Nomb e del equipo: Es un campo obliga o io donde se debe esc ibi un
nomb e pa a iden i ica al equipo.
2. Selección del cu so:
○ Es udian es: Se mues a un selec o desplegable con los cu sos en los
que el es udian e es á ma iculado y donde aún no o ma pa e de un
equipo.
○ P o eso es: El cu so ya es á p eseleccionado, ya que es a página sólo
es accesible desde la página de de alles de un cu so.
3. P o eso e aluado : Se debe selecciona un p o eso del cu so que se á
esponsable de e alua al equipo. Es impo an e que los es udian es se
in o men p e iamen e sob e quién se á su e aluado .
95

Selección de miemb os:
● Una ez seleccionado el cu so (o di ec amen e pa a el p o eso ), se mues a
una lis a de es udian es que pe enecen al cu so pe o que aún no o man
pa e de ningún equipo.
● Los usua ios pueden busca es udian es po nomb e u ilizando la ba a de
búsqueda disponible.
● Es obliga o io selecciona al menos un miemb o pa a c ea el equipo.
P oceso de c eación:
1. Después de comple a odos los campos y selecciona los miemb os, se
debe pulsa el bo ón "C ea Equip", el cual mos a á al usua io un pop up
con los da os pa a que con i me la c eación del equipo.
2. Si los da os ing esados son co ec os, el equipo se c ea y pasa a se isible
en la página de equipos del cu so co espondien e (pa a el p o eso ) o en la
página de equipos (pa a el es udian e).
Página pa a e alua
La página de e aluación es á disponible exclusi amen e pa a los es udian es. En
es a is a, se mues an odos los compañe os del equipo, incluyendo al p opio
es udian e. Cada miemb o debe ecibi una pun uación según la e aluación del
es udian e.
Figu a 46. Cap u a de pan alla pa cial de la página pa a e alua como es udian e.
Fuen e: Elabo ación p opia
96
La suma o al de odas las pun uaciones asignadas debe se equi alen e al núme o
de miemb os del equipo mul iplicado po 10. Es o incluye la au oe aluación, que
ambién debe ealiza se. Una ez comple adas las pun uaciones, se puede en ia la
e aluación u ilizando el bo ón En ia al inal de la página. Es a página sólo es a á
disponible en los pe iodos seleccionados po el p oes o al c ea el cu so.
Página de e aluaciones
La página de e aluaciones es á disponible únicamen e pa a los p o eso es y
p opo ciona un desglose de allado de las e aluaciones ealizadas po los
es udian es den o de un equipo. Es a página incluye las siguien es secciones:
Figu a 47. Cap u a de pan alla de la abla esumen de e aluaciones. Fuen e:
Elabo ación p opia
En la pa e supe io , se p esen a una abla esumen que con iene:
● Columnas po es udian e: Cada columna ep esen a a un es udian e del
equipo.
● Media de compañe os: Mues a la media de las e aluaciones ecibidas po
cada es udian e de pa e de sus compañe os en odos los pe íodos de
e aluación.
● Media de au oe aluaciones: Indica la media de las au oe aluaciones
ealizadas po cada es udian e en los dis in os pe íodos de e aluación.
Debajo de la abla esumen, se p esen a una abla po cada pe íodo de e aluación,
con los siguien es elemen os:
97
Figu a 48. Cap u a de pan alla de la abla de alles de e aluaciones. Fuen e:
Elabo ación p opia
● Filas y columnas: Cada ila y columna co esponde a un es udian e. Las
in e secciones mues an las e aluaciones que un es udian e ha dado a o o
(o a sí mismo en el caso de la diagonal).
● Úl ima ila: Indica la media de las e aluaciones que cada es udian e ha
ecibido de sus compañe os du an e ese pe íodo.
Sis ema de colo es
● Ve de: Rep esen a alo es supe io es a 11, indicando e aluaciones al as.
● Rojo: Rep esen a alo es in e io es a 9, des acando e aluaciones bajas.
● Azul: Apa ece únicamen e en la diagonal de las ablas de e aluaciones,
indicando las au oe aluaciones ealizadas po los es udian es.
98
Página de de alles de los da os de Gi Hub
La pan alla de de alles de los da os de Gi Hub, exclusi a pa a los p o eso es,
pe mi e ealiza un análisis exhaus i o de las mé icas de cada equipo a a és de
a ias ablas y g á icos.
Tablas de mé icas de con ibuciones de usua ios.
Figu a 49. Cap u a de pan alla de la abla mé icas de Gi Hub. Fuen e: Elabo ación
p opia
1. “Mé iques de les con ibucions dels usua is”:
○ “#Commi s”: Can idad de commi s ealizados po cada miemb o del
equipo.
○ “#Línies ++”: Núme o o al de líneas de código añadidas po cada
miemb o.
○ “#Línies –”: Núme o o al de líneas de código eliminadas po cada
miemb o.
○ “#PRs c ea s”: Can idad de pull eques s c eadas po cada miemb o.
○ “#PRs usiona s”: Can idad de pull eques s c eadas po cada
miemb o.
○ En la úl ima columna, se mues a una media gene al pa a cada
mé ica conside ando odos los miemb os.
2. “Mé iques d'his ò ies d'usua i i asques”:
○ “His ò ies d'usua i”: Can idad de his o ias de usua io asignadas a
cada miemb o.
○ “His ò ies d'usua i ancades”: Can idad de his o ias de usua io
asignadas y ce adas po cada miemb o.
99
○ “Tasques”: Can idad de a eas asignadas a cada miemb o.
○ “Tasques ancades”: Can idad de a eas asignadas y ce adas po
cada miemb o.
○ En la úl ima columna, se encuen a la media de las mé icas en cada
ila.
Tablas de de alles de his o ias de usua io y a eas
Figu a 50. Cap u a de pan alla de la abla de de alles de HU y a eas. Fuen e:
Elabo ación p opia
● De alles de his o ias de usua io:
○ Se lis an odas las his o ias de usua io c eadas como issues en
Gi Hub con un label asociado.
○ Labels álidos pa a his o ias de usua io: "use s o y", "his o ia de
usua io", "his ò ia d'usua i".
○ Se indica el miemb o al que es á asignada la his o ia. Si no es á
asignada a nadie, se ma ca la úl ima columna como "No assigna ".
● De alles de a eas:
○ Simila a las his o ias de usua io, pe o con el label co espondien e a
a eas.
○ Labels álidos pa a a eas: " ask", " a ea", " asca".
100

G á icos de mé icas
Figu a 51. Cap u a de pan alla de los g á icos de Gi Hub. Fuen e: Elabo ación p opia
1. Dis ibució de commi s:
○ Un g á ico ci cula que mues a la p opo ción de commi s ealizados
po cada miemb o del equipo.
2. Línies a egides i eliminades:
○ Un g á ico de ba as que compa a las líneas de código añadidas y
eliminadas po cada miemb o.
3. His ò ies d'usua i i asques ancades:
○ Un g á ico de ba as que mues a cuán as his o ias de usua io y
a eas ha ce ado cada miemb o.
4. Dis ibució d'his ò ies d'usua i o als:
○ Un g á ico ci cula que mues a la p opo ción de his o ias de usua io
asignadas a cada miemb o.
101
Página de esumen de mé icas de un equipo
En la página de esumen de un equipo, los p o eso es pueden isualiza de o ma
conjun a las ablas de Mé iques de les con ibucions dels usua is y Mé iques
d'his ò ies d'usua i i asques elacionadas con Gi Hub, así como la abla de
esumen de e aluaciones.
Es a is a iene como obje i o p opo ciona una isión gene al de oda la
in o mación ele an e del equipo en un único luga . Si se equie e mayo de alle,
el p o eso puede accede a cualquie a de las subpáginas especí icas pa a
p o undiza en los da os de Gi Hub o de las e aluaciones.
102
13.- In o me de sos enibilidad
13.1 Au oe aluación
Al ealiza el cues iona io sob e sos enibilidad del P oyec o EDINSOST2-ODS
[30], me he dado cuen a de que, aunque no poseo un conocimien o p o undo sob e
muchos de los concep os y es a egias mencionados, engo la capacidad de
iden i ica cómo pod ía lle a a cabo un p oyec o conside ando las es
dimensiones: social, ambien al y económica. A lo la go de mi ca e a, he
ap endido que es undamen al in eg a es os aspec os, incluso si no se ienen odos
los conocimien os écnicos.
En la uni e sidad, el componen e social ha sido el que más he desa ollado y
aplicado. Un cla o ejemplo de es o ue en la asigna u a de Enginye ia dels
Requisi s (ER), donde nos pidie on c ea un p oyec o que usa a las TIC con un
impac o posi i o en la sociedad. P opuse a mi g upo abaja en un p oyec o de
esidencias in eligen es pa a pe sonas de la e ce a edad, con el obje i o de
p opo ciona un en o no más segu o y e icaz a la ho a de a a a es e colec i o.
Po o o lado, ambién he enido expe iencias elacionadas con la sos enibilidad
ambien al y económica. Po ejemplo, se nos inculcó la impo ancia de eu iliza
los ecu sos, e i ando la comp a innecesa ia de nue as máquinas y p omo iendo
el ap o echamien o de componen es ya exis en es, lo que nos hizo se conscien es
de cómo hace una ges ión esponsable de ma e iales. En cuan o a la sos enibilidad
económica, en casi odos los p oyec os que hemos desa ollado, nos han insis ido
en ealiza una e aluación económica esponsable, asegu ándonos de no excede el
p esupues o y de busca siemp e la e iciencia en los cos es.
En conclusión, he ap endido que no se puede abaja en un p oyec o igno ando
cualquie a de las es dimensiones de la sos enibilidad. Es undamen al ene
siemp e en men e el equilib io en e lo social, ambien al y económico pa a
asegu a que cualquie inicia i a enga un impac o e dade amen e posi i o y
du ade o.
13.2 Dimensión económica
Respec o al P oyec o pues o en p oducción (PPP):
● ¿Re lexión sob e el cos e que has es imado pa a la ealización del p oyec o?
El cos e es imado del p oyec o se ha calculado eniendo en cuen a los sala ios de
los di e en es oles necesa ios, así como los ecu sos ísicos y ecnológicos. Al se
el único pa icipan e, los cos es asociados se han educido, pe o aún así se ha
hecho una es imación ealis a de lo que implica ía si pa icipa an o os
p o esionales. Además, el uso de he amien as de so wa e g a ui as y la
amo ización del ha dwa e han pe mi ido ajus a el p esupues o o al, mos ando
que es posible lle a a cabo el p oyec o de mane a e icien e y económica.
103
Respec o a la Vida Ú il:
● ¿Cómo se esuel en ac ualmen e los aspec os de cos es del p oblema que
quie es abo da (es ado del a e)?
Ac ualmen e, se usan p ocesos manuales en Excel pa a la ges ión y e aluación de
es udian es en p oyec os en equipo, lo que hace que el p o eso ado a de más
iempo en e alua , aumen ando así el cos e en é minos de ho as dedicadas.
● ¿En qué mejo a á económicamen e (cos es...) u solución espec o a las
exis en es?
Mi solución educi á cos es al usa un sis ema g a ui o, cen alizado y
au oma izado, eliminando la necesidad de licencias y op imizando el uso de
ecu sos humanos.
13.3 Dimensión ambien al
Respec o al P oyec o pues o en p oducción (PPP):
● ¿Has es imado el impac o ambien al que end á la ealización del p oyec o?
El impac o ambien al del p oyec o es mínimo, ya que se desa olla á usando
ecu sos ya disponibles, como un po á il p opio que iene ya unos años y so wa e
g a ui o.
● ¿Te has plan eado minimiza su impac o, po ejemplo, eu ilizando
ecu sos?
Sí, el p oyec o se lle a á a cabo u ilizando ha dwa e exis en e y so wa e en la
nube pa a e i a la comp a de nue os equipos.
Respec o a la Vida Ú il:
● ¿Cómo se esuel e ac ualmen e el p oblema que quie es abo da (es ado del
a e)?, y. ¿En qué mejo a á ambien almen e u solución espec o a las
exis en es?
El sis ema ac ual se basa en he amien as como Excel que pueden eque i más
imp esiones y uso de papel. Mi solución, al digi aliza y au oma iza p ocesos,
educe es e consumo, con ibuyendo a la sos enibilidad ambien al.
13.4 Dimensión social
Respec o al P oyec o pues o en p oducción (PPP):
● ¿Qué c ees que e apo a á a ni el pe sonal la ealización de es e p oyec o?
La ealización de es e p oyec o me pe mi i á desa olla una se ie de habilidades
écnicas y pe sonales que conside o undamen ales pa a mi u u o p o esional. Al
abo da el diseño y la implemen ación de un sis ema de ges ión de equipos, end é
104
Glosa io
Gi Hub: Pla a o ma en línea que pe mi e aloja eposi o ios Gi y colabo a en el
desa ollo de p oyec os de so wa e de mane a dis ibuida [3].
Taiga: He amien a de ges ión de p oyec os ágil que acili a la o ganización,
seguimien o y plani icación de a eas en equipos colabo a i os [4].
Commi : Acción en Gi que gua da los cambios ealizados en el código, c eando
un pun o de con ol en el his o ial del p oyec o.
Pull Reques : P opues a pa a usiona cambios en el código desde una ama hacia
o a, pe mi iendo e isión y discusión an es de su in eg ación.
API: Conjun o de eglas y de iniciones que pe mi en que di e en es aplicaciones o
se icios se comuniquen en e sí median e solici udes y espues as.
F amewo k: Conjun o de he amien as y biblio ecas que p opo cionan una
es uc u a p ede inida pa a desa olla so wa e de mane a más e icien e y
o ganizada.
Plugin: Módulo o ex ensión de so wa e que añade uncionalidades adicionales a
una aplicación p incipal sin modi ica su es uc u a base.
Sp in : Ciclos co os de abajo en la me odología Agile, donde se desa ollan y
en egan uncionalidades especí icas del p oyec o en un pe iodo de iempo
de inido, gene almen e de 1 a 4 semanas.
CRUD: Ac ónimo (en inglés) pa a las posibles ope aciones sob e los da os
(C ea e, Read, Upda e, Dele e).
111

Re e encias
[1] Facul a d'In o mà ica de Ba celona (FIB) — Uni e si a Poli ècnica de
Ca alunya, [Online]. Disponible en: h ps://www. ib.upc.edu/ [Úl imo acceso:
18-sep-2024].
[2] Assigna u es del G au en Enginye ia In o mà ica — Facul a d'In o mà ica de
Ba celona (FIB), [Online]. Disponible en:
h ps://www. ib.upc.edu/ca/es udis/g aus/g au-en-enginye ia-in o ma ica/pla-des u
dis/assigna u es [Úl imo acceso: 18-sep-2024].
[3] Gi Hub — Gi , [Online]. Disponible en: h ps://gi hub.com/ [Úl imo acceso:
21-sep-2024].
[4] Taiga — T ee Taiga, [Online]. Disponible en:
h ps:// ee. aiga.io/login?unau ho ized= ue&nex =%2F [Úl imo acceso:
21-sep-2024].
[5] Gi Insigh s — Gi Insigh s, [Online]. Disponible en:
h ps://gi hub.com/gi -insigh s/gi -insigh s [Úl imo acceso: 20-sep-2024].
[6] Ausum Cloud — Sc um: Me odología Ágil Más Popula en Emp esas,
[Online]. Disponible en:
h ps://ausum.cloud/sc um-me odologia-agil-mas-popula -en-emp esas/ [Úl imo
acceso: 20-sep-2024].
[7] A lassian — Gi low Wo k low, [Online]. Disponible en:
h ps://www.a lassian.com/gi / u o ials/compa ing-wo k lows/gi low-wo k low
[Úl imo acceso: 20-sep-2024].
[8] Google, "Mee ", [Online]. Disponible en: h ps://mee .google.com/landing
[Úl imo acceso: 24-sep-2024].
[9] Facul a d’In o mà ica de Ba celona, “Guia pe a la Ges ió de P ojec es”, FIB
UPC, [Online]. Disponible en:
h ps://www. ib.upc.edu/si es/ ib/ iles/documen s/es udis/guia-gep- aco- ib.pd
[Úl imo acceso: 1-oc -2024].
[10] Facul a d’In o mà ica de Ba celona, “T abajo de Fin de G ado”, FIB UPC,
[Online]. Disponible en:
h ps://www. ib.upc.edu/es/es udios/g ados/g ado-en-ingenie ia-in o ma ica/ abaj
o-de- in-de-g ado [Úl imo acceso: 1-oc -2024].
[11] Mic oso , “Visual S udio Code”, Code Visual S udio, [Online]. Disponible
en: h ps://code. isuals udio.com [Úl imo acceso: 1-oc -2024].
[12] Sp ing, “Sp ing Boo F amewo k”, Sp ing.io, [Online]. Disponible en:
h ps://sp ing.io/p ojec s/sp ing-boo [Úl imo acceso: 1-oc -2024].
112
[13] Reac , “Reac : A Ja aSc ip Lib a y o Building Use In e aces”, Reac De ,
[Online]. Disponible en: h ps://es. eac .de / [Úl imo acceso: 1-oc -2024].
[14] SQLi e, “SQLi e Home Page”, SQLi e, [Online]. Disponible en:
h ps://www.sqli e.o g/index.h ml [Úl imo acceso: 1-oc -2024].
[15] Figma, “Figma Design Tool”, Figma, [Online]. Disponible en:
h ps://www. igma.com/ [Úl imo acceso: 1-oc -2024].
[16] Diag ams.ne , “diag ams.ne Online Diag amming Tool”, diag ams.ne ,
[Online]. Disponible en: h ps://app.diag ams.ne / [Úl imo acceso: 1-oc -2024].
[17] Ins agan , “Ins agan : P ojec Managemen Tool”, Ins agan , [Online].
Disponible en: h ps://www.ins agan .com/ [Úl imo acceso: 1-oc -2024].
[18] In oJobs, “Buscado de Sala ios”, [Online]. Disponible en:
h ps://sala ios.in ojobs.ne / [Úl imo acceso: 5-oc -2024].
[19] Amazon, “Dell XPS 15 9500 (La es Model)”, [Online]. Disponible en:
h ps://www.amazon.com/Dell-XPS-15-9500-i7-10750H/dp/B08LDZNRPC#:~: e
x =Abou %20 his%20i em.%20del%20XPS%2015%209500%20 [Úl imo acceso:
5-oc -2024].
[20] Mi e Wo kspace, "Alquile de despachos p i ados en Sa iá-San Ge asi",
[Online]. Disponible en:
h ps://mi ewo kspace.com/alquile -despachos-p i ados-sa ia-san ge asi-ba cel
ona/ [Úl imo acceso: 14-oc -2024].
[21] Vole e, "Plan illa de equisi os Vole e", [Online]. Disponible en:
h ps://www. ole e.o g/wp-con en /uploads/2018/12/ empla e_es.pd [Úl imo
acceso: 15-oc -2024].
[22] RandiKa ech Blog, "Ge you hands di y wi h Mic o-Se ices (MVCS)",
[Online]. Disponible en:
h p:// andika ech.blogspo .com/2019/09/ge -you -hands-di y-wi h-mic o-se ices
.h ml [Úl imo acceso: 17-dic-2024].
[23] Lope González, "Tema 9: In e ne - TIC I (1º Bachille a o)", [Online].
Disponible en:
h ps://lopegonzalez.es/eso-y-bachille a o/ ic-i-1o-bachille a o/ ema-9-in e ne /
[Úl imo acceso: 8-no -2024].
[24] O acle, "Desca gas de Ja a", [Online]. Disponible en:
h ps://www.o acle.com/ja a/ echnologies/downloads/?e =221886 [Úl imo acceso:
9-dic-2024].
[25] Apache Ma en, "Desca gas de Ma en", [Online]. Disponible en:
h ps://ma en.apache.o g/download.cgi [Úl imo acceso: 9-dic-2024].
113
[26] Node.js, "Desca ga Node.js", [Online]. Disponible en: h ps://nodejs.o g/en
[Úl imo acceso: 5-dic-2024].
[27] Apache Tomca , "Desca gas de Apache Tomca 10", [Online]. Disponible en:
h ps:// omca .apache.o g/download-10.cgi [Úl imo acceso: 5-ene-2024].
[28] Ma iaDB, "Desca gas de Ma iaDB", [Online]. Disponible en:
h ps://ma iadb.o g/download/ [Úl imo acceso: 7-dic-2024].
[29] Swagge Edi o , "Edi o Swagge ", [Online]. Disponible en:
h ps://edi o .swagge .io/ [Úl imo acceso: 14-dic-2024].
[30] Google Fo ms, “Cues iona io sob e los Obje i os de Desen olupamen
Sos enible (ODS)”, [Online]. Disponible en:
h ps://docs.google.com/ o ms/d/e/1FAIpQLS VgBxcxZ h7pB_OVRUNGQmRpF
DFlhAskukNcpQBowLRF4-sA/ iew o m [Úl imo acceso: 8-oc -2024].
114