T Uce 0011 Icf 248
T Uce 0011 Icf 248
T Uce 0011 Icf 248
Quito, 2020
DERECHOS DE AUTOR
Así mismo, autorizamos a la Universidad Central del Ecuador para que realice la
digitalización y publicación de este trabajo de titulación en el repositorio virtual, de
conformidad a lo dispuesto en el Art, 144 de la Ley Orgánica de Educación Superior.
Los autores declaran que la obra objeto de la presente autorización es original en su forma
de expresión y no infringe el derecho de autor de terceros, asumiendo la responsabilidad
por cualquier reclamación que pudiera presentarse por esta causa y liberando a la
Universidad de toda responsabilidad.
__________________________ __________________________
Darwin Stalin Cumbajín Nasimba Wiliam Stalin Salazar Anagumbla
C.C: 1721734356 C.C: 1721130639
dscumbajin@uce.edu.ec wssalazar@uce.edu.ec
ii
APROBACIÓN DEL TUTOR
En mi calidad de Tutor del trabajo de Titulación, presentado por los estudiantes Darwin
Stalin Cumbajín Nasimba y Wiliam Stalin Salazar Anagumbla, para optar por el
grado de Ingeniero Informático; cuyo título es: DESARROLLO DE UNA
APLICACIÓN WEB PARA EL CONTROL Y ADMINISTRACIÓN DE BIENES
DE LOS LABORATORIOS DE CÓMPUTO DE LA CARRERA DE INGENIERÍA
CIVIL, FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA,
considero que dicho trabajo reúne los requisitos y méritos suficientes para ser sometido a
la presentación pública y evaluación por parte del tribunal examinador que se designe.
__________________________
Ing. Milton Giovanny Moncayo Unda MSc.
DOCENTE-TUTOR
C.C: 1718933383
iii
DEDICATORIA
El presente proyecto está dedicado a mi familia quien con sus cuidados y afecto supieron
oriéntame en el transcurso de la carrera y la culminación de esta.
Darwin Cumbajín
iv
AGRADECIMIENTO
A mi novia que, con su amor, cariño, buen juicio me motivó día a día sin permitir que
desfallezca en la vida.
En general agradezco a todas las personas que con su granito de arena contribuyeron en
mi formación profesional.
Darwin Cumbajín
v
A mis padres por que lucharon por mi bienestar, mi educación y mi salud, no conozco a
nadie en este mundo a quienes les deba más amor y agradecimiento. A mi hermano que
siempre estuvo dispuesto ayudarme en todos los aspectos de mi vida y ser la gran y valiosa
persona que es.
A mi novia y a mi hijo que a través de ellos me han dado la fortaleza para poder ser una
gran persona y jamás rendirme.
Wiliam Salazar
vi
CONTENIDO
DEDICATORIA ......................................................................................................... IV
AGRADECIMIENTO ................................................................................................. V
INTRODUCCIÓN ........................................................................................................ 1
1 GENERALIDADES.............................................................................................. 3
1.1 Planteamiento del Problema ................................................................................. 3
1.2 Antecedentes ........................................................................................................ 3
1.3 Justificación ......................................................................................................... 4
1.4 Objetivos ............................................................................................................. 5
1.4.1 Objetivo General .............................................................................................. 5
1.4.2 Objetivos Específicos ....................................................................................... 5
1.5 Alcance ................................................................................................................ 5
1.6 Limitaciones ........................................................................................................ 6
2 MARCO TEÓRICO .............................................................................................. 7
2.1 Reseña ................................................................................................................. 7
2.2 Lectores de código de barras ................................................................................ 7
2.3 Sistema Informático ............................................................................................. 8
2.4 Sistemas de control de activos .............................................................................. 9
2.5 Aplicación Web ................................................................................................... 9
2.6 Estructura de aplicación web .............................................................................. 10
2.7 Herramientas y tecnologías de desarrollo web .................................................... 10
2.7.1 Entorno de desarrollo IDE (Spring Tool Suite - STS) ..................................... 10
2.7.2 Framework .................................................................................................... 11
2.7.3 Patrón Modelo-Vista-Controlador (MVC) ...................................................... 11
vii
2.8 Tecnologías del lado servidor ............................................................................. 12
2.8.1 Lenguajes de programación............................................................................ 13
2.8.1.1 Java ....................................................................................................... 13
2.8.1.2 Spring Framework ................................................................................. 14
2.8.1.3 Spring Security ...................................................................................... 15
2.9 Tecnologías del lado del cliente.......................................................................... 16
2.9.1.1 HTML ................................................................................................... 16
2.9.1.2 CSS ....................................................................................................... 16
2.9.1.3 JavaScript .............................................................................................. 16
2.10 Base de datos ..................................................................................................... 17
3 METODOLOGÍAS DEL PROYECTO ................................................................ 19
3.1 Metodología de Investigación............................................................................. 19
3.1.1 Investigación de campo y de aplicación .......................................................... 19
3.1.2 Investigación Bibliográfica ............................................................................ 19
3.2 Recolección de la información ........................................................................... 20
3.3 Procesamiento y análisis de datos ....................................................................... 20
3.4 Metodología de Desarrollo de software .............................................................. 20
3.4.1 Metodologías ágiles de desarrollo de software ................................................ 21
3.4.2 Manifiesto Ágil .............................................................................................. 21
3.4.3 Metodologías ágiles más populares ................................................................ 23
3.4.4 Análisis de metodologías ágiles...................................................................... 24
3.5 Metodología de Programación Extrema (XP)...................................................... 25
3.5.1 Fase de Planificación ..................................................................................... 26
3.5.2 Fase de Diseño ............................................................................................... 28
3.5.3 Fase de Codificación ...................................................................................... 28
3.5.4 Fase de Pruebas ............................................................................................. 29
4 DESARROLLO DEL PROYECTO ..................................................................... 31
4.1 Fase de Planeación ............................................................................................. 31
4.1.1 Documentación de Historias de Usuario (HU) ................................................ 31
4.2 Planificación de despliegue de iteraciones .......................................................... 40
4.3 Fase de Diseño ................................................................................................... 41
4.3.1 Metáfora del Sistema ..................................................................................... 41
4.3.2 Estructura General del Sistema. ...................................................................... 41
4.3.3 Esquema de Base de Datos ............................................................................. 42
4.3.4 Diccionario de datos ...................................................................................... 42
viii
4.3.4.1 Diseño de entidad Usuario ..................................................................... 42
4.3.4.2 Diseño de entidad Perfil ......................................................................... 43
4.3.4.3 Diseño de entidad Bien .......................................................................... 44
4.3.4.4 Diseño de entidad Detalle ...................................................................... 46
4.3.4.5 Diseño de entidad Estación .................................................................... 48
4.3.4.6 Diseño de entidad Asignación ................................................................ 48
4.3.4.7 Diseño de entidad Notificación .............................................................. 49
4.3.4.8 Diseño de entidad Banner ...................................................................... 50
4.3.5 Proceso de asignación de bien a estación ........................................................ 51
4.3.6 Diseño de Interfaces de Usuario ..................................................................... 52
4.3.6.1 Página principal ..................................................................................... 52
4.3.6.2 Inicio de Sesión ..................................................................................... 52
4.3.7 Generación de Reportes ................................................................................. 53
4.4 Fase de Codificación .......................................................................................... 54
4.4.1 Hardware ....................................................................................................... 54
4.4.2 Codificación .................................................................................................. 54
4.4.2.1 Entidad .................................................................................................. 54
4.4.2.2 Servicios ............................................................................................... 55
4.4.2.3 Controlador ........................................................................................... 56
4.4.3 Estructura de la aplicación ............................................................................. 58
4.5 Fase de Pruebas.................................................................................................. 58
4.5.1 Pruebas de Interfaz......................................................................................... 59
4.5.2 Pruebas de aceptación .................................................................................... 60
4.5.2.1 Pruebas de caja negra............................................................................. 60
4.5.2.2 Plantilla Pruebas de Aceptación ............................................................. 60
4.5.2.3 Prueba de Aceptación – Aspectos Generales .......................................... 61
4.5.2.4 Prueba de Aceptación – Autenticación ................................................... 62
4.5.2.5 Prueba de Aceptación – Administración de Usuarios.............................. 63
4.5.2.6 Prueba de Aceptación – Administración de Bienes ................................. 65
4.5.2.7 Prueba de Aceptación – Administración de Estaciones ........................... 68
4.5.2.8 Prueba de Aceptación – Administración de Asignaciones....................... 70
4.5.2.9 Prueba de Aceptación – Búsqueda de Registros ..................................... 72
4.5.2.10 Prueba de Aceptación – Generación de Reportes .................................... 73
4.5.2.11 Prueba de Aceptación – Administración de Notificaciones ..................... 76
4.5.2.12 Prueba de Aceptación – Administración de Banners............................... 78
ix
4.6 Despliegue de la aplicación ................................................................................ 80
4.6.1 Hardware ....................................................................................................... 80
4.6.2 Instalación y configuración de herramientas ................................................... 80
4.6.3 Ejecución del aplicativo ................................................................................. 81
5 CONCLUSIONES .................................................................................................... 83
6 RECOMENDACIONES ............................................................................................. 85
BIBLIOGRAFÍA ........................................................................................................ 87
ANEXOS .................................................................................................................... 90
ANEXO A .................................................................................................................. 91
ANEXO B .................................................................................................................. 92
ANEXO C .................................................................................................................. 93
x
LISTA DE TABLAS
xi
Tabla 35. Prueba asociada a la Búsqueda de Registros............................................................. 72
Tabla 36. Prueba asociada a la Generación de Reportes ........................................................... 73
Tabla 37. Prueba asociada a la Administración de Notificaciones ............................................ 76
Tabla 38. Prueba asociada a la Administración del Banner ...................................................... 78
Tabla 39. Características de hardware donde se instaló el aplicativo ........................................ 80
xii
LISTA DE FIGURAS
Figura 1. Estructura de aplicación web. Fuente: (IComparable, 2008) ...................................... 10
Figura 2. Funcionamiento del patrón MVC. Fuente: (UNDERCODE, 2013)............................ 12
Figura 3. Top 10 Lenguajes de Programación. Fuente: (TIOBE, 2019) .................................... 13
Figura 4. Components Framework Spring. Fuente: (Spring, 2019) ........................................... 14
Figura 5. Flujo de Peticiones HTTP protegidas con Spring Security. Fuente: (Tinajero, 2019) . 16
Figura 6. Top 10 de Gestores de base de datos según (DB-ENGINES, 2019) ........................... 17
Figura 7. Valores Manifiesto Ágil. Fuente: (MarcoViaWeb, 2019) .......................................... 22
Figura 8. Proceso XP. Fuente: (Pressman, 2012, pág. 62) ........................................................ 26
Figura 9. Arquitectura del proyecto. Fuente: Elaboración propia.............................................. 41
Figura 10. Diagrama Entidad Relación de la Base de Datos. Fuente: Elaboración propia ......... 42
Figura 11. Proceso Asignación de Bienes. Fuente: Elaboración propia..................................... 51
Figura 12. Pantalla principal del sistema. Fuente: Elaboración propia ...................................... 52
Figura 13. Autenticación del Sistema. Fuente: Elaboración propia ........................................... 53
Figura 14. Código de la entidad Bienes_Estaciones. Fuente: Elaboración propia...................... 55
Figura 15. Código operaciones CRUD para la entidad Bienes_Estaciones. Fuente: Elaboración
propia ..................................................................................................................................... 56
Figura 16. Código del Controlador Bienes_Estaciones. Fuente: Elaboración propia ................. 57
Figura 17. Estructura de la Aplicación. Fuente: Elaboración propia ......................................... 58
Figura 18. Pantalla de Estaciones de trabajo. ......................................................................... 115
Figura 19. Pantalla de Estaciones de trabajo. ......................................................................... 116
Figura 20. Lista de Notificaciones. ........................................................................................ 116
Figura 21. Detalle de bienes por estación de trabajo............................................................... 117
Figura 22. Archivo Detalle Por Estaciones descargado. ......................................................... 117
Figura 23. Ingreso de fechas por periodo de actualización. .................................................... 117
Figura 24. Bienes que se encuentran en el periodo buscado ................................................... 118
Figura 25. Filtrado de información del bien ........................................................................... 118
Figura 26. Mensaje de error de búsqueda............................................................................... 118
Figura 27. Información del sistema........................................................................................ 119
Figura 28. Pantalla de Inicio de sesión................................................................................... 119
Figura 29. Pantalla de creación de usuario. ............................................................................ 120
Figura 30. Pantalla de notificación de usuario creado. ........................................................... 120
Figura 31. Pantalla de Administración del Sistema. ............................................................... 121
Figura 32. Pantalla Listado de Bienes. ................................................................................... 122
Figura 33. Pantalla de notificación de Bien existente. ............................................................ 122
xiii
Figura 34. Pantalla de notificación de Bien no existente. ....................................................... 122
Figura 35. Ingreso de información del bien............................................................................ 123
Figura 36. Pantalla de bien creado exitosamente. ................................................................... 123
Figura 37. Ingreso de información del bien a editar. .............................................................. 124
Figura 38. Pantalla de notificación de Bien editado. .............................................................. 124
Figura 39. Pantalla de seguridad de eliminación. ................................................................... 124
Figura 40. Archivo Detalle de bienes. .................................................................................... 125
Figura 41. Ingreso de fechas por periodo. .............................................................................. 125
Figura 42. Bienes que se encuentran en el periodo buscado ................................................... 125
Figura 43. Filtrado de información del bien ........................................................................... 125
Figura 44. Mensaje de error de búsqueda............................................................................... 126
Figura 45. Pantalla de Estaciones de trabajo .......................................................................... 126
Figura 46. Pantalla de creación de Estaciones de trabajo ........................................................ 127
Figura 47. Pantalla de notificación de registro guardado ........................................................ 127
Figura 48. Pantalla de edición de datos de la estación ............................................................ 127
Figura 49. Pantalla de notificación de registro editado ........................................................... 128
Figura 50. Pantalla de Listado de Asignaciones ..................................................................... 128
Figura 51. Pantalla de reubicación del Bien ........................................................................... 129
Figura 52. Pantalla de notificación de reubicación del bien .................................................... 129
Figura 53. Pantalla de filtro de búsqueda ............................................................................... 129
Figura 54.- Apartado de opción eliminación y edición ........................................................... 129
Figura 55. Pantalla de reubicación del bien y fecha................................................................ 130
Figura 56. Notificación de reubicación del bien y fecha ......................................................... 130
Figura 57. Pantalla de Listado de Notificaciones ................................................................... 130
Figura 58. Pantalla de creación Listado de Notificaciones ..................................................... 131
Figura 59. Pantalla de notificación de creación Listado de Notificaciones .............................. 131
Figura 60. Pantalla de creación Listado de Notificaciones ..................................................... 131
Figura 61. Pantalla de mensaje y Listado de Notificaciones ................................................... 132
Figura 62. Mensaje de confirmación de eliminación .............................................................. 132
Figura 63. Notificación de eliminación .................................................................................. 132
Figura 64. Pantalla de Imágenes de Banner ........................................................................... 133
Figura 65. Pantalla de creación de Imágenes de Banner ......................................................... 133
Figura 66. Pantalla de Imagen guardada ................................................................................ 134
Figura 67. Pantalla de edición de Imagen .............................................................................. 134
Figura 68. Pantalla y notificación de edición de Imagen ........................................................ 134
xiv
Figura 69. Mensaje de confirmación de eliminación .............................................................. 135
Figura 70. Notificación de Eliminación ................................................................................. 135
Figura 71. Pantalla Listado de Usuarios................................................................................. 135
Figura 72. Pantalla Listado de Usuarios................................................................................. 136
Figura 73. Pantalla de Edición de Usuario ............................................................................. 136
Figura 74. Pantalla y notificación de Usuario editado ............................................................ 137
Figura 75. Mensaje de confirmación de eliminación .............................................................. 137
Figura 76. Notificación de eliminación .................................................................................. 137
Figura 77. Sub menú Reportes .............................................................................................. 137
Figura 78. Pantalla de búsqueda Reportes por Periodo ........................................................... 138
Figura 79. Pantalla de Reportes por Periodo .......................................................................... 138
Figura 80. Filtro de Reportes por Periodo .............................................................................. 138
xv
TÍTULO: Desarrollo de una Aplicación Web para el Control y Administración de Bienes
de los laboratorios de cómputo de la carrera de Ingeniería Civil, Facultad de Ingeniería,
Ciencias Físicas y Matemática.
RESUMEN
xvi
TITLE: Web Application Development for Goods’ Control and Administration of
computer laboratories at Civil Engineering career in Engineering, Physical Sciences and
Mathematics Faculty.
ABSTRACT
This Project has as main objective the implementation of a web system to control and
administration of goods at the Computer Labs in the Civil Engineering career of the
Faculty of Engineering, Physical Science and Mathematics, thus allowing to organize and
manage the information about the movements made by the people in charge of the assets.
For the development of this system it was carried out a study to identify the feasibility of
the substitution of the process of the goods registration in Excel sheets for a computer
system that improves the process of recollection and information research, with the help
of a bar code reading device to speed up the process. This process was built with the aid
of Spring Framework as an interface programming language, connected to a MySQL
database, resulting in a system capable of organize and manage information by the
creation of detailed reports for time periods in an easy, fast and timely way.
xvii
INTRODUCCIÓN
1
Capítulo 3: Concerniente a las metodologías utilizadas para el desarrollo de la aplicación.
Capítulo 4: Conformado por cada una de las etapas de las metodologías utilizadas en el
desarrollo del sistema, hasta la puesta en marcha de este.
2
1 GENERALIDADES
Los movimientos de los bienes son controlados mediante un registro manual, en fichas
de papel u hojas de Excel, esto provoca el difícil seguimiento de este proceso, ya que,
debido a la gran cantidad de artículos existentes, la información se torna no fiable acerca
de su ubicación, estado, movimiento y valor, por lo tanto, su gestión se vuelve
insostenible a largo plazo e inclusive la perdida de la información está sujeta a errores
humanos o ambientales. La carrera de Ingeniería Civil no cuenta con ningún tipo de
reportes sistematizado, es decir, si se requiere información de algún bien o movimiento,
se deberá acudir a los documentos físicos existentes, resultando ser una tarea larga y
complicada.
1.2 Antecedentes
1
Empresa integradora de tecnología de la información. (TRC Informática S.L., 2019)
2
Servicios logísticos integrados. (ILS CORPORATION, 2017)
3
En diciembre del 2016, Delivrd creó una solución para la administración de inventarios
y cumplimiento de pedidos basados en la nube, además ofrece códigos de barras, historial
de transacciones realizadas, alerta de stock con existencia mínima y algunos reportes
financieros. (DELIVRD, 2016)
Desde el año 2007, inFlow creó un software de gestión de inventario enfocado a ayudar
a pequeñas y medianas empresas, las características predeterminadas incluyen códigos de
barras, diferentes métodos de contabilidad y copia de seguridad automática de datos, entre
otros. (inFlow, 2007)
Se puede decir que las aplicaciones anteriormente revisadas procuran que todos los datos
estén actualizados y disponibles en cualquier momento para poder brindar un mejor
servicio a todos los usuarios que lo utilicen, agilizando y automatizando la recopilación
de información para tener un mejor control sobre ellos.
Por este motivo surge el interés de abordar el tema propuesto, para contribuir desde el
área tecnológica a los laboratorios de cómputo, en el proceso de control y administración
de bienes.
1.3 Justificación
Con la puesta en marcha del sistema web se facilitará el ingreso de la información de los
bienes y posteriormente la generación de reportes con toda la información detallada.
Agilitando la labor de los administradores de los laboratorios de cómputo al momento de
realizar la reposición de algún bien que se encuentre defectuoso esto se realizara en menor
tiempo posible y con mayor veracidad logrando eficiencia sin pérdida de tiempo.
4
1.4 Objetivos
1.5 Alcance
5
La recolección de datos de los bienes y su levantamiento físico constará de los siguientes
ítems: identificación del artículo (código de barras), estado físico, características
adicionales, marca, modelo, color, serie, fecha en la que se adquirió, fecha de vencimiento
de la garantía, vida útil, ubicación, localización actual y datos del funcionario de control.
1.6 Limitaciones
6
2 MARCO TEÓRICO
2.1 Reseña
Entendemos por lector de código de barras a un dispositivo electrónico que utiliza rayos
de luz láser para detectar formas lineales y representarlos como un contenido numérico
en un dispositivo de salida.
“Este dispositivo es un periférico de entrada pues los datos encriptados que escanea los
envía hacia la computadora mediante un cable de transferencia de información.”
(InformaticaModerna, 2019)
Lectura de código de barras con lápiz óptico: “La lectura de los datos con este
dispositivo es lenta y en ocasiones no detectan códigos que hayan sido impresos en mala
calidad.” (Guillermo, 2020)
7
Lectura de código de barras con escáner CCD: “Estos dispositivos utilizan un sensor
foto detector del tipo CCD, en otras palabras, dispositivo de carga acoplada, pues este
emite fuentes de luz y forma para obtener la información del código.” (Guillermo, 2020)
Lectura de código de barras con lectores autónomos: “Este dispositivo permite una
captura eficaz del código de barras, independientemente de la dirección, superficie y
estado físico de la impresión del código.” (Guillermo, 2020)
Lectura de código de barras con dispositivo láser tipo pistola: “Están compuestos por
un espejo que oscila en la parte interior del dispositivo emitiendo de esta manera fuentes
de luz que hace posible el recorrido a través de toda la superficie del código de barras sin
necesidad de que este se mueva.” (Guillermo, 2020)
Normalmente son el primer tipo de SI3 que se implantan las organizaciones. Las ventajas
de estos se listan a continuación:
• Código de barras
• Sistemas bancarios en las sucursales
• Cajeros automáticos
• Sistemas web de compras.
3
Sistemas de Información: Conjunto de elementos interrelacionados con el propósito de prestar atención a
las demandas de información de una organización. (Dangel, 2010)
8
2.4 Sistemas de control de activos
En Ecuador “La corporación ILS cuenta con procesos que permiten realizar un eficiente
control de inventarios, complementando con una plataforma tecnológica denominada
ILMS, sistema propio de Warehouse Management System4, este sistema cuenta con
módulos control de inventarios, almacenamiento y acondicionamiento.” (ILS
CORPORATION, 2017)
En España “Grupo TRC posee su propia plataforma web, modular e integral que
identifica, controla, calcula y evalúa los bienes de cada organización, este sistema facilita
una óptima gestión de sus activos, pudiendo llevar a cabo procesos de mantenimiento,
cálculos de depreciación, sustitución o baja de cada uno de ellos.” (TRC Informática S.L.,
2019)
Según (García, 2010) “Las aplicaciones web son todas aquellas aplicaciones que son
utilizadas por usuarios, accediendo a través de un servidor web mediante un navegador.
Se trata de un software elaborado en un lenguaje de programación que pueda ser
soportado por los navegadores web.”
“Hoy en día se sabe que el desarrollo de aplicaciones web dentro de las organizaciones
otorgan un 80% de éxito si están bien estructuradas y diseñadas” (Liht Technological
Solutions for Business, 2018), las principales ventajas de la utilización de estas se detallan
a continuación:
4
Sistema de administración de inventario. (ILS CORPORATION, 2017)
5
Sistema que trabaja en una arquitectura de red cliente-servidor y depende del servidor central para las
tareas de procesamiento. (EcuRed, 2017)
9
2.6 Estructura de aplicación web
Según (Blancarte, 2017). Un IDE6 es una aplicación informática que contiene servicios
integrados como: editor de código, compilador, depurador y constructor de interfaces que
6
Integrated Development Environment
10
facilitan al programador la construcción de un aplicativo. Por cuanto se consideró la
utilización del entorno de desarrollo oficial que proporciona Spring.
Spring Tool Suite está basado en Eclipse y está optimizado para el desarrollo de sistemas
basados en lenguaje java usando el framework Spring. Brinda un entorno para
implementar, depurar, ejecutar y desplegar aplicativos. (Spring, 2019)
2.7.2 Framework
Es decir, encargado de separar los aspectos relacionados con los datos, la presentación y
las entradas de usuario en componentes especializados.
Descripción de capas
Modelo: Parte encargada de representar la lógica del negocio dentro de una aplicación.
Vista: Representación del modelo, mediante el cual se puede acceder a los datos y está
compuesta por las pantallas usadas dentro de la aplicación.
Las aplicaciones web están organizadas con una arquitectura de tres capas las cuales, con
Modelo, Vista, Controlador la cual facilita una clara separación entre las diferentes
responsabilidades de la aplicación. Ver Figura 2.
11
Figura 2. Funcionamiento del patrón MVC. Fuente: (UNDERCODE, 2013)
• Java EE: Tecnología basada en Java desarrollada por una coalición de empresas
lideradas por Oracle, IBM, Red Hat. Muy utilizada a nivel empresarial.
• PHP: Tecnología con lenguaje propietario, desarrollada por PHP Grupo y con
licencia libre.
• ASP.NET: Tecnología de licencia propietaria y para plataformas Windows basada
en tecnologías .NET de Microsoft. (Ingenio Virtual, 2018)
7
Es la parte encarga de interactuar con bases de datos, verificación de sesiones de usuarios, parte funcional
del programa (Guevara, 2018)
12
2.8.1 Lenguajes de programación
2.8.1.1 Java
Java creado por la compañía Sun Microsystems y actualmente soportada por Oracle es
considerado como el lenguaje de programación pionero en el desarrollo de aplicaciones
entre sus principales características tenemos:
• Orientado a objetos
• Código abierto
• Multiplataforma
• Diseñado para crear software altamente robusto, escalable y fiable.
• Soporte y documentación
• Posee una gran comunidad al servicio del desarrollo de nuevas tendencias y
aplicaciones.
13
2.8.1.2 Spring Framework
“Spring es un framework de desarrollo de código libre para la plataforma java, Su aspecto
modular lo hace flexible y configurable para la construcción de cualquier tipo de
aplicación.” (Spring, 2019) Posee componentes como:
8
Object Relational Mapping
9
Java DataBase Connectivity
14
Por tanto, se ha optado el escoger dicho framework para el desarrollo del presente
proyecto debido a la gran versatilidad que ofrecen sus distintos componentes.
JSP
JSP10 Es una de las muchas tecnologías que se pueden utilizar para renderizar una vista a
partir de modelos de Spring. Permite generar páginas dinámicas basadas en documentos
estándar de páginas web como HTML o XML. La ejecución se la realiza en el lado del
servidor, por tanto, ofrece facilidad y seguridad a la hora de acceder a base de datos o
procesar imágenes. (Gutiérrez, 2015)
JPA
JPA11 Es un API de persistencia desarrollado para Java que maneja datos relacionales
siguiendo el patrón ORM, cuenta con clases y métodos para guardar información en el
banco de datos.
10
Java Server Pages
11
Java Persistence Api
15
Spring Security utiliza componentes de Java EE (Servlet Filtres o Interceptores) para
aplicar seguridad a las peticiones web y restringir el acceso a nivel de URL que son
ejecutados antes (pre-process) y después (post-process) de la petición web. Ver Figura 5.
Figura 5. Flujo de Peticiones HTTP protegidas con Spring Security. Fuente: (Tinajero, 2019)
2.9.1.1 HTML
Lenguaje de marcado de contenidos de un sitio web, utilizado para designar la función de
cada elemento dentro de la página: títulos, párrafos, tablas entre otros.
2.9.1.2 CSS
Hojas de estilo creadas para controlar la presentación de la página definiendo colores,
tamaños, tipos de letras, posiciones, espaciados, etc.
2.9.1.3 JavaScript
Lenguaje de programación interpretado que se encarga del comportamiento de una página
web y de la interactividad con el usuario.
16
2.10 Base de datos
Según (Ramos, Alicia, & Fernando, 2006). Definimos un sistema gestor de base de datos
como una colección de datos relacionados entre sí, estructurados y organizados. En
sistemas transaccionales es de carácter imperativo poseer un SGBD que brinde todas las
facilidades de ingreso, actualización y eliminación de información de forma eficaz y
oportuna.
El gestor de base de datos seleccionado para el presente proyecto es MySQL 6.3 dado las
siguientes características:
• Escalabilidad: Posee una versión extendida llamada MySQL Fabric que a gran
escala funciona para administrar granjas de servidores de MySQL.
• Flexibilidad: Incorpora características adicionales para versiones Linux, Unix y
Windows.
• Alto rendimiento: Posee servicios públicos de alta velocidad de carga, cachés de
memoria distintivos e índices de texto completo por lo que cumple con la
expectativa de rendimiento más existentes de cualquier aplicativo.
• Open Source: Soporte 24x7
Además, MySQL Se ubica hoy en día en uno de los primeros lugares de gestores de base
de datos más utilizados según (DB-ENGINES, 2019) Ver Figura 6.
17
18
3 METODOLOGÍAS DEL PROYECTO
Este punto trata de las metodologías utilizadas para la realización del proyecto,
principalmente nos enfocaremos en las tareas de recolección de información y
construcción de sistemas informáticos. A continuación, detallaremos cada una de la
metodología que intervinieron en el desarrollo del presente proyecto.
Las técnicas empleadas serán: entrevistas periódicas a los encargados de los laboratorios.
La bibliografía empleada será a través de: páginas web, libros, artículos, publicaciones
tecnológicas entre otros.
19
3.2 Recolección de la información
20
Es decir, es un modelo sistemático de realizar, gestionar y administrar un proyecto para
llevarlo a cabo con altas posibilidades de éxito.
21
Figura 7. Valores Manifiesto Ágil. Fuente: (MarcoViaWeb, 2019)
Los valores mencionados anteriormente se inspiran en doce principios del manifiesto ágil,
los cuales son características que diferencian un proceso ágil de uno tradicional. Ver
Tabla 1.
Principios Definición
La prioridad es satisfacer al cliente “Entregar software que aporte valor de manera
continua, aunque sea rudimentario.” (Letelier,
2012)
Dar la bienvenida a los cambios “Se capturan los cambios para que el cliente tenga
una ventaja competitiva.” (Letelier, 2012)
Entregar software frecuentemente “Software funcional con el menor intervalo de
tiempo posible entre entregas.” (Letelier, 2012)
La gente del negocio y los Colaboración durante todo el proyecto
desarrolladores deben trabajar
juntos
Construir el proyecto en torno a “Darles el entorno y el apoyo que necesitan y
individuos motivados confiar en ellos para conseguir finalizar el
trabajo.” (Letelier, 2012)
22
Dialogo cara a cara “Método más eficiente y efectivo para comunicar
información dentro de un equipo de desarrollo.”
(Letelier, 2012)
El software que funciona es la “El estado de un proyecto viene dado por cantidad
medida principal de progreso de código generado y en funcionamiento.”
(Letelier, 2012)
Los procesos ágiles promueven un “Los promotores, desarrolladores y usuarios
desarrollo sostenible deberían ser capaces de mantener una paz
constante.” (Letelier, 2012)
La atención continua a la calidad “Producir código claro y robusto es la clave para
técnica y al buen diseño mejora la avanzar más rápidamente en el proyecto.”
agilidad (Letelier, 2012)
La simplicidad es esencial. “Si el código producido es simple y de alta calidad
será más sencillo adaptarlo a los cambios que
puedan surgir.” (Letelier, 2012)
Las mejores arquitecturas, “Todo el equipo es informado de las
requisitos y diseños surgen de los responsabilidades y éstas recaen sobre todos sus
equipos organizados por sí miembros.” (Letelier, 2012)
mismos.
“En intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo,
y según esto ajusta su comportamiento. Puede cambiar su organización, sus reglas, sus
convenciones, sus relaciones, etc. para seguir siendo ágil.” (Letelier, 2012)
Metodologías Descripción
Crystal Methodologies (Crystal). “Caracterizada por centrarse en las personas que
componen el equipo y la reducción al máximo
de artefactos producidos.” (Letelier, 2012)
23
Adaptative Software Development “Tolerante a cambios, orientado a los
(ASD). componentes de software más que a las tareas y
es interactivo.” (Letelier, 2012)
Scrum “Orientada especialmente para proyectos que
tengan un cambio rápido de requisitos.”
(Letelier, 2012)
Extreme Programming (XP). “Se centra en potenciar las relaciones
interpersonales del equipo de desarrollo como
clave del éxito mediante el trabajo en equipo, el
aprendizaje continuo y el buen clima de
trabajo.” (Letelier, 2012)
Dynamic Systems Development “Se creó para obtener una metodología RAD
Method (DSDM). (Rapid Application Development) unificado. El
equipo de desarrollo y el cliente trabajan
conjuntamente.” (Letelier, 2012)
Feature-Driven Development “Está centrado en la fase de diseño y de
(FDD). implementación del proyecto iniciando con una
lista de características que requiere el software.”
(Letelier, 2012)
Lean Development (LD). “Los cambios se consideran riesgos, pero con el
manejo adecuado se convierte en oportunidades
para la mejora de la productividad del cliente.”
(Letelier, 2012)
24
son simplicidad, excelencia técnica, resultados, adaptabilidad, etc. También incorpora
como referencia no ágil el Capability Madurity Model10 (CMM). (Letelier, 2012)
Haciendo referencia a la Tabla 3, se observa que las metodologías más destacadas son
ASD, Scrum y XP. Mediante el análisis se decantó por utilizar la metodología ágil XP
para el desarrollo de una aplicación web para el control y administración de bienes de los
laboratorios de cómputo de la carrera de Ingeniería Civil, Facultad de Ingeniería, Ciencias
Físicas y Matemática, por obtener la mayor puntuación en la media total del análisis.
Fases XP
25
objetivos e hitos de dicha fase, es por esto por lo que, en XP cada fase produce una nueva
versión del producto.
12
XP es el proceso ágil de más uso, organizada con cuatro actividades estructurales:
planeación, diseño, codificación y pruebas.
Etapa inicial de todo proyecto XP. En esta fase se tendrán en cuenta ocho elementos que
garantizan una correcta panificación del proyecto. Estas son: Historias de usuario, Plan
de entregas, Plan de iteraciones, Reuniones diarias de seguimiento, Programación en
pareja.
Historia de Usuario
12
Extreme Programing
26
Título:
Número de Historia:
Usuario:
Fecha Inicio:
Fecha Fin:
Prioridad de Negocio: (Alta/Media/Baja)
Riesgo de Desarrollo: (Alta/Media/Baja)
Descripción de la Historia:
Anotaciones:
• Plan de entregas: Establece que las historias de usuarios serán agrupadas para
conformar una entrega y el orden de estas. Este cronograma será el resultado de
una reunión entre todos los actores del proyecto.
• Plan de iteraciones: Las historias de usuarios seleccionadas por cada entrega son
desarrolladas y probadas en un ciclo de iteraciones, de acuerdo con el orden
prestablecido.
• Reuniones diarias de seguimiento: El objetivo es mantener comunicación entre el
equipo y exponer los contratiempo y posibles soluciones.
27
• Programación en pareja: XP recomienda la programación en pareja ya que
aumenta la productividad y calidad del software desarrollado.
Soluciones “Spike”: Cuando las historias de usuario presentan problemas técnicos que
dificultan la estimación del tiempo de implementación. Se pueden utilizar pequeños
programas de prueba llamados Spike, para la exploración de diferentes soluciones. (XP
Extreme Programming, 2013)
Metáforas: Es una historia descrita de forma simple y global acerca del funcionamiento
y arquitectura del sistema capaz de ser comprendida por cualquier parte involucrada en
el desarrollo del sistema. “Clientes – Desarrolladores”.
Después de que las historias han sido desarrolladas y de que se ha hecho el trabajo de
diseño preliminar, el equipo no inicia la codificación, sino que desarrolla una serie de
pruebas unitarias a cada una de las historias que se van a incluir en la entrega en curso.
(Pressman, 2012, pág. 64).
Disponibilidad del cliente: El tener al cliente disponible durante todo el desarrollo del
sistema ayuda en la disolución de ambigüedades que se manifiestan en la construcción de
28
las historias de usuario. El cliente proporcionará detalles que se pasaron por alto en la
creación de las historias de usuario.
Integraciones permanentes: El código se debe integrar como mínimo una vez al día, y
realizar las pruebas sobre la totalidad del sistema, esto ayuda a evitar los problemas de
compatibilidad de interfaces y brinda un ambiente de pruebas continuas.
Pruebas Unitarias: Todos los módulos deben de pasar las pruebas unitarias antes de ser
liberados o publicados. “Estas son realizadas durante todo el desarrollo del proyecto por
parte de los programadores.” (Jaramillo, 2017)
29
Pruebas de Aceptación: Son creadas en base a las Historias de usuario. “Son
consideradas pruebas de caja negra donde el usuario testea cada una de las
funcionalidades acordadas en la etapa de diseño.” (Jaramillo, 2017)
30
4 DESARROLLO DEL PROYECTO
La Tabla 5, Hace referencia a los aspectos generales que se consideran para la creación
de la aplicación.
Historia de Usuario
Título: Aspectos Generales de la aplicación
Número de Historia: 01
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 25/09/2019
Fecha Fin: 26/09/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo: Media
Descripción de la Historia:
• La aplicación debe ser accedida mediante un navegador web.
• Los datos deben ser consistentes y permanentes
Anotaciones:
• Ambiente amigable para el usuario “Intuitivo”.
• Persistir los registros en una base de datos
La Tabla 6, detalla la funcionalidad que debe poseer para la autenticación del sistema.
31
Tabla 6. Historia de Usuario - Autenticación
Historia de Usuario
Título: Autenticación
Número de Historia: 02
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 26/09/2019
Fecha Fin: 03/10/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Alto
Descripción de la Historia:
• La administración de aplicación será exclusiva para usuarios
administradores.
• Se debe generar un inicio de sesión que verifique que solo los usuarios
registrados en la base de datos accedan al sistema.
• Generar mensaje de bienvenida en el caso de un ingreso satisfactorio
caso contrario informar al usuario la causa del error.
• Crear usuarios sin necesidad de autenticación del sistema.
Anotaciones:
• Manejar mensajes de error para autenticación errónea.
• Solo el administrador tiene acceso a los recursos críticos del sistema.
Historia de Usuario
Título: Roles de usuarios
Número de Historia: 03
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 03/10/2019
Fecha Fin: 10/10/2019
Prioridad de Negocio: Alta
32
Riesgo de Desarrollo Alto
Descripción de la Historia:
• La aplicación manejara dos tipos de roles (Administrador, Estándar) que
manejaran los privilegios de lectura y escritura.
• El rol administrador posee privilegios de lectura y escritura para todos
los módulos de la aplicación.
• El rol estándar obtendrá privilegios de lectura y escritura para módulos
considerados no críticos dentro del sistema.
• Solo los usuarios con rol Administrador tienen la potestad de
proporcionar privilegios a nuevos usuarios a través de los distintos roles
de usuario.
Anotaciones:
• Los nuevos usuarios por defecto serán creados con un rol estándar.
Historia de Usuario
Título: Administración de bien
Número de Historia: 04
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 10/10/2019
Fecha Fin: 17/10/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Alto
Descripción de la Historia:
• Solo los usuarios autenticados con rol administrador tendrán acceso a la
administración de bienes mediante un menú.
• La administración de bienes constará de registro, modificación,
eliminación y consultas.
33
• El registro de bienes se lo realizara a través de un formulario de
creación.
• El sistema permitirá la modificación de todos los campos excepto (Alta
Nueva, Alta Anterior).
• Emitir un mensaje de confirmación cuando el usuario desee eliminar
registros.
Anotaciones:
• Visualizar los registros en una tabla.
• Evitar la redundancia de datos.
Historia de Usuario
Título: Administración de estaciones
Número de Historia: 05
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 17/10/2019
Fecha Fin: 28/10/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Alto
Descripción de la Historia:
• Solo los usuarios autenticados con rol administrador tendrán acceso a la
administración de estaciones mediante un menú.
• La administración de estaciones constará de registro, modificación,
eliminación y consultas.
• El registro de una estación se lo realizara a través de un formulario de
creación.
• El sistema permitirá la modificación de todos los campos.
• Emitir un mensaje de confirmación cuando el usuario desee eliminar
registros.
34
Anotaciones:
• Visualizar los registros en una tabla.
• Evitar la redundancia de datos.
• Si una estación es eliminada y esta posee bines asignados, estos
automáticamente deben quedar hábiles para una nueva asignación.
Historia de Usuario
Título: Administración de Asignaciones
Número de Historia: 06
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 28/10/2019
Fecha Fin: 08/11/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Alto
Descripción de la Historia:
• Solo los usuarios autenticados con rol administrador tendrán acceso a la
administración de Asignaciones mediante un menú.
• Diseñar un proceso que facilite la asignación y actualización de registros
al momento de reasignar un bien a un lugar diferente al establecido
originalmente.
• La administración de Asignaciones constará de registro, modificación,
eliminación y consultas.
• La asignación de un bien a una estación se realizará a través de un
formulario de creación.
• El sistema permitirá la modificación “Reubicación” de los bienes a una
distinta ubicación.
35
• Emitir un mensaje de confirmación cuando el usuario desee eliminar
registros.
Anotaciones:
• Visualizar los registros en una tabla.
• Evitar la redundancia de datos.
• Si una asignación es eliminada habilitar el bien para una nueva
asignación.
La Tabla 11, especifica los aspectos a considerar para realizar búsqueda de registros en
los distintos módulos del sistema.
Historia de Usuario
Título: Búsqueda de Registros.
Número de Historia: 07
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 08/11/2019
Fecha Fin: 20/11/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Alto
Descripción de la Historia:
• Agilitar la búsqueda de bienes por medio del dispositivo lector de
código de barras.
• Implementar métodos secundarios de búsqueda.
Anotaciones:
• Manejar mensajes de error.
• Revisar la implementación del lector de código de barras.
36
Tabla 12. Historia de Usuario - Generación de Reportes
Historia de Usuario
Título: Generación de Reportes
Número de Historia: 08
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 20/11/2019
Fecha Fin: 05/12/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Alto
Descripción de la Historia:
• Generar reportes en formato PDF y Excel de los bienes existentes, así
como de la ubicación física.
• Realizar búsquedas personalizadas.
Anotaciones:
• Manejar mensajes de error.
• Las búsquedas personalizadas serán mediante periodos de tiempo.
Historia de Usuario
Título: Administración de Notificaciones
Número de Historia: 09
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 05/12/2019
Fecha Fin: 10/12/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Bajo
Descripción de la Historia:
• Diseñar en la pantalla principal un apartado de notificaciones que
servirá como medio de comunicación entre los usuarios del sistema.
37
• Todos los usuarios podrán acceder al módulo de registro de
notificaciones una vez superada la autenticación.
• La administración de notificaciones constará de registro, modificación,
eliminación y consultas.
• Se visualizará en la pantalla principal las ultimas 3 notificaciones
registradas en la base de datos.
• Los usuarios estándar tendrán bloqueado la edición y eliminación.
• Emitir un mensaje de confirmación cuando el usuario desee eliminar
registros.
Anotaciones:
• Visualizar los registros en una tabla.
• Evitar la redundancia de datos.
• Solo el usuario administrador podrá desactivar la notificación
Historia de Usuario
Título: Administración de Banner13
Número de Historia: 10
Usuario: Ing. Henry Jaramillo – Administrador
Fecha Inicio: 05/12/2019
Fecha Fin: 10/12/2019
Prioridad de Negocio: Alta
Riesgo de Desarrollo Bajo
Descripción de la Historia:
• Diseñar en la pantalla principal un apartado donde se muestre imágenes
de la carrera de Ingeniería Civil.
13
Banner es un anuncio en que habitualmente se presenta en una página web. Es el equivalente a los
anuncios de las vallas publicitarias del mundo real. (Desarrolladores Web, 2005)
38
• Todos los usuarios podrán acceder al módulo de registro de imágenes
una vez superada la autenticación.
• La administración de estaciones constará de registro, modificación,
eliminación y consultas.
• El sistema permitirá la modificación de todos los campos.
• Emitir un mensaje de confirmación cuando el usuario desee eliminar
imágenes.
Anotaciones:
• Visualizar los registros en una tabla en el módulo de administración
“Banners”.
• Evitar la redundancia de datos.
• Diseñar un carrusel para presentar las imágenes.
39
4.2 Planificación de despliegue de iteraciones
Mediante la siguiente tabla se muestra las iteraciones de historias de usuario que se irán
desarrollando a lo largo de la construcción del sistema, dando a conocer una aproximación
de tiempo de cada una de ellas.
Historia de Usuario
40
4.3 Fase de Diseño
En base a las historias de usuario descritas en la sección 4.1.1 y las entrevistas realizadas
al personal administrativo de los laboratorios de cómputo de la carrera de Ingeniería Civil,
se detalla la metáfora del sistema.
• Administración de Bien
• Administración de Estaciones
• Administración de Asignaciones
• Asignación de Roles a usuarios nuevos
41
4.3.3 Esquema de Base de Datos
Figura 10. Diagrama Entidad Relación de la Base de Datos. Fuente: Elaboración propia
A continuación, se presenta el diseño detallado del banco de datos de las entidades que
conforman el modelo entidad relación de la base de datos.
42
Tabla 16. Estructura del Modelo de Datos para la Tabla Usuario
43
Tabla 17. Estructura del Modelo de Datos para la Tabla Perfil
44
“Código de por el lector de
barras” código de barras
Alta Código del bien VARCHAR 50 Si Cadena de
primario números enteros
“Código de proporcionado
barras” por el lector de
código de barras
Color Color por el cual VARCHAR 50 Si Colores
se identifica el primarios y
bien secundarios.
“Amarillo, Rojo,
Azul, Café,
Negro, etc”
Costo Valor monetario DOUBLE Si Valores
por el cual esta decimales.
evaluado el bien Valor por
defecto = 0.0
Descripción Aspectos VARCHAR 100 Si Cadena de
Representativos caracteres
de bien. Alfanuméricos
Fecha_Ingreso Fecha de registro DATETIME No Fecha
del bien proporcionada
por el sistema
“dd-MM-yyyy”
Garantía Fecha de DATETIME Si Fecha
vencimiento de seleccionada en
la garantía la interfaz de
usuario. “dd-
MM-yyyy”.
Material Material del cual VARCHAR 50 Si Cadena de
está elaborado el caracteres
bien alfabéticos
45
Serie Código VARCHAR 50 Si Cadena de
proporcionado caracteres
por el fabricante Alfanuméricos
del bien
Vida Útil Número entero INT 11 Si Valores
que representa numéricos
los años que se 1, 2, 3, 5, 10
espera utilizar el
bien
Control Determina si el VARCHAR 50 No Activo
bien no se Inactivo
encuentra
asignado a una
estación
Id_detalle Llave foránea de INT 11 Si Números enteros
la tabla Detalle,
representa la
relación de un
bien son su
detalle
46
Asignado Detalla quien VARCHAR 100 Si Administrador
usa el bien Profesor
Estudiante
Caucionado Detalla quien es VARCHAR 100 Si Cadena de
el responsable caracteres
en caso de Alfabéticos.
pérdida, daño. “Nombres y
Apellidos”
Estado Estado físico VARCHAR 50 Si Bueno
del bien Malo
Estatus Determina si el VARCHAR 50 Si Activo
bien es un Baja
activo o una
baja
Guarda_almacén Detalla quien es VARCHAR 100 Si Cadena de
la persona caracteres
responsable del Alfabéticos.
activo. “Nombres y
Apellido”
Marca Marca del bien VARCHAR 50 Si Cadena de
proporcionada caracteres
por el Alfabéticos
fabricante
Modelo Modelo del VARCHAR 50 No Cadena de
bien caracteres
proporcionado Alfabéticos
por el
fabricante
Tipo Clasifica el tipo VARCHAR 50 Si Mobiliario
de bien Maquinaria –
Equipo
47
4.3.4.5 Diseño de entidad Estación
48
Tabla 21. Estructura del Modelo de Datos para la Tabla Asignación
49
Tabla 22. Estructura del Modelo de Datos para la Tabla Notificación
50
Archivo Nombre de la VARCHAR 50 Si Cadena de
imagen. caracteres
Alfanuméricos
Estatus Estado en el que VARCHAR 50 Si Activo
se encuentra la Inactivo
imagen para la
presentación
Fecha Fecha de registro DATETIME No Fecha
de la imagen proporcionada
por el sistema
“dd-MM-yyyy”
51
4.3.6 Diseño de Interfaces de Usuario
En el presente apartado, se muestran las interfaces de usuario con las que contará el
sistema. El diseño se lo realizo en base a las peticiones de los usuarios administradores
de los laboratorios de cómputo juntamente con los desarrolladores.
La Figura 12, representa la interfaz principal del sistema en la cual se muestra las
estaciones registradas y las notificaciones creadas por los usuarios.
52
Figura 13. Autenticación del Sistema. Fuente: Elaboración propia
Para mayor detalle del diseño y funcionalidad de las interfaces de usuario dirigirse al
Anexo E.
14
API: Application Programming Interface hace referencia a proceso, funciones y métodos
53
4.4 Fase de Codificación
4.4.1 Hardware
En la Tabla 24, se detalla las características del equipo donde se realizó la implementación
del sistema, además de las herramientas utilizadas durante el desarrollo de este.
Equipo
Sistema Operativo Windows 10 Pro 64 bits
Almacenamiento en Disco 1 Terabyte
Memoria RAM 16 GB
Motor de Base de Datos MySQL 6.3
IDE STS (Spring Tools Suite)
Framework Spring Boot 2.2.2 – Bootstrap 4 -
Diseño de Reportes Apache POI
4.4.2 Codificación
4.4.2.1 Entidad
En la Figura 14, se muestra las líneas de código necesarias para construir la clase java
encargada de mapear los atributos hacia la tabla generada en la base de datos.
54
Figura 14. Código de la entidad Bienes_Estaciones. Fuente: Elaboración propia
4.4.2.2 Servicios
En la Figura 15, se muestra las líneas de código necesarias para construir la clase java de
servicio encargada de las operaciones CRUD.
55
Figura 15. Código operaciones CRUD para la entidad Bienes_Estaciones. Fuente: Elaboración
propia
4.4.2.3 Controlador
En la Figura 16, se muestra las líneas de código necesarias para construir clases java tipo
controlador que son las encargadas de interpretar las peticiones de las interfaces usuario
y mostrar resultados.
56
Figura 16. Código del Controlador Bienes_Estaciones. Fuente: Elaboración propia
https://github.com/ProyectosTesisUCE/ControlBienesCivil
57
4.4.3 Estructura de la aplicación
58
4.5.1 Pruebas de Interfaz
CALIFICACIÓN
BUENA
REGULAR
DEFICIENTE
59
Mozilla Firefox Funcionamiento de Buena
Google Chrome comunicación entre Buena
Internet Explorer páginas o enlaces Regular
Internet Explorer 11
“También llamadas pruebas del cliente son especificadas por el cliente y se centran en las
características y funcionalidad generales del sistema que son visibles y revisables por
parte del cliente. Las pruebas de aceptación se derivan de las historias de los usuarios que
se han implementado como parte de la liberación del software.” (Pressman, 2012, pág.
65)
Para el desarrollo de las pruebas de caja negra nos enfocaremos en las entradas y salidas
esperadas del sistema. Las mismas que serán obtenidas de las historias de usuario donde
se especifican los requerimientos funcionales de la aplicación. Ver Anexo B.
La Tabla 28, corresponde a la plantilla a usarse para la elaboración de los casos de prueba
del sistema.
60
Tabla 28. Plantilla Pruebas de Aceptación
La Tabla 29, corresponde a la prueba de aceptación asociada al acceso del sistema por
medio de distintos navegadores.
61
Resultado Obtenido • En el navegador Chrome la visualización es correcta
mantiene todos los estilos y diseños previstos
• En el navegador Firefox la visualización es correcta
mantiene todos los estilos y diseños previstos
Evaluación Correcta
62
• Si la cuenta o Password del usuario son incorrectas emitir
un mensaje de error de autenticación.
Resultado Obtenido • El sistema supera la autenticación solamente con los
usuarios registrados en la base de datos.
• Cada tipo de usuario accede a los módulos prestablecidos
• El sistema emite mensajes de errores al ingresar
incorrectamente la Cuenta o Password del usuario.
Evaluación Correcta
63
3. Hacer clic en buscar
4. Escribir una nueva contraseña en el campo Password
5. Hacer clic en guardar.
Editar usuario
1. Autenticarse como usuario administrador
2. Dentro del menú de navegación dirigirse a la opción
Usuarios
3. Hacer clic sobre el icono de lápiz “Edición”
4. Modificar los campos requeridos
5. Hacer clic en guardar.
Eliminar usuario
1. Autenticarse como usuario administrador
2. Dentro del menú de navegación dirigirse a la opción
Usuarios
3. Hacer clic sobre el icono de papelera “Eliminar”
4. Confirmar el mensaje dando clic en aceptar.
Resultado Esperado • El botón Guardar solo se habilitará cuando el usuario
llene todos los campos requeridos en el formulario.
• Los campos de los formularios deben admitir
información acorde a lo requerido.
• En caso de que el usuario no llene algún campo
requerido, el sistema emitirá un mensaje de alerta para
informar lo sucedido.
• Al agregar un nuevo usuario la lista se actualizará
automáticamente
• El cambio de contraseña será habilitado una vez que el
usuario haya proporcionado la información de cuenta y
email.
• Al dar clic en el icono de edición se mostrará
automáticamente los datos del usuario.
• Realizada la acción de edición la lista se actualizará
automáticamente reflejando los cambios.
64
• Al dar clic en el icono de eliminación se mostrará un
mensaje de confirmación.
• Previo a la eliminación de un usuario la lista se
actualizará automáticamente reflejando los cambios.
Resultado Obtenido • El sistema no permite realizar la creación, edición
mediante el botón Guardar hasta que no se llenen los
campos requeridos.
• El sistema informa mediante un mensaje que el campo
vacío es requerido y debe ser completado.
• La actualización de la lista de usuarios es automática
cuando se crea un nuevo usuario.
• Al editar información de un usuario esta se refleja de
forma automática en la lista de usuarios.
• Al eliminar un usuario la lista se modifica y muestra los
usuarios existentes.
• La información ingresada en los campos de los
formularios está de acorde a lo requerido, se emiten
mensaje de alerta en caso de incurrir en errores al
momento de ingresar la información.
Evaluación Correcta
65
Prerrequisitos La aplicación debe estar en funcionamiento “Desplegada en el
servidor”.
Se debe ingresar como usuario Administrador al sistema.
Datos de Entrada Alta Nueva, Alta Anterior, Serie, Descripción, Costo, Vida Útil,
Garantía, Color, Material, Quien Usa, Marca, Modelo, Estado,
Estatus, Tipo, Guarda Almacén, Caucionado
Procedimiento Crear bien
1. En el menú de navegación dirigirse a la opción Bienes.
2. Hacer clic sobre el botón Nuevo.
3. Ingresar la información correspondiente según los
campos del formulario.
4. Hacer clic en Guardar.
Editar bien
1. En el menú de navegación dirigirse a la opción Bienes.
2. Hacer clic sobre el icono de lápiz “Edición”
3. Modificar los campos requeridos
4. Hacer clic en guardar.
Eliminar bien
1. En el menú de navegación dirigirse a la opción Bienes.
2. Hacer clic sobre el icono de papelera “Eliminar”
3. Confirmar el mensaje dando clic en aceptar.
Resultado Esperado • El botón Guardar solo se habilitará cuando el usuario
llene todos los campos requeridos en el formulario.
• Los campos de los formularios deben admitir
información acorde a lo requerido. Si en caso se llenan
los campos Alta Nueva, Alta Anterior con letras el
sistema emitirá mensajes error dado que estos campos
solo admiten números.
• En caso de que el usuario no llene algún campo
requerido, el sistema emitirá un mensaje de alerta para
informar lo sucedido.
66
• Si el usuario ha llenado correctamente los campos, al
presionar el botón Guardar, el sistema actualizará la tabla
con la información del nuevo registro.
• Al dar clic en el icono de edición se mostrará
automáticamente los datos del bien.
• No se podrá modificar los campos Alta Nueva, Alta
Anterior en la edición.
• Realizada la acción de edición la lista de bienes se
actualizará automáticamente reflejando los cambios.
• Al dar clic en el icono de eliminación se mostrará un
mensaje de confirmación.
• Previo a la eliminación de un bien la lista se actualizará
automáticamente reflejando los cambios.
Resultado Obtenido • El sistema no permite realizar la creación, edición
mediante el botón Guardar hasta que no se llenen los
campos requeridos.
• El sistema informa mediante un mensaje que el campo
vacío es requerido y debe ser completado.
• La información ingresada en los campos de los
formularios está de acorde a lo requerido, se emiten
mensaje de alerta en caso de incurrir en errores al
momento de ingresar la información.
• La actualización de la lista de bienes es automática
cuando se crea un nuevo bien.
• Al editar información del bien, esta se refleja de forma
automática en la lista de bienes con los cambios
realizados.
• Al eliminar un bien la lista se modifica y muestra los
bienes existentes.
Evaluación Correcta
67
4.5.2.7 Prueba de Aceptación – Administración de Estaciones
68
Resultado Esperado • El botón Guardar solo se habilitará cuando el usuario
llene todos los campos requeridos en el formulario.
• Los campos de los formularios deben admitir
información acorde a lo requerido.
• En caso de que el usuario no llene algún campo
requerido, el sistema emitirá un mensaje de alerta para
informar lo sucedido.
• Si el usuario ha llenado correctamente los campos, al
presionar el botón Guardar, el sistema actualizará la tabla
con la información del nuevo registro.
• Al dar clic en el icono de edición se mostrará
automáticamente los datos de la estación.
• No se podrá modificar los campos Lugar.
• Realizada la acción de edición la lista se actualizará
automáticamente reflejando los cambios.
• Al dar clic en el icono de eliminación se mostrará un
mensaje de confirmación.
• Previo a la eliminación de una estación la lista se
actualizará automáticamente reflejando los cambios.
• Al eliminar una estación los bienes asignados quedaran
libres para futuras asignaciones.
Resultado Obtenido • El sistema no permite realizar la creación, edición
mediante el botón Guardar hasta que no se llenen los
campos requeridos.
• El sistema informa mediante un mensaje que el campo
vacío es requerido y debe ser completado.
• La información ingresada en los campos de los
formularios está de acorde a lo requerido, se emiten
mensaje de alerta en caso de incurrir en errores al
momento de ingresar la información.
• Al editar información de la estación, esta se refleja de
forma automática en la lista de estaciones con los
cambios realizados.
69
• Al eliminar una estación los bienes asignados a ella
quedan liberados para una posterior asignación.
• La lista de estaciones se actualiza automáticamente tanto
en la creación, edición y eliminación.
Evaluación Correcta
70
4. Hacer clic en guardar.
Eliminar asignación
1. En el menú de navegación dirigirse a la opción
Asignaciones.
2. Hacer clic sobre el icono de papelera “Eliminar”
3. Confirmar el mensaje dando clic en aceptar.
Resultado • Seleccionar el código Alta Nueva del bien y el lugar en
Esperado donde se desea asignar.
• Al dar clic en Guardar la lista de asignaciones se actualiza
con la información del nuevo registro.
• Al dar clic en el icono de edición se mostrará
automáticamente los datos de la asignación. No se podrá
seleccionar el campo Alta Nueva del bien.
• Realizada la acción de edición la lista se actualizará
automáticamente reflejando los cambios. A la asignación
modificada se le proporcionara la fecha del sistema en el
atributo actualización.
• Al dar clic en el icono de eliminación se mostrará un
mensaje de confirmación.
• Previo a la eliminación de una asignación la lista se
actualizará automáticamente reflejando los cambios.
• Al eliminar una asignación los bienes asignados quedaran
libres para futuras asignaciones.
Resultado • El sistema permite realizar la asignación de bienes
Obtenido seleccionando el alta nueva y el lugar en donde se desea
guardar.
• Al dar clic en guardar el sistema emite una alerta
satisfactoria o de error según sea el caso.
• El sistema informa mediante un mensaje si ocurrió errores
en la asignación de bienes.
• Al editar una asignación se realiza la acción de reubicación
del bien en otra estación, realizada esta acción el sistema
71
genera la fecha automáticamente y la guarda en el campo
actualización del registro editado
• Al eliminar una asignación los bienes asignados a ella
quedan liberados para una posterior asignación.
• La lista de asignaciones se actualiza automáticamente
tanto en la creación, edición y eliminación.
Evaluación Correcta
72
Búsqueda de registros (Bienes, Estaciones, Asignaciones,
Notificaciones, Banners, Usuarios)
1. Acceder al sistema como usuario administrador mediante
el formulario de autenticación.
2. Escribir en el campo de búsqueda
3. Hacer clic Buscar
Resultado • El lector de código de barras proporciona el código y lo
Esperado registra en el campo Lector Alta Nueva.
• La búsqueda de bienes con el lector devuelve una lista con
el ítem ingresado
• Al buscar el bien por el código de barras se debe reflejar
en pantalla si existe, caso contrario emitir un mensaje de
registro no encontrado.
Resultado • El código de barras de la etiqueta del bien corresponde a la
Obtenido lectura de dispositivo.
• Se agrega el registro en la tabla cuando la búsqueda es
satisfactoria.
• Se emite mensaje de error al no encontrar el ítem buscado
Evaluación Correcta
73
Periodo de fechas de actualización (Inicio – Fin)
Procedimiento Reporte de bienes en formato PDF
• Sin inicio de sesión
1. Acceder a la página de inicio
2. Hacer clic en el botón Consulta Detalle
3. Hacer clic en Reportes PDF
• Con inicio de sesión
1. Acceder al sistema como usuario administrador mediante
el formulario de autenticación.
2. Dirigirse a la opción Reportes.
3. Hacer clic en Reportes PDF.
Reporte de bienes en formato Excel
• Sin inicio de sesión
1. Acceder a la página de inicio
2. Hacer clic en el botón Consulta Detalle
3. Hacer clic en Reportes Excel
• Con inicio de sesión
1. Acceder al sistema como usuario administrador mediante
el formulario de autenticación.
2. Dirigirse a la opción Bienes.
3. Hacer clic en Reportes Excel
Reporte de bienes por periodo formato PDF
• Sin inicio de sesión
1. Acceder a la página de inicio
2. Hacer clic en el botón Consulta Detalle
3. Hacer clic en Reporte por Periodo
4. Ingresar el periodo en el cual se desea consultar los
bienes actualizados.
5. Hacer clic Buscar
6. Clic en Reportes PDF
• Con inicio de sesión
1. Acceder al sistema como usuario administrador –
estándar mediante el formulario de autenticación.
74
2. Dirigirse a la opción Reportes.
3. Hacer clic en Bienes
4. Hacer clic en Reporte por Periodo
5. Ingresar el periodo en el cual se desea consultar los
bienes registrados.
6. Hacer clic Buscar
7. Clic en Reportes PDF
Reporte de bienes por periodo formato Excel
• Sin inicio de sesión
1. Acceder a la página de inicio
2. Hacer clic en el botón Consulta Detalle
3. Hacer clic en Reporte por Periodo
4. Ingresar el periodo en el cual se desea consultar los
bienes actualizados.
5. Hacer clic Buscar
6. Clic en Reportes Excel
• Con inicio de sesión
1. Acceder al sistema como usuario administrador –
estándar mediante el formulario de autenticación.
2. Dirigirse a la opción Reportes.
3. Hacer clic en Bienes
4. Hacer clic en Reporte por Periodo
5. Ingresar el periodo en el cual se desea consultar los
bienes registrados.
6. Hacer clic Buscar
7. Clic en Reportes Excel
Resultado • Exportar a formatos PDF o Excel el listado de todos los
Esperado bienes
• Exportar a formatos PDF o Excel el listado de bienes
registrados en una fecha inicial y final.
• Exportar a formatos PDF o Excel el listado de bienes por
lugares
75
• Exportar a formatos PDF o Excel el listado de bienes
actualizados por lugar en un periodo de tiempo.
Resultado • Los archivos PDF y Excel con todos los bienes son
Obtenido generados correctamente.
• Los archivos PDF y Excel con los bines registrados en un
periodo de tipo son generados de forma correcta.
• Los archivos PDF y Excel con los bienes por lugar son
generados correctamente.
• Los archivos PDF y Excel con los bienes reasignados a
lugares en un periodo de tiempo son generados de forma
correcta.
Evaluación Correcta
76
3. Ingresar la información correspondiente según los
campos del formulario.
4. Hacer clic en Guardar.
Editar notificación
1. En el menú de navegación dirigirse a la opción
Notificaciones.
2. Hacer clic sobre el icono de lápiz “Edición”
3. Modificar los campos requeridos
4. Hacer clic en guardar.
Eliminar notificación
1. En el menú de navegación dirigirse a la opción
Notificaciones.
2. Hacer clic sobre el icono de papelera “Eliminar”
3. Confirmar el mensaje dando clic en aceptar.
Resultado Esperado • El botón Guardar solo se habilitará cuando el usuario
llene todos los campos requeridos en el formulario.
• Los campos de los formularios deben admitir
información acorde a lo requerido.
• En caso de que el usuario no llene algún campo
requerido, el sistema emitirá un mensaje de alerta para
informar lo sucedido.
• Si el usuario ha llenado correctamente los campos, al
presionar el botón Guardar, el sistema actualizará la tabla
con la información del nuevo registro.
• Presentar las ultimas 3 notificaciones en la pantalla de
inicio
• La modificación y eliminación de la notificación es de
exclusividad del usuario administrador.
• Al dar clic en el icono de edición se mostrará
automáticamente los datos de la notificación.
• Realizada la acción de edición la lista se actualizará
automáticamente reflejando los cambios.
77
• Al dar clic en el icono de eliminación se mostrará un
mensaje de confirmación.
• Previo a la eliminación de una notificación la lista se
actualizará automáticamente reflejando los cambios.
Resultado Obtenido • El sistema no permite realizar la creación mediante el
botón Guardar hasta que no se llenen los campos
requeridos.
• El sistema informa mediante un mensaje que el campo
vacío es requerido y debe ser completado.
• La información ingresada en los campos de los
formularios está de acorde a lo requerido, se emiten
mensaje de alerta en caso de incurrir en errores al
momento de ingresar la información.
• El usuario tipo Estándar no puede editar ni eliminar la
notificación, se le informa del error mediante un mensaje.
• La lista de notificaciones se actualiza automáticamente
tanto en la creación, edición y eliminación.
Evaluación Correcta
78
Datos de Entrada Título, Nombre Archivo, Estatus
Procedimiento Crear banner
1. En el menú de navegación dirigirse a la opción Banners.
2. Hacer clic sobre el botón Nuevo.
3. Ingresar la información correspondiente según los
campos del formulario.
4. Hacer clic en Guardar.
Editar banner
1. En el menú de navegación dirigirse a la opción Banners.
2. Hacer clic sobre el icono de lápiz “Edición”
3. Modificar los campos requeridos
4. Hacer clic en guardar.
Eliminar banner
1. En el menú de navegación dirigirse a la opción Banners.
2. Hacer clic sobre el icono de papelera “Eliminar”
3. Confirmar el mensaje dando clic en aceptar.
Resultado Esperado • El botón Guardar solo se habilitará cuando el usuario
llene todos los campos requeridos en el formulario.
• Los campos de los formularios deben admitir
información acorde a lo requerido.
• En caso de que el usuario no llene algún campo
requerido, el sistema emitirá un mensaje de alerta para
informar lo sucedido.
• Si el usuario ha llenado correctamente los campos, al
presionar el botón Guardar, el sistema actualizará la tabla
con la información del nuevo registro.
• Al dar clic en el icono de edición se mostrará
automáticamente los datos de la imagen del banner.
• Realizada la acción de edición la lista se actualizará
automáticamente reflejando los cambios.
• Al dar clic en el icono de eliminación se mostrará un
mensaje de confirmación.
79
• Previo a la eliminación de una notificación la lista se
actualizará automáticamente reflejando los cambios.
Resultado Obtenido • El sistema no permite realizar la creación mediante el
botón Guardar hasta que no se llenen los campos
requeridos.
• El sistema informa mediante un mensaje que el campo
vacío es requerido y debe ser completado.
• La información ingresada en los campos de los
formularios está de acorde a lo requerido, se emiten
mensaje de alerta en caso de incurrir en errores al
momento de ingresar la información.
• La lista de imágenes del banner se actualiza
automáticamente tanto en la creación, edición y
eliminación.
Evaluación Correcta
Una vez culminada la fase de pruebas y con el aval de los administradores de los
laboratorios de cómputo de la carrera de Ingeniería Civil se procede hacer la entrega
formal del aplicativo mediante el Acta de entrega-recepción del proyecto. Ver Anexo A
4.6.1 Hardware
Equipo
Sistema Operativo Windows 7 64 bits
Almacenamiento en Disco 500 GB
Memoria RAM 4 GB
Fuente: (Elaboración propia)
80
4.6.3 Ejecución del aplicativo
81
82
5 Conclusiones
83
84
6 Recomendaciones
85
86
Bibliografía
Barraza, M. C. (2018). Metodología de la Investigación. Obtenido de Investigación
Bibiográfica:
http://www.utemvirtual.cl/plataforma/aulavirtual/assets/asigid_1090/contenidos
_arc/57730_inv_bibliografica.pdf
Blancarte, O. (26 de Octubre de 2017). Oscar Blancarte Software Architect. Obtenido
de https://www.oscarblancarteblog.com/2017/10/26/ide-vs-editor-de-texto/
Dangel, A. (24 de Febrero de 2010). EconLink. Obtenido de
https://www.econlink.com.ar/sistemas-informacion/clasificacion
DB-ENGINES. (DIciembre de 2019). DB-ENGINES. Obtenido de https://db-
engines.com/en/ranking
Definición MX. (2020). Definición MX. Obtenido de Investigación de Campo:
https://definicion.mx/investigacion-campo/
DELIVRD. (Diciembre de 2016). DELIVRD Inventory Collaboration Platform.
Obtenido de DELIVRD Inventory Collaboration Platform:
https://www.delivrd.com/
Desarrolladores Web. (02 de Agosto de 2005). Elementos gráficos para el diseño.
Obtenido de desarrolladoresweb.com:
https://desarrolloweb.com/articulos/2108.php
Díaz, L., Torruco, U., Martinez, M., & Varela, M. (13 de Mayo de 2013). Investigación
en educación media. La entrevista, recurso flexible y dinámico. Mexico.
EcuRed. (2003). Metodologias de desarrollo de Software. Obtenido de
https://www.ecured.cu/Metodologias_de_desarrollo_de_Software
EcuRed. (Enero de 2017). Clientes Ligeros. Obtenido de
https://www.ecured.cu/Clientes_Ligeros
EcuRed. (3 de Septiembre de 2019). Sistema de Información. Obtenido de EcuRed:
https://www.ecured.cu/index.php?title=Sistema_de_Informaci%C3%B3n&oldid
=3540779
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (2003). Patrones de Diseño
Elementos de software orientado a objetos reutilizable. Madrid: PEARSON
EDUCACIÓN, S.A.
García, F. (Junio de 2010). Asociación Mexicana de Metodología de la Ciencia y la
Investigación A. C. Obtenido de
http://www.ammci.org.mx/revista/pdf/Numero2/2art.pdf
Guevara, A. (20 de Julio de 2018). DevCode. Obtenido de Frontend y Backend:
https://devcode.la/blog/frontend-y-backend/
87
Guillermo, G. (12 de Marzo de 2020). TECNOLOGIA&INFORMATICA. Obtenido de
TECNOLOGIA&INFORMATICA: https://tecnologia-informatica.com/lectores-
codigos-barras-tipos-lectores/
Gutiérrez, F. (2015). oa.upm.es. Obtenido de
http://oa.upm.es/38731/1/TFG_Federico_Gutierrez_Faraoni.pdf
IComparable. (21 de Octubre de 2008). IComparable. Obtenido de
http://icomparable.blogspot.com/2008/10/arquitectura-n-tier-o-arquitectura-
n.html
ILS CORPORATION. (2017). ILS CORPORATION. Obtenido de ILS
CORPORATION: http://www.ils.com.ec/es/home/
inFlow. (2007). inFlow . Obtenido de inFlow : https://www.inflowinventory.com/
InformaticaModerna. (12 de Enero de 2019). InformaticaModerna. Obtenido de
InformaticaModerna: http://www.informaticamoderna.com/Lector_codigos.htm
Ingenio Virtual. (11 de Febrero de 2018). IngenioVirtual. Obtenido de
https://www.ingeniovirtual.com/conceptos-basicos-sobre-tecnologias-de-
desarrollo-web/
Jaramillo, H. (30 de Marzo de 2017). Universidad Central del Ecuador. Obtenido de
http://www.dspace.uce.edu.ec/handle/25000/9706
Letelier, P. (26 de Junio de 2012). Métodologías ágiles para el desarrollo de software:
eXtreme Programming (XP). Obtenido de
http://www.cyta.com.ar/ta0502/v5n2a1.htm
Liht Technological Solutions for Business. (11 de Agosto de 2018). Desarrollo de
aplicaciones web. Obtenido de liht.com:
https://www.liht.com/home/liht/desarrollo-de-aplicaciones-web#
Madeja. (15 de Mayo de 2016). Junta de Andalucia. Obtenido de
http://www.juntadeandalucia.es/servicios/madeja/contenido/subsistemas/desarro
llo/construccion-aplicaciones-por-capas
MarcoViaWeb. (3 de Abril de 2019). Diferentes propuestas del enfoque Agile. Obtenido
de marcoviaweb.com: http://marcoviaweb.com/enfoques-agile/
Pressman, R. (2012). Ingeniería de Software. Un enfoque práctico. Madrid:
McGrawHill. Séptima edición.
Ramos, J., Alicia, R., & Fernando, M. (2006). Sistemas gestores de bases de datos.
España: McGraw-Hill/Interamericana de España, S.A.U.
RJCodeAdvance. (25 de Junio de 2019). Patrón MVC, Modelo-Vista-Controlador +
Ejemplo (Cap 4). Obtenido de Patrones de Software:
https://rjcodeadvance.com/patrones-de-software-patron-mvc-ejemplo-parte-4/
Spring. (17 de Octubre de 2019). Spring.io. Obtenido de
https://docs.spring.io/spring/docs/5.0.0.RC2/spring-framework-
reference/overview.html
88
TestingBaires. (26 de Febrero de 2017). TestingBaires. Obtenido de PRUEBAS DE
CAJA NEGRA Y UN ENFOQUE PRÁCTICO:
https://testingbaires.com/2017/02/26/pruebas-caja-negra-enfoque-practico/
Tinajero, I. (20 de Noviembre de 2019). Udemy. Obtenido de Spring Framework
5:Spring MVC,Spring Security,Spring Data JPA(Hibernate&MySQL 8), Spring
Boot,Thymeleaf y RestFul.: https://www.udemy.com/course/spring-framework-
desarrollo-web-spring-mvc/learn/lecture/17514028#overview
TIOBE. (Diciembre de 2019). TIOBE. Obtenido de https://www.tiobe.com/tiobe-index/
TRC Informática S.L. (2019). Gestión de bienes Control, administración y gestión de
sus activos fijos. Obtenido de TRC Tu ventana a la tecnología:
http://www.trc.es/TRCServicios-281-Desarrollo-de-software-Control-de-
bienes.aspx
UNDERCODE. (2013 de Noviembre de 2013). UNDERCODE. Obtenido de
https://underc0de.org/foro/java/modelo-vista-controlador/
Univerdidad Central del Ecuador. (5 de Mayo de 2019). Repositorio UCE. Obtenido de
Estudio de pertenencia:
http://repositorio.uce.edu.ec/archivos/kserrano/Ingenier%C3%ADa%20Civil/PE
RTINENCIA%20ING%20CIVIL.pdf
XP Extreme Programming. (8 de Octubre de 2013). XP Extreme Programming.
Obtenido de Create a Spike Solution:
http://www.extremeprogramming.org/rules/spike.html
89
ANEXOS
90
Anexo A
Acta de entrega-recepción del proyecto
91
Anexo B
Registro de pruebas del sistema por parte del usuario
92
Anexo C
Hardware:
Software:
Nota
• Las versiones mencionadas de los instaladores son las más estables, por lo que se
recomienda hacer uso de estas para obtener un correcto desempeño.
• La contraseña que será solicitada en la instalación del motor de base de datos será
utilizada posteriormente “Recordarla”.
• El proceso de instalación puede demorar más de lo previsto, todo dependerá de la
velocidad de conexión del internet.
• En todo momento tener acceso a internet para evitar errores en la instalación
Instalación de JDK11
93
3. Descargar el instalador para la versión de Windows 64 bits, para que la descarga
se ponga en marcha se debe iniciar sesión con una cuenta de Oracle.
5. Llenar el formulario.
94
7. Ubicarse en la carpeta de Descargas y ejecutar el instalador y aceptar los permisos
de usuario
95
11. Abrir el explorador de Windows y dirigirse a Este Equipo dar clic derecho en
propiedades
96
14. Agregar nueva variable por medio de Nueva.
97
Nota
3. Le pedirá que inicie sección con alguna cuenta de Oracle, para evitar este paso dar
clic en No thanks, just start my download.
98
5. Ubicarse en la carpeta de Descargas y dar ejecutar el instalador
6. Aceptar los acuerdos de licencia y dar clic en Next
99
9. Dar clic en Next, configurar el puerto de acceso del servidor de base de datos. En
nuestro caso será el puerto 3306.
100
11. Configurar el nombre del servidor, Nombre por defecto MYSQL56. Dar clic en
Next
12. Para finalizar dar clic en Execute y esperar a que la instalación se efectúe. Dar
clic en Finish
101
Nota
102
5. Seleccionar la carpeta donde se desea instalar. Mantener valores por defecto y dar
clic en siguiente
6. Clic en siguiente
103
7. Clic en finalizar
104
3. Ubicarse en la carpeta de descargas. Hacer clic derecho sobre el archivo
seleccionar extraer aquí.
105
5. Buscar la carpera sts-4.4.2.RELEASE. Abrir y crear un acceso directo en el
escritorio de SpringToolSuite4
Nota
106
Anexo D
El servidor de base de datos por defecto se inicia previo a encender el computador, para
acceder de forma gráfica al servidor abriremos el programa Heidi SQL donde
procederemos a iniciar una conexión a la base de datos.
107
A continuación, iniciar la sesión mediante el botón Abrir.
Una iniciada la conexión del servidor de base de datos, procedemos a cargar el Script de
la base de datos para ello acceder al menú Archivo / Cargar archivo SQL. Se presentará
una ventana de exploración de archivos.
108
En el explorador de archivos buscar el nombre del Script “Backup Base de Datos Bienes
Con Registros.sql”. Este se encuentra en la carpeta Base de datos de la carpeta Archivos
del CD de instalación el cual debe estar copiado en la raíz del disco local C.
Cargar el archivo
Finalmente ejecutar el Script pulsando la tecla F9, El Script se ejecutará con normalidad
creando la estructura de la base de datos necesaria para la aplicación de control de bienes.
El usuario puede constatar que la base existe al hacer clic en el icono de conexión del
servidor de base de datos y pulsar la tecla F5.
Ejecución Aplicación
109
1. Debe abrir la aplicación SpringToolSuite4 si es la primera vez que se la abre
demorara unos minutos. Una vez abierta la aplicación nos dirigimos al menú File
/ Open Projects from File System. En ambos casos nos abrirá un explorador
donde debemos buscar el nombre del proyecto el cual es “BienesAppBoot” el
cual se encuentra dentro de la carpeta proyecto de la carpeta Archivos del CD de
instalación.
Previamente la carpeta archivos debe estar copiada en la raíz del disco local C.
110
2. Tomará unos minutos si es la primera vez que se cargue el proyecto. De ser
necesario seleccionar la visión de java que en nuestro caso será Java11. Abrir el
proyecto y dirigirse a la opción JRE System Library / Properties, se presentará
un explorador en donde se selecciona la versión de java, por último, hacer clic en
Apply and Close.
3. Una vez cargado el proyecto dirigirse al menú de IDE y buscar Windows / Show
View / Other y dar clic.
111
4. Se abre la siguiente ventana de exploración donde habilitaremos el plugin de
compilación Gradle. Elegimos la opción Gradle Tasks, esperamos a que se
cargue el plugin.
112
de Sistema donde se debe ingresar el siguiente código: java -jar
BienesAppBoot.war.
Para poder verificar que el proyecto está en ejecución acceder desde cualquier navegador
web a la dirección 192.168.100.10:9090
113
Nota
114
Anexo E
Manual de Usuario
Se ha elaborado el siguiente manual con el fin de que el usuario conozca la manera
correcta de utilizar la aplicación web “Control y Administración de Bienes”, y que se
encuentre con dudas al momento de utilizarla.
Una vez ingresado al aplicativo se mostrará las Estaciones de trabajo los cuales se puede
apreciar en la Figura 18 y Figura 19 cada una de ellas cuenta con un botón Consulta
Detalle, además se muestra en la parte inferior de la pantalla una lista de Notificaciones
tipo mensaje para los usuarios del sistema se la puede apreciar en la Figura 20.
115
Figura 19. Pantalla de Estaciones de trabajo.
Dando clic en el botón Consulta Detalle, muestra la ubicación, lugar y total de los bienes
que se encuentre en la estación seleccionada, además de un reporte de los bienes.
116
Figura 21. Detalle de bienes por estación de trabajo.
Dando clic en el botón Reportes por Periodo se habilitará dos cuadros de textos los
cuales al dar clic sobre cada uno de ellos desplegaran un calendario para escoger la fecha
de inicio y fin de la última actualización registrada de los bienes, dando clic en el botón
buscar se mostrará los bienes consultados.
117
Figura 24. Bienes que se encuentran en el periodo buscado
En la parte inferior donde se ingresa las fechas de inicio y fin de actualización del bien se
encuentra un cuadro de texto llamado Buscar es cual filtrara las búsquedas por cualquiera
de los campos de la información del Bien, ingresamos en el cuadro un indicio de
información para que automáticamente realice la búsqueda
Al ingresar una fecha en la que no se haya registrado ningún bien y al dar clic en buscar
se mostrara un mensaje de error con la fecha ingresado como ejemplo “No existen
registros para el período comprendido entre: 02-01-2020 & 09-01-2020”
Dando clic en el botón Acerca se mostrará la información del sistema tanto su nombre,
el por qué se realizó y a quien va dirigido.
118
Figura 27. Información del sistema.
Dando clic en el botón Login que se encuentra en la parte superior izquierda aparecerá
una página de ingreso al sistema la cual le pedirá ingresar su usuario y clave si ya lo tiene
registrado, si no es así le pedirá crear su usuario con el botón Crear Usuario -
Registrarse y si olvido su contraseña deberá dar clic en el botón Olvidaste tu
Contraseña.
119
la "z", cualquier número del 0 al 9 seguido de los siguientes caracteres especiales: @
(arroba) . (punto) - (guion) _ (guion bajo).
revisar los datos ingresados para no repetir el proceso y dar clic en el botón
el cual nos mostrara un mensaje Usuario Creado.
Una vez creado el usuario el aplicativo le pedirá que ingrese su usuario y contraseña los
cuales corresponden a: Cuenta será nuestro Usuario y Password será nuestra Contraseña,
a manera de ejemplo:
• Usuario: admin
• Contraseña: admin
120
Nota: El sistema cuenta con dos tipos de usuarios administrador y estándar para seguir
con la explicación el ingreso será con el usuario administrador tomado como ejemplo en
el apartado anterior y se explicara los permisos que tiene cada usuario en el Módulo
Usuarios.
Una vez que ingrese al sistema correctamente podrá observar la pantalla la cual se divide
en dos partes en la parte superior derecha se encuentra el menú el cual consta con los
diferentes módulos de ingreso: Bienes, Estaciones, Asignaciones, Notificaciones,
Banners, Usuarios, Reportes, y Salir en la parte inferior central de la pantalla se muestra
la información del usuario con el cual se logeo el sistema.
Botones Descripción
121
MÓDULO BIENES
Dando clic en el botón Bienes aparecerá un reporte de todos los bienes que se encuentran
en los laboratorios de la Carrera de Ingeniería Civil, además aparecerá 4 botones: Nuevo,
Reportes Pdf, Reportes Excel, Reportes por Periodo y un cuadro de texto Lector Alta
Nueva que funcionará como un filtro de búsqueda del bien este pedirá el ingreso manual
del bien por teclado o lectura inmediata del mismo mediante la pistola del lector de código
de barras.
Dando clic en el botón Nuevo nos aparecerá un primer cuadro de texto Lector Alta
Nueva el cual nos pedirá el ingreso del código de barras del bien para verificar si este
bien ya existe si es así nos saldrá un mensaje que dice ya existe un Bien con Alta Nueva
y la ubicación de este: si no es así nos saldrá un mensaje que dice No existe el Bien y
procederemos a ingresar la información correspondiente al bien.
Para ingresar la información del bien la ventana se divide en dos en la parte superior está
el apartado de Datos del Bien el cual nos pedirá ingresar los siguientes campos: Alta
Nueva, Alta Anterior, Serie y Descripción, Color y Material estos campos permiten
ingresar cualquier letra de la "a" a la "z", cualquier número del 0 al 9 y caracteres
especiales indistintamente del orden mencionado, los campos Costo, Vida Útil y
Depreciación permiten solo el ingreso de número, el campo Fin de Garantía desplegara
un calendario el cual permitirá seleccionar la fecha en la cual el bien pierde la garantía.
122
En la parte inferior de la pantalla está el apartado Detalles el cual nos pedirá ingresar los
siguientes campos: Quien Usa, Marca, Modelo, Estado, Estatus, Tipo, Guarda
Almacén y Caucionado estos campos permiten ingresar cualquier letra de la "a" a la "z",
cualquier número del 0 al 9 y caracteres especiales indistintamente del orden mencionado.
revisar los datos ingresados para no repetir el proceso y dar clic en el botón
el cual nos mostrara un mensaje Bien registrado con éxito, además nos permite crear
otro bien si así lo deseamos con las mismas opciones especificadas en la Figura 35
123
Dando clic en el botón nos redirigirá a la página de edición de la información del
bien en el cual se nos permitirá editar todos los campos a excepción del Alta Nueva y
Alta Anterior por integridad de datos.
editar los datos necesarios para no repetir el proceso y dar clic en el botón el
cual nos mostrara el siguiente mensaje.
124
Figura 40. Archivo Detalle de bienes.
Dando clic en el botón Reportes por Periodo se habilitará dos cuadros de textos los
cuales al dar clic sobre cada uno de ellos desplegaran un calendario para escoger la fecha
de inicio y fin del ingreso de los bienes a consultar, dando clic en el botón buscar se
mostrará los bienes consultados.
En la parte inferior donde se ingresa las fechas de inicio y fin de actualización del bien se
encuentra un cuadro de texto llamado Buscar es cual filtrara las búsquedas por cualquiera
de los campos de la información del Bien, ingresamos en el cuadro un indicio de
información para que automáticamente realice la búsqueda.
125
Al ingresar una fecha en la que no se haya registrado ningún bien y al dar clic en buscar
se mostrara un mensaje de error con la fecha ingresado como ejemplo “No existen
registros para el período comprendido entre: 02-01-2020 & 09-01-2020”
MÓDULO ESTACIONES
Dando clic en el botón Nueva nos pedirá ingresar la Ubicación, Lugar e Imagen de la
nueva estación, los primeros 2 son requeridos, la opción Imagen cuenta con un botón
llamado Seleccionar archivo el cual al dar clic nos permitirá escoger una imagen en
cualquier dirección dentro de nuestro computador.
126
Figura 46. Pantalla de creación de Estaciones de trabajo
En la parte inferior del botón Nuevo hay un cuadro de texto el cual funcionará como un
filtro de búsqueda por todos los campos de la tabla como fue explicado anteriormente,
127
Dando clic en el botón nos envía a la pantalla de la Figura 45 se recomienda
editar los datos necesarios para no repetir el proceso y dar clic en el botón el
cual nos mostrara un mensaje El registro fue editado.
MÓDULO ASIGNACIONES
Dando clic en el botón Nueva Asignación nos aparecerá un cuadro de texto llamado Bien
el cual desplegará los bienes existentes que creamos en el módulo Bienes Figura 36, en la
parte derecha del cuadro de texto Bien encontraremos un cuadro de texto llamado Lugar
el cual desplegará las estaciones que creamos en el módulo Estaciones Figura 45. Pantalla
de Estaciones de trabajoFigura 45, esta ventana permite asignar el bien a la estación en la
sea requerida o asignada.
128
Figura 51. Pantalla de reubicación del Bien
En la parte inferior encontraremos un cuadro de texto llamado Lector Alta Nueva el cual
funcionara como filtro para conocer la información del bien este filtro permite buscar por
todos los campos de la tabla Listado de Asignaciones, basta con ingresar cualquier
indicio de información del bien para que automáticamente realice la búsqueda.
Dando clic en el botón nos redirigirá a la página la cual permitirá escoger la nueva
ubicación del bien y la fecha en la que se ingresó en bien, al dar clic en el cuadro llamado
Lugar desplegara todas las estaciones creadas en la Figura 45 escogeremos la opción que
129
deseamos y al dar clic en cuadro llamado Fecha Ingreso nos desplegara un calendario el
cual permite escoger la fecha en la cual se realizó la reubicación del bien.
MÓDULO NOTIFICACIONES
Dando clic en el botón Nuevo se nos presentará una venta la cual nos pedirá ingresar un
Título y Detalles estos campos permiten ingresar cualquier letra de la "a" a la "z",
cualquier número del 0 al 9 y caracteres especiales indistintamente del orden mencionado,
130
dando clic en el botón situado debajo de Estatus se nos desplegara dos opciones la cual
podremos escoger entre Activo e Inactivo con un clic
ningún cambio y al dar clic en el botón mostrara un mensaje que dice Los
datos de la notificación fueron guardados junto al detalle de la notificación.
131
Dando clic en el botón nos envía a la ventana de la Figura 57 sin guardar
ningún cambio y al dar clic en el botón mostrará un mensaje que dice Los
datos de la notificación fueron modificados junto al detalle del bien.
Dando clic en el botón Cancelar nos envía a la ventana de la Figura 61 sin guardar ningún
cambio, si damos clic en el botón Aceptar nos aparecerá el siguiente mensaje
132
Módulo Banners
Dando clic en el botón Nueva nos pedirá ingresar el Titulo este campo permite ingresar
cualquier letra de la "a" a la "z", cualquier número del 0 al 9 y caracteres especiales
indistintamente del orden mencionado, el cuadro llamado Imagen cuenta con un botón
llamado Seleccionar archivo el cual nos permitirá escoger una imagen en cualquier
dirección dentro de nuestro computador dependiendo de la configuración de nuestro
navegador y un botón llamado Estatus el cual desplegara 2 opciones: activo la imagen
aparecerá en lista de banners e inactivo la imagen dejara de aparecer en los banners.
ningún cambio y al dar clic en el botón mostrara un mensaje que dice Imagen
cargada exitosamente junto al detalle de la imagen.
133
Figura 66. Pantalla de Imagen guardada
Dando clic en el botón nos redirigirá a la página la cual permitirá editar los datos de
la Imagen con los mismos campos de la Figura 65.
ningún cambio y al dar clic en el botón mostrara un mensaje que dice Cambio
de imagen registrada con éxito junto al detalle del bien.
134
En el apartado Opciones ubicado en la parte derecha de la tabla Listado de Imágenes del
Módulo Usuarios
Dando clic en el botón Usuarios nos aparecerá el Listado de Usuarios por lo menos debe
contar con el usuario Administrador creado en la
Cuenta con un cuadro de texto llamado Buscar es cual filtrara las búsquedas por
cualquiera de los campos del Usuario, ingresamos en el cuadro el usuario que deseemos
buscar y nos filtrara como se muestra a continuación, basta con ingresar cualquier indicio
de información del usuario para que automáticamente realice la búsqueda
135
Figura 72. Pantalla Listado de Usuarios
Dando clic en el botón nos redirigirá a la página Edición Usuario la cual permitirá
editar los datos de los usuarios con los siguientes campos: Perfil el cual desplegará los
dos tipos de usuarios Administrador y Estándar, Estatus el cual desplegará dos
opciones una activo si el usuario estará activo para ingresar al sistema e inactivo para dar
de baja al usuario, Cuenta será el nombre de Usuario con el cual se ingresará al sistema
este campo puede contener letra de la "a" a la "z" y cualquier número del 0 al 9 y el
campo Email debe contener cualquier letra de la "a" a la "z", cualquier número del 0 al 9
seguido de los siguientes caracteres especiales: @ (arroba) . (punto) - (guion) _ (guion
bajo).
cambio y al dar clic en el botón mostrara un mensaje que dice El usuario fue
editado junto al listado de los Usuarios.
136
Figura 74. Pantalla y notificación de Usuario editado
Módulo Reportes
Dando clic en Bienes nos aparecerá la siguiente ventana Reporte de Bienes por Periodo
en vacío tendremos que ingresar la Fecha Inicio Registro y la Fecha Fin Registro.
137
Figura 78. Pantalla de búsqueda Reportes por Periodo
Dando clic en el cuadro Fecha Inicio Registro desplegara un calendario para escoger la
fecha de inicio en la cual se registró el bien y al dar clic en el cuadro Fecha Fin Registro
desplegara un calendario para escoger la fecha de Fin de Registro la cual corresponda al
último movimiento o actualización del bien o bienes a consultar, dando clic en el botón
buscar se mostrará los bienes consultados.
138
de internet, además dando clic en el botón Cancelar nos envía a la ventana de la Figura
60 sin guardar ningún cambio.
Modulo Salir
139