Está en la página 1de 270

UNIVERSIDAD MAYOR DE SAN ANDRÉS

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

POSTULANTE: ROMEL PINTO URIA


TUTOR: ING. JUAN CARLOS DUCHEN CUELLAR

LA PAZ – BOLIVIA

2022
UNIVERSIDAD MAYOR DE SAN ANDRÉS
FACULTAD DE INGENIERIA

LA FACULTAD DE INGENIERIA DE LA UNIVERSIDAD MAYOR DE SAN


ANDRÉS AUTORIZA EL USO DE LA INFORMACIÓN CONTENIDA EN ESTE
DOCUMENTO SI LOS PROPÓSITOS SON ESTRICTAMENTE ACADÉMICOS.

LICENCIA DE USO

El usuario está autorizado a:

a) Visualizar el documento mediante el uso de un ordenador o dispositivo móvil.


b) Copiar, almacenar o imprimir si ha de ser de uso exclusivamente personal y privado.
c) Copiar textualmente parte(s) de su contenido mencionando la fuente y/o haciendo
la cita o referencia correspondiente en apego a las normas de redacción e
investigación.

El usuario no puede publicar, distribuir o realizar emisión o exhibición alguna de este


material, sin la autorización correspondiente.

TODOS LOS DERECHOS RESERVADOS. EL USO NO AUTORIZADO DE LOS


CONTENIDOS PUBLICADOS EN ESTE SITIO DERIVARA EN EL INICIO DE
ACCIONES LEGALES CONTEMPLADAS EN LA LEY DE DERECHOS DE AUTOR.
AGRADECIMIENTOS

Principalmente a mi familia que me apoyo en todo momento hasta la culminación de la carrera y

que fueron la principal fuente de inspiración y ejemplo a seguir.

A la Universidad Mayor de San Andrés, que nos brinda un ambiente para poder formarnos

profesionalmente y crecer como mejores personas.

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ó

implementar el sistema de información desarrollado en este proyecto.

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.

Finalmente a mis amigos y compañeros de la universidad que me apoyaron y me hicieron pasar

buenos momentos en el transcurso de toda la carrera.


Índice General
Capítulo 1 Introducción .............................................................................................................................. 1
1.1 Antecedentes .................................................................................................................................... 1
1.2 Situación Actual ................................................................................................................................ 2
1.2.1 Proyectos Académicos Relacionados ......................................................................................... 3
1.3 Planteamiento del Problema ............................................................................................................ 8
1.3.1 Problema Principal ..................................................................................................................... 8
1.3.2 Problemas Secundarios .............................................................................................................. 8
1.4 Objetivos ..................................................................................................................................... 9
1.4.1 Objetivo General ........................................................................................................................ 9
1.4.2 Objetivos Específicos .................................................................................................................. 9
1.5 Justificación ..................................................................................................................................... 10
1.5.1 Justificación Tecnológica .......................................................................................................... 10
1.5.2 Justificación Social .................................................................................................................... 11
1.5.3 Justificación Académica ........................................................................................................... 11
1.5.4 Justificación Económica ........................................................................................................... 11
1.6 Alcances y Limitaciones................................................................................................................... 11
1.6.1 Alcances ................................................................................................................................... 11
1.6.2 Limites ...................................................................................................................................... 12
Capítulo 2 Marco Teórico.......................................................................................................................... 14
2.1 Metodología para el Desarrollo de Sistemas de Información ......................................................... 14
2.1.1 Ciclo de Vida ............................................................................................................................. 14
2.1.2 Planificación ............................................................................................................................. 15
2.1.2.1 Delimitación del Ámbito del Proyecto. .............................................................................. 15
2.1.2.2 Estudio de Viabilidad. ........................................................................................................ 15
2.1.2.3 Errores que Deben Evitarse. .............................................................................................. 15
2.1.3 Especificación de requisitos ..................................................................................................... 15
2.1.3.1 Obtener Información Sobre el Problema y Determinar Objetivos. ................................... 15
2.1.3.2 Identificar y Definir los Requisitos de Almacenamiento de Información........................... 15
2.1.3.3 Definición de Actores. ....................................................................................................... 16
2.1.3.4 Identificar y Definir los Requisitos Funcionales del Sistema. ............................................. 16
2.1.3.5 Identificar y Definir los Requisitos de Interacción. ............................................................ 16
2.1.3.6 Identificar y Definir los Requisitos no Funcionales del Sistema. ........................................ 16

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

Figura 1 Repositorio Institucional de la Universidad Mayor de San Andrés ................................................ 5


Figura 2 Sistema de bibliotecas Koha UMSA ............................................................................................... 6
Figura 3 Software DSpace ........................................................................................................................... 7
Figura 4 Ciclo de vida de un sistema de información ................................................................................. 14
Figura 5 Representación de una clase ....................................................................................................... 20
Figura 6 Diagrama de casos de uso ........................................................................................................... 21
Figura 7 Diagrama de secuencia ............................................................................................................... 22
Figura 8 Diagrama de secuencia ............................................................................................................... 23
Figura 9 Navegadores web ........................................................................................................................ 25
Figura 10 Estructura de una URL ............................................................................................................... 26
Figura 11 Protocolo HTTP/HTTPS .............................................................................................................. 26
Figura 12 Software XAMPP ....................................................................................................................... 29
Figura 13 Software Apache ....................................................................................................................... 29
Figura 14 Software Visual Studio Code...................................................................................................... 30
Figura 15 Lenguaje de programación PHP ................................................................................................ 31
Figura 16 Lenguaje de programación JavaScript ....................................................................................... 31
Figura 17 Lenguaje de programación SQL ................................................................................................. 32
Figura 18 Sistema gestor de base de datos MySQL ................................................................................... 34
Figura 19 Sistema gestor de base de datos MariaDB ................................................................................ 35
Figura 20 Lenguaje HTML.......................................................................................................................... 36
Figura 21 Lenguaje CSS ............................................................................................................................. 37
Figura 22 Framework Laravel .................................................................................................................... 39
Figura 23 Framework Vue.js ...................................................................................................................... 39
Figura 24 Framework Bootstrap ............................................................................................................... 40
Figura 25 Esquema general del sistema de información ........................................................................... 45
Figura 26 Digitalización de documentos ................................................................................................... 48
Figura 27 Diseño de la interfaz de usuario ................................................................................................ 51
Figura 28 Identificación de actores ........................................................................................................... 53
Figura 29 Diagrama de casos de uso: Administración de usuarios ............................................................ 55
Figura 30 Diagrama de casos de uso: Almacenamiento de información ................................................... 56
Figura 31 Diagrama de casos de uso: Visualización de información ......................................................... 56
Figura 32 Diagrama de casos de uso: Administración de información ...................................................... 57
Figura 33 Diagrama de clases general ...................................................................................................... 58
Figura 34 Diagrama de clases para la administración de usuarios ........................................................... 59
Figura 35 Diagrama de clases para administrar la información de las versiones ...................................... 60
Figura 36 Diagrama de clases para administrar la información de las penalizaciones ............................. 63
Figura 37 Diagrama de clases para administrar la información de los documentos ................................. 65
Figura 38 Diagrama de clases para administrar la información de las clasificaciones .............................. 68
Figura 39 Diagrama de clases para visualizar la información de los documentos y el contenido de la
biblioteca .................................................................................................................................................. 71
Figura 40 Diagrama de clases para visualizar la información de la biblioteca .......................................... 74
Figura 41 Diagrama de clases para visualizar la información de los prestamos ....................................... 76

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

En el presente proyecto se desarrolla un sistema de biblioteca virtual basado en desarrollo web,

el cual permite acceder a la documentación académica digital que dispone el Instituto de

Electrónica Aplicada, además de una administración de la documentación académica física.

El desarrollo del proyecto se realizó en base a una metodología para el desarrollo de sistemas de

información, analizando los requerimientos funcionales, de interacción y no funcionales, para el

posterior diseño y desarrollo del sistema que cumpla con los requerimientos planteados.

Se utilizó la arquitectura Modelo-Vista-Controlador, el sistema está dividido en el backend y

frontend. El desarrollo del sistema se realizó mediante la implementación de los entornos de

desarrollo de Laravel y Vue.js, los lenguajes de programación PHP, SQL y JavaScript, además

de los lenguajes de marcado HTML y CSS. Los conocimientos de manejo e implementación de

estas tecnologías se adquirieron en el desarrollo del presente proyecto.

El sistema desarrollado permite el almacenamiento de documentos y clasificarlos según las

necesidades del Instituto de Electrónica Aplicada. Permite realizar búsquedas de documentos y

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,

clasificaciones, documentos y penalizaciones.

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

access to the digital academic documentation available at Instituto de Electrónica Aplicada, as

well as an administration of the physical academic documentation.

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

addition to allowing the administration of information on versions, classifications, documents

and penalties.

Keywords: Virtual Library, Information System, PHP, JavaScript, SQL, Laravel, Vue.js.

XIX
1

Capítulo 1 Introducción

Actualmente el uso de dispositivos con acceso a internet es prácticamente indispensable

en la vida cotidiana de una persona; la información que se puede obtener de internet es

considerada ilimitada y es la mayor fuente de información para una persona, sin embargo, esta

información no siempre es verídica, no es como si se la obtuviese de una biblioteca.

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

consiste en contribuir al crecimiento intelectual de los habitantes de un determinado país de

acuerdo a su especialidad, son espacios destinados a generar el conocimiento, la investigación

científica y de ese modo hacer ciencia (Sillo, 2012, pág. 12).

Las bibliotecas virtuales vienen evolucionando en el mundo de hoy, desempeñan un papel

importante en la enseñanza académica y la investigación, brinda recursos de aprendizaje a la

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

acompañar el proceso de enseñanza – aprendizaje, así como en la investigación.

La finalidad del presente proyecto es satisfacer la necesidad de docentes y estudiantes, en

acceder a la información científica, abriendo las oportunidades de educación, formación y

profesionalización, por consiguiente, mejorar su calidad de vida.

1.1 Antecedentes

El Instituto de Electrónica Aplicada fue creado el 29 de octubre de 1988 mediante Voto

Resolutivo Nº 18, en el Primer Congreso Interno de la Universidad Mayor de San Andrés, bajo

las siguientes consideraciones principales:


2

❖ Es necesario desarrollar una estrategia Nacional de investigación en Electrónica

Aplicada.

❖ La problemática nacional exige elaborar proyectos de investigación aplicada rentables

para captar recursos económicos y financieros, ahorro de divisas, hacer frente a la

dependencia tecnológica.

El Instituto de Electrónica Aplicada, tiene la visión de participar en el desarrollo de proyectos de

investigación aplicada a nivel internacional, la misión de contribuir en el desarrollo y difusión de

las telecomunicaciones, sistemas de control, sistemas de computación, realizando investigación,

desarrollo e innovación; capacitación, formación especializada, estudios y proyectos para el

desarrollo tecnológico, económico y social del País.

El Instituto de Electrónica Aplicada, tiene los programas de pasantía, proyectos y postgrado, en

los cuales se generan documentos de investigación, una vez que se finaliza cada programa.

Además de tener libros y revistas que fueron adquiridos por la institución.

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

administración de los documentos producidos y adquiridos por la institución.

1.2 Situación Actual

La opción de una biblioteca virtual es una importante funcionalidad que puede ser

implementada en diferentes instituciones. Existen algunos proyectos relacionados que se detallan

a continuación.
3

1.2.1 Proyectos Académicos Relacionados

En la carrera de Ingeniería Electrónica de la Universidad Mayor de San Andrés, se

presentaron proyectos de tesis relacionados a una biblioteca virtual que se detallan a

continuación:

a. Sistemas bibliotecarios en red de la Universidad Boliviana vía internet

El objetivo de este proyecto es de “diseñar e implementar un sistema bibliotecario en red

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

recolección y almacenamiento de datos, actualmente el sistema no se encuentra en uso.

El sistema cuenta con las siguientes funcionalidades:

❖ Crear y modificar bibliotecas.

❖ Crear, asignar y eliminar administradores de las bibliotecas.

❖ Reportes y estadísticas referentes al funcionamiento del sistema y bibliotecas.

❖ Administración de usuarios.

❖ Administración de documentos.

❖ Administración de préstamo de documentos.

❖ Búsqueda de libros.

❖ Reporte de libros que son solicitados con mayor frecuencia.

El sistema desarrollado en el presente proyecto, utiliza técnicas, nuevas tecnologías y otro

diseño que difieren al proyecto mencionado.

Algunas de las características adicionales que se implementan en el sistema son:

❖ Generar reportes de los cambios realizados mediante la interfaz web.

❖ Guardar los documentos e imágenes en el servidor.


4

❖ Visualización del contenido de los documentos para los usuarios registrados.

❖ Permitir o bloquear el acceso a las clasificaciones.

❖ Permitir o bloquear la opción de descarga de los documentos.

b. 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

Tiene como fin “brindar a docentes y estudiantes un repositorio digital colaborativo, que

mejore el acceso a la información como también a los servicios de Microsoft” (Guillén,

2019).

Existe el diseño y desarrollo de bibliotecas virtuales realizadas en otras instituciones como se

detalla a continuación:

a. 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

Tiene la finalidad de “facilitar al acceso a la información y diseñar la página web de la

biblioteca en registrarse, buscar, visualizar y consultar libros electrónicos, revistas

científicas, tesis y proyectos de grado, ciencia y tecnología y documentos digitales de la

institución” (Costa, 2021).

Concluye en que la falta de una biblioteca virtual, dificulta el acceso a la información y el

avance de herramientas tecnológicas a las que enfrentan los usuarios, en desorganización

y demora en el proceso de prestación de consulta de recursos bibliográficos.


5

b. BIBLIOTECA VIRTUAL BASADA EN WEB SEMÁNTICA PARA EL

POSTGRADO EN INFORMÁTICA

Tiene como finalidad el desarrollo de una biblioteca virtual basada en web semántica para

la unidad del postgrado en informática, implementando la metodología OOHDM para el

desarrollo de software (Apaza, 2008).

En sus recomendaciones propone implementar formatos de catálogos o descripción de

recursos.

Actualmente se tienen sistemas de información de biblioteca virtual implementados que se

detallan a continuación:

a. RI-UMSA

El Repositorio Institucional de la Universidad Mayor de San Andrés, busca mantener,

preservar, diseminar la información académica, científica, tecnológica y de innovación

derivada de las investigaciones, productos educativos académicos de las Facultades,

Carreras e Institutos de investigación científica y tecnológica.

La carrera de Ingeniería Industrial es la única carrera de la facultad de ingeniería que

forma parte de esta comunidad.

Figura 1

Repositorio Institucional de la Universidad Mayor de San Andrés

Nota. Tomado de Repositorio Institucional, Universidad Mayor de San Andrés, 2018,

(https://repositorio.umsa.bo/), Copyleft 2018


6

b. SUI-UMSA

El sistema de bibliotecas denominado "KOHA", es un sistema de código abierto que ha

sido adaptado a las necesidades de la UMSA.

El sistema de Bibliotecas KOHA, cuenta con dos módulos, el OPAC del usuario que

permite la consulta y la solicitud del préstamo; y la INTRANET para el bibliotecario,

donde se realiza la administración del catálogo, circulación, gestión de usuarios, reportes

e importación de bases de datos en formato Marc21.

El KOHA es un sistema de acceso único a los recursos que tienen las diferentes

bibliotecas de la UMSA, así como el acceso internacional. SUI-UMSA se ve a sí misma

como la responsable de generar la investigación, adaptar, validar y difundir el

conocimiento para apoyar el aprendizaje y las actividades de investigación dentro de las

facultades y los departamentos.

Figura 2

Sistema de bibliotecas Koha UMSA

Nota. Tomado de Koha UMSA, Departamento de Tecnología de Información y

Comunicación Universidad Mayor de San Andrés, 2017,

(https://dtic.umsa.bo/web/dtic/sistemas-dtic/-

/asset_publisher/i2w3aB7eeggO/content/sistema-de-bibliotecas-virtuales/628439)
7

c. DSpace

Es un software de código abierto que provee herramientas para la administración de

colecciones digitales, comúnmente es usada como solución de repositorio bibliográfico

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

personalizar o extender el software según se necesite.

Muchas instituciones de investigación a nivel mundial utilizan DSpace para satisfacer

una variedad de necesidades de archivo o archivaje digital:

❖ Repositorios Institucionales

❖ Repositorios de objetos de aprendizaje

❖ Tesis Electrónicas (eTheses)

❖ Administración de Registros Electrónicos

❖ Preservación Digital

❖ Publicación

Figura 3

Software DSpace

Nota. Tomado de Dspace, por Wikidat, (https://es.wikidat.com/info/dspace)


8

1.3 Planteamiento del Problema

1.3.1 Problema Principal

El Instituto de Electrónica aplicada está en constante crecimiento y desarrollo, promueve

el desarrollo intelectual de ciencia y tecnología en el proceso de enseñanza-aprendizaje de la

educación superior con los programas de postgrado. Actualmente está en desarrollo:

❖ Triple titulación, el cual a su vez tiene:

❖ Diplomado en telecomunicaciones

❖ Especialidad telemática

❖ Maestría redes de comunicación

❖ Diplomado en televisión digital 4ta versión

❖ Diplomado en sistemas de comunicaciones satelitales 3ra versión

Los participantes de los programas de postgrado, así como los estudiantes de la carrera de

Ingeniería Electrónica, pertenecen a diferentes regiones del departamento e incluso en diferentes

departamentos, para algunos de ellos se presenta el problema de poder acceder a referencias

bibliográficas verídicas que son necesarias para la culminación de estudios de pregrado y

postgrado. Actualmente no existe un sistema de información que permita publicar y tener acceso

a la información académica del Instituto de Electrónica Aplicada.

1.3.2 Problemas Secundarios

❖ No se cuenta con un sistema de almacenamiento de la información académica (libros,

artículos, monográficas, tesis de maestría)

❖ No existe una forma de presentar la información académica a los usuarios finales de

forma inmediata e intuitiva.

❖ Carencia de catálogo del contenido bibliográfico para la atención de usuarios.


9

❖ Falta de información oportuna, es decir que no se tiene un medio por el cual comunicar

nueva información académica adquirida.

❖ Las personas que requieren el acceso a la información académica, deben ir

personalmente, lo cual representa una pérdida de tiempo por el recorrido que se hace para

llegar al Instituto.

❖ No se cuenta con un sistema para el control de la documentación prestada.

Por todo lo anterior se plantea la siguiente pregunta:

¿De qué manera el diseño e implementación de un sistema de información de una biblioteca

especializada virtual, en el Instituto de Electrónica Aplicada de la Universidad Mayor de San

Andrés, beneficiaria a la población docente – estudiantil en el proceso de enseñanza –

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

1.4.1 Objetivo General

Desarrollar e implementar una biblioteca especializada virtual para el Instituto de

Electrónica Aplicada de la Universidad Mayor de San Andrés, que apoye con el aprendizaje,

desarrollo y formación académica, a docentes, estudiantes e investigadores, proporcionando el

acceso a la información documental, que tiene disponible el Instituto de Electrónica Aplicada.

1.4.2 Objetivos Específicos

❖ Determinar la especificación de requisitos, correspondientes al sistema de información.

❖ Modelar el funcionamiento del sistema, mediante el análisis de los requisitos.


10

❖ Desarrollar un sistema de biblioteca virtual mediante la implementación de un software

libre de licencias.

❖ Facilitar el acceso a la información académica a través de la página web de la biblioteca

virtual.

❖ Implementar una clasificación y organización documental según las necesidades del

Instituto de Electrónica Aplicada.

❖ Cargar toda la información académica documental disponible, del Instituto de Electrónica

Aplicada.

❖ Mantener un control adecuado sobre la documentación prestada de manera física.

❖ Concluir el proyecto con interfaces intuitivas para un fácil manejo del usuario final.

1.5 Justificación

1.5.1 Justificación Tecnológica

La gran evolución de las tecnologías de información y comunicación TIC’s, ha

impactado en el uso de bibliotecas tradicionales, de modo que estas deben adaptarse y adecuarse

a los avances de las tecnologías.

El Instituto de Electrónica Aplicada, cuenta con un servidor de pruebas, que está alojado por el

Departamento de Tecnologías de Información y Comunicación DTIC, la implementación del

sistema se lo realizara en dicho servidor.

Se busca aplicar nuevas tecnologías de desarrollo de software utilizadas en la actualidad.

Se utilizará una guía metodológica para el desarrollo del sistema de información.


11

1.5.2 Justificación Social

Las bibliotecas virtuales son un espacio de confianza para buscar y compartir

información de manera rápida y fácil, haciendo de estos grandes aportes principalmente en la

investigación y la educación a distancia, para las personas que así lo requieran.

1.5.3 Justificación Académica

Este trabajo permite incursionar en el aprovechamiento de nuevas herramientas de

desarrollo, para implementar sistemas de información sobre páginas web de manera fácil y

eficiente.

Mostrar el desarrollo del proyecto, mediante la implementación de la metodología de desarrollo

de software RUP.

1.5.4 Justificación Económica

Tanto los docentes como estudiantes de los programas de postgrado del Instituto de

Electrónica Aplicada y de la carrera de Ingeniería Electrónica, podrán tener acceso a toda la

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

desarrollo y crecimiento del instituto.

1.6 Alcances y Limitaciones

1.6.1 Alcances

❖ Se analizan los elementos principales para el desarrollo del sistema de información, en

los que se incluyen los programas de postgrado, documentos generados por la institución,

como así también el registro y control de los mismos.


12

❖ 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.

❖ Se diseña la estructura de la base de datos, que permita un manejo coherente de la

información utilizada.

❖ Se desarrollan los componentes y subsistemas, que posteriormente se unifican para

conseguir el funcionamiento deseado del sistema.

❖ Se visualizan los documentos, evitando la posibilidad de descargar del documento

directamente de la biblioteca virtual.

❖ Se administra qué información se mostrará en la biblioteca virtual, además de poder

gestionar los accesos a los documentos que tendrán los diferentes usuarios dentro del

sistema. Garantizar que los cambios que haga el administrador en el sistema, no

impliquen modificaciones directas en el código del programa ni en la base de datos, sino

realizarlos mediante una interfaz.

1.6.2 Limites

❖ Se podrá acceder a esta información de forma fácil y eficiente desde múltiples

dispositivos como ser: computadora personal o de escritorio, celular inteligente y

“tablets”, en los cuales se debe tener instalado un navegador de internet.

❖ El sistema de biblioteca virtual, estará desarrollado principalmente para la administración

de la información académica que actualmente tiene el Instituto de Electrónica Aplicada.

❖ El sistema de biblioteca propuesto no contempla la cantidad de usuarios que pueden

registrarse en el sistema.
13

❖ No se considera la cantidad de documentos que se puedan utilizar al mismo tiempo.

❖ El tamaño que ocupa el documento electrónico está restringido a un máximo de 35 MB.

❖ El presente proyecto está desarrollado como parte de otros sistemas de información para

el Instituto de Electrónica Aplicada, por lo que no se contempla la administración de

usuarios dentro del propio sistema.

❖ El desarrollo del proyecto está enfocado inicialmente para el Instituto de Electrónica

Aplicada y no se contempla la inclusión de la documentación de la biblioteca de la

carrera de Ingeniería Electrónica de la Universidad Mayor de San Andrés o acceso a

bibliotecas virtuales de otras facultades o universidades.

❖ La implementación y las pruebas se realizarán con los recursos que dispone actualmente

el Instituto de Electrónica Aplicada, lo que determinará la potencia y tiempos de

respuesta, que no serán analizados en el presente proyecto.


14

Capítulo 2 Marco Teórico

2.1 Metodología para el Desarrollo de Sistemas de Información

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).

2.1.1 Ciclo de Vida

Conjunto de actividades que se realizaran para desarrollar e implementar un sistema de

información. El ciclo de vida debe comprender un total de seis flujos de trabajo: planificación,

especificación, análisis, diseño, desarrollo, pruebas e implementación.

Figura 4

Ciclo de vida de un sistema de información

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

para redefinir nuevos aspectos.

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

reajustar la estimación del coste y su planificación temporal, tiene la descripción de la

funcionalidad que tendrá el sistema de información, sus características principales y sus

objetivos clave.

2.1.2.2 Estudio de Viabilidad. Evaluar la viabilidad económica, técnica y legal del

mismo, identificar los factores que pueden hacer fracasar el proyecto y elementos que pueden

ayudar a reducir el índice de fracaso.

2.1.2.3 Errores que Deben Evitarse. Abreviar la planificación y análisis del proceso de

desarrollo de software, no gestionar adecuadamente los cambios inevitables que ocurren en el

proyecto, reducir interacción con el cliente e interrupciones innecesarias.

2.1.3 Especificación de requisitos

2.1.3.1 Obtener Información Sobre el Problema y Determinar Objetivos. Definir y

conocer el sistema, además del entorno de trabajo en el que se va a desarrollar la aplicación y

obtener información sobre el dominio del sistema.

2.1.3.2 Identificar y Definir los Requisitos de Almacenamiento de Información.

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

almacenamiento y tipología de los datos, se tiene las bases de la estructura conceptual de la

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

que se pueden tener y analizar la compatibilidad entre ellos.

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.

2.1.3.5 Identificar y Definir los Requisitos de Interacción. La interfaz es un aspecto

crítico, un requisito es como se mostrará la información al usuario, requisitos de almacenamiento

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,

2.1.3.6 Identificar y Definir los Requisitos no Funcionales del Sistema. Referenciado

a los objetivos para determinar otros requisitos que por su carácter no hayan sido catalogados

anteriormente.

2.1.4 Análisis

2.1.4.1 Construir un Modelo Conceptual de Análisis. A partir de los requisitos de

almacenamiento de información y definición de los actores, se debe realizar un modelo

conceptual del sistema, mediante la nomenclatura UML representar la estructura conceptual de la

aplicación.
17

2.1.4.2 Refinar el Modelo de Navegación del Sistema. La estructura de navegación

debe ser consistente y cubrir una serie de aspectos, como que el usuario pueda llegar a toda la

información desde un punto (pantalla inicial).

2.1.4.3 Definir los Prototipos de Interfaz. Muestran que información se ofrece al

usuario, el orden y las navegaciones que tiene el sistema.

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

arquitectura donde se contemplan los aspectos: almacenamiento, clasificación, interfaces para la

presentación de resultados, distribución del contenido de la biblioteca al usuario final,

administración y control de acceso, el diseño de la arquitectura no debe verse afectado por

aspectos de navegación o interfaz, en base a los casos de uso y las necesidades de

almacenamiento, se selecciona la estrategia para implementar los almacenes en términos de

estructuras de datos, archivos y bases de datos.

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

definidos en la especificación de requisitos de navegación, que tipo de relaciones y estructuras

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

navegación (prototipo de pantallas y sistema dinámico de pantallas)


18

2.1.6 Desarrollo

Traducir a código lo que se ha diseñado, crear manuales de usuario, del diseño básico se

extrae información sobre la arquitectura del sistema, los sistemas de almacenamiento, y

estructura de la base de datos, con el diseño de la interfaz abstracta y el diseño de la navegación

se conoce que pantallas hay que realizar, eventos que las afectan y como trabajar con ellas.

Elección de las herramientas de desarrollo:

❖ Lenguajes de programación.

❖ Herramientas IDE.

❖ Servidores de aplicación.

❖ Interface de usuario.

❖ Manejadores de bases de datos.

2.1.7 Pruebas e Implementación

2.1.7.1 Plan de Pruebas. Recoger las pruebas a realizar e indicar el orden de realización.

❖ Alcance: Tipo de prueba y las propiedades/elementos que se probaran.

❖ Ítems a probar: Indica la configuración a probar y las condiciones mínimas que debe

cumplir para iniciar la prueba.

❖ Estrategia: Técnica, patrón y/o herramientas que se utilizaran en el diseño de los casos

de prueba.

❖ Recursos: Especifica las propiedades necesarias y deseables del ambiente de prueba.

2.1.7.2 Implementación. Cumplir con el diseño planteado, probar el código y solventar

errores en caso de que se tengan, se debe considerar: instalación, documentación, capacitación y

soporte.
19

2.1.7.3 Mantenimiento y Mejora Continua. Corregir fallas detectadas y realizar

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

realizar considerando grado de dificultad y factibilidad, ejecución de las modificaciones, pruebas

de las modificaciones, liberación (actualizar documentación), para lograr un adecuado

mantenimiento se sigue la metodología que está enmarcada dentro del ciclo planificar-hacer-

verificar-actuar:

❖ Planificar: Establecer los objetivos y procesos para obtener resultados de conformidad

con el cliente y políticas de la organización.

❖ Hacer: Implementar procesos para alcanzar objetivos.

❖ Verificar: Realizar seguimiento y reportar los resultados alcanzados.

❖ Actuar: Realizar acciones para promover la mejora del desempeño de los procesos.

2.2 Lenguaje de Modelado Unificado (UML)

UML tiene diferentes elementos gráficos, los cuales se utilizan en conjunto para formar

diagramas, con la finalidad de presentar un sistema mediante un modelo. El modelo UML

describe las funcionalidades que tendrá el sistema, pero esto no implica como se desarrollará o

implementará el sistema (Rumbaugh, Jacobson, & Booch, 2007, pág. 3).

UML tiene diferentes tipos de diagramas, en el presente proyecto se utilizarán algunos de estos

diagramas, los cuales se definen a continuación.

2.2.1 Diagrama de Clases

Describe la estructura estática de un sistema, una clase está representada por un

rectángulo, que se dividen en tres partes como se muestra en la “Figura 5”.


20

Figura 5

Representación de una clase

Nombre de la clase
(visibilidad)Atributos
(visibilidad)Operaciones

Nota. Adaptado de Notación de clase (p. 46), por Rumbaugh, Jacobson, & Booch, 2007, EL

LENGUAJE UNIFICADO DE MODELADO MANUAL DE REFERENCIA.

La visibilidad se identifica mediante un símbolo:

❖ (+) 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

mediante diferentes tipos como se muestra en la “Tabla 1”.

Tabla 1

Relación entre las clases

Tipo de relación Notación Descripción

Se utiliza para representar relaciones con


Asociación
menor contenido semántico.

Se utiliza para representar la relación


Herencia
entre una clase y su subclase.

Se utiliza para representar una relación de


Agregación
una clase como “parte-de” otra clase.
21

Tipo de relación Notación Descripción

Se utiliza para representar una relación


Dependencia
cuando una clase “usa-a” otra clase.

Nota. Adaptado de Tipos de relaciones (p. 46), por Rumbaugh, Jacobson, & Booch, 2007, EL

LENGUAJE UNIFICADO DE MODELADO MANUAL DE REFERENCIA.

2.2.2 Diagrama de Casos de Uso

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

Diagrama de casos de uso

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,

EL LENGUAJE UNIFICADO DE MODELADO MANUAL DE REFERENCIA.


22

2.2.3 Diagrama de Secuencias

Representa el flujo de un proceso entre varios componentes de manera secuencial, y la

interacción de los objetos con los componentes para completar dicho proceso. El diagrama se

representa mediante activaciones, mensajes y líneas de vida.

Figura 7

Diagrama de secuencia

Actor Componente Objeto: Clase Componente

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,

EL LENGUAJE UNIFICADO DE MODELADO MANUAL DE REFERENCIA.

Un objeto representa una instancia especifica de una clase.

2.3 Arquitectura de Software

2.3.1 Modelo Vista Controlador

Es un estilo de arquitectura de software, que separa los datos, la interfaz gráfica del

usuario y la lógica de programación en tres componentes distintos.


23

Figura 8

Diagrama de secuencia

Actor

1: Solicita

2: Llama
Controlador Modelo
4: Retorna

6: Interpreta y muestra Consulta Retorna


5: Procesa y envía

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

consulta, actualización, creación o eliminación. Envía a la “vista” la información requerida, para

que pueda ser mostrada en la interfaz de usuario. Las peticiones de acceso o cambios de

información, provienen a través de un “controlador”.

2.3.1.2 Vista. Recibe la información del “modelo” y la muestra mediante la interfaz

gráfica, en un formato que permite la interacción con el usuario.

2.3.1.3 Controlador. Recibe los eventos de entrada (acciones que realiza el usuario) de

la “vista”, y mediante la lógica de programación, envía o recibe información del “modelo”

(dependerá del evento detectado), por lo que se puede considerar al “controlador” como el

componente que hace de intermediario entre la “vista” y el “modelo”.


24

2.4 Ambiente para el Desarrollo de un Sistema de Información

2.4.1 Internet

Se la define como una red de redes de computadoras, donde se realiza el intercambio

libre de información. Internet está formada de cuatro servicios:

❖ Servicio de correo electrónico, para enviar y recibir mensajes.

❖ Servicios de noticias, donde se obtiene información sobre algún tema.

❖ Acceso remoto, que permite la conexión como terminal y control de otra computadora

que se encuentre en la red.

❖ Transferencia de ficheros, que permite la transferencia de archivos entre computadoras.

2.4.2 World Wide Web

Es una red informática mundial a la que se accede a través de internet, formada por

múltiples páginas web interconectadas.

Se basa en hipertextos, lo que permite la inserción de hipervínculos para la conducción de los

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.

2.4.3 Página Web

Es un documento o información electrónica que se puede mostrar a través de un

navegador web, generalmente contiene texto, video, audio e hipervínculos.

Una página web estática tiene su contenido predeterminado, una página web dinámica genera el

contenido al momento de visualizarla, lo que permite la interacción con el usuario.


25

2.4.4 Sitio Web

Es una colección de páginas web que se agrupan y están relacionadas, la información que

se obtiene es referente a un tema en particular, pertenecen a un dominio o subdominio en la

World Wide Web.

2.4.5 Servidor Web

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

datos, se utiliza generalmente el protocolo HTTP/HTTPS.

2.4.6 Navegador Web

Es un software que permite el acceso a la World Wide Web y ayuda a encontrar páginas

web, para su interacción con los usuarios.

Figura 9

Navegadores web

Nota. Tomado de Embou, 2020, (https://www.embou.com/blog/los-mejores-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

usuarios (Facchin, 2022).


26

Figura 10

Estructura de una URL

Protocolo Dominio Subcarpeta

https://www.midominio.com/categoria/archivo

Subdominio TLD Pagina

Nota. Adaptado de ANATOMÍA DE UNA URL, por Jose Facchin, 2022,

(https://josefacchin.com/que-es-una-url/)

2.4.7.1 Protocolo HTTP/HTTPS. Protocolo de comunicación que permite la

transferencia de información en la World Wide Wed, es un protocolo que no guarda información

sobre conexiones anteriores. Se basa en las operaciones de solicitud – respuesta, inicia mediante

una conexión con el servidor y finaliza con la desconexión del mismo.

Figura 11

Protocolo HTTP/HTTPS

Nota. Adaptado de Representación esquemática del proceso de comunicación basado en el

protocolo HTTP, por Digital Guide IONOS, 2020,

(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

realiza mediante el sistema de nombres de dominio (DNS).

En conjunto con el TLD conforman un identificador único en internet.

2.4.7.4 Top Level Domain TLD. Es el ultimo componente del dominio, existen tres

tipos:

❖ Dominios de más alto nivel genérico como .com, .org y .net.

❖ Dominios de más alto nivel patrocinados como .gov, .edu.

❖ Dominios de más alto nivel con código de país como .us, .es, .bo.

2.4.7.5 Subdirectorio o Subcarpeta. Carpeta dentro de un dominio, que se utiliza para

separar o agrupar diferentes archivos. Un mismo dominio puede tener múltiples subdirectorios,

con el fin de tener con contenido ordenado en el sitio web.

2.4.7.6 Nombre del Archivo o Página. Es el elemento que se utiliza para especificar un

contenido, archivo o documento del sitio web.

2.4.8 Alojamiento web

También conocido como hosting, es el servicio que provee un espacio de

almacenamiento en línea, para los archivos que forman parte del sitio web (Gustavo, 2022).

Los elementos básicos que pueden variar en función al proveedor son:

❖ Almacenamiento: Memoria y espacio en disco.

❖ Número de sitios.

❖ Ancho de banda: Cantidad máxima de datos al mes que puede utilizar el sitio web.
28

❖ Seguridad.

Existen diferentes formas de alojamiento web:

❖ Alojamiento compartido: Se comparte los recursos del servidor con otros clientes.

❖ Alojamiento VPS: Servidor virtual privado, se comparte el servidor, pero se asignan una

partición separada y con recursos dedicados.

❖ Alojamiento en la nube: Se obtiene un grupo de servidores donde los archivos y recursos

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.

2.5 Herramientas de Desarrollo

2.5.1 Entorno de Desarrollo

Conjunto de herramientas que se utilizan en la etapa de desarrollo, para escribir, generar,

probar y depurar un programa.

2.5.1.1 XAMPP. Es un software de uso gratuito para usos comerciales y no comerciales,

viene configurado por defecto con las opciones activadas de apache, mysql y php (Garcia, 2020).

Tiene instalada la herramienta phpMyAdmin para la administración de la base de datos. El

nombre es un acrónimo que se representa de la forma:

❖ X: Representa el sistema operativo (Windows, Linux y OS X).

❖ A: Apache.

❖ M: MySQL/MardiaDB.

❖ P: PHP.
29

❖ P: Perl.

Figura 12

Software XAMPP

Nota. Tomado de Xampp, por Mauro Chojrin, 2017, (https://academy.leewayweb.com/como-

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

propietarios de sitios web compartir su contenido en la web (Gustavo, 2022). Se encarga de

aceptar las peticiones de las páginas web que contiene y define la entrega o denegación de la

información, según la seguridad establecida.

Figura 13

Software Apache

Nota. Tomado de Apache, por Apache Software Foundation, 2022, (https://www.apache.org/)


30

2.5.1.3 Visual Studio Code. Es un editor de código fuente de software libre y

multiplataforma disponible para Windows, GNU/Linux y macOS. Proporciona sugerencias de

código y terminaciones para diferentes lenguajes, lo que permite agilizar el trabajo de

programación (Flores, 2022). Incluye una función de depuración que permite detectar errores en

el código. Dispone de diferentes extensiones que permiten personalizar y agregar

funcionalidades adicionales, como programa en diferentes lenguajes, conectar con otros servicios

y agregar nuevos temas al editor.

Figura 14

Software Visual Studio Code

Nota. Tomado de Visual Studio Code, por Trellat, 2022, (https://trellat.es/como-colorear-las-

llaves-en-visual-studio-code/)

2.5.2 Lenguajes de Programación

2.5.2.1 PHP. Lenguaje de programación de código abierto, utilizado para el desarrollo de

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

sitio web (de Souza, 2020).

En el proyecto se implementará PHP 8.1.


31

Figura 15

Lenguaje de programación PHP

Nota. Tomado de Official PHP Logo, Wikipedia, 2001,

(https://es.wikipedia.org/wiki/PHP#/media/Archivo:PHP-logo.svg)

2.5.2.2 JAVASCRIPT. Lenguaje de programación ligero, interpretado y orientado a

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

con HTML y CSS.

Figura 16

Lenguaje de programación JavaScript

Nota. Tomado de JavaScript, por Cecilio Alvarez, 2014,

(https://www.genbeta.com/desarrollo/javascript-funciones-y-expresiones)
32

2.5.2.3 SQL. Lenguaje de programación, diseñado para administrar y recuperar

información de los sistemas de gestión de bases de datos. Algunas de sus características

principales son:

❖ Lenguaje estandarizado: Prácticamente se puede reutilizar el código en diferentes

sistemas, mediante algunos cambios mínimos para su correcta interpretación.

❖ Integridad de datos: Asegura que los datos sean válidos, correctos y completos.

❖ Flexibilidad: Permite la visualización de los datos de diferentes maneras, según las

especificaciones de los usuarios.

❖ Sencillez y claridad: Lenguaje unificado, claro y de fácil comprensión.

Figura 17

Lenguaje de programación SQL

Nota. Tomado de SQL, por Wilber Ccori Huaman, 2018,

(https://medium.com/@maniakhitoccori/sql-b%C3%A1sico-conceptos-b%C3%A1sicos-

d937a8b19d02)

2.5.3 Base de Datos

Recopilación de datos estructurados, almacenados de forma electrónica en un sistema

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

tipo de base de datos dependerá de cómo se pretende organizar los datos.

❖ Bases de datos relacionales: Los datos se organizan como un conjunto de tablas con

columnas y filas, proporciona la forma más eficiente y flexible de acceder a información

estructurada.

❖ Bases de datos orientadas a objetos: La información se representa en forma de objetos.

❖ Bases de datos distribuidas: La base de datos se puede almacenar en sitios diferentes,

puede estar en el mismo lugar físico o en una ubicación diferente dentro de la red.

❖ Almacenes de datos: Repositorio central de datos, diseñado para consultas y análisis

rápidos.

❖ Bases de datos no relacionales: Almacena y manipula información no estructurada o

semiestructurada.

2.5.3.2 Administración de Bases de Datos. Disciplina que consiste en crear la base de

datos, con el objetivo de cumplir con las políticas establecidas por el administrador de datos.

Este trabajo es encargado al administrador de base de datos (DBA).

2.5.3.3 Sistema Gestor de Base de Datos (DBMS). Sistema que permite la creación,

gestión y administración de bases de datos (Marin, 2019). Se clasifican según la forma de

administración:

❖ Sistemas gestores de bases de datos relacionales: Entre los más utilizados están MySQL y

MariaDB.

❖ Sistemas gestores de bases de datos no relacionales.


34

2.5.3.4 MySQL. Sistema de gestión de base de datos relacional más extendido y basado

en código abierto, algunas de sus características son (Robledano, 2019):

❖ Arquitectura cliente y servidor: La comunicación entre el cliente y el servidor es de

manera diferenciada, lo que permite que sea utilizado por varios usuarios al mismo

tiempo.

❖ Compatibilidad con SQL.

❖ Vistas: Compatibilidad para configurar vistas personalizadas.

❖ Procedimientos almacenados: No se procesa las tablas directamente, esto aumenta la

eficacia en la implementación.

❖ Desencadenantes: En el momento que se produce un evento, se lanza otro para actualizar

algún registro relacionado.

❖ Transacciones: El sistema confirma que todos los procedimientos se hayan realizado

correctamente, en caso de falla, el sistema preserva la integridad de la base de datos y

evita que la transacción quede incompleta.

Figura 18

Sistema gestor de base de datos MySQL

Nota. Tomado de MySQL, por DYD Serveis, 2019, (https://www.dydserveis.com/repasamos-las-

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.

❖ Extensiones: Como la de permitir hasta 200.000 conexiones o incluir un sistema de

autenticación que mejora las medidas de seguridad.

❖ Errores y alertas: Corrección de la mayoría de posibles errores en la gestión de base de

datos y se dejan solo las alertas que sean necesarias para optimizar, mejorar o solventar

una incidencia.

Figura 19

Sistema gestor de base de datos MariaDB

Nota. Tomado de MariaDB, por CloudBalkan, 2022, (https://www.cloudbalkan.com/wp-

content/uploads/2022/04/mariadb-logo-vert_blue-transparent.png)

2.5.4 Interfaz de Una Página Web

Estructura formada por elementos gráficos que permiten la interacción de los usuarios

con el sitio web.

2.5.4.1 HTML. Lenguaje de marcas de hipertexto, es el componente que define la

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

versión utilizada en el proyecto es HTML5, sin embargo, existen versiones anteriores:

❖ 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

mejores capacidades de impresión.

❖ HTML 5: Estándar oficial desde 2014, tiene nuevas etiquetas, introduce la posibilidad de

introducir audio y video de forma directa en la web sin necesidad de “plugins” o

complementos en los navegadores.

Figura 20

Lenguaje HTML

Nota. Tomado de HTML oficial logo, Wikipedia, 2011,

(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

integrarlo mediante una etiqueta HTML. Su estructura se basa principalmente en el “selector”


37

que indica a que elementos se aplicaran los estilos, y la “declaración” que especifica cuáles son

los estilos (Gustavo, 2022).

La versión utilizada en el proyecto es CSS3, sin embargo, se tienen versiones anteriores:

❖ CSS1: Primera versión con estilos básicos como color de texto, márgenes, bordes y

tipografías.

❖ CSS2: Se suman propiedades como posicionamientos absolutos y relativos, sombras y

estilos específicos para diferentes medios.

❖ CSS3: Mejoras en los modos de color, declarar valores de los estilos mediante variables,

animación, transiciones, mejor compatibilidad con los navegadores y el diseño

responsivo.

Figura 21

Lenguaje CSS

Nota. Tomado de CSS badge, Wikipedia, 2016,

(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

ser complementados o modificados según los objetivos requeridos, permite el desarrollo de un


38

proyecto en menor tiempo, reducir errores y obtener resultados de mayor calidad (Muente,

2020).

2.5.5.1 Laravel. Framework de PHP con la estructura Modelo-Vista-Controlador.

Laravel pone énfasis en la calidad del código, facilidad de mantenimiento y escalabilidad,

promueve la separación de los archivos mediante un orden definido, lo que permite y facilita el

trabajo en equipo. La versión utilizada en el proyecto es Laravel 8.

Contiene varias herramientas o utilidades para realizar la mayoría de las aplicaciones web,

algunas de estas características son:

❖ El motor de plantilla “Blade”, que posibilita hacer paginas potentes y eficaces, donde es

capaz de utilizar sus propias variables.

❖ Sistema de abstracción de base de datos “Eloquent ORM”, que permite manejar los datos

de la base de datos como si fuesen objetos.

❖ Seguridad mediante mecanismo de “hash” y “salt” para encriptar por medio de librerías

como “Bcrypt”.

❖ El sistema de comandos “Artisan”, que brinda grandes facilidades y posibilidades como

crear controladores, modelos, iniciar el servidor y actualizar la base de datos.

❖ 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

Nota. Tomado de Laravel, por CosasDeDevs, 2022, (https://cosasdedevs.com/laravel/)

2.5.5.2 Vue.js. Es un Framework de JavaScript que permite construir interfaces de

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

de JavaScript (García, 2019).

Es un Framework reactivo, esto permite modificar el comportamiento o la vista de la aplicación

en función a algún evento, para utilizar diferentes componentes, sin la necesidad de recargar la

página. La versión utilizada en el proyecto es Vue 3

Figura 23

Framework Vue.js

Nota. Tomado de Vue.js, por Mushegh Zakaryan, 2020, (https://zmushegh.medium.com/how-

vuejs-became-popular-in-a-short-period-38e53199a620)

Para su funcionamiento, se requiere de la herramienta “npm” de Node.js para la ejecución de

JavaScript en el lado del servidor.


40

2.5.5.3 Bootstrap. Framework de desarrollo web gratuito, diseñado para facilitar el

desarrollo de sitios web responsivos y orientados a dispositivos móviles. Combina CSS y

JavaScript para estilizar los elementos de una página HTML.

Algunas de las ventajas del uso de este Framework son:

❖ Estructura de archivos sencilla, facilidad en la edición de los archivos.

❖ Tiene dos clases de contenedores para adaptarse mejor a los proyectos de escritorio y

móviles: contenedor fijo y contenedor fluido.

❖ Compatible con las últimas versiones de los navegadores más populares.

❖ Reutilización de código, lo que permite reducir el tamaño de los archivos.

Figura 24

Framework Bootstrap

Nota. Tomado de Bootstrap, por AnthonCode, 2019, (https://anthoncode.com/bootstrap-logo-

vector-eps/)

2.5.6 Plugins

Son programas complementarios que añaden funcionalidades extra o mejoras a los

programas o aplicaciones web. Los Plugins implementados en el proyecto son:

❖ DomPDF: Es una biblioteca que posibilita la creación de documentos PDF a partir de

código HTML, el cual puede ser descargado o almacenado en el servidor.


41

❖ Spatie/laravel-permission: Paquete que permite asociar a los usuarios con roles y

permisos, los cuales serán almacenados en la base de datos, sin la necesidad de crear las

migraciones manualmente.

❖ Laravel-permission-to-vuejs: Paquete que permite utilizar los roles y permisos asignados

al usuario, dentro de los archivos “vue”, esto brinda la posibilidad de cambiar el

contenido de la página en función del usuario.

❖ Intervention Image: Paquete para el manejo y manipulación de imágenes PHP.

Proporciona una forma más fácil de crear, editar y componer imágenes.

❖ Laravel Breeze: Paquete que ofrece las funcionalidades de autenticación, incluyendo

inicio de sesión, registro, recuperación de contraseñas y verificación de correo

electrónico.

❖ Laravel-tags: Paquete que ofrece un comportamiento para añadir etiquetas a un registro

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.

❖ Vue-router: Biblioteca de enrutamiento, que proporciona las herramientas para asignar

los componentes de una aplicación a diferentes rutas de URL del navegador.

❖ 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

realizar la autenticación de usuarios.


42

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

para el desarrollo del sistema y las funcionalidades del mismo

3.1 Planificación del Desarrollo del Sistema de Información

3.1.1 Ámbito del Proyecto

En base a los objetivos planteados en el capítulo 1 “Introducción”, donde el objetivo

principal es “Desarrollar e implementar una biblioteca especializada virtual para el Instituto de

Electrónica Aplicada de la Universidad Mayor de San Andrés”. Se definen las siguientes acciones

para el cumplimiento de los objetivos:

Tabla 2

Acciones y etapa de desarrollo para el cumplimiento de objetivos

N.º Acción Etapa de desarrollo


1 Determinar la especificación de requisitos, Su desarrollo se realizará en el capítulo 4
correspondientes al sistema de información. “Especificación de requisitos y Análisis”.
2 Modelar el funcionamiento del sistema, Su desarrollo se realizará en el capítulo 4
mediante diagramas ilustrativos. “Especificación de requisitos y Análisis”.
3 Diseñar la base de datos en función al análisis Su desarrollo se realizará en el capítulo 5
de los requisitos. “Diseño”.
4 Diseñar la interfaz de usuario para un manejo Su desarrollo se realizará en el capítulo 5
fácil e intuitivo. “Diseño”.
5 Desarrollar el sistema de información, Su desarrollo se realizará en el capítulo 6
implementando el diseño de la base de datos y “Desarrollo”.
la interfaz de usuario.
6 Implementar el sistema y realizar pruebas en Su desarrollo se realizará en el capítulo 7
función a los principales requisitos. “Pruebas e Implementación”.
43

N.º Acción Etapa de desarrollo


7 Cargar toda la información académica Su desarrollo se realizará en capítulo 7
documental disponible, del Instituto de “Pruebas e Implementación”
Electrónica Aplicada.

Nota. Elaboración propia

3.1.2 Viabilidad

Se tienen las siguientes consideraciones:

❖ Todo el desarrollo del proyecto se lo realizara mediante software libre, por lo que no se

necesita una inversión económica inicial.

❖ Se dispone de un servidor de pruebas para la implementación del sistema, con la limitante

de que solo puede ser accedido desde la red de la UMSA.

❖ No se tiene todos los documentos digitalizados, por lo que no es posible realizar las pruebas

con la documentación completa.

3.2 Visión General del Sistema

El desarrollo del sistema de información de la biblioteca virtual especializada, permitirá

compartir la información académica digital que dispone el Instituto de Electrónica Aplicada, el

cual podrá ser accedido desde diferentes dispositivos.

3.2.1 Público objetivo

El público objetivo son los estudiantes de pregrado y postgrado, docentes, bibliotecarios y

usuarios externos que no pertenezcan a la institución.

3.2.2 Alcances del Sistema

El sistema permite la entrada de los datos de manera manual, los cuales pueden ser

modificados posteriormente, se cuenta con un registro de préstamos, devoluciones, cambios del


44

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

la opción de solicitar una copia digital del documento. Se proporcionan herramientas al

bibliotecario para poder realizar la administración de los documentos.

3.2.3 Esquema General

Los usuarios ingresan al sistema mediante una página web que está almacenado en el

servidor.

La información es almacenada en la base de datos que se encuentra alojada en el mismo servidor

que la página web.

En la “Figura 25”, se muestra un esquema que representa la interacción entre los usuarios, página

web y el sistema de información.


45

Figura 25

Esquema general del sistema de información

Celular inteligente

Base de datos Externo

Servicio externo

Tablet

Estudiante

Servidor web Computadora


Sistema de Biblioteca Virtual Docente
Instituto de Electrónica Aplicada

Bibliotecario

• Línea fija: Pueden hacer cambios en el sistema


(flujo de información bidireccional)
• Línea segmentada: No se puede hacer cambios en Administrador
el sistema (flujo de información unidireccional)

Nota. Adaptado de Diagrama Sistema de Comunicados (p. 37), por Herbas y Nina, 2018,

DESARROLLO E IMPLEMENTACIÓN DE UN SISTEMA DE INFORMACIÓN PARA LA

MODERNIZACIÓN DE LOS PANELES INFORMATIVOS EN LA CARRERA DE

INGENIERÍA ELECTRÓNICA DE LA UNIVERSIDAD MAYOR DE SAN ANDRÉS.


46

Capítulo 4 Especificación de Requisitos y Análisis

4.1 Especificación de Requisitos

A continuación, se describen las consideraciones iniciales para el análisis de los

requerimientos, para su posterior diseño y desarrollo del sistema de información.

4.1.1 Recursos de Información

Son los elementos de información que deben ser gestionados por el sistema, que se

desarrollara en el proyecto.

❖ Versiones: Representa la versión de los programas que tiene el Instituto de Electrónica

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

como se clasificará la información documental que dispone el Instituto de electrónica

aplicada, agrupando una cantidad de documentos que tengan relación con la clasificación

asignada.

❖ Documentos: Un documento, es toda la información escrita que ilustra acerca de un

hecho, situación o circunstancia (Pérez & Merino, 2021). Para el proyecto solo se

considera la documentación académica digital que dispone el Instituto de Electrónica

Aplicada.

Los documentos pueden clasificarse como libros, revistas, monografías, tesis, o de forma

más específica, para un mejor entendimiento de la documentación almacenada.

❖ 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

hayan realizado un préstamo y no cumplan con las condiciones establecidas por el

Instituto de Electrónica Aplicada.

❖ Biblioteca: Representa la información que indica a que institución pertenece la biblioteca

virtual.

❖ Prestamos: Un préstamo es entregar un objeto al prestatario, el cual está obligado a

restituirlo con posterioridad. Representa como el usuario bibliotecario administrara las

solicitudes de préstamo y retorno de los documentos físicos.

❖ 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

las solicitudes de copia digital de los documentos.

❖ Responsables: Son los encargados de administrar la información documental de la

biblioteca, administrar los accesos a la información y realizar las búsquedas de

información, se tiene cuatro responsables:

o Administrador: Encargado de administrar los accesos a los documentos,

además de la información de la biblioteca.

o Bibliotecario: Encargado de toda la documentación disponible de la

biblioteca incluyendo sus atributos, además del control de préstamos y

solicitudes de copia digital.

o Docente: Encargados de dar la catedra de una materia, en algunas

situaciones pueden tener la necesidad de compartir un documento o buscar

información en la biblioteca.
48

o Estudiante: Son quienes pasan las clases dadas por lo docentes, los cuales

pueden tener la necesidad de buscar información como referencia de

investigación, o comprender más sobre un determinado tema.

4.1.2 Requisitos de Almacenamiento

Una de las necesidades es la digitalización de la información académica del Instituto de

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

Nota. Elaboración propia

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

inicie con el proceso de digitalización.

En la “Tabla 3” y “Tabla 4” se detalla el espacio de almacenamiento estimado que se requeriría

en el servidor.
49

Tabla 3

Espacio de almacenamiento necesario actualmente

Cantidad de Espacio necesario Espacio


Tipo de documento
documentos por documento necesario total
Tesis de maestría 56 5 MB 280 MB
Monografías 129 5 MB 645 MB
Revistas 20 35 MB 700 MB
Libros 20 35 MB 700 MB
TOTAL 2325 MB

Nota. Elaboración propia

Tabla 4

Espacio de almacenamiento necesario por año

Cantidad de Espacio necesario Espacio


Tipo de documento
documentos por documento necesario total
Tesis de maestría 3 5 MB 15 MB
Monografías 20 5 MB 100 MB
Revistas 2 35 MB 70 MB
Libros 2 35 MB 70 MB
TOTAL 255 MB

Nota. Elaboración propia

Aparte del almacenamiento de los documentos, es necesario almacenar el sitio web que se

detallara en el “Capítulo 7 Pruebas e Implementación” y el almacenamiento de la base de datos

que de detallar en el “Capítulo 5 Diseño”


50

4.1.3 Requisitos Funcionales

4.1.3.1 Administración de Usuarios. El sistema permite administrar la penalización de

los usuarios, asignando o retirando la penalización al usuario en caso de ser necesario, de modo

que se restringa la opción de préstamo de documentos.

4.1.3.2 Almacenamiento de Información. El sistema posibilita la adición de recursos de

información sobre las versiones, clasificaciones, documentos y penalizaciones.

4.1.3.3 Visualización de información. El sistema permite visualizar mediante listas, los

recursos de información disponibles en el sistema, además, dispone de una herramienta de

búsqueda de documentos, el cual permite realizar búsquedas en función al título, resumen

(descripción), autor y palabras clave. Es posible la visualización de la información del

documento para todos los usuarios internos y externos, los usuarios registrados tienen la

posibilidad de ver el contenido del documento.

El sistema permite visualizar los cambios realizados en los recursos de información.

4.1.3.4 Administración de Información. El sistema posibilita la edición de la

información de la biblioteca, edición o eliminación de versiones, clasificaciones, documentos y

penalizaciones. Se incluye una opción que permite restringir el acceso a los documentos según el

tipo de usuario.

El sistema permite realizar solicitudes de préstamo, solicitudes de retorno y solicitudes de copia

digital de los documentos disponibles en la biblioteca, además de proporcionar herramientas para

el control de estas solicitudes.

El sistema incluye la opción de exportar mediante un PDF la información de los documentos

encontrados y los cambios realizados en los recursos de información.


51

4.1.4 Requisitos de Interacción

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

Diseño de la interfaz de usuario

Informacion de la biblioteca

Vista 1
Vista 2
Vista 3

Contenido de la vista seleccionada

Vista n

Nota. Elaboración propia

4.1.5 Requisitos no Funcionales

❖ La interfaz de usuario está orientado a tecnologías de páginas web y dispositivos móviles.

❖ Uso de software libre para el desarrollo del sistema.

❖ Las pruebas e implementación del sistema se realizarán mediante un servidor de pruebas.

4.1.6 Tabla de requerimientos

En función a los requisitos planteados, se define los requerimientos en la “Tabla 5”.


52

Tabla 5

Tabla de requerimientos del sistema de información

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.

Nota. Elaboración propia

4.2 Análisis

En esta parte se realizará un modelo conceptual del sistema en base a diagramas UML.

4.2.1 Identificación de Actores

El sistema contará con 5 actores como se muestra en la “Figura 28”.


53

Figura 28

Identificación de actores

Administrador

Bibliotecario

Externo

Docente Estudiante

Nota. Elaboración propia

Tabla 6

Descripción y funciones de los actores

Actor Descripción Funciones principales


Administrador Usuario que tiene todos los ❖ Administrar las clasificaciones de los
privilegios del sistema, documentos (creación, edición,
encargado de administrar el visualización y eliminación)
sistema. ❖ Controlar el acceso a los documentos
según el tipo de usuario.
❖ Editar la información de la biblioteca.
❖ Visualizar y exportar los reportes
generados, sobre los cambios realizados
en los recursos de información
54

Actor Descripción Funciones principales


Bibliotecario Usuario con privilegios más ❖ Administrar las versiones de los
limitados, se encarga de documentos (creación, edición,
administrar los documentos visualización y eliminación).
de la biblioteca. ❖ Administrar todos los documentos
disponibles de la biblioteca (creación,
edición, visualización y eliminación)
❖ Administrar las penalizaciones de la
biblioteca (creación, edición,
visualización y eliminación)
❖ Controlar la asignación o retiro de
penalizaciones sobre los usuarios.
❖ Controlar los préstamos y devolución
respecto a la documentación física.
❖ Revisar las solicitudes de copia digital de
los documentos, para su posterior envió en
caso de ser aceptado.
Docente Usuario que solo tiene Administrar solamente sus documentos que
privilegios para añadir adiciono a la biblioteca.
documentos, visualizar la
información documental de
la biblioteca, realizar
búsquedas de documentos,
visualizar el contenido de
los documentos y solicitar
préstamos de manera física.
Estudiante Usuario que solo tiene No tiene privilegios para realizar cambios en
privilegios para visualizar los recursos de información.
la información documental
de la biblioteca, realizar
búsquedas de documentos,
55

Actor Descripción Funciones principales


visualizar el contenido de
los documentos y solicitar
préstamos de manera física.
Externo Usuario que solo tiene No tiene ningún privilegio sobre el sistema.
privilegios para visualizar
la información documental
de la biblioteca, realizar
búsquedas de documentos y
solicitar una copia digital
de los documentos.

Nota. Elaboración propia

4.2.2 Diagrama de Casos de Uso

Representa la interacción de los actores con el sistema. La explicación de cada caso de

uso se la realiza en el punto 4.2.4.

4.2.2.1 Administración de Usuarios

Figura 29

Diagrama de casos de uso: Administración de usuarios

Ver usuarios penalizados

Asignar penalización

Bibliotecario Modificar penalización

Nota. Elaboración propia


56

4.2.2.2 Almacenamiento de Información

Figura 30

Diagrama de casos de uso: Almacenamiento de información

Añadir o eliminar documento

Añadir o eliminar versión

Bibliotecario Añadir o eliminar penalización Docente

Añadir o eliminar clasificación

Administrador

Nota. Elaboración propia

4.2.2.3 Visualización de Información

Figura 31

Diagrama de casos de uso: Visualización de información

Ver información de documento

Externo

Ver información de la pagina Web

Buscar documento

Ver contenido del documento

Ver información de los préstamos


Bibliotecario
Estudiante/docente
Ver información de las penalizaciones

Ver información de las versiones

Ver información de las solicitudes


de copia digital de documento

Ver información de las clasificaciones

Ver cambios en los recursos de información


Administrador

Nota. Elaboración propia


57

4.2.2.4 Administración de Información

Figura 32

Diagrama de casos de uso: Administración de información

Exportar los reportes del sistema

Controlar el acceso a los documentos

<<incluir>>

Editar información de las clasificaciones

Administrador

Editar información de la biblioteca

Editar información de las penalizaciones

Editar información de las versiones

Bibliotecario
Editar información de los documentos

Solicitar préstamo de documento Docente


<<incluir>>

Controlar préstamo de documento

Soliciatar retorno
<<incluir>>
de documento
Controlar retorno
de documentos
Exportar información de Estudiante
documentos encontrados

Controlar solicitudes de copia digital


del documento
<<incluir>>

Solicitar copia digital del documento


Externo

Nota. Elaboración propia


58

4.2.3 Diagrama de Clases

Figura 33

Diagrama de clases general

<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

Nota. Elaboración propia


59

4.2.4 Documentación de los Casos de Uso

Se representará mediante la relación entre los diagramas de clases y los diagramas de secuencia.

4.2.4.1 Casos de uso: Ver usuarios penalizados y Modificar penalización

Figura 34

Diagrama de clases para la administración de usuarios

Penalización UsuariosInternos
Bibliotecario Administra> -email:string
-nombrePenalizacion:string
-contraseña:string
-descripcion:text
-penalizacion:int
-tiempo:float
+usuariosPenalizados()
+actualizarUsuarioPenalizado()

Nota. Elaboración propia

Tabla 7

Diagrama de secuencias para los casos de uso: Ver usuarios penalizados y Modificar

penalización

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión y Se actualiza la El usuario bibliotecario obtiene la lista
tener usuarios penalización del de usuarios penalizados, en la cual puede
penalizados. usuario. elegir una penalización para actualizar la
información del usuario.
60

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()

12: Lista de usuarios


13: Actualizar vista
14: Mostrar lista de
usuarios penalizados

Nota. Elaboración propia

4.2.4.2 Caso de Uso: Añadir o Eliminar Versión. El diagrama de clases de la “Figura

35” se relaciona a la “Tabla 8” y “Tabla 9”.

Figura 35

Diagrama de clases para administrar la información de las versiones

Versión
Bibliotecario -nomVersion:string
Administra>
-descripcion:sting
+listarVersiones()
+guardarVersion()
+eliminarVersion()

Nota. Elaboración propia


61

Tabla 8

Diagrama de secuencia para añadir una versión

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión. Se crea una El usuario bibliotecario accede a la vista
nueva versión. para crear una nueva versión, en la cual
llena los datos necesarios y los envía
para ser guardados, el sistema valida los
datos, en caso de no tener error, se
guarda la nueva versión y se actualiza la
vista con todas las versiones, en caso de
tener error, se pide al usuario que revise
los datos introducidos.

Bibliotecario Interfaz: Bibliotecario Sistema: Versión BaseDatos:Versión

1: Añadir versión

2: Enviar solicitud

3: Actualizar vista

loop validarDatos:NO
4: Solicitar datos

5: Ingresar datos y guardar


6: Enviar datos

7: validarDatos()

8: guardarVersion()

9: Guardado

10: listarVersiones()

11: Lista de versiones


12: Actualizar vista
13: Mostrar lista
de versiones

Nota. Elaboración propia


62

Tabla 9

Diagrama de secuencia para eliminar una versión

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión. Se elimina una El usuario bibliotecario obtiene la lista
versión. versiones, en la cual selecciona la
versión que se quiere eliminar, se acepta
el mensaje de confirmación para
eliminar, el sistema elimina la versión y
actualiza la vista con todas las versiones.

Bibliotecario Interfaz: Bibliotecario Sistema: Versión BaseDatos:Versión

1: Añadir versión

2: Enviar solicitud

3: Actualizar vista

loop validarDatos:NO
4: Solicitar datos

5: Ingresar datos y guardar


6: Enviar datos

7: validarDatos()

8: guardarVersion()

9: Guardado

10: listarVersiones()

11: Lista de versiones


12: Actualizar vista
13: Mostrar lista
de versiones

Nota. Elaboración propia


63

4.2.4.3 Caso de Uso: Añadir o Eliminar Penalización. El diagrama de clases de la

“Figura 36” se relaciona a la “Tabla 10” y “Tabla 11”.

Figura 36

Diagrama de clases para administrar la información de las penalizaciones

Penalización

Bibliotecario -nombrePenalizacion:string
Administra> -descripcion:text
-tiempo:float
+listarPenalizaciones()
+guardarPenalizacion
+eliminarPenalizacion()

Nota. Elaboración propia

Tabla 10

Diagrama de secuencia para añadir una penalización

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión. Se crea una El usuario bibliotecario accede a la vista
nueva para crear una nueva penalización, en la
penalización. cual llena los datos necesarios y los
envía para ser guardados, el sistema
valida los datos, en caso de no tener
error, se guarda la nueva penalización y
se actualiza la vista con todas las
penalizaciones, en caso de tener error, se
pide al usuario que revise los datos
introducidos .
64

Bibliotecario Interfaz: Bibliotecario Sistema: Versión BaseDatos:Versión

1: Añadir versión

2: Enviar solicitud

3: Actualizar vista

loop validarDatos:NO
4: Solicitar datos

5: Ingresar datos y guardar


6: Enviar datos

7: validarDatos()

8: guardarVersion()

9: Guardado

10: listarVersiones()

11: Lista de versiones


12: Actualizar vista
13: Mostrar lista
de versiones

Nota. Elaboración propia

Tabla 11

Diagrama de secuencia para eliminar una penalización

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión. Se elimina una El usuario bibliotecario obtiene la lista
penalización. penalizaciones, en la cual selecciona la
penalización que se quiere eliminar, se
acepta el mensaje de confirmación para
eliminar, el sistema elimina la
penalización y actualiza la vista con
todas las penalizaciones.
65

Bibliotecario Interfaz: Bibliotecario Sistema: Penalización BaseDatos:Penalización


1: Ver lista de
penalizaciones
2: Enviar solicitud

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()

14: Lista de penalizaciones

16: Mostrar lista 15: Actualizar vista


de penalizaciones

Nota. Elaboración propia

4.2.4.4 Caso de Uso: Añadir o Eliminar Documento. El diagrama de clases de la

“Figura 37” se relaciona a la “Tabla 12” y “Tabla 13”.

Figura 37

Diagrama de clases para administrar la información de los documentos

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()

Nota. Elaboración propia


66

Tabla 12

Diagrama de secuencia para añadir un documento

Actor Pre-condición Post-condición Descripción


Bibliotecario o Iniciar sesión. Se crea un El usuario bibliotecario o docente
docente. nuevo accede a la vista para crear un nuevo
documento. documento, en la cual llena los datos
necesarios y los envía para ser
guardados, el sistema valida los datos,
en caso de no tener error, se guarda el
nuevo documento y se actualiza la vista
con todos los documentos, en caso de
tener error, se pide al usuario que revise
los datos introducidos.

Bibliotecario/ Interfaz: Bibliotecario/


Sistema: Documento BaseDatos: Documento
docente docente
1: Añadir documento

2: Enviar solicitud

3: datosPrevios()
4: Lista de versiones
y clasificaciones
5: Actualizar vista

loop validarDatos:NO
6: Solicitar datos

7: Ingresar datos y guardar


8: Enviar datos

9: validarDatos()

10: guardarDocumento()

11 Guardado

12: listarDocumentos()

13: Lista de documentos


14: Actualizar vista
15: Mostrar lista
de documentos

Nota. Elaboración propia


67

Tabla 13

Diagrama de secuencia para eliminar un documento

Actor Pre-condición Post-condición Descripción


Bibliotecario o Iniciar sesión. Se elimina un El usuario bibliotecario o docente
docente. documento. obtiene la lista de documentos, en la
cual selecciona el documento que se
quiere eliminar, se acepta el mensaje de
confirmación para eliminar, el sistema
elimina el documento y actualiza la
vista con todos los documentos.

Bibliotecario/ Interfaz: Bibliotecario/


Sistema: Documento BaseDatos: Documento
docente docente
1: Ver lista de documentos

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()

14: Lista de documentos

16: Mostrar lista 15: Actualizar vista


de documentos

Nota. Elaboración propia


68

4.2.4.5 Caso de Uso: Añadir o Eliminar Clasificación. El diagrama de clases de la

“Figura 38” se relaciona a la “Tabla 14” y “Tabla 15”.

Figura 38

Diagrama de clases para administrar la información de las clasificaciones

Clasificación
Administrador
Administra> -nombre:string
-seguridad:string
+listarClasificacion()
+guardarClasificacion()
+eliminarClasificacion()

Nota. Elaboración propia

Tabla 14

Diagrama de secuencia para añadir una clasificación

Actor Pre-condición Post-condición Descripción


Administrador. Iniciar sesión. Se crea una El usuario administrador accede a la
nueva vista para crear una nueva clasificación,
clasificación. en la cual llena los datos necesarios y
los envía para ser guardados, el sistema
valida los datos, en caso de no tener
error, se guarda la nueva clasificación y
se actualiza la vista con todas las
clasificaciones, en caso de tener error,
se pide al usuario que revise los datos
introducidos.
69

Administrador Interfaz: Administrador Sistema: Clasificación BaseDatos: Clasificación

1: Añadir clasificación

2: Enviar solicitud

3: datosPrevios()

4: Lista de roles

5: Actualizar vista

loop validarDatos:NO
6: Solicitar datos

7: Ingresar datos y guardar


8: Enviar datos

9: validarDatos()

10: guardarClasificacion()

11 Guardado

12: listarClasificaciones()

13: Lista de clasificaciones


14: Actualizar vista
15: Mostrar lista
de clasificaciones

Nota. Elaboración propia

Tabla 15

Diagrama de secuencia para eliminar una clasificación

Actor Pre-condición Post-condición Descripción


Administrador. Iniciar sesión. Se elimina una El usuario bibliotecario o docente
clasificación. obtiene la lista de clasificaciones, en la
cual selecciona la clasificación que se
quiere eliminar, se acepta el mensaje de
confirmación para eliminar, el sistema
elimina la clasificación y actualiza la
vista con todas las clasificaciones.
70

Administrador Interfaz: Administrador Sistema: Clasificación BaseDatos: Clasificación

1: Añadir clasificación

2: Enviar solicitud

3: datosPrevios()

4: Lista de roles

5: Actualizar vista

loop validarDatos:NO
6: Solicitar datos

7: Ingresar datos y guardar


8: Enviar datos

9: validarDatos()

10: guardarClasificacion()

11 Guardado

12: listarClasificaciones()

13: Lista de clasificaciones


14: Actualizar vista
15: Mostrar lista
de clasificaciones

Nota. Elaboración propia


71

4.2.4.6 Caso de Uso: Ver Información de Documento.

Figura 39

Diagrama de clases para visualizar la información de los documentos y el contenido de la

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()

Nota. Elaboración propia

Tabla 16

Diagrama de secuencia para el caso de uso: Ver información de documento

Actor Pre-condición Post-condición Descripción


Todos los Tener Se visualiza la El usuario obtiene la lista de
usuarios. documentos información de documentos a los que tiene acceso, en la
registrados. los documentos. cual al seleccionar un documento, se
muestra la información completa del
mismo.
72

Usuario Interfaz: General Sistema: Documento BaseDatos: Documento

1: Ver lista de documentos

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()

10: Información de documento

11: Actualizar vista


12: Mostrar información de
documento

Nota. Elaboración propia

4.2.4.7 Caso de Uso: Buscar Documento. El diagrama de clases de la “Figura 39” se

relaciona a la “Tabla 17”.

Tabla 17

Diagrama de secuencia para el caso de uso: Buscar documento

Actor Pre-condición Post-condición Descripción


Todos los Tener Se visualiza los El usuario obtiene la lista de los
usuarios. documentos documentos documentos encontrados, en función a
registrados. encontrados. los parámetros de búsqueda
introducidos.
73

Usuario Interfaz: General Sistema: Documento BaseDatos: Documento


1: Ingresar parametros de
busqueda y buscar
2: Enviar solicitud

3: buscarDocumentos()

4: Lista de documento encontrados

5: Actualizar vista
6: Mostrar lista de documentos
encontrados

Nota. Elaboración propia

4.2.4.8 Caso de Uso: Ver Contenido del Documento. El diagrama de clases de la

“Figura 39” se relaciona a la “Tabla 18”.

Tabla 18

Diagrama de secuencia para el caso de uso: Ver contenido del documento

Actor Pre-condición Post-condición Descripción


Docente o Inicio de Se visualiza el En función de la clasificación del
estudiante. sesión y estar contenido del documento, el contenido puede ser
en la vista de documento. solamente de lectura y no se puede
información copiar ni modificar, o puede ser
del documento. descargado si la seguridad de lectura de
la clasificación esta desactivada.
74

Docente/ Interfaz: Docente/


Sistema: Documento BaseDatos: Documento
Estudiante Estudiante
1: Ver contenido

2: Enviar solicitud

3: verDocumento()

4: Direccion del documento


5: Actualizar vista

6:convertirDocumento()

7: Mostrar contenido del


documento

Nota. Elaboración propia

4.2.4.9 Caso de Uso: Ver Información de la Página Web. El diagrama de clases de la

“Figura 39” y “Figura 40” se relacionan a la “Tabla 19”.

Figura 40

Diagrama de clases para visualizar la información de la biblioteca

Biblioteca
Administrador Administra>
-universidad:string
-carrera:string
-descripcion:text
+listarBiblioteca()

Nota. Elaboración propia


75

Tabla 19

Diagrama de secuencia para el caso de uso: Ver información de la página Web

Actor Pre-condición Post-condición Descripción


Todos los Tener recursos Se visualiza la El usuario obtiene la información
usuarios. de información información de general de la biblioteca y su contenido
registrados. la biblioteca. como la cantidad de documentos
registrados, clasificaciones creadas y
versiones disponibles.

Usuario Interfaz: General Sistema: Documento BaseDatos: Documento


1: Ver información del
contenido de la biblioteca
2: Enviar solicitud
3: informacionDocumentos()
4: Información del contenido
de la biblioteca
5: Actualizar vista
6: Mostrar información del
contenido de la biblioteca

Administrador Interfaz: Administrador Sistema: Biblioteca BaseDatos: Biblioteca


1: Ver información
de la biblioteca
2: Enviar solicitud
3: listarBiblioteca()
4: Información de la
biblioteca
5: Actualizar vista
6: Mostrar información
de la biblioteca

Nota. Elaboración propia


76

4.2.4.10 Caso de Uso: Ver Información de los Prestamos.

Figura 41

Diagrama de clases para visualizar la información de los prestamos

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()

Nota. Elaboración propia

Tabla 20

Diagrama de secuencia para el caso de uso: Ver información de los prestamos

Actor Pre-condición Post-condición Descripción


Docente, Inicio de Se visualiza la El usuario docente y estudiante
estudiante o sesión y tener información de solamente pueden ver las solicitudes de
bibliotecario. solicitudes de las solicitudes préstamo que ellos realizaron, el usuario
préstamo de préstamo. bibliotecario puede ver la información
registradas. de todas las solicitudes de préstamo y
de retorno realizadas por los usuarios.
77

Docente/ Interfaz: Docente/ Sistema:


BaseDatos: Prestamos
Estudiante Estudiante PrestamoDeDocumento
1: Ver solicitudes de
préstamo realizadas
2: Enviar solicitud

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

Nota. Elaboración propia

4.2.4.11 Caso de Uso: Ver Información de las Penalizaciones.

Figura 42

Diagrama de clases para visualizar la información de las penalizaciones

Penalización
Bibliotecario
Administra> -nombrePenalizacion:string
-descripcion:text
-tiempo:float
+listarPenalizaciones()

Nota. Elaboración propia


78

Tabla 21

Diagrama de secuencia para el caso de uso: Ver información de las penalizaciones

Actor Pre-condición Post-condición Descripción


Bibliotecario. Inicio de Se visualiza la El usuario obtiene la lista con la
sesión y tener información de información de todas las penalizaciones
penalizaciones las registradas.
registradas. penalizaciones.

Bibliotecario Interfaz: Bibliotecario Sistema: Penalización BaseDatos: Penalización


1: Ver lista de
penalizaciones
2: Enviar solicitud

3: listarPenalizaciones()

4: Lista de penalizaciones
5: Actualizar vista
6: Mostrar lista de
penalizaciones

Nota. Elaboración propia

4.2.4.12 Caso de Uso: Ver Información de las Versiones.

Figura 43

Diagrama de clases para visualizar la información de las versiones

Versión
Bibliotecario Administra>
-nomVersion:string
-descripcion:sting
+listarVersiones()

Nota. Elaboración propia


79

Tabla 22

Diagrama de secuencia par el caso de uso: Ver información de las versiones

Actor Pre-condición Post-condición Descripción


Bibliotecario. Inicio de Se visualiza la El usuario obtiene la lista con la
sesión y tener información de información de todas las versiones
versiones las versiones. registradas.
registradas.

Bibliotecario Interfaz: Bibliotecario Sistema: Versión BaseDatos: Versión


1: Ver lista de
versiones
2: Enviar solicitud

3: listarVersiones()

4: Lista de versiones
5: Actualizar vista
6: Mostrar lista de
versiones

Nota. Elaboración propia

4.2.4.13 Caso de Uso: Ver Información de las Solicitudes de Copia Digital de

Documento.

Figura 44

Diagrama de clases para visualizar la información de las solicitudes de copia digital de

documento

CopiaDigitalDocumento
-estado:bool
Bibliotecario Controla> -nombre:string
-email:string
-fechaSolicitud:date
-fechaFinalizacion:date
-comprobante:string
+listarSolicitudesCopiaDigital()

Nota. Elaboración propia


80

Tabla 23

Diagrama de secuencia para el caso de uso: Ver información de las solicitudes de copia digital

de documento

Actor Pre-condición Post-condición Descripción


Bibliotecario. Inicio de Se visualiza la El usuario obtiene la lista con la
sesión y tener información de información de todas las solicitudes de
solicitudes de las solicitudes copia digital de documento registradas.
copia digital de copia digital
registradas 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

Nota. Elaboración propia

4.2.4.14 Caso de Uso: Ver Información de las Clasificaciones.

Figura 45

Diagrama de clases para visualizar la información de las clasificaciones

Bibliotecario
Visualiza>

Administrador Clasificacion
Administra>
-nombre:string
-seguridad:string
+listarClasificacion()

Nota. Elaboración propia


81

Tabla 24

Diagrama de secuencia para el caso de uso: Ver información de las clasificaciones

Actor Pre-condición Post-condición Descripción


Administrador Inicio de sesión Se visualiza la El usuario obtiene la lista con la
o Bibliotecario. y tener información de información de todas las clasificaciones
clasificaciones las registradas.
registradas. clasificaciones.

Administrador/ Interfaz:Administrador/
Sistema: Clasificación BaseDatos: Clasificación
Bibliotecario Bibliotecario

1: Ver lista de clasificaciones

2: Enviar solicitud

3: listarClasificaciones()

4: Lista de clasificaciones
5: Actualizar vista
6: Mostrar lista de
clasificaciones

Nota. Elaboración propia

4.2.4.15 Caso de Uso: Ver Cambios en los Recursos de Información.

Figura 46

Diagrama de clases para visualizar la información de los reportes

Reporte

Administrador Administra> -tabla:string


-antiguo:longtext
-nuevo:longtext
-accion:longtext
-usuario:string
+listarReportes()

Nota. Elaboración propia


82

Tabla 25

Diagrama de secuencia para el caso de uso: Ver cambios en los recursos de información

Actor Pre-condición Post-condición Descripción


Administrador. Inicio de Se visualiza la El usuario obtiene la lista con la
sesión y tener información de información de todos los cambios
cambios los cambios registrados sobre los recursos de
registrados. registrados. información.

Administrador Interfaz: Administrador Sistema: Reporte BaseDatos: Reporte

1: Ver lista de reportes

2: Enviar solicitud

3: Actualizar vista

4: Solicitar rango de fechas


y tabla

5: Definir rango de
fechas y tabla
6: Enviar solicitud

7: listaReportes()
8: Lista de reportes

9: Actualizar vista
10: Mostrar lista
de reportes

Nota. Elaboración propia

4.2.4.16 Caso de Uso: Exportar los Reportes del Sistema.

Figura 47

Diagrama de clases para exportar la información de los reportes

Reporte
-tabla:string
Administrador Administra> -antiguo:longtext
-nuevo:longtext
-accion:longtext
-usuario:string
+listarReportes()
+generarPdf()

Nota. Elaboración propia


83

Tabla 26

Diagrama de secuencia para el caso de uso: Exportar los reportes del sistema

Actor Pre-condición Post-condición Descripción


Administrador. Inicio de sesión Se genera un El usuario administrador puede
y tener la lista PDF con la lista exportar los reportes generados
de reportes de reportes. mediante un PDF, sobre los cambios
cargada. realizados en los recursos de
información.

Administrador Interfaz: Administrador Sistema: Reporte BaseDatos: Reporte

1: Exportar
2: Enviar solicitud
3 listaReportes()
4 Lista de reportes

5: generarPdf()

6: Actualizar vista
7: Exportar documento
en PDF

Nota. Elaboración propia

4.2.4.17 Casos de Uso: Controlar el Acceso a los Documentos y Editar Información

de las Clasificaciones.

Figura 48

Diagrama de clases para editar la información de las clasificaciones

Clasificación
Administrador Administra> -nombre:string
-seguridad:string
+listarClasificacion()
+editarClasificacion()
+actualizarClasificacion()

Nota. Elaboración propia


84

Tabla 27

Diagrama de secuencia para los casos de uso: Controlar el acceso a los documentos y editar

información de las clasificaciones

Actor Pre-condición Post-condición Descripción


Administrador. Inicio de sesión Se actualiza la El usuario administrador puede definir
y tener la lista información de qué tipo de usuario tiene acceso a un
de la clasificación. grupo de documentos, que se
clasificaciones encuentren en una clasificación, puede
cargada. realizar cambios respecto al nombre,
roles con acceso y protección de
lectura, de las clasificaciones
existentes.

Administrador Interfaz: Administrador Sistema: Clasificación BaseDatos: Clasificación


1: Editar informacion
de la clasificación
2: Enviar solicitud
3: editarClasificacion()
4: Información de la
clasificación

loop validarDatos:NO 5: Actualizar vista


6: Mostrar datos
para actualizar

7: Actualizar datos y guardar

8: Enviar solicitud

9: validarDatos()

10: actualizarClasificacion()

11: Actualizado

12: listarClasificaciones()

13: Lista de clasificaciones


14: Actualizar vista
15: Mostrar lista de
clasificaciones

Nota. Elaboración propia


85

4.2.4.18 Casos de Uso: Editar Información de la Biblioteca.

Figura 49

Diagrama de clases para editar la información de la biblioteca

Biblioteca
Administrador Administra> -universidad:string
-carrera:string
-descripcion:text
+listarBiblioteca()
+editarBiblioteca()
+actualizarBiblioteca

Nota. Elaboración propia

Tabla 28

Diagrama de secuencia para el caso de uso: Editar información de la biblioteca

Actor Pre-condición Post-condición Descripción


Administrador. Inicio de sesión Se actualiza la El usuario administrador puede realizar
y tener la información de cambios sobre el nombre de la
información de la biblioteca. universidad, carrera y descripción.
la biblioteca
cargada.
86

Administrador Interfaz: Administrador Sistema: Biblioteca BaseDatos: Biblioteca


1: Editar informacion
de la biblioteca
2: Enviar solicitud
3: editarBiblioteca()
4: Información de la
biblioteca

loop validarDatos:NO 5: Actualizar vista


6: Mostrar datos
para actualizar

7: Actualizar datos y guardar

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

Nota. Elaboración propia

4.2.4.19 Casos de Uso: Editar Información de las Penalizaciones.

Figura 50

Diagrama de clases para editar la información de las penalizaciones

Penalización

Bibliotecario -nombrePenalizacion:string
Administra> -descripcion:text
-tiempo:float
+listarPenalizaciones()
+editarPenalizacion()
+actualizarPenalizacion()

Nota. Elaboración propia


87

Tabla 29

Diagrama de secuencia para el caso de uso: Editar información de las penalizaciones

Actor Pre-condición Post-condición Descripción


Bibliotecario. Inicio de sesión Se actualiza la El usuario bibliotecario puede editar el
y tener la lista información de nombre, descripción y días de
de las la penalización. penalización, de las penalizaciones
penalizaciones existentes.
cargada.

Bibliotecario Interfaz: Bibliotecario Sistema: Penalización BaseDatos: Penalización


1: Editar informacion
de la penalización
2: Enviar solicitud
3: editarPenalizacion()
4: Información de la
penalización

loop validarDatos:NO 5: Actualizar vista


6: Mostrar datos
para actualizar

7: Actualizar datos y guardar

8: Enviar solicitud

9: validarDatos()

10: actualizarPenalización()

11: Actualizado

12: listarPenalizaciones()

13: Lista de penalizaciones


14: Actualizar vista
15: Mostrar lista de
penalizaciones

Nota. Elaboración propia


88

4.2.4.20 Casos de Uso: Editar Información de las Versiones.

Figura 51

Diagrama de clases para editar la información de las versiones

Versión
Bibliotecario Administra> -nomVersion:string
-descripcion:sting
+listarVersiones()
+editarVersion()
+actualizarVersion()

Nota. Elaboración propia

Tabla 30

Diagrama de secuencia para el caso de uso: Editar información de las versiones

Actor Pre-condición Post-condición Descripción


Bibliotecario. Inicio de sesión Se actualiza la El usuario bibliotecario puede editar el
y tener la lista información de nombre de las versiones existentes.
de las la versión.
versiones
cargada.

Bibliotecario Interfaz: Bibliotecario Sistema: Versión BaseDatos: Versión


1: Editar informacion
de la versión
2: Enviar solicitud
3: editarVersion()
4: Información de la
versión

loop validarDatos:NO 5: Actualizar vista


6: Mostrar datos
para actualizar

7: Actualizar datos y guardar

8: Enviar solicitud

9: validarDatos()

10: actualizarVersion()

11: Actualizado

12: listarVersiones()

13: Lista de versiones


14: Actualizar vista
15: Mostrar lista de
versiones

Nota. Elaboración propia


89

4.2.4.21 Casos de Uso: Editar Información de los Documentos.

Figura 52

Diagrama de clases para editar la información de las versiones

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()

Nota. Elaboración propia

Tabla 31

Diagrama de secuencia para el caso de uso: Editar información de los documentos

Actor Pre-condición Post-condición Descripción


Bibliotecario o Inicio de sesión Se actualiza la El usuario bibliotecario puede editar la
docente. y tener la lista información del información de todos los documentos
de documentos documento. disponibles en la biblioteca, el usuario
cargada. docente solamente puede cambiar la
información de los documentos que él
adiciono a la biblioteca.
90

Bibliotecario/ Interfaz: Bibliotecario/


Sistema: Documento BaseDatos: Documento
Docente Docente
1: Editar informacion
del documento
2: Enviar solicitud
3: editarDocumento()

4: Información del documento

loop validarDatos:NO 5: Actualizar vista


6: Mostrar datos
para actualizar

7: Actualizar datos y guardar

8: Enviar solicitud

9: validarDatos()

10: actualizarDocumento()

11: Actualizado

12: listarDocumentos()

13: Lista de documentos


14: Actualizar vista
15: Mostrar lista de
documentos

Nota. Elaboración propia

4.2.4.22 Casos de Uso: Solicitar Préstamo de Documento.

Figura 53

Diagrama de clases para administrar la información de los préstamos de documentos

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

Nota. Elaboración propia


91

Tabla 32

Diagrama de secuencia para el caso de uso: Solicitar préstamo de documento

Actor Pre-condición Post-condición Descripción


Docente o Iniciar sesión y Se crea un El usuario solicita el préstamo de un
Estudiante. tener la nuevo registro documento y espera a ser aceptado por
información en la tabla de el bibliotecario. El estado del préstamo
del documento préstamos. se muestra como “solicitado”.
cargada.

Docente/ Interfaz: Docente/ Sistema: BaseDatos:


Estudiante Estudiante PrestamoDeDocumento PrestamoDeDocumento
1: Seleccionar documento de
garantía y solicitar préstamo
2: Enviar solicitud

3: guardarPrestamo()
4: Guardado

5: Actualizar vista
6: Solicitud enviada

Nota. Elaboración propia

4.2.4.23 Casos de Uso: Controlar préstamo de documento. El diagrama de clases de la

“Figura 53” se relaciona a la “Tabla 33”.

Tabla 33

Diagrama de secuencia para el caso de uso: Controlar préstamo de documento

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión y Se acepta o El bibliotecario revisa la lista de
tener la lista de rechaza la solicitudes de préstamo y valida los
solicitudes de entrega del requisitos para prestar el documento.
documento al Una vez aceptada o rechazada la
92

Actor Pre-condición Post-condición Descripción


préstamo usuario solicitud, se retorna con la lista de
cargada. solicitante y se solicitudes de préstamo actualizada, el
actualiza su estado del préstamo se muestra como
disponibilidad “prestado” en caso de que se haya
en la aceptado la solicitud, o “finalizado” en
información del caso contrario.
documento.

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

Nota. Elaboración propia

4.2.4.24 Casos de Uso: Solicitar Retorno de Documento. El diagrama de clases de la

“Figura 53” se relaciona a la “Tabla 34”.

Tabla 34

Diagrama de secuencia para el caso de uso: Solicitar retorno de documento

Actor Pre-condición Post-condición Descripción


Docente, Iniciar sesión y Se actualiza el El usuario solicita devolver el
Estudiante. tener la lista de estado del documento y espera a ser aceptado por
solicitudes de préstamo. el bibliotecario. El estado del préstamo
préstamo se muestra como “pendiente”.
cargada.
93

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

Nota. Elaboración propia

4.2.4.25 Casos de Uso: Controlar Retorno de Documento. El diagrama de clases de la

“Figura 53” se relaciona a la “Tabla 35”.

Tabla 35

Diagrama de secuencia para el caso de uso: Controlar retorno de documento

Actor Pre-condición Post-condición Descripción


Bibliotecario. Iniciar sesión y Se actualiza el El bibliotecario revisa la lista de
tener la lista de préstamo, la solicitudes de retorno y valida los
solicitudes de penalización del requisitos para aceptar el retorno. En
préstamo usuario y la caso de aceptar la solicitud de retorno,
cargada. disponibilidad se actualiza el estado del préstamo a
del documento. “finalizado”, se actualiza la
información del documento con el
número de copias disponibles y se
asigna una penalización al usuario en
caso de ser necesario, si no se acepta la
solicitud de retorno se actualiza el
estado del préstamo a “prestado”.
94

Actor Pre-condición Post-condición Descripción


Se retorna con la lista de solicitudes de
retorno actualizada.

Actor Interfaz Sistema BaseDatos


7: Aprobar o rechazar
retorno y definir
penalizacion
8: Enviar solicitud

14: actualizarPrestamo()

15: Actualizado

16: listarPrestamos()

17: Lista de solicitudes de


retorno
19: Mostrar lista de solicitudes 18: Actualizar vista
de retorno

Nota. Elaboración propia

4.2.4.26 Casos de Uso: Exportar Información de los Documentos Encontrados.

Figura 54

Diagrama de clases para exportar los documentos encontrado

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()

Nota. Elaboración propia


95

Tabla 36

Diagrama de secuencia para el caso de uso: Exportar información de los documentos

encontrados

Actor Pre-condición Post-condición Descripción


Administrador, Tener la lista Se genera un Todos los usuarios pueden exportar
bibliotecario, de documento PDF con la lista mediante un PDF el título y resumen de
docente, encontrados de documentos. los documentos encontrados.
estudiante o cargada.
externo.

Usuario Interfaz: General Sistema: Documento BaseDatos: Documento

1: Exportar
2: Enviar solicitud
3 buscarDocumentos()
4: Lista de documento encontrados

5: pdfDocumentos()

6: Actualizar vista
7: Exportar documento
en PDF

Nota. Elaboración propia


96

4.2.4.27 Casos de Uso: Solicitar Copia Digital del Documento.

Figura 55

Diagrama de clases para solicitar una copia digital del documento

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

Nota. Elaboración propia

Tabla 37

Diagrama de secuencia para el caso de uso: Solicitar copia digital del documento

Actor Pre-condición Post-condición Descripción


Externo. Tener la Se crea un El usuario externo envía la solicitud
información nuevo registro para obtener una copia digital del
del documento en la tabla de documento y espera a ser aceptado por
cargada. copias digitales. el bibliotecario. El estado de la copia
digital se muestra como “solicitado”.
97

Sistema: BaseDatos:
Externo Interfaz: General
CopiaDigitalDocumento CopiaDigitalDocumento
1: Solicitar copia

2: Enviar solicitud

loop validarDatos:NO 3: Actualizar vista

4: Solicitar datos
5: Ingresar datos y confirmar
6: Enviar solicitud

7: validarDatos()

8: guardarSolicitudCopiaDIgital()
9: Guardado

10: Actualizar vista


11: Solicitud enviada

Nota. Elaboración propia

4.2.4.28 Casos de Uso: Solicitar Controlar Solicitudes de Copia Digital del

Documento. El diagrama de clases de la “Figura 55” se relaciona a la “Tabla 38”.

Tabla 38

Diagrama de secuencia para el caso de uso: Controlar solicitudes de copia digital del

documento

Actor Pre-condición Post-condición Descripción


Bibliotecario. Inicio de sesión Se actualiza el El bibliotecario controla las solicitudes
y tener la lista estado de la de copia digital mediante un listado,
de solicitudes solicitud de que le permite marcar la solicitud como
de copia digital copia digital de “revisada”.
de documento documento.
cargada.
98

Interfaz: Sistema: BaseDatos:


Bibliotecario
CopiaDigitalDocumento CopiaDigitalDocumento CopiaDigitalDocumento
1: Resivar solicitud de
copia digital de documento
2: Enviar solicitud

3: actualizarSolicitudCopiaDigital()

4: Actualizado

5: listarSolicitudesCopiaDigital()

6: Lista de solicitudes de
7: Actualizar vista copia digital
8: Mostrar lista de solicitudes
de copia digital

Nota. Elaboración propia

4.2.4.29 Generar reporte de “Acceso denegado”.

Figura 56

Diagrama de clases para guardar un reporte

Reporte
-tabla:string
-antiguo:longtext
-nuevo:longtext
-accion:longtext
-usuario:string
+guardarR eporte()

Nota. Elaboración propia


99

Tabla 39

Diagrama de secuencia para guardar un reporte

Actor Pre-condición Post-condición Descripción


Bibliotecario, Tratar de Se genera un Cuando el usuario trata de ingresar a
docente, ingresar a una reporte del una ruta que no tiene permitida, se
estudiante o ruta del sistema acceso muestra un mensaje en pantalla
externo. sin la denegado. indicando al usuario que no puede
autorización. ingresar.

Actor Interfaz Sistema: Reportes BaseDatos


1: Realizar cambios en los
recursos de información
2: Enviar solicitud

3: guardarReporte()

4: Guardado
5: Actualizar vista
6: Acceso denegado

Nota. Elaboración propia


100

4.2.4.30 Interacción con la base de datos.

Tabla 40

Diagrama de secuencia para realizar consultas y enviar información a la base de datos

Actor Pre-condición Post-condición Descripción


Administrador, Acceder a un Realizar En cada interacción con la base de
Bibliotecario, recurso de cambios o datos para poder realizar un cambio o
Docente, información. visualizar un ver alguna información, se notificara al
Estudiante, recurso de usuario si existió algún error, de modo
Externo. información. que el usuario realice nuevamente la
solicitud.

Actor Interfaz Sistema BaseDatos


1: Interactuar con la
base de datos
2: Enviar solicitud

3: Conectar con la base de datos


4a: Conexion fallida
alt ConexionBaseDatos:NO
5a: Actualizar vista
6a: Error de conexion

4b: Conexion exitosa


5b: Actualizar vista

6b: Conexion correcta

Nota. Elaboración propia


101

Capítulo 5 Diseño

5.1 Diseño de la Base de Datos

5.1.1 Modelo conceptual

5.1.1.1 Identificación de las Entidades. Según la descripción de los requerimientos, se

pueden identificar las siguientes entidades:

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

5.1.1.2 Identificación de las Relaciones. Las entidades del sistema se encuentran

relacionadas entre sí como se muestra en la tabla:

Tabla 42

Relación de las entidades

Entidad Relación Entidad Cardinalidad Descripción


Usuarios Tiene Roles n:n Los usuarios pueden tener
asociado uno o varios roles
y un rol puede ser
asignado a uno o varios
usuarios.
Usuarios Administra Copias 1:n El usuario bibliotecario
Digitales puede administrar varias
solicitudes de “copia
digital de un documento” y
una solicitud tiene como
responsable a un único
usuario bibliotecario que
haya realizado la
administración.
Usuarios Administra Prestamos 1:n El usuario bibliotecario
puede administrar varias
103

Entidad Relación Entidad Cardinalidad Descripción


solicitudes de “préstamo
de un documento” y una
solicitud tiene como
responsable a un único
usuario bibliotecario que
haya realizado la última
administración.
Usuarios Administra Documentos 1:n El usuario bibliotecario o
docente pueden
administrar varios
documentos y un
documento solo puede
estar registrado por un
usuario.
Usuarios Solicita Prestamos 1:n El usuario docente o
estudiante puede solicitar
varios “préstamo de un
documento” y una
solicitud está asociada a un
único usuario docente o
estudiante, que realizo la
solicitud.
Copias Registra Documentos n:1 Las solicitudes de “copia
Digitales digital de un documento”
registran un único
documento y un
documento puede ser
registrado en varias
solicitudes.
104

Entidad Relación Entidad Cardinalidad Descripción


Prestamos Tiene Estados de n:1 Las solicitudes de
préstamo “préstamo de un
documento” tienen un
único estado de préstamo y
un estado de préstamo
puede estar asignado en
varias solicitudes.
Prestamos Registra Documento n:1 Las solicitudes de
“préstamo de un
documento” registran un
único documento y un
documento puede ser
registrado en varias
solicitudes.
Documentos Tiene Versiones n:1 Los documentos tienen
asociado una única versión
y una versión puede ser
asignada a varios
documentos.
Documentos Tiene Clasificaciones n:1 Los documentos tienen
asociado una única
clasificación y una
clasificación puede ser
asignada a varios
documentos.
Documentos Tiene Palabras clave n:n Los documentos tienen
asociado una o varias
palabras clave y una
palabra clave puede ser
105

Entidad Relación Entidad Cardinalidad Descripción


asignada a uno o varios
documentos.
Roles Tiene Permisos n:n Los roles tienen asociado
uno o varios permisos y un
permiso puede ser
asignado a uno o más
roles.

Nota. Elaboración propia

5.1.1.3 Asociación de Atributos y Clave Primaria

Tabla 43

Atributos y clave primaria de las entidades

Entidad Entidad Atributos Clave


Simplificada primaria
Usuarios users ❖ id: Identificador de los atributos de id
la entidad.
❖ Nombres: Nombre completo del
usuario.
❖ Email: Correo electrónico del
usuario.
❖ Contraseña: Código de ingreso del
usuario.
❖ Penalización: Fecha en la que
finaliza la penalización del usuario.
Biblioteca bibliotecas ❖ Id: Identificador de los atributos de id
la entidad.
106

Entidad Entidad Atributos Clave


Simplificada primaria
❖ Universidad: Universidad a la que
pertenece la biblioteca.
❖ Carrera: Carrera a la que pertenece
la biblioteca.
❖ Descripción: Breve descripción
para identificar el sistema.
Roles roles ❖ id: Identificador de los atributos de id
la entidad.
❖ Nombre: Nombre del rol.
Permisos permissions ❖ Id: Identificador de los atributos de id
la entidad.
❖ Nombre: Nombre del permiso.
Penalizaciones penalizacions ❖ id: Identificador de los atributos de id
la entidad.
❖ Nombre: Nombre de la
penalización.
❖ Descripción: Breve descripción
sobre las características de la
penalización.
❖ Tiempo: Días de penalización que
se asigna al usuario.
Prestamos prestamos ❖ id: Identificador de los atributos de id
la entidad.
❖ Fecha de préstamo: Fecha en la
cual se realiza el préstamo del
documento.
❖ Documento personal: Documento
que el usuario utiliza como garantía
para prestarse el documento.
107

Entidad Entidad Atributos Clave


Simplificada primaria
❖ Fecha de devolución: Fecha en la
cual se realiza la devolución del
documento.
Estados de estado_prestamos ❖ id: Identificador de los atributos de id
préstamo la entidad.
❖ Nombre: Nombre del estado de
préstamo.
❖ Descripción: Breve descripción
sobre las características del estado
de préstamo.
Copias copia_digitals ❖ id: Identificador de los atributos de id
Digitales la entidad.
❖ Nombre: Nombre del usuario
externo que solicita la copia digital.
❖ Email: Correo electrónico del
usuario externo que solicita la copia
digital.
❖ Fecha de solicitud: Fecha en la
cual se realiza la solicitud.
❖ Fecha de finalización: Fecha en la
cual se revisó la solicitud.
❖ Estado: Estado de la solicitud.
❖ Comprobante: Nombre de la
imagen almacenada del
comprobante de pago.
Documentos documentos ❖ id: Identificador de los atributos de id
la entidad.
❖ Título: Titulo del documento.
108

Entidad Entidad Atributos Clave


Simplificada primaria
❖ Resumen: Breve resumen del
contenido del documento.
❖ Ubicación: Lugar donde se
encuentra el documento de manera
física o a la que pertenece el
documento.
❖ Copias: Cantidad de copias físicas
disponibles del documento.
❖ Gestión: Año en que se realizó el
documento.
❖ Código: Código del documento a
ser almacenado.
❖ Autores: Nombres de los autores
del documento.
❖ Editorial: Nombre de la editorial a
la que pertenece el documento.
❖ Numero de vistas: Cantidad de
visualizaciones del documento por
los usuarios.
❖ Imagen: Nombre de la imagen del
documento almacenado.
❖ Archivo: Nombre del archivo del
documento almacenado.
Versiones versions ❖ id: Identificador de los atributos de id
la entidad.
❖ Nombre: Nombre de la versión.
Clasificaciones clasificaciones ❖ id: Identificador de los atributos de id
la entidad.
109

Entidad Entidad Atributos Clave


Simplificada primaria
❖ Nombre: Nombre de la
clasificación.
❖ Seguridad: Representa la
protección que tiene la clasificación,
para que los documentos no puedan
ser descargados ni copiados.
Palabras clave tags ❖ id: Identificador de los atributos de id
la entidad.
❖ Nombre: Nombre de la palabra
clave.
Reporte reportes ❖ id: Identificador de los atributos de id
la entidad.
❖ Tabla: Nombre de la entidad de la
cual se cambió un atributo.
❖ Antiguo: Contenido antiguo antes
del cambio.
❖ Nuevo: Contenido nuevo después
del cambio.
❖ Acción: Tipo de cambio que se
efectuó en alguno de los recursos de
información.
❖ Usuario: Usuario que realizó el
cambio.
❖ Fecha y hora: Fecha y hora de
cuando se realizó el cambio.

Nota. Elaboración propia


110

Figura 57

Diseño de la base de datos: Modelo conceptual

id Nombre
n:n n:n Descripción Nombre Tiempo
id
Tiene Roles Tiene Permisos
id Penalizaciones
Nombre

Descripción Universidad Carrera Tabla Antiguo Nuevo


Fecha de Documento Fecha de
id
Nombre id devolución Personal préstamo id id
Biblioteca Reportes Acción
id Descripción Nombre
Contraseña
1:n n:1
Fecha y hora Usuario
Email Usuarios Solicita Préstamos Tiene Estados de préstamo

Penalización 1:n

Codigo Copias Imagen


Ubicación
Titulo Gestió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

Fecha de solicitud Email Nombre Comprobante n:n id


Palabras clave
Nombre

Nota. Elaboración propia


111

5.1.2 Modelo Lógico

Se definen las tablas que almacenarán los atributos de las entidades.

5.1.2.1 Definición de Tablas.

Tabla 44

Diseño de la tabla para la entidad “Usuarios”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
name varchar(255): Campo no nulo
email varchar(255) Campo único y no nulo
password varchar(255) Campo no nulo
penalización bigint(20)

Nota. Elaboración propia

Tabla 45

Diseño de la tabla para la entidad “Biblioteca”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
universidad varchar(40): Campo no nulo
carrera varchar(30) Campo no nulo
descripción varchar(100) Campo no nulo

Nota. Elaboración propia

Tabla 46

Diseño de la tabla para la entidad “Roles”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
name varchar(255): Campo no nulo

Nota. Elaboración propia


112

Tabla 47

Diseño de la tabla para la entidad “Permisos”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
name varchar(255) Campo no nulo

Nota. Elaboración propia

Tabla 48

Diseño de la tabla para la entidad “Penalizaciones”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
nombre varchar(50) Campo único y no nulo
descripción varchar(300) Campo no nulo
tiempo int(5) Campo no nulo

Nota. Elaboración propia

Tabla 49

Diseño de la tabla para la entidad “Prestamos”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
fechaPrestamo date Campo no nulo
documentoPersonal varchar(45) Campo no nulo
fechaDevolucion date

Nota. Elaboración propia


113

Tabla 50

Diseño de la tabla para la entidad “Prestamos”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
fechaPrestamo date Campo no nulo
documentoPersonal varchar(45) Campo no nulo
fechaDevolucion date

Nota. Elaboración propia

Tabla 51

Diseño de la tabla para la entidad “Estados de préstamo”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
nombre varchar(20) Campo no nulo
descripción varchar(200) Campo no nulo

Nota. Elaboración propia

Tabla 52

Diseño de la tabla para la entidad “Copias digitales”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
nombre varchar(45) Campo no nulo
email varchar(100) Campo no nulo
fechaSolicitud date Campo no nulo
fechaFinalizacion date
estado tinyint(1)

Nota. Elaboración propia


114

Tabla 53

Diseño de la tabla para la entidad “Documentos”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
título varchar(300) Campo único y no nulo
resumen varchar(10000) Campo no nulo
ubicación varchar(200) Campo no nulo
copias int(11)
código varchar (20)
gestión varchar(4) Campo no nulo
autores varchar(150) Campo no nulo
editorial varchar(50)
numero_vistas bigint(20)
imagen varchar(20)
archivo varchar(20)

Nota. Elaboración propia

Tabla 54

Diseño de la tabla para la entidad “Versiones”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
nombre varchar(20) Campo único y no nulo

Nota. Elaboración propia

Tabla 55

Diseño de la tabla para la entidad “Clasificaciones”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
nombre varchar(100) Campo único y no nulo
115

seguridad varchar(10)

Nota. Elaboración propia

Tabla 56

Diseño de la tabla para la entidad “Palabras clave”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
name longtext Campo no nulo

Nota. Elaboración propia

Tabla 57

Diseño de la tabla para la entidad “Reportes”

Atributo Tipo Características


id bigint(20) Campo único, no nulo y auto incrementable
tabla varchar(255) Campo no nulo
antiguo longtext
nuevo longtext
acción longtext Campo no nulo
usuario varchar(255) Campo no nulo
created_at timestamp Campo no nulo

Nota. Elaboración propia


116

Figura 58

Diseño de la base de datos: Modelo lógico

Nota. Elaboración propia


117

5.2 Diseño de la Interfaz de Usuario

Se tiene una interfaz de referencia para todas las vistas, con las siguientes

características:

Figura 59

Diseño interfaz de usuario

ENCABEZADO

MENU DE
NAVEGACION
CONTENIDO DE LA VISTA

Nota. Elaboración propia

❖ Encabezado: Contiene la información de la biblioteca, incluyendo los logos de

la universidad y del instituto de electrónica aplicada.

Figura 60

Encabezado de la biblioteca virtual

Nota. Elaboración propia

❖ Menú de navegación: Contiene la lista de rutas disponibles para la navegación

dentro del sistema de información, la cual, dependerá del rol que tenga asignado

el usuario autenticado, para permitir mayores opciones de navegación.

❖ Contenido de la vista: Muestra el contenido y las opciones disponibles dentro

de la ruta seleccionada.
118

5.2.1 Menú de navegación

5.2.1.1 Usuario Externo. Este menú de navegación será la que visualizaran

todos los usuarios que ingresen al sistema de la biblioteca virtual.

Figura 61

Menú de navegación para usuarios externos

Nota. Elaboración propia

5.2.1.2 Usuario Estudiante. Este menú de navegación será la que visualizaran

todos los usuarios que ingresen al sistema de la biblioteca virtual y se autentifiquen con

rol de estudiante.

Figura 62

Menú de navegación para usuarios estudiantes

Nota. Elaboración propia

5.2.1.3 Usuario Docente. Este menú de navegación será la que visualizaran

todos los usuarios que ingresen al sistema de la biblioteca virtual y se autentifiquen con

rol de docente.
119

Figura 63

Menú de navegación para usuarios docentes

Nota. Elaboración propia

5.2.1.4 Usuario Bibliotecario. Este menú de navegación será la que

visualizaran todos los usuarios que ingresen al sistema de la biblioteca virtual y se

autentifiquen con rol de bibliotecario.

Figura 64

Menú de navegación para usuarios bibliotecarios

Nota. Elaboración propia

5.2.1.5 Usuario Administrador. Este menú de navegación será la que

visualizaran todos los usuarios que ingresen al sistema de la biblioteca virtual y se

autentifiquen con rol de administrador.


120

Figura 65

Menú de navegación para usuario administrador

Nota. Elaboración propia

El siguiente diagrama describe la funcionalidad del menú de navegación.

Figura 66

Lógica de navegación – menú de navegación

Inicio

Informaciones Biblioteca Versiones Clasificaciones Documentos Penalizaciones

Buscar Solicitudes de Solicitudes de Solicitar Usuarios Reporte del


documento préstamo copia digital devolución penalizados sistema

Inicio

Nota. Elaboración propia


121

5.2.2 Contenido de la Vista

El contenido de la vista, muestra las funciones de la ruta a la que se accede,

mediante el menú de navegación.

5.2.2.1 Informaciones. En esta vista se mostrará:

❖ La cantidad de documentos registrados.

❖ La cantidad de clasificaciones creadas.

❖ La cantidad de versiones creadas.

❖ Los últimos 5 documentos añadidos.

❖ Los 5 documentos más vistos por los usuarios.

El siguiente diagrama describe la funcionalidad de esta vista.

Figura 67

Lógica de programación – vista: Informaciones

Inicio

Obtener información de uso de la


biblioteca

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de la
información biblioteca

fin

Nota. Elaboración propia

5.2.2.2 Biblioteca. En esta vista se mostrará:

❖ La información de la biblioteca que se mostrara en el encabezado.

❖ Elemento para editar la información de la biblioteca.

A partir de esta vista se podrá acceder:

❖ Vista para editar la información de la biblioteca.

El siguiente diagrama describe la funcionalidad de esta vista.


122

Figura 68

Lógica de programación – vista: Biblioteca

Inicio

Obtener información de
los datos de la biblioteca

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de la
información biblioteca

Editar biblioteca

Re direccionar a la ruta para


editar los datos

Actualizar no

si

Actualizar datos

no Datos guardados si

Notificación de
Notificación de
actualización
error al actualizar
correcta

fin

Nota. Elaboración propia

5.2.2.3 Versiones. En esta vista se mostrará:

❖ Un listado con la información de todas las versiones.

❖ Elementos para eliminar, crear y editar una versión.

A partir de esta vista se podrá acceder:

❖ Vista para editar la información de una versión.

❖ Vista para crear una versión.

El siguiente diagrama describe la funcionalidad de esta vista.


123

Figura 69

Lógica de programación – vista: Versiones


Inicio

Obtener información de
tod as las versiones

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la informaci ón de las
informaci ón versiones

Eliminar versión Editar versión Añadir versión

Notificación de Re direccionar a la ruta para editar Re direccionar a la ruta para crear


confirmación los datos de la versión una nueva v ersión

Actualizar no Guardar no
no Aceptar

si si si

Eliminar versión Actualizar datos Guardar datos

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

Nota. Elaboración propia


124

5.2.2.4 Clasificaciones. En esta vista se mostrará:

❖ Un listado con la información de todas las clasificaciones.

❖ Elementos para eliminar, crear y editar una clasificación.

A partir de esta vista se podrá acceder:

❖ Vista para editar la información de una clasificación.

❖ Vista para crear una clasificación.

Los siguientes diagramas describen la funcionalidad de esta vista.


125

Figura 70

Lógica de programación – vista: Clasificaciones


Inicio

Obtener información de
tod as las clasificaciones

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de las
información clasificaciones

Eliminar clasificación Editar clasificación Añadir clasificación

Notificación de Re direccionar a la ruta para editar Re direccionar a la ruta para crear


confirmación los datos de la clasificación una nueva clasificación

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

Nota. Elaboración propia


126

5.2.2.5 Documentos. En esta vista se mostrará:

❖ Un listado con la información de todos los documentos.

❖ Elementos para eliminar, crear, editar y buscar un documento.

A partir de esta vista se podrá acceder:

❖ Vista para editar la información de un documento.

❖ Vista para crear un documento.

El siguiente diagrama describe la funcionalidad de esta vista.


127

Figura 71

Lógica de programación – vista: Documentos

Inicio

Obtener información de
todos los documentos

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de los
información documentos

Eliminar documento Buscar documento Editar documento Añadir documento

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

fin Re direccionar a la ruta


de documentos

Nota. Elaboración propia


128

5.2.2.6 Solicitudes de préstamo. En esta vista se mostrará:

❖ Un listado con la información de todos los préstamos solicitados.

❖ Elementos para aceptar o rechazar una solicitud de préstamo o una solicitud de

devolución y un elemento para asignar una penalización.

Los siguientes diagramas describen la funcionalidad de esta vista.

Figura 72

Lógica de programación – vista: Solicitudes de préstamo

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

no Estado de préstamo = solicitado si

Aceptar préstamo Rechazar préstamo


no Estado de préstamo = pendiente si

Asignar penalización Rechazar retorno Actualizar préstamo

Aceptar retorno

Actualizar préstamo

fin

Nota. Elaboración propia


129

Figura 73

Lógica de programación – Subproceso: Actualizar préstamo

Inicio

Estado de préstamo = solicitado si

Retorno no Préstamo si
si
aceptado aceptado

Actualizar estado de Actualizar estado de Actualizar estado de Actualizar estado de


préstamo a Prestado préstamo a Finalizado préstamo a Finalizado préstamo a Prestado

Actualizar datos de Actualizar datos de


préstamo préstamo

Actualizar datos del


documento

Actualizar datos de
penalización del usuario

Generar reporte

Fin

Nota. Elaboración propia

5.2.2.7 Buscar Documento. En esta vista se mostrará:

❖ Un listado con la información de todos los documentos, según el filtro de

búsqueda establecido.

❖ Elementos que permitirán:

o Mostrar todos los documentos.

o Seleccionar una clasificación.

o Acceder a la información del documento.

o Visualizar el contenido del documento.

o Solicitar préstamo.
130

o Solicitar copia digital.

o Buscar un documento.

o Exportar en PDF la lista de documentos encontrados.

A partir de esta vista se podrá acceder:

❖ Vista para ver la información de un documento.

❖ Vista para solicitar una copia digital del documento.

El siguiente diagrama describe la funcionalidad de esta vista


131

Figura 74

Lógica de programación – vista: Buscar documento


Inicio

Obtener información de los


documentos según el filtro

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de los
información documentos

Mostrar todos los Seleccionar Información del


Buscar documento Exportar PDF
documentos clasificación documento

Búsqueda según las palabras


Re direccionar a la ruta para Generar PDF
introducidas
mostrar los datos del documento

Seleccionar palabra Solicitar copia


Visualizar contenido Solicitar préstamo Regresar
clave digital
Información
si no
obtenida

Re direccionar a la ruta para crear


Mostrar contenido Guardar préstamo
solicitud

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

Seleccionar Mostrar resultados


documento en pantalla
no Solicitud enviada si

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

Nota. Elaboración propia


132

5.2.2.8 Solicitudes de Copia Digital. En esta vista se mostrará:

❖ Un listado con la información de todas las solicitudes.

❖ Elementos para revisar la solicitud.

El siguiente diagrama describe la funcionalidad de esta vista.

Figura 75

Lógica de programación – vista: Solicitud de copia digital

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

Nota. Elaboración propia

5.2.2.9 Solicitar Devolución. En esta vista se mostrará:

❖ Un listado con la información de todas las solicitudes de préstamo realizadas por

el usuario.

❖ Elemento para solicitar la devolución del documento.

El siguiente diagrama describe la funcionalidad de esta vista.


133

Figura 76

Lógica de programación – vista: solicitar devolución

Inicio

Obtener información de todas


las solicitudes de préstamo
realizadas por el usuario

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

Nota. Elaboración propia

5.2.2.10 Usuarios Penalizados. En esta vista se mostrará:

❖ Un listado con la información de todos los usuarios penalizados.

❖ Elemento para cambiar la penalización de los usuarios.

El siguiente diagrama describe la funcionalidad de esta vista.


134

Figura 77

Lógica de programación – vista: Usuarios penalizados

Inicio

Obtener información de
todos los usuarios
penalizados

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de los
información usuarios penalizados

Cambiar penalización

Actualizar

Actualizar usuario

fin

Nota. Elaboración propia

5.2.2.11 Penalizaciones. En esta vista se mostrará:

❖ Un listado con la información de todas las penalizaciones.

❖ Elementos para eliminar, crear y editar una penalización.

A partir de esta vista se podrá acceder:

❖ Vista para editar la información de una penalización.

❖ Vista para crear una penalización.

El siguiente diagrama describe la funcionalidad de esta vista.


135

Figura 78

Lógica de programación – vista: Penalizaciones


Inicio

Obtener información de
tod as las penalizaciones

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de las
información penalizaciones

Eliminar penalización Editar penalización


Añadir versión

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

Nota. Elaboración propia


136

5.2.2.12 Reportes del Sistema. En esta vista se mostrará:

❖ Un listado con la información de todos los reportes generados.

❖ Elemento para exportar en PDF los reportes encontrados y elementos para filtrar

los reportes por fecha y tabla.

El siguiente diagrama describe la funcionalidad de esta vista.

Figura 79

Lógica de programación – vista: Reportes del sistema

Inicio

Obtener información de los reportes


del sistema

Información
no si
obtenida

Notificación de Mostrar en pantalla


error al obtener la información de los
información reportes del sistema

Exportar PDF Filtrar por fecha Filtrar por tabla

Generar PDF

fin

Nota. Elaboración propia

5.2.3 Lógica de programación de la comunicación con la base de datos

Las consultas y envíos de información a la base de datos se la realizan mediante

subprocesos, los cuales se describen a continuación.

5.2.3.1 Obtener la Información Solicitada. Se realiza la consulta a la base de

datos para obtener los datos de un recurso de información.


137

Figura 80

Lógica de programación – subproceso: Obtener información solicitada

Inicio

Obtener colección de la
información solicitada

Error

Retornar colección Retornar error

Nota. Elaboración propia

5.2.3.2 Guardar un Recurso de Información. Se envía los datos recibidos de

la interfaz a la base de datos para crear un nuevo registro.

Figura 81

Lógica de programación – subproceso: Guardar un recurso de información

Inicio

Recibir datos y validar

no Datos validos si

Guardar datos en un
Retornar error de nuevo registro
validación de datos

Generar reporte

Fin

Nota. Elaboración propia

5.2.3.3 Actualizar un Recurso de Información. Se envía los datos recibidos de

la interfaz a la base de datos para actualizar un registro seleccionado.


138

Figura 82

Lógica de programación – subproceso: Actualizar un recurso de información

Inicio

Recibir datos y validar

no Datos validos si

Obtener el registro
Retornar error de seleccionado
validación de datos
Actualizar
datos

Generar reporte

Fin

Nota. Elaboración propia

5.2.3.4 Eliminar un Recurso de Información. Se envía a la base de datos la

información del registro para que sea eliminado.

Figura 83

Lógica de programación – subproceso: Eliminar un recurso de información

Inicio

Obtener el registro
seleccionado

Eliminar datos

Generar reporte

Fin

Nota. Elaboración propia

5.2.3.5 Generar Reporte. Todos los cambios realizados en los recursos de

información se almacenan en forma de reportes.


139

Figura 84

Lógica de programación – subproceso: Generar reporte

Inicio

Guardar datos del reporte en


un nuevo registro

Error

Retornar colección Retornar error

Nota. Elaboración propia

5.2.4 Visualización de los Datos del Sistema

La visualización de los recursos de información, se realiza mediante listados que

tienen el siguiente formato:

Figura 85

Visualización de los recursos de información

ENCABEZADO

Nombre del recurso


de información
Añadir
MENU DE
NAVEGACION Información Acciones
editar - eliminar

Nota. Elaboración propia

5.2.5 Formularios para la creación de nuevos registros

Los formularios para la adquisición de datos tienen el siguiente formato:


140

Figura 86

Formulario de creación de nuevos recursos de información

ENCABEZADO

Añadir recurso de
información
Regresar
MENU DE
NAVEGACION
Información para crear el nuevo registro

...

Guardar

Nota. Elaboración propia

5.2.6 Formularios para la edición de registros

Los formularios para la edición de datos tienen el siguiente formato:

Figura 87

Formulario de edición de los recursos de información

ENCABEZADO

Editar recurso de
información
Cancelar
MENU DE
NAVEGACION Información para editar del registro
seleccionado

...

Actualizar

Nota. Elaboración propia

5.2.7 Validación de datos

Los formularios de creación y edición de los recursos de información, tiene las

siguientes validaciones:
141

5.2.7.1 Biblioteca.

Tabla 58

Validación de datos para el formulario de “Biblioteca”

Campo Tipo de entrada Requerido Validación


carrera input Si Máximo 30 caracteres.
universidad input Si Máximo 40 caracteres.
descripción input Si Máximo 100 caracteres.

Nota. Elaboración propia

5.2.7.2 Solicitud de Copia Digital.

Tabla 59

Validación de datos para el formulario de “Solicitud de copia digital”

Campo Tipo de entrada Requerido Validación


nombre input Si Máximo 45 caracteres.
email input Si Correo, máximo 40 caracteres.
comprobante file Si Archivo imagen, máximo 1 MB.

Nota. Elaboración propia

5.2.7.3 Documento.

Tabla 60

Validación de datos para el formulario de “Documentos”

Campo Tipo de Requerido Validación


entrada
titulo input Si Campo único, máximo 300
caracteres.
resumen input Si Máximo 10000 caracteres.
archivo file No Archivo pdf, máximo 30 MB.
autores input Si Máximo 100 caracteres.
142

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

Nota. Elaboración propia

5.2.7.4 Versión.

Tabla 61

Validación de datos para el formulario de “Versión”

Campo Tipo de entrada Requerido Validación


nombre input Si Campo único, máximo 20 caracteres.

Nota. Elaboración propia

5.2.7.5 Clasificación.

Tabla 62

Validación de datos para el formulario de “Clasificación”

Campo Tipo de entrada Requerido Validación


nombre input Si Campo único, máximo 40 caracteres.
seguridad checkbox No

Nota. Elaboración propia


143

5.2.7.6 Penalización.

Tabla 63

Validación de datos para el formulario de “Penalización”

Campo Tipo de entrada Requerido Validación


nombre input Si Campo único, máximo 40 caracteres.
descripción input Si Máximo 300 caracteres.
tiempo input Si Número, máximo 1000.

Nota. Elaboración propia

5.3 Diseño de la Configuración de Acceso a los Recursos del Sistema

Se especifica los métodos que se utilizan para la interacción, entre la interfaz y

las funciones del sistema.

5.3.1 Clasificaciones

Tabla 64

Configuración de acceso: Clasificaciones

Método URI Parámetro Descripción


GET listar_clasificaciones Obtiene la información de
todas las clasificaciones.
POST guardar_clasificación Crea un nuevo registro.
GET editar_clasificacación/{id} id Obtiene la información de un
registro específico.
POST actualizar_clasificación/{id} id Actualiza un registro
específico.
POST borrar_clasificación/{id} id Elimina un registro específico.

Nota. Elaboración propia


144

5.3.2 Penalizaciones

Tabla 65

Configuración de acceso: Penalizaciones

Método URI Parámetro Descripción


GET listar_penalizaciones Obtiene la información
de todas las
penalizaciones.
POST guardar_penalización Crea un nuevo registro
GET editar_penalización/{id} id Obtiene la información
de un registro
específico.
POST actualizar_penalización/{id} id Actualiza un registro
específico.
POST borrar_penalización/{id} id Elimina un registro
específico.
GET usuarios_penalizados Obtiene la información
de todos los usuarios
penalizados.
POST actualizar_usuario_penalizado/{id} id Actualiza la
penalización de un
usuario específico.

Nota. Elaboración propia

5.3.3 Versiones

Tabla 66

Configuración de acceso: Versiones

Método URI Parámetro Descripción


GET listar_versiones Obtiene la información de todas las
versiones.
POST guardar_versión Crea un nuevo registro.
145

GET editar_versión/{id} id Obtiene la información de un


registro específico.
POST actualizar_versión/{id} id Actualiza un registro específico.
POST borrar_versión/{id} id Elimina un registro específico.

Nota. Elaboración propia

5.3.4. Documentos

Tabla 67

Configuración de acceso: Documentos

Método URI Parámetro Descripción


GET información Obtiene la información
del contenido de la
biblioteca.
GET filtrar_documentos Obtiene la información
de los documentos
encontrados, en
función a la
clasificación o palabra
clave establecida.
GET listar_documentos Obtiene la información
de todas las
clasificaciones,
versiones y roles.
GET listar_todos_documentos Obtiene la información
de todos los
documentos.
GET editar_documento/{id} id Obtiene la información
de un registro
específico.
POST guardar_documento Crea un nuevo registro
146

Método URI Parámetro Descripción


POST actualizar_documento/{id} id Actualiza un registro
específico.
GET mostrar_documento/{id} id Obtiene la información
de un registro
específico.
GET buscar_documentos id Obtiene la información
de los documentos
encontrados, en
función a las palabras
buscadas en la vista
“Buscar documento”.
POST buscar_documentos_índice id Obtiene la información
de los documentos
encontrados, en
función a las palabras
buscadas en la vista
“Documentos”.
POST borrar_documento/{id} id Elimina un registro
específico.
GET biblioteca_iea_ver_documento_{id} id Obtiene la información
de un registro
específico.
GET pdf_documentos/{param} param Obtiene la información
de los documentos
encontrados en la vista
“Buscar documento”.

Nota. Elaboración propia


147

5.3.5 Prestamos

Tabla 68

Configuración de acceso: Prestamos

Método URI Parámetro Descripción


GET listar_préstamos Obtiene la información de todos
los préstamos.
POST guardar_préstamo/{id} id Crea un nuevo registro asociado a
un documento específico.
GET mostrar_préstamos id Obtiene la información de los
préstamos de un usuario.
POST actualizar_préstamo/{id} id Actualiza un registro específico.
Nota. Elaboración propia

5.3.6 Solicitudes de copia digital

Tabla 69

Configuración de acceso: Solicitudes de copia digital

Método URI Parámetro Descripción


GET solicitudes_copia_digital Obtiene la
información de
todas las
solicitudes de
copia digital.
POST guardar_solicitud_copia_digital/{id} id Crea un nuevo
registro asociado
a un documento
específico.
POST actualizar_solicitud_copia_digital/{id} id Actualiza un
registro
específico.

Nota. Elaboración propia


148

5.3.7 Biblioteca

Tabla 70

Configuración de acceso: Biblioteca

Método URI Parámetro Descripción


GET listar_bibliotecas Obtiene la información de la
biblioteca.
GET editar_biblioteca/{id} id Obtiene la información de un
registro específico.
POST actualizar_biblioteca/{id} id Actualiza un registro específico.

Nota. Elaboración propia

5.3.8 Reportes del sistema

Tabla 71

Configuración de acceso: Reportes del sistema

Método URI Parámetro Descripción


GET listar_reportes Obtiene la información de todos los
reportes.
POST guardar_reporte Crea un nuevo registro.
GET generar_pdf/{param} param Obtiene la información de los reportes
encontrados en la vista “Reportes del
sistema”.

Nota. Elaboración propia

5.4 Diseño de las Rutas del Sistema

El acceso a los recursos del sistema se lo realiza mediante diferentes rutas, las

cuales estarán disponibles en función al tipo de usuario autenticado en el sistema. En la

parte superior izquierda de todas las vistas se muestra el nombre de la ruta.

La siguiente tabla representa las rutas disponibles en el sistema:


149

Tabla 72

Diseño de las rutas del sistema

Nombre de la Ruta Usuario Contenido


ruta
Informaciones /información Todos Se muestra una serie de bloques
que contienen la cantidad de
documentos almacenados,
clasificaciones creadas,
versiones creadas, nombres de
las clasificaciones y la cantidad
de documentos que tiene cada
clasificación. Posteriormente se
muestra mediante un listado, los
últimos 5 documentos añadidos
y los 5 documentos más vistos,
en cada documento se muestra la
imagen, además del título y
resumen abreviados.
Biblioteca /bibliotecas Admin Se muestra la carrera,
descripción, universidad y la
opción de editar.
Editar /biblioteca/editar/1 Admin Mediante un formulario se
biblioteca muestra los datos para editar la
información de la biblioteca,
además de las opciones de
cancelar la edición y actualizar.
Versiones /versiones Admin y Mediante un listado de
bibliotecario versiones, se muestra el nombre
de la versión y las opciones de
editar, eliminar y añadir.
Añadir versión /versión/nuevo Admin y Mediante un formulario se
docente muestra los datos a ser llenados
para crear una nueva versión,
150

Nombre de la Ruta Usuario Contenido


ruta
además de las opciones de
cancelar la creación y guardar.
Editar versión /versión/editar/ Admin y Mediante un formulario se
docente muestra los datos para editar la
información de la versión,
además de las opciones de
cancelar la edición y actualizar.
Clasificaciones /clasificaciones Admin y Mediante un listado de
docente clasificaciones, se muestra el
nombre de la clasificación, roles
con acceso al documento, la
protección de solo lectura y las
opciones de editar ,eliminar y
añadir.
Añadir /clasificación/nuevo Admin Mediante un formulario se
clasificación muestra los datos a ser llenados
para crear una nueva
clasificación, además de las
opciones de cancelar la creación
y guardar.
Editar /clasificación/editar/ Admin Mediante un formulario se
clasificación muestra los datos para editar la
información de la clasificación,
además de las opciones de
cancelar la edición y actualizar.
Documentos /documentos Admin, Se muestra un buscador de
bibliotecario documentos, seguido de un
y docente listado de documentos, donde se
muestra el título, resumen,
autores y las opciones de editar,
eliminar y añadir.
151

Nombre de la Ruta Usuario Contenido


ruta
Añadir /documento/nuevo Admin, Mediante un formulario se
documento bibliotecario muestra los datos a ser llenados
y docente para crear un nuevo documento,
además de las opciones de
cancelar la creación y guardar.
Editar /documento/editar/ Admin, Mediante un formulario se
documento bibliotecario muestra los datos para editar la
y docente información del documento,
además de las opciones de
cancelar la edición y actualizar.
Penalizaciones /penalizaciones Admin y Mediante un listado de
docente penalizaciones, se muestra el
nombre de la penalización,
descripción, días de penalización
y las opciones de editar, eliminar
y añadir.
Añadir /penalización/nuevo Admin y Mediante un formulario se
penalización bibliotecario muestra los datos a ser llenados
para crear una nueva
penalización, además de las
opciones de cancelar la creación
y guardar.
Editar /penalización/editar/ Admin y Mediante un formulario se
penalización bibliotecario muestra los datos para editar la
información de la penalización,
además de las opciones de
cancelar la edición y actualizar.
Buscar /documentos/buscar/ Todos Se muestra un buscador de
documento documentos, posteriormente las
opciones para filtrar los
documentos por clasificación y
152

Nombre de la Ruta Usuario Contenido


ruta
generar el PDF de los
documentos encontrados.
Mediante un listado de los
documentos, se muestra la
imagen, titulo, resumen y la
opción de acceder a toda la
información del documento.
Información documento/mostrar Todos Está dividido en dos bloques, en
del documento el primer bloque se muestra la
imagen junto con las palabras
clave, seguido de las opciones
para visualizar el contenido,
solicitar préstamo y solicitar
copia digital, posteriormente se
muestra el título, autor,
clasificación, paginas, gestión,
editorial, versión, ubicación,
copias y código. En el segundo
bloque se muestra el resumen
completo del documento.
Contenido del ver_documento_ Admin, Se muestra el contenido del
documento docente, documento con las opciones para
estudiante, desplazarse por las páginas.
bibliotecario
Solicitud de copias_digitales/nue Todos Mediante un formulario se
copia digital vo muestra los datos a ser llenados
para crear una nueva solicitud de
copia digital, además de las
opciones de cancelar la creación
y guardar.
153

Nombre de la Ruta Usuario Contenido


ruta
Solicitudes de /prestamos Admin y Mediante un listado de
préstamo bibliotecario préstamos, se muestra la fecha
de préstamo, fecha de
devolución, documento personal,
estado de préstamo, documento,
usuario, bibliotecario, además de
las opciones para asignar una
penalización, aceptar o rechazar
préstamo y aceptar o rechazar
retorno.
Solicitudes de /copias_digitales Admin y Mediante un listado de
copia digital bibliotecario solicitudes, se muestra el estado,
nombre, email, fecha de
solicitud, fecha de revisión,
documento, comprobante de
pago, bibliotecario, además de
las opciones para ver el
comprobante de pago y marcar
la solicitud como revisada.
Solicitar /prestamos/mostrar Admin, Mediante un listado de
devolución bibliotecario, préstamos, se muestra la fecha
docente, de préstamo, fecha de
estudiante devolución, documento personal,
estado de préstamo, documento
y la opción para solicitar la
devolución.
Usuarios /penalizaciones/usua Admin y Mediante un listado de usuarios
penalizados rios bibliotecario penalizados, se muestra el
nombre, email y las opciones
para actualizar su penalización,
154

Nombre de la Ruta Usuario Contenido


ruta
Reportes del /log_sistema Admin Muestra las opciones para filtrar
sistema los reportes por fecha, tabla y
generar el PDF de los reportes
encontrados. Posteriormente se
tiene un listado de los reportes
del sistema, donde se muestra 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 la fecha en que se
realizó el cambio

Nota. Elaboración propia


155

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

Desarrollo del sistema de información

Instalación del
Creación de la
Inicio entorno de Desarrollo web Fin
base de datos
desarrollo

Nota. Elaboración propia

6.1 Instalación del Entorno de Desarrollo

El desarrollo del sistema se realizará de manera local, para lo cual se hizo la

instalación de las siguientes herramientas, en una computadora con sistema operativo

Windows 10:

❖ XAMMP.

❖ Visual Studio Code.

❖ Laravel 8.

❖ Vue.js 3.

❖ Node.js

Figura 89

Entorno de desarrollo

Terminal Front End Back End Base de Datos

Usuario

Nota. Elaboración propia


156

6.2 Creación de la Base de Datos

La creación de la base de datos se la realiza mediante la herramienta

phpMyAdmin, posteriormente se utiliza la herramienta de migraciones de Laravel para

crear las tablas diseñadas anteriormente.

Figura 90

Creación de la base de datos

Nota. Elaboración propia

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

datos “nucleo_iea” se utilizará para obtener la información de los usuarios.

Figura 91

Conexión del sistema con las dos bases de datos

Biblioteca

Sistema de biblioteca
virtual

Usuarios

Nota. Elaboración propia


157

Para crear las tablas con datos iniciales, se utiliza la herramienta de “seeders” de

Laravel.

Figura 92

Datos iniciales en la base de datos

Nota. Elaboración propia

6.3 Desarrollo Web

A continuación, se detalla el desarrollo de los componentes que representaran a

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

Los contenidos se mostrarán mediante la implementación de los lenguajes de

marcado HTML, CSS y el lenguaje de programación JavaScript.


158

6.3.1.1 Encabezado.

Figura 93

Componente para el encabezado

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Acceder a los recursos del sistema para obtener la información de la biblioteca.

2. Mostrar la información de la biblioteca.

3. Mostrar las imágenes de los logos de la universidad y del instituto de electrónica

aplicada.

6.3.1.2 Barra de Navegación.

Figura 94

Barra de navegación en función al usuario autenticado

Administrador Bibliotecario Docente Estudiante Externo

Nota. Elaboración propia


159

El componente tiene las siguientes funciones:

1. Mostrar las rutas disponibles en función al tipo de usuario.

2. Reducir la barra de navegación para mostrar solamente los iconos.

3. Permitir la navegación entre las diferentes rutas del sistema.

4. Brindar la opción de iniciar sesión o salir del sistema de biblioteca virtual.

6.3.1.3 Informaciones.

Figura 95

Contenido de la ruta: Informaciones

Nota. Elaboración propia


160

El componente tiene las siguientes funciones:

1. Acceder a los recursos del sistema para obtener información del contenido de la

biblioteca.

2. Mostrar la cantidad de documentos, clasificaciones y versiones disponibles en el

sistema.

3. Mostrar la imagen, título y resumen abreviado, de los últimos 5 documentos

añadidos.

4. Mostrar la imagen, título y resumen abreviado, de los 5 documentos más vistos.

6.3.1.4 Biblioteca.

Figura 96

Contenido de la ruta: Biblioteca

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de la biblioteca.

5. Mostrar la información de la biblioteca.

6. Mostrar la opción para editar la información de la biblioteca.

7. Direccionar a la ruta “Editar Biblioteca”.


161

8. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.5 Editar Biblioteca.

Figura 97

Contenido de la ruta: Editar biblioteca

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de la biblioteca.

5. Mostrar la información de la biblioteca.

6. Mostrar la opción para cancelar la edición

7. Direccionar a la ruta “Biblioteca”.


162

8. Mostrar la opción para guardar los cambios realizados.

9. Acceder a los recursos del sistema para actualizar la información de la

biblioteca.

10. Mostrar mensaje de confirmación al actualizar la información de la biblioteca.

11. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.6 Versiones.

Figura 98

Contenido de la ruta: Versiones

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.
163

4. Acceder a los recursos del sistema para obtener la información de todas las

versiones.

5. Mostrar mediante un listado el nombre de todas las versiones.

6. Mostrar la opción para añadir una nueva versión.

7. Direccionar a la ruta “Añadir versión”.

8. Mostrar la opción para editar una versión.

9. Direccionar a la ruta “Editar versión”.

10. Mostrar la opción para eliminar una versión.

11. Mostrar mensaje para confirmar la eliminación de una versión.

12. Acceder a los recursos del sistema para eliminar la versión seleccionada.

13. Mostrar mensaje de confirmación al eliminar una versión.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.7 Añadir Versión.

Figura 99

Contenido de la ruta: Añadir versión

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.
164

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Mostrar la opción para cancelar la creación de la nueva versión.

5. Direccionar a la ruta “Versiones”.

6. Mostrar un formulario para definir el nombre de la nueva versión.

7. Mostrar la opción para guardar los datos introducidos.

8. Acceder a los recursos del sistema para guardar la información de la nueva

versión.

9. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

10. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

11. Direccionar automáticamente a la ruta “Versiones” cuando se haya guardado la

información de la nueva versión.

12. Mostrar mensaje de confirmación al crear una nueva versión.

13. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.8 Editar Versión.

Figura 100

Contenido de la ruta: Editar versión

Nota. Elaboración propia


165

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de la versión

seleccionada.

5. Mostrar un formulario con la información de la versión seleccionada.

6. Mostrar la opción para cancelar la edición

7. Direccionar a la ruta “Versiones”.

8. Mostrar la opción para guardar los cambios realizados.

9. Acceder a los recursos del sistema para actualizar la información de la versión

seleccionada.

10. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

11. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

12. Direccionar automáticamente a la ruta “Versiones” cuando se haya actualizado

la información de la versión seleccionada.

13. Mostrar mensaje de confirmación al actualizar la información de la versión

seleccionada.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.


166

6.3.1.9 Clasificaciones.

Figura 101

Contenido de la ruta: Clasificaciones

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de todas las

clasificaciones.

5. Mostrar mediante un listado la información de todas las clasificaciones, donde

se observa el nombre de la clasificación, los roles que tienen acceso a la

clasificación y la protección de lectura establecida.

6. Mostrar la opción para añadir una nueva clasificación.


167

7. Direccionar a la ruta “Añadir clasificación”.

8. Mostrar la opción para editar una clasificación.

9. Direccionar a la ruta “Editar clasificación”.

10. Mostrar la opción para eliminar una clasificación.

11. Mostrar mensaje para confirmar la eliminación de una clasificación.

12. Acceder a los recursos del sistema para eliminar la clasificación seleccionada.

13. Mostrar mensaje de confirmación al eliminar una clasificación.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.10 Añadir Clasificación.

Figura 102

Contenido de la ruta: Añadir clasificación

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.


168

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Mostrar la opción para cancelar la creación de la nueva clasificación.

5. Direccionar a la ruta “Clasificaciones”.

6. Acceder a los recursos del sistema para obtener la información de todos los

roles.

7. Mostrar un formulario para definir el nombre, roles que tendrán acceso y

seguridad de lectura, de la nueva clasificación.

8. Mostrar la opción para guardar los datos introducidos.

9. Acceder a los recursos del sistema para guardar la información de la nueva

clasificación.

10. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

11. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

12. Direccionar automáticamente a la ruta “Clasificaciones” cuando se haya

guardado la información de la nueva clasificación.

13. Mostrar mensaje de confirmación al crear una nueva clasificación.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.


169

6.3.1.11 Editar Clasificación.

Figura 103

Contenido de la ruta: Editar clasificación

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de la

clasificación seleccionada y la información de todos los roles.

5. Mostrar un formulario con la información de la clasificación seleccionada.

6. Mostrar la opción para cancelar la edición.

7. Direccionar a la ruta “Clasificaciones”.

8. Mostrar la opción para guardar los cambios realizados.


170

9. Acceder a los recursos del sistema para actualizar la información de la

clasificación seleccionada.

10. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

11. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

12. Direccionar automáticamente a la ruta “Clasificaciones” cuando se haya

actualizado la información de la clasificación seleccionada.

13. Mostrar mensaje de confirmación al actualizar la información de la clasificación

seleccionada.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.12 Documentos.

Figura 104

Contenido de la ruta: Documentos

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.


171

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de todos los

documentos. Para un usuario con rol de docente, solo se obtiene la información

de los documentos que este usuario añadió al sistema.

5. Mostrar mediante un listado la información de todos los documentos, donde se

observa el título, resumen y autores.

6. Realizar un paginado de los documentos para mostrar 30 documentos por

página.

7. Mostrar un recuadro para realizar la búsqueda de los documentos, la búsqueda

de la palabra introducida se la realiza en el título, resumen, autores y palabras

clave, de todos los documentos.

8. Mostrar mediante una lista desplegable los documentos encontrados, al

seleccionar uno de los documentos encontrados, se direcciona a la ruta “Editar

documento”.

9. Mostrar la opción para añadir un nuevo documento.

10. Direccionar a la ruta “Añadir documento”.

11. Mostrar la opción para editar un documento.

12. Direccionar a la ruta “Editar documento”.

13. Mostrar la opción para eliminar un documento.

14. Mostrar mensaje para confirmar la eliminación de un documento.

15. Acceder a los recursos del sistema para eliminar un documento seleccionado.

16. Mostrar mensaje de confirmación al eliminar un documento.


172

17. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.13 Añadir Documento.

Figura 105

Contenido de la ruta: Añadir documento

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Mostrar la opción para cancelar la creación del nuevo documento.

5. Direccionar a la ruta “Documentos”.

6. Acceder a los recursos del sistema para obtener la información de todas las

versiones y clasificaciones.
173

7. Mostrar un formulario para definir el nombre, el título, resumen, imagen,

archivo, autor(es), clasificación, ubicación, gestión, copias, código, palabras

clave, editorial y versión, del nuevo documento.

8. Mostrar la imagen en pantalla cuando se defina la imagen en el formulario.

9. Mostrar la opción para guardar los datos introducidos.

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.

12. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

13. Direccionar automáticamente a la ruta “Documentos” cuando se haya guardado

la información del nuevo documento.

14. Mostrar mensaje de confirmación al crear un nuevo documento.

15. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.


174

6.3.1.14 Editar Documento.

Figura 106

Contenido de la ruta: editar documento

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.
175

4. Acceder a los recursos del sistema para obtener la información del documento

seleccionado, la información de todas las clasificación y versiones, además de la

información de las palabras clave asociadas al documento.

5. Mostrar un formulario con la información del documento seleccionada.

6. Mostrar las opciones para cambiar la imagen y el archivo del documento.

7. Mostrar la opción para ver el documento.

8. Direccionar a una nueva ventana con el contenido del documento en formato

PDF.

9. Mostrar la opción para cancelar la edición.

10. Direccionar a la ruta “Documentos”.

11. Mostrar la opción para guardar los cambios realizados.

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.

14. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

15. Direccionar automáticamente a la ruta “Documentos” cuando se haya

actualizado la información del documento seleccionado.

16. Mostrar mensaje de confirmación al actualizar la información del documento

seleccionado.

17. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.


176

6.3.1.15 Buscar Documento.

Figura 107

Contenido de la ruta: Buscar documento

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Acceder a los recursos del sistema para obtener la información de todos los

documentos, a los cuales tiene acceso el usuario autenticado.

2. Mostrar un recuadro para realizar la búsqueda de los documentos, la búsqueda

de la palabra introducida se la realiza en el título, resumen, autores y palabras

clave, de todos los documentos.

3. Mostrar mediante una lista desplegable los documentos encontrados, al

seleccionar de la lista uno de los documentos encontrados se direcciona a la ruta

“Información del documento”.

4. Mostrar la opción para filtrar los documentos por clasificación.

5. Mostrar la opción para exportar en un PDF los documentos encontrados.

6. Direccionar a una nueva ventana con la información del título y resumen de los

documentos encontrados, en formato PDF.


177

7. Mostrar mediante un listado la información de todos los documentos

encontrados según la palabra introducida en el buscador, la clasificación

seleccionada o la palabra clave obtenida de la ruta “Información del

documento”, donde se observa la imagen del documento, título y resumen.

8. Mostrar la opción para ver la información completa del documento.

9. Direccionar a la ruta “Información del documento”.

10. Realizar un paginado de los documentos para mostrar 30 documentos por

página.

11. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.16 Información del Documento.

Figura 108

Contenido de la ruta: Información del documento

Nota. Elaboración propia


178

El componente tiene las siguientes funciones:

1. Acceder a los recursos del sistema para obtener la información del documento

seleccionado y el nombre de las palabras clave asociadas al documento.

2. Acceder a los recursos del sistema para aumentar en uno, el número de vistas del

documento.

3. Mostrar mediante dos bloques la información del documento, donde se observa

la imagen del documento, las palabras clave, titulo, resumen, autores,

clasificación, paginas, gestión, editorial, versión, ubicación, copias y código.

4. Mostrar las opciones para visualizar el contenido del documento y solicitar el

préstamo del documento, solamente para usuarios autenticados.

5. Direccionar a la ruta “Contenido del documento” cuando la clasificación del

documento tenga la protección de solo lectura activada.

6. Direccionar a una nueva ventana con el contenido del documento en formato

PDF, cuando la clasificación del documento no tenga la protección de solo

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.

9. Mostrar mensaje de error al solicitar el préstamo de documento, en caso de que

el usuario este penalizado.

10. Mostrar mensaje de confirmación al solicitar el préstamo de documento.

11. Mostrar la opción para solicitar copia digital del documento.

12. Direccionar a la ruta de “Solicitud de copia digital”

13. Mostrar la opción para regresar a la ruta de “Buscar documento”.


179

14. Direccionar a la ruta “Buscar documento”.

15. Permitir la selección de una palabra clave, cuando se selecciona una palabra

clave se envía su nombre a la ruta “Buscar documento” y se direcciona

automáticamente a esta ruta.

16. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.17 Solicitar Copia Digital del Documento.

Figura 109

Contenido de la ruta. Solicitud de copia digital

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Mostrar la opción para cancelar la creación de la solicitud de copia digital del

documento.

2. Direccionar a la ruta “Información del documento”.

3. Mostrar un formulario para definir el nombre, correo electrónico y la imagen del

comprobante de pago, de la nueva solicitud de copia digital.

4. Mostrar la opción para guardar los datos introducidos.


180

5. Acceder a los recursos del sistema para guardar la información de la nueva

solicitud de copia digital.

6. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

7. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

8. Direccionar automáticamente a la ruta “Información del documento” cuando se

haya guardado la información de la nueva solicitud de copia digital.

9. Mostrar mensaje de confirmación al crear una nueva solicitud de copia digital.

10. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.18 Ver Contenido del Documento.

Figura 110

Contenido de ruta: Ver contenido del documento

Nota. Elaboración propia


181

El componente tiene las siguientes funciones:

1. Acceder a los recursos del sistema para obtener la información del documento

seleccionado.

2. Convertir el documento PDF a HTML.

3. Permitir la navegación por el contenido del documento.

4. Mostrar la opción para retornar a la ruta “Información del documento”

5. Direccionar a la ruta “Información del documento”.

6.3.1.19 Solicitudes de Préstamo.

Figura 111

Contenido de la ruta: Solicitudes de préstamo

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.
182

4. Acceder a los recursos del sistema para obtener la información de todas las

solicitudes de préstamo.

5. Mostrar mediante un listado la información de todas las solicitudes de préstamo,

donde se observa la fecha de préstamo, fecha de devolución, documento

personal, estado de préstamo, documento, usuario y bibliotecario.

6. Mostrar la opción para elegir una penalización, en caso de que el usuario solicite

retornar el documento prestado.

7. Mostrar las opciones de aceptar préstamo y rechazar préstamo para las

solicitudes de préstamo.

8. Mostrar las opciones de aceptar retorno y rechazar retorno para las solicitudes de

devolución.

9. Acceder a los recursos del sistema para actualizar el estado de préstamo y

actualizar el número de copias disponibles del documento, cuando se acepte una

solicitud de devolución.

10. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.20 Solicitudes de Copia Digital.

Figura 112

Contenido de la ruta: Solicitudes de copia digital

Nota. Elaboración propia


183

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de todas las

solicitudes de copia digital.

5. Mostrar mediante un listado la información de todas las solicitudes de copia

digital, donde se observa el estado, nombre, email, fecha de solicitud, fecha de

revisión, documento y bibliotecario.

6. Mostrar la opción para ver el comprobante de pago.

7. Direccionar a una nueva ventana donde se muestra la imagen del comprobante

de pago seleccionado.

8. Mostrar la opción para marcar como revisado la solicitud de copia digital.

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

recursos del sistema.


184

6.3.1.21 Solicitar Devolución.

Figura 113

Contenido de la ruta: Solicitar devolución

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Acceder a los recursos del sistema para obtener la información de todas las

solicitudes de préstamo solicitadas por el usuario autenticado.

2. Mostrar mediante un listado la información de todas las solicitudes de préstamo,

donde se observa la fecha de préstamo, fecha de devolución, documento

personal, estado de préstamo y documento.

3. Mostrar la opción para solicitar la devolución del documento.

4. Acceder a los recursos del sistema para actualizar el estado de préstamo.

5. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.22 Usuarios Penalizados.

Figura 114

Contenido de la ruta: Usuarios penalizados

Nota. Elaboración propia


185

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de todos los

usuarios penalizados.

5. Mostrar mediante un listado la información de todos los usuarios penalizados,

donde se observa el nombre e email.

6. Mostrar la opción para seleccionar la nueva penalización que se asignara al

usuario.

7. Mostrar la opción para actualizar la penalización del usuario, cuando se haya

seleccionado una penalización.

8. Acceder a los recursos del sistema para actualizar la información del usuario.

9. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.23 Penalizaciones.

Figura 115

Contenido de la ruta: Penalizaciones

Nota. Elaboración propia


186

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de todas las

penalizaciones.

5. Mostrar mediante un listado la información de todas las penalizaciones, donde

se observa el nombre de la penalización, descripción y días de penalización.

6. Mostrar la opción para añadir una nueva penalización.

7. Direccionar a la ruta “Añadir penalización”.

8. Mostrar la opción para editar una penalización.

9. Direccionar a la ruta “Editar penalización”.

10. Mostrar la opción para eliminar una penalización.

11. Mostrar mensaje para confirmar la eliminación de una penalización.

12. Acceder a los recursos del sistema para eliminar la penalización seleccionada.

13. Mostrar mensaje de confirmación al eliminar una penalización.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.


187

6.3.1.24 Añadir Penalización.

Figura 116

Contenido de la ruta: Añadir penalización

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Mostrar la opción para cancelar la creación de la nueva penalización.

5. Direccionar a la ruta “Penalizaciones”.

6. Mostrar un formulario para definir el nombre de la penalización, descripción y

días de penalización, de la nueva penalización.

7. Mostrar la opción para guardar los datos introducidos.

8. Acceder a los recursos del sistema para guardar la información de la nueva

penalización.
188

9. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

10. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

11. Direccionar automáticamente a la ruta “Penalizaciones” cuando se haya

guardado la información de la nueva penalización.

12. Mostrar mensaje de confirmación al crear una nueva penalización.

13. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.

6.3.1.25 Editar Penalización.

Figura 117

Contenido de la ruta: Editar penalización

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.
189

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de la

penalización seleccionada.

5. Mostrar un formulario con la información de la penalización seleccionada.

6. Mostrar la opción para cancelar la edición.

7. Direccionar a la ruta “Penalizaciones”.

8. Mostrar la opción para guardar los cambios realizados.

9. Acceder a los recursos del sistema para actualizar la información de la

penalización seleccionada.

10. Acceder a los recursos del sistema para validar los datos introducidos en el

formulario.

11. Mostrar mensajes de error en caso de haber detectado alguna falla en la

validación de los datos.

12. Direccionar automáticamente a la ruta “Penalizaciones” cuando se haya

actualizado la información de la penalización seleccionada.

13. Mostrar mensaje de confirmación al actualizar la información de la penalización

seleccionada.

14. Mostrar mensajes de error en caso de haber alguna falla, en el acceso a los

recursos del sistema.


190

6.3.1.26 Reporte del Sistema.

Figura 118

Contenido de la ruta: Reportes del sistema

Nota. Elaboración propia

El componente tiene las siguientes funciones:

1. Permitir el acceso a la ruta solo a usuarios autorizados.

2. Acceder a los recursos del sistema para crear un reporte, cuando el usuario no

esté autorizado.

3. Direccionar automáticamente a la ruta “Informaciones” cuando el usuario no

esté autorizado.

4. Acceder a los recursos del sistema para obtener la información de todos los

reportes encontrados en función al filtro de fecha y tabla.

5. Mostrar mediante un listado la información de todos los reportes, donde se

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 la que se realizó el cambio.

6. Mostrar la opción para filtrar los reportes por fecha y tabla.

7. Mostrar la opción para exportar en un PDF los reportes encontrados.


191

8. Direccionar a una nueva ventana con la información de los reportes encontrados,

en formato PDF.

6.3.2 Modelos y Controladores

Los subprogramas se realizarán mediante la implementación del lenguaje

programación PHP, SQL y la herramienta “Eloquent” que incluye Laravel para realizar

las consultas y peticiones a la base de datos.

En la siguiente tabla se define la relación de los modelos con la base de datos:

Tabla 73

Relación de los modelos con la base de datos

Modelo Tabla de la base de datos


Biblioteca bibliotecas
Clasificación clasificacions
CopiaDigital copia_digitals
Documento documentos
EstadoPréstamo estado_prestamos
Penalización penalizacions
Préstamo prestamos
Reporte reportes
User users
Versión versions
Role roles
Permission permissions
Nota. Elaboración propia

En la siguiente tabla se define la relación de los controladores con los modelos:

Tabla 74

Relación de los controladores con los modelos

Controlador Modelos
BibliotecaController Biblioteca, Reporte
192

ClasificaciónController Clasificación, Reporte, Role, Permission


CopiaDigitalController CopiaDigital, Reporte
DocumentoController Documento, Clasificación, Reporte, User, Versión
PenalizaciónController Penalización, Reporte, User
PréstamoController Documento, Penalización, Préstamo, Reporte, User
VersiónController Versión, Reporte
ReporteController Reporte

Nota. Elaboración propia

En la siguiente tabla se define la relación entre los controladores y las vistas:

Tabla 75

Relación de los controladores con las vistas

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

Capítulo 7 Pruebas e Implementación

7.1 Implementación

7.1.1 Parámetros del Servidor

El servidor de pruebas proporcionado por el Departamento de Tecnologías de

Información y Comunicación DTIC, tiene las siguientes características:

Tabla 76

Parámetros del servidor

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/

Nota. Elaboración propia

Figura 119

Parámetros del servidor

Nota. Elaboración propia


194

7.1.2 Montaje del Servidor Web

7.1.2.1 Conexión con el Servidor. La conexión con el servidor para acceder al

símbolo del sistema, se la realiza mediante el software PuTTY, el cual permite realizar

la conexión por SSH:

Figura 120

Parámetros de conexión con el servidor web

Nota. Elaboración propia

La conexión con el servidor para poder realizar la transferencia de archivos se la realiza

mediante el software WinSCP.

Figura 121

Parámetros de conexión con el servidor web

Nota. Elaboración propia


195

7.1.2.2 Instalación de Herramientas. Una vez que ya se accedió al símbolo del

sistema del servidor, se realiza la instalación de las siguientes herramientas:

❖ Apache

Tabla 77

Instalación de Apache

Comando Descripción
sudo apt-get install apache2 Instalación de Apache.

Nota. Elaboración propia

Figura 122

Versión de Apache instalada

Nota. Elaboración propia


196

❖ 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.

Nota. Elaboración propia

Figura 123

Versión de MariaDB instalada

Nota. Elaboración propia


197

❖ 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.

sudo systemctl restart apache2 Reiniciar Apache para cargar el


módulo de PHP.

Nota. Elaboración propia

Figura 124

Versión de PHP instalada

Nota. Elaboración propia


198

❖ 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.

Nota. Elaboración propia


199

Figura 125

Ejecución de Composer

Nota. Elaboración propia

❖ 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.

Nota. Elaboración propia


200

Figura 126

Interfaz de phpMyAdmin

Nota. Elaboración propia

❖ GIT

Tabla 82

Instalación de Git

Comando Descripción
sudo apt install git Instalación de GIT.

Nota. Elaboración propia


201

Figura 127

Instalación de Git

Nota. Elaboración propia

7.1.2.3 Configuración de Permisos.

Figura 128

Propietarios y permisos para Apache en Linux

Nota. Tomado de permisos de la carpeta: /var/www/html, por D. Cano, 2020,

(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.

Nota. Elaboración propia

Figura 129

Asignación de permisos a la carpeta “html”

Nota. Elaboración propia

7.1.3 Instalación del Sistema en el Servidor

El sistema fue almacenado en el repositorio de GitHub en la siguiente dirección:

https://github.com/RomelPinto/BibliotecaIEA

Mediante la herramienta PuTTY se ingresa al símbolo del sistema del servidor web

como usuario root, posteriormente se realizan los pasos de la “Tabla 84”.


203

Tabla 84

Instalación del sistema en el servidor web

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.

Nota. Elaboración propia


205

Figura 130

Configuración del archivo “.env” para la conexión con las 2 bases de datos

Nota. Elaboración propia

Figura 131

Creación de la base de datos

Nota. Elaboración propia


206

Figura 132

Creación de las tablas en la base de datos

Nota. Elaboración propia

Figura 133

Configuración del archivo de apache

Nota. Elaboración propia


207

Figura 134

Funcionamiento del sistema de biblioteca virtual en el servidor web

Nota. Elaboración propia

Una vez finalizada la instalación se deben realizar unas configuraciones adicionales en

el proyecto, estas configuraciones se detallan en el “Anexo D”. La ruta de inicio de la

biblioteca virtual es: http://200.7.161.193/biblioteca_iea/informacion

7.2 Pruebas

7.2.1 Pruebas de Funcionamiento

A continuación, se detalla el funcionamiento del sistema de información, en

función a los requerimientos descritos en el punto 4.1.6 del capítulo 4 “Especificación

de requisitos y análisis”.

7.2.1.1 Administrar la Penalización de los Usuarios. Mediante la ruta

“Solicitudes de préstamo” es posible asignar una penalización, cuando se acepte el

retorno de un documento prestado.


208

Figura 135

Asignación de penalización

Nota. Elaboración propia

El usuario bibliotecario puede ver los usuarios penalizados desde la ruta “Usuarios

penalizados”, además de poder actualizar la penalización de los mismos.

Figura 136

Lista de usuarios penalizados y actualizar penalización

Nota. Elaboración propia


209

Un usuario penalizado no puede solicitar ningún préstamo de documento.

Figura 137

Bloqueo de préstamo a usuario penalizado

Nota. Elaboración propia

7.2.1.2 Proveer Formularios para la Creación y Edición de los Recursos de

Información. Los formularios permiten añadir nuevas versiones, clasificaciones,

documentos, y penalizaciones, además de validar los datos introducidos por el usuario.

7.2.1.2.1 Versiones. Para añadir una nueva versión:

Figura 138

Formulario para crear una nueva versión

Nota. Elaboración propia


210

Para editar una versión seleccionada:

Figura 139

Formulario para editar una versión seleccionada

Nota. Elaboración propia

7.2.1.2.2 Clasificaciones. Para añadir una nueva clasificación:

Figura 140

Formulario para crear una nueva versión

Nota. Elaboración propia


211

Para editar una clasificación:

Figura 141

Formulario para editar una clasificación seleccionada

Nota. Elaboración propia

7.2.1.2.3 Penalizaciones. Para añadir una nueva penalización:

Figura 142

Formulario para crear una nueva penalización

Nota. Elaboración propia


212

Para editar una penalización:

Figura 143

Formulario para editar una penalización seleccionada

Nota. Elaboración propia

7.2.1.2.4 Documentos. Para añadir un nuevo documento:

Figura 144

Formulario para crear un nuevo documento

Nota. Elaboración propia


213

Para editar un documento:

Figura 145

Formulario para editar un documento seleccionado

Nota. Elaboración propia

7.2.1.3 Ver de Manera General el Contenido y la Información de la

Biblioteca. Todos los usuarios pueden ver la información sobre el contenido de la

biblioteca virtual.
214

Figura 146

Visualización del contenido y la información de la biblioteca

Nota. Elaboración propia

7.2.1.4 Ver Mediante un Listado Cada Uno de los Recursos de Información.

En función al tipo de usuario, se puede observar mediante un listado los diferentes

recursos de información disponibles en el sistema, con la posibilidad de editar y

eliminar los registros.


215

Figura 147

Listado de las versiones

Nota. Elaboración propia

Figura 148

Listado de las clasificaciones

Nota. Elaboración propia


216

Figura 149

Listado de los documentos

Nota. Elaboración propia

Figura 150

Listado de las penalizaciones

Nota. Elaboración propia


217

Figura 151

Eliminación de un registro

Nota. Elaboración propia

7.2.1.5 Visualizar el Contenido de los Documentos. Se proporciona una ruta

que permite visualizar el contenido de los documentos, si el documento tiene una

clasificación con protección de lectura, se muestra el contenido sin poder realizar

ningún cambio, en caso de que el documento tenga una clasificación sin protección de

lectura, se muestra el contenido en formato PDF con acceso completo.

Figura 152

Contenido del documento con protección de lectura

Nota. Elaboración propia


218

Figura 153

Contenido del documento sin protección de lectura

Nota. Elaboración propia

7.2.1.6 Visualizar los Cambios que se Realizan en los Recursos de

Información. El usuario administrador puede visualizar a los reportes del sistema

donde se verifica los cambios que se realizaron en los recursos de información.

Figura 154

Visualización de los cambios en los recursos de información

Nota. Elaboración propia


219

7.2.1.7 Proporcionar una Herramienta de Búsqueda de Documentos. Esta

herramienta esta implementada en las rutas “Documentos” y “Buscar documento”,

despliega una lista de resultados que permite acceder a la información del documento o

mostrar en pantalla los resultados obtenidos.

Figura 155

Búsqueda y obtención de documentos encontrados

Nota. Elaboración propia

7.2.1.8 Proveer la Opción de Solicitudes de Préstamo, Devolución y Copia

Digital de los Documentos. Todos los usuarios autenticados que no estén penalizados,

pueden realizar solicitudes de préstamos de los documentos disponibles.

Figura 156

Solicitar préstamo de documento

Nota. Elaboración propia


220

Los usuarios pueden visualizar las solicitudes de préstamo que ellos realizaron, además

de poder solicitar el retorno de los documentos prestados.

Figura 157

Visualización de las solicitudes de préstamo realizadas por el usuario

Nota. Elaboración propia

Todos los usuarios pueden solicitar la copia digital del documento mediante un

formulario.

Figura 158

Solicitar copia digital de un documento

Nota. Elaboración propia


221

7.2.1.9 Proporcionar una Herramienta para el Control de Préstamos,

Devoluciones y Solicitudes de Copia Digital de los Documentos. El usuario

bibliotecario puede visualizar las solicitudes de préstamo y los préstamos realizados,

mediante un listado que permite aceptar o rechazar un préstamo o retorno de

documento.

Figura 159

Control de préstamo de documentos

Nota. Elaboración propia

Las solicitudes de préstamo se visualizan mediante un listado donde se puede marcar

como “revisado” la solicitud, además de visualizar la imagen del comprobante de pago.

Figura 160

Control de las solicitudes de copia digital

Nota. Elaboración propia


222

7.2.1.10 Controlar el Acceso a los Documentos. Mediante la clasificación del

documento se puede controlar que tipo de usuario tiene acceso al contenido de este

documento.

A continuación, se muestra que los usuarios con rol “Estudiane_PostG” no pueden

acceder a los documentos de las clasificaciones Tesis Pregrado y Diplomado en

Televisión Digital.

Figura 161

Controlar el acceso a los documentos

Nota. Elaboración propia

7.2.1.11 Exportar la Información de los Documentos Encontrados Mediante

un PDF. Los usuarios pueden exportar en un PDF los documentos encontrados.


223

Figura 162

Exportar en PDF los documentos encontrados

Nota. Elaboración propia

7.2.1.12 Exportar los Cambios en los Recursos de Información Mediante un

PDF. El usuario administrador pude exportar mediante un PDF los reportes

encontrados.

Figura 163

Exportar en PDF los reportes generados

Nota. Elaboración propia


224

7.2.1.13 Determinar el Tipo de Usuario Autenticado para Mostrar el

Contenido. Mediante la barra de navegación se accede a las diferentes rutas del sistema

en función al tipo de usuario autenticado.

Figura 164

Barra de navegación en función al usuario autenticado

Administrador Bibliotecario Docente Estudiante Externo

Nota. Elaboración propia

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

error y se generara un reporte.

Figura 165

Control de acceso a rutas sin permiso

Nota. Elaboración propia


225

7.2.2 Pruebas de almacenamiento

El almacenamiento se realiza en las tablas de la base de datos “biblioteca_iea”,

excepto las penalizaciones de los usuarios que se realiza en la base de datos

“nucleo_iea”.

Figura 166

Tabla de clasificaciones

Nota. Elaboración propia

Figura 167

Tabla de solicitudes de copia digital

Nota. Elaboración propia

Figura 168

Tabla de documentos

Nota. Elaboración propia


226

Figura 169

Tabla de penalizaciones

Nota. Elaboración propia

Figura 170

Tabla de préstamos de documentos

Nota. Elaboración propia

Figura 171

Tabla de reportes del sistema

Nota. Elaboración propia


227

Figura 172

Tabla de palabras clave

Nota. Elaboración propia

Figura 173

Tabla de versiones

Nota. Elaboración propia

Figura 174

Tabla de usuarios

Nota. Elaboración propia


228

7.2.3 Pruebas de Rendimiento

Se prueba el funcionamiento del sistema en diferentes navegadores WEB,

diferentes tipos de conexión y en diferentes dispositivos móviles.

7.2.3.1 Navegador Google Chrome

Figura 175

Funcionamiento en Google Chrome

Nota. Elaboración propia

7.2.3.2 Navegador Mozilla Firefox

Figura 176

Funcionamiento en Mozilla Firefox

Nota. Elaboración propia


229

7.2.3.3 Navegador Internet Explorer

Figura 177

Funcionamiento en Internet Explorer

Nota. Elaboración propia

7.2.3.4 Conexión Ethernet. Tiempo de carga de 2.59 s para obtener la

información de todos los documentos.

Figura 178

Tiempo de carga con conexión ethernet

Nota. Elaboración propia


230

7.2.3.5 Conexión 4G. Tiempo de carga de 6.21 s para obtener la información de

todos los documentos.

Figura 179

Tiempo de carga con conexión 4G

Nota. Elaboración propia

7.2.3.6 Conexión 3G. Tiempo de carga de 17.54 s para obtener la información

de todos los documentos.

Figura 180

Tiempo de carga con conexión 3G

Nota. Elaboración propia


231

7.2.3.7 Pruebas en Celular

Figura 181

Funcionamiento en Celular

Nota. Elaboración propia

7.2.3.8 Pruebas en dispositivo “Tablet”

Figura 182

Funcionamiento en Tablet

Nota. Elaboración propia


232

Capítulo 8 Conclusiones y Recomendaciones

8.1 Conclusiones

El objetivo general del proyecto fue el de desarrollar e implementar una

biblioteca especializada virtual para el Instituto de Electrónica Aplicada de la Universal

Mayor de San Andrés. Se logró cumplir con dicho objetivo mediante el desarrollo del

presente proyecto, el cual proporcionara el acceso a la información documental que

dispone el Instituto de Electrónica Aplicada, mediante una interfaz intuitiva y practica

para los usuarios.

❖ Se obtuvieron y detallaron los requerimientos que debía cumplir el sistema de

información para su posterior análisis.

❖ Se realizó el modelado del funcionamiento del sistema mediante diagramas

UML, en base al análisis de los requerimientos del sistema.

❖ Se desarrolló el sistema de información mediante la implementación de software

libre de licencias, las cuales son muy utilizadas en la actualidad.

❖ Se brindó la opción para acceder a la información académica de manera virtual,

además de contar con una clasificación para poder organizar los documentos y

una herramienta que facilita el control del préstamo de documentos.

❖ Se registró en el sistema de información toda la información digital que dispone

el Instituto de Electrónica Aplicada.

❖ Se implementó el sistema de información en el servidor de pruebas del Instituto

de Electrónica Aplicada, de modo que se puede acceder a la biblioteca

especializada virtual mediante un navegador web desde una computadora,

“tablet” o celular, que estén conectados a internet.

8.2 Recomendaciones

En la conclusión del proyecto se presentan las siguientes recomendaciones:


233

❖ Realizar un inventario de toda la documentación académica que dispone el

Instituto de Electrónica Aplicada, con el fin de asignar un código a todos los

documentos para tener un mejor orden de los mismo.

❖ Se recomienda digitalizar toda la documentación física, para que pueda ser

almacenada en el sistema de información.

❖ Realizar una capacitación al personal que cumpla con las funciones de

administrador y bibliotecario, con el fin de realizar un uso adecuado del sistema

de información.

❖ Se recomienda realizar una copia de seguridad de la base de datos y la carpeta

del servidor, donde están almacenados los documentos digitales, cada vez que se

termine un programa del Instituto de Electrónica Aplicada y se hayan registrado

los nuevos documentos.

❖ El sistema de información puede ser adaptado a otras Instituciones que requieran

implementar una biblioteca virtual.

❖ Para futuros trabajos en base al presente proyecto, se sugiere la implementación

de una herramienta que permita la conexión con otros sistemas de biblioteca

virtual, con el fin de mejorar la experiencia del usuario al momento de realizar la

búsqueda de información. Mejorar la interacción con los usuarios que soliciten

una copia digital del documento.


234

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

Nicuesa, M. (2016). DefinicionABC. Obtenido de


https://www.definicionabc.com/social/penalizacion.php
OCI. (2022). Oracle Cloud Infraestructure. Obtenido de
https://www.oracle.com/mx/database/what-is-database/
Pérez, J., & Gaardey, A. (2021). Definicion.de. Obtenido de https://definicion.de/clasificacion/
Pérez, J., & Merino, M. (2021). Definicion.de. Obtenido de
https://definicion.de/documento/#:~:text=Del%20lat%C3%ADn%20documentum%2C
%20un%20documento,ser%20utilizados%20para%20comprobar%20algo.
PMI. (2013). GUÍA DE LOS FUNDAMENTOS PARA LA DIRECCIÓN DE PROYECTOS.
RI-UMSA. (2016). Repositorio UMSA. Obtenido de https://repositorio.umsa.bo/
Robledano, A. (2019). OpenWebinars. Obtenido de https://openwebinars.net/blog/que-es-
mysql/
Rumbaugh, J., Jacobson, I., & Booch, G. (2007). EL LENGUAJE UNIFICADO DE MODELADO
MANUAL DE REFERENCIA (2da Edicion ed.). PEARSON EDUCATION.
Sillo, L. (2012). BIBLIOTECA VIRTUAL : FUENTE DE CONOCIMIENTO CIENTIFICO PARA LA
CARRERA DE ENFERMERIA DE LA UNIVERSIDAD PUBLICA DE EL ALTO (UPEA).
Universidad de Alicante. (2022). Obtenido de https://si.ua.es/es/documentacion/asp-net-mvc-
3/1-dia/modelo-vista-controlador-mvc.html
Vue.js. (2022). Vue.js. Obtenido de https://vuejs.org/
236

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

VPS: Virtual private server


Servidor virtual privado
PHP: Hypertext Preprocessor
Preprocesador de Hipertexto.
SQL: Structured Query Language
Lenguaje de Consulta Estructurada
HTML: HyperText Markup Language
Lenguaje de Marcas de Hipertexto
CSS: Cascading Style Sheets
Hojas de estilo en cascada
DBMS: Data Base Management System
Sistema gestor de base de datos
DBA: Database administrator
Administrador de bases de datos
ORM: Object-Relational mapping
Mapeo objeto-relacional
PDF: Portable Document Format
Formato de documentos portátiles
URI: Uniform resource identifier
Identificador de recursos uniforme
238

Anexos

Anexo A. Registrar Varios Documentos

El sistema solo permite registrar un documento a la vez, por lo que para realizar

el registro de varios documentos se debe importar los datos de los documentos

directamente a la base de datos, y copiar los archivos a la base de datos.

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

Creación del archivo Excel con la información de los documentos

Nota. Elaboración propia

El nombre de las imágenes y los archivos debe coincidir con los campos “imagen” y

“archivo” que se importaran a la base de datos y ser diferentes de los nombres ya

utilizados por los documentos anteriormente registrados.

Los valores de campo “id” deben ser correlativos al último valor que se tiene registrado

en la tabla “documentos” de la base de datos.

Posteriormente se guarda el archivo como CSV (delimitado por comas) y se elimina la

primera fila.
239

Figura 184

Archivo CSV con la información de los documentos

Nota. Elaboración propia

Mediante PhpMyAdmin se realiza la importación a la tabla “documentos” de la base de

datos.

Figura 185

Importar datos a la tabla “documentos”

Nota. Elaboración propia


240

Para copiar los archivos al servidor se puede realizar mediante el software WinSCP, los

archivos PDF se deben copiar a la carpeta “archivos” y las imágenes a la carpeta

“imagenes”, ambas carpetas se encentran en el directorio “/var/www/html/public/docs”

del servidor.

Figura 186

Copiar los archivos al servidor

Nota. Elaboración propia

Anexo B. Manual de Uso del Sistema de Información

Una vez autenticado en el sistema se tiene las siguientes funciones.

Crear Versión

Mediante el menú de navegación se accede a la vista que permite crear un nuevo

registro.

Figura 187

Vista para añadir una versión

Nota. Elaboración propia


241

Posteriormente se muestra la vista con el formulario para crear la versión.

Figura 188

Formulario para añadir una versión

Nota. Elaboración propia

El nombre de la versión no puede repetirse con alguna versión creada anteriormente.

Crear Clasificación

Mediante el menú de navegación se accede a la vista que permite crear un nuevo

registro.

Figura 189

Vista para añadir una clasificación

Nota. Elaboración propia


242

Posteriormente se muestra la vista con el formulario para crear la clasificación.

Figura 190

Formulario para añadir una clasificación

Nota. Elaboración propia

El nombre de la clasificación no puede repetirse con alguna clasificación creada

anteriormente.

Crear Documento

Mediante el menú de navegación se accede a la vista que permite crear un nuevo

registro.

Figura 191

Vista para añadir un documento

Nota. Elaboración propia


243

Posteriormente se muestra la vista con el formulario para crear un documento.

Figura 192

Formulario para añadir un documento

Nota. Elaboración propia

El título del documento no puede repetirse con algún documento creada anteriormente.

Crear Penalización

Mediante el menú de navegación se accede a la vista que permite crear un nuevo

registro.

Figura 193

Vista para añadir una penalización

Nota. Elaboración propia


244

Posteriormente se muestra la vista con el formulario para crear una penalización.

Figura 194

Formulario para añadir una penalización

Nota. Elaboración propia

El nombre de la penalización no puede repetirse con alguna penalización creada

anteriormente.

Listar los recursos de información

Mediante el menú de navegación se pueden acceder a los listados de los recursos

de información, los cuales permiten la edición o eliminación de los mismo.

Figura 195

Listado de los documentos

Nota. Elaboración propia


245

Anexo C. Código Fuente del Sistema de Biblioteca Especializada Virtual

Por lo extenso del código fuente del sistema de información, el código fue

almacenado y publicado en el repositorio de GitHub.

https://github.com/RomelPinto/BibliotecaIEA

Anexo D. Configuraciones Adicionales del Proyecto de Laravel

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

que la tabla de usuarios se encuentra en otra base de datos.

Definir en el modelo “Roles” la base de datos que tiene la tabla de usuarios.

Figura 196

Definir la base de datos que utilizara el modelo “Roles”

Nota. Elaboración propia

Definir en el modelo “Permission” la base de datos que tiene la tabla de usuarios.

Figura 197

Definir la base de datos que utilizara el modelo “Permission”

Nota. Elaboración propia


246

Anexo E. Respaldo del Sistema de Información

El respaldo de la base de datos se puede utilizar mediante PhpMyAdmin,

Figura 198

Exportar tablas de la base de datos

Nota. Elaboración propia

El respaldo de los archivos y las imágenes se puede realizar mediante el software

WinSCP, se debe copiar la carpeta “docs” del directorio “/var/www/html/public/docs”

que se encuentra en el servidor.

Anexo F. Costos de Desarrollo e Implementación

Tomando en cuenta que el salario mínimo nacional (SMN) que se debe pagar en

cualquier contrato laboral en Bolivia es de 2250 Bs y que a un profesional

recientemente titulado se le podría pagar 3000 Bs. En base a estos datos se obtiene un

promedio de 2625 Bs mensualmente en horario de tiempo completo (8 horas), lo que

equivale a 87 bs con 50 ctvs por día.

En la “Tabla 85” y “Tabla 86” se detallan los costos del proyecto.


247

Tabla 85

Costos del proyecto por persona

Concepto Valor Unidad


Sueldo 87.5 Bs/día
Tiempo 120 Días
Costo total concluido el proyecto 10500 Bs

Nota. Elaboración propia

Tabla 86

Costos del proyecto para el alojamiento web

Concepto Valor Unidad


Costo del servicio 70 Bs/mes

Nota. Elaboración propia


CORREO ELECTRONICO: romelpinto1@hotmail.es

NUMERO DE CELULAR: 72042285

También podría gustarte