Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
PROYECTO DE GRADO
DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE
BIBLIOTECA ESPECIALIZADA VIRTUAL PARA EL
INSTITUTO DE ELECTRÓNICA APLICADA EN LA
UNIVERSIDAD MAYOR DE SAN ANDRÉS
LA PAZ – BOLIVIA
2022
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE INGENIERIA
LICENCIA DE USO
A la Universidad Mayor de San Andrés, que nos brinda un ambiente para poder formarnos
A los docentes que con sus años de experiencia nos dan un enfoque al mundo profesional.
A mi tutor Ing. Juan Carlos Duchen Cuellar que me guio de la mejor forma para desarrollar el
presente proyecto.
Al director del Instituto de Electrónica Aplicada Ing. Freddy Valle Velásquez que me permitió
Al docente asignado para evaluar el proyecto Ing. Luis Alfonso Jurado Viscarra, que me brindo
el tiempo suficiente para poder realizar las correcciones y finalizar con el proyecto.
I
2.1.4 Análisis ..................................................................................................................................... 16
2.1.4.1 Construir un Modelo Conceptual de Análisis. ................................................................... 16
2.1.4.2 Refinar el Modelo de Navegación del Sistema. ................................................................. 17
2.1.4.3 Definir los Prototipos de Interfaz. ..................................................................................... 17
2.1.5 Diseño ...................................................................................................................................... 17
2.1.5.1 Diseñar el Modelo Básico. ................................................................................................. 17
2.1.5.2 Diseñar el Modelo de Navegación. .................................................................................... 17
2.1.5.3 Diseñar la Interfaz Abstracta ............................................................................................. 17
2.1.6 Desarrollo................................................................................................................................. 18
2.1.7 Pruebas e Implementación ...................................................................................................... 18
2.1.7.1 Plan de Pruebas. ................................................................................................................ 18
2.1.7.2 Implementación ................................................................................................................ 18
2.1.7.3 Mantenimiento y Mejora Continua. .................................................................................. 19
2.2 Lenguaje de Modelado Unificado (UML)......................................................................................... 19
2.2.1 Diagrama de Clases .................................................................................................................. 19
2.2.2 Diagrama de Casos de Uso ....................................................................................................... 21
2.2.3 Diagrama de Secuencias........................................................................................................... 22
2.3 Arquitectura de Software ................................................................................................................ 22
2.3.1 Modelo Vista Controlador ........................................................................................................ 22
2.3.1.1 Modelo. ............................................................................................................................. 23
2.3.1.2 Vista. ................................................................................................................................. 23
2.3.1.3 Controlador. ...................................................................................................................... 23
2.4 Ambiente para el Desarrollo de un Sistema de Información ........................................................... 24
2.4.1 Internet .................................................................................................................................... 24
2.4.2 World Wide Web...................................................................................................................... 24
2.4.3 Página Web .............................................................................................................................. 24
2.4.4 Sitio Web .................................................................................................................................. 25
2.4.5 Servidor Web ........................................................................................................................... 25
2.4.6 Navegador Web ....................................................................................................................... 25
2.4.7 URL ........................................................................................................................................... 25
2.4.7.1 Protocolo HTTP/HTTPS. ..................................................................................................... 26
2.4.7.2. Subdominio. ..................................................................................................................... 27
2.4.7.3 Nombre del Dominio. ........................................................................................................ 27
II
2.4.7.4 Top Level Domain TLD ....................................................................................................... 27
2.4.7.5 Subdirectorio o Subcarpeta. .............................................................................................. 27
2.4.7.6 Nombre del Archivo o Página. ........................................................................................... 27
2.4.8 Alojamiento web ...................................................................................................................... 27
2.5 Herramientas de Desarrollo ............................................................................................................ 28
2.5.1 Entorno de Desarrollo .............................................................................................................. 28
2.5.1.1 XAMPP. ............................................................................................................................. 28
2.5.1.2 Apache .............................................................................................................................. 29
2.5.1.3 Visual Studio Code............................................................................................................. 30
2.5.2 Lenguajes de Programación ..................................................................................................... 30
2.5.2.1 PHP .................................................................................................................................... 30
2.5.2.2 JAVASCRIPT ....................................................................................................................... 31
2.5.2.3 SQL .................................................................................................................................... 32
2.5.3 Base de Datos ........................................................................................................................... 32
2.5.3.1 Tipos de Bases de Datos .................................................................................................... 33
2.5.3.2 Administración de Bases de Datos .................................................................................... 33
2.5.3.3 Sistema Gestor de Base de Datos (DBMS) ......................................................................... 33
2.5.3.4 MySQL. .............................................................................................................................. 34
2.5.3.5 MariaDB ............................................................................................................................ 35
2.5.4 Interfaz de Una Página Web ..................................................................................................... 35
2.5.4.1 HTML. ................................................................................................................................ 35
2.5.4.2 CSS..................................................................................................................................... 36
2.5.5 Frameworks ............................................................................................................................. 37
2.5.5.1 Laravel ............................................................................................................................... 38
2.5.5.2 Vue.js ................................................................................................................................ 39
2.5.5.3 Bootstrap. ......................................................................................................................... 40
2.5.6 Plugins ...................................................................................................................................... 40
Capítulo 3 Planificación............................................................................................................................. 42
3.1 Planificación del Desarrollo del Sistema de Información ................................................................ 42
3.1.1 Ámbito del Proyecto ................................................................................................................ 42
3.1.2 Viabilidad ................................................................................................................................. 43
3.2 Visión General del Sistema .............................................................................................................. 43
3.2.1 Público objetivo ....................................................................................................................... 43
III
3.2.2 Alcances del Sistema ................................................................................................................ 43
3.2.3 Esquema General ..................................................................................................................... 44
Capítulo 4 Especificación de Requisitos y Análisis..................................................................................... 46
4.1 Especificación de Requisitos ........................................................................................................... 46
4.1.1 Recursos de Información .......................................................................................................... 46
4.1.2 Requisitos de Almacenamiento ................................................................................................ 48
4.1.3 Requisitos Funcionales ............................................................................................................. 50
4.1.3.1 Administración de Usuarios .............................................................................................. 50
4.1.3.2 Almacenamiento de Información. ..................................................................................... 50
4.1.3.3 Visualización de información............................................................................................. 50
4.1.3.4 Administración de Información ......................................................................................... 50
4.1.4 Requisitos de Interacción ......................................................................................................... 51
4.1.5 Requisitos no Funcionales ........................................................................................................ 51
4.1.6 Tabla de requerimientos .......................................................................................................... 51
4.2 Análisis ............................................................................................................................................ 52
4.2.1 Identificación de Actores.......................................................................................................... 52
4.2.2 Diagrama de Casos de Uso ....................................................................................................... 55
4.2.2.1 Administración de Usuarios .............................................................................................. 55
4.2.2.2 Almacenamiento de Información ...................................................................................... 56
4.2.2.3 Visualización de Información ............................................................................................ 56
4.2.2.4 Administración de Información ......................................................................................... 57
4.2.3 Diagrama de Clases .................................................................................................................. 58
4.2.4 Documentación de los Casos de Uso ........................................................................................ 59
4.2.4.1 Casos de uso: Ver usuarios penalizados y Modificar penalización .................................... 59
4.2.4.2 Caso de Uso: Añadir o Eliminar Versión ............................................................................ 60
4.2.4.3 Caso de Uso: Añadir o Eliminar Penalización..................................................................... 63
4.2.4.4 Caso de Uso: Añadir o Eliminar Documento ...................................................................... 65
4.2.4.5 Caso de Uso: Añadir o Eliminar Clasificación ..................................................................... 68
4.2.4.6 Caso de Uso: Ver Información de Documento .................................................................. 71
4.2.4.7 Caso de Uso: Buscar Documento ...................................................................................... 72
4.2.4.8 Caso de Uso: Ver Contenido del Documento .................................................................... 73
4.2.4.9 Caso de Uso: Ver Información de la Página Web .............................................................. 74
4.2.4.10 Caso de Uso: Ver Información de los Prestamos. ............................................................ 76
IV
4.2.4.11 Caso de Uso: Ver Información de las Penalizaciones....................................................... 77
4.2.4.12 Caso de Uso: Ver Información de las Versiones. ............................................................. 78
4.2.4.13 Caso de Uso: Ver Información de las Solicitudes de Copia Digital de Documento. ......... 79
4.2.4.14 Caso de Uso: Ver Información de las Clasificaciones. ...................................................... 80
4.2.4.15 Caso de Uso: Ver Cambios en los Recursos de Información. ........................................... 81
4.2.4.16 Caso de Uso: Exportar los Reportes del Sistema. ............................................................ 82
4.2.4.17 Casos de Uso: Controlar el Acceso a los Documentos y Editar Información de las
Clasificaciones. .............................................................................................................................. 83
4.2.4.18 Casos de Uso: Editar Información de la Biblioteca. ......................................................... 85
4.2.4.19 Casos de Uso: Editar Información de las Penalizaciones. ................................................ 86
4.2.4.20 Casos de Uso: Editar Información de las Versiones. ........................................................ 88
4.2.4.21 Casos de Uso: Editar Información de los Documentos. ................................................... 89
4.2.4.22 Casos de Uso: Solicitar Préstamo de Documento. ........................................................... 90
4.2.4.23 Casos de Uso: Controlar préstamo de documento .......................................................... 91
4.2.4.24 Casos de Uso: Solicitar Retorno de Documento .............................................................. 92
4.2.4.25 Casos de Uso: Controlar Retorno de Documento ............................................................ 93
4.2.4.26 Casos de Uso: Exportar Información de los Documentos Encontrados. .......................... 94
4.2.4.27 Casos de Uso: Solicitar Copia Digital del Documento. ..................................................... 96
4.2.4.28 Casos de Uso: Solicitar Controlar Solicitudes de Copia Digital del Documento. .............. 97
4.2.4.29 Generar reporte de “Acceso denegado”. ........................................................................ 98
4.2.4.30 Interacción con la base de datos. .................................................................................. 100
Capítulo 5 Diseño .................................................................................................................................... 101
5.1 Diseño de la Base de Datos ........................................................................................................... 101
5.1.1 Modelo conceptual ................................................................................................................ 101
5.1.1.1 Identificación de las Entidades ........................................................................................ 101
5.1.1.2 Identificación de las Relaciones....................................................................................... 102
5.1.1.3 Asociación de Atributos y Clave Primaria ........................................................................ 105
5.1.2 Modelo Lógico........................................................................................................................ 111
5.1.2.1 Definición de Tablas. ....................................................................................................... 111
5.2 Diseño de la Interfaz de Usuario ................................................................................................... 117
5.2.1 Menú de navegación .............................................................................................................. 118
5.2.1.1 Usuario Externo............................................................................................................... 118
5.2.1.2 Usuario Estudiante .......................................................................................................... 118
V
5.2.1.3 Usuario Docente.............................................................................................................. 118
5.2.1.4 Usuario Bibliotecario ....................................................................................................... 119
5.2.1.5 Usuario Administrador .................................................................................................... 119
5.2.2 Contenido de la Vista ............................................................................................................. 121
5.2.2.1 Informaciones. ................................................................................................................ 121
5.2.2.2 Biblioteca ........................................................................................................................ 121
5.2.2.3 Versiones......................................................................................................................... 122
5.2.2.4 Clasificaciones ................................................................................................................. 124
5.2.2.5 Documentos. ................................................................................................................... 126
5.2.2.6 Solicitudes de préstamo .................................................................................................. 128
5.2.2.7 Buscar Documento .......................................................................................................... 129
5.2.2.8 Solicitudes de Copia Digital ............................................................................................. 132
5.2.2.9 Solicitar Devolución......................................................................................................... 132
5.2.2.10 Usuarios Penalizados..................................................................................................... 133
5.2.2.11 Penalizaciones ............................................................................................................... 134
5.2.2.12 Reportes del Sistema ..................................................................................................... 136
5.2.3 Lógica de programación de la comunicación con la base de datos ........................................ 136
5.2.3.1 Obtener la Información Solicitada ................................................................................... 136
5.2.3.2 Guardar un Recurso de Información ............................................................................... 137
5.2.3.3 Actualizar un Recurso de Información............................................................................. 137
5.2.3.4 Eliminar un Recurso de Información ............................................................................... 138
5.2.3.5 Generar Reporte ............................................................................................................. 138
5.2.4 Visualización de los Datos del Sistema ................................................................................... 139
5.2.5 Formularios para la creación de nuevos registros .................................................................. 139
5.2.6 Formularios para la edición de registros ................................................................................ 140
5.2.7 Validación de datos ................................................................................................................ 140
5.2.7.1 Biblioteca. ....................................................................................................................... 141
5.2.7.2 Solicitud de Copia Digital. ................................................................................................ 141
5.2.7.3 Documento. .................................................................................................................... 141
5.2.7.4 Versión. ........................................................................................................................... 142
5.2.7.5 Clasificación..................................................................................................................... 142
5.2.7.6 Penalización. ................................................................................................................... 143
5.3 Diseño de la Configuración de Acceso a los Recursos del Sistema ................................................ 143
VI
5.3.1 Clasificaciones ........................................................................................................................ 143
5.3.2 Penalizaciones ........................................................................................................................ 144
5.3.3 Versiones................................................................................................................................ 144
5.3.4. Documentos .......................................................................................................................... 145
5.3.5 Prestamos .............................................................................................................................. 147
5.3.6 Solicitudes de copia digital ..................................................................................................... 147
5.3.7 Biblioteca ............................................................................................................................... 148
5.3.8 Reportes del sistema .............................................................................................................. 148
5.4 Diseño de las Rutas del Sistema .................................................................................................... 148
Capítulo 6 Desarrollo .............................................................................................................................. 155
6.1 Instalación del Entorno de Desarrollo ........................................................................................... 155
6.2 Creación de la Base de Datos ........................................................................................................ 156
6.3 Desarrollo Web ............................................................................................................................. 157
6.3.1 Vistas ...................................................................................................................................... 157
6.3.1.1 Encabezado. .................................................................................................................... 158
6.3.1.2 Barra de Navegación. ...................................................................................................... 158
6.3.1.3 Informaciones. ................................................................................................................ 159
6.3.1.4 Biblioteca. ....................................................................................................................... 160
6.3.1.5 Editar Biblioteca. ............................................................................................................. 161
6.3.1.6 Versiones......................................................................................................................... 162
6.3.1.7 Añadir Versión................................................................................................................. 163
6.3.1.8 Editar Versión. ................................................................................................................. 164
6.3.1.9 Clasificaciones. ................................................................................................................ 166
6.3.1.10 Añadir Clasificación. ...................................................................................................... 167
6.3.1.11 Editar Clasificación. ....................................................................................................... 169
6.3.1.12 Documentos. ................................................................................................................. 170
6.3.1.13 Añadir Documento. ....................................................................................................... 172
6.3.1.14 Editar Documento. ........................................................................................................ 174
6.3.1.15 Buscar Documento. ....................................................................................................... 176
6.3.1.16 Información del Documento. ........................................................................................ 177
6.3.1.17 Solicitar Copia Digital del Documento. .......................................................................... 179
6.3.1.18 Ver Contenido del Documento. ..................................................................................... 180
6.3.1.19 Solicitudes de Préstamo. ............................................................................................... 181
VII
6.3.1.20 Solicitudes de Copia Digital. .......................................................................................... 182
6.3.1.21 Solicitar Devolución....................................................................................................... 184
6.3.1.22 Usuarios Penalizados..................................................................................................... 184
6.3.1.23 Penalizaciones. .............................................................................................................. 185
6.3.1.24 Añadir Penalización. ...................................................................................................... 187
6.3.1.25 Editar Penalización. ....................................................................................................... 188
6.3.1.26 Reporte del Sistema. ..................................................................................................... 190
6.3.2 Modelos y Controladores ....................................................................................................... 191
Capítulo 7 Pruebas e Implementación .................................................................................................... 193
7.1 Implementación ............................................................................................................................ 193
7.1.1 Parámetros del Servidor......................................................................................................... 193
7.1.2 Montaje del Servidor Web ..................................................................................................... 194
7.1.2.1 Conexión con el Servidor ................................................................................................. 194
7.1.2.2 Instalación de Herramientas ........................................................................................... 195
7.1.2.3 Configuración de Permisos. ............................................................................................. 201
7.1.3 Instalación del Sistema en el Servidor .................................................................................... 202
7.2 Pruebas ......................................................................................................................................... 207
7.2.1 Pruebas de Funcionamiento .................................................................................................. 207
7.2.1.1 Administrar la Penalización de los Usuarios .................................................................... 207
7.2.1.2 Proveer Formularios para la Creación y Edición de los Recursos de Información ........... 209
7.2.1.2.1 Versiones .................................................................................................................. 209
7.2.1.2.2 Clasificaciones. ......................................................................................................... 210
7.2.1.2.3 Penalizaciones .......................................................................................................... 211
7.2.1.2.4 Documentos ............................................................................................................. 212
7.2.1.3 Ver de Manera General el Contenido y la Información de la Biblioteca .......................... 213
7.2.1.4 Ver Mediante un Listado Cada Uno de los Recursos de Información. ............................. 214
7.2.1.5 Visualizar el Contenido de los Documentos .................................................................... 217
7.2.1.6 Visualizar los Cambios que se Realizan en los Recursos de Información ......................... 218
7.2.1.7 Proporcionar una Herramienta de Búsqueda de Documentos........................................ 219
7.2.1.8 Proveer la Opción de Solicitudes de Préstamo, Devolución y Copia Digital de los
Documentos ................................................................................................................................ 219
7.2.1.9 Proporcionar una Herramienta para el Control de Préstamos, Devoluciones y Solicitudes
de Copia Digital de los Documentos............................................................................................ 221
7.2.1.10 Controlar el Acceso a los Documentos .......................................................................... 222
VIII
7.2.1.11 Exportar la Información de los Documentos Encontrados Mediante un PD ................. 222
7.2.1.12 Exportar los Cambios en los Recursos de Información Mediante un PDF ..................... 223
7.2.1.13 Determinar el Tipo de Usuario Autenticado para Mostrar el Contenido....................... 224
7.2.2 Pruebas de almacenamiento .................................................................................................. 225
7.2.3 Pruebas de Rendimiento ........................................................................................................ 228
7.2.3.1 Navegador Google Chrome ............................................................................................. 228
7.2.3.2 Navegador Mozilla Firefox .............................................................................................. 228
7.2.3.3 Navegador Internet Explorer ........................................................................................... 229
7.2.3.4 Conexión Ethernet .......................................................................................................... 229
7.2.3.5 Conexión 4G. ................................................................................................................... 230
7.2.3.6 Conexión 3G .................................................................................................................... 230
7.2.3.7 Pruebas en Celular .......................................................................................................... 231
7.2.3.8 Pruebas en dispositivo “Tablet” ...................................................................................... 231
Capítulo 8 Conclusiones y Recomendaciones ......................................................................................... 232
8.1 Conclusiones ................................................................................................................................. 232
8.2 Recomendaciones ......................................................................................................................... 232
Referencias Bibliográficas ....................................................................................................................... 234
Glosario De Acrónimos ........................................................................................................................... 236
Anexo A. Registrar Varios Documentos .............................................................................................. 238
Anexo B. Manual de Uso del Sistema de Información ........................................................................ 240
Crear Versión .................................................................................................................................. 240
Crear Clasificación ........................................................................................................................... 241
Crear Documento ............................................................................................................................ 242
Crear Penalización........................................................................................................................... 243
Listar los recursos de información .................................................................................................. 244
Anexo C. Código Fuente del Sistema de Biblioteca Especializada Virtual............................................ 245
Anexo D. Configuraciones Adicionales del Proyecto de Laravel .......................................................... 245
Anexo E. Respaldo del Sistema de Información .................................................................................. 246
Anexo F. Costos de Desarrollo e Implementación .............................................................................. 246
IX
Índice de Figuras
X
Figura 42 Diagrama de clases para visualizar la información de las penalizaciones ................................. 77
Figura 43 Diagrama de clases para visualizar la información de las versiones ......................................... 78
Figura 44 Diagrama de clases para visualizar la información de las solicitudes de copia digital de
documento ................................................................................................................................................ 79
Figura 45 Diagrama de clases para visualizar la información de las clasificaciones ................................. 80
Figura 46 Diagrama de clases para visualizar la información de los reportes ........................................... 81
Figura 47 Diagrama de clases para exportar la información de los reportes ............................................ 82
Figura 48 Diagrama de clases para editar la información de las clasificaciones ....................................... 83
Figura 49 Diagrama de clases para editar la información de la biblioteca................................................ 85
Figura 50 Diagrama de clases para editar la información de las penalizaciones ...................................... 86
Figura 51 Diagrama de clases para editar la información de las versiones ............................................... 88
Figura 52 Diagrama de clases para editar la información de las versiones ............................................... 89
Figura 53 Diagrama de clases para administrar la información de los préstamos de documentos ........... 90
Figura 54 Diagrama de clases para exportar los documentos encontrado ............................................... 94
Figura 55 Diagrama de clases para solicitar una copia digital del documento ......................................... 96
Figura 56 Diagrama de clases para guardar un reporte ............................................................................ 98
Figura 57 Diseño de la base de datos: Modelo conceptual ..................................................................... 110
Figura 58 Diseño de la base de datos: Modelo lógico ............................................................................. 116
Figura 59 Diseño interfaz de usuario ....................................................................................................... 117
Figura 60 Encabezado de la biblioteca virtual ......................................................................................... 117
Figura 61 Menú de navegación para usuarios externos .......................................................................... 118
Figura 62 Menú de navegación para usuarios estudiantes ..................................................................... 118
Figura 63 Menú de navegación para usuarios docentes ......................................................................... 119
Figura 64 Menú de navegación para usuarios bibliotecarios .................................................................. 119
Figura 65 Menú de navegación para usuario administrador .................................................................. 120
Figura 66 Lógica de navegación – menú de navegación ......................................................................... 120
Figura 67 Lógica de programación – vista: Informaciones ...................................................................... 121
Figura 68 Lógica de programación – vista: Biblioteca ............................................................................. 122
Figura 69 Lógica de programación – vista: Versiones ............................................................................. 123
Figura 70 Lógica de programación – vista: Clasificaciones...................................................................... 125
Figura 71 Lógica de programación – vista: Documentos ......................................................................... 127
Figura 72 Lógica de programación – vista: Solicitudes de préstamo ....................................................... 128
Figura 73 Lógica de programación – Subproceso: Actualizar préstamo .................................................. 129
Figura 74 Lógica de programación – vista: Buscar documento ............................................................... 131
Figura 75 Lógica de programación – vista: Solicitud de copia digital ...................................................... 132
Figura 76 Lógica de programación – vista: solicitar devolución .............................................................. 133
Figura 77 Lógica de programación – vista: Usuarios penalizados ........................................................... 134
Figura 78 Lógica de programación – vista: Penalizaciones ..................................................................... 135
Figura 79 Lógica de programación – vista: Reportes del sistema ............................................................ 136
Figura 80 Lógica de programación – subproceso: Obtener información solicitada ................................. 137
Figura 81 Lógica de programación – subproceso: Guardar un recurso de información .......................... 137
Figura 82 Lógica de programación – subproceso: Actualizar un recurso de información ........................ 138
Figura 83 Lógica de programación – subproceso: Eliminar un recurso de información........................... 138
Figura 84 Lógica de programación – subproceso: Generar reporte ........................................................ 139
XI
Figura 85 Visualización de los recursos de información .......................................................................... 139
Figura 86 Formulario de creación de nuevos recursos de información .................................................... 140
Figura 87 Formulario de edición de los recursos de información............................................................. 140
Figura 88 Desarrollo del sistema de información .................................................................................... 155
Figura 89 Entorno de desarrollo .............................................................................................................. 155
Figura 90 Creación de la base de datos ................................................................................................... 156
Figura 91 Conexión del sistema con las dos bases de datos .................................................................... 156
Figura 92 Datos iniciales en la base de datos .......................................................................................... 157
Figura 93 Componente para el encabezado ............................................................................................ 158
Figura 94 Barra de navegación en función al usuario autenticado ......................................................... 158
Figura 95 Contenido de la ruta: Informaciones ....................................................................................... 159
Figura 96 Contenido de la ruta: Biblioteca .............................................................................................. 160
Figura 97 Contenido de la ruta: Editar biblioteca .................................................................................... 161
Figura 98 Contenido de la ruta: Versiones............................................................................................... 162
Figura 99 Contenido de la ruta: Añadir versión ....................................................................................... 163
Figura 100 Contenido de la ruta: Editar versión ...................................................................................... 164
Figura 101 Contenido de la ruta: Clasificaciones ..................................................................................... 166
Figura 102 Contenido de la ruta: Añadir clasificación ............................................................................. 167
Figura 103 Contenido de la ruta: Editar clasificación .............................................................................. 169
Figura 104 Contenido de la ruta: Documentos ........................................................................................ 170
Figura 105 Contenido de la ruta: Añadir documento .............................................................................. 172
Figura 106 Contenido de la ruta: editar documento ............................................................................... 174
Figura 107 Contenido de la ruta: Buscar documento .............................................................................. 176
Figura 108 Contenido de la ruta: Información del documento ................................................................ 177
Figura 109 Contenido de la ruta. Solicitud de copia digital ..................................................................... 179
Figura 110 Contenido de ruta: Ver contenido del documento ................................................................. 180
Figura 111 Contenido de la ruta: Solicitudes de préstamo ...................................................................... 181
Figura 112 Contenido de la ruta: Solicitudes de copia digital .................................................................. 182
Figura 113 Contenido de la ruta: Solicitar devolución ............................................................................. 184
Figura 114 Contenido de la ruta: Usuarios penalizados .......................................................................... 184
Figura 115 Contenido de la ruta: Penalizaciones..................................................................................... 185
Figura 116 Contenido de la ruta: Añadir penalización ............................................................................ 187
Figura 117 Contenido de la ruta: Editar penalización.............................................................................. 188
Figura 118 Contenido de la ruta: Reportes del sistema ........................................................................... 190
Figura 119 Parámetros del servidor ........................................................................................................ 193
Figura 120 Parámetros de conexión con el servidor web ........................................................................ 194
Figura 121 Parámetros de conexión con el servidor web ........................................................................ 194
Figura 122 Versión de Apache instalada ................................................................................................. 195
Figura 123 Versión de MariaDB instalada ............................................................................................... 196
Figura 124 Versión de PHP instalada ...................................................................................................... 197
Figura 125 Ejecución de Composer .......................................................................................................... 199
Figura 126 Interfaz de phpMyAdmin ....................................................................................................... 200
Figura 127 Instalación de Git .................................................................................................................. 201
Figura 128 Propietarios y permisos para Apache en Linux ...................................................................... 201
XII
Figura 129 Asignación de permisos a la carpeta “html” ......................................................................... 202
Figura 130 Configuración del archivo “.env” para la conexión con las 2 bases de datos......................... 205
Figura 131 Creación de la base de datos ................................................................................................. 205
Figura 132 Creación de las tablas en la base de datos ............................................................................ 206
Figura 133 Configuración del archivo de apache .................................................................................... 206
Figura 134 Funcionamiento del sistema de biblioteca virtual en el servidor web.................................... 207
Figura 135 Asignación de penalización ................................................................................................... 208
Figura 136 Lista de usuarios penalizados y actualizar penalización ........................................................ 208
Figura 137 Bloqueo de préstamo a usuario penalizado .......................................................................... 209
Figura 138 Formulario para crear una nueva versión ............................................................................. 209
Figura 139 Formulario para editar una versión seleccionada ................................................................. 210
Figura 140 Formulario para crear una nueva versión ............................................................................. 210
Figura 141 Formulario para editar una clasificación seleccionada.......................................................... 211
Figura 142 Formulario para crear una nueva penalización ..................................................................... 211
Figura 143 Formulario para editar una penalización seleccionada ......................................................... 212
Figura 144 Formulario para crear un nuevo documento ......................................................................... 212
Figura 145 Formulario para editar un documento seleccionado ............................................................. 213
Figura 146 Visualización del contenido y la información de la biblioteca................................................ 214
Figura 147 Listado de las versiones ......................................................................................................... 215
Figura 148 Listado de las clasificaciones ................................................................................................. 215
Figura 149 Listado de los documentos .................................................................................................... 216
Figura 150 Listado de las penalizaciones ................................................................................................ 216
Figura 151 Eliminación de un registro ..................................................................................................... 217
Figura 152 Contenido del documento con protección de lectura ............................................................ 217
Figura 153 Contenido del documento sin protección de lectura .............................................................. 218
Figura 154 Visualización de los cambios en los recursos de información ................................................ 218
Figura 155 Búsqueda y obtención de documentos encontrados ............................................................. 219
Figura 156 Solicitar préstamo de documento.......................................................................................... 219
Figura 157 Visualización de las solicitudes de préstamo realizadas por el usuario ................................. 220
Figura 158 Solicitar copia digital de un documento ................................................................................ 220
Figura 159 Control de préstamo de documentos .................................................................................... 221
Figura 160 Control de las solicitudes de copia digital .............................................................................. 221
Figura 161 Controlar el acceso a los documentos ................................................................................... 222
Figura 162 Exportar en PDF los documentos encontrados ...................................................................... 223
Figura 163 Exportar en PDF los reportes generados ............................................................................... 223
Figura 164 Barra de navegación en función al usuario autenticado ....................................................... 224
Figura 165 Control de acceso a rutas sin permiso ................................................................................... 224
Figura 166 Tabla de clasificaciones ......................................................................................................... 225
Figura 167 Tabla de solicitudes de copia digital ...................................................................................... 225
Figura 168 Tabla de documentos ............................................................................................................ 225
Figura 169 Tabla de penalizaciones ........................................................................................................ 226
Figura 170 Tabla de préstamos de documentos ...................................................................................... 226
Figura 171 Tabla de reportes del sistema ............................................................................................... 226
Figura 172 Tabla de palabras clave ......................................................................................................... 227
XIII
Figura 173 Tabla de versiones ................................................................................................................. 227
Figura 174 Tabla de usuarios .................................................................................................................. 227
Figura 175 Funcionamiento en Google Chrome ...................................................................................... 228
Figura 176 Funcionamiento en Mozilla Firefox ....................................................................................... 228
Figura 177 Funcionamiento en Internet Explorer .................................................................................... 229
Figura 178 Tiempo de carga con conexión ethernet ............................................................................... 229
Figura 179 Tiempo de carga con conexión 4G ......................................................................................... 230
Figura 180 Tiempo de carga con conexión 3G ......................................................................................... 230
Figura 181 Funcionamiento en Celular .................................................................................................... 231
Figura 182 Funcionamiento en Tablet ..................................................................................................... 231
Figura 183 Creación del archivo Excel con la información de los documentos ........................................ 238
Figura 184 Archivo CSV con la información de los documentos .............................................................. 239
Figura 185 Importar datos a la tabla “documentos” ............................................................................... 239
Figura 186 Copiar los archivos al servidor ............................................................................................... 240
Figura 187 Vista para añadir una versión ............................................................................................... 240
Figura 188 Formulario para añadir una versión ...................................................................................... 241
Figura 189 Vista para añadir una clasificación........................................................................................ 241
Figura 190 Formulario para añadir una clasificación .............................................................................. 242
Figura 191 Vista para añadir un documento ........................................................................................... 242
Figura 192 Formulario para añadir un documento ................................................................................. 243
Figura 193 Vista para añadir una penalización ....................................................................................... 243
Figura 194 Formulario para añadir una penalización ............................................................................. 244
Figura 195 Listado de los documentos .................................................................................................... 244
Figura 196 Definir la base de datos que utilizara el modelo “Roles” ....................................................... 245
Figura 197 Definir la base de datos que utilizara el modelo “Permission” .............................................. 245
Figura 198 Exportar tablas de la base de datos ...................................................................................... 246
XIV
Índice de Tablas
Tabla 1 Relación entre las clases ............................................................................................................... 20
Tabla 2 Acciones y etapa de desarrollo para el cumplimiento de objetivos .............................................. 42
Tabla 3 Espacio de almacenamiento necesario actualmente .................................................................... 49
Tabla 4 Espacio de almacenamiento necesario por año............................................................................ 49
Tabla 5 Tabla de requerimientos del sistema de información ................................................................... 52
Tabla 6 Descripción y funciones de los actores .......................................................................................... 53
Tabla 7 Diagrama de secuencias para los casos de uso: Ver usuarios penalizados y Modificar penalización
.................................................................................................................................................................. 59
Tabla 8 Diagrama de secuencia para añadir una versión .......................................................................... 61
Tabla 9 Diagrama de secuencia para eliminar una versión ....................................................................... 62
Tabla 10 Diagrama de secuencia para añadir una penalización ............................................................... 63
Tabla 11 Diagrama de secuencia para eliminar una penalización ............................................................ 64
Tabla 12 Diagrama de secuencia para añadir un documento ................................................................... 66
Tabla 13 Diagrama de secuencia para eliminar un documento ................................................................ 67
Tabla 14 Diagrama de secuencia para añadir una clasificación ................................................................ 68
Tabla 15 Diagrama de secuencia para eliminar una clasificación ............................................................. 69
Tabla 16 Diagrama de secuencia para el caso de uso: Ver información de documento ............................ 71
Tabla 17 Diagrama de secuencia para el caso de uso: Buscar documento ................................................ 72
Tabla 18 Diagrama de secuencia para el caso de uso: Ver contenido del documento .............................. 73
Tabla 19 Diagrama de secuencia para el caso de uso: Ver información de la página Web ....................... 75
Tabla 20 Diagrama de secuencia para el caso de uso: Ver información de los prestamos ........................ 76
Tabla 21 Diagrama de secuencia para el caso de uso: Ver información de las penalizaciones ................. 78
Tabla 22 Diagrama de secuencia par el caso de uso: Ver información de las versiones ............................ 79
Tabla 23 Diagrama de secuencia para el caso de uso: Ver información de las solicitudes de copia digital
de documento ........................................................................................................................................... 80
Tabla 24 Diagrama de secuencia para el caso de uso: Ver información de las clasificaciones .................. 81
Tabla 25 Diagrama de secuencia para el caso de uso: Ver cambios en los recursos de información ........ 82
Tabla 26 Diagrama de secuencia para el caso de uso: Exportar los reportes del sistema ......................... 83
Tabla 27 Diagrama de secuencia para los casos de uso: Controlar el acceso a los documentos y editar
información de las clasificaciones ............................................................................................................. 84
Tabla 28 Diagrama de secuencia para el caso de uso: Editar información de la biblioteca ...................... 85
Tabla 29 Diagrama de secuencia para el caso de uso: Editar información de las penalizaciones ............. 87
Tabla 30 Diagrama de secuencia para el caso de uso: Editar información de las versiones ...................... 88
Tabla 31 Diagrama de secuencia para el caso de uso: Editar información de los documentos ................. 89
Tabla 32 Diagrama de secuencia para el caso de uso: Solicitar préstamo de documento......................... 91
Tabla 33 Diagrama de secuencia para el caso de uso: Controlar préstamo de documento ...................... 91
Tabla 34 Diagrama de secuencia para el caso de uso: Solicitar retorno de documento ............................ 92
Tabla 35 Diagrama de secuencia para el caso de uso: Controlar retorno de documento .......................... 93
Tabla 36 Diagrama de secuencia para el caso de uso: Exportar información de los documentos
encontrados .............................................................................................................................................. 95
Tabla 37 Diagrama de secuencia para el caso de uso: Solicitar copia digital del documento ................... 96
Tabla 38 Diagrama de secuencia para el caso de uso: Controlar solicitudes de copia digital del documento
.................................................................................................................................................................. 97
XV
Tabla 39 Diagrama de secuencia para guardar un reporte ....................................................................... 99
Tabla 40 Diagrama de secuencia para realizar consultas y enviar información a la base de datos ........ 100
Tabla 41 Identificación de entidades ....................................................................................................... 101
Tabla 42 Relación de las entidades ......................................................................................................... 102
Tabla 43 Atributos y clave primaria de las entidades .............................................................................. 105
Tabla 44 Diseño de la tabla para la entidad “Usuarios” .......................................................................... 111
Tabla 45 Diseño de la tabla para la entidad “Biblioteca” ........................................................................ 111
Tabla 46 Diseño de la tabla para la entidad “Roles” ............................................................................... 111
Tabla 47 Diseño de la tabla para la entidad “Permisos” ......................................................................... 112
Tabla 48 Diseño de la tabla para la entidad “Penalizaciones” ................................................................ 112
Tabla 49 Diseño de la tabla para la entidad “Prestamos” ....................................................................... 112
Tabla 50 Diseño de la tabla para la entidad “Prestamos” ....................................................................... 113
Tabla 51 Diseño de la tabla para la entidad “Estados de préstamo” ...................................................... 113
Tabla 52 Diseño de la tabla para la entidad “Copias digitales” ............................................................... 113
Tabla 53 Diseño de la tabla para la entidad “Documentos” .................................................................... 114
Tabla 54 Diseño de la tabla para la entidad “Versiones” ........................................................................ 114
Tabla 55 Diseño de la tabla para la entidad “Clasificaciones” ................................................................ 114
Tabla 56 Diseño de la tabla para la entidad “Palabras clave” ................................................................. 115
Tabla 57 Diseño de la tabla para la entidad “Reportes” ......................................................................... 115
Tabla 58 Validación de datos para el formulario de “Biblioteca” ............................................................ 141
Tabla 59 Validación de datos para el formulario de “Solicitud de copia digital” ..................................... 141
Tabla 60 Validación de datos para el formulario de “Documentos”........................................................ 141
Tabla 61 Validación de datos para el formulario de “Versión” ................................................................ 142
Tabla 62 Validación de datos para el formulario de “Clasificación” ........................................................ 142
Tabla 63 Validación de datos para el formulario de “Penalización” ........................................................ 143
Tabla 64 Configuración de acceso: Clasificaciones .................................................................................. 143
Tabla 65 Configuración de acceso: Penalizaciones .................................................................................. 144
Tabla 66 Configuración de acceso: Versiones .......................................................................................... 144
Tabla 67 Configuración de acceso: Documentos ..................................................................................... 145
Tabla 68 Configuración de acceso: Prestamos ........................................................................................ 147
Tabla 69 Configuración de acceso: Solicitudes de copia digital ............................................................... 147
Tabla 70 Configuración de acceso: Biblioteca ......................................................................................... 148
Tabla 71 Configuración de acceso: Reportes del sistema ........................................................................ 148
Tabla 72 Diseño de las rutas del sistema................................................................................................. 149
Tabla 73 Relación de los modelos con la base de datos .......................................................................... 191
Tabla 74 Relación de los controladores con los modelos ......................................................................... 191
Tabla 75 Relación de los controladores con las vistas ............................................................................. 192
Tabla 76 Parámetros del servidor ........................................................................................................... 193
Tabla 77 Instalación de Apache............................................................................................................... 195
Tabla 78 Instalación de MariaDB ............................................................................................................ 196
Tabla 79 Instalación de PHP .................................................................................................................... 197
Tabla 80 Instalación de Composer .......................................................................................................... 198
Tabla 81 Instalación de PhpMyAdmin ..................................................................................................... 199
Tabla 82 Instalación de Git ...................................................................................................................... 200
XVI
Tabla 83 Asignación de permisos ............................................................................................................ 202
Tabla 84 Instalación del sistema en el servidor web................................................................................ 203
Tabla 85 Costos del proyecto por persona .............................................................................................. 247
Tabla 86 Costos del proyecto para el alojamiento web ........................................................................... 247
XVII
Resumen
El desarrollo del proyecto se realizó en base a una metodología para el desarrollo de sistemas de
posterior diseño y desarrollo del sistema que cumpla con los requerimientos planteados.
desarrollo de Laravel y Vue.js, los lenguajes de programación PHP, SQL y JavaScript, además
ver la información y contenido de cada documento según el tipo de usuario autenticado. Tiene
las funciones para el control de los préstamos de documentos y las solicitudes de copia digital de
los documentos. Además de que permite la administración de la información sobre las versiones,
Palabras Clave: Biblioteca virtual, Sistema de Información, PHP, JavaScript, SQL, Laravel,
Vue.js.
XVIII
Abstract
In this project, a virtual library system based on web development is developed, which allows
The development of the project was carried out based on a methodology for the development of
information systems, analyzing the functional, interaction and non-functional requirements, for
the subsequent design and development of the system that meets the stated requirements.
The Model-View-Controller architecture was used, the system is divided into the backend and
frontend. The development of the system was carried out through the implementation of the
Laravel and Vue.js development environments, the PHP, SQL and JavaScript programming
languages, in addition to the HTML and CSS markup languages. The knowledge of management
and implementation of these technologies were acquired in the development of this project.
The developed system allows the storage of documents and classifying them according to the
needs of the Institute of Applied Electronics. It allows you to search for documents and view the
information and content of each document according to the type of authenticated user. It has the
functions for the control of document loans and requests for digital copies of documents. In
and penalties.
Keywords: Virtual Library, Information System, PHP, JavaScript, SQL, Laravel, Vue.js.
XIX
1
Capítulo 1 Introducción
considerada ilimitada y es la mayor fuente de información para una persona, sin embargo, esta
Las bibliotecas constituyen una fuente esencial del conocimiento, están las bibliotecas de
carácter público o de temática general que abarcan todas las áreas del conocimiento, su función
comunidad universitaria, por ello se los considera como un pilar fundamental en la formación
profesional (Costa, 2021, pág. 1). El diseño de una biblioteca virtual en el Instituto de
Electrónica Aplicada, es una posibilidad real de acceder a todo tipo de materiales digitales, para
1.1 Antecedentes
Resolutivo Nº 18, en el Primer Congreso Interno de la Universidad Mayor de San Andrés, bajo
Aplicada.
dependencia tecnológica.
los cuales se generan documentos de investigación, una vez que se finaliza cada programa.
Dichos documentos deben ser registrados y almacenados por los administrativos, en la biblioteca
de la institución, este proceso no cuenta con un sistema de apoyo para realizar una
La opción de una biblioteca virtual es una importante funcionalidad que puede ser
a continuación.
3
continuación:
para la Universidad Boliviana, para el uso de estudiantes como del público en general”
(Chambi, 2006, pág. 9). Este proyecto está enfocado al diseño del sistema y no así en la
❖ Administración de usuarios.
❖ Administración de documentos.
❖ Búsqueda de libros.
Tiene como fin “brindar a docentes y estudiantes un repositorio digital colaborativo, que
2019).
detalla a continuación:
POSTGRADO EN INFORMÁTICA
Tiene como finalidad el desarrollo de una biblioteca virtual basada en web semántica para
recursos.
detallan a continuación:
a. RI-UMSA
Figura 1
b. SUI-UMSA
El sistema de Bibliotecas KOHA, cuenta con dos módulos, el OPAC del usuario que
El KOHA es un sistema de acceso único a los recursos que tienen las diferentes
Figura 2
(https://dtic.umsa.bo/web/dtic/sistemas-dtic/-
/asset_publisher/i2w3aB7eeggO/content/sistema-de-bibliotecas-virtuales/628439)
7
c. DSpace
institucional, soporta una gran variedad de datos, incluyendo libros, tesis, fotografías,
filmes, video, datos de investigación. Fue liberado en el 2002, como producto de una
alianza de HP y el MIT. Es liberado bajo una licencia BSD que permite a los usuarios
❖ Repositorios Institucionales
❖ Preservación Digital
❖ Publicación
Figura 3
Software DSpace
❖ Diplomado en telecomunicaciones
❖ Especialidad telemática
Los participantes de los programas de postgrado, así como los estudiantes de la carrera de
postgrado. Actualmente no existe un sistema de información que permita publicar y tener acceso
❖ Falta de información oportuna, es decir que no se tiene un medio por el cual comunicar
personalmente, lo cual representa una pérdida de tiempo por el recorrido que se hace para
llegar al Instituto.
aprendizaje y en la investigación?
Por todo lo mencionado, se presenta el desafío de desarrollar un sistema funcional, que cumpla
con criterios de desarrollo tecnológico que permita un adecuado uso, mantenimiento y mejora del
mismo.
1.4 Objetivos
Electrónica Aplicada de la Universidad Mayor de San Andrés, que apoye con el aprendizaje,
libre de licencias.
virtual.
Aplicada.
❖ Concluir el proyecto con interfaces intuitivas para un fácil manejo del usuario final.
1.5 Justificación
impactado en el uso de bibliotecas tradicionales, de modo que estas deben adaptarse y adecuarse
El Instituto de Electrónica Aplicada, cuenta con un servidor de pruebas, que está alojado por el
desarrollo, para implementar sistemas de información sobre páginas web de manera fácil y
eficiente.
de software RUP.
Tanto los docentes como estudiantes de los programas de postgrado del Instituto de
información de forma gratuita. Personas externas que quieran acceder a la información pagarán
un costo definido por el instituto, que será una fuente de ingreso económico para continuar con el
1.6.1 Alcances
los que se incluyen los programas de postgrado, documentos generados por la institución,
❖ Se definen las principales funcionalidades del sistema como crear, eliminar, actualizar y
mostrar datos del sistema, donde se considera el tipo de usuario que está utilizando el
sistema.
❖ Se realiza el modelo del funcionamiento del sistema, en base al análisis de los requisitos.
información utilizada.
gestionar los accesos a los documentos que tendrán los diferentes usuarios dentro del
1.6.2 Limites
registrarse en el sistema.
13
❖ El presente proyecto está desarrollado como parte de otros sistemas de información para
❖ La implementación y las pruebas se realizarán con los recursos que dispone actualmente
Una metodología para el desarrollo de sistemas de información debe ser global, ofrecer
las herramientas y técnicas suficientes para cubrir todos esos aspectos que se pueden encontrar
en un sistema de este tipo (Escalona, Risoto, & Valderrama, 2001, pág. 1).
información. El ciclo de vida debe comprender un total de seis flujos de trabajo: planificación,
Figura 4
Planificación
Especificación
de requisitos
Análisis
Diseño
Desarrollo
Pruebas e
implementación
Nota. Adaptado de Ciclo de vida, Escuela Tecnológica Instituto Técnico Central (p. 4), 2015,
(https://etitc.edu.co/archives/calidad/GIC-GU-01.pdf)
15
Estos flujos se deben realizar en forma consecutiva, pero es posible volver a flujos anteriores
2.1.2 Planificación
2.1.2.1 Delimitación del Ámbito del Proyecto. Definir los aspectos que comprende el
proyecto y que cuestiones quedan fuera, especificar todo aquello que se proponga, hasta una
versión posterior del sistema, si es necesario incluir un aspecto que no se consideró, es necesario
objetivos clave.
mismo, identificar los factores que pueden hacer fracasar el proyecto y elementos que pueden
2.1.2.3 Errores que Deben Evitarse. Abreviar la planificación y análisis del proceso de
Identificar sobre que conceptos se desea guardar la información y cuál va a ser la información
concreta almacenada sobre esta, tipología de la información, una vez definido los requisitos de
16
aplicación.
2.1.3.3 Definición de Actores. Definir actores capaces de interactuar con el sistema, cada
actor define un rol que los usuarios asumen cuando interactúan con el sistema, se define los roles
2.1.3.4 Identificar y Definir los Requisitos Funcionales del Sistema. Que podrá hacer
el sistema con la información que almacena, casos de uso, técnica que se usara para capturar
estas necesidades, estos requisitos se deben describir mediante información gráfica y una
información textual.
de información, cada uno de estos requisitos de interacción llevara asociado una funcionalidad,
los requisitos de interacción están compuestos por dos aspectos: criterios de búsqueda y los
prototipos de visualización,
a los objetivos para determinar otros requisitos que por su carácter no hayan sido catalogados
anteriormente.
2.1.4 Análisis
aplicación.
17
debe ser consistente y cubrir una serie de aspectos, como que el usuario pueda llegar a toda la
2.1.5 Diseño
2.1.5.1 Diseñar el Modelo Básico. El modelo básico es el diseño del sistema pero
dejando al margen todo lo que serían los aspectos de navegación y de interfaz, diseño de la
2.1.5.2 Diseñar el Modelo de Navegación. Hay que tener en cuenta que objetos del
modelo básico van a ser navegables, esto va a estar íntimamente relacionado con los nodos
hay entre estos objetos navegables, estudiar de qué forma se mostraran los objetos navegables.
2.1.5.3 Diseñar la Interfaz Abstracta. Revisar los prototipos que se han definido en la
fase de análisis y enriquecerlos con todos los nuevos aspectos de diseño conceptual y de
2.1.6 Desarrollo
Traducir a código lo que se ha diseñado, crear manuales de usuario, del diseño básico se
se conoce que pantallas hay que realizar, eventos que las afectan y como trabajar con ellas.
❖ Lenguajes de programación.
❖ Herramientas IDE.
❖ Servidores de aplicación.
❖ Interface de usuario.
2.1.7.1 Plan de Pruebas. Recoger las pruebas a realizar e indicar el orden de realización.
❖ Ítems a probar: Indica la configuración a probar y las condiciones mínimas que debe
❖ Estrategia: Técnica, patrón y/o herramientas que se utilizaran en el diseño de los casos
de prueba.
soporte.
19
modificaciones según los nuevos requerimientos que se van prestando, principales funciones que
se deben realizar: planeación (detectar fallas o planear requerimiento), definición de los ajustes a
mantenimiento se sigue la metodología que está enmarcada dentro del ciclo planificar-hacer-
verificar-actuar:
❖ Actuar: Realizar acciones para promover la mejora del desempeño de los procesos.
UML tiene diferentes elementos gráficos, los cuales se utilizan en conjunto para formar
describe las funcionalidades que tendrá el sistema, pero esto no implica como se desarrollará o
UML tiene diferentes tipos de diagramas, en el presente proyecto se utilizarán algunos de estos
Figura 5
Nombre de la clase
(visibilidad)Atributos
(visibilidad)Operaciones
Nota. Adaptado de Notación de clase (p. 46), por Rumbaugh, Jacobson, & Booch, 2007, EL
❖ (+) Publica: Se puede acceder al atributo o función desde cualquier lugar de la aplicación.
❖ (-) Privada: Se puede acceder al atributo o función únicamente desde la misma clase.
❖ (#) Protegida: Se puede acceder al atributo o función únicamente desde la misma clase o
clases heredadas.
Las clases se relacionan entre sí para formar el diagrama de clases, esta relación se la representa
Tabla 1
Nota. Adaptado de Tipos de relaciones (p. 46), por Rumbaugh, Jacobson, & Booch, 2007, EL
Modelan como el usuario final interactúa con el sistema, mediante el uso de actores y
casos de uso, un caso de uso representa las acciones que puede realizar un usuario en el sistema.
Figura 6
Caso de uso 1
Caso de uso 2
<<incluir>>
Actor 1 Actor 2
Caso de uso 3
Nota. Adaptado de Diagrama de casos de uso (p. 70), por Rumbaugh, Jacobson, & Booch, 2007,
interacción de los objetos con los componentes para completar dicho proceso. El diagrama se
Figura 7
Diagrama de secuencia
1: Mensaje
2: Mensaje
3: Mensaje
4: Mensaje
Activaciones 5: Mensaje
6: Mensaje
7: Mensaje
Líneas de vida
Nota. Adaptado de Diagrama de secuencia (p. 93), por Rumbaugh, Jacobson, & Booch, 2007,
Es un estilo de arquitectura de software, que separa los datos, la interfaz gráfica del
Figura 8
Diagrama de secuencia
Actor
1: Solicita
2: Llama
Controlador Modelo
4: Retorna
Vista
3: Base de datos
Nota. Adaptado de Ciclo de vida del MVC, por Rodrigo Gómez, 2015,
(http://rodrigogr.com/blog/modelo-vista-controlador/)
2.3.1.1 Modelo. Se encarga de acceder al almacenamiento de los datos, ya sea por una
que pueda ser mostrada en la interfaz de usuario. Las peticiones de acceso o cambios de
2.3.1.3 Controlador. Recibe los eventos de entrada (acciones que realiza el usuario) de
(dependerá del evento detectado), por lo que se puede considerar al “controlador” como el
2.4.1 Internet
❖ Acceso remoto, que permite la conexión como terminal y control de otra computadora
Es una red informática mundial a la que se accede a través de internet, formada por
usuarios de una página web a otra. Tiene como función ordenar y distribuir la información
existente en internet.
El World Wide Web Consortium (W3C), estableció que la web se basaría en tecnologías libres,
disponible para todo el mundo, sin derechos de autor ni patentes y de manera gratuita.
Una página web estática tiene su contenido predeterminado, una página web dinámica genera el
Es una colección de páginas web que se agrupan y están relacionadas, la información que
Es un software que tiene como función principal, generar o ceder una respuesta cuando
recibe peticiones por parte de los usuarios, mediante una página web. Para la transmisión de los
Es un software que permite el acceso a la World Wide Web y ayuda a encontrar páginas
Figura 9
Navegadores web
de-internet)
2.4.7 URL
Es una dirección única y específica, que se utiliza para acceder a los recursos disponibles
en la World Wide Web, como una página o un servidor web y puedan ser visualizadas por los
Figura 10
https://www.midominio.com/categoria/archivo
(https://josefacchin.com/que-es-una-url/)
sobre conexiones anteriores. Se basa en las operaciones de solicitud – respuesta, inicia mediante
Figura 11
Protocolo HTTP/HTTPS
(https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/protocolo-http/)
27
2.4.7.2. Subdominio. Es un subgrupo del nombre del dominio principal, para mantener
una organización del contenido del sitio web, separando las diferentes páginas web.
2.4.7.3 Nombre del Dominio. Es el nombre que se asigna al sitio web y el que reemplaza
el tener que utilizar la dirección IP. La traducción del nombre de dominio a dirección IP se la
2.4.7.4 Top Level Domain TLD. Es el ultimo componente del dominio, existen tres
tipos:
❖ Dominios de más alto nivel con código de país como .us, .es, .bo.
separar o agrupar diferentes archivos. Un mismo dominio puede tener múltiples subdirectorios,
2.4.7.6 Nombre del Archivo o Página. Es el elemento que se utiliza para especificar un
almacenamiento en línea, para los archivos que forman parte del sitio web (Gustavo, 2022).
❖ Número de sitios.
❖ Ancho de banda: Cantidad máxima de datos al mes que puede utilizar el sitio web.
28
❖ Seguridad.
❖ Alojamiento compartido: Se comparte los recursos del servidor con otros clientes.
❖ Alojamiento VPS: Servidor virtual privado, se comparte el servidor, pero se asignan una
se replican en cada servidor, lo que permite tener una redundancia con respecto al tráfico
de la información.
❖ Servidor dedicado: Implica tener un propio servidor físico dedicado exclusivamente para
el sitio web, donde se tiene libertad para configurar el servidor, según las necesidades que
se requieran.
viene configurado por defecto con las opciones activadas de apache, mysql y php (Garcia, 2020).
❖ A: Apache.
❖ M: MySQL/MardiaDB.
❖ P: PHP.
29
❖ P: Perl.
Figura 12
Software XAMPP
pasar-un-sistema-de-xampp-a-un-hosting-web/)
2.5.1.2 Apache. Software de código abierto que se utiliza como servidor web, permite a
aceptar las peticiones de las páginas web que contiene y define la entrega o denegación de la
Figura 13
Software Apache
programación (Flores, 2022). Incluye una función de depuración que permite detectar errores en
funcionalidades adicionales, como programa en diferentes lenguajes, conectar con otros servicios
Figura 14
llaves-en-visual-studio-code/)
aplicaciones para web y crear páginas web. Es un lenguaje del lado del servidor, esto permite
cargar los elementos necesarios de una página, antes de ser mostrados al usuario mediante un
Figura 15
(https://es.wikipedia.org/wiki/PHP#/media/Archivo:PHP-logo.svg)
objetos, que se ejecuta en los navegadores web. Es un lenguaje del lado del cliente, permitiendo
programar el comportamiento de una página web cuando ocurre un evento, utilizado en conjunto
Figura 16
(https://www.genbeta.com/desarrollo/javascript-funciones-y-expresiones)
32
principales son:
❖ Integridad de datos: Asegura que los datos sean válidos, correctos y completos.
Figura 17
(https://medium.com/@maniakhitoccori/sql-b%C3%A1sico-conceptos-b%C3%A1sicos-
d937a8b19d02)
informático. Normalmente está controlada por un sistema de gestión de base de datos (DBMS).
Los datos se suelen utilizar en estructuras de filas y columnas mediante tablas, lo que permite
33
gestionar, modificar, actualizar, controlar y organizar los mismos con mayor eficacia. La
mayoría de las bases de datos utilizan el lenguaje SQL para el procesamiento y consulta de datos.
2.5.3.1 Tipos de Bases de Datos. Existen varios tipos de base de datos. La elección del
❖ Bases de datos relacionales: Los datos se organizan como un conjunto de tablas con
estructurada.
puede estar en el mismo lugar físico o en una ubicación diferente dentro de la red.
rápidos.
semiestructurada.
datos, con el objetivo de cumplir con las políticas establecidas por el administrador de datos.
2.5.3.3 Sistema Gestor de Base de Datos (DBMS). Sistema que permite la creación,
administración:
❖ Sistemas gestores de bases de datos relacionales: Entre los más utilizados están MySQL y
MariaDB.
2.5.3.4 MySQL. Sistema de gestión de base de datos relacional más extendido y basado
manera diferenciada, lo que permite que sea utilizado por varios usuarios al mismo
tiempo.
eficacia en la implementación.
Figura 18
mejores-interfaces-graficas-mysql/)
35
2.5.3.5 MariaDB. Sistema de gestión de base de datos que está relacionado con MySQL
e igualmente de software abierto. Algunas de sus características con respecto a MySQL son
(Felipe, 2020):
❖ Mejoras en la velocidad: Utiliza el cache para almacenar las filas de datos en lugar de
escribirlas en el disco.
datos y se dejan solo las alertas que sean necesarias para optimizar, mejorar o solventar
una incidencia.
Figura 19
content/uploads/2022/04/mariadb-logo-vert_blue-transparent.png)
Estructura formada por elementos gráficos que permiten la interacción de los usuarios
estructura del contenido web, utiliza “marcas” para etiquetar texto, imágenes y otro contenido
36
que se quiera mostrar mediante un navegador web, trabaja en conjunto con CSS y JavaScript. La
❖ HTML 2.0: Primer estándar oficial, la estructura del documento se simplificaba para
agilizar su edición.
❖ HTML 3.2: Incorporo applets de Java y texto que fluye alrededor de las páginas web.
❖ HTML 4.01: Soporta más opciones multimedia, lenguajes de scripts, hojas de estilo y
❖ HTML 5: Estándar oficial desde 2014, tiene nuevas etiquetas, introduce la posibilidad de
Figura 20
Lenguaje HTML
(https://es.wikipedia.org/wiki/HTML5#/media/Archivo:HTML5_logo_and_wordmark.svg)
2.5.4.2 CSS. Hojas de estilo en cascada, es un lenguaje de marcado como HTML para
definir el estilo del sitio web. Es posible crear todos los estilos en un archivo diferente y después
que indica a que elementos se aplicaran los estilos, y la “declaración” que especifica cuáles son
❖ CSS1: Primera versión con estilos básicos como color de texto, márgenes, bordes y
tipografías.
❖ CSS3: Mejoras en los modos de color, declarar valores de los estilos mediante variables,
responsivo.
Figura 21
Lenguaje CSS
(https://es.wikipedia.org/wiki/CSS#/media/Archivo:CSS3_logo_and_wordmark.svg)
2.5.5 Frameworks
Es una estructura que sirve de base para la organización y desarrollo de software, pueden
proyecto en menor tiempo, reducir errores y obtener resultados de mayor calidad (Muente,
2020).
promueve la separación de los archivos mediante un orden definido, lo que permite y facilita el
Contiene varias herramientas o utilidades para realizar la mayoría de las aplicaciones web,
❖ El motor de plantilla “Blade”, que posibilita hacer paginas potentes y eficaces, donde es
❖ Sistema de abstracción de base de datos “Eloquent ORM”, que permite manejar los datos
❖ Seguridad mediante mecanismo de “hash” y “salt” para encriptar por medio de librerías
como “Bcrypt”.
❖ Sistema de rutas, que permite crear y mantener todo tipo de URL’s amistosas a usuarios y
buscadores.
❖ Sistema de autenticación.
❖ Permite actualizar y migrar la base de datos sin necesidad de borrarla y volverla a crear.
39
Figura 22
Framework Laravel
usuario. Una de sus características más importantes es el trabajo con componentes, dentro del
que se encapsula código dividido en tres secciones, las etiquetas HTML, estilos de CSS y código
en función a algún evento, para utilizar diferentes componentes, sin la necesidad de recargar la
Figura 23
Framework Vue.js
vuejs-became-popular-in-a-short-period-38e53199a620)
❖ Tiene dos clases de contenedores para adaptarse mejor a los proyectos de escritorio y
Figura 24
Framework Bootstrap
vector-eps/)
2.5.6 Plugins
permisos, los cuales serán almacenados en la base de datos, sin la necesidad de crear las
migraciones manualmente.
electrónico.
mediante el modelo.
❖ Font Awesome: Paquete que permite sustituir imágenes de iconos por gráficos
vectoriales.
❖ SweetAlert2: Biblioteca que se utiliza junto con JavaScript para crear modales, “popups”
y alertas.
❖ Laravel-mix: Paquete que permite definir de forma rápida y sencilla el procesado de CSS
y JavaScript.
❖ Laravel ui: Paquete que proporciona las rutas, controladores y vistas necesarias para
Capítulo 3 Planificación
En este capítulo se definirá el funcionamiento general del sistema, para su posterior análisis
y diseño. Se iniciará con la planificación del proyecto, la visión general del sistema, los recursos
Electrónica Aplicada de la Universidad Mayor de San Andrés”. Se definen las siguientes acciones
Tabla 2
3.1.2 Viabilidad
❖ Todo el desarrollo del proyecto se lo realizara mediante software libre, por lo que no se
❖ No se tiene todos los documentos digitalizados, por lo que no es posible realizar las pruebas
El sistema permite la entrada de los datos de manera manual, los cuales pueden ser
sistema y una clasificación de los documentos disponibles. No se cuenta con un control automático
para las solicitudes de préstamo y copias digitales de los documentos. El sistema permite acceder
al contenido del documento a los usuarios registrados, por otro lado, los usuarios externos tienen
Los usuarios ingresan al sistema mediante una página web que está almacenado en el
servidor.
En la “Figura 25”, se muestra un esquema que representa la interacción entre los usuarios, página
Figura 25
Celular inteligente
Servicio externo
Tablet
Estudiante
Bibliotecario
Nota. Adaptado de Diagrama Sistema de Comunicados (p. 37), por Herbas y Nina, 2018,
Son los elementos de información que deben ser gestionados por el sistema, que se
desarrollara en el proyecto.
Aplicada, ya sean diplomados, maestrías u otro programa que pueda ser añadido
posteriormente.
❖ Clasificaciones: Una clasificación, se refiere a organizar una serie de objetos que sean
similares entre sí, en una determinada directiva (Pérez & Gaardey, 2021). Representa
aplicada, agrupando una cantidad de documentos que tengan relación con la clasificación
asignada.
hecho, situación o circunstancia (Pérez & Merino, 2021). Para el proyecto solo se
Aplicada.
Los documentos pueden clasificarse como libros, revistas, monografías, tesis, o de forma
❖ Penalizaciones: Una penalización es una sanción o castigo impuesto por una autoridad
ante una infracción (Nicuesa, 2016). Representa como se sancionará a los usuarios que
47
virtual.
❖ Copias digitales: Una copia digital es la versión del documento que continua en la
computadora tal cual ha sido creado. Representa como el usuario bibliotecario administra
información en la biblioteca.
48
o Estudiante: Son quienes pasan las clases dadas por lo docentes, los cuales
Electrónica Aplicada, el cual cuenta con escáneres de documentos que facilitaran el desarrollo de
esta actividad.
Figura 26
Digitalización de documentos
Documento
Escáner de Documento
físico
documentos digital
El Instituto cuenta con monografías, tesis de maestría, en su mayoría son versión PDF, entre
estos documentos, se observó que el espacio a ocupar para su almacenamiento esta entre 1 y 10
MB, se obtuvo un promedio de 5 MB de espacio necesario para almacenar cada uno de estos
documentos; los documentos que no tengan su versión en PDF deben ser digitalizados mediante
el escáner, el espacio que pueda ocupar cada documento digitalizado variara según la cantidad de
hojas, pero puede llegar a ocupar un espacio mucho mayor que 5 MB, se estima que puede llegar
a ocupar 50 MB cada documento digitalizado, aun así este valor puede ser modificado una vez se
en el servidor.
49
Tabla 3
Tabla 4
Aparte del almacenamiento de los documentos, es necesario almacenar el sitio web que se
los usuarios, asignando o retirando la penalización al usuario en caso de ser necesario, de modo
documento para todos los usuarios internos y externos, los usuarios registrados tienen la
penalizaciones. Se incluye una opción que permite restringir el acceso a los documentos según el
tipo de usuario.
Mediante una interfaz se realiza la interacción del sistema con el usuario, la cual, en
función del tipo de usuario autenticado, permitirá acceder a diferentes vistas o herramientas del
sistema.
Figura 27
Informacion de la biblioteca
Vista 1
Vista 2
Vista 3
Vista n
Tabla 5
N° Requerimiento
R1 Administrar la penalización de los usuarios.
R2 Proveer formularios para la creación y edición de los recursos de información.
R3 Ver de manera general el contenido y la información de la biblioteca.
R4 Ver mediante un listado cada uno de los recursos de información.
R5 Visualizar el contenido de los documentos.
R6 Visualizar los cambios que se realizan en los recursos de información.
R7 Proporcionar una herramienta de búsqueda de documentos.
R8 Los listados deben permitir la visualización, eliminación y edición de los registros.
R9 Proveer la opción de solicitudes de préstamo, devolución y copia digital de los
documentos.
R10 Proporcionar una herramienta para el control de préstamos, devoluciones y
solicitudes de copia digital de los documentos.
R11 Controlar el acceso a los documentos.
R12 Exportar la información de los documentos encontrados mediante un PDF.
R13 Exportar los cambios en los recursos de información mediante un PDF.
R14 Determinar el tipo de usuario autenticado para mostrar el contenido.
R15 Visualizar el sistema mediante páginas web.
R16 Utilizar herramientas de software libre para el desarrollo del sistema.
R17 Realizar las pruebas e implementación en un servidor de prueba.
4.2 Análisis
En esta parte se realizará un modelo conceptual del sistema en base a diagramas UML.
Figura 28
Identificación de actores
Administrador
Bibliotecario
Externo
Docente Estudiante
Tabla 6
Figura 29
Asignar penalización
Figura 30
Administrador
Figura 31
Externo
Buscar documento
Figura 32
<<incluir>>
Administrador
Bibliotecario
Editar información de los documentos
Soliciatar retorno
<<incluir>>
de documento
Controlar retorno
de documentos
Exportar información de Estudiante
documentos encontrados
Figura 33
<Administra Bibliotecario
Administra>
1..*
<Controla EstadoPrestamo
-nombreEstado:string
1..*
1 Penalización
1..* -nombrePen alizacion:string
-descripcion:text
1 1 1..* Genera>
-tiempo:float
PrestamoDeDocumento 1 +listarPenalizaciones() 1
+guardarPenalizacion()
-fechaPrestamo:date +editarPenalizacion()
1..* -fechaDevolucion:date +actualizarPenalizacion()
-documentoPersonal:string +eliminarPenalizacion()
1..*
CopiaDigitalDocumento +listarPrestamos()
+mostrarPrestamo()
-estado:bool +guardarPrestamo()
-nombre:string +actualizarPrestamo() ControlAcceso
UsuarioExterno Solicita> Documento
-email:string Roles
-fechaSolicitud:date
1
1..* 1..* -titulo:string -email:string
-fechaFinalizacion:date -contraseña:string 1..* -nombre:string
-ubicacion:string
-comprobante:string
-resu men:text +solicitarIngreso()
+listarSolicitudesCopiaDigital() -gestion:int +validarUsuario()
+guardarSo licitudCopiaDigital() -copias:int <Solicita 1..* 1..*
+ingresar()
+actualizarSolicitudCopiaDigital() -codigo:string +salir()
-autores:string Estudiante
-edicion:string UsuariosInternos
1
-editorial:string
Version -numero_vistas:int 1..* <Accede 1..* -email:string
-imagen:string -contraseña:string
-nomVersion:string -archivo:string -penalizacion:int
1..* Docente
1..* 1..* -descripcion:sting +informacionDocumentos() +usuariosPenalizados()
+listarVersiones() +buscarDocumentos() +actualizarUsuarioPenalizado()
1 1..*
+guardarVersio n() +verDocumento()
+editarVersion() +listarDocumento s() Clasificacion 1..*
+actualizarVersion() +mostrarDocumento()
+eliminarVersion() +guardarDocumento() -nombre:string
+editarDocumento() 1..* 1 -seguridad:string
Permisos
+actualizarDocumento() +listarClasificacion() Genera>
PalabraClave +eliminarDocumento()
1 1 -nombre:string
+guardarClasificacion()
+pdfDocumentos() +editarClasificacion()
-nombre:longtext 1..* 1..* +actualizarClasificacion()
+eliminarClasificacion()
1..*
Biblioteca Reporte
-universidad:string -tabla:string
-carrera:string -antiguo:longtext
-descripcion:text -nuevo:longtext
+listarBiblioteca() -accion:longtext
+editarBiblioteca() -usuario:string
+actualizarBiblioteca +listarReportes()
1..* 1..* +guardarReporte()
1
+generarPdf()
1..*
1 1 Administrador
1 <Administra
1..* <Administra 1
Se representará mediante la relación entre los diagramas de clases y los diagramas de secuencia.
Figura 34
Penalización UsuariosInternos
Bibliotecario Administra> -email:string
-nombrePenalizacion:string
-contraseña:string
-descripcion:text
-penalizacion:int
-tiempo:float
+usuariosPenalizados()
+actualizarUsuarioPenalizado()
Tabla 7
Diagrama de secuencias para los casos de uso: Ver usuarios penalizados y Modificar
penalización
Sistema: BaseDatos:
Bibliotecario Interfaz: Bibliotecario
UsuariosInternos UsuariosInternos
1: Ver usuarios
2: Enviar solicitud
3: usuariosPenalizados()
4: Lista de usuarios
5: Actualizar vista
6: Mostrar lista de
usuarios penalizados
7: Actualizar
penalizacion
8: Enviar solicitud
9: actualizarUsuarioPenalizado()
10: Actualizado
11: usuariosPenalizados()
Figura 35
Versión
Bibliotecario -nomVersion:string
Administra>
-descripcion:sting
+listarVersiones()
+guardarVersion()
+eliminarVersion()
Tabla 8
1: Añadir versión
2: Enviar solicitud
3: Actualizar vista
loop validarDatos:NO
4: Solicitar datos
7: validarDatos()
8: guardarVersion()
9: Guardado
10: listarVersiones()
Tabla 9
1: Añadir versión
2: Enviar solicitud
3: Actualizar vista
loop validarDatos:NO
4: Solicitar datos
7: validarDatos()
8: guardarVersion()
9: Guardado
10: listarVersiones()
Figura 36
Penalización
Bibliotecario -nombrePenalizacion:string
Administra> -descripcion:text
-tiempo:float
+listarPenalizaciones()
+guardarPenalizacion
+eliminarPenalizacion()
Tabla 10
1: Añadir versión
2: Enviar solicitud
3: Actualizar vista
loop validarDatos:NO
4: Solicitar datos
7: validarDatos()
8: guardarVersion()
9: Guardado
10: listarVersiones()
Tabla 11
3: listarPenalizaciones()
4: Lista de penalizaciones
5: Actualizar vista
6: Mostrar lista
de penalizaciones
7: Seleccionar penalización
y eliminar
8: Mostrar alerta para
confirmar eliminación
9: Confirmar eliminación
10: Enviar datos
11: eliminarPenalizacion()
12: Eliminado
13: listarPenalizaciones()
Figura 37
Documento
-titulo:string
-ubicacion:string
-resu men:text
-gestion:int
-copias:int
Docente Administra> -codigo:string
-autores:string
-edicion:string
-editorial:string
-numero_vistas:int
-imagen:string
-archivo:string
+listarDocumento s()
+guardarDocumento()
+eliminarDocumento()
Tabla 12
2: Enviar solicitud
3: datosPrevios()
4: Lista de versiones
y clasificaciones
5: Actualizar vista
loop validarDatos:NO
6: Solicitar datos
9: validarDatos()
10: guardarDocumento()
11 Guardado
12: listarDocumentos()
Tabla 13
2: Enviar solicitud
3: listarDocumentos()
4: Lista de documentos
5: Actualizar vista
6: Mostrar lista de documentos
7: Seleccionar documento
y eliminar
8: Mostrar alerta para
confirmar eliminacion
9: Confirmar eliminacion
10: Enviar datos
11: eliminarDocumento()
12: Eliminado
13: listarDocumentos()
Figura 38
Clasificación
Administrador
Administra> -nombre:string
-seguridad:string
+listarClasificacion()
+guardarClasificacion()
+eliminarClasificacion()
Tabla 14
1: Añadir clasificación
2: Enviar solicitud
3: datosPrevios()
4: Lista de roles
5: Actualizar vista
loop validarDatos:NO
6: Solicitar datos
9: validarDatos()
10: guardarClasificacion()
11 Guardado
12: listarClasificaciones()
Tabla 15
1: Añadir clasificación
2: Enviar solicitud
3: datosPrevios()
4: Lista de roles
5: Actualizar vista
loop validarDatos:NO
6: Solicitar datos
9: validarDatos()
10: guardarClasificacion()
11 Guardado
12: listarClasificaciones()
Figura 39
biblioteca
Bibliotecario
UsuarioExterno Documento
Accede>
-titulo:string
-ubicacion:string
-resumen:text
Estudiante -gestion:int
-copias:int
UsuariosInternos -codigo:string
Accede> -autores:string
-email:string
-edicion:string
-contraseña:string
Docente -editorial:string
-penalizacion:int
-numero_vistas:int
-imagen:string
-archivo:string
+informacionDocumentos()
Administrador +buscarDocumentos()
+verDocumento()
+listarDocumentos()
+mostrarDocumento()
Tabla 16
2: Enviar solicitud
3: listarDocumentos()
4: Lista de documentos
5: Actualizar vista
6: Mostrar lista
de documentos
7: Seleccionar documento
8: Enviar solicitud
9: mostrarDocumento()
Tabla 17
3: buscarDocumentos()
5: Actualizar vista
6: Mostrar lista de documentos
encontrados
Tabla 18
2: Enviar solicitud
3: verDocumento()
6:convertirDocumento()
Figura 40
Biblioteca
Administrador Administra>
-universidad:string
-carrera:string
-descripcion:text
+listarBiblioteca()
Tabla 19
Figura 41
Controla>
Bibliotecario
Estudiante
UsuariosInternos PrestamoDeDocumento
Solicita> -fechaPrestamo:date
EstadoPrestamo
-email:string
-fechaDevolucion:date
-contraseña:string -nombreEstado:string
Docente -documentoPersonal:string
-penalizacion:int
+mostrarPrestamos()
+listarPrestamos()
Tabla 20
3: mostrarPrestamos()
4: Lista de solicitudes de
préstamo
5: Actualizar vista
6: Mostrar lista de
solicitudes de préstamo
Sistema:
Bibliotecario Interfaz: Bibliotecario BaseDatos: Prestamos
PrestamoDeDocumento
1: Ver solicitudes de
préstamo realizadas
2: Enviar solicitud
3: listarPrestamos()
4: Lista de solicitudes de
préstamo
5: Actualizar vista
6: Mostrar lista de
solicitudes de préstamo
Figura 42
Penalización
Bibliotecario
Administra> -nombrePenalizacion:string
-descripcion:text
-tiempo:float
+listarPenalizaciones()
Tabla 21
3: listarPenalizaciones()
4: Lista de penalizaciones
5: Actualizar vista
6: Mostrar lista de
penalizaciones
Figura 43
Versión
Bibliotecario Administra>
-nomVersion:string
-descripcion:sting
+listarVersiones()
Tabla 22
3: listarVersiones()
4: Lista de versiones
5: Actualizar vista
6: Mostrar lista de
versiones
Documento.
Figura 44
documento
CopiaDigitalDocumento
-estado:bool
Bibliotecario Controla> -nombre:string
-email:string
-fechaSolicitud:date
-fechaFinalizacion:date
-comprobante:string
+listarSolicitudesCopiaDigital()
Tabla 23
Diagrama de secuencia para el caso de uso: Ver información de las solicitudes de copia digital
de documento
Sistema: BaseDatos:
Bibliotecario Interfaz: Bibliotecario
CopiaDigitalDocumento CopiaDigitalDocumento
1: Ver lista de solicitudes
de copia digital
2: Enviar solicitud
3: listarSolicitudesCopiaDigital()
4: Lista de solicitudes
de copia digital
5: Actualizar vista
6: Mostrar lista de
solicitudes de copia digital
Figura 45
Bibliotecario
Visualiza>
Administrador Clasificacion
Administra>
-nombre:string
-seguridad:string
+listarClasificacion()
Tabla 24
Administrador/ Interfaz:Administrador/
Sistema: Clasificación BaseDatos: Clasificación
Bibliotecario Bibliotecario
2: Enviar solicitud
3: listarClasificaciones()
4: Lista de clasificaciones
5: Actualizar vista
6: Mostrar lista de
clasificaciones
Figura 46
Reporte
Tabla 25
Diagrama de secuencia para el caso de uso: Ver cambios en los recursos de información
2: Enviar solicitud
3: Actualizar vista
5: Definir rango de
fechas y tabla
6: Enviar solicitud
7: listaReportes()
8: Lista de reportes
9: Actualizar vista
10: Mostrar lista
de reportes
Figura 47
Reporte
-tabla:string
Administrador Administra> -antiguo:longtext
-nuevo:longtext
-accion:longtext
-usuario:string
+listarReportes()
+generarPdf()
Tabla 26
Diagrama de secuencia para el caso de uso: Exportar los reportes del sistema
1: Exportar
2: Enviar solicitud
3 listaReportes()
4 Lista de reportes
5: generarPdf()
6: Actualizar vista
7: Exportar documento
en PDF
de las Clasificaciones.
Figura 48
Clasificación
Administrador Administra> -nombre:string
-seguridad:string
+listarClasificacion()
+editarClasificacion()
+actualizarClasificacion()
Tabla 27
Diagrama de secuencia para los casos de uso: Controlar el acceso a los documentos y editar
8: Enviar solicitud
9: validarDatos()
10: actualizarClasificacion()
11: Actualizado
12: listarClasificaciones()
Figura 49
Biblioteca
Administrador Administra> -universidad:string
-carrera:string
-descripcion:text
+listarBiblioteca()
+editarBiblioteca()
+actualizarBiblioteca
Tabla 28
8: Enviar solicitud
9: validarDatos()
10: actualizarBiblioteca()
11: Actualizado
12: listarBiblioteca()
13: Listar Información
de la biblioteca
14: Actualizar vista
15: Mostrar información
de la biblioteca
Figura 50
Penalización
Bibliotecario -nombrePenalizacion:string
Administra> -descripcion:text
-tiempo:float
+listarPenalizaciones()
+editarPenalizacion()
+actualizarPenalizacion()
Tabla 29
8: Enviar solicitud
9: validarDatos()
10: actualizarPenalización()
11: Actualizado
12: listarPenalizaciones()
Figura 51
Versión
Bibliotecario Administra> -nomVersion:string
-descripcion:sting
+listarVersiones()
+editarVersion()
+actualizarVersion()
Tabla 30
8: Enviar solicitud
9: validarDatos()
10: actualizarVersion()
11: Actualizado
12: listarVersiones()
Figura 52
Documento
-titulo:string
-ubicacion:string
Bibliotecario -resumen:text
-gestion:int
-copias:int
-codigo:string
-autores:string
Docente -edicion:string
-editorial:string
-numero_vistas:int
-imagen:string
-archivo:string
+listarDocumentos()
+editarDocumento()
+actualizarDocumento()
Tabla 31
8: Enviar solicitud
9: validarDatos()
10: actualizarDocumento()
11: Actualizado
12: listarDocumentos()
Figura 53
Controla>
Bibliotecario
PrestamoDeDocumento
UsuariosInternos
-fechaPrestamo:date
Estudiante Solicita> -fechaDevolucion:date EstadoPrestamo
-email:string
-documentoPersonal:string
-contraseña:string -nombreEstado:string
-penalizacion:int +listarPrestamos()
+mostrarPrestamo()
+guardarPrestamo()
Docente +actualizarPrestamo()
Penalización
<Genera
-nombrePenalizacion:string
-descripcion:text
-tiempo:float
Tabla 32
3: guardarPrestamo()
4: Guardado
5: Actualizar vista
6: Solicitud enviada
Tabla 33
Sistema: BaseDatos:
Bibliotecario Interfaz: Bibliotecario
PrestamoDeDocumento PrestamoDeDocumento
1: Aprobar o rechazar
prestamo
2: Enviar solicitud
3: actualizarPrestamo()
4: Actualizado
5: listarPrestamos()
6: Lista de solicitudes de
préstamo
7: Actuaizar vista
8: Mostrar lista de
solicitudes de préstamo
Tabla 34
Sistema: BaseDatos:
Bibliotecario Interfaz: Bibliotecario
PrestamoDeDocumento PrestamoDeDocumento
1: Aprobar o rechazar
prestamo
2: Enviar solicitud
3: actualizarPrestamo()
4: Actualizado
5: listarPrestamos()
6: Lista de solicitudes de
préstamo
7: Actuaizar vista
8: Mostrar lista de
solicitudes de préstamo
Tabla 35
14: actualizarPrestamo()
15: Actualizado
16: listarPrestamos()
Figura 54
Bibliotecario
UsuarioExterno
Accede>
Documento
-titulo:string
Estudiante -ubicacion:string
-resumen:text
UsuariosInternos -gestion:int
-copias:int
-email:string Accede> -codigo:string
-contraseña:string
-autores:string
Docente -penalizacion:int
-edicion:string
+usuariosPenalizados() -editorial:string
+actualizarUsuarioPenalizado() -numero_vistas:int
-imagen:string
-archivo:string
Administrador +pdfDocumentos()
+buscarDocumentos()
Tabla 36
encontrados
1: Exportar
2: Enviar solicitud
3 buscarDocumentos()
4: Lista de documento encontrados
5: pdfDocumentos()
6: Actualizar vista
7: Exportar documento
en PDF
Figura 55
Bibliotecario
Controla>
Documento
CopiaDigitalDocumento -titulo:string
-ubicacion:string
-estado:bool -resumen:text
-nombre:string -gestion:int
UsuarioExterno Accede> -email:string -copias:int
-fechaSolicitud:date -codigo:string
-fechaFinalizacion:date -autores:string
-comprobante:string -edicion:string
+listarSolicitudesCopiaDigital() -editorial:string
+guardarSolicitudCopiaDigital() -numero_vistas:int
+actualizarSolicitudCopiaDigital() -imagen:string
-archivo:string
Tabla 37
Diagrama de secuencia para el caso de uso: Solicitar copia digital del documento
Sistema: BaseDatos:
Externo Interfaz: General
CopiaDigitalDocumento CopiaDigitalDocumento
1: Solicitar copia
2: Enviar solicitud
4: Solicitar datos
5: Ingresar datos y confirmar
6: Enviar solicitud
7: validarDatos()
8: guardarSolicitudCopiaDIgital()
9: Guardado
Tabla 38
Diagrama de secuencia para el caso de uso: Controlar solicitudes de copia digital del
documento
3: actualizarSolicitudCopiaDigital()
4: Actualizado
5: listarSolicitudesCopiaDigital()
6: Lista de solicitudes de
7: Actualizar vista copia digital
8: Mostrar lista de solicitudes
de copia digital
Figura 56
Reporte
-tabla:string
-antiguo:longtext
-nuevo:longtext
-accion:longtext
-usuario:string
+guardarR eporte()
Tabla 39
3: guardarReporte()
4: Guardado
5: Actualizar vista
6: Acceso denegado
Tabla 40
Capítulo 5 Diseño
Tabla 41
Identificación de entidades
Entidad Descripción
Usuarios Contiene la información de los usuarios registrados dentro del sistema, se
los identificara mediante el rol que tengan asignados.
Biblioteca Contiene la información de la biblioteca que se mostrará en el encabezado
del sistema.
Roles Contiene la lista de roles que se pueden asignar a los usuarios registrados
en el sistema.
Permisos Contiene la lista de los permisos, que se asignaran a los diferentes roles que
se tengan en el sistema.
Penalizaciones Contiene la lista de penalizaciones, que dispondrá el bibliotecario para
asignar a cada usuario.
Prestamos Contiene los datos sobre los préstamos de documentos físicos que se
realizan, incluyendo al usuario solicitante, el bibliotecario que realiza el
préstamo y el estado del préstamo.
Estados de Contiene la lista de los estados de préstamo, que se utilizarán para definir el
préstamo estado, de una solicitud de préstamo de documento.
Copias Digitales Contiene los datos de las solicitudes de usuarios externos para adquirir una
copia digital de un documento, incluyendo datos personales del usuario
externo, el comprobante de pago y el bibliotecario que revisó la solicitud.
Documentos Contiene la información de los documentos almacenados dentro del
sistema.
102
Entidad Descripción
Versiones Contiene la lista de versiones que se podrán asignar a un documento.
Clasificaciones Contiene la lista de clasificaciones que se podrán asignar a un documento.
Palabras clave Contiene la lista de palabras clave que han sido asignadas a un documento.
Reportes Contiene toda la información sobre los cambios realizados en los recursos
de información.
Nota. Elaboración propia
Tabla 42
Tabla 43
Figura 57
id Nombre
n:n n:n Descripción Nombre Tiempo
id
Tiene Roles Tiene Permisos
id Penalizaciones
Nombre
Penalización 1:n
n:1 id Archivo
Editorial
Registra
Autores
Numero de
vistas
1:n Resumen
Administra Documentos
n:1 id
n:1
Tiene Versiones
Registra Nombre
1:n
n:1 id
id CopiasDigitales Clasificaciones
Nombre
Fecha de
Estado Seguridad
finalización
Tabla 44
Tabla 45
Tabla 46
Tabla 47
Tabla 48
Tabla 49
Tabla 50
Tabla 51
Tabla 52
Tabla 53
Tabla 54
Tabla 55
seguridad varchar(10)
Tabla 56
Tabla 57
Figura 58
Se tiene una interfaz de referencia para todas las vistas, con las siguientes
características:
Figura 59
ENCABEZADO
MENU DE
NAVEGACION
CONTENIDO DE LA VISTA
Figura 60
dentro del sistema de información, la cual, dependerá del rol que tenga asignado
de la ruta seleccionada.
118
Figura 61
todos los usuarios que ingresen al sistema de la biblioteca virtual y se autentifiquen con
rol de estudiante.
Figura 62
todos los usuarios que ingresen al sistema de la biblioteca virtual y se autentifiquen con
rol de docente.
119
Figura 63
Figura 64
Figura 65
Figura 66
Inicio
Inicio
Figura 67
Inicio
Información
no si
obtenida
fin
Figura 68
Inicio
Obtener información de
los datos de la biblioteca
Información
no si
obtenida
Editar biblioteca
Actualizar no
si
Actualizar datos
no Datos guardados si
Notificación de
Notificación de
actualización
error al actualizar
correcta
fin
Figura 69
Obtener información de
tod as las versiones
Información
no si
obtenida
Actualizar no Guardar no
no Aceptar
si si si
Datos actualizados si
no Eliminado si no no Datos guardados si
Notificación de
Notificación de Notificación de Notificación de Notificación de Notificación de
actualización
error al eliminar eliminaci ón correcta error al actualizar error al crear creacion correcta
correcta
Re direccionar a la
fin
ruta de versiones
Figura 70
Obtener información de
tod as las clasificaciones
Información
no si
obtenida
Actualizar no Guardar no
no Aceptar
si si si
Eliminar
Actualizar datos Guardar datos
clasificación
Datos actualizados si
no Eliminado si no no Datos guardados si
Notificación de
Notificación de Notificación de Notificación de Notificación de Notificación de
actualización
error al eliminar eliminación correcta error al actualizar error al crear creacion correcta
correcta
Re direccionar a la ruta
fin
de clasificaciones
Figura 71
Inicio
Obtener información de
todos los documentos
Información
no si
obtenida
Notificación de Búsqueda según las palabras Re direccionar a la ruta para editar Re direccionar a la ruta para crear
confirmación introducidas los datos del documento un nuevo documento
Actualizar no Guardar no
no Aceptar
si Información si si
no si
obtenida
Eliminar
Actualizar datos Guardar datos
documento
Notificación de
Mostrar resultados
error al obtener la
en una lista
información Datos actualizados si
no Eliminado si no no Datos guardados si
Notificación de
Notificación de Notificación de Notificación de Notificación de Notificación de
actualización
error al eliminar eliminación correcta error al actualizar error al crear creacion correcta
Seleccionar correcta
documento
Figura 72
Inicio
Obtener información de
todas las solicitudes de
préstamo
Información
no si
obtenida
Mostrar en pantalla
Notificación de información de
error al obtener la todas las solicitudes
información de préstamo
Aceptar retorno
Actualizar préstamo
fin
Figura 73
Inicio
Retorno no Préstamo si
si
aceptado aceptado
Actualizar datos de
penalización del usuario
Generar reporte
Fin
búsqueda establecido.
o Solicitar préstamo.
130
o Buscar un documento.
Figura 74
Información
no si
obtenida
Notificación de
error al obtener la
Mostrar resultados información
no Solicitud enviada si Enviar solicitud no en una lista
si
Notificación de
Notificación de
error al Enviar
Solicitud enviada Guardar datos
solicitud
Notificación de
Notificación de
error al Enviar
Solicitud enviada
solicitud
Re direccionar a la ruta de
buscar documento con el
fin filtro actualizado
Figura 75
Inicio
Obtener información de
todas las solicitudes de
copia digital
Información
no si
obtenida
Mostrar en pantalla
Notificación de información de las
error al obtener la solicitudes de copia
información digital
no Estado = Solicitado si
Recibido
Actualizar solicitud de
copia digital
fin
el usuario.
Figura 76
Inicio
Información
no si
obtenida
Mostrar en pantalla
Notificación de
información de las
error al obtener la
solicitudes de préstamo
información
realizadas por el usuario
no Estado = Prestado si
Solicitar Retorno
Actualizar préstamo
fin
Figura 77
Inicio
Obtener información de
todos los usuarios
penalizados
Información
no si
obtenida
Cambiar penalización
Actualizar
Actualizar usuario
fin
Figura 78
Obtener información de
tod as las penalizaciones
Información
no si
obtenida
Notificación de Re direccionar a la ruta para editar los Re direccionar a la ruta para crear
confirmación datos de la penalizaci ón una nueva penalización
Actualizar no Guardar no
no Aceptar
si si si
Eliminar
Actualizar datos Guardar datos
penalización
Datos actualizados si
no Eliminado si no no Datos guardados si
Notificación de
Notificación de Notificación de Notificación de Notificación de Notificación de
actualización
error al eliminar eliminación correcta error al actualizar error al crear creacion correcta
correcta
Re direccionar a la ruta
fin
de penalizaciones
❖ Elemento para exportar en PDF los reportes encontrados y elementos para filtrar
Figura 79
Inicio
Información
no si
obtenida
Generar PDF
fin
Figura 80
Inicio
Obtener colección de la
información solicitada
Error
Figura 81
Inicio
no Datos validos si
Guardar datos en un
Retornar error de nuevo registro
validación de datos
Generar reporte
Fin
Figura 82
Inicio
no Datos validos si
Obtener el registro
Retornar error de seleccionado
validación de datos
Actualizar
datos
Generar reporte
Fin
Figura 83
Inicio
Obtener el registro
seleccionado
Eliminar datos
Generar reporte
Fin
Figura 84
Inicio
Error
Figura 85
ENCABEZADO
Figura 86
ENCABEZADO
Añadir recurso de
información
Regresar
MENU DE
NAVEGACION
Información para crear el nuevo registro
...
Guardar
Figura 87
ENCABEZADO
Editar recurso de
información
Cancelar
MENU DE
NAVEGACION Información para editar del registro
seleccionado
...
Actualizar
siguientes validaciones:
141
5.2.7.1 Biblioteca.
Tabla 58
Tabla 59
5.2.7.3 Documento.
Tabla 60
clasificación_id select Si
ubicación input No Máximo 100 caracteres.
gestión input Si Máximo 4 caracteres.
código input No Máximo 6 caracteres.
palabras_clave input No Máximo 100 caracteres.
editorial input No Máximo 20 caracteres.
copias Input No Máximo 5 números.
imagen input No Archivo imagen, máximo 1MB.
versión_id select No
5.2.7.4 Versión.
Tabla 61
5.2.7.5 Clasificación.
Tabla 62
5.2.7.6 Penalización.
Tabla 63
5.3.1 Clasificaciones
Tabla 64
5.3.2 Penalizaciones
Tabla 65
5.3.3 Versiones
Tabla 66
5.3.4. Documentos
Tabla 67
5.3.5 Prestamos
Tabla 68
Tabla 69
5.3.7 Biblioteca
Tabla 70
Tabla 71
El acceso a los recursos del sistema se lo realiza mediante diferentes rutas, las
Tabla 72
Capítulo 6 Desarrollo
En este capítulo se define la forma en que se desarrolló el sistema, para esto se sigue el
siguiente diagrama:
Figura 88
Instalación del
Creación de la
Inicio entorno de Desarrollo web Fin
base de datos
desarrollo
Windows 10:
❖ XAMMP.
❖ Laravel 8.
❖ Vue.js 3.
❖ Node.js
Figura 89
Entorno de desarrollo
Usuario
Figura 90
El sistema se conecta a dos bases de datos, la base de datos “biblioteca_iea” será la que
se utilizará para administrar todos los recursos de información del sistema y la base de
Figura 91
Biblioteca
Sistema de biblioteca
virtual
Usuarios
Para crear las tablas con datos iniciales, se utiliza la herramienta de “seeders” de
Laravel.
Figura 92
las “vistas”, los cuales se utilizarán en las interfaces de usuario, los subprogramas que
representaran a los “modelos”, para realizar las consultas a la base de datos y los
subprogramas que representaran a los “controladores”, para ejecutar las funciones del
sistema.
6.3.1 Vistas
6.3.1.1 Encabezado.
Figura 93
aplicada.
Figura 94
6.3.1.3 Informaciones.
Figura 95
1. Acceder a los recursos del sistema para obtener información del contenido de la
biblioteca.
sistema.
añadidos.
6.3.1.4 Biblioteca.
Figura 96
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
Figura 97
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
biblioteca.
11. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
6.3.1.6 Versiones.
Figura 98
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
163
4. Acceder a los recursos del sistema para obtener la información de todas las
versiones.
12. Acceder a los recursos del sistema para eliminar la versión seleccionada.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 99
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
164
esté autorizado.
versión.
9. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
13. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 100
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
seleccionada.
seleccionada.
10. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
seleccionada.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
6.3.1.9 Clasificaciones.
Figura 101
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
4. Acceder a los recursos del sistema para obtener la información de todas las
clasificaciones.
12. Acceder a los recursos del sistema para eliminar la clasificación seleccionada.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 102
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
6. Acceder a los recursos del sistema para obtener la información de todos los
roles.
clasificación.
10. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 103
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
clasificación seleccionada.
10. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
seleccionada.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
6.3.1.12 Documentos.
Figura 104
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
4. Acceder a los recursos del sistema para obtener la información de todos los
página.
documento”.
15. Acceder a los recursos del sistema para eliminar un documento seleccionado.
17. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 105
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
6. Acceder a los recursos del sistema para obtener la información de todas las
versiones y clasificaciones.
173
10. Acceder a los recursos del sistema para guardar la información del nuevo
documento.
11. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
15. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 106
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
175
4. Acceder a los recursos del sistema para obtener la información del documento
PDF.
12. Acceder a los recursos del sistema para actualizar la información del documento
seleccionado.
13. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
seleccionado.
17. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 107
1. Acceder a los recursos del sistema para obtener la información de todos los
6. Direccionar a una nueva ventana con la información del título y resumen de los
página.
11. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 108
1. Acceder a los recursos del sistema para obtener la información del documento
2. Acceder a los recursos del sistema para aumentar en uno, el número de vistas del
documento.
lectura activada.
7. Acceder a los recursos del sistema para guardar los datos de la solicitud de
préstamo de documento.
8. Acceder a los recursos del sistema para verificar el estado de penalización del
usuario.
15. Permitir la selección de una palabra clave, cuando se selecciona una palabra
16. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 109
documento.
6. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
10. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 110
1. Acceder a los recursos del sistema para obtener la información del documento
seleccionado.
Figura 111
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
182
4. Acceder a los recursos del sistema para obtener la información de todas las
solicitudes de préstamo.
6. Mostrar la opción para elegir una penalización, en caso de que el usuario solicite
solicitudes de préstamo.
8. Mostrar las opciones de aceptar retorno y rechazar retorno para las solicitudes de
devolución.
solicitud de devolución.
10. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 112
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
4. Acceder a los recursos del sistema para obtener la información de todas las
de pago seleccionado.
9. Mostrar las opciones de aceptar retorno y rechazar retorno para las solicitudes de
devolución.
10. Acceder a los recursos del sistema para actualizar el estado de la solicitud de
copia digital.
11. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 113
1. Acceder a los recursos del sistema para obtener la información de todas las
Figura 114
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
4. Acceder a los recursos del sistema para obtener la información de todos los
usuarios penalizados.
usuario.
8. Acceder a los recursos del sistema para actualizar la información del usuario.
6.3.1.23 Penalizaciones.
Figura 115
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
4. Acceder a los recursos del sistema para obtener la información de todas las
penalizaciones.
12. Acceder a los recursos del sistema para eliminar la penalización seleccionada.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 116
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
penalización.
188
9. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
13. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 117
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
189
esté autorizado.
penalización seleccionada.
penalización seleccionada.
10. Acceder a los recursos del sistema para validar los datos introducidos en el
formulario.
seleccionada.
14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los
Figura 118
2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no
esté autorizado.
esté autorizado.
4. Acceder a los recursos del sistema para obtener la información de todos los
observa la tabla donde se realizó el cambio, valores antes del cambio, valores
después del cambio, acción que se realizó, usuario que realizo el cambio y fecha
en formato PDF.
programación PHP, SQL y la herramienta “Eloquent” que incluye Laravel para realizar
Tabla 73
Tabla 74
Controlador Modelos
BibliotecaController Biblioteca, Reporte
192
Tabla 75
Controlador Vistas
BibliotecaController Biblioteca, Editar biblioteca, Encabezado
ClasificaciónController Clasificaciones, Añadir clasificación, Editar clasificación
CopiaDigitalController Solicitar copia digital del documento, Solicitudes de copia
digital
DocumentoController Documentos, Añadir documento, Editar documento,
Buscar documento, información del documento, contenido
del documento, Informaciones
PenalizaciónController Penalizaciones, Añadir penalización, Editar penalización,
Usuarios penalizados
PréstamoController Solicitudes de préstamo, solicitar devolución, Información
del documento
VersiónController Versiones, Añadir versión, Editar versión
ReporteController Reporte del sistema, Biblioteca, Editar biblioteca,
Clasificaciones, Añadir clasificación, Editar clasificación,
Documentos, Añadir documento, Editar documento,
Penalizaciones, Añadir penalización, Editar penalización,
Usuarios penalizados, Solicitudes de préstamo, Solicitudes
de copia digital, Versiones, Añadir versión, Editar versión
Nota. Elaboración propia
193
7.1 Implementación
Tabla 76
Parámetro Descripción
Memoria RAM Tiene una memoria de 8GB
Disco duro Tiene un almacenamiento de 100 GB
Microprocesador Intel (R) Xeon (R) CPU E5-2695 v2 2.4 GHz
Dirección IP http://200.7.161.193/
Figura 119
símbolo del sistema, se la realiza mediante el software PuTTY, el cual permite realizar
Figura 120
Figura 121
❖ Apache
Tabla 77
Instalación de Apache
Comando Descripción
sudo apt-get install apache2 Instalación de Apache.
Figura 122
❖ MariaDB
Tabla 78
Instalación de MariaDB
Comando Descripción
sudo apt-get install curl software-properties- Instalación de las herramientas
common dirmngr ca-certificates apt-transport- para descargar MariaDB.
https –y
curl -LsS Descargar MariaDB e importar
https://downloads.mariadb.com/MariaDB/mari la clave al sistema Debian 11.
adb_repo_setup | sudo bash -s -- --mariadb-
server-version=10.8
sudo apt update Actualizar la lista del
repositorio APT.
sudo apt install mariadb-server mariadb-client Instalacion de MariaDB.
–y
sudo mariadb-secure-installation Ejecutar el programa de
seguridad de MariaDB.
Figura 123
❖ PHP
Tabla 79
Instalación de PHP
Comando Descripción
sudo apt-get install ca-certificates apt-transport- Instalación de las herramientas
https software-properties-common wget curl para descargar PHP.
lsb-release –y
curl -sSL Importar repositorio PHP.
https://packages.sury.org/php/README.txt |
sudo bash -x
sudo apt update Actualizar la lista del
repositorio APT.
sudo apt upgrade Actualizar los paquetes del
repositorio APT.
sudo apt install php8.1 libapache2-mod-php8.1 Instalación de MariaDB.
Figura 124
❖ Composer
Tabla 80
Instalación de Composer
Comando Descripción
php -r "copy('https://getcomposer.org/installer', Descargar el instalador de
'composer-setup.php');" Composer.
php -r "if (hash_file('sha384', 'composer- Verificar el instalador.
setup.php') ===
'55ce33d7678c5a611085589f1f3ddf8b3c52d66
2cd01d4ba75c0ee0459970c2200a51f492d5575
30c71c15d8dba01eae') { echo 'Installer
verified'; } else { echo 'Installer corrupt';
unlink('composer-setup.php'); } echo
PHP_EOL;"
php composer-setup.php Instalación de Composer.
php -r "unlink('composer-setup.php');" Eliminar el instalador de
Composer.
mv composer.phar /usr/bin/composer Instalación global de
Composer.
sudo systemctl restart apache2 Reiniciar apache para cargar el
módulo de PHP.
Figura 125
Ejecución de Composer
❖ PhpMyAdmin
Tabla 81
Instalación de PhpMyAdmin
Comando Descripción
wget Descargar el paquete más
https://files.phpmyadmin.net/phpMyAdmin/5.2 reciente de PhpMyAdmin.
.0/phpMyAdmin-5.2.0-all-languages.tar.xz
sudo tar xf phpMyAdmin-5.2.0-all- Descomprimir el paquete en la
languages.tar.xz -C /var/www/html/ carpeta /var/www/html.
sudo ln -s /var/www/html/phpMyAdmin-5.2.0- Crear la carpeta phpmyadmin y
all-languages/ /var/www/html/phpmyadmin copiar el contenido el
contenido del paquete en la
misma.
sudo chown www-data: Dar accesos de la carpeta
/var/www/html/phpmyadmin/ phpmyadmin a Apache.
Figura 126
Interfaz de phpMyAdmin
❖ GIT
Tabla 82
Instalación de Git
Comando Descripción
sudo apt install git Instalación de GIT.
Figura 127
Instalación de Git
Figura 128
(https://usuariodebian.blogspot.com/2020/09/apache-permisos-usuario-y-grupo-www-
data.html
202
Tabla 83
Asignación de permisos
Comando Descripción
chown -R www-data:www-data /var/www/html Cambiar el propietario de la
carpeta “/var/www/html” por el
grupo por defecto de Apache:
www-data.
chmod -R 775 /var/www/html Dar los permisos de escritura en
el directorio “/var/www/html”,
al grupo www-data.
usermod -a -G www-data dtic Añadir el usuario “dtic” al
grupo de apache www-data.
Figura 129
https://github.com/RomelPinto/BibliotecaIEA
Mediante la herramienta PuTTY se ingresa al símbolo del sistema del servidor web
Tabla 84
Comando Descripción
cd /var/www/ Acceder a la carpeta que usa
apache
git clone Clonar desde el repositorio de
https://github.com/RomelPinto/BibliotecaIEA GitHub
rm -rf html Borrar la carpeta “html”
mv nombre-de-mi-proyecto/ html renombrar la carpeta del sistema
como “html”
cd /var/www/html Acceder a la carpeta del sistema
composer install Instalación del sistema.
cp .env.example .env Crear el archivo “.env”.
php artisan key:generate Generar clave de aplicación.
sudo nano .env Abrir el archivo “.env” para
realizar la configuración como se
muestra en la “Figura 130”.
mysql -u root –p Ingresar a la base de datos
CREATE DATABASE biblioteca_iea Crear la base de datos
CHARACTER SET utf8 COLLATE “biblioteca_iea”.
utf8_spanish_ci
exit Salir de la base de datos.
php artisan migrate Crear las tablas del sistema.
sudo nano /etc/apache2/sites-available/000- Modificar el archivo de
default.conf configuración de apache como se
muestra en la “Figura 133”, para
configurar la ruta de inicio del
sitio web.
sudo systemctl reload apache2 Reiniciar el servidor apache
sudo a2enmod rewrite Permitir modificar la URL del
sitio web.
204
Comando Descripción
chown -R www-data:www-data /var/www/html Cambiar el propietario del
directorio “/var/www/html”, por
el grupo www-data.
sudo chown -R $USER:www-data storage Cambiar el propietario del
directorio “storage”, por el grupo
www-data.
sudo chown -R $USER:www-data Cambiar el propietario del
bootstrap/cache directorio “bootstrap/cache”, por
el grupo www-data.
chmod -R 775 storage Dar los permisos de escritura del
directorio “storage”, al grupo
www-data.
chmod -R 775 bootstrap/cache Dar los permisos de escritura del
directorio “bootstrap/cache”, al
grupo www-data.
php artisan storage:link Crear el enlace simbólico entre
los directorios “public/storage” y
“storage/app/public”.
php artisan config:clear Borrar la configuración “cache”
de Laravel.
php artisan cache:clear Borrar el “cache” de aplicaciones
de Laravel.
sudo systemctl reload apache2 Reiniciar Apache.
Figura 130
Configuración del archivo “.env” para la conexión con las 2 bases de datos
Figura 131
Figura 132
Figura 133
Figura 134
7.2 Pruebas
de requisitos y análisis”.
Figura 135
Asignación de penalización
El usuario bibliotecario puede ver los usuarios penalizados desde la ruta “Usuarios
Figura 136
Figura 137
Figura 138
Figura 139
Figura 140
Figura 141
Figura 142
Figura 143
Figura 144
Figura 145
biblioteca virtual.
214
Figura 146
Figura 147
Figura 148
Figura 149
Figura 150
Figura 151
Eliminación de un registro
ningún cambio, en caso de que el documento tenga una clasificación sin protección de
Figura 152
Figura 153
Figura 154
despliega una lista de resultados que permite acceder a la información del documento o
Figura 155
Digital de los Documentos. Todos los usuarios autenticados que no estén penalizados,
Figura 156
Los usuarios pueden visualizar las solicitudes de préstamo que ellos realizaron, además
Figura 157
Todos los usuarios pueden solicitar la copia digital del documento mediante un
formulario.
Figura 158
documento.
Figura 159
Figura 160
documento se puede controlar que tipo de usuario tiene acceso al contenido de este
documento.
Televisión Digital.
Figura 161
Figura 162
encontrados.
Figura 163
Contenido. Mediante la barra de navegación se accede a las diferentes rutas del sistema
Figura 164
El acceso a las rutas está restringido conforme a los permisos que tienen los usuarios, un
usuario no puede acceder a las rutas sin permiso, además se mostrara un mensaje de
Figura 165
“nucleo_iea”.
Figura 166
Tabla de clasificaciones
Figura 167
Figura 168
Tabla de documentos
Figura 169
Tabla de penalizaciones
Figura 170
Figura 171
Figura 172
Figura 173
Tabla de versiones
Figura 174
Tabla de usuarios
Figura 175
Figura 176
Figura 177
Figura 178
Figura 179
Figura 180
Figura 181
Funcionamiento en Celular
Figura 182
Funcionamiento en Tablet
8.1 Conclusiones
Mayor de San Andrés. Se logró cumplir con dicho objetivo mediante el desarrollo del
además de contar con una clasificación para poder organizar los documentos y
8.2 Recomendaciones
de información.
del servidor, donde están almacenados los documentos digitales, cada vez que se
Referencias Bibliográficas
Apaza, J. (2008). “Biblioteca Virtual basada en Web Semántica para el Postgrado en
Informática".
Chambi, W. (2006). SISTEMAS BIBLIOTECARIOS EN RED DE LA UNIVERSIDAD BOLIVIANA VIA
INTERNET.
Costa, W. (2021). DISEÑO DE UNA BIBLIOTECA VIRTUAL EN LA CARRERA DE MECÁNICA
INDUSTRIAL DE LA FACULTAD TECNOLOGÍA DE LA UNIVERSIDAD MAYOR DE SAN
ANDRÉS.
de Souza, I. (2020). rockcontent. Obtenido de https://rockcontent.com/es/blog/php/
DTIC. (2017). DTIC UMSA. Obtenido de https://dtic.umsa.bo/administrativo-financiero/-
/asset_publisher/pQ1l6LHc8R8o/content/bibliotecas-virtuales/628439
Escalona, M., Risoto, M., & Valderrama, J. (2001). Metodologías para el desarrollo desistemas
de información global:análisis comparativo y propuesta.
Facchin, J. (2022). El blog de José Facchin. Obtenido de https://josefacchin.com/que-es-una-
url/
Felipe. (2020). hostingplus. Obtenido de https://www.hostingplus.pe/blog/que-es-mariadb-y-
cuales-son-sus-caracteristicas/
Flores, F. (2022). OpenWebinars. Obtenido de https://openwebinars.net/blog/que-es-visual-
studio-code-y-que-ventajas-ofrece/
García, E. (2019). codigofacilito. Obtenido de https://codigofacilito.com/articulos/que-es-vue
Garcia, M. (2020). Nettix. Obtenido de https://www.nettix.com.pe/blog/web-blog/que-es-
xampp-y-como-puedo-usarlo/
Guillén, J. (2019). Implementación y configuración de herramientas Office 365 y portal web
como repositorio digital colaborativo para la carrera de Ingeniería Electrónica UMSA.
Gustavo. (2022). Hostinger Tutoriales. Obtenido de https://www.hostinger.es/tutoriales/que-
es-un-hosting
Hathibelagal, A. (2021). envatotuts+. Obtenido de https://code.tutsplus.com/es/tutorials/how-
to-create-a-pdf-viewer-in-javascript--cms-32505
IGNITE. (2020). iGNITE. Obtenido de https://igniteonline.la/3298/
Laravel. (2022). Laravel. Obtenido de https://laravel.com/
Marin, R. (2019). Revistadigital INESEM. Obtenido de
https://www.inesem.es/revistadigital/informatica-y-tics/los-gestores-de-bases-de-
datos-mas-usados/
Muente, G. (2020). rockcontent. Obtenido de https://rockcontent.com/es/blog/framework/
235
Glosario De Acrónimos
OOHDM: Object Oriented Hypermedia Design Method
Método de Diseño Hipermedia Orientado a Objetos
OPAC: On-line Public Access Catalogue
Catálogo de Acceso Público en Línea
MIT: Massachusetts Institute of Technology
Instituto de Tecnología de Massachusetts
BSD: Berkeley Software Distribution
Distribución de software Berkeley
TIC: Tecnologías de la información y la comunicación
RUP: Rational Unified Process
Proceso Racional Unificado
UML: Unified Modeling Language
Lenguaje unificado de modelado
IDE: Integrated Development Environment
Entorno de desarrollo integrado
MVC: Modelo vista controlador
WWW: World Wide Web
Red informática mundial
W3C: World Wide Web Consortium
Consorcio WWW
HTTP: Hypertext Transfer Protocol
Protocolo de transferencia de hipertexto
HTTPS: Hypertext Transfer Protocol Secure
Protocolo seguro de transferencia de hipertexto
URL: Uniform Resource Locator
Localizador de recursos uniforme
DNS: Domain Name System
Sistema de nombres de dominio
IP: Internet Protocol
Protocolo de internet
TLD: Top-level domain
Dominio de nivel superior
237
Anexos
El sistema solo permite registrar un documento a la vez, por lo que para realizar
Para importar los datos de los documentos a la base de datos, se puede realizar mediante
PhpMyAdmin, se debe crear un archivo Excel donde se registran los datos de los
documentos.
Figura 183
El nombre de las imágenes y los archivos debe coincidir con los campos “imagen” y
Los valores de campo “id” deben ser correlativos al último valor que se tiene registrado
primera fila.
239
Figura 184
datos.
Figura 185
Para copiar los archivos al servidor se puede realizar mediante el software WinSCP, los
del servidor.
Figura 186
Crear Versión
registro.
Figura 187
Figura 188
Crear Clasificación
registro.
Figura 189
Figura 190
anteriormente.
Crear Documento
registro.
Figura 191
Figura 192
El título del documento no puede repetirse con algún documento creada anteriormente.
Crear Penalización
registro.
Figura 193
Figura 194
anteriormente.
Figura 195
Por lo extenso del código fuente del sistema de información, el código fue
https://github.com/RomelPinto/BibliotecaIEA
Una vez realizada la instalación del sistema en el servidor, se deben realizar los
siguientes cambios para poder realizar las consultas y enviar datos de los usuarios, ya
Figura 196
Figura 197
Figura 198
Tomando en cuenta que el salario mínimo nacional (SMN) que se debe pagar en
recientemente titulado se le podría pagar 3000 Bs. En base a estos datos se obtiene un
Tabla 85
Tabla 86