DESARROLLO DE UNA APLICACIÓN PARA LA
GESTIÓN DE BÚSQUEDAS DE CIENTÍFICOS Y
ORGANISMOS
TRABAJO FIN DE GRADO
CURSO 2022-2023
ALBERTO HERRERA GARCÍA
GERALD LIMA MENDIA
DIRECTORES:
ANTONIO SARASA CABEZUELO
COVADONGA DÍEZ SANMARTÍN
GRADO EN INGENIERÍA INFORMÁTICA
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
Sep iemb e 2023
DEVELOPMENT OF AN APPLICATION FOR THE
SEARCH MANAGEMENT OF SCIENTISTS AND
ORGANIZATIONS
FINAL DEGREE PROJECT REPORT
COMPUTER ENGINEERING DEGREE
AUTHORS:
ALBERTO HERRERA GARCÍA
GERALD LIMA MENDIA
DIRECTED BY
ANTONIO SARASA CABEZUELO
COVADONGA DÍEZ SANMARTÍN
COMPUTER ENGINEERING DEGREE
FACULTY OF COMPUTER SCIENCE
COMPLUTENSE UNIVERSITY OF MADRID
SEPTEMBER 2023
A odos nues os se es que idos,
que nos animan a segui luchando
po nues os sueños.
2
AGRADECIMIENTOS
En p ime luga , nos gus a ía da las g acias a nues os di ec o es de p oyec o, An onio
Sa asa y Co adonga Díez, quienes nos die on la opo unidad de ealiza es e abajo.
Así mismo, que emos ag adece a nues as mad es An onia y Angélica, y a nues os
pad es An onio y Ge mán odo el apoyo incondicional que nos lle áis dando oda la ida.
A nues os he manos Se gio y Jhoel y a nues as he manas Ca olina y Jessica, que se
han in e esado y p eocupado po noso os en odo momen o.
A nues as abuelas Ru ina y Ma a que son nues os eso os y siemp e quie en lo mejo
pa a noso os.
Y po úl imo a los abuelos Ginés, An onio y Gabina quienes, a pesa de no pode es a
en es e momen o de nues a ida pe sonal y es udian il, nos dedica on odo su iempo,
es ue zo y ca iño a con e i nos en las pe sonas que somos y se emos en el u u o.
3
RESUMEN
Es e p oyec o su ge de la necesidad de c ea un espacio donde los cien í icos de odo el
mundo puedan encon a p oyec os apasionan es en los que pode pa icipa y, al mismo
iempo, donde los o ganismos puedan publica sus p oyec os y encon a cien í icos
cuali icados pa a pode hace los ealidad.
Ac ualmen e, exis en una g an can idad de pla a o mas donde pode encon a empleo
de cualquie ipo y pa a cualquie p o esión. Sin emba go, en es e abajo de in de g ado se ha
desa ollado un sis ema con el obje i o de cen aliza a odos los cien í icos y o ganismos
cien í icos en un en o no donde pode encon a se y colabo a de o ma más accesible. Pa a
ello, cada cien í ico puede ealiza una publicación y cada o ganismo puede publica sus
p oyec os. De es a mane a, el cien í ico puede ecibi ecomendaciones de p oyec os en los
que pode pa icipa y el o ganismo puede ecibi ecomendaciones de cien í icos que pueden
inco po a se a sus p oyec os.
Palab as cla e
Ciencia, cien í ico, o ganismo, p oyec o cien í ico, in es igación y aplicación web.
4
ABSTRACT
This p ojec a ises om he need o c ea e a space whe e scien is s om all o e he
wo ld can ind exci ing p ojec s in which hey can pa icipa e and, a he same ime, whe e
o ganiza ions can publish hei p ojec s and ind quali ied scien is s o make hem a eali y.
Cu en ly, he e a e a la ge numbe o pla o ms whe e you can ind employmen o any
kind and o any p o ession. Howe e , in his inal deg ee p ojec , a sys em has been de eloped
wi h he aim o cen alizing all scien is s and scien i ic o ganiza ions in an en i onmen whe e
hey can mee and collabo a e in a mo e accessible way. To do his, each scien is can make a
publica ion and each o ganism can publish i s p ojec s. In his way, he scien is can ecei e
ecommenda ions o p ojec s in which he can pa icipa e and he o ganism can ecei e
ecommenda ions om scien is s who can join his p ojec s.
Keywo ds
Science, scien is , o ganism, scien i ic p ojec , esea ch and web applica ion.
5
ÍNDICE DE CONTENIDOS
Capí ulo 1 - In oducción......................................................................................................... 1
1.1 Mo i ación........................................................................................................................1
1.2 Obje i os...........................................................................................................................2
1.3 Es uc u a de la memo ia............................................................................................... 2
1.4 Me odología.....................................................................................................................4
1.4.1 Plani icación del p oyec o.................................................................................... 4
1.4.2 O ganización del abajo...................................................................................... 5
Chap e 1 - In oduc ion............................................................................................................ 6
1.1 Mo i a ion.........................................................................................................................6
1.2 Goals................................................................................................................................. 7
1.3 S uc u e o he epo .....................................................................................................7
1.4 Me hodology....................................................................................................................9
1.4.1 P ojec planning......................................................................................................9
1.4.2 Wo k plan...............................................................................................................10
Capí ulo 2 - Es ado del a e....................................................................................................12
2.1 Resea chGa e................................................................................................................12
2.2 Academia.edu.............................................................................................................. 12
2.3 Mendeley........................................................................................................................13
2.4 SciP o iles.........................................................................................................................13
Capí ulo 3 - Tecnología empleada.......................................................................................14
3.1 Angula ............................................................................................................................14
3.2 Boo s ap.........................................................................................................................15
3.3 CSS...................................................................................................................................15
3.4 DBea e .......................................................................................................................... 15
3.5 Fi ebase...........................................................................................................................16
3.6 Gi .................................................................................................................................... 16
3.7 Gi Hub............................................................................................................................. 16
3.8 HTML................................................................................................................................ 17
3.9 Ja a Sp ing Boo ............................................................................................................17
3.10 Node.js.......................................................................................................................... 17
6
3.11 NPM............................................................................................................................... 18
3.12 Pos g eSQL....................................................................................................................18
3.13 Pos man........................................................................................................................ 18
3.14 Visual S udio Code...................................................................................................... 19
Capí ulo 4 - Especi icación de equisi os.............................................................................. 20
4.1 Ac o es............................................................................................................................20
4.2 Módulos uncionales..................................................................................................... 20
4.2.1 Módulo Cien í ico................................................................................................. 21
4.2.2 Módulo O ganismo...............................................................................................31
4.2.3 Módulo Adminis ado ..........................................................................................40
4.2.4 Módulo Cuen a.....................................................................................................53
Capí ulo 5 - A qui ec u a y modelo de da os.......................................................................60
5.1 A qui ec u a y modelo de la aplicación....................................................................60
5.2 Pa ones de diseño........................................................................................................61
5.2.1 Capa de p esen ación........................................................................................ 61
5.2.2 Capa de negocio.................................................................................................62
5.3 Modelo de da os...........................................................................................................64
5.3.1 Modelo En idad-Relación....................................................................................64
5.3.2 Implemen ación de la base de da os...............................................................65
5.3.2.1 Usua io...........................................................................................................65
5.3.2.2 Cien í ico.......................................................................................................66
5.3.2.3 O ganismo.................................................................................................... 67
5.3.2.4 Publicación...................................................................................................68
5.3.2.5 P oyec o........................................................................................................69
5.3.2.6 Asignación....................................................................................................71
Capí ulo 6 - Diseño y uncionalidades...................................................................................72
6.1 Es ilos...............................................................................................................................72
6.2 Funcionalidades de la aplicación...............................................................................74
6.2.1 Regis o de usua io............................................................................................... 76
6.2.2 Inicio de sesión......................................................................................................79
6.2.3 Módulo Cien í ico................................................................................................. 82
6.2.3.1 C ea publicación........................................................................................82
6.2.3.2 Mis publicaciones........................................................................................ 83
7
6.2.3.3 Edi a publicación........................................................................................84
6.2.3.4 Elimina publicación.................................................................................... 86
6.2.3.5 Busca o ganismo.........................................................................................87
6.2.3.6 Recomendaciones de p oyec os..............................................................90
6.2.4 O ganismo............................................................................................................. 91
6.2.4.1 Publica p oyec o........................................................................................ 91
6.2.4.2 Mis p oyec os................................................................................................92
6.2.4.3 Edi a p oyec o............................................................................................ 93
6.2.4.4 Elimina p oyec o......................................................................................... 96
6.2.4.5 Busca cien í ico...........................................................................................97
6.2.4.6 Recomendaciones de cien í icos..............................................................98
6.2.9 Adminis ado ........................................................................................................ 99
6.2.9.1 Lis a publicaciones..................................................................................... 99
6.2.9.2 Edi a publicación......................................................................................100
6.2.9.3 Elimina publicación.................................................................................. 102
6.2.9.4 Reac i a publicación...............................................................................104
6.2.9.5 Lis a usua ios.............................................................................................. 105
6.2.9.6 Edi a usua io.............................................................................................. 106
6.2.9.7 Elimina usua io...........................................................................................110
6.2.9.8 Reac i a usua io....................................................................................... 112
6.2.9.9 Lis a p oyec os.......................................................................................... 114
6.2.9.10 Edi a p oyec o........................................................................................ 115
6.2.9.11 Elimina p oyec o..................................................................................... 117
6.2.9.12 Reac i a p oyec o..................................................................................118
6.3 API REST........................................................................................................................ 119
6.3.1 Regis o.................................................................................................................122
6.3.2 Cien í ico..............................................................................................................122
6.3.3 O ganismo........................................................................................................... 124
6.3.4 Publicación..........................................................................................................125
6.3.5 P oyec os............................................................................................................. 127
Capí ulo 7 - Conclusiones y T abajo u u o......................................................................... 129
7.1 Conclusiones................................................................................................................ 129
7.2 T abajo u u o............................................................................................................... 130
8
Figu a 36: Reac i a o ganismo............................................................................................. 165
Figu a 37: Lis a odos p oyec os............................................................................................166
Figu a 38: Edi a p oyec o.......................................................................................................167
Figu a 39: Elimina p oyec o................................................................................................... 167
Figu a 40: Reac i a p oyec o................................................................................................168
15
ÍNDICE DE TABLAS
Tabla 4.1: Caso de uso - Cien í ico - C ea publicación.......................................................22
Tabla 4.2: Caso de uso - Cien í ico - Lis a publicaciones.................................................... 23
Tabla 4.3: Caso de uso - Cien í ico - Edi a publicación.......................................................24
Tabla 4.4: Caso de uso - Cien í ico - Elimina publicación................................................... 25
Tabla 4.5: Caso de uso - Cien í ico - Busca publicación.....................................................26
Tabla 4.6: Caso de uso - Cien í ico - Busca o ganismo........................................................27
Tabla 4.7: Caso de uso - Cien í ico - Mi p oyec o................................................................. 28
Tabla 4.8: Caso de uso - Cien í ico - Mos a p oyec o........................................................ 29
Tabla 4.9: Caso de uso - Cien í ico - Recomendaciones de p oyec os.............................30
Tabla 4.10: Caso de uso - O ganismo - Publica p oyec o...................................................32
Tabla 4.11: Caso de uso - O ganismo - Lis a p oyec os.......................................................33
Tabla 4.12: Caso de uso - O ganismo - Edi a p oyec o.......................................................34
Tabla 4.13: Caso de uso - O ganismo - Elimina p oyec o....................................................35
Tabla 4.14: Caso de uso - O ganismo - Busca p oyec o..................................................... 36
Tabla 4.15: Caso de uso - O ganismo - Busca cien í ico..................................................... 37
Tabla 4.16: Caso de uso - O ganismo - Mos a cien í ico....................................................38
Tabla 4.17: Caso de uso - O ganismo - Recomendaciones de cien í icos........................ 39
Tabla 4.18: Caso de uso - Adminis ado - Lis a odas publicaciones................................41
Tabla 4.19: Caso de uso - Adminis ado - Edi a publicación............................................. 42
Tabla 4.20: Caso de uso - Adminis ado - Elimina publicación..........................................43
Tabla 4.21: Caso de uso - Adminis ado - Reac i a publicación...................................... 44
Tabla 4.22: Caso de uso - Adminis ado - Lis a odos usua ios...........................................45
Tabla 4.23: Caso de uso - Adminis ado - Edi a usua io......................................................46
Tabla 4.24: Caso de uso - Adminis ado - Elimina usua io.................................................. 47
Tabla 4.25: Caso de uso - Adminis ado - Reac i a usua io...............................................48
Tabla 4.26: Caso de uso - Adminis ado - Lis a odos p oyec os....................................... 49
Tabla 4.27: Caso de uso - Adminis ado - Edi a p oyec o..................................................50
Tabla 4.28: Caso de uso - Adminis ado - Elimina p oyec o...............................................51
Tabla 4.29: Caso de uso - Adminis ado - Reac i a p oyec o...........................................52
Tabla 4.30: Caso de uso - Cuen a - Regis a usua io........................................................... 54
16
Tabla 4.31: Caso de uso - Cuen a - Inicia sesión.................................................................. 55
Tabla 4.32: Caso de uso - Cuen a - Ve pe il........................................................................ 56
Tabla 4.33: Caso de uso - Cuen a - Edi a pe il.................................................................... 57
Tabla 4.34: Caso de uso - Cuen a - Mos a FAQ.................................................................. 58
Tabla 4.35: Caso de uso - Cuen a - Mos a con ac o......................................................... 59
Tabla 6.1: Endpoin API Regis o.............................................................................................122
Tabla 6.2: Endpoin s API Cien í icos.......................................................................................124
Tabla 6.3: Endpoin s API O ganismos.................................................................................... 125
Tabla 6.4: Endpoin s API Publicaciones.................................................................................127
Tabla 6.5: Endpoin API P oyec os......................................................................................... 128
17
Capí ulo 1 - In oducción
En es e capí ulo uno de la memo ia, se p ocede a o ece , en p ime a ins ancia, una
explicación ace ca de la mo i ación de desa olla la aplicación y cuáles han sido sus obje i os.
Pos e io men e, se p opo ciona una desc ipción an o de la es uc u a po capí ulos de la
memo ia como de la me odología ealizada pa a elabo a la aplicación y su consecuen e
o ganización del abajo.
1.1 Mo i ación
En el en o no cien í ico ac ual, la iden i icación y selección de p oyec os que se ajus en
a las necesidades y me as de los cien í icos de mane a p ecisa y la búsqueda e icien e de
p o esionales cien í icos po pa e de los o ganismos públicos y p i ados ep esen an un
p oblema pa a ambas en idades. Es e p oblema se acen úa aún más en la ac ualidad debido a
que las á eas de in es igación cada ez son más complejas y los pe iles p o esionales en el
ámbi o cien í ico son cada ez más di e sos. Es as dos si uaciones ealmen e di icul an la
asociación en e los cien í icos y los p oyec os que o ecen los o ganismos.
Una mane a e ec i a de abo da es e p oblema pod ía se median e la consecución de
una pla a o ma que si a como pun o de encuen o en e los cien í icos y los o ganismos.
Pa a a a de esol e el p oblema, se plan ea el desa ollo de una pla a o ma web que
ac úe como un espacio colabo a i o en e cien í icos y o ganismos. La pla a o ma debe in eg a
una base de da os su icien emen e amplia como pa a pode almacena publicaciones de
cien í icos y p oyec os de los o ganismos. En ella, los cien í icos se án capaces de busca
p oyec os que se alineen con sus in e eses y habilidades y, al mismo iempo, los o ganismos
pod án publica sus p oyec os de alladamen e, especi icando sus obje i os y equisi os. La
c eación de es a pla a o ma web omen a ía la colabo ación in e disciplina ia y con ibui ía al
a ance de la ciencia y las in es igaciones cien í icas.
1
1.2 Obje i os
El obje i o p incipal de es e p oyec o e a desa olla una pla a o ma que pe mi ie a la
ges ión de búsquedas de cien í icos y p oyec os.
A con inuación se enume an, de mane a más p ecisa, los obje i os especí icos plan eados en
el p oyec o:
1.- Desa olla una aplicación web que pe mi a a los cien í icos ealiza publicaciones
pa a pode encon a el p oyec o que cub a sus necesidades y que, al mismo iempo, pe mi a a
los o ganismos localiza e ec i os pa a lle a a cabo sus p oyec os.
2.- Desa olla una API REST que eciba pe iciones desde la aplicación web y que
incluya oda la lógica de negocio.
3.- Facili a al adminis ado de la aplicación el con ol o al sob e los usua ios,
publicaciones de los cien í icos y p oyec os de los o ganismos.
1.3 Es uc u a de la memo ia
Es a memo ia se encuen a es uc u ada po capí ulos según cada una de los apa ados
que con o man la aplicación:
Capí ulo 1: In oducción
En es e capí ulo se ealiza una in oducción del abajo e ec uado, así como su
mo i ación y sus obje i os. También se ealiza una desc ipción de la es uc u a de la memo ia y
se a a la me odología empleada pa a el desa ollo del p oyec o, la plani icación del p oyec o y
la o ganización del abajo.
Capí ulo 2: Es ado del a e
En es e capí ulo se ealiza una e isión y una b e e explicación de algunos p og amas y
aplicaciones ya exis en es que engan una uncionalidad simila a la aplicación desa ollada en
2
es e abajo.
Capí ulo 3: Tecnología empleada
En es e capí ulo se abo da una a una odas las ecnologías que han sido necesa ias y
que se han empleado pa a la implemen ación de la aplicación.
Capí ulo 4: Especi icación de equisi os
En es e capí ulo se a a la especi icación de equisi os de la aplicación. Es e capí ulo se
cen a en los es ac o es p incipales de la aplicación: cien í ico, o ganismo y adminis ado , así
como en sus casos de uso di ididos en módulos uncionales.
Capí ulo 5: A qui ec u a y modelo de da os
Es e capí ulo a a sob e la a qui ec u a empleada pa a o ma la aplicación y los
pa ones de diseño u ilizados pa a ello. Además, se de alla el p oceso median e el cual se
ob iene la pe sis encia de la in o mación que maneja la aplicación. Se expone el diag ama
en idad- elación y se explica su implemen ación en la base de da os elacional.
Capí ulo 6: Diseño y uncionalidades
Es e capí ulo desc ibe el diseño y las uncionalidades de la aplicación sepa ando la
aplicación web del se icio API REST.
Capí ulo 7: Conclusiones y abajo u u o
En es e capí ulo se exponen las conclusiones de la ealización del abajo y se plan ea
la di ección pa a el desa ollo del abajo u u o.
Capí ulo 8: Con ibuciones al p oyec o
En es e capí ulo se desa ollan, indi idualmen e, las con ibuciones al p oyec o po pa e
de cada uno de los miemb os del abajo.
3
Capí ulo 9: Bibliog a ía
Es e capí ulo incluye odos los ecu sos, enlaces y e e encias que han sido necesa ias
u iliza pa a la consecución del p oyec o.
Capí ulo 10: Apéndices
En es e úl imo capí ulo se p opo ciona la guía de uso de la aplicación web.
1.4 Me odología
El desa ollo del abajo se ha ealizado según la plani icación del p oyec o y
o ganización de abajo que se expone en el siguien e apa ado.
1.4.1 Plani icación del p oyec o
La plani icación del p oyec o iene dada po un o al de cua o ases.
1. In es igación y cap u a de equisi os
En es a ase inicial, se ha lle ado a cabo una in es igación ace ca del p oblema a
esol e . Es o implicaba la iden i icación de ca ac e ís icas, uncionalidades y es icciones que
enían impac o en el diseño y desa ollo del p oyec o. Toda es a in o mación ue ecogida en la
especi icación de equisi os.
2. Desa ollo de la aplicación
En es a ase, el equipo de abajo desa olló el código uen e que con o ma la aplicación
siguiendo las especi icaciones y es icciones in es igadas en la ase an e io .
El desa ollo del p oyec o ue di idido en a ios hi os:
● Hi o Inicial: C eación del p oyec o ( on -end y backend), gene ación de la base de
da os y sus en idades, y desa ollo las uncionalidades de: Regis o de usua io e Inicio
de sesión.
● P ime Hi o: Desa ollo de las siguien es uncionalidades de cien í ico: C ea , edi a ,
elimina , busca y lis a publicaciones.
● Segundo Hi o: Desa ollo de las siguien es uncionalidades de o ganismo: Publica ,
edi a y elimina p oyec o, busca cien í ico y ecomendaciones de cien í icos.
4
● Te ce Hi o: Desa ollo de las uncionalidades de cien í ico: Busca o ganismo y
ecomendaciones de p oyec os.
● Cua o Hi o: Desa ollo de las uncionalidades de adminis ado : Lis a , edi a , elimina y
eac i a publicaciones, usua ios y p oyec os.
3. P uebas
Es a ase se ha ealizado de mane a conjun a con el desa ollo del p oyec o.
En ella, los miemb os del equipo de desa ollo han adop ado un en oque
p oac i o ga an izando que cada uncionalidad nue a o co egida unciona a
según lo es ablecido an es de a anza a la desa olla la siguien e. Es a
es a egia con ibuyó a la es abilidad gene al del so wa e que se es aba
desa ollando.
4. Desa ollo de la memo ia
Es a úl ima ase se ha lle ado a cabo una ez inalizado el desa ollo de la
aplicación y ha implicado la documen ación comple a de odo el desa ollo del
p oyec o.
1.4.2 O ganización del abajo
Pa a la ealización del abajo se ha aplicado una me odología de abajo i e a i a inc emen al.
Cada i e ación ha enido una du ación ap oximada de dos semanas. Cada dos semanas, se ha
ealizado una eunión i ual a a és de ideollamada en la que se han alidado y p obado las
uncionalidades que han conseguido desa olla se y se han ijado nue os obje i os pa a la
semana siguien e.
Como el amaño del equipo de abajo ha sido únicamen e de dos pe sonas, ambos
miemb os del equipo han es ado en con ac o di ec o dia iamen e a lo la go de las semanas ía
mensaje ía ins an ánea. De es a mane a, la comunicación en e los dos ha sido muy luida y ha
pe mi ido ob ene y p opo ciona eedback de mane a con inua. G acias a es o, ha sido posible
a a en cues ión de ho as cualquie ipo de incon enien e o duda que ha su gido du an e el
desa ollo.
5
Chap e 1 - In oduc ion
In his chap e one o he epo , we p oceed o o e , in he i s ins ance, an explana ion
abou he mo i a ion o de elop he applica ion and wha i s objec i es ha e been.
Subsequen ly, a desc ip ion is p o ided bo h o he s uc u e by chap e s o he epo and o
he me hodology used o de elop he applica ion and i s consequen o ganiza ion o wo k.
1.1 Mo i a ion
In he cu en scien i ic en i onmen , he iden i ica ion and selec ion o p ojec s ha i he
needs and goals o scien is s in a p ecise manne and he e icien sea ch o scien i ic
p o essionals by public and p i a e o ganiza ions ep esen a p oblem o bo h en i ies. This
p oblem is accen ua ed e en mo e oday because he a eas o esea ch a e inc easingly
complex and p o essional p o iles in he scien i ic ield a e inc easingly di e se. These wo
si ua ions eally make i di icul o scien is s o pa ne wi h he p ojec s o e ed by o ganisms.
An e ec i e way o add ess his p oblem could be by achie ing a pla o m ha se es as
a mee ing poin be ween scien is s and o ganisms.
To y o sol e he p oblem, he de elopmen o a web pla o m ha ac s as a
collabo a i e space be ween scien is s and o ganisms is p oposed. The pla o m should
in eg a e a da abase la ge enough o be able o s o e publica ions o scien is s and p ojec s o
he agencies. In i , scien is s will be able o sea ch o p ojec s ha align wi h hei in e es s and
skills and, a he same ime, agencies will be able o publish hei p ojec s in de ail, speci ying
hei objec i es and equi emen s. The c ea ion o his web pla o m would os e
in e disciplina y collabo a ion and con ibu e o he ad ancemen o science and scien i ic
esea ch.
6
1.2 Goals
The main objec i e o his p ojec was o de elop a pla o m ha would allow he
managemen o sea ches o scien is s and p ojec s.
The speci ic objec i es se ou in he p ojec a e lis ed mo e p ecisely below:
1.- De elop a web applica ion ha allows scien is s o make publica ions in o de o ind
he p ojec ha mee s hei needs and, a he same ime, allows agencies o loca e pe sonnel o
ca y ou hei p ojec s.
2.- De elop a REST API ha ecei es eques s om he web applica ion and includes all
he business logic.
3.- P o ide he adminis a o o he applica ion wi h o al con ol o e use s, publica ions
o scien is s and p ojec s o o ganiza ions.
1.3 S uc u e o he epo
This epo is s uc u ed by chap e s acco ding o each o he sec ions ha make up he
applica ion:
Chap e 1: In oduc ion
This chap e in oduces he wo k done, as well as i s mo i a ion and objec i es. I also
desc ibes he s uc u e o he epo and discusses he me hodology used o he de elopmen
o he p ojec , he planning o he p ojec and he o ganiza ion o wo k.
7
Capí ulo 3 - Tecnología empleada
En es e capí ulo, se p opo ciona una desc ipción ace ca de odas las ecnologías que
han sido u ilizadas du an e el desa ollo del abajo, o denadas po o den al abé ico.
3.1 Angula
Es un amewo k de desa ollo de aplicaciones web c eado po Google [5]. Se basa en
el lenguaje de p og amación TypeSc ip y o ece un en oque modula es uc u ado pa a
desa olla aplicaciones web dinámicas de una sóla página (Single-page applica ion). Angula
o ece un desa ollo basado en componen es, implemen a el pa ón Modelo-Vis a-Modelo de
is a (Model-View-ViewModel) y p opo ciona he amien as pa a ges iona el es ado de la
aplicación, en u amien o, comunicación con se ido es y manipulación del DOM (Documen
Objec Model).
Angula p opo ciona ambién su p opio sis ema de ges ión de pe iciones HTTP a a és
del módulo H pClien que o ma pa e de @angula /common/h p. Es e módulo pe mi e ealiza
pe iciones HTTP de una o ma e icien e a se ido es emo os [6]. Además, pe mi e maneja
espues as, ges iona e o es y ealiza ans o maciones de da os.
O a he amien a que u iliza Angula es Angula CLI. Es una in e az de línea de
comandos (Command Line In e ace) basada en Node.js que simpli ica y agiliza el desa ollo de
aplicaciones Angula [7]. Facili a la c eación de componen es, módulos y se icios así como la
compilación y la ejecución de p uebas.
Pa a el desa ollo del abajo se ha u ilizado la e sión 16.1.8 an o de Angula como de
Angula CLI.
14
3.2 Boo s ap
Es un amewo k u ilizado en diseño F on -End. Boo s ap p opo ciona un conjun o de
clases y componen es con es ilos p ediseñados y u ilidades que acili an la c eación de
in e aces de usua io esponsi e y a ac i as [8]. Su p incipal u ilidad es la de es anda iza y
agiliza la c eación de in e aces web.
La e sión de Boo s ap u ilizada pa a hace las in e aces de la aplicación web del
abajo ha sido la e sión 5.3.1.
3.3 CSS
CSS (Cascading S yle Shee s) es un lenguaje de diseño u ilizado pa a ges iona la
p esen ación y aspec o isual de los documen os HTML y XML de una página web [9] . CSS
pe mi e sepa a la es uc u a del con enido de la página de su diseño y apa iencia. Pa a ello,
u iliza una se ie de selec o es y eglas que de inen cómo se deben isualiza los elemen os
HTML en cuan o a posicionamien o, má genes, colo es, uen e, e c.
La e sión de CSS u ilizada en el abajo ha sido CSS3.
3.4 DBea e
Es una he amien a de ges ión de bases de da os. Pe mi e abaja con una g an
a iedad de sis emas de ges ión de bases de da os (SGBD oDBMS,Da abase Managemen
Sys em) o eciendo una in e az g á ica e incluyendo sopo e mul ipla a o ma [10]. En él, los
desa ollado es pueden ges iona bases de da os, ealiza consul as SQL, a a da os, diseña
esquemas, e c.
El sis ema de ges ión de bases de da os u ilizado en el abajo ha sido Pos g eSQL.
15
3.5 Fi ebase
Es una pla a o ma de desa ollo de aplicaciones web y mó iles en la nube. Es o ecida
po Google, es á in eg ada y espaldada po Google Cloud Pla o m (GCP) y p opo ciona una
g an a iedad de se icios que pueden se de u ilidad du an e el desa ollo de una aplicación
mó il o de una aplicación web [11]. Algunos ejemplos de es os se icios son: Au hen ica ion
(au en icación de usua ios) [12], Google Analy ics (análisis de da os) [13] y Fi ebase Real ime
Da abase (bases de da os en iempo eal) [14].
En el caso de la aplicación web, se ha u ilizado el se icio Au hen ica ion en el egis o
de usua ios e inicio de sesión pa a ges iona la au en icación y au o ización de los usua ios.
3.6 Gi
Es un sis ema so wa e de con ol de e siones dis ibuido (DVCS, Dis ibu ed Con ol
Ve sion Sys em) que acili a el abajo en pa alelo en e miemb os del equipo de desa ollo [15].
O ece a cada miemb o la posibilidad de abaja en el código de o ma local e independien e a
a és de una copia del eposi o io y, pos e io men e, usiona los cambios ealizados en una
e sión p incipal ubicada en el eposi o io online compa ido. Es a es uc u a descen alizada
compues a po amas de desa ollo acili a la ges ión de e siones de la aplicación y p omue e
la colabo ación en e los miemb os del equipo.
La e sión de Gi que se ha u ilizado du an e el abajo ha sido la e sión
2.39.1.windows.1.
3.7 Gi Hub
Es una pla a o ma en línea que o ece un luga donde pode almacena , ges iona y
colabo a en p oyec os so wa e [16]. Es os p oyec os se si úan en eposi o ios que son
accesibles po los desa ollado es an o de mane a pública como p i ada. Es á basada en Gi y
o ece uncionalidades como in eg ación con ínua, seguimien o de p oblemas, despliegue
au omá ico y con ol de e siones.
16
3.8 HTML
HTML (Hype Tex Ma kup Language) es un lenguaje de ma cado u ilizado pa a desc ibi
el con enido de una página web [17]. A a és de sus elemen os y e ique as, pe mi e la
inclusión, en e o os, de ex o, imágenes, ídeos, enlaces, e c. El código HTML es in e p e ado
po los na egado es web pa a o ma la base de las páginas web. Aunque puede inclui código
ace ca de los es ilos de los elemen os, gene almen e se combina con una hoja de es ilos CSS
pa a de ini la apa iencia de una página web.
La úl ima e sión lanzada y con e ida en es ánda es HTML5 [18], que es la misma
e sión que se ha u ilizado en la implemen ación del F on -End de la aplicación web.
3.9 Ja a Sp ing Boo
Es un amewo k de desa ollo u ilizado p incipalmen e en el lado Backend de la
aplicación. Su unción es la de simpli ica la c eación de se icios web, mic ose icios, API
REST que ges ionan la lógica de negocio y pe mi en la in e acción an o con la base de da os
como con el lado F on -End [19].
En la aplicación, se ha u ilizado la e sión 11 de Ja a [20] y la e sión 2.3.2.RELEASE
de Sp ing Boo .
3.10 Node.js
Es el en o no de ejecución de Ja aSc ip [21] en el lado del se ido . En el con ex o de
Angula , Node.js [22] se u iliza pa a desplega y con igu a aplicaciones Angula en se ido es,
pa a ejecu a sc ip s de c eación y desa ollo y pa a ges iona dependencias median e NPM
(Node Package Manage ). Todas es as unciones hacen que Node.js sea esencial en el
conjun o de ecnologías que con o man el desa ollo de aplicaciones Angula .
En el abajo, se ha u ilizado la e sión 18.17.0 de Node.js.
17
3.11 NPM
NPM o Node Package Manage [23] es el ges o o icial de paque es de Node.js. Se
enca ga de dis ibui y ges iona paque es Ja aSc ip de so wa e. Es os paque es son una
especie de biblio ecas p ede inidas de código que se u ilizan pa a aho a es ue zo y iempo
du an e el desa ollo. G acias a NPM, se pueden ins ala , adminis a y ac ualiza es as
biblio ecas de o ma sencilla.
Se ha u ilizado en el abajo la e sión 9.8.1 de NPM.
3.12 Pos g eSQL
Es un sis ema de ges ión de bases de da os elacional de código abie o [24]. Su
comunidad ealiza con ibuciones ac i amen e pa a desa olla y mejo a la pla a o ma. Se a a
de un sis ema capaz de ges iona g andes olúmenes de da os y de ealiza consul as SQL
complejas. Además, o ece sopo e na i o pa a da os en o ma o JSON [25] y pa a las
ansacciones ACID (A omicidad, Consis encia, Aislamien o y Du abilidad) [26]. Po es os
mo i os, Pos g eSQL es una g an elección en p oyec os que equie an un manejo sólido de la
in o mación.
Se ha u ilizado la e sión 15.2 de Pos g eSQL du an e el desa ollo de la aplicación.
3.13 Pos man
Es una he amien a u ilizada po los desa ollado es de aplicaciones pa a documen a y
ealiza p uebas en APIs (Applica ion P og amming In e ace) [27]. Dispone de una in e az
g á ica que pe mi e p oba , depu a se icios y alida sus espues as median e la c eación, el
en ío y la ecepción de pe iciones HTTP a a és de APIs. También o ece ca ac e ís icas
adicionales como la posibilidad de o ganiza las pe iciones en colecciones y de au oma iza
lujos de abajo con sc ip s.
La e sión de Pos man [28] u ilizada ha sido la e sión 10.17.3.
18
3.14 Visual S udio Code
Es un edi o de código uen e desa ollado po Mic oso . Dispone de una amplia gama
de ex ensiones que pe mi en adap a el edi o a las necesidades del p oyec o y del lenguaje de
p og amación. Además, pe mi e la in eg ación con sis emas de con ol de e siones como Gi e
incluye la posibilidad de depu a el código di ec amen e desde el edi o .
La e sión de Visual S udio Code [29] u ilizada pa a ealiza el código del abajo ue la
e sión 1.81.1.
19
Capí ulo 4 - Especi icación de equisi os
En es e capí ulo se ealiza una especi icación, en p ime luga , de los ac o es que
in e ienen en la aplicación de es e abajo de in de g ado y, en segundo luga , de cada uno de
los módulos uncionales que la componen.
4.1 Ac o es
Los es ac o es que in e ienen en la aplicación son:
1. Cien í ico: Es e ac o ep esen a al usua io que u iliza la aplicación con el obje i o de ealiza
publicaciones pa a pode inco po a se y pa icipa en p oyec os cien í icos.
2. O ganismo: Es e ac o se e ie e a las o ganizaciones e ins i uciones que u ilizan la aplicación
pa a publica p oyec os que quie an ealiza con el obje i o de encon a cien í icos que
quie an pa icipa en ellos.
3. Adminis ado : Es e ac o es el enca gado de ges iona y supe isa la aplicación en su
conjun o. Tiene acceso a odo el lis ado de usua ios de la aplicación, al lis ado de
publicaciones de cien í icos y al lis ado de p oyec os de o ganismos. Puede edi a , elimina y
eac i a cada elemen o de los es lis ados.
4.2 Módulos uncionales
Los casos de uso se han ag upado en cua o módulos según las uncionalidades
exclusi as que pueden ealiza cada uno de los usua ios, más un módulo adicional llamado
Cuen a pa a ecoge odas las ope aciones comunes pa a el cien í ico y el o ganismo.
● Módulo Cien í ico
● Módulo O ganismo
● Módulo Adminis ado
● Módulo Cuen a
20
4.2.1 Módulo Cien í ico
El módulo cien í ico en uel e odas las uncionalidades que puede ealiza el cien í ico.
Como se obse a en la Figu a 4.1, es as incluyen: C ea publicación, Lis a
publicaciones, Edi a publicación, Elimina publicación, Busca publicación, Busca o ganismo,
Mi p oyec o, Mos a p oyec o y Recomendaciones de p oyec os.
Figu a 4.1: Diag ama de casos de uso del módulo Cien í ico
A con inuación, se lis an los casos de uso asociados a es e módulo.
(Desde la Tabla 4.1 has a la Tabla 4.9)
21
Requisi o
C ea publicación
Iden i icado
1.1
P io idad
Al a
P econdición
No debe exis i o a publicación con el mismo iden i icado .
Desc ipción
Se da de al a una publicación en la aplicación pa a que el cien í ico
pueda busca p oyec os y ecibi ecomendaciones.
En ada
Tí ulo, desc ipción, especialidad y expe iencia (años y meses)
Salida
Mensaje eme gen e de que la publicación se ha dado de c eado
co ec amen e
Secuencia no mal
Paso
Acción
1
Se le mues a al usua io un o mula io donde debe in oduci
odos los da os de en ada pa a c ea la publicación.
2
El usua io ellena el o mula io y hace click en “C ea ”.
Apa ece á un mensaje eme gen e p egun ando si es á
segu o de que e c ea la publicación. Debe hace click de
nue o en o o bo ón llamado ambién “C ea ”.
3
Se alida la in o mación in oducida y, si iene un o ma o
co ec o, se ealiza el al a de la publicación en la base de
da os.
Pos condición
Se hab á c eado una publicación en la aplicación.
Excepciones
Paso
Acción
2
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a la pan alla del
o mula io.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
Cien í ico
Tabla 4.1: Caso de uso - Cien í ico - C ea publicación
22
Requisi o
Lis a publicaciones
Iden i icado
1.2
P io idad
Media
P econdición
El cien í ico debe habe iniciado sesión.
Desc ipción
Se mues a en o ma de abla un lis ado de odas las publicaciones
c eadas po el cien í ico.
En ada
-
Salida
Lis ado de publicaciones del cien í ico
Secuencia no mal
Paso
Acción
1
El cien í ico inicia sesión en la aplicación.
2
El cien í ico hace click en la sección “Mis publicaciones”.
Pos condición
-
Excepciones
Paso
Acción
2
En caso de que el cien í ico no haya c eado ninguna
publicación, en luga de la abla se mos a á el siguien e
mensaje en pan alla:
“No exis en publicaciones.
Añade una nue a publicación en "C ea publicación".”
Ac o es
Cien í ico
Tabla 4.2: Caso de uso - Cien í ico - Lis a publicaciones
23
Requisi o
Recomendaciones de p oyec os
Iden i icado
1.9
P io idad
Al a
P econdición
El cien í ico debe habe iniciado sesión y debe habe c eado
al menos una publicación.
Desc ipción
Basado en la p o esión del cien í ico y en el ámbi o y
subámbi o de los p oyec os, se o ecen ecomendaciones de
p oyec os que pueden se de su in e és.
En ada
-
Salida
Recomendaciones de p oyec os ac i os en los que pode
pa icipa .
Secuencia no mal
Paso
Acción
1
El cien í ico debe hace click en la sección
“Recomendaciones de p oyec os”. Al ca ga la
página, se mues an au omá icamen e
ecomendaciones de p oyec os. El cien í ico,
puede hace click en el bo ón “+ In o mación” que
con iene cada ecomendación pa a e más
in o mación sob e ella.
Pos condición
Se mos a án ecomendaciones de p oyec os.
Excepciones
Paso
Acción
1
Si el cien í ico no ha c eado ninguna publicación
o no hay p oyec os ac i os elacionados con la
p o esión del cien í ico, no se mos a á ninguna
ecomendación po pan alla.
Ac o es
Cien í ico
Tabla 4.9: Caso de uso - Cien í ico - Recomendaciones de p oyec os
30
4.2.2 Módulo O ganismo
El módulo o ganismo en uel e odas las uncionalidades que puede ealiza el
o ganismo.
Es as incluyen: Publica p oyec o, Lis a p oyec os, Edi a p oyec o, Elimina p oyec o,
Busca p oyec o, Busca cien í ico, Mos a cien í ico y Recomendaciones de cien í icos.
(Ve Figu a 4.2).
Figu a 4.2: Diag ama de casos de uso del módulo O ganismo
A con inuación, se lis an los casos de uso asociados a es e módulo.
(Desde la Tabla 4.10 has a la Tabla 4.17)
31
Requisi o
Publica p oyec o
Iden i icado
2.1
P io idad
Al a
P econdición
No debe exis i o o p oyec o con el mismo iden i icado .
Desc ipción
Se da de al a un p oyec o en la aplicación
En ada
Tí ulo, desc ipción, capacidad de in eg an es, ámbi o, subámbi o y
du ación del p oyec o.
Salida
Mensaje eme gen e de que el p oyec o se ha c eado co ec amen e.
Secuencia no mal
Paso
Acción
1
Se mues a un o mula io con oda la in o mación
eque ida pa a pode publica el p oyec o.
2
El o ganismo ellena el o mula io y hace click en
“Publica ”. Apa ece á un mensaje eme gen e p egun ando
si es á segu o de que e publica el p oyec o. Debe hace
click de nue o en o o bo ón llamado ambién “Publica ”.
3
Se alida la in o mación in oducida y, si iene un o ma o
co ec o, se ealiza el al a del p oyec o en la base de da os
Pos condición
Se hab á publicado un p oyec o en la aplicación.
Excepciones
Paso
Acción
2
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a la pan alla del
o mula io.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
O ganismo
Tabla 4.10: Caso de uso - O ganismo - Publica p oyec o
Requisi o
Lis a p oyec os
32
Iden i icado
2.2
P io idad
Media
P econdición
El o ganismo debe habe iniciado sesión.
Desc ipción
Se mues a en o ma de abla un lis ado de odos los p oyec os
c eados po el o ganismo.
En ada
-
Salida
Lis ado de p oyec os del o ganismo
Secuencia no mal
Paso
Acción
1
El o ganismo inicia sesión en la aplicación
2
El o ganismo hace click en la sección “Mis p oyec os”.
Pos condición
-
Excepciones
Paso
Acción
2
En caso de que el o ganismo no haya publicado ningún
p oyec o, en luga de la abla se mos a á el siguien e
mensaje en pan alla:
“No exis en p oyec os.
Añade un nue o p oyec o en "Publica p oyec o".
Ac o es
O ganismo
Tabla 4.11: Caso de uso - O ganismo - Lis a p oyec os
Requisi o
Edi a p oyec o
33
Iden i icado
2.3
P io idad
Media
P econdición
El p oyec o que se quie e edi a debe exis i en la base de da os y
debe es a ac i o.
Desc ipción
Se modi ican los da os de un p oyec o de mane a pa cial o o al.
En ada
Iden i icado del p oyec o.
Salida
Mensaje eme gen e con i mando que los da os del p oyec o han sido
edi ados co ec amen e.
Secuencia no mal
Paso
Acción
1
Se mues a un o mula io al o ganismo con odos los da os
modi icables del p oyec o que se desea edi a .
2
El o ganismo modi ica aquellos da os que necesi e y hace
click en el bo ón “Edi a ”. Apa ece á un mensaje
eme gen e p egun ando si es á segu o de que e edi a el
p oyec o. Debe hace click de nue o en o o bo ón llamado
ambién “Edi a ”.
3
Los da os modi icados se alidan y, pos e io men e, se
ac ualizan en la base de da os.
Pos condición
Se hab án edi ado los da os del p oyec o en cues ión.
Excepciones
Paso
Acción
2
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a la pan alla del
o mula io.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
O ganismo
Tabla 4.12: Caso de uso - O ganismo - Edi a p oyec o
Requisi o
Elimina p oyec o
34
Iden i icado
2.4
P io idad
Al a
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se ealiza una baja lógica del p oyec o, cambiando a also su es ado
de ac i o.
En ada
Iden i icado del p oyec o.
Salida
Mensaje eme gen e con i mando que el p oyec o se ha dado de baja
co ec amen e.
Secuencia no mal
Paso
Acción
1
El o ganismo accede a su lis ado de p oyec os y
selecciona aquel p oyec o que desea elimina . Apa ece un
mensaje eme gen e p egun ando si es á segu o de que e
elimina ese p oyec o.
2
El o ganismo hace click en el bo ón “Elimina ”.
3
Se comp ueba que exis a el p oyec o y se da de baja de la
base de da os.
Pos condición
Se hab á dado de baja un p oyec o en la aplicación.
Excepciones
Paso
Acción
1
En el mensaje eme gen e, apa ece ambién o a opción
llamada “Cancela ”. Si se hace click en ella, el mensaje
eme gen e desapa ece y se uel e a mos a el lis ado de
p oyec os.
Ac o es
O ganismo
Tabla 4.13: Caso de uso - O ganismo - Elimina p oyec o
35
Requisi o
Busca p oyec o
Iden i icado
2.5
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se busca el p oyec o y se mues an odos sus da os.
En ada
Iden i icado del p oyec o
Salida
Iden i icado , echa y ho a de la úl ima modi icación, í ulo,
desc ipción, capacidad, du ación, ámbi o y subámbi o del p oyec o.
Secuencia no mal
Paso
Acción
1
El o ganismo in oduce el iden i icado del p oyec o.
2
Se comp ueba si exis e un p oyec o con ese iden i icado .
En caso a i ma i o, se mues an sus da os.
Pos condición
Se mos a án los da os de un p oyec o
Excepciones
Paso
Acción
2
Si no exis e ningún p oyec o con ese iden i icado se
mues a un mensaje in o ma i o al o ganismo y se uel e
a pedi que in oduzca un iden i icado álido.
Ac o es
O ganismo
Tabla 4.14: Caso de uso - O ganismo - Busca p oyec o
36
Requisi o
Busca cien í ico
Iden i icado
2.6
P io idad
Media
P econdición
El cien í ico debe exis i en la base de da os y es a ac i o.
Desc ipción
Se busca el cien í ico y se mues an odos sus da os.
En ada
ORCID del cien í ico que se desea busca .
Salida
ORCID, nomb e, p o esión, email y disponibilidad del cien í ico.
Secuencia no mal
Paso
Acción
1
El o ganismo in oduce el ORCID del cien í ico que desea
busca .
2
Se comp ueba si exis e un cien í ico con ese ORCID. En
caso a i ma i o, se mues an sus da os.
Pos condición
Se mos a án los da os de un cien í ico.
Excepciones
Paso
Acción
2
Si no exis e ningún cien í ico con el ORCID in oducido se
mues a un mensaje eme gen e in o ma i o al o ganismo y
se le pide que in oduzca un ORCID álido.
Ac o es
O ganismo, Cien í ico
Tabla 4.15: Caso de uso - O ganismo - Busca cien í ico
37
Requisi o
Mos a cien í ico
Iden i icado
2.7
P io idad
Media
P econdición
El cien í ico debe exis i en la base de da os y es a ac i o.
Desc ipción
Se mues a oda la in o mación e e en e a un cien í ico.
En ada
Iden i icado del cien í ico
Salida
ORCID, nomb e, p o esión, email y disponibilidad del
cien í ico.
Secuencia no mal
Paso
Acción
1
El o ganismo hace click en el bo ón “+
In o mación”
2
Se mues an odos los da os del cien í ico
Pos condición
Se mos a án los da os de un cien í ico.
Excepciones
Paso
Acción
-
-
Ac o es
O ganismo, Cien í ico
Tabla 4.16: Caso de uso - O ganismo - Mos a cien í ico
Requisi o
Recomendaciones de cien í icos
38
Iden i icado
2.8
P io idad
Al a
P econdición
El o ganismo debe habe iniciado sesión y debe habe
publicado al menos un p oyec o.
Desc ipción
Basado en el ámbi o y subámbi o del o ganismo y en la
especialidad de las publicaciones de los cien í icos y sus
p o esiones, se o ecen ecomendaciones de los cien í icos
disponibles que pod ían pa icipa en un p oyec o conc e o
del o ganismo.
En ada
Iden i icado del p oyec o del que se desea ecibi
ecomendaciones de cien í icos.
Salida
Recomendaciones de cien í icos ac i os que pod ían
pa icipa en un p oyec o.
Secuencia no mal
Paso
Acción
1
El o ganismo debe hace click en la sección
“Recomendaciones de cien í icos”. Después,
debe in oduci el iden i icado del p oyec o del
que desea ecibi ecomendaciones de cien í icos
y pulsa en “Recomenda ”. Se mos a án las
ecomendaciones y el o ganismo, si lo desea,
pod á e más in o mación ace ca de un
cien í ico en conc e o haciendo click en el bo ón
“+ In o mación” que con iene cada
ecomendación.
Pos condición
Se mos a án ecomendaciones de cien í icos.
Excepciones
Paso
Acción
1
Si el o ganismo no ha c eado ningún p oyec o o
no hay cien í icos ac i os elacionados con el
p oyec o, se mos a á el siguien e mensaje po
pan alla: “No se encuen an cien í icos que
abajen en el ámbi o del p oyec o”.
Ac o es
O ganismo, Cien i ico
Tabla 4.17: Caso de uso - O ganismo - Recomendaciones de cien í icos
39
Requisi o
Edi a usua io
Iden i icado
3.6
P io idad
Media
P econdición
El usua io debe exis i en la base de da os y es a ac i o.
Desc ipción
Se modi ican los da os de un usua io (cien í ico u o ganismo) de la
aplicación.
En ada
Si es cien í ico: Nomb e y p o esión
Si es o ganismo: Nomb e y localidad
Salida
Mensaje de con i mación in o mando que el usua io (cien í ico u
o ganismo) se ha edi ado co ec amen e.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Edi a
disponible en el lis ado de cien í icos u o ganismos pa a el
cien í ico u o ganismo que desea edi a .
2
Rellena el o mula io edi ando o al o pa cialmen e los
da os del cien í ico u o ganismo.
3
El adminis ado hace click en el bo ón “Edi a ”. Apa ece á
un mensaje eme gen e p egun ando si es á segu o de
que e edi a ese cien í ico u o ganismo. Po úl imo,
selecciona el bo ón “Edi a ” del mensaje.
Pos condición
Se edi a á la in o mación co espondien e a un cien í ico u o ganismo.
Excepciones
Paso
Acción
2
En caso de que alguno de los da os del cien í ico u
o ganismo que se han edi ado es én en un o ma o
inco ec o, se mos a á un mensaje eme gen e.
3
Si alguno de los da os in oducidos no iene un o ma o
co ec o, se mues a un mensaje in o ma i o y se uel e a
mos a el o mula io con los da os in oducidos pa a que
cambie los que son inco ec os.
Ac o es
Adminis ado , Cien í ico, O ganismo
Tabla 4.23: Caso de uso - Adminis ado - Edi a usua io
46
Requisi o
Elimina usua io
Iden i icado
3.7
P io idad
Media
P econdición
El usua io debe exis i en la base de da os y es a ac i o.
Desc ipción
Se da de baja de o ma lógica a un usua io (cien í ico u o ganismo)
ac i o en el sis ema.
En ada
Iden i icado del usua io (cien í ico u o ganismo)
Salida
Mensaje de con i mación indicando que se ha ealizado
co ec amen e la baja del usua io.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Elimina
disponible en el lis ado de cien í icos o de o ganismos
pa a el cien í ico u o ganismo que desea elimina .
2
Se mues a un mensaje eme gen e p egun ando si desea
elimina ese usua io (cien í ico u o ganismo). Po úl imo,
hace click en la opción “Elimina ”.
3
Se comp ueba que exis a el usua io y, si es así, se da de
baja de o ma lógica cambiando su es ado de ac i o.
Pos condición
Se da á de baja un usua io (cien í ico u o ganismo).
Excepciones
Paso
Acción
2
En el mensaje eme gen e de con i mación, el
adminis ado puede pulsa ambién o a opción llamada
“Cancela ”. En caso de hace lo, el mensaje eme gen e
desapa ece y se uel e al lis ado de usua ios.
Ac o es
Adminis ado
Tabla 4.24: Caso de uso - Adminis ado - Elimina usua io
47
Requisi o
Reac i a usua io
Iden i icado
3.8
P io idad
Media
P econdición
El usua io (cien í ico u o ganismo) debe exis i en la base de da os y
es a dado de baja.
Desc ipción
Se eac i a un usua io (cien í ico u o ganismo) que ha sido
p e iamen e dado de baja.
En ada
Iden i icado del usua io (cien í ico u o ganismo).
Salida
Mensaje eme gen e indicando que el usua io (cien í ico u o ganismo)
ha sido eac i ado co ec amen e.
Secuencia no mal
Paso
1
El adminis ado hace click en el bo ón de “Reac i a ”
disponible en el lis ado de cien í icos u o ganismos pa a el
usua io (cien í ico u o ganismo) dado de baja que desea
eac i a .
2
Se mues a un mensaje eme gen e p egun ando si se
desea eac i a el usua io. Pa a hace lo, debe hace click
en “Reac i a ”.
3
Se comp ueba que exis a el usua io y que es é dado de
baja. Si se cumplen es as condiciones, se eac i a el
usua io y se mues a un mensaje eme gen e de
con i mación.
Pos condición
Se eac i a á un usua io (cien í ico u o ganismo) dado de baja
p e iamen e.
Excepciones
Paso
2
En el mensaje eme gen e, el adminis ado puede hace
click en la opción “Cancela ”. Si lo hace, el mensaje
desapa ece y se uel e al lis ado de cien í icos u
o ganismos.
Ac o es
Adminis ado
Tabla 4.25: Caso de uso - Adminis ado - Reac i a usua io
48
Requisi o
Lis a odos p oyec os
Iden i icado
3.9
P io idad
Al a
P econdición
El adminis ado debe habe iniciado sesión.
Desc ipción
Se lis an en o ma de abla odos los p oyec os de odos los
o ganismos de la aplicación, ya es én ac i os o no.
En ada
-
Salida
Lis ado de odos los p oyec os de odos los o ganismos de la
aplicación.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en la sección “Lis a
p oyec os”. Au omá icamen e, ca ga los p oyec os y se
mues an lis ados en pan alla.
Pos condición
Se mos a á un lis ado de odos los p oyec os de odos los
o ganismos de la aplicación.
Excepciones
Paso
Acción
1
En caso de no exis i ningún p oyec o en la aplicación se
sus i uye la abla po el siguien e ex o: “No exis en
p oyec os”.
Ac o es
Adminis ado
Tabla 4.26: Caso de uso - Adminis ado - Lis a odos p oyec os
49
Requisi o
Edi a p oyec o
Iden i icado
3.10
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se modi ican los da os de un p oyec o de o ganismo.
En ada
Tí ulo, desc ipción, capacidad de in eg an es, du ación, ámbi o y
subámbi o del p oyec o.
Salida
Mensaje eme gen e in o mando que el p oyec o se ha edi ado
co ec amen e.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Edi a
disponible en el lis ado de p oyec os pa a el p oyec o que
desea edi a .
2
Rellena el o mula io edi ando o al o pa cialmen e los
da os del p oyec o.
3
El adminis ado hace click en el bo ón Edi a . Apa ece á
un mensaje eme gen e p egun ando si es á segu o de
que e edi a ese p oyec o. Po úl imo, selecciona el bo ón
“Edi a ” del mensaje.
Pos condición
Se edi a á la in o mación co espondien e a un p oyec o de
o ganismo.
Excepciones
Paso
Acción
2
En caso de que alguno de los da os del p oyec o que se
han edi ado es én en un o ma o inco ec o, se mos a á
un mensaje eme gen e.
3
En el mensaje eme gen e de con i mación, el
adminis ado puede pulsa ambién o a opción llamada
“Cancela ”. En caso de hace lo, el mensaje eme gen e
desapa ece y se uel e al o mula io de edición.
Ac o es
Adminis ado
Tabla 4.27: Caso de uso - Adminis ado - Edi a p oyec o
50
Requisi o
Elimina p oyec o
Iden i icado
3.11
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a ac i o.
Desc ipción
Se da de baja de o ma lógica a un p oyec o ac i o en el sis ema.
En ada
Iden i icado del p oyec o.
Salida
Mensaje de con i mación indicando que se ha ealizado
co ec amen e la baja del p oyec o.
Secuencia no mal
Paso
Acción
1
El adminis ado hace click en el bo ón de Elimina
disponible en el lis ado de p oyec os pa a el p oyec o que
desea elimina .
2
Se mues a un mensaje eme gen e p egun ando si desea
elimina ese p oyec o. Po úl imo, hace click en la opción
“Elimina ”.
3
Se comp ueba que exis a el p oyec o y, si es así, se da de
baja de o ma lógica cambiando su es ado de ac i o.
Pos condición
Se da á de baja un p oyec o de o ganismo.
Excepciones
Paso
Acción
2
En el mensaje eme gen e de con i mación, el
adminis ado puede pulsa ambién o a opción llamada
“Cancela ”. En caso de hace lo, el mensaje eme gen e
desapa ece y se uel e al lis ado de p oyec os.
Ac o es
Adminis ado
Tabla 4.28: Caso de uso - Adminis ado - Elimina p oyec o
51
Requisi o
Reac i a p oyec o
Iden i icado
3.12
P io idad
Media
P econdición
El p oyec o debe exis i en la base de da os y es a dado de
baja.
Desc ipción
Se eac i a un p oyec o que ha sido p e iamen e dado de
baja.
En ada
Iden i icado del p oyec o
Salida
Mensaje eme gen e indicando que el p oyec o ha sido
eac i ado co ec amen e.
Secuencia no mal
Paso
1
El adminis ado hace click en el bo ón de
“Reac i a ” disponible en el lis ado de p oyec os
pa a el p oyec o dado de baja que desea
eac i a .
2
Se mues a un mensaje eme gen e p egun ando
si se desea eac i a el p oyec o. Pa a hace lo,
debe hace click en “Reac i a ”.
3
Se comp ueba que exis a el p oyec o y que es é
dado de baja. Si se cumplen es as condiciones,
se eac i a el p oyec o y se mues a un mensaje
eme gen e de con i mación.
Pos condición
Se eac i a á un p oyec o dado de baja p e iamen e.
Excepciones
Paso
2
En el mensaje eme gen e, el adminis ado
puede hace click en la opción “Cancela ”. Si lo
hace, el mensaje desapa ece y se uel e al
lis ado de p oyec os.
Ac o es
Adminis ado
Tabla 4.29: Caso de uso - Adminis ado - Reac i a p oyec o
52
4.2.4 Módulo Cuen a
El módulo cuen a en uel e odas las uncionalidades comunes en e los cien í icos y los
o ganismos elacionadas con la cuen a de usua io. (Ve Figu a 4.4).
Es as incluyen: Regis a usua io, Inicia sesión, Ve pe il, Edi a pe il, Mos a FAQ y
Mos a con ac o.
Figu a 4.4: Diag ama de casos de uso del módulo Cuen a
A con inuación, se lis an los casos de uso asociados a es e módulo
(Desde la Tabla 4.30 has a la Tabla 4.35)
53
Requisi o
Regis a usua io
Iden i icado
4.1
P io idad
Al a
P econdición
El usua io (cien í ico u o ganismo) no debe exis i en la base
de da os.
Desc ipción
Se egis a un usua io (cien í ico u o ganismo) en la
aplicación.
En ada
Si se quie e egis a un cien í ico: Nomb e comple o, email,
ORCID, p o esión y con aseña.
Si se quie e egis a un o ganismo público: Código DIR3,
nomb e, email, localidad y con aseña.
Si se quie e egis a un o ganismo p i ado: NIF, nomb e,
email, localidad y con aseña.
Salida
Mensaje eme gen e de con i mación indicando que el usua io
(cien í ico u o ganismo) ha sido egis ado co ec amen e.
Secuencia no mal
Paso
Acción
1
Rellena el o mula io de egis o con los da os
eque idos (ya sea de cien í ico u o ganismo). Y
hace click en Regis a .
2
Se comp ueba que los da os in oducidos es én
en un o ma o pe mi ido. Si lo es án, se da de al a
al usua io en la base de da os.
Pos condición
Se egis a á un usua io (cien í ico u o ganismo) en la
aplicación.
Excepciones
Paso
Acción
2
En caso de que los da os in oducidos es én en
un o ma o e óneo, se mos a á un mensaje
eme gen e in o mando del o ma o pe mi ido pa a
que se pueda co egi .
Ac o es
Cien í ico, O ganismo
Tabla 4.30: Caso de uso - Cuen a - Regis a usua io
54
Requisi o
Inicia sesión
Iden i icado
4.2
P io idad
Al a
P econdición
El usua io (cien í ico u o ganismo) ha sido egis ado
p e iamen e en la aplicación.
Desc ipción
El usua io (cien í ico u o ganismo) inicia sesión en la
aplicación.
En ada
Email y con aseña
Salida
Redi ección a la página “Home” del usua io que haya iniciado
sesión
Secuencia no mal
Paso
Acción
1
El usua io (cien í ico u o ganismo) ellena el
o mula io de inicio de sesión esc ibiendo su
email y con aseña.
2
Si los da os son co ec os, se edi igi á a la
página “Home” co espondien e al usua io que ha
iniciado sesión.
Pos condición
Un usua io hab á iniciado sesión en la aplicación.
Excepciones
Paso
Acción
2
Si los da os in oducidos son e óneos o no
co esponden con un usua io egis ado, se
mues a un mensaje de e o .
Ac o es
Cien í ico, O ganismo
Tabla 4.31: Caso de uso - Cuen a - Inicia sesión
55
Po ello, se dice que Angula sigue un pa ón denominado pa ón modelo- is a-modelo
de is a (Model-View-ViewModel) [32]. Es e pa ón acili a la man enibilidad de la aplicación
web, la modula ización y la eu ilización de sus componen es. (Ve Figu a 5.2).
● Modelo: Rep esen a a la capa de da os y la lógica de negocio de la aplicación.
Con iene la in o mación y las eglas pa a p ocesa los da os.
● Vis a: Capa que se enca ga de la p esen ación y la in e az de usua io. Es
esponsable de mos a los da os al usua io y ecoge sus in e acciones.
● Modelo de is a: Es el in e media io en e el Modelo y la Vis a. Su u ilidad es la
de sepa a la lógica de negocio (si uada en el Modelo) de la lógica de
p esen ación (si uada en la Vis a). Se enca ga de solici a los da os al Modelo y
o ma ea los pa a adecua su p esen ación en la Vis a.
Figu a 5.2: Diag ama del Modelo-Vis a-Modelo de Vis a
5.2.2 Capa de negocio
En el caso de la capa de negocio, pa a el diseño de so wa e se ha op ado po u iliza
una a qui ec u a basada en la A qui ec u a en Capas. De es a o ma se ob u o un modelo que
pe mi e una mejo o ganización, una buena modula idad del sis ema que acili a el desa ollo y
su man enimien o, y ambién es escalable según las necesidades del sis ema.
És as capas o ni eles son p incipalmen e:
62
- La capa Con olle : En és e ni el se exponen los endpoin s pa a las API Res .
- La capa Se ice: En és e componen e es donde se encapsula oda la lógica de negocio.
- La capa Reposi o y: És a capa se enca ga del sis ema de ges ión de acceso a la base
de da os.
- La capa Model(En i y): Donde es án las en idades del negocio.
De és a o ma la di isión de ni eles queda e lejada en la Figu a 5.3
Figu a 5.3: Capas o ni eles del diseño de So wa e
Con espec o a los pa ones de diseño u ilizados en és a capa de negocio se puede esal a el
siguien e pa ón:
El pa ón de Inyección de dependencias
És e pa ón es un pa ón de diseño o ien ado a obje os, en el que se suminis a obje os
a una clase en luga de se la p opia clase quien aya a c ea dichos obje os, es á basada en el
p incipio de In e sión de Con ol (IoC) pa a man ene en su "con ex o" odas las ins ancias de la
aplicación, y así pode inyec a és as ins ancias a quién lo necesi e (beans). En és a aplicación
se u ilizó un ipo de inyección de dependencia po A ibu o, al y como se mues a en la Figu a
5.4.
63
Figu a 5.4: IoC po a ibu o
5.3 Modelo de da os
5.3.1 Modelo En idad-Relación
En la Figu a 5.5 se mues a el diag ama En idad-Relación que se ha u ilizado en el
modelado de da os de la aplicación. En es e diag ama se p esen an las en idades y los
a ibu os de inidos pa a el sis ema.
64
Figu a 5.5: Diag ama En idad-Relación
5.3.2 Implemen ación de la base de da os
Pa a pode implemen a el modelo de da os desc i o an e io men e se ha u ilizado un
sis ema de ges ión de base de da os elacional o ien ado a obje os llamado Pos g eSQL que se
in eg a de o ma luida con Sp ing Boo JPA. Así las consul as de ope aciones CRUD [33]
esul an más sencillas. A con inuación, se mues an las ablas u ilizadas en es e modelo de
da os o denados po módulos uncionales.
5.3.2.1 Usua io
En es e apa ado se desc ibe la abla de Usua io. Se puede esal a los siguien es
a ibu os; UUID_usua io y UUID_co eo. Es o es que una ez se haya egis ado el usua io en
la aplicación se gua da án en és a abla los iden i icado es UUID de usua io y UUID de co eo
elec ónico gene ados po Fi ebase.
id: Valo au oinc emen al de un usua io
uuid_usua io: Iden i icado p ima io de un usua io
65
uuid_co eo: Iden i icado del co eo elec ónico de un usua io
ec_c eacion: Fecha de c eación de un usua io
ec_baja: Fecha de baja de un usua io
ac i o: Flag de ac i o/desac i o de un usua io
La elación de la abla de Usua io con o as ablas se puede ap ecia en la siguien e
igu a 5.6:
Figu a 5.6: Tabla Usua io
5.3.2.2 Cien í ico
En es e apa ado se desc ibe la abla de Cien í ico, que ep esen a el ol de usua io de
cien í ico quien es capaz de c ea publicaciones. Se puede esal a los a ibu os uid_usua io
que elaciona con la abla de usua io.
66
o cid: Iden i icado p ima io de un cien í ico
uid_usua io: Iden i icado o áneo de la elación con la abla de usua io
nomb e: Nomb e de un cien í ico
email: Email de un cien í ico
p o esion: P o esión de un cien í ico
disponible: Flag de disponible/no disponible de un cien í ico
ac i o: Flag de ac i o/desac i o de un cien í ico
Como queda elacionada la abla de Cien í ico con o a ablas se puede isualiza en la
siguien e igu a 5.7:
Figu a 5.7: Tabla Cien í ico
5.3.2.3 O ganismo
En es e apa ado se desc ibe la abla de O ganismo, que ep esen a el ol de usua io
de o ganismo quien se enca ga de c ea los p oyec os. Al igual que en el an e io apa ado és a
abla es á elacionada con la abla de usua io, median e el uid_usua io.
id: Valo au oinc emen al de un o ganismo
67
id_o ganismo: Iden i icado p ima io de un o ganismo
uid_usua io: Iden i icado o áneo de la elación con la abla de usua io
nomb e: Nomb e de un o ganismo
email: Email de un o ganismo
localidad: Localidad de un o ganismo
ambi o: Flag de ámbi o público/p i ado de un o ganismo
ac i o: Flag de ac i o/desac i o de un o ganismo
El diag ama de elación de la abla de O ganismo queda ía de la siguien e o ma:
(Ve Figu a 5.8)
Figu a 5.8: Tabla O ganismo
5.3.2.4 Publicación
En es e apa ado se desc ibe la abla de Publicación, y como dijimos en an e io es
apa ados son c eadas po un usua io cien í ico.
id_publicacion: Iden i icado p ima io de una publicación
id_cien i ico: Iden i icación o áneo de la elación con la abla de cien í ico
i ulo: Tí ulo de una publicación
68
desc ipcion: Desc ipción de una publicación
especialidad: Especialidad del cien í ico sob e una publicación
expe iencia: Expe iencia del cien í ico sob e una publicación
ec_c eacion: Fecha de c eación de una publicación
ec_ac ualizacion: Fecha de ac ualización de una publicación
ac i o: Flag de ac i o/desac i o de una publicación
La elación de és a abla de Publicación con la abla de cien í ico queda como se
mues a en la siguien e igu a 5.9:
Figu a 5.9: Tabla Publicación
5.3.2.5 P oyec o
En es e apa ado se de allan los a ibu os que componen la abla de P oyec o. És os
p oyec os los c ean los p opios usua ios o ganismo.
id_c eacion_p oy: Iden i icado p ima io de un p oyec o
id_o ganismo: Iden i icación o áneo de la elación con la abla de o ganismo
i ulo: Tí ulo de un p oyec o
desc ipcion: Desc ipción de un p oyec o
amanio: Tamaño acumulado de un p oyec o
69
du acion: Du ación de un p oyec o
capacidad: Tamaño máximo de un p oyec o
ambi o: Ámbi o de especialidad de un p oyec o
subambi o: Subámbi o de especialidad de un p oyec o
ec_c eacion: Fecha y ho a de c eación del p oyec o
ec_ac ualizacion: Fecha y ho a de úl ima ac ualización del p oyec o.
ac i o: Flag ac i o/no ac i o de un p oyec o
comple o: Flag de comple o/no comple o de un p oyec o
A con inuación las elaciones de és a abla de P oyec o con las ablas de o ganismo y
asignación se mues an en la igu a 5.10:
Figu a 5.10: Tabla P oyec o
70
5.3.2.6 Asignación
En es e apa ado se de alla los a ibu os de la abla de Asignación que es la que hace
de nexo en e las ablas de cien í icos y p oyec os.
id_asignacion: Iden i icado p ima io de una asignación cien í ico-p oyec o
id_cien i ico: Iden i icación o áneo de la elación con la abla de cien í ico
id_p oyec o: Iden i icación o áneo de la elación con la abla de p oyec o
desc ipcion: Desc ipción opcional de una asignación
ac i o: Flag de ac i o/ no ac i o de una asignación
En la siguien e igu a 5.11 se mues a como queda elacionada la abla de Asignación:
Figu a 5.11: Tabla Asignación
71
Figu a 6.3: Regis o de usua io en la base de da os abla Cien í ico.
Figu a 6.4: Regis o de usua io en la base de da os abla O ganismo
78
6.2.2 Inicio de sesión
El inicio de sesión es la uncionalidad que pe mi e al usua io accede a la aplicación
u ilizando las c edenciales (email y con aseña) elegidas du an e el egis o.
Pa a log a inicia sesión, en p ime luga se llama al mé odo
signInWi hEmailAndPasswo d p esen e en la Figu a 6.5 y pe enecien e a Fi ebase,
p opo cionando las c edenciales del usua io que quie e inicia sesión. Es e mé odo pe mi e
comp oba si las c edenciales in oducidas es án egis adas en Fi ebase o no.
En caso de es a lo, se ob iene el UID de usua io pa a su pos e io almacenaje en la base de
da os y se ealiza una pe ición HTTP GET a la pa e backend que de uel e el iden i icado del
usua io y el ipo de usua io que es (cien í ico u o ganismo).
En caso con a io, se de ec a que las c edenciales in oducidas no son álidas y lanza un e o
que impide inicia sesión.
Figu a 6.5: Inicio de sesión en Fi ebase
Ac o seguido, como se mues a en la Figu a 6.6 pa a el caso del cien í ico y en la Figu a
6.7 pa a el caso del o ganismo, según el ipo de usua io que quie e inicia sesión, se ealiza
una pe ición HTTP GET pa a ob ene oda la in o mación del usua io, almacena la en un
se icio compa ido en oda la aplicación llamado use Se ice y edi igi al usua io a la pan alla
79
“Home” del módulo que le co esponda. Es e se icio u iliza la p opiedad sessionS o age que
almacena la in o mación de o ma empo al en el na egado web mien as la pes aña donde se
u ilice es é abie a.
G acias al uso de es e se icio compa ido, se á posible ealiza unciones en los módulos
como mos a el nomb e del usua io que ha iniciado sesión en el panel de usua io o ca ga
di ec amen e el p oyec o en el que pa icipa un cien í ico, en e o as.
Figu a 6.6: Inicio de sesión de un cien í ico
80
Figu a 6.7: Inicio de sesión de un o ganismo
Po úl imo, en la aplicación, se conside a al adminis ado como un usua io que no
equie e de egis o y que exis e de po sí an o en la base de da os como en Fi ebase.
Po ello, pa a pode inicia sesión como adminis ado , se debe comp oba la exis encia del
usua io en la base de da os y en Fi ebase y esc ibi las siguien es c edenciales en el inicio de
sesión:
Email: [email p o ec ed]
Con aseña: adminis ado
81
6.2.3 Módulo Cien í ico
6.2.3.1 C ea publicación
Es a uncionalidad pe mi e al cien í ico c ea una publicación en la aplicación ellenando
un o mula io.
En el o mula io, se debe especi ica el í ulo y desc ipción de la publicación así como la
especialidad y la expe iencia del cien í ico.
Pa a implemen a la, se ecogen los da os in oducidos en el o mula io, se alidan y se
o ma un obje o con ellos.
Ac o seguido, se añade el código pa a pode mos a una ale a eme gen e u ilizando la
biblio eca de Ja aSc ip de código abie o llamada: Swee Ale 2 [37]. (Ve Figu a 6.8).
Figu a 6.8: C ea publicación
82
En caso de que en la ale a eme gen e se seleccione la opción “C ea ”, se ealiza una
llamada al mé odo del se icio ealiza Publicacion pasándole po pa áme o el obje o que
con iene la in o mación del o mula io.
Como se puede obse a en la Figu a 6.9, en es a unción se ealiza la pe ición HTTP POST a
la API pa a egis a la nue a publicación en la base de da os.
Figu a 6.9: Función ealiza Publicación
6.2.3.2 Mis publicaciones
Es a uncionalidad se enca ga de mos a un lis ado en o ma de abla de odas las
publicaciones ealizadas po el usua io. En caso de que no exis a ninguna publicación se
sus i uye la abla po un ex o que indica que no exis en publicaciones c eadas.
El lis ado de publicaciones se ca ga au omá icamen e al en a en la sección “Mis
publicaciones” de la aplicación. Pa a ello, se ealiza una llamada a la unción
ca ga Publicaciones mos ada en la Figu a 6.10. En es a unción llama al se icio que hace la
pe ición a la API pa a ob ene el lis ado de publicaciones que hay que mos a , pasándole el
ORCID del cien í ico que es á u ilizando el módulo.
83
Figu a 6.10: Función ca ga Publicaciones
A con inuación, se mues a en la Figu a 6.11 la unción ob ene Publicaciones que se
enca ga de ealiza la pe ición HTTP GET pa a ob ene las publicaciones a lis a .
Figu a 6.11: Función ob ene Publicaciones
6.2.3.3 Edi a publicación
Es a uncionalidad pe mi e al cien í ico ealiza modi icaciones en los campos que
con o man una publicación. Pa a pode u iliza es a uncionalidad, debe habe se c eado la
publicación que se desea edi a .
El acceso a es a uncionalidad se ealiza desde la sección “Mis publicaciones” pasando
po la URL el iden i icado de la publicación que se desea edi a .
Pa a ca ga la in o mación de la publicación que se desea edi a , se ob iene el
iden i icado pasado como pa áme o y se llama a la unción ob ene Publicacion p esen e en el
se icio ( e Figu a 6.12).
És a se enca ga de ealiza una pe ición HTTP GET pa a ob ene la in o mación de la
publicación a edi a , como se mues a en la Figu a 6.13.
84
Figu a 6.12: Función ob ene Publicacion
Figu a 6.13: Pe ición GET ob ene Publicacion
Una ez ob enida la in o mación de la publicación, se mues a po pan alla.
Cuando el cien í ico haya edi ado los campos que sean necesa ios, se ob ienen sus
alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e de
Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a la publicación. ( e Figu a 6.14).
Figu a 6.14: Edi a publicación
85
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a la
publicación en la base de da os. ( e Figu a 6.15)
Figu a 6.15: Pe ición PUT edi a Publicacion
Una ez edi ada la publicación se edi ige al usua io a la página “Mis Publicaciones”.
6.2.3.4 Elimina publicación
Es a uncionalidad pe mi e al cien í ico da de baja una publicación c eada
an e io men e.
El acceso a es a uncionalidad se ealiza desde la sección “Mis publicaciones” en el que
se pasa el iden i icado de la publicación que se desea elimina . ( e Figu a 6.16).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.16: Elimina publicación
86
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE que elimina la
publicación en la base de da os. ( e Figu a 6.17)
Figu a 6.17: Pe ición DELETE elimina Publicacion
Una ez que la publicación es eliminada se edi ige al cien í ico a la página “Mis
Publicaciones”.
6.2.3.5 Busca o ganismo
Es a uncionalidad pe mi e al cien í ico busca un o ganismo esc ibiendo su nomb e o al
o pa cialmen e. Una ez encon ado, pe mi e lis a sus p oyec os.
En p ime luga , se ob iene el nomb e in oducido po el cien í ico y se alida.
A con inuación se llama a la unción busca O ganismo p esen e en el se icio pasándole
como pa áme o el nomb e esc i o en la búsqueda. ( e Figu a 6.18)
87
Figu a 6.28: Función ob ene P oyec o
Como se mues a en la Figu a 6.29, la unción ob ene P oyec o se enca ga de ealiza
una pe ición HTTP GET pa a ob ene la in o mación del p oyec o a edi a .
Figu a 6.29: Pe ición GET ob ene P oyec o
Una ez ob enida la in o mación del p oyec o, se mues a po pan alla.
Cuando el o ganismo haya edi ado los campos que sean necesa ios, se ob ienen sus
alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e de
Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a el p oyec o. ( e Figu a 6.30).
94
Figu a 6.30: Edi a p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a el p oyec o
en la base de da os. ( e Figu a 6.31).
Figu a 6.31: Pe ición PUT edi a P oyec o
Una ez edi ado el p oyec o se edi ige al o ganismo a la página “Mis P oyec os”.
95
6.2.4.4 Elimina p oyec o
Es a uncionalidad pe mi e al o ganismo da de baja un p oyec o c eado an e io men e.
El acceso a es a uncionalidad se ealiza desde la sección “Mis p oyec os” en el que se
pasa el iden i icado del p oyec o que se desea elimina .
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
( e Figu a 6.32).
Figu a 6.32: Elimina p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción
elimina P oyec o p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE
que elimina el p oyec o en la base de da os. ( e Figu a 6.33).
96
Figu a 6.33: Pe ición DELETE elimina P oyec o
Una ez que el p oyec o es eliminado se edi ige al o ganismo a la página “Mis
P oyec os”.
6.2.4.5 Busca cien í ico
Es a uncionalidad pe mi e al o ganismo busca un cien í ico pa a pode e oda su
in o mación.
Pa a implemen a la, se ecoge el ORCID esc i o po el o ganismo en el campo
habili ado pa a ello. Se alida si es á o no en el o ma o co ec o y se pasa como pa áme o a la
unción ob ene Cien í ico del se icio. ( e Figu a 6.34).
Figu a 6.34: Busca cien í ico
97
Como se mues a en la Figu a 6.35, la unción ob ene Cien í ico se enca ga de ealiza
la pe ición HTTP GET pa a ob ene el cien í ico.
Figu a 6.35: Pe ición GET ob ene Cien i ico
Una ez ob enido el cien í ico, se mues a su in o mación po pan alla.
6.2.4.6 Recomendaciones de cien í icos
Es a uncionalidad pe mi e al o ganismo ecibi ecomendaciones de cien í icos que
pueden pa icipa en un p oyec o en conc e o basándose en el ámbi o y subámbi o del p oyec o
seleccionado y en la especialidad de las publicaciones de los cien í icos y sus p o esiones.
Es a uncionalidad equie e que el o ganismo in oduzca el iden i icado del p oyec o
pa a el cual desea ecibi ecomendaciones.
El iden i icado es alidado y pasado como pa áme o a la unción ecomenda P oyec os
del se icio. ( e Figu a 6.36).
Figu a 6.36: Recomendaciones de cien í icos
98
Como se mues a en la Figu a 6.37, la unción ecomenda Cien i icos se enca ga de
ealiza la pe ición HTTP GET pa a ob ene los cien í icos ecomendados.
Figu a 6.37: Pe ición GET ecomenda Cien i icos
Si se ob ienen ecomendaciones de cien í icos, se mos a án en o ma de a je as al
o ganismo.
En caso con a io, se mues a un mensaje indicando que no se han podido ob ene
ecomendaciones.
6.2.9 Adminis ado
6.2.9.1 Lis a publicaciones
Es a uncionalidad se enca ga de mos a un lis ado en o ma de abla de odas las
publicaciones ealizadas po los cien í icos. En caso de que no exis a ninguna publicación se
sus i uye la abla po un ex o que indica que no exis en publicaciones.
El lis ado de publicaciones se ca ga au omá icamen e al en a en la sección.
Pa a ello, se ealiza una llamada a la unción ca ga Publicaciones mos ada en la Figu a 6.38.
En es a unción simplemen e llama a la unción ob ene TodasPublicaciones del se icio
adminis ado .
Figu a 6.38: Lis a publicaciones
99
Como se mues a en la Figu a 6.39, la unción ob ene TodasPublicaciones se enca ga de
ealiza la solici ud HTTP GET al backend pa a ob ene odas las publicaciones de los
cien í icos.
Figu a 6.39: Pe ición GET ob ene TodasPublicaciones
6.2.9.2 Edi a publicación
Es a uncionalidad pe mi e al adminis ado ealiza modi icaciones en los campos de
una publicación de un cien í ico. Pa a pode u iliza es a uncionalidad, deben exis i
publicaciones que edi a . En caso de no exis i , se mues a un mensaje po pan alla
indicándolo.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a publicaciones”
pasando po la URL el iden i icado de la publicación que se desea edi a .
Pa a ca ga la in o mación de la publicación que se desea edi a , se ob iene el
iden i icado pasado como pa áme o y se llama a la unción ob ene Publicacion p esen e en el
se icio ( e Figu a 6.40).
És a se enca ga de ealiza una pe ición HTTP GET pa a ob ene la in o mación de la
publicación a edi a , como se mues a en la Figu a 6.41.
Figu a 6.40: Función ob ene Publicacion
100
Figu a 6.41: Pe ición GET ob ene Publicación
Una ez ob enida la in o mación de la publicación, se mues a po pan alla.
Cuando el adminis ado haya edi ado los campos que sean necesa ios, se ob ienen
sus alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e
de Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a la publicación. ( e Figu a
6.42).
Figu a 6.42: Edi a publicación
101
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a la
publicación en la base de da os. ( e Figu a 6.43).
Figu a 6.43: Pe ición PUT edi a Publicacion
Una ez edi ada la publicación se edi ige al usua io a la página “Lis a publicaciones”.
6.2.9.3 Elimina publicación
Es a uncionalidad pe mi e al adminis ado da de baja una publicación.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a publicaciones” en el
que se pasa el iden i icado de la publicación que se desea elimina . ( e Figu a 6.44).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
102
Figu a 6.44: Elimina publicación
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina Publicacion
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE que elimina la
publicación en la base de da os. ( e Figu a 6.45).
Figu a 6.45: Pe ición DELETE elimina Publicacion
Una ez que la publicación es eliminada se edi ige al cien í ico a la página “Lis a
publicaciones”.
103
6.2.9.7 Elimina usua io
Es a uncionalidad pe mi e al adminis ado da de baja un usua io (cien í ico u
o ganismo) de o ma lógica en la aplicación.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a usua io” en el que
pasa el iden i icado del usua io que se desea elimina . ( e Figu a 6.58 pa a el cien í ico y
Figu a 6.59 pa a el o ganismo).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.58: Elimina cien í ico
110
Figu a 6.59: Elimina o ganismo
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina Cien i ico o a la
unción elimina O ganismo p esen es en el se icio que se enca gan de ealiza la pe ición
HTTP DELETE que elimina al cien í ico u o ganismo de o ma lógica en la base de da os. ( e
Figu as 6.60 y 6.61).
Figu a 6.60: Pe ición DELETE elimina Cien i ico
Figu a 6.61: Pe ición DELETE elimina O ganismo
Una ez que el usua io es eliminado se edi ige al adminis ado a la página “Lis a usua ios”.
111
6.2.9.8 Reac i a usua io
Es a uncionalidad pe mi e al adminis ado eac i a un usua io (cien í ico u o ganismo)
que es aba dado de baja.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a usua ios” en el que
pasa el iden i icado del usua io que se desea eac i a . ( e Figu as 6.62 pa a el cien í ico y
Figu a 6.63 pa a el o ganismo).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.62: Reac i a cien í ico
112
Figu a 6.63: Reac i a o ganismo
Si la espues a es a i ma i a, se ealiza una llamada a la unción eac i a Cien i ico o a
la unción eac i a O ganismo p esen es en el se icio que se enca gan de ealiza la pe ición
HTTP GET que eac i a al cien í ico u o ganismo en la base de da os. ( e Figu as 6.64 y 6.65).
Figu a 6.64: Pe ición GET eac i a Cien i ico
113
Figu a 6.65: Pe ición GET eac i a O ganismo
Una ez que el usua io es eac i ado se edi ige al adminis ado a la página “Lis a usua ios”.
6.2.9.9 Lis a p oyec os
Es a uncionalidad se enca ga de mos a un lis ado en o ma de abla de odos los
p oyec os ealizados po los o ganismos. En caso de que no exis a ningún p oyec o se
sus i uye la abla po un ex o que indica que no exis en p oyec os.
El lis ado de p oyec os se ca ga au omá icamen e al en a en la sección.
Pa a ello, se ealiza una llamada a la unción ca ga P oyec os mos ada en la Figu a 6.66. En
es a unción simplemen e llama a la unción ob ene TodosP oyec os del se icio adminis ado .
Figu a 6.66: Lis a p oyec os
Como se mues a en la Figu a 6.67, la unción ob ene TodosP oyec os se enca ga de ealiza la
solici ud HTTP GET pa a ob ene odos los p oyec os de los o ganismos.
Figu a 6.67: Pe ición GET ob ene TodosP oyec os
114
6.2.9.10 Edi a p oyec o
Es a uncionalidad pe mi e al adminis ado ealiza modi icaciones en los campos de un
p oyec o de un o ganismo. Pa a pode u iliza es a uncionalidad, deben exis i p oyec os que
edi a . En caso de no exis i , se mues a un mensaje po pan alla indicándolo.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a p oyec os” pasando
po la URL el iden i icado del p oyec o que se desea edi a .
Pa a ca ga la in o mación del p oyec o que se desea edi a , se ob iene el iden i icado
pasado como pa áme o y se llama a la unción ob ene P oyec o p esen e en el se icio ( e
Figu a 6.68).
És a se enca ga de ealiza una pe ición HTTP GET pa a ob ene la in o mación del p oyec o a
edi a , como se mues a en la Figu a 6.69.
Figu a 6.68: Función ob ene P oyec o
Figu a 6.69: Pe ición GET ob ene P oyec o
Una ez ob enida la in o mación del p oyec o, se mues a po pan alla.
115
Cuando el adminis ado haya edi ado los campos que sean necesa ios, se ob ienen
sus alo es y se alidan pa a o ma un obje o. Pos e io men e, se mues a la ale a eme gen e
de Swee Ale 2 pa a p egun a po úl ima ez si se desea edi a el p oyec o. ( e Figu a 6.70).
Figu a 6.70: Edi a p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción edi a P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP PUT que edi a el p oyec o
en la base de da os. ( e Figu a 6.71).
Figu a 6.71: Pe ición PUT edi a P oyec o
Una ez edi ado el p oyec o se edi ige al usua io a la página “Lis a p oyec os”.
116
6.2.9.11 Elimina p oyec o
Es a uncionalidad pe mi e al adminis ado da de baja un p oyec o de o ma lógica en
la aplicación.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a p oyec os” en el que se pasa
el iden i icado del p oyec o que se desea elimina . ( e Figu a 6.72).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.72: Elimina p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción elimina P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP DELETE que elimina el
p oyec o de o ma lógica en la base de da os. ( e Figu a 6.73).
117
Figu a 6.73: Pe ición DELETE elimina P oyec o
Una ez que el p oyec o es eliminado se edi ige al adminis ado a la página “Lis a p oyec os”.
6.2.9.12 Reac i a p oyec o
Es a uncionalidad pe mi e al adminis ado eac i a un p oyec o que es aba dado de
baja.
El acceso a es a uncionalidad se ealiza desde la sección “Lis a p oyec os” en el que
se pasa el iden i icado del p oyec o que se desea eac i a . ( e Figu a 6.74).
Se uel e a u iliza Swee Ale 2 pa a gene a una ale a eme gen e que p egun e al usua io.
Figu a 6.74: Reac i a p oyec o
Si la espues a es a i ma i a, se ealiza una llamada a la unción eac i a P oyec o
p esen e en el se icio que se enca ga de ealiza la pe ición HTTP GET que eac i a el
p oyec o en la base de da os. ( e Figu a 6.75).
Figu a 6.75: Pe ición GET eac i a P oyec o
118
Una ez que el p oyec o es eac i ado se edi ige al adminis ado a la página “Lis a
p oyec os”.
6.3 API REST
En es e apa ado se especi ica á el diseño de la API Res implemen ada. És as
uncionalidades se pueden di idi po módulos. Además de segui unas buenas p ác icas pa a
diseña una API REST ul, se ha documen ado el desa ollo de la API con el amewo k de
Swagge (OpenAPI 3). És e amewo k es de código abie o y espaldado po un g an
ecosis ema de he amien as que nos ayudan a diseña , cons ui , documen a y consumi un
se icio REST ul.
De es a mane a, en conjun o, la in e az que p esen a Swagge al usua io con las API Res
expues as se mues a en la siguien e Figu a 6.76.
119
Mé odo de consul a (GET) en el que se
busca una publicación po su cla e
p ima ia
Objec
api/sea chP ojec /publica ion/{id}
Mé odo de inse ción (POST) en el que
se c ea una publicación
Objec
api/sea chP ojec /publica ion
Mé odo de ac ualización (PUT) en el
que se ac ualizan los da os de una
publicación dado su cla e p ima ia
api/sea chP ojec /publica ion/{id}
Mé odo de consul a (GET) en el que se
busca odas las publicaciones que
iene un cien í ico dado la cla e
p ima ia de és e
Lis
api/sea chP ojec /publica ion/all/{idCi
en i ico}
Mé odo de consul a (GET) en el que se
busca odas las publicaciones
Lis
api/sea chP ojec /publica ion/all
Mé odo de bo ado (DELETE) en el
que se da de baja a una publicación
dado su cla e p ima ia
Boolean
api/sea chP ojec /publica ion/{id}
Mé odo de modi icación en el que se
busca una publicación pa a eac i a
su es ado dado su cla e p ima ia
Boolean
api/sea chP ojec /publica ion/ eac i a
e/{idPublica ion}
126
Tabla 6.4: Endpoin s API Publicaciones
6.3.5 P oyec os
En és e apa ado se mues an en la Tabla 6.5 los endpoin s ela i os al módulo de p oyec o.
Desc ipción
Resul
Endpoin
Mé odo de consul a (GET) en el que se
busca un p oyec o po su cla e
p ima ia
Objec
api/sea chP ojec /p ojec /{id}
Mé odo de inse ción (POST) en el que
se c ea un p oyec o
Objec
api/sea chP ojec /p ojec
Mé odo de ac ualización (PUT) en el
que se ac ualizan los da os de un
p oyec o dado su cla e p ima ia
Objec
api/sea chP ojec /p ojec /{id}
Mé odo de consul a (GET) en el que se
busca odos los p oyec os que iene un
o ganismo dado la cla e p ima ia de
és e
Lis
api/sea chP ojec /p ojec /all/{idO gani
smo}
Mé odo de bo ado (DELETE) en el
que se da de baja a un p oyec o dado
su cla e p ima ia
Boolean
api/sea chP ojec /p ojec /{id}
Mé odo de consul a (GET) en el que se
busca odos los p oyec os
Lis
api/sea chP ojec /p ojec /all
127
Mé odo de modi icación en el que se
busca un p oyec o pa a eac i a su
es ado dado su cla e p ima ia
Boolean
api/sea chP ojec /p ojec / eac i a e/{i
dP ojec }
Mé odo de consul a (GET) en el que se
busca una lis a de cien í icos
ecomendados pa a el p oyec o de un
o ganismo dado su cla e p ima ia
Lis
api/sea chP ojec /p ojec / ecommend
a ion/{idP ojec }
Tabla 6.5: Endpoin API P oyec os
128
Capí ulo 7 - Conclusiones y T abajo u u o
7.1 Conclusiones
En es e abajo se ha log ado desa olla una aplicación web pa a la ges ión de
búsquedas de cien í icos y p oyec os. A a és de es a aplicación, los cien í icos son capaces
de pode explo a una amplia gama de p oyec os que se alineen con sus in e eses y
conocimien os. Del mismo modo, los o ganismos pueden di undi sus p oyec os y encon a
cien í icos cuali icados pa a lle a los a cabo.
Es a aplicación ha conseguido es ablece , no sólo una pla a o ma ecnológica, sino un
puen e en e la comunidad cien í ica y los p oyec os de in es igación. Ha sido una
demos ación de que la ecnología y la ciencia pueden abaja mano a mano pa a desa olla
soluciones e ec i as a los complejos p oblemas de nues os iempos. El desa ollo de es a
aplicación ha supues o una con ibución pa a omen a la colabo ación in e disciplina y
p omo e e impulsa la inno ación y el a ance en las in es igaciones cien í icas.
Po ello se han aplicado conocimien os en ingenie ía del so wa e, bases de da os,
p og amación y o os concep os pa a diseña y desa olla una aplicación que sa is aga las
necesidades de la comunidad cien í ica. Se puede des aca que en la pa e de ingenie ía del
so wa e se pasa on po las cua o e apas (ciclo de ida del so wa e):
La e apa de la concepción pa a de e mina el alcance del p oyec o y ene una e sión inicial
del modelo de negocio. Es o queda e lejado en las p opues as iniciales de p oyec o de TFG
p esen adas a nues os di ec o es.
La e apa de elabo ación con la plani icación del p oyec o y el desa ollo de las especi icaciones
uncionales del p oyec o. Así se e leja en la e sión inicial de los hi os del p oyec o y el
documen o SRS p esen ados a los di ec o es.
La e apa de cons ucción en el que elabo amos odas las ca ac e ís icas écnicas del p oduc o,
e lejado en el desa ollo backend y on end.
Y inalmen e la e apa de ansición pa a la en ega del p oduc o e minado. Así culmina con la
subida del p oyec o en un eposi o io gi con su documen ación y e sión inal.
129
Po o o lado, en el desa ollo de la base de da os se han enido en cuen a los concep os
ap endidos a la ho a de elegi un modelo de da os elacional que sea capaz de mos a nos, a
a és de un conjun o de ablas, la elación que hay en e los p incipales módulos.
Así ambién los concep os de p og amación o ien ada a obje os se han aplicado en la elección
del diseño de so wa e (modelo basado en la a qui ec u a en capas), ambién se en e lejados
en las buenas p ác icas a la ho a de implemen a código; el o ma o y amaño del código de
desa ollo (núme o de líneas de código), el empaque ado y di isión de las clases e in e aces
pa a ene una mejo o ganización y pa a que el código sea man enible.
Po úl imo, en p o de la anspa encia y el acceso abie o a la in o mación, se
p opo cionan los enlaces a los eposi o ios Gi hub donde se encuen a el código uen e de la
aplicación pa a que, aquel que es é in e esado, pueda consul a los.
● F on -end: h ps://gi hub.com/ahe e08/Science-Hub-F on End.gi
● Backend: h ps://gi hub.com/Ge aldLima/ms-busqueda-p oyec o.gi
7.2 T abajo u u o
A pesa de que se han conseguido implemen a la g an mayo ía de las uncionalidades
p opues as inicialmen e, se pueden plan ea a ias líneas de abajo u u o:
● Mejo a el algo i mo de ecomendaciones: En la aplicación el sis ema de
ecomendaciones es uncional pe o poco a anzado. Es a línea de abajo u u o
se pod ía cen a en segui desa ollando el algo i mo de ecomendación. Po
ejemplo, se pod ían inco po a sis emas de ecomendación basados en el
compo amien o del usua io u ilizando algo i mos de ap endizaje au omá ico, con
la inalidad de o ece ecomendaciones más p ecisas.
● In eg ación de he amien as de colabo ación: Es a línea consis i ía en ag ega
uncionalidades que acili en la colabo ación en línea, como la compa ición de
documen os o sis emas de ideocon e encia. Es os dos sis emas mencionados
pod ían se u ilizados, po ejemplo, pa a pode i ma y en ia con a os de los
p oyec os o pa a ealiza euniones del p oyec o en el que se es é pa icipando.
130
● Funcionalidad de gene a un equipo de abajo: Es a línea se cen a ía en
desa olla una uncionalidad que pe mi iese gene a equipos de abajo pa a un
p oyec o. Se indica ía el núme o de in eg an es necesa io, sus pe iles y la
aplicación o ma ía au omá icamen e un equipo de abajo.
● Mejo as y co ecciones en las uncionalidades ac uales: Es a línea se cen a ía
en mejo a las uncionalidades ya implemen adas en la aplicación, como po
ejemplo, añadi la posibilidad de il ado de in o mación en los lis ados. Además
se cen a ía en la co ección de e o es, op imización de la aplicación y
eliminación de aquellas uncionalidades obsole as.
● Análisis de impac o: En es a línea se pod ían desa olla mé icas pa a e alua el
impac o de las publicaciones y de los p oyec os. Con es as mé icas, se pod ían
ob ene g á icas y ealiza es udios y compa aciones.
● Colabo ación con ins i uciones cien í icas: Es a línea consis i ía en es ablece
asociaciones con ins i uciones cien í icas, labo a o ios de in es igación y
uni e sidades pa a publica sus p oyec os y p omo e la colabo ación cien í ica.
● In eg ación de inanciamien o: Es a línea se cen a ía en in eg a uncionalidades
pa a que los o ganismos puedan busca inanciación y sub enciones pa a sus
p oyec os.
● Remune ación: Es a línea a a ía la idea de emune a a los o ganismos po
publica p oyec os en la aplicación pa a que ac úe como oco de in e és pa a los
cien í icos.
131
Chap e 7 - Conclusions and u u e wo k
7.1 Conclusions
In his wo k i has been possible o de elop a web applica ion o he managemen o
sea ches o scien is s and p ojec s. Th ough his app, scien is s a e able o explo e a wide
ange o p ojec s ha align wi h hei in e es s and knowledge. In he same way, agencies can
dissemina e hei p ojec s and ind quali ied scien is s o ca y hem ou .
This applica ion has managed o es ablish, no only a echnological pla o m, bu a
b idge be ween he scien i ic communi y and esea ch p ojec s. I has been a demons a ion ha
echnology and science can wo k hand in hand o de elop e ec i e solu ions o he complex
p oblems o ou imes. The de elopmen o his applica ion has been a con ibu ion o os e
in e disciplina y collabo a ion and p omo e and boos inno a ion and p og ess in scien i ic
esea ch.
Knowledge in so wa e enginee ing, da abases, p og amming and o he concep s ha e
been applied o design and de elop an applica ion ha mee s he needs o he scien i ic
communi y. I can be no ed ha in he so wa e enginee ing pa he p ojec wen h ough he
ou s ages (so wa e li e cycle):
The concep ion s age o de e mine he scope o he p ojec and ha e an ini ial e sion o he
business model. This is e lec ed in he ini ial TFG p ojec p oposals p esen ed o ou di ec o s.
The elabo a ion s age wi h he planning o he p ojec and he de elopmen o he unc ional
speci ica ions o he p ojec . This is e lec ed in he ini ial e sion o he p ojec miles ones and
he SRS documen p esen ed o manage s.
The cons uc ion s age in which we elabo a e all he echnical cha ac e is ics o he p oduc ,
e lec ed in he backend and on end de elopmen .
And inally he ansi ion s age o he deli e y o he inished p oduc . This culmina es wi h he
upload o he p ojec in a gi eposi o y wi h i s documen a ion and inal e sion.
132
On he o he hand, in he de elopmen o he da abase we ha e aken in o accoun he
concep s lea ned when choosing a ela ional da a model ha is capable o showing us, h ough
a se o ables, he ela ionship be ween he main modules.
Likewise, he concep s o objec -o ien ed p og amming we ha e been applied in he choice o
so wa e design (model based on laye ed a chi ec u e), hey a e also e lec ed in good p ac ices
when we ha e implemen ed code; he o ma and size o he de elopmen code (numbe o line
o code), he packaging and di ision o he classes and in e aces in o de o ha e a be e
o ganiza ion and o make he code main ainable.
Finally, o he sake o anspa ency and open access o in o ma ion, links a e p o ided
o he Gi hub eposi o ies whe e he sou ce code o he applica ion is loca ed so ha anyone
who is in e es ed can consul hem.
● F on -end: h ps://gi hub.com/ahe e08/Science-Hub-F on End.gi
● Backend: h ps://gi hub.com/Ge aldLima/ms-busqueda-p oyec o.gi
7.2 Fu u e wo k
Al hough he as majo i y o he unc ionali ies ini ially p oposed ha e been
implemen ed, se e al lines o u u e wo k can be p oposed:
● Imp o e he ecommenda ion algo i hm: In he applica ion he ecommenda ion
sys em is unc ional bu no e y ad anced. This u u e line o wo k could ocus
on u he de eloping he ecommenda ion algo i hm. Fo example,
ecommenda ion sys ems based on use beha io could be inco po a ed using
machine lea ning algo i hms, in o de o o e mo e accu a e ecommenda ions.
● In eg a ion o collabo a ion ools: This line would consis o adding unc ionali ies
ha acili a e online collabo a ion, such as documen sha ing o
ideocon e encing sys ems. These wo sys ems men ioned could be used, o
example, o be able o sign and send p ojec con ac s o o hold mee ings o he
p ojec in which you a e pa icipa ing.
133
● Func ionali y o gene a ing a wo k eam: This line would ocus on de eloping a
unc ionali y ha would allow gene a ing wo k eams o a p ojec . The numbe o
membe s needed, hei p o iles would be indica ed and he applica ion would
au oma ically o m a wo k eam.
● Imp o emen s and co ec ions in he cu en unc ionali ies: This line would ocus
on imp o ing he unc ionali ies al eady implemen ed in he applica ion, such as
adding he possibili y o il e ing in o ma ion in he lis s. I would also ocus on he
co ec ion o e o s, op imiza ion o he applica ion and elimina ion o hose
obsole e unc ionali ies.
● Impac analysis: In his line, me ics could be de eloped o e alua e he impac o
publica ions and p ojec s. Wi h hese me ics, g aphs could be ob ained and
s udies and compa isons could be made.
● Collabo a ion wi h scien i ic ins i u ions: This line would consis o es ablishing
pa ne ships wi h scien i ic ins i u ions, esea ch labo a o ies and uni e si ies o
publish hei p ojec s and p omo e scien i ic collabo a ion.
● In eg a ion o inancing: This line would ocus on in eg a ing unc ionali ies so ha
o ganiza ions can seek unding and g an s o hei p ojec s.
● Remune a ion: This line would deal wi h he idea o emune a ing o ganiza ions
o publishing p ojec s in he applica ion so ha i ac s as a ocus o in e es o
scien is s.
134
Capí ulo 8 - Con ibuciones pe sonales
8.1 Albe o He e a Ga cía
La con ibución de Albe o al abajo puede clasi ica se en las dis in as ases del
desa ollo:
1. Fase de Ingenie ía de equisi os:
La ase inicial del abajo consis ió en la ecopilación y análisis de equisi os aplicando
Ingenie ía de Requisi os. Su pa icipación ue ac i a no sólo en la iden i icación y
cap u a de equisi os sino ambién en la labo de ecopilación de in o mación y elabo a
la documen ación. Además, pa icipó en la edacción de la especi icación de equisi os,
elabo ando las ablas de casos de uso pa a los ac o es que in e ienen en la aplicación.
2. Fase de Modelado de da os:
El modelado de da os se ealizó, inicialmen e, en una eunión jun o con Ge ald, en la
que se log ó es ablece un modelo de da os de bas an e al o ni el. El modelado de
da os ha sido una a ea que se ha ealizado de o ma conjun a a lo la go del desa ollo
de la aplicación ya que ha a ec ado an o en la implemen ación on -end de la
aplicación web como en el diseño back-end. La labo de Albe o en es a ase ha
consis ido en de ec a y a a jun o con Ge ald cualquie ipo de ajus e que ha sido
necesa io ealiza pa a que el modelo de da os oma a un en oque cada ez más de
bajo ni el.
135