scieee Science in your language
[sp] (orig)

Desarrollo de un prototipo de aplicación web y móvil para la gestión de obras de instalación de fibra óptica : parte 2

Abstract

Este proyecto surge bajo la necesidad de resolución de un problema real, en un contexto real, donde se pretende dar soporte a la gestión de obras de instalación de fibra óptica, permitiendo así comunicación bidireccional eficiente entre los diferentes intervinientes de la misma. El objetivo de este proyecto es el análisis, diseño e implementación de un panel de administración que permita la creación y edición de las obras, así como la asignación de empleados a la misma que lleven a cabo las tareas pertenecientes a ella. Como objetivo secundario se nos presenta la posibilidad de experimentar en el campo del desarrollo híbrido de aplicaciones para móviles, así como el estudio de diferentes tecnologías totalmente novedosas para el autor de este trabajo.

Read accessible full text

Desarrollo de un prototipo de aplicación web y móvil para la gestión de obras de instalación de fibra óptica : parte 2

Author: Romero Perdomo, Álvaro
Year: 2017
Source: https://accedacris.ulpgc.es/jspui/bitstream/10553/23909/1/0738896_00000_0000.pdf
Desa ollo de un p o o ipo
de aplicación web y mó il
pa a la ges ión de ob as
de ins alación de ib a
óp ica - Pa e 2.
G ado en Ingenie ía In o má ica
T abajo de in de g ado
Julio de 2017, Las Palmas de G an Cana ia
Au o : Ál a o Rome o Pe domo y Tu o es: D . Alexis Quesada A encibia y D. Jona han Alemán
Alemán
Ál a o Rome o Pe domo | 2
Ál a o Rome o Pe domo | 3
Resumen
Es e p oyec o su ge bajo la necesidad de esolución de un p oblema eal, en un con ex o
eal, donde se p e ende da sopo e a la ges ión de ob as de ins alación de ib a óp ica,
pe mi iendo así comunicación bidi eccional e icien e en e los di e en es in e inien es de la
misma.
El obje i o de es e p oyec o es el análisis, diseño e implemen ación de un panel de
adminis ación que pe mi a la c eación y edición de las ob as, así como la asignación de
empleados a la misma que lle en a cabo las a eas pe enecien es a ella.
Como obje i o secunda io se nos p esen a la posibilidad de expe imen a en el campo
del desa ollo híb ido de aplicaciones pa a mó iles, así como el es udio de di e en es ecnologías
o almen e no edosas pa a el au o de es e abajo.
Abs ac
This p ojec aises unde he necessi y o a eal p oblem esolu ion, in a eal con ex , o
gi e suppo o op ical ibe ins alla ion wo ks, hus allowing an e icien and bidi ec ional
communica ion be ween all pa icipan s.
The main objec i e o his p ojec is an adminis a ion panel analysis, design and
implemen a ion ha allows he wo ks c ea ion and edi ing, as well as he employees alloca ion
o i ha pe o m i asks.
The seconda y p ojec objec i e is he expe imen ing possibili y inside he hyb id mobile
applica ions de elopmen , as well as he s udy o di e en echnologies o ally no el o he
au ho o his wo k.
Ál a o Rome o Pe domo | 4
Índice
Resumen ............................................................................................................................. 3
Abs ac .............................................................................................................................. 3
Índice de ilus aciones ......................................................................................................... 6
Índice de ablas ................................................................................................................... 7
Es uc u a del documen o .................................................................................................... 9
1. Bloque 1. In oducción y Con ex ualización ................................................................. 10
1.1. In oducción ....................................................................................................... 10
1.2. Es ado ac ual ...................................................................................................... 11
1.3. Obje i os ............................................................................................................ 12
1.3.1. Obje i os gene ales ............................................................................................. 12
1.3.2. Obje i os académicos ......................................................................................... 12
1.4. No ma i a y legislación ....................................................................................... 13
1.4.1. Ley de p o ección de Da os de Ca ác e Pe sonal .............................................. 13
1.5. Jus i icación de las compe encias especí icas cubie as ........................................ 15
1.5.1. Compe encias comunes a la Ingenie ía In o má ica ........................................... 15
1.6. Apo aciones ...................................................................................................... 17
1.7. Recu sos ............................................................................................................. 18
1.7.1. Recu sos so wa e ............................................................................................... 18
1.7.2. Recu sos ha dwa e .............................................................................................. 24
1.8. Plani icación empo al ........................................................................................ 26
2. Bloque 2. Desa ollo del P oyec o ............................................................................... 28
2.1. Análisis ............................................................................................................... 28
2.1.1. P ime a eunión y con ex ualización del p oblema ............................................ 28
2.1.2. Glosa io de lenguaje p opio del con ex o del p oblema .................................... 29
2.1.3. Gene ación del p o o ipo .................................................................................... 29
2.1.4. Segunda eunión, alidación y aco ación de equisi os ...................................... 30
2.1.5. Especi icación inal de equisi os y aco ación del p oyec o ................................ 31
2.1.6. Iden i icación de ac o es p incipales del sis ema ............................................... 32
2.1.7. Especi icación y diag amas de casos de uso ....................................................... 33
2.2. Diseño ................................................................................................................ 35
2.2.1. Componen es del sis ema ................................................................................... 35
2.2.2. U ilización del pa ón de diseño Modelo – Vis a – Con olado (MVC) .............. 36
2.2.3. Desa ollo híb ido con Ionic ................................................................................ 36
2.2.4. Es uc u a y en idades de la base de da os ........................................................ 37
2.2.5. A qui ec u a del po al de adminis ación en Angula JS .................................... 37
Ál a o Rome o Pe domo | 5
2.3. Implemen ación .................................................................................................. 39
2.3.1. Desa ollo de la API Res en NodeJS y MongoDB ................................................ 40
2.3.2. Desa ollo del po al de adminis ación .............................................................. 43
2.4. P uebas .............................................................................................................. 46
3. Bloque 3. Conclusiones y T abajos Fu u os .................................................................. 48
3.1. Conclusiones y abajos u u os ........................................................................... 48
3.1.1. Conclusiones sob e el desa ollo del p oyec o ................................................... 48
3.1.2. T abajos u u os .................................................................................................. 50
4. Bloque 4. Fuen es de In o mación ............................................................................... 51
4.1. Fuen es de in o mación del Bloque 1. In oducción y con ex ualización ............... 51
4.2. Fuen es de in o mación del Bloque 2. Desa ollo del p oyec o ............................. 51
5. Bloque 5. Anexos ....................................................................................................... 52
5.1. Anexo 1. Casos de uso ......................................................................................... 52
5.2. Anexo 2. Manual de usua io del panel de adminis ación ..................................... 84
5.3. Anexo 3. Pan allazos comple os de la demo no uncional ..................................... 89
5.4. Anexo 4. Esquemas comple os MongoDB ............................................................ 91
5.5. Anexo 5. Documen ación de la API REST .............................................................. 93

Ál a o Rome o Pe domo | 6
Índice de ilus aciones
Ilus ación 1. Pan allas p incipales del p o o ipo no uncional ............................................. 30
Ilus ación 2. Rep esen ación g á ica de una a qui ec u a clien e-se ido .......................... 35
Ilus ación 3. In e acción de componen es con Angula JS ................................................... 36
Ilus ación 4. Diag ama de en idades de la base de da os ................................................... 37
Ilus ación 5. Jea quía de iche os de una aplicación en Angula JS ...................................... 38
Ilus ación 6. Ve sión inicial del iche o package.json .......................................................... 40
Ilus ación 7. Pe ición GET al se ido en el pue o 3000 ..................................................... 41
Ilus ación 8. Fiche o esumido del esquema de Mongoose pa a el modelado de las ob as . 41
Ilus ación 9. Je a quía de iche os de la API REST siguiendo pa ón MVC ............................ 42
Ilus ación 10. Je a quía de iche os del po al de adminis ación ....................................... 43
Ilus ación 11. Fiche o wo ks-se ice .................................................................................. 44
Ilus ación 12. Fiche o dashboa d-con olle ...................................................................... 45
Ilus ación 13. Fiche o de es pa a usua ios ....................................................................... 46
Ilus ación 14. Tes s de ope aciones con usua ios ............................................................... 47
Ilus ación 15. Diag ama de casos de uso comple o ............................................................ 52
Ilus ación 16. Pan alla de inicio del panel de adminis ación .............................................. 84
Ilus ación 17. Pan alla de login del panel de adminis ación .............................................. 84
Ilus ación 18. Dashboa d del panel de adminis ación ....................................................... 85
Ilus ación 19. C eación de una ob a en el panel de adminis ación ..................................... 85
Ilus ación 20. C eación de una ob a en el panel de adminis ación (ma e iales) ................. 86
Ilus ación 21. C eación de una ob a en el panel de adminis ación (añadiendo una a ea) .. 86
Ilus ación 22. C eación de una ob a en el panel de adminis ación (añadiendo a chi os
adjun os) ........................................................................................................................... 87
Ilus ación 23. Vis a de la pan alla use s ............................................................................. 87
Ilus ación 24. Vis a de la pan alla ma e ials ....................................................................... 88
Ilus ación 25. Vis a de edición de una ob a ....................................................................... 88
Ilus ación 26. P ime as pan allas de la demo no uncional ................................................. 89
Ilus ación 27. In o mación de la ob a en la demo no uncional ........................................... 90
Ilus ación 28. Acciones disponibles en una a ea en la demo no uncional ......................... 90
Ál a o Rome o Pe domo | 7
Índice de ablas
Tabla 1. Plani icación inicial ............................................................................................... 26
Tabla 2. Dedicación inal .................................................................................................... 26
Tabla 3. Glosa io de lenguaje p opio del con ex o del p oblema ......................................... 29
Tabla 4. Ac o es p incipales del sis ema ............................................................................. 32
Tabla 5. Tabla de especi icación de los casos de uso............................................................ 33
Tabla 6. Tabla de especi icación del caso de uso "Ges iona empleados" ............................. 34
Tabla 7. Caso de uso: Inicia sesión en el panel de adminis ación ....................................... 53
Tabla 8. Caso de uso: C ea ob a ........................................................................................ 54
Tabla 9. Caso de uso: Ges iona ob a .................................................................................. 55
Tabla 10. Ges iona a eas ................................................................................................. 56
Tabla 11. Caso de uso: Añadi a ea .................................................................................... 57
Tabla 12. Caso de uso: Elimina a ea ................................................................................. 58
Tabla 13. Caso de uso: Edi a a ea ..................................................................................... 59
Tabla 14. Caso de uso: Añadi sub a ea .............................................................................. 60
Tabla 15. Caso de uso: Impo a a eas ............................................................................... 61
Tabla 16. Caso de uso: Ges iona ma e ial .......................................................................... 62
Tabla 17. Caso de uso: Añadi ma e ial ............................................................................... 63
Tabla 18. Caso de uso: Edi a ma e ial ................................................................................ 64
Tabla 19. Caso de uso: Impo a ma e ial ........................................................................... 65
Tabla 20. Caso de uso: Ges iona adjun os .......................................................................... 66
Tabla 21. Caso de uso: Añadi adjun o ................................................................................ 67
Tabla 22. Caso de uso: Elimina adjun o ............................................................................. 68
Tabla 23. Caso de uso: Cambia es ado de una ob a ............................................................ 69
Tabla 24. Caso de uso: Ce i ica ob a ................................................................................. 70
Tabla 25. Caso de uso: Regis a empleados ....................................................................... 71
Tabla 26. Caso de uso: Ges iona empleados ...................................................................... 72
Tabla 27. Caso de uso: Edi a empleado ............................................................................. 73
Tabla 28. Caso de uso: Elimina empleado .......................................................................... 74
Tabla 29. Caso de uso: No i ica empleado ......................................................................... 75
Tabla 30. Caso de uso: Visualiza empleado ........................................................................ 76
Tabla 31. Caso de uso: Inicia sesión en la APP .................................................................... 77
Tabla 32. Caso de uso: Visualiza ob a ................................................................................ 78
Tabla 33. Caso de uso: Ges iona a chi os adjun os a a ea................................................. 79
Tabla 34. Caso de uso: Adjun a a chi o ............................................................................. 80
Ál a o Rome o Pe domo | 8
Tabla 35. Caso de uso: Elimina a chi os de una a ea ........................................................ 81
Tabla 36. Caso de uso: Añadi a eas a ob a (empleado) ..................................................... 82
Tabla 37. Caso de uso: No i ica incidencia ......................................................................... 83
Tabla 38. Especi icación de la en idad Ob as en la base de da os ......................................... 91
Tabla 39. Especi icación de la en idad Ta eas en la base de da os........................................ 92
Tabla 40. Especi icación de la en idad Ma e ial en la base de da os..................................... 92
Tabla 41. Especi icación de la en idad Usua ios en la base de da os .................................... 92
Tabla 42. Documen ación de acceso a la en idad Au en icación .......................................... 93
Tabla 43. Documen ación de acceso a la en idad Ob as ...................................................... 93
Tabla 44. Documen ación de acceso a la en idad Ma e iales ............................................... 93
Tabla 45. Documen ación de acceso a la en idad Usua ios .................................................. 94
Tabla 46. Documen ación de acceso a la en idad Subidas en la API REST ............................. 94
Ál a o Rome o Pe domo | 9
Es uc u a del documen o
Du an e el desa ollo de la memo ia, hemos decidido di idi la en cinco g andes bloques
que aba can la o alidad del p oyec o.
1. Bloque 1. In oducción y Con ex ualización: En es e bloque p esen a emos el p oblema
que p e ende esol e el p oyec o y su con ex o. Además, se p esen an las soluciones
ac uales que u ilizan los usua ios, qué apo a es e p oyec o y qué compe encias cub e.
2. Bloque 2. Desa ollo del p oyec o: En es e bloque se ecogen las di e en es ases po
las que hemos pasado du an e el desa ollo del p oyec o. Los p oblemas con los que
nos hemos ido encon ando du an e su desa ollo y qué decisiones hemos omado.
3. Bloque 3. Conclusiones y T abajos Fu u os: A lo la go de es e bloque conclui emos la
memo ia e lexionando ace ca de qué nos ha apo ado es e p oyec o y suge i emos qué
pod ía inclui u u as e siones del desa ollo.
4. Bloque 4. Fuen es de In o mación: Aquí ecoge emos las uen es de in o mación
u ilizadas du an e el desa ollo del p oyec o.
5. Bloque 5. Anexos: Comple a emos la memo ia a a és de los anexos que apo a án
in o mación adicional a consul a si el lec o lo desea.
Como comen a emos en la in oducción, debemos adelan a que es e p oyec o ha sido
di idido desde el p incipio en es g andes pa es, una conjun a y dos desa olladas po
di e en es alumnos. Po lo que ambas memo ias siguen una es uc u a muy simila y compa en
g andes simili udes en su desa ollo a excepción del apa ado de implemen ación, abajos
u u os y aquellos in ínsecamen e pe sonales como las conclusiones.
Ál a o Rome o Pe domo | 16
Es a compe encia queda cubie a po pa e del alumno po que en es e p oyec o:
• Se ha ga an izado la pe sis encia de los da os in oducidos en la misma median e la
u ilización de una base de da os no elacional MongoDB, que pe mi e el acceso a los
da os de mane a ápida, sencilla y segu a.
CII16
Conocimien o y aplicación de los p incipios, me odologías y ciclos de ida de la ingenie ía
de so wa e.
Es a compe encia queda cubie a po pa e del alumno po que en es e p oyec o:
• Se han aplicado p incipios de la ingenie ía del so wa e ales como la modula idad en la
a qui ec u a y el código que pe mi en la ampliación de la he amien a en u u as
i e aciones y la e ac o ización del código pa a acili a su man enimien o.
CII17
Capacidad pa a diseña y e alua in e aces pe sona compu ado que ga an icen la
accesibilidad y usabilidad a los sis emas, se icios y aplicaciones in o má icas.
Es a compe encia queda cubie a po pa e del alumno po que en es e p oyec o:
• Se ha hecho uso de lib e ías como Angula JS Ma e ial basadas en Google Ma e ial, cuyo
obje i o es la accesibilidad de la in e az y su usabilidad.
TFG01
Eje cicio o iginal a ealiza indi idualmen e y p esen a y de ende an e un ibunal
uni e si a io, consis en e en un p oyec o en el ámbi o de las ecnologías especí icas
de la Ingenie ía en In o má ica de na u aleza p o esional en el que se sin e icen in eg en
las compe encias adqui idas en las enseñanzas.

Ál a o Rome o Pe domo | 17
1.6. Apo aciones
Es e p oyec o a a de esol e un p oblema eal a a és del desa ollo de un po al
web de adminis ación, una API Res y una aplicación mó il uncionales, in en ando además
ealiza una apo ación ecnológica, económica y social.
En el plano ecnológico in en amos da un en oque más inno ado y ac ual a la ges ión
de ob as po pa e de la emp esa ins alado a apo ando un so wa e capaz de, p ác icamen e,
abs ae an o al empleado como al adminis ado de complicados y poco o odoxos mé odos
de aspaso de in o mación, con i iendo es e p oceso en algo más simple y a la misma ez más
obus o. Pa a consegui es e in se ha hecho uso de ecnologías ac uales en el campo del
desa ollo web ales como el S ack MEAN. Además, la in e az de usua io an o del po al de
adminis ación como de la aplicación mó il es á basada en es ánda es ac uales como el Ma e ial
Design.
Desde el pun o de is a económico, es e p oyec o pe mi e a las emp esas ins alado as
de ib a óp ica ac u a a las p o eedo as de in e ne de mane a e icien e e in achable e i ando
así pé didas eales de dine o pa a ellas de i adas de la pé dida de in o mación necesa ia pa a la
ce i icación y ac u ación de una ob a debida a la o ma en que és a e a ges ionada.
En el ámbi o social la aplicación a a de acili a el abajo a los empleados que, a la
ho a de gene a in o mación necesa ia pa a la ce i icación, debían u iliza a ias aplicaciones
en su disposi i o pa a in e cambia la con el enca gado de la ob a. Aho a disponen de una
aplicación cen alizada y especí ica pa a el con ol de la in o mación que les pe mi e aho a
iempo y ealiza las mismas a eas de una mane a mucho más sencilla.
Desde el pun o de is a del enca gado de la ob a se ha acili ado en g an medida el
abajo o ganiza i o que és e debía hace an o a la ho a de comenza una nue a ob a, como a
la ho a de ce i ica la misma.
Ál a o Rome o Pe domo | 18
1.7. Recu sos
1.7.1. Recu sos so wa e
A con inuación, se exponen las he amien as so wa e u ilizadas pa a el desa ollo del
p oyec o.
Sis emas ope a i os
El p oyec o ha sido ealizado en es en o nos di e en es como son Windows 10, Ubun u
16.04 y Mac OS.
En un p incipio se decidió abaja en Windows 10 y en Mac Os pa alelamen e, pe o la
ins alación de MongoDB en Linux e a mucho más di ec a y p esen aba menos p oblemas en
compa ación con su e sión en Windows.
Sis ema de con ol de e siones del código, GIT
Gi es un so wa e de con ol de e siones diseñado po Linus To alds, pensando en la
e iciencia y la con iabilidad del man enimien o de e siones de aplicaciones cuando és as ienen
un g an núme o de a chi os de código uen e.
Gi se ha con e ido en un sis ema de con ol de e siones con uncionalidad plena. Hay
algunos p oyec os de mucha ele ancia que ya usan Gi , en pa icula , el g upo de p og amación
del núcleo Linux.
Den o de Gi hemos u ilizado la me odología de abajo, gi - low. Sus ca ac e ís icas
p incipales son las siguien es.
El abajo se o ganiza en dos amas p incipales:
• Rama mas e : cualquie commi que pongamos en es a ama debe es a p epa ado pa a
subi a p oducción
• Rama de elop: ama en la que es á el código que con o ma á la siguien e e sión
plani icada del p oyec o
Cada ez que se inco po a código a mas e , enemos una nue a e sión.
Además de es as dos amas, Se p oponen las siguien es amas auxilia es:
• Fea u e.
• Release.
• Ho ix.
Ál a o Rome o Pe domo | 19
Edi o de ex o/código, A om
A om es un edi o de código pa a macOS, Linux, y Windows con sopo e pa a plugins
esc i o en NodeJS, inc us ando Gi Con ol, desa ollado po Gi Hub.
A om es una aplicación de esc i o io cons uida u ilizando ecnologías web. La mayo
pa e de los paque es ienen licencias de so wa e lib e y es cons uido y man enido po su
comunidad. A om es á basado en Elec ón (An e io men e conocido como A om Shell), un
amewo k que pe mi e aplicaciones de esc i o io mul ipla a o ma usando Ch omium y Node.js.
Es á esc i o en Co eeSc ip y Less. También puede se u ilizado como un en o no de
desa ollo in eg ado (IDE).
Los lenguajes sopo ados po A om son los siguien es: HTML, CSS, Menos, Sass, Gi Hub
Sazonó Ma kdown, C/C++, C#, Va, Ja a, Obje i o-C, Ja asc ip , JSON, Co eeSc ip , Py hon, PHP,
Ruby, Ruby en Raíles, Shell Sc ip , Cloju e, Pe l, Gi , Ma ca, P ope y Lis (Apple), TOML, XML,
YAML, Mus ache, Julia & SQL.
Lenguaje de p og amación, Ja aSc ip
Ja aSc ip (ab e iado comúnmen e JS) es un lenguaje de p og amación in e p e ado,
dialec o del es ánda ECMASc ip . Se de ine como o ien ado a obje os, basado en p o o ipos,
impe a i o, débilmen e ipado y dinámico.
Se u iliza p incipalmen e en su o ma del lado del clien e (clien -side), implemen ado
como pa e de un na egado web pe mi iendo mejo as en la in e az de usua io y páginas web
dinámicas, aunque exis e una o ma de Ja aSc ip del lado del se ido (Se e -side Ja aSc ip o
SSJS). Su uso en aplicaciones ex e nas a la web, po ejemplo, en documen os PDF, aplicaciones
de esc i o io (mayo i a iamen e widge s) es ambién signi ica i o.
Las ca ac e ís icas p incipales de Ja aSc ip son las siguien es:
• Ja aSc ip es un lenguaje de secuencias de comandos basado en obje os e in e p e ado.
• Aunque iene menos capacidades que los lenguajes o ien ados a obje os de al as
p es aciones como C++ y Ja a, Ja aSc ip es más que su icien emen e e icien e pa a los
p opósi os pa a los que es á c eado.
• Ja aSc ip no es una e sión educida de cualquie o o lenguaje (sólo es á elacionado,
dis an e e indi ec amen e, con Ja a, po ejemplo), ni es una simpli icación de ningún
lenguaje.
• Ja aSc ip es un lenguaje limi ado. Po ejemplo, no es posible esc ibi aplicaciones
independien es en Ja aSc ip y la capacidad de lec u a y esc i u a de a chi os es mínima.
• Las secuencias de comandos de Ja aSc ip sólo pueden ejecu a se con un in é p e e,
que bien puede es a en un se ido Web o en un explo ado de Web.
• Ja aSc ip es un lenguaje en el que no necesi a decla a los ipos de da os. Es o signi ica
que no es necesa io decla a explíci amen e los ipos de da os de las a iables. De
hecho, no es posible decla a explíci amen e los ipos de da os en Ja aSc ip . Más aún,
en muchos casos Ja aSc ip ealiza con e siones, au omá icamen e, cuando son
Ál a o Rome o Pe domo | 20
necesa ias. Po ejemplo, si in en a ag ega un núme o a un elemen o que con iene ex o
(una cadena), el núme o se con ie e en ex o.
NodeJS
Node.js es un en o no en iempo de ejecución mul ipla a o ma, de código abie o, pa a
la capa del se ido (pe o no limi ándose a ello) basado en el lenguaje de p og amación
ECMASc ip , asínc ono, con I/O de da os en una a qui ec u a o ien ada a e en os y basado en
el mo o V8 de Google.
Fue c eado con el en oque de se ú il en la c eación de p og amas de ed al amen e
escalables, como, po ejemplo, se ido es web. Fue c eado po Ryan Dahl en 2009 y su e olución
es á apad inada po la emp esa Joyen , que además iene con a ado a Dahl en plan illa.
Node.js es una o ma de ejecu a Ja aSc ip en el se ido , además de mucho más.
Además de la al a elocidad de ejecución de Ja asc ip , la e dade a magia de ás de Node.js es
algo que se llama Bucle de E en os (E en Loop).
Pa a escala g andes olúmenes de clien es, odas las ope aciones in ensi as I/O en
Node.js se lle an a cabo de o ma asínc ona. El en oque adicional pa a gene a código
asínc ono es engo oso y c ea un espacio en memo ia no i ial pa a un g an núme o de clien es
(cada clien e gene a un hilo, y el uso de memo ia de cada uno se suma).
Pa a e i a es a ine iciencia, así como la di icul ad conocida de las aplicaciones basadas
en hilos, (p og amming h eaded applica ions), Node.js man iene un e en loop que ges iona
odas las ope aciones asínc onas.
Angula JS
Angula JS (comunalmen e llamado "Angula " o "Angula .js"), es un amewo k de
Ja aSc ip de código abie o, man enido po Google, que se u iliza pa a c ea y man ene
aplicaciones web de una sola página. Su obje i o es aumen a las aplicaciones basadas en
na egado con capacidad de Modelo Vis a Con olado (MVC), en un es ue zo pa a hace que el
desa ollo y las p uebas sean más áciles.
La biblio eca lee el HTML que con iene a ibu os de las e ique as pe sonalizadas
adicionales, en onces obedece a las di ec i as de los a ibu os pe sonalizados, y une las piezas
de en ada o salida de la página a un modelo ep esen ado po las a iables es ánda de
Ja aSc ip . Los alo es de las a iables de Ja aSc ip se pueden con igu a manualmen e, o
ecupe ados de los ecu sos JSON es á icos o dinámicos.
Angula JS se puede combina con el en o no en iempo de ejecución Node.js, el
amewo k pa a se ido Exp ess.js y la base de da os MongoDB pa a o ma el conjun o MEAN.
Ál a o Rome o Pe domo | 21
MongoDB
MongoDB (de la palab a en inglés “humongous” que signi ica eno me) es un sis ema de
base de da os NoSQL o ien ado a documen os, desa ollado bajo el concep o de código abie o.
MongoDB o ma pa e de la nue a amilia de sis emas de base de da os NoSQL. En luga
de gua da los da os en ablas como se hace en las bases de da os elacionales, MongoDB gua da
es uc u as de da os en documen os simila es a JSON con un esquema dinámico (MongoDB
u iliza una especi icación llamada BSON), haciendo que la in eg ación de los da os en cie as
aplicaciones sea más ácil y ápida.
Las ca ac e ís icas p incipales de MongoDB son:
• De p opósi o gene al, casi an ápida como las bases de da os NoSQL de ipo cla e: alo ,
y con casi odas las uncionalidades de las bases de da os elacionales.
• Al a disponibilidad.
• Escalabilidad, desde un se ido aislado a a qui ec u as dis ibuidas de g andes clus e s.
• Agg ega ion F amewo k, p ocesamien o ba ch de da os pa a cálculos ag upados
u ilizando ope aciones na i as de MongoDB.
• Au o balanceado de ca ga, a a és de dis in os sha ds.
• Replicación na i a, sinc onización de da os en e se ido es.
• Segu idad, au en icación, au o ización, e c.
• Ges ión a anzada de usua ios.
• Au oma ic ailo e .
• Se ac ualiza sin deja de da se icio.
• No iene los cuellos de bo ella que se p oducen en las bases de da os elacionales
(RDBMS).
• U iliza obje os JSON pa a gua da y ansmi i la in o mación.
En el desa ollo de la aplicación u ilizamos Mongoose como d i e de Mongo, lo que nos
pe mi ió c ea esquemas que luego se e ían e lejados en la base de da os de mane a mucho
más cla a y di ec a.
Exp essJS
Exp essJS o simplemen e Exp ess, es un amewo k pa a el desa ollo de aplicaciones
web pa a NodeJS dis ibuido de mane a lib e y g a ui a bajo licencia MIT. Es á diseñado pa a
cons ui aplicaciones web y APIs. Se le conside a el amewo k del lado del se ido es ánda
pa a NodeJS. Po lo an o, pod íamos deci que Exp essJS es una in aes uc u a de aplicaciones
web Node.js mínima y lexible que p opo ciona un conjun o sólido de ca ac e ís icas pa a las
aplicaciones web y mó iles.

Ál a o Rome o Pe domo | 22
JSON
JSON, ac ónimo de Ja aSc ip Objec No a ion, es un o ma o de ex o lige o pa a el
in e cambio de da os. JSON es un subconjun o de la no ación li e al de obje os de Ja asc ip
aunque hoy, debido a su amplia adopción como al e na i a a XML, se conside a un o ma o de
lenguaje independien e.
Una de las en ajas de JSON sob e XML como o ma o de in e cambio de da os es que
es mucho más sencillo esc ibi un analizado sin ác ico (pa se ) de JSON. En Ja aSc ip , un ex o
JSON se puede analiza ácilmen e usando la unción e al, lo cual ha sido undamen al pa a que
JSON haya sido acep ado po pa e de la comunidad de desa ollado es AJAX, debido a la
ubicuidad de Ja aSc ip en casi cualquie na egado web.
Ionic
Ionic es un amewo k open sou ce pa a el desa ollo de aplicaciones híb idas que
pe mi e c ea aplicaciones mul ipla a o ma u ilizando HTML5 op imizado pa a mó il, CSS3,
componen es Ja aSc ip , ges os y he amien as pa a la cons ucción de aplicaciones al amen e
in e ac i as. Cons uido con Sass y op imizado pa a Angula JS pe mi e asegu a aplicaciones
obus as, ápidas y escalables.
Las aplicaciones son híb idas, ¿Qué quie e deci eso? Que puedes desa olla una misma
aplicación y ejecu a la en And oid, iOS y Windows Phone sin ene que desa olla la en el
co espondien e lenguaje na i o de cada pla a o ma.
Una de las ca ac e ís icas de Ionic F amewo k es que es á cons uido pa a se ápido
debido a la mínima manipulación del DOM, sin u iliza jQue y y con acele aciones de ansiciones
po ha dwa e.
HTML
HTML, sigla en inglés de Hype Tex Ma kup Language (lenguaje de ma cas de
hipe ex o), hace e e encia al lenguaje de ma cado pa a la elabo ación de páginas web. Es un
es ánda que si e de e e encia del so wa e que conec a con la elabo ación de páginas web en
sus di e en es e siones, de ine una es uc u a básica y un código (denominado código HTML)
pa a la de inición de con enido de una página web, como ex o, imágenes, ideos, juegos, en e
o os. Es un es ánda a ca go del Wo ld Wide Web Conso ium (W3C) o Conso cio WWW,
o ganización dedicada a la es anda ización de casi odas las ecnologías ligadas a la web, sob e
odo en lo e e en e a su esc i u a e in e p e ación. Se conside a el lenguaje web más
impo an e siendo su in ención c ucial en la apa ición, desa ollo y expansión de la Wo ld Wide
Web (WWW). Es el es ánda que se ha impues o en la isualización de páginas web y es el que
odos los na egado es ac uales han adop ado.
El lenguaje HTML basa su iloso ía de desa ollo en la di e enciación. Pa a añadi un
elemen o ex e no a la página (imagen, ídeo, sc ip , en e o os.), es e no se inc us a
di ec amen e en el código de la página, sino que se hace una e e encia a la ubicación de dicho
Ál a o Rome o Pe domo | 23
elemen o median e ex o. De es e modo, la página web con iene solamen e ex o mien as que
ecae en el na egado web (in e p e ado del código) la a ea de uni odos los elemen os y
isualiza la página inal. Al se un es ánda , HTML busca se un lenguaje que pe mi a que
cualquie página web esc i a en una de e minada e sión, pueda se in e p e ada de la misma
o ma (es ánda ) po cualquie na egado web ac ualizado.
Gi Hub
Gi Hub es una o ja (pla a o ma de desa ollo colabo a i o) pa a aloja p oyec os
u ilizando el sis ema de con ol de e siones Gi . U iliza el amewo k Ruby on Rails po Gi Hub,
Inc. (an e io men e conocida como Logical Awesome). Desde ene o de 2010, Gi Hub ope a bajo
el nomb e de Gi Hub, Inc. El código se almacena de o ma pública, aunque ambién se puede
hace de o ma p i ada, c eando una cuen a de pago.
CSS
Hojas de es ilo en cascada (o CSS, siglas en inglés de Cascading S yleshee s) es un
lenguaje de diseño g á ico pa a de ini y c ea la p esen ación de un documen o es uc u ado
esc i o en un lenguaje de ma cado. Es muy usado pa a es ablece el diseño isual de las páginas
web, e in e aces de usua io esc i as en HTML o XHTML; el lenguaje puede se aplicado a
cualquie documen o XML, incluyendo XHTML, SVG, XUL, RSS, e cé e a. También pe mi e aplica
es ilos no isuales, como las hojas de es ilo audi i as.
Jun o con HTML y Ja aSc ip , CSS es una ecnología usada po muchos si ios web pa a
c ea páginas isualmen e a ac i as, in e aces de usua io pa a aplicaciones web, y GUIs pa a
muchas aplicaciones mó iles (como Fi e ox OS).
CSS es á diseñado p incipalmen e pa a ma ca la sepa ación del con enido del
documen o y la o ma de p esen ación de es e, ca ac e ís icas ales como las capas, los colo es
y las uen es. Es a sepa ación busca mejo a la accesibilidad del documen o, p o ee más
lexibilidad y con ol en la especi icación de ca ac e ís icas, pe mi i que a ios documen os
HTML compa an un mismo es ilo usando una sola hoja de es ilos sepa ada en un a chi o .css,
y educi la complejidad y la epe ición de código en la es uc u a del documen o.
Lib e ías u ilizadas
En in o má ica, una lib e ía (del inglés lib a y) es un conjun o de implemen aciones
uncionales, codi icadas en un lenguaje de p og amación, que o ece una in e az bien de inida
pa a la uncionalidad que se in oca.
A di e encia de un p og ama ejecu able, el compo amien o que implemen a una
lib e ía no espe a se u ilizada de o ma au ónoma (un p og ama sí: iene un pun o de en ada
p incipal), sino que su in es se u ilizada po o os p og amas, independien es y de o ma
simul ánea. Po o a pa e, el compo amien o de una lib e ía no iene po qué di e encia se en
demasía del que pudie a especi ica se en un p og ama. Es más, unas lib e ías pueden eque i
Ál a o Rome o Pe domo | 24
de o as pa a unciona , pues el compo amien o que de inen e ina, o al e a, el
compo amien o de la biblio eca o iginal; o bien la hace disponible pa a o a ecnología o
lenguaje de p og amación.
Las lib e ías u ilizadas pa a el desa ollo an o on -end como back-end de la aplicación
han sido:
• Ma e ializeCss: Es un mode no amewo k pa a CSS basado en el Ma e ial Design de
Google. Es a lib e ía acili a en g an medida el abajo de maque ación y colocación de
elemen os en HTML g acias a módulos ya implemen ados que siguen el es ánda
esponsi e.
• Angula JS Ma e ial: Angula JS Ma e ial es un amewo k de in e aces de usua io. Es e
p oyec o p opo ciona un conjun o de componen es de in e az de usua io eu ilizables,
p obados y accesibles basados en ma e ial design.
Pencil P ojec
So wa e lib e de c eación d ag n’ d op de p o o ipos no uncionales. Pe mi e la
gene ación de in e aces de usua io complejas.
UML
El lenguaje uni icado de modelado (UML, po sus siglas en inglés, Uni ied Modeling
Language) es el lenguaje de modelado de sis emas de so wa e más conocido y u ilizado en la
ac ualidad; es á espaldado po el Objec Managemen G oup (OMG).
Es un lenguaje g á ico pa a isualiza , especi ica , cons ui y documen a un sis ema.
UML o ece un es ánda pa a desc ibi un "plano" del sis ema (modelo), incluyendo aspec os
concep uales ales como p ocesos, unciones del sis ema, y aspec os conc e os como
exp esiones de lenguajes de p og amación, esquemas de bases de da os y compues os
eciclados.
Es impo an e ema ca que UML es un "lenguaje de modelado" pa a especi ica o pa a
desc ibi mé odos o p ocesos. Se u iliza pa a de ini un sis ema, pa a de alla los a e ac os en
el sis ema y pa a documen a y cons ui . En o as palab as, es el lenguaje en el que es á desc i o
el modelo.
S a UML
So wa e de modelado bajo el es ánda UML u ilizado pa a el diseño de los diag amas
de casos de uso.
1.7.2. Recu sos ha dwa e
Ál a o Rome o Pe domo | 25
Du an e el desa ollo del p oyec o se u iliza on di e en es equipos (con di e en es
sis emas ope a i os) pa a comp oba el compo amien o del po al de adminis ación en
di e en es na egado es.
Es os equipos u ilizados ue on es undamen almen e:
• Po á il HP Pa ilion g6 con sis ema ope a i o Ubun u 16.04 y na egado es Mozilla
Fi e ox y Google Ch ome.
• O denado de sob emesa con sis ema ope a i o Windows 10 y na egado es Mozilla
Fi e ox y Google Ch ome.
• Po á il Macbook p o 15' con sis ema ope a i o MacOS Sie a y na egado Google
Ch ome.
Ál a o Rome o Pe domo | 32
Asimismo, se desea el desa ollo de una aplicación mó il pa a los empleados que debe
da les la posibilidad de:
• Inicia sesión en ella y ene acceso a las ob as que engan asignadas.
• Consul a el es ado de ealización de la misma median e la lis a de a eas pendien es.
• Cambia el es ado de una a ea pe enecien e a la ob a.
• Adjun a in o mación ela i a a la ealización de una a ea den o de la ob a que pe mi a
la ce i icación de la misma.
• C ea nue as a eas.
• Ges ión de incidencias ela i as a la ob a que pe mi an la comunicación bidi eccional
en e adminis ado y empleado.
• La aplicación debe se mul ipla a o ma.
Pos e io men e a la segunda eunión y debido al g an núme o de equisi os ya
especi icados, decidimos aco a qué aspec os aba ca ía nues o p oyec o. Pa a ello p io izamos
en los equisi os y casos de uso más impo an es, decidimos gene a un diag ama de casos de
uso, así como un documen o asociado que nos pe mi ie a isualiza los de mane a más sencilla
y nos ga an iza a una isión global del p oyec o.
2.1.6. Iden i icación de ac o es p incipales del sis ema
Du an e el p oceso de análisis iden i icamos los siguien es ac o es que in e ac ua ían con el
sis ema.
Ac o
Desc ipción
Adminis ado
Usua io p incipal del sis ema es capaz de c ea ob as y asigna
empleados a ella, además puede ce i ica las ob as. También
puede da de al a a empleados den o del sis ema a a és del
panel de adminis ación.
Empleado
Usua io p incipal de la aplicación mó il del p oyec o dónde
pod á ac ualiza el es ado de una ob a median e la ealización
de a eas que enga asignadas.
Tabla 4. Ac o es p incipales del sis ema

Ál a o Rome o Pe domo | 33
2.1.7. Especi icación y diag amas de casos de uso
A con inuación, mos amos la abla de especi icación de los casos de uso que, a a és
de la e apa de análisis c eemos que debe ían cumpli las aplicaciones del p oyec o pa a esol e
el p oblema en su o alidad.
Ac o p incipal
Casos de uso
Adminis ado
1. Inicia sesión en panel de adminis ación
Adminis ado
2. C ea ob a
Adminis ado
3. Ges iona ob a
3.1. Ges iona a eas
3.1.1. Añadi a ea
3.1.2. Elimina a ea
3.1.3. Edi a a ea
3.1.3.1. Añadi sub a ea
3.2. Impo a a ea
3.3. Ges iona ma e ial
3.3.1. Añadi ma e ial
3.3.2. Elimina ma e ial
3.4. Impo a ma e ial
3.5. Ges iona adjun os
3.5.1. Añadi adjun o
3.5.2. Elimina adjun o
3.6. Cambia es ado (ob a)
3.7. Ce i ica ob a
Adminis ado
4. Regis a empleados
Adminis ado
5. Ges iona empleados
5.1. Edi a empleado
5.2. Elimina empleado
5.3. No i ica empleado
5.4. Visualiza empleado
Empleado
6. Inicia sesión en la app
Empleado
7. Visualiza ob a
Empleado
8. Ges iona a chi os adjun os a a ea
8.1. Adjun a a chi o adjun o a a ea
8.2. Elimina a chi o adjun o a a ea
Empleado
9. Añadi a ea a ob a
Empleado
10. Cambia es ado ( a ea)
Empleado
11. No i ica incidencia
Tabla 5. Tabla de especi icación de los casos de uso
Como hemos dicho an e io men e, po cues ión de limi ación en el núme o de ho as
del TFT, debimos aco a qué casos de uso no se iban a implemen a du an e el desa ollo del
p oyec o, es ando es os sub ayados en la abla 2.1.3.
A modo de ilus ación ambién hemos que ido añadi el caso de uso del adminis ado ,
Ges iona empleados, aunque la especi icación y diag ama comple os puede encon a se en el
anexo I.
Ál a o Rome o Pe domo | 34
Nomb e
Ges iona empleados
ID
5
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode edi a /bo a empleados del sis ema.
Desc ipción:
El ADMINISTRADOR puede edi a la in o mación de un empleado ya exis en e, así como
elimina el mismo si ue a necesa io.
P econdición:
El ADMINISTRADOR debe es a au en icado y exis i al menos un empleado a
edi a /bo a en el sis ema.
Pos condición:
1. La in o mación del empleado queda ac ualizada.
2. El empleado queda eliminado del sis ema.
Flujo no mal:
1. El ADMINISTRADOR accede al po al de adminis ación.
2. El ADMINISTRADOR accede a la is a de los empleados.
3. El ADMINISTRADOR selecciona el empleado que desea ges iona .
a. Edi a empleado (5.1).
b. Bo a empleado (5.2).
c. No i ica empleado (5.3).
d. Visualiza empleado (5.4).
Flujo al e na i o:
Tabla 6. Tabla de especi icación del caso de uso "Ges iona empleados"
Ál a o Rome o Pe domo | 35
2.2. Diseño
La e apa de diseño se desc ibe como el p oceso de aplica dis in as écnicas y p incipios
con el p opósi o de de ini un disposi i o, p oceso o sis emas con los su icien es de alles como
pa a pe mi i su desa ollo. El obje i o del diseñado es p oduci un modelo o ep esen ación
de una en idad que se á cons uida más adelan e.
2.2.1. Componen es del sis ema
Du an e la ase de análisis iden i icamos dos g andes módulos so wa e que
comp ende ían el p oyec o, po un lado, el po al de adminis ación y po o o lado una
aplicación mó il. Es os dos módulos es a ían alimen ados de una única base de da os y ambos
ha ían labo es de lec u a y esc i u a sob e la misma, po lo que decidimos que se hacía necesa ia
la c eación de una API REST u ilizando pa a ello el s ack MEAN. De es e modo ambién
cub i íamos la necesidad de ap endizaje de nue as ecnologías de desa ollo web que eníamos
pa a es e p oyec o.
De es a mane a de inimos pa a el p oyec o una a qui ec u a clien e-se ido .
Es a a qui ec u a se di ide en dos pa es cla amen e di e enciadas, la p ime a es la pa e
del se ido y la segunda la de un conjun o de clien es (siendo dos los clien es en es e caso:
po al de adminis ación y aplicación pa a empleados).
No malmen e el se ido es una máquina bas an e po en e que ac úa de depósi o de
da os y unciona como un sis ema ges o de base de da os (SGBD).
Po o o lado, los clien es suelen se es aciones de abajo que solici an a ios se icios
al se ido .
Ambas pa es deben es a conec adas en e sí median e una ed.
En la ilus ación 2 se mues a una ep esen ación g á ica de es e ipo de a qui ec u a:
Ilus ación 2. Rep esen ación g á ica de una a qui ec u a clien e-se ido
El clien e ealiza pe iciones a un se ido y és e le esponde o eciéndole un
de e minado se icio.
Ál a o Rome o Pe domo | 36
2.2.2. U ilización del pa ón de diseño Modelo – Vis a – Con olado (MVC)
Desde el p incipio de la e apa de diseño decidimos que íbamos a cons ui an o el po al
de adminis ación como la aplicación des inada a los empleados. Pa a ello, se ha ía uso
del s ack MEAN, po lo que pa a el lado del clien e cons ui íamos las aplicaciones en
Angula JS implemen ando és e el pa ón de diseño Model View Con olle (MVC) en el
desa ollo de aplicaciones web.
En el siguien e diag ama podemos obse a la in e acción en e los di e en es
componen es.
Ilus ación 3. In e acción de componen es con Angula JS
2.2.3. Desa ollo híb ido con Ionic
Pa a el desa ollo de la aplicación mó il decidimos op a po un desa ollo híb ido
po que, apa e de pe mi i nos cumpli los equisi os del p oyec o (compa ibilidad en a ios
disposi i os), cub íamos así la necesidad de ap endizaje del desa ollo de aplicaciones mó iles.
Además, conside amos que el ap endizaje de las ecnologías web se ía mucho más
ápido que el ap endizaje de ecnologías necesa ias pa a el desa ollo na i o de las aplicaciones,
po lo que és e ue un mo i o más que nos hizo decidi nos po un desa ollo híb ido pa a la
aplicación mó il.
Ál a o Rome o Pe domo | 37
2.2.4. Es uc u a y en idades de la base de da os
Las bases de da os en MongoDB es án o madas po esquemas en luga de po ablas
como en una base de da os elacional común como puede se MySQL. Siguiendo es a
nomencla u a y a a és del siguien e diag ama, nues a base de da os es á o mada po los
siguien es esquemas.
Ilus ación 4. Diag ama de en idades de la base de da os
Aunque en un p incipio no nos lo habíamos plan eado, decidimos inclui en la base de
da os el esquema Equipmen , de mane a que el sis ema pudie a almacena el ma e ial que se
iba añadiendo a las di e en es ob as y és e pod ía se eu ilizado, ya que se epe ía con bas an e
ecuencia en e las di e en es ob as.
Debemos añadi que el d i e Mongoose pa a NodeJS acili ó en g an medida la labo de
conexión con la base de da os, pe mi iéndonos abaja en un en o no mucho más ce cano a la
o ien ación de obje os y haciendo que la aducción en la base de da os ue a ins an ánea.
2.2.5. A qui ec u a del po al de adminis ación en Angula JS
Como hemos comen ado an e io men e, decidimos desa olla el p oyec o bajo MEAN
S ack po lo que implemen amos el panel de adminis ación como una aplicación en Angula JS
que se conec aba a una API cons uida en NodeJS.

Ál a o Rome o Pe domo | 38
An es de comenza a abaja con Angula , decidimos cómo íbamos a o ganiza la
aplicación y qué esponsabilidades iba a ene cada iche o. Pa a ello, consul amos las o mas
más comunes en las que se suelen di idi las aplicaciones en Angula JS y escogimos el Pa ón
Especí ico, que se puede obse a a con inuación y que se ca ac e iza po sepa a los se icios y
los con olado es de un mismo elemen o en dis in as ca pe as, consiguiendo así una sepa ación
a su ez de las esponsabilidades de cada iche o.
Ilus ación 5. Je a quía de iche os de una aplicación en Angula JS
Ál a o Rome o Pe domo | 39
2.3. Implemen ación
Es el p oceso de ins ala equipos o so wa e nue o, como esul ado de un análisis y
diseño p e io como esul ado de la si uación o mejo amien o de la o ma de lle a a cabo un
p oceso au oma izado. Al implemen a un sis ema lo p ime o que debemos hace es
asegu a nos qué el sis ema sea ope acional o que uncione de acue do a los eque imien os del
análisis y pe mi i que los usua ios puedan ope a los.
An es de comenza la e apa de implemen ación decidimos di idi la en es g andes
módulos:
1. Desa ollo de API REST en MongoDB y NodeJS que pe mi a el almacenamien o de los
da os y el in e cambio de in o mación en e las di e en es aplicaciones.
2. Desa ollo de un panel de adminis ación que pe mi a la gene ación de ob as, a eas,
empleados y ma e ial asociado.
3. Desa ollo de una aplicación mó il que pe mi a a los empleados la consul a de la ob a
que engan asignada, así como el en ío de in o mación ela i a a las a eas.
En es e módulo amos a a a , sob e odo, el desa ollo de la API Res y el panel de
adminis ación. Habiendo sido el p ime o de los dos desa ollado de mane a conjun a y el
segundo de mane a indi idual.
En la p ime a e apa del desa ollo comenzamos con la con igu ación del se ido de
NodeJS pa a la API REST y la c eación de la base de da os. Ve emos cómo gene amos las
en idades y sus campos en MongoDB a a és de su d i e pa a NodeJS, Mongoose. También
mos a emos la espues a de nues a API REST siendo some ida a in e ogaciones HTTP.
En la segunda e apa del desa ollo y ya con la API REST desa ollada, pasamos a la
implemen ación del po al de adminis ación, di idida, undamen almen e, en es pa es:
1. Sis ema de con ol de usua ios (signup, login y logou ).
2. Visualización de con enido de la base de da os (ob as, empleados, a eas).
3. Ges ión del con enido en la base de da os (c eación, edición y eliminación).
Ál a o Rome o Pe domo | 40
2.3.1. Desa ollo de la API Res en NodeJS y MongoDB
La p ime a e apa de la implemen ación del p oyec o consis ió en el desa ollo de una
API Res que o ecie a un se icio web a se consumido an o po un panel de adminis ación
como po una aplicación mó il. A con inuación, explica emos en qué consis ió dicho p oceso de
desa ollo.
P ime os pasos del desa ollo de la API Res (ins alación de dependencias y con igu ación
del se ido NodeJS)
Como odas es as ecnologías e an nue as pa a noso os, decidimos empeza desde
abajo hacia a iba, po lo que una ez gene ado el di ec o io del p oyec o y habiendo iniciado el
eposi o io Gi , nos dispusimos a ins ala NodeJS. Ya inalizada la ins alación de NodeJS en
nues o o denado nos dispusimos a gene a el iche o package.json, que ecoge la me a-
in o mación elacionada con el p oyec o así como las dependencias que i án siendo necesa ias
a lo la go del desa ollo. A con inuación podemos e la e sión inicial del iche o package.json.
Ilus ación 6. Ve sión inicial del iche o package.json
Una ez especi icadas las dependencias a a és del iche o package.json p ocedimos a
ejecu a el ges o de paque es de NodeJS, npm (node package manage ).
Ya ins aladas las dependencias de la e sión inicial de nues o p oyec o podíamos
empeza a con igu a el se ido NodeJS a a és del iche o se e .js impo ando las
dependencias necesa ias pa a el a anque del mismo, de iniendo las u as de acceso HTTP que
a a ene nues o se ido e indicándole un pue o po el que escucha á la aplicación, en
nues o caso el es mil.
Una ez lanzado el se ido NodeJS pod íamos obse a el siguien e mensaje haciendo
una pe ición GET al se ido a a és del pue o es mil.
Ál a o Rome o Pe domo | 41
Ilus ación 7. Pe ición GET al se ido en el pue o 3000
C eando los modelos de nues a API REST
A la ho a de ealiza nues o modelado de da os pa a la API REST hemos u ilizando el
d i e de MongoDB pa a NodeJS, Mongoose. Hemos decidido usa lo po que apa e de
es uc u a de mejo mane a el acceso a la base de da os po pa e del se ido , ambién nos
pe mi e una mejo a en el código y una mayo modula ización del mismo.
A con inuación, podemos obse a el iche o esumido del esquema de Mongoose
p opues o pa a el modelado de las ob as.
Ilus ación 8. Fiche o esumido del esquema de Mongoose pa a el modelado de las ob as
Es os iche os asociados al modelo de la aplicación decidimos in oduci los en un nue o
di ec o io pa a el p oyec o, models. Po lo que p on o nos dimos cuen a de que debíamos op a
Ál a o Rome o Pe domo | 48
3. Bloque 3. Conclusiones y T abajos Fu u os
3.1. Conclusiones y abajos u u os
Como colo ón, en es e bloque comen a emos, qué ha supues o pa a noso os el
desa ollo del p oyec o, si hemos cumplido nues as expec a i as o ma i as, y qué conclusiones
ex aemos del abajo en equipo de i ado de la compa ición del p oyec o en e dos alumnos.
Finalmen e, indica emos qué uncionalidades han quedado pendien es de desa olla a
causa de la limi ación empo al y una ba e ía de p opues as de mejo a a ene en cuen a en
u u as i e aciones del desa ollo.
3.1.1. Conclusiones sob e el desa ollo del p oyec o
Es e p oyec o, en p ime o luga , ha supues o un e o a ni el pe sonal de mayo ni el al
espe ado en el p ime momen o, ya que es, bajo mi pun o de is a, el en o no más p óximo al
p o esional en el que se puede encon a un alumno de uni e sidad, pues o que debe él mismo
ealiza el desa ollo comple o de un p oyec o desde la e apa de análisis has a la e apa de
documen ación y donde he podido comp oba odas las e apas que o man el desa ollo de
so wa e.
Po o o lado, desde el pun o de is a o ma i o, me ha pe mi ido la adquisición de
nue os conocimien os elacionados con las ecnologías de desa ollo de aplicaciones web, ales
como el s ack MEAN basado en Ja asc ip y u iliza lib e ías pun e as en el desa ollo de
in e aces de usua io como Angula JS Ma e ial.
No obs an e, pa a el desa ollo del p oyec o he pues o en p ác ica g an pa e del amplio
conocimien o adqui ido den o de la i ulación uni e si a ia, como:
• Diseño y c eación de bases de da os.
• Análisis, diseño e implemen ación de aplicaciones web.
• Conocimien o de las dis in as e apas del desa ollo de so wa e p opues as po la
Ingenie ía del So wa e.
• P o ección y segu idad de en o nos web.
• Diseño de in e aces de usua io.
• A qui ec u a del so wa e.
Es e p oyec o, además, nos ha pe mi ido ene con ac o con un p oblema eal y nos ha
pe mi ido ap ende di e en es es a egias e icaces de esolución an e ellos, con i iéndonos así
en u u os p o esionales más p epa ados de ca a al en o no labo al y p o esional.

Ál a o Rome o Pe domo | 49
Conclusiones de i adas de la compa ición del abajo in de í ulo
Con espec o al abajo en equipo de i ado del desa ollo del p oyec o, debo añadi que
me ha pe mi ido expe imen a cómo unciona el in e cambio de in o mación en e di e en es
miemb os de un equipo de desa ollo y qué he amien as de o ganización y man enimien o del
código exis en ac ualmen e en el me cado, ales como Gi Hub, que nos esul ó de inmensa
ayuda y nos pe mi ió, apa e de un man enimien o e icien e de nues o p opio código, abaja
de mane a indi idual du an e el desa ollo.
Te minada la ase de análisis y diseño de inimos pe ec amen e las a eas que iba a
lle a cada uno du an e el desa ollo y es o nos pe mi ió abaja de mane a independien e
du an e oda la segunda mi ad de la du ación del p oyec o. No obs an e, siemp e pude con a
con el apoyo de mi compañe o, así como de los u o es que se disponían a esol e cualquie
p oblema que se me p esen a a.
Dicho es o, el p oyec o ha pe mi ido pone en p ác ica nociones adqui idas du an e la
ca e a ace ca del abajo en equipo y me ha ace cado a un posible en o no labo al, donde
compa i un p oyec o con un equipo p o esional.
Resul ados ob enidos
En es e apa ado ha emos un b e e eco ido po los obje i os p opues os pa a es e
p oyec o y e emos si es os se han is o cubie os de mane a sa is ac o ia.
Como ci amos en el apa ado de obje i os del p oyec o, la comunicación en e los
empleados de las ob as y el adminis ado de las mismas se ealizaba de mane a poco o odoxa,
esul ando, en muchos casos en e o es en la ansmisión de la in o mación o en la pé dida de
la misma. Con la c eación de la aplicación pa a los empleados de las ob as, es e obje i o se ha
is o cubie o ya que pe mi e al empleado gua da in o mación de las a eas que aya ealizando
en una ob a de mane a inmedia a y e icaz.
Además, median e la c eación de un panel de adminis ación, el enca gado de la ob a
puede isualiza en odo momen o el es ado ac ual de la ob a y asigna de mane a e ec i a
empleados a una de e minada ob a.
Todo es o ha supues o un a ance pa a la emp esa enca gada de la ins alación de la ib a
óp ica, an o en la mane a de comunica se in e namen e con sus empleados, como en la
capacidad de ce i icación de las ob as una ez és as han inalizado, no dando luga a pé didas
de in o mación que pe judica an la ce i icación de la ob a.
Ál a o Rome o Pe domo | 50
3.1.2. T abajos u u os
A pesa de que c eemos que los equisi os p incipales pa a esol e el p oblema p opues o
han quedado sa is echos a a és de la ealización del p oyec o, es cie o que, con mo i o de la
limi ación empo al que supone el abajo in de g ado, han quedado algunos lecos suel os a
ealiza en u u as i e aciones del p oyec o. A con inuación, hacemos e e encia a ellos:
• Au oma ización del p oceso de ce i icación a a és del panel de adminis ación.
• Impo ación de a eas a a és de un Excel dado.
• Impo ación de ma e ial a a és de un Excel dado.
• Au o aco ación y azado de planos dados.
• Cha o comunicación di ec a en e empleado y adminis ado a a és de ambas
aplicaciones.
• Cálculo de es adís icas elacionadas con el endimien o del empleado.
• Sis ema de almacenamien o empo al en la aplicación mó il pa a la ac ualización de la
base de da os con pos e io idad.
• Mejo a del diseño de algunas is as.
• Publica el se icio en un en o no web accesible ex e namen e.
• En ío a los empleados de la geolocalización de las ob as a a és de la API de Google
Maps.
Asimismo, que íamos exp esa una se ie de p opues as de mejo a que se pod ían inclui
ambién en sucesi as i e aciones del p oyec o, pe o que son acceso ias a la esolución del
p oblema p incipal p opues o pa a és e:
• Abs acción que pe mi a la inculación de la aplicación a a ias emp esas ins alado as
simul áneamen e.
• Ac ualiza el po al de adminis ación a Angula 2.
• Implemen ación de es adís icas elacionadas con el olumen de da os manejado po la
aplicación.
• En ío de emails de no i icación a a és del panel de adminis ación a o as compañías
pa a no i ica incidencias.
• Implemen ación de es adís icas elacionadas al lujo económico de i ado de la
ce i icación de las ob as.
Ál a o Rome o Pe domo | 51
4. Bloque 4. Fuen es de In o mación
4.1. Fuen es de in o mación del Bloque 1. In oducción y con ex ualización
• h ps://www.adslzone.ne /2016/04/01/asi-queda-la-cobe u a-despliegue-ac ual-la-
ib a-op ica-espana/
• h ps://es.wikipedia.o g/wiki/A om_(edi o _de_ ex os)
• h ps://es.wikipedia.o g/wiki/Ja aSc ip
• h p://eduma ica.ing.ula. e/eduma ica/Teleclases/Tecniweb/Ingenie ia%20Web/Telec
lase/Ejecucion/P ac icas/Ja aSc ip /Paginas/Ca ac e is icasGene ales.h m
• h ps://es.wikipedia.o g/wiki/Node.js
• h ps://es.wikipedia.o g/wiki/Angula JS
• h ps://es.wikipedia.o g/wiki/Biblio eca_(in o m%C3%A1 ica)
• h ps://es.wikipedia.o g/wiki/MongoDB
• h p://ma e ializecss.com/
• h ps://en.wikipedia.o g/wiki/Exp ess.js
• h p://exp essjs.com/es/
• h p://www.mongodbspain.com/es/2014/08/17/mongodb-cha ac e is ics- u u e/
• h ps://es.wikipedia.o g/wiki/JSON
• h ps://es.wikipedia.o g/wiki/Gi
• h p://ap endegi .com/que-es-gi - low/
• h ps://es.wikipedia.o g/wiki/HTML
• h ps://es.wikipedia.o g/wiki/Hoja_de_es ilos_en_cascada
• h ps://es.wikipedia.o g/wiki/Gi Hub
• h ps://es.wikipedia.o g/wiki/Ley_O g%C3%A1nica_de_P o ecci%C3%B3n_de_Da os_
de_Ca %C3%A1c e _Pe sonal_(Espa%C3%B1a)
• h ps://ma e ial.angula js.o g/la es /
4.2. Fuen es de in o mación del Bloque 2. Desa ollo del p oyec o
• h p:// ilma ygalindez.blogspo .com.es/2011/02/ ases-del-diseno.h ml
• h ps://silkeguabylopez20.wo dp ess.com/2013/05/01/desa ollo-de-p o o ipos/
• h p://equipo.al an.es/desa ollo-aplicaciones-hib idas-mo iles-ionic- amewo k/
• h ps://es.wikipedia.o g/wiki/Modelo%E2%80%93 is a%E2%80%93con olado
• h ps://ca losazaus e.es/blog/como-c ea -una-api- es -usando-node-js/
• h ps://desa olloweb.com/a iculos/uso-bowe -ges o -dependencias.h ml
• h ps://desa olloweb.com/a iculos/a qui ec u a-clien e-se ido .h ml
• h ps://www.genbe ade .com/desa ollo-web/angula -js-modulos-y-a qui ec u a
Ál a o Rome o Pe domo | 52
5. Bloque 5. Anexos
5.1. Anexo 1. Casos de uso
A con inuación, p esen amos el diag ama comple o de casos de uso del p oyec o donde
se mues an odas las in e acciones que pueden ealiza los di e en es ac o es con las
aplicaciones, así como el documen o de especi icación de odos los casos de uso del p oyec o.
Ilus ación 15. Diag ama de casos de uso comple o
Ál a o Rome o Pe domo | 53
Nomb e
Inicia sesión en el panel de adminis ación
ID
1
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e accede al panel de adminis ación.
Desc ipción:
El ADMINISTRADOR, en el panel de adminis ación, accede al sis ema haciendo uso de sus
c edenciales.
P econdición:
El ADMINISTRADOR debe es a egis ado en el sis ema p e iamen e.
Pos condición:
El ADMINISTRADOR es edi igido al panel de adminis ación.
Flujo no mal:
1. El ADMINISTRADOR ab e el panel de adminis ación web.
2. El ADMINISTRADOR in oduce sus c edenciales (usua io y con aseña).
3. El ADMINISTRADOR es conducido al panel p incipal de adminis ación.
Flujo al e na i o:
2.a. C edenciales no álidas:
2.a.1. El sis ema mues a un mensaje de e o .
Tabla 7. Caso de uso: Inicia sesión en el panel de adminis ación

Ál a o Rome o Pe domo | 54
Nomb e
C ea ob a
ID
2
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode c ea ob as.
Desc ipción:
El ADMINISTRADOR c ea una ob a pa a asigna la, al menos, a un empleado.
P econdición:
1. El ADMINISTRADOR debe es a au en icado, accede al panel de adminis ación y debe
pulsa el bo ón “C ea ob a”.
Pos condición:
La ob a se gua da en la base de da os y es accesible pa a el EMPLEADO desde el panel de
abajo de la aplicación mó il y pa a el ADMINISTRADOR desde el panel de p incipal.
Ex ensiones:
1. Añadi a ea (3.1.1)
2. Impo a a ea (3.2)
3. Añadi ma e ial (3.3.1)
4. Impo a ma e ial (3.4)
5. Añadi adjun o (3.5.1)
6. Cambia es ado de la ob a (3.6)
Flujo no mal:
1. El ADMINISTRADOR accede al o mula io de c eación de ob as a a és de la in e az.
2. El ADMINISTRADOR in oduce los da os eque idos en el o mula io básico de c eación de
una ob a y al e mina pulsa en “Con inua ”.
3. El sis ema gua da esa in o mación básica en la base de da os.
4. El ADMINISTRADOR es edi igido a la ges ión/edición de la ob a. Es a acción in oluc a los
siguien es casos de uso:
a. Añadi a ea (3.1.1)
b. Impo a a eas (3.2)
c. Añadi ma e ial (3.3.1)
d. Impo a ma e ial (3.4)
e. Añadi adjun o (3.5.1)
. Cambia es ado de la ob a (3.6)
5. El ADMINISTRADOR pulsa el bo ón “Finaliza ”.
Flujo al e na i o:
Tabla 8. Caso de uso: C ea ob a
Ál a o Rome o Pe domo | 55
Nomb e
Ges iona ob a
ID
3
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode ges iona las ob as.
Desc ipción:
El ADMINISTRADOR edi a una ob a ya c eada.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e.
Pos condición:
La in o mación de la ob a es modi icada.
Flujo no mal:
1. El ADMINISTRADOR accede al po al web y pulsa sob e una de las ob as del lis ado.
2. El ADMINISTRADOR es conducido a la is a de los de alles de la ob a.
3. El ADMINISTRADOR pulsa el bo ón “Modi ica ob a” que apa ece en es a is a y accede al
o mula io de edición de ob as a a és de la in e az.
4. El ADMINISTRADOR modi ica/añade los da os eque idos en el o mula io de edición de
ob as. Es a acción in oluc a los siguien es casos de uso:
a. Ges iona a eas (3.1)
b. Impo a a eas (3.2)
c. Ges iona ma e ial (3.3)
d. Impo a ma e ial (3.4)
e. Ges iona adjun os (3.5)
. Cambia es ado (3.6)
g. Añadi sub a ea (3.7)
5. El ADMINISTRADOR pulsa el bo ón “Gua da ”.
Flujo al e na i o:
4.a. E o es de alidación de campos:
4.a.1. Se mues a un mensaje de e o al ADMINISTRADOR a a és de la in e az.
Tabla 9. Caso de uso: Ges iona ob a
Ál a o Rome o Pe domo | 56
Nomb e
Ges iona a eas
ID
3.1
C eado po
Ál a o Rome o Pe domo
Fecha
27/01/2017
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode ges iona las a eas de una ob a.
Desc ipción:
El ADMINISTRADOR puede c ea , edi a o elimina a eas pe enecien es a una ob a a
a és del diálogo de ges iona a ea o en el momen o de c eación de la ob a.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e o
es a el ADMINISTRADOR en el o mula io de c eación de ob as.
Pos condición:
La in o mación de la ob a ela i a a la a ea se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación/edición de ob as.
2. El ADMINISTRADOR pulsa sob e el bo ón “Añadi a ea”.
3. El ADMINISTRADOR comple a los campos del o mula io eque idos.
4. El ADMINISTRADOR pulsa el bo ón “Acep a ” y la a ea es añadida a la lis a de a eas.
a. Los pasos 2-4 pueden epe i se an as eces como a eas necesi e añadi el
ADMINISTRADOR.
5. El ADMINISTRADOR puede edi a esa a ea si lo desea, elimina la o con inua si lo
p e ie e.
6. El ADMINISTRADOR pulsa el bo ón “Siguien e” y es di igido al siguien e paso del
o mula io de c eación de ob as.
Flujo al e na i o:
3.a. E o es de alidación de campos:
3.a.1. Se mues a un mensaje de e o al ADMINISTRADOR a a és de la in e az.
Tabla 10. Ges iona a eas
Ál a o Rome o Pe domo | 57
Nomb e
Añadi a ea
ID
3.1.1
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e añadi a eas a una ob a.
Desc ipción:
El ADMINISTRADOR median e el o mula io de c eación/edición de ob as añade a eas a la
misma.
P econdición: El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada
p e iamen e o es a el ADMINISTRADOR en el o mula io de c eación de ob as.
Pos condición:
La a ea se añade a la ob a y se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación de ob as o en el de edición
de ob as.
2. El ADMINISTRADOR pulsa sob e el bo ón “Añadi a ea”.
3. El ADMINISTRADOR comple a los campos del o mula io eque idos.
4. El ADMINISTRADOR pulsa el bo ón “Acep a ” y la a ea es añadida a la lis a de a eas.
a. Los pasos 2-4 pueden epe i se an as eces como a eas necesi e añadi el
ADMINISTRADOR.
5. El ADMINISTRADOR pulsa el bo ón “Siguien e” y es di igido al siguien e paso del
o mula io de c eación de ob as.
Flujo al e na i o:
3.a. E o es de alidación de campos:
3.a.1. Se mues a un mensaje de e o al ADMINISTRADOR a a és de la in e az.
Tabla 11. Caso de uso: Añadi a ea
Ál a o Rome o Pe domo | 64
Nomb e
Elimina ma e ial
ID
3.3.2
C eado po
Ál a o Rome o Pe domo
Fecha
27/01/2017
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e elimina ma e ial de una ob a.
Desc ipción:
El ADMINISTRADOR median e el o mula io de c eación o edición de ob as elimina
ma e ial asociado a la misma.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e o
es a el ADMINISTRADOR en el o mula io de c eación o edición de ob as.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación o edición de ob as.
2. El ADMINISTRADOR pulsa sob e el bo ón “Elimina ma e ial”.
3. El ADMINISTRADOR pulsa el bo ón “Finaliza ” y el ma e ial asociado a la ob a se elimina
de la base de da os.
Flujo al e na i o:
Tabla 18. Caso de uso: Edi a ma e ial

Ál a o Rome o Pe domo | 65
Nomb e
Impo a ma e ial
ID
3.4
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
09/02/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e impo a ma e ial a una ob a.
Desc ipción:
El ADMINISTRADOR median e el o mula io de c eación o edición de ob as impo a
ma e iales a la misma.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e o
es a el ADMINISTRADOR en el o mula io de c eación de ob as.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación de ob as.
2. El ADMINISTRADOR pulsa sob e el bo ón “Impo a ma e ial”.
3. El ADMINISTRADOR selecciona un a chi o Excel (.xls o .cs ) de su equipo donde se
encuen an los ma e iales que quie e impo a .
4. El sis ema analiza el a chi o y au omá icamen e añade los ma e iales encon ados a la
lis a de ma e iales.
5. El ADMINISTRADOR puede segui añadiendo ma e ial como se desc ibe en el caso de uso
“3.3.1. Añadi ma e ial”.
6. El ADMINISTRADOR pulsa el bo ón “Siguien e” y es di igido al siguien e paso del
o mula io de c eación/edición de ob as.
Flujo al e na i o:
Tabla 19. Caso de uso: Impo a ma e ial
Ál a o Rome o Pe domo | 66
Nomb e
Ges iona adjun os
ID
3.5
C eado po
Alejand o Pé ez Ma ín
Fecha
27/01/2017
Modi . po
Alejand o Pé ez Ma ín
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e ges iona a chi os adjun os a una ob a.
Desc ipción:
El ADMINISTRADOR median e el o mula io de c eación o edición de ob as ges iona los
a chi os adjun os a la misma.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e o
es a el ADMINISTRADOR en el o mula io de c eación o edición de ob as.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación o edición de ob as.
2. El ADMINISTRADOR accede al módulo de edición de adjun os de una ob a donde puede
añadi un nue o a chi o o elimina los exis en es.
3. El ADMINISTRADOR pulsa el bo ón “Finaliza ” y la in o mación de la ob a se almacena en
la base de da os.
Flujo al e na i o:
Tabla 20. Caso de uso: Ges iona adjun os
Ál a o Rome o Pe domo | 67
Nomb e
Añadi adjun o
ID
3.5.1
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e añadi a chi os adjun os a una ob a.
Desc ipción:
El ADMINISTRADOR median e el o mula io de c eación o edición de ob as añade a chi os
adjun os a la misma.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e o
es a el ADMINISTRADOR en el o mula io de c eación o edición de ob as.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación o edición de ob as.
2. El ADMINISTRADOR pulsa sob e el bo ón “Añadi adjun o”.
3. El ADMINISTRADOR selecciona un a chi o de su equipo que quie a adjun a a la ob a.
4. El sis ema adjun a el a chi o si es de un o ma o álido.
a. Los pasos 2-4 pueden epe i se an as eces como a chi os adjun os necesi e
añadi el ADMINISTRADOR.
5. El ADMINISTRADOR pulsa el bo ón “Siguien e” y es di igido al siguien e paso del
o mula io de c eación/edición de ob as.
Flujo al e na i o:
Tabla 21. Caso de uso: Añadi adjun o
Ál a o Rome o Pe domo | 68
Nomb e
Elimina adjun o
ID
3.5.2
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Alejand o Pé ez Ma ín
Fecha modi .
27/01/2017
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e elimina a chi os adjun os de una ob a.
Desc ipción:
El ADMINISTRADOR median e el o mula io de c eación o edición de ob as elimina
a chi os adjun os a la misma.
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e o
es a el ADMINISTRADOR en el o mula io de c eación de ob as.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el o mula io de c eación o edición de ob as.
2. El ADMINISTRADOR accede a la pes aña de edición de adjun os a esa ob a.
3. El ADMINISTRADOR pulsa sob e el bo ón “Elimina adjun o”.
a. El paso 3 se puede epe i an as eces como a chi os adjun os necesi e elimina
el ADMINISTRADOR.
4. El ADMINISTRADOR pulsa el bo ón “Finaliza ” y la in o mación de la ob a se ac ualiza en la
base de da os.
Flujo al e na i o:
Tabla 22. Caso de uso: Elimina adjun o
Ál a o Rome o Pe domo | 69
Nomb e
Cambia es ado de una ob a
ID
3.6
C eado po
Alejand o Pé ez Ma ín
Fecha
22/10/2016
Modi . po
Alejand o Pé ez Ma ín
Fecha modi .
22/10/2016
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e cambia el es ado de una ob a.
Desc ipción:
El ADMINISTRADOR median e un desplegable end á la opción de cambia el es ado en
que se encuen a una ob a (Pendien e, En cu so y Finalizada).
P econdición:
El ADMINISTRADOR debe es a au en icado y la ob a debe es a c eada p e iamen e.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el lis ado de ob as.
2. El ADMINISTRADOR pulsa el campo desplegable “Es ado” de una ob a.
3. El ADMINISTRADOR selecciona uno de los es ados de la ob a.
4. El SISTEMA au omá icamen e cambia el alo del es ado de la ob a en la base de da os
Flujo al e na i o:
3.a. Si el es ado seleccionado es “Finalizada” la ob a se mo e á au omá icamen e al
lis ado de ob as e minadas.
Tabla 23. Caso de uso: Cambia es ado de una ob a

Ál a o Rome o Pe domo | 70
Nomb e
Ce i ica ob a
ID
3.7
C eado po
Alejand o Pé ez Ma ín
Fecha
13/12/2016
Modi . po
Alejand o Pé ez Ma ín
Fecha modi .
13/12/2016
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
ADMINISTRADOR: quie e pode ce i ica una ob a.
Desc ipción:
El ADMINISTRADOR a a és de la is a de la ob a end á acceso a la ce i icación po
medio de un bo ón.
P econdición:
El ADMINISTRADOR debe es a au en icado, la ob a debe es a c eada y inalizada
p e iamen e.
Pos condición:
Se gene a un iche o de ce i icación.
Flujo no mal:
1. El ADMINISTRADOR se encuen a en el lis ado de ob as.
2. El ADMINISTRADOR selecciona una ob a que desee ce i ica .
3. El ADMINISTRADOR pulsa el bo ón de ce i ica ob a.
4. El SISTEMA gene a los iche os asociados a la ce i icación.
Flujo al e na i o:
3.a. Si el es ado seleccionado no es “Finalizada”, se le mos a á un mensaje al usua io
indicando que no puede ce i ica la ob a.
Tabla 24. Caso de uso: Ce i ica ob a
Ál a o Rome o Pe domo | 71
Nomb e
Regis a empleados
ID
4
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode egis a empleados en el sis ema.
2. EMPLEADO: quie e que el ADMINISTRADOR pueda da le de al a en el sis ema y así pode
egis a su ac i idad como EMPLEADO.
Desc ipción:
El ADMINISTRADOR puede egis a empleados de dis in os pe iles de empleado que
pos e io men e pod á edi a o elimina . Es os empleados pod án se asignados a ob as
po pa e del adminis ado y és e pod á asimismo ealiza un seguimien o p o esional del
empleado.
P econdición:
El ADMINISTRADOR debe es a au en icado.
Pos condición:
El usua io queda inse ado en el sis ema.
Flujo no mal:
1. El ADMINISTRADOR accede al po al de adminis ación.
2. El ADMINISTRADOR accede al o mula io de egis o de empleado a a és de la in e az.
3. El ADMINISTRADOR in oduce los da os eque idos en el o mula io de egis o de
empleado.
4. El ADMINISTRADOR in oduce, en e los da os eque idos, el ol del empleado.
5. El empleado queda egis ado en el sis ema.
Flujo al e na i o:
3.a. E o es de alidación de campos:
3.a.1. Se mues a un mensaje de e o al ADMINISTRADOR a a és de la in e az.
3.a.2. Se pe mi e al ADMINISTRADOR ol e a ellena los campos e óneos.
Tabla 25. Caso de uso: Regis a empleados
Ál a o Rome o Pe domo | 72
Nomb e
Ges iona empleados
ID
5
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode edi a /bo a empleados del sis ema.
Desc ipción:
El ADMINISTRADOR puede edi a la in o mación de un empleado ya exis en e, así como
elimina el mismo si ue a necesa io.
P econdición:
El ADMINISTRADOR debe es a au en icado y exis i al menos un empleado a
edi a /bo a en el sis ema.
Pos condición:
1. La in o mación del empleado queda ac ualizada.
2. El empleado queda eliminado del sis ema.
Flujo no mal:
1. El ADMINISTRADOR accede al po al de adminis ación.
2. El ADMINISTRADOR accede a la is a de los empleados.
3. El ADMINISTRADOR selecciona el empleado que desea ges iona .
a. Edi a empleado (5.1).
b. Bo a empleado (5.2).
c. No i ica empleado (5.3).
d. Visualiza empleado (5.4).
Flujo al e na i o:
Tabla 26. Caso de uso: Ges iona empleados
Ál a o Rome o Pe domo | 73
Nomb e
Edi a empleado
ID
5.1
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
ADMINISTRADOR
Pe sonal in oluc ado o in e eses:
ADMINISTRADOR: quie e pode edi a empleados del sis ema.
Desc ipción:
El ADMINISTRADOR puede edi a la in o mación de un empleado ya exis en e.
P econdición:
El ADMINISTRADOR debe es a au en icado y exis i al menos un empleado en el sis ema.
Pos condición:
1. La in o mación del empleado queda ac ualizada.
Flujo no mal:
1. El ADMINISTRADOR accede al po al de adminis ación.
2. El ADMINISTRADOR accede a la is a de los empleados.
3. El ADMINISTRADOR selecciona el empleado que desea edi a .
4. El ADMINISTRADOR accede al o mula io de edición del empleado a a és de la in e az.
5. El ADMINISTRADOR in oduce los campos que desea edi a del empleado.
6. El ADMINISTRADOR inaliza la edición de la in o mación del empleado.
7. La in o mación queda ac ualizada en el sis ema.
Flujo al e na i o:
5.1. E o es de alidación de campos:
5.1.a. Se mues a un mensaje de e o al ADMINISTRADOR a a és de la in e az.
5.1.b. Se pe mi e al ADMINISTRADOR ol e a ellena los campos e óneos.
Tabla 27. Caso de uso: Edi a empleado
Ál a o Rome o Pe domo | 80
Nomb e
Adjun a a chi o
ID
8.1
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
EMPLEADO
Pe sonal in oluc ado o in e eses:
1. ADMINISTRADOR: quie e pode dispone de in o mación de espaldo de la ealización de
las a eas po pa e de los empleados.
2. EMPLEADO: quie e pode adjun a in o mación de espaldo de la ealización de sus a eas.
Desc ipción:
El EMPLEADO puede adjun a in o mación de espaldo de la ealización de sus a eas a
a és de la aplicación.
P econdición:
El sis ema debe ene un empleado, una ob a y és a debe es a asignada a dicho
empleado. Además, la ob a debe ene al menos una a ea de la que se quie a adjun a
in o mación de espaldo.
Pos condición:
1. La in o mación queda egis ada en el sis ema.
Flujo no mal:
1. El EMPLEADO accede a la aplicación mó il.
2. El EMPLEADO accede a la pan alla p incipal de la aplicación (dashboa d).
3. Al EMPLEADO se le p esen an las ob as que iene asignadas.
4. El EMPLEADO accede a la ob a que elija a a és de la in e az.
5. El EMPLEADO accede al módulo co espondien e a las a eas de dicha ob a.
6. El EMPLEADO accede a la a ea que desea.
7. El EMPLEADO selecciona adjun a a chi o a a ea.
8. El EMPLEADO selecciona el a chi o a adjun a de su sis ema ope a i o desde el diálogo de
adjun a a chi o.
9. El a chi o adjun o asociado a la a ea queda egis ado en el sis ema.
Flujo al e na i o:
Tabla 34. Caso de uso: Adjun a a chi o

Ál a o Rome o Pe domo | 81
Nomb e
Elimina a chi o de una a ea
ID
8.2
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
EMPLEADO
Pe sonal in oluc ado o in e eses:
1. EMPLEADO: quie e pode elimina a chi os adjun os a una a ea.
Desc ipción:
El EMPLEADO puede elimina a chi os adjun os a una a ea.
P econdición:
El EMPLEADO debe es a au en icado y exis i una ob a asignada a dicho empleado.
Además, la ob a debe ene al menos una a ea con in o mación adjun a que elimina .
Pos condición:
1. La in o mación queda eliminada.
Flujo no mal:
1. El EMPLEADO accede a la aplicación mó il.
2. El EMPLEADO accede a la pan alla p incipal de la aplicación (dashboa d).
3. Al EMPLEADO se le p esen an las ob as que iene asignadas.
4. El EMPLEADO accede a la ob a que elija a a és de la in e az.
5. El EMPLEADO accede al módulo co espondien e a las a eas de dicha ob a.
6. El EMPLEADO accede a la a ea que desea.
7. El EMPLEADO selecciona e a chi os adjun os.
8. El EMPLEADO selecciona el a chi o a elimina .
9. El a chi o adjun o asociado a la a ea a a se eliminado.
10. El EMPLEADO con i ma la acción de elimina el a chi o adjun o.
11. El a chi o se elimina del sis ema.
Flujo al e na i o:
10.1. El EMPLEADO no con i ma la acción de elimina el a chi o adjun o.
10.1.a. El sis ema de uel e al EMPLEADO a la pan alla de isualización de a chi os
adjun os.
Tabla 35. Caso de uso: Elimina a chi os de una a ea
Ál a o Rome o Pe domo | 82
Nomb e
Añadi a eas a ob a (empleado)
ID
9
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
EMPLEADO
Pe sonal in oluc ado o in e eses:
1. EMPLEADO: quie e añadi a eas a una ob a.
Desc ipción:
El EMPLEADO puede añadi a eas desde la aplicación mó il a la ob a que iene asignada si
ue a necesa io.
P econdición:
El EMPLEADO debe es a au en icado y ene una ob a asignada a la que añadi le una
nue a a ea.
Pos condición:
La in o mación de la ob a se modi ica en la base de da os con la a ea añadida.
Flujo no mal:
1. El EMPLEADO accede a la aplicación mó il.
2. El EMPLEADO accede a la pan alla p incipal de la aplicación (dashboa d).
3. Al EMPLEADO se le p esen an las ob as que iene asignadas.
4. El EMPLEADO accede a la ob a que elija a a és de la in e az.
5. El EMPLEADO accede al o mula io de añadi una nue a a ea a a és de la in e az.
6. El EMPLEADO especi ica in o mación ela i a a la a ea a a és de los campos indicados.
7. El EMPLEADO inaliza la c eación de la a ea median e el bo ón “ inaliza ”.
8. La a ea queda egis ada en el sis ema.
Flujo al e na i o:
6.1. E o es de alidación de campos:
6.1.a. Se mues a un mensaje de e o al EMPLEADO a a és de la in e az.
6.1.b. Se pe mi e al EMPLEADO ol e a ellena los campos e óneos.
Tabla 36. Caso de uso: Añadi a eas a ob a (empleado)
Ál a o Rome o Pe domo | 83
Nomb e
No i ica incidencia
ID
11
C eado po
Ál a o Rome o Pe domo
Fecha
22/10/2016
Modi . po
Ál a o Rome o Pe domo
Fecha modi .
22/10/2016
Ac o p incipal:
EMPLEADO
Pe sonal in oluc ado o in e eses:
1. EMPLEADO: quie e pode no i ica incidencias de la ob a al adminis ado .
Desc ipción:
El EMPLEADO puede no i ica incidencias de una ob a al adminis ado .
P econdición:
El sis ema debe con ene una ob a asignada a dicho empleado.
Pos condición:
La no i icación queda egis ada po el EMPLEADO en la base de da os.
Flujo no mal:
1. El EMPLEADO accede a la aplicación mó il.
2. El EMPLEADO accede a la pan alla p incipal de la aplicación mó il (dashboa d).
3. Al EMPLEADO se le p esen an las ob as que iene asignadas.
4. El EMPLEADO accede a la ob a que elija a a és de la in e az.
5. El EMPLEADO accede a la is a de la lis a de a eas.
6. El EMPLEADO accede al diálogo de cambio de es ado de la a ea a a és de la in e az.
7. El EMPLEADO especi ica el es ado que desea asigna a la a ea.
8. El EMPLEADO inaliza la edición del es ado median e el bo ón “gua da a ea”.
9. La a ea queda egis ada en el sis ema.
Flujo al e na i o:
Tabla 37. Caso de uso: No i ica incidencia
Ál a o Rome o Pe domo | 84
5.2. Anexo 2. Manual de usua io del panel de adminis ación
En es e manual se p e ende da al usua io una isión gene al ace ca de cómo u iliza el
panel de adminis ación y mos a le sus p incipales uncionalidades.
A con inuación, se mues a la pan alla de inicio o p esen ación de la aplicación al
accede a ella.
Ilus ación 16. Pan alla de inicio del panel de adminis ación
El siguien e paso consis i ía en hace login en la aplicación siemp e que u ié amos una
cuen a como adminis ado en ella.
Ilus ación 17. Pan alla de login del panel de adminis ación
Ál a o Rome o Pe domo | 85
A con inuación, se le p esen a al usua io la pan alla p incipal del panel de
adminis ación, el dashboa d donde se mues an las ob as p esen es en el sis ema, pudiendo
edi a las o c ea una nue a.
También en es a pan alla el usua io puede e los usua ios y ma e iales del sis ema.
Ilus ación 18. Dashboa d del panel de adminis ación
A a és del bo ón CREATE WORK de la an e io pan alla, accede íamos a la is a de
c eación de ob a. En es e pun o debe íamos ellena los campos que se nos p esen an a a és
de las pes añas pod íamos añadi ambién los ma e iales, las a eas y los a chi os adjun os de
ele ancia pa a dicha ob a.
Ilus ación 19. C eación de una ob a en el panel de adminis ación

Ál a o Rome o Pe domo | 86
Ilus ación 20. C eación de una ob a en el panel de adminis ación (ma e iales)
Ilus ación 21. C eación de una ob a en el panel de adminis ación (añadiendo una a ea)
Ál a o Rome o Pe domo | 87
Ilus ación 22. C eación de una ob a en el panel de adminis ación (añadiendo a chi os adjun os)
En la pan alla use s podemos consul a los usua ios ac uales del sis ema y hace
búsquedas a a és del buscado de un usua io en conc e o. A a és de es a pan alla ambién
podemos edi a los usua ios ac uales del sis ema.
Ilus ación 23. Vis a de la pan alla use s
Ál a o Rome o Pe domo | 88
En la pan alla ma e ials podemos consul a los ma e iales ac uales del sis ema. A a és
de es a pan alla ambién podemos edi a los usua ios ma e iales del sis ema y añadi nue os al
sis ema.
Ilus ación 24. Vis a de la pan alla ma e ials
A a és del dashboa d podemos accede a la pan alla de edición de una ob a
seleccionándola a a és del oolba a la de echa de cada una. En es a is a podemos ol e a
ellena los campos que queda on incomple os en el momen o de c eación de la ob a o
cambia los a nues o an ojo, pa a ello sólo enemos que eco da gua da la ob a an es de sali
median e el icono lo an e de abajo de echa.
Ilus ación 25. Vis a de edición de una ob a
Ál a o Rome o Pe domo | 89
5.3. Anexo 3. Pan allazos comple os de la demo no uncional
A con inuación, mos amos cap u as de pan allas que mues an la demo no uncional
comple a p esen ada en la segunda eunión du an e la e apa de análisis.
Las p ime as pan allas co esponden al inicio de sesión po pa e del empleado den o
de la aplicación un desglose de las ob as que iene asignadas o denadas po echa.
Una ez ha seleccionado una pasa íamos a la e ce a pan alla, donde puede ob ene
in o mación ela i a a las a eas de la ob a (conside amos las a eas como aquello que desea
e p ime o un empleado al accede a una ob a).
Ilus ación 26. P ime as pan allas de la demo no uncional