Está en la página 1de 225

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE INGENIERÍA INDUSTRIAL


CARRERA SISTEMAS DE INFORMACIÓN

TRABAJO DE TITULACIÓN
PREVIO A LA OBTENCIÓN DEL TÍTULO DE
LICENCIADA EN SISTEMAS DE INFORMACIÓN

ÁREA
DESARROLLO DE SOFTWARE

TEMA
DESARROLLO DE UN SISTEMA DE VOTACIÓN ONLINE,
UTILIZANDO LA TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE INGENIERÍA
INDUSTRIAL.

AUTORA
ESTACIO QUINTERO JESSICA MARIBEL

DIRECTOR DEL TRABAJO


ING. LOJÁN GRANDA ERNESTO MAX, MATI.

GUAYAQUIL, SEPTIEMBRE 2022


ii

ANEXO XI.- FICHA DE REGISTRO DE TRABAJO DE TITULACIÓN


FACULTAD DE INGENIERÍA INDUSTRIAL
CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL
REPOSITORIO NACIONAL EN CIENCIA Y TECNOLOGÍA
FICHA DE REGISTRO DE TRABAJO DE TITULACIÓN
TÍTULO Y SUBTÍTULO: DESARROLLO DE UN SISTEMA DE VOTACIÓN
ONLINE, UTILIZANDO LA TECNOLOGÍA
BLOCKCHAIN Y FACE DETECTION PARA LA
FACULTAD DE INGENIERÍA INDUSTRIAL.

AUTOR: ESTACIO QUINTERO JESSICA MARIBEL


REVISOR(ES)/TUTOR(ES): ING. LOJÁN GRANDA ERNESTO MAX, MATI.
LSI. MORENO DÍAZ VÍCTOR HUGO. MSC.
INSTITUCIÓN: UNIVERSIDAD DE GUAYAQUIL
UNIDAD/FACULTAD: FACULTAD DE INGENIERÍA INDUSTRIAL
MAESTRÍA/ESPECIALIDAD:
GRADO OBTENIDO: LICENCIADA EN SISTEMAS DE INFORMACIÓN
FECHA DE PUBLICACIÓN: SEPTIEMBRE No. DE PÁGINAS: 225
2022
ÁREAS TEMÁTICAS: DESARROLLO DE SOFTWARE
PALABRAS CLAVES/ KEYWORDS: BLOCKCHAIN, SISTEMA WEB, VOTACIONES,
METODOLOGÍA ICONIX.
RESUMEN/ABSTRACT (150-250 palabras): El presente proyecto de titulación está orientado al
desarrollo de un sistema de votación online, utilizando la tecnología blockchain y face detection
para la facultad de ingeniería industrial. Con el fin de ofrecer a los estudiantes de la institución:
más confianza, transparencia, seguridad e integridad en las elecciones de representante estudiantil.
Gracias al uso de la tecnología blockchain que nos garantiza estas propiedades al aplicarlo en el
sistema. Con el objetivo de brindar más seguridad en el software, se utilizó la herramienta Face
detection que permite la autenticación de los usuarios antes de acceder al sistema, esto evita las
suplantaciones de identidad previamente al emitir un voto. Para la creación de este sistema web
se utilizó la metodología Iconix, ya que es un proceso simplificado en comparación con otras
metodologías tradicionales y nos permitió abarcar todo el ciclo de vida del proyecto. Se realizó la
recolección de información a través de una encuesta realizada a un grupo de estudiantes de las tres
carreras que se imparten en la Facultad de Ingeniería industrial. En conclusión, este proceso
finalizó en un tiempo considerable, además que en la elaboración del sistema web se muestra que
los objetivos planteados fueron cumplidos satisfactoriamente con el fin de brindar resultados
favorables.
ADJUNTO PDF: SI (X) NO
CONTACTO CON Teléfono: 0990035158 E-mail:
AUTOR/ES: jessica.estacioq@ug.edu.ec

CONTACTO CON LA NOMBRE: MSC. JIMMY FERNANDO


INSTITUCIÓN: HURTADO PASPUEL.

Teléfono: 2658563
E-mail: titulacion.sistemas.industrial@ug.edu.ec
iii

ANEXO XII.- DECLARACIÓN DE AUTORÍA Y DE AUTORIZACIÓN DE


LICENCIA GRATUITA INTRANSFERIBLE Y NO EXCLUSIVA PARA EL
USO NO COMERCIAL DE LA OBRA CON FINES NO ACADÉMICOS

FACULTAD: INGENIERÍA INDUSTRIAL


CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL

LICENCIA GRATUITA INTRANSFERIBLE Y NO COMERCIAL DE LA OBRA


CON FINES NO ACADÉMICOS

Yo, ESTACIO QUINTERO JESSICA MARIBEL con C.C. No. 0956241228, certifico
que los contenidos desarrollados en este trabajo de titulación, cuyo título es
DESARROLLO DE UN SISTEMA DE VOTACIÓN ONLINE, UTILIZANDO LA
TECNOLOGÍA BLOCKCHAIN Y FACE DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL., son de mi absoluta propiedad y responsabilidad, en
conformidad al Artículo 114 del CÓDIGO ORGÁNICO DE LA ECONOMÍA SOCIAL DE
LOS CONOCIMIENTOS, CREATIVIDAD E INNOVACIÓN, autorizo la utilización de
una licencia gratuita intransferible, para el uso no comercial de la presente obra a favor de
la Universidad de Guayaquil.

ESTACIO QUINTERO JESSICA MARIBEL


C.I. NO. 0956241228
iv

ANEXO VII.- CERTIFICADO PORCENTAJE DE SIMILITUD

FACULTAD DE INGENIERÍA INDUSTRIAL


CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL

Habiendo sido nombrado ING. LOJÁN GRANDA ERNESTO MAX, MATI., tutor del
trabajo de titulación certifico que el presente trabajo de titulación ha sido elaborado por
ESTACIO QUINTERO JESSICA MARIBEL, con mi respectiva supervisión como
requerimiento parcial para la obtención del título de LICENCIADA EN SISTEMAS DE
INFORMACIÓN.

Se informa que el trabajo de titulación: DESARROLLO DE UN SISTEMA DE


VOTACIÓN ONLINE, UTILIZANDO LA TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE INGENIERÍA INDUSTRIAL., ha sido
orientado durante todo el periodo de ejecución en el programa antiplagio TURNITIN
quedando el 9% de coincidencia.

https://ev.turnitin.com/app/carta/en_us/?s=1&lang=en_us&u=1133713960&o=1899154664

ING. LOJÁN GRANDA ERNESTO MAX, MATI.


DOCENTE TUTOR
C.I. 0911224079
FECHA: 16/09/2022
v

ANEXO VI. - CERTIFICADO DEL DOCENTE-TUTOR DEL TRABAJO DE


TITULACIÓN

FACULTAD DE INGENIERÍA INDUSTRIAL


CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL
Guayaquil, 16 de septiembre del 2022
SR.
ING. CABEZAS GALARZA FRANKLIN AUGUSTO, MAE.
DIRECTOR (E) DE LA CARRERA SISTEMAS DE INFORMACIÓN
FACULTAD DE INGENIERÍA INDUSTRIAL
UNIVERSIDAD DE GUAYAQUIL
Ciudad. -
De mis consideraciones:
Envío a Ud. el Informe correspondiente a la tutoría realizada al Trabajo de Titulación
DESARROLLO DE UN SISTEMA DE VOTACIÓN ONLINE, UTILIZANDO LA
TECNOLOGÍA BLOCKCHAIN Y FACE DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL., de la estudiante ESTACIO QUINTERO JESSICA
MARIBEL, indicando que ha cumplido con todos los parámetros establecidos en la
normativa vigente:

El trabajo es el resultado de una investigación.


El estudiante demuestra conocimiento profesional integral.
El trabajo presenta una propuesta en el área de conocimiento.
El nivel de argumentación es coherente con el campo de conocimiento.

Adicionalmente, se adjunta el certificado de porcentaje de similitud y la valoración del


trabajo de titulación con la respectiva calificación.

Dando por concluida esta tutoría de trabajo de titulación, CERTIFICO, para los fines
pertinentes, que la estudiante ESTACIO QUINTERO JESSICA MARIBEL está apta para
continuar con el proceso de revisión final.
Atentamente,

ING. LOJÁN GRANDA ERNESTO MAX, MATI.


DOCENTE TUTOR
C.I. 0911224079
FECHA: 16/09/2022
vi

ANEXO VIII.- INFORME DEL DOCENTE REVISOR


FACULTAD DE INGENIERÍA INDUSTRIAL
CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL
Guayaquil, 21 de septiembre del 2022
SR.
ING. CABEZAS GALARZA FRANKLIN AUGUSTO, MAE.
DIRECTOR (E) DE LA CARRERA SISTEMAS DE INFORMACIÓN
FACULTAD DE INGENIERÍA INDUSTRIAL
UNIVERSIDAD DE GUAYAQUIL
Ciudad. -
De mis consideraciones:
Envío a Ud. el informe correspondiente a la REVISIÓN FINAL del Trabajo de Titulación:
DESARROLLO DE UN SISTEMA DE VOTACIÓN ONLINE, UTILIZANDO LA
TECNOLOGÍA BLOCKCHAIN Y FACE DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL., de la estudiante ESTACIO QUINTERO JESSICA
MARIBEL. Las gestiones realizadas me permiten indicar que el trabajo fue revisado
considerando todos los parámetros establecidos en las normativas vigentes, en el
cumplimento de los siguientes aspectos:
Cumplimiento de requisitos de forma:
El título tiene un máximo de 20 palabras.
La memoria escrita se ajusta a la estructura establecida.
El documento se ajusta a las normas de escritura científica seleccionadas por la Facultad.
La investigación es pertinente con la línea y sublíneas de investigación de la carrera.
Los soportes teóricos son de máximo 5 años. La propuesta presentada es pertinente.
Cumplimiento con el Reglamento de Régimen Académico:
El trabajo es el resultado de una investigación.
El estudiante demuestra conocimiento profesional integral.
El trabajo presenta una propuesta en el área de conocimiento.
El nivel de argumentación es coherente con el campo de conocimiento.
Adicionalmente, se indica que fue revisado, el certificado de porcentaje de similitud, la
valoración del tutor, así como de las páginas preliminares solicitadas, lo cual indica el que
el trabajo de investigación cumple con los requisitos exigidos.
Una vez concluida esta revisión, considero que la estudiante está apta para continuar el
proceso de titulación. Particular que comunicamos a usted para los fines pertinentes.
Atentamente,

LSI. MORENO DÍAZ VÍCTOR HUGO, MSC.


DOCENTE TUTOR REVISOR
C.I. 0912876018
FECHA: 21/09/2022
vii

Dedicatoria

Dedico este trabajo de titulación primero a Dios quien guía mi camino y el de mi familia,
a mi madre Marina Quintero, que es uno de los pilares principales de mi motivación y
esfuerzo, por su amor, trabajo y sacrificio en todos estos años; ella que con cariño me ha
enseñado que los esfuerzos se recompensan y que los obstáculos hay que superarlos uno a
uno para alcanzar las metas que me proponga.
A mi esposo, que en el transcurso de mi carrera universitaria estuvo siempre
brindándome su apoyo incondicional con palabras de aliento y consejos valiosos que me han
servido para concluir esta etapa.
A mi hijo Jayden Canto Estacio por llegar a mi vida y ser el motor que me inspira a ser
mejor cada día, dándome las fuerzas necesarias para seguir con mis estudios y no darme por
vencida en el transcurso de este camino para lograr mis objetivos.
viii

Agradecimiento

Agradezco principalmente a Dios, por estar conmigo en cada paso que doy guiando mi
camino, por brindarme fortaleza y sabiduría para culminar esta etapa de mi vida.

A mi madre, y a mis hermanas, quienes siempre me han apoyado en todo lo que me


propongo, les agradezco todo el esfuerzo que han hecho por mí, por sus consejos, por su
amor y paciencia que me ayudaron a no rendirme en el transcurso de este camino.

A mi hijo Jayden que es mi más grande tesoro, gracias por ayudarme a ver el lado positivo
de las cosas, a enseñarme que soy capaz de cumplir con todo lo que me proponga y darme
las fuerzas necesarias para salir adelante por ti y seguir creciendo personal y
profesionalmente.

A los docentes de la carrera de Sistemas de información, por compartir sus conocimientos


y experiencias profesionales que aportaron en mi crecimiento académico y profesional a lo
largo de los años de estudio.

A mi tutor el Ing. Ernesto Loján, quien desde el comienzo de mi proyecto estuvo


dispuesto a brindarme su ayuda en el desarrollo de mi propuesta, guiándome y
corrigiéndome a lo largo de este proceso de titulación. Muchas gracias.
ix

Índice General

N° Descripción Pág.

Introducción 1

Capítulo I

Marco Teórico

N° Descripción Pág.
1.1 Antecedentes de la investigación 3
1.2 Problema de investigación 4
1.2.1. Planteamiento del problema. 4
1.2.2. Formulación del problema de investigación. 5
1.2.3. Sistematización del problema de investigación. 5
1.3 Objeto de estudio 6
1.4 Delimitación del objeto de la investigación 6
1.4.1. Delimitación Geográfica. 6
1.4.2. Delimitación semántica. 6
1.5 Justificación de la investigación 8
1.5.1. Una prueba en elecciones estudiantiles. 9
1.6 Alcance 9
1.7 Objetivos de la Investigación 11
1.7.1. Objetivo General 11
1.7.2. Objetivos específicos 11
1.8 Marco teórico 11
1.8.1. Votaciones. 11
1.8.1.1 Evolución histórica de las votaciones. 11
1.8.1.2. Características de las votaciones. 11
1.8.2. Sistemas de votaciones. 12
1.8.2.1. Sistemas de voto electrónico. 12
1.8.2.2. La primera universidad en elegir su claustro por voto electrónico. 13
x

N° Descripción Pág.

1.8.2.3. Ejemplos de sistemas de votación. 14


1.8.2.4. Tipos de votos electrónicos. 14
1.8.3. Tecnología Blockchain. 15
1.8.3.1. ¿Para qué sirve la tecnología Blockchain? 15
1.8.3.2. ¿Por qué blockchain es tan segura? 16
1.9 Marco conceptual 17
1.9.1. Las Tecnologías de la Información y comunicación (TICs). 17
1.9.2. La Web (WWW). 18
1.9.3. Página web. 18
1.9.3.1. Tipos de página web. 18
1.9.4. Sitio web. 19
1.9.5. Aplicaciones web. 19
1.9.6. Estructura de una aplicación web. 21
1.9.7. Patrón de diseño MVC. 24
1.9.8. Lenguajes de programación web. 25
1.9.9. La cadena de bloques (Blockchain). 40
1.9.9.1. Ventajas de la tecnología Blockchain. 41
1.9.9.2. Tipos de Blockchain. 42
1.9.9.3. Características de la tecnología Blockchain. 42
1.9.9.4. Componentes de la tecnología Blockchain. 43
1.9.10. Descentralización peer to peer (P2P). 44
1.9.11. Criptografía. 45
1.9.12. Transacciones. 46
1.9.13. Minería. 46
1.9.13.1. Criptomonedas. 47
1.9.14. Herramienta Face detection. 47
1.9.15. Metodologías de desarrollo de software. 48
1.9.15.1. Metodologías ágiles. 49
1.10 Marco legal 55
1.10.1. Reglamento general de elecciones de la universidad de guayaquil. 55
xi

Capítulo II
Metodología

N° Descripción Pág.
2.1 Tipo de investigación 58
2.1.1. Según la intervención. 58
2.1.2. Según la secuencia temporal. 59
2.1.3. Según el tiempo de estudio. 59
2.1.4. Por la búsqueda de causalidad. 60
2.2 Niveles de investigación 60
2.2.1. Nivel Exploratorio 61
2.2.2. Nivel Descriptivo 61
2.2.3. Nivel Correlacional 61
2.2.4. Nivel Explicativo 61
2.2.5. Nivel Predictivo 62
2.2.6. Nivel Aplicativo 62
2.3 Método de investigación 62
2.3.1. Enfoque cualitativo 62
2.3.2. Enfoque cuantitativo 62
2.4 Fuentes y técnicas para la recolección de información 63
2.4.1. Encuesta 63
2.4.2. Entrevista 64
2.4.3. Análisis documental 64
2.4.4. Observación de campo no experimental 64
2.4.5. Observación experimental 64
2.5 Metodología de investigación de la tesis 65
2.6 Resultados e impactos esperados 66
2.6.1. Resultados. 66
2.6.2. Impactos esperados. 66
2.7 Tratamiento de la información 67
2.7.1. Aplicación de la encuesta. 67
2.7.1.1. Población. 67
2.7.1.2. Muestra. 67
xii

N° Descripción Pág.

2.7.1.3. Método de muestreo utilizado. 67


2.7.1.4. Análisis de las respuestas obtenidas. 67
2.7.1.5. Análisis de los resultados de la encuesta. 74
2.8 Diagrama ANSI 74
2.8.1. Simbología del diagrama ANSI. 75
2.9 Arquitectura del sistema 76
2.10 Metodología de desarrollo 76
2.11 Requerimientos funcionales 77
2.12 Requerimientos no funcionales 78
2.13 Casos de uso 78
2.13.1. Actores y roles. 78
2.13.2. Diagramas de caso de uso. 79
2.13.2.1. Caso de uso general del sistema. 79
2.13.2.2. Caso de uso Ingreso al sistema. 80
2.13.2.3. Caso de uso Gestionar candidatura 81
2.13.2.4. Caso de uso Gestionar elecciones. 84
2.13.2.5. Caso de uso Gestionar votantes. 86
2.13.2.6. Caso de uso Gestionar usuarios. 90
2.13.2.7. Caso de uso Gestionar convocatoria. 93
2.12.2.8. Caso de uso Gestionar listas. 97
2.13.2.9. Caso de uso Consultar resultados. 100
2.13.2.10. Generar voto. 102

Capítulo III

Propuesta

N° Descripción Pág.
3.1 Introducción 104
3.1.1. Tema. 104
3.1.2. Objetivo. 104
3.1.3. Entorno de desarrollo. 104
xiii

N° Descripción Pág.

3.2 Fase de diseño 106


3.2.1. Arquitectura del sistema web utilizando la tecnología blockchain. 106
3.2.2. Registro de votos en la blockchain (cadena de bloques). 107
3.2.3. Consultar resultados de los votos 107
3.2.4. Almacenamiento de datos en la blockchain. 108
3.2.5. Registro de votos inalterables en la blockchain. 109
3.2.6. Diagrama de actividades. 111
3.2.6.1. Diagrama de la actividad de Ingreso al sistema Web (Login). 111
3.2.6.2. Diagrama de la actividad de Gestionar - Registrar candidatura. 112
3.2.6.3. Diagrama de la actividad de Gestionar candidaturas- Consultar candidatura. 113
3.2.6.4. Diagrama de la actividad de Gestionar candidatura - Modificar candidatura. 114
3.2.6.5. Diagrama de la actividad de Gestionar Candidatura – Habilitar/ Deshabilitar
candidatura. 115
3.2.6.6. Diagrama de la actividad de Gestionar elecciones – Iniciar elección 116
3.2.6.7. Diagrama de la actividad de Gestionar elecciones – Finalizar elección. 117
3.2.6.8. Diagrama de la actividad de Gestionar votantes – Registrar votantes. 118
3.2.6.9. Diagrama de la actividad de Gestionar votantes – Consultar votantes. 119
3.2.6.10. Diagrama de la actividad de Gestionar votantes – Modificar votantes. 120
3.2.6.11. Diagrama de la actividad de Gestionar votantes – Habilitar/Deshabilitar. 121
3.2.6.12. Diagrama de la actividad de Gestionar usuarios – Registrar usuarios. 122
3.2.6.13. Diagrama de la actividad de Gestionar usuarios – Consultar usuarios. 123
3.2.6.14. Diagrama de la actividad de Gestionar usuarios – Modificar usuarios. 124
3.2.6.15. Diagrama de la actividad de Gestionar usuarios – Habilitar/ Deshabilitar. 125
3.2.6.16. Diagrama de la actividad de Gestionar convocatoria – Registrar convocatoria. 126
3.2.6.17. Diagrama de la actividad de Gestionar convocatoria – Consultar convocatoria 127
3.2.6.18. Diagrama de la actividad de Gestionar convocatoria – Modificar convocatoria 128
3.2.6.19. Diagrama de la actividad de Gestionar convocatoria – Habilitar/ Deshabilitar 129
3.2.6.20. Diagrama de la actividad de Gestionar listas – Registrar listas. 130
3.2.6.21. Diagrama de la actividad de Gestionar listas – Consultar listas. 131
3.2.6.22. Diagrama de la actividad de Gestionar listas – Modificar listas. 132
3.2.6.23. Diagrama de la actividad de Gestionar listas – Habilitar/ Deshabilitar listas. 133
3.2.6.24. Diagrama de la actividad de Consultar resultados. 134
xiv

N° Descripción Pág

3.2.6.25. Diagrama de la actividad de Generar voto. 135


3.2.7. Diagramas de secuencia. 136
3.2.7.1. Diagrama de secuencia de Ingreso al sistema Web (Login). 136
3.2.7.2. Diagrama de secuencia de Gestionar Candidatura- Registrar candidaturas. 137
3.2.7.3. Diagrama de secuencia de Gestionar Candidatura- Consultar candidatura. 138
3.2.7.4. Diagrama de secuencia de Gestionar Candidatura- Modificar candidatura. 139
3.2.7.5. Diagrama de secuencia de Gestionar Candidatura – Habilitar/ Deshabilitar 140
3.2.7.6. Diagrama de secuencia de Gestionar Elecciones – Iniciar Elección. 141
3.2.7.7. Diagrama de secuencia de Gestionar Elecciones – Finalizar Elección. 142
3.2.7.8. Diagrama de secuencia de Gestionar Votantes – Registrar votantes. 143
3.2.7.9. Diagrama de secuencia de Gestionar Votantes – Consultar votantes. 144
3.2.7.10. Diagrama de secuencia de Gestionar Votantes – Modificar votantes. 145
3.2.7.11. Diagrama de secuencia de Gestionar Votantes – Habilitar/Deshabilitar. 146
3.2.7.12. Diagrama de secuencia de Gestionar usuarios– Registrar usuarios. 147
3.2.7.13. Diagrama de secuencia de Gestionar usuarios– Consultar usuarios. 148
3.2.7.14. Diagrama de secuencia de Gestionar usuarios– Modificar usuarios. 149
3.2.7.15. Diagrama de secuencia de Gestionar usuarios– Habilitar/ deshabilitar usuarios
150
3.2.7.16. Diagrama de secuencia de Gestionar convocatoria– Registrar convocatoria. 151
3.2.7.17. Diagrama de secuencia de Gestionar convocatoria– Consultar convocatoria. 152
3.2.7.18. Diagrama de secuencia de Gestionar convocatoria– Modificar convocatoria. 153
3.2.7.19. Diagrama de secuencia de Gestionar convocatoria– Habilitar/ deshabilitar 154
3.2.7.20. Diagrama de secuencia de Gestionar listas– Registrar lista. 155
3.2.7.21. Diagrama de secuencia de Gestionar lista– Consultar lista. 156
3.2.7.22. Diagrama de secuencia de Gestionar lista– Modificar lista. 157
3.2.7.23. Diagrama de secuencia de Gestionar lista– Habilitar/ deshabilitar lista. 158
3.2.7.24. Diagrama de secuencia de Consultar resultados. 159
3.2.4.17. Diagrama de secuencia Generar voto. 160
3.3. Mapa del sistema web 161
3.4. Plan de investigación ( Diagrama de Gantt) 162
3.5. Descripción de pantallas 163
3.5.1. Descripción de pantallas: Inicio de sesión. 163
xv

N° Descripción Pág.

3.5.2. Descripción de pantallas: Inicio de sesión – Autenticación con Face detection.


164
3.5.3. Descripción de pantallas: Mantenimiento de usuarios – Creación usuario. 165
3.5.4. Descripción de pantallas: Mantenimiento de candidaturas - Creación de nueva
candidatura. 167
3.5.5. Descripción de pantallas: Mantenimiento de listas electorales – Creación de
nueva lista. 170
3.5.6. Descripción de pantallas: Mantenimiento de convocatoria. 172
3.5.7. Descripción de pantallas: Proceso de iniciar/ Finalizar elección. 173
3.5.8. Descripción de pantallas: Proceso de votación. 174
3.6. Conclusiones 178
3.7. Recomendaciones 180
Anexos 178

Bibliografía 191
xvi

Índice de Tablas

N° Descripción Pág.
1. Características del alcance. 10
2. Ventajas y desventajas de python. 29
3. Ventajas y desventajas de java. 32
4. Ventajas y desventajas del lenguaje perl. 39
5. Ventajas y desventajas de la metodología xp 51
6. Conoce o ha escuchado hablar sobre la tecnología blockchain. 68
7. Sabía usted que las transacciones de bitcoin (criptomoneda) funcionan bajo una
red descentralizada blockchain 68
8. Ahora que sabes que criptomonedas como el bitcoin funcionan con la tecnología
blockchain, que tan seguro crees que sea un sistema con esta herramienta 69
9. Sabías que la tecnología blockchain en la actualidad es utilizada en muchos países
para las votaciones electorales 70
10. En la actualidad te generan confianza las votaciones electorales que se dan en la
facultad de ingeniería industrial 71
11. Si se llegase a implementar un sistema de votaciones en la facultad de ingeniería
industrial ¿cuál sería tu nivel de confianza en el proceso electoral? 72
12. Cree usted que la herramienta face detection brindaría más seguridad al sistema de
votaciones electorales que se implementará en nuestra facultad 73
13. Simbología de diagrama ansi 75
14. Requerimientos funcionales del sistema 77
15. Requerimientos no funcionales del sistema 78
16. Actores de caso de uso 78
17. Narrativa de caso de uso ingreso al sistema 80
18. Narrativa de caso de uso gestionar candidatura – registrar candidatura 81
19. Consultar candidatura 82
20. Modificar candidatura 83
21. Habilitar/ deshabilitar candidatura 83
22. Iniciar elección 85
23. Finalizar elección 85
24. Narrativa de caso de uso gestionar votantes – registrar votantes 87
xvii

N° Descripción Pág.

25. Consultar votantes 87


26. Modificar votantes 88
27. Deshabilitar votantes 89
28. Narrativa de caso de uso gestionar usuarios – registrar usuarios. 90
29. Consultar usuarios 91
30. Habilitar/deshabilitar usuarios 92
31. Narrativa de caso de uso gestionar convocatorias – registrar convocatoria 94
32. Consultar convocatoria 94
33. Modificar convocatoria 95
34. Habilitar/deshabilitar convocatoria 96
35. Narrativa de caso de uso gestionar listas – registrar listas 97
36. Consultar listas 98
37. Modificar listas 99
38. Habilitar/deshabilitar listas 99
39. Consultar resultados 101
40. Generar voto 102
41. Programas y herramientas utilizadas en la elaboración del sistema web. 104
42. Descripción de pantalla: inicio de sesión.. 163
43. Descripción de pantalla: inicio de sesión - autenticación con face detection. 164
44. Descripción de pantalla: creación de nuevo usuario. 165
45. Descripción de pantalla: creación de nueva candidatura. 167
46. Descripción de pantalla: creación de nueva lista. 170
47. Descripción de pantalla: mantenimiento de convocatoria. 172
48. Descripción de pantalla: proceso de iniciar/ finalizar elección. 173
49. Descripción de pantalla: proceso de votación. 174
xviii

Índice de Figuras

N° Descripción Pág.
1. Google maps. Ubicación de la facultad de ingeniería industrial información
tomada de internet. Elaborada por el autor. 6
2. Arquitectura de las aplicaciones web. Información tomada de internet. (instituto
tecnológico de matehuala, 2015). 21
3. Modelo de dos capas de la aplicación web. Información tomada de internet.
(instituto tecnológico de matehuala, 2015). 22
4. Modelo de 3 capas; información tomada de internet. (Instituto tecnológico de
matehuala, 2015). 23
5. Funcionamiento del modelo vista controlador. Información tomada de internet.
(Junta de andalucía, s.f.). 25
6. Lenguaje de programación web php; información tomada de internet.
(Lenguajesdeprogramacion.net, s.f.). 26
7. Lenguaje de programación web python; información tomada de internet.
(Lenguajesdeprogramacion.net, s.f.). 28
8. Java; información tomada de internet (Softwero, 2017). 30
9. Javascript; información tomada de internet (Ictea, s.f.). 32
10. Lenguaje c++; información tomada de internet (lenguaje de programacion.net,
s.f.). 35
11. Lenguaje perl; información tomada de internet (lenguajes de programacion.net,
s.f.). 38
12. Cadena de bloques de transacciones. Información tomada de (Marín Bermúdez,
2016) 40
13. Cadena de bloques. Información tomada del artículo blockchain y sus
aplicaciones. Universidad católica nuestra señora de la asunción. 43
14. Componentes blockchain, información tomada del artículo blockchain y sus
aplicaciones. Universidad católica nuestra señora de la asunción. 45
15. Funcionamiento de transacciones. Información tomada de (Marín Bermúdez,
2016). 46
16. Minería de criptomonedas, información tomada del sitio web (Ig trading, s.f.). 47
xix

N° Descripción Pág.
17. Comparación entre metodología ágil y tradicional. Información tomada del sitio
web (Maida & Pacienzia, 2015). 49
18. Comparación entre metodología ágil y tradicional. 50
19. Proceso de aplicación de scrum. Información tomada del sitio web (Maida &
Pacienzia, 2015). 52
20. Proceso de la metodología iconix. Información tomada del sitio web. (Ostaiza
Mero, 2017). 54
21. Niveles de investigación; información tomada de internet (Bioestadistico, s.f.) 60
22. Porcentaje del conocimiento de la tecnología blockchain. Información tomada de
google forms. 68
23. Porcentaje de conocimiento de las criptomonedas que son manejadas por la
tecnología blockchain. Información tomada de google forms. 69
24. Porcentaje de confianza de los estudiantes de la seguridad que posee la
tecnología blockchain. Información tomada de google forms. 70
25. Porcentaje de conocimiento de los estudiantes, del uso de la tecnología
blockchain en sistemas de votaciones electorales en muchos países. Información
tomada de google forms. 71
26. Porcentaje de confianza de los estudiantes, en las votaciones que se dan en la
facultad de ingeniería industrial en la actualidad. Información tomada de google
forms. 72
27. Porcentaje de confianza de los estudiantes en el proceso electoral, si se llegase a
implementar un sistema de votaciones en la facultad de ingeniería industrial.
Información tomada de google forms. 73
28. Porcentaje de confianza de los estudiantes, al implementar la herramienta face
detection para el sistema de votaciones online de la facultad de ingeniería industrial.
Información tomada de google forms. 74
29. Caso de uso general del sistema. Información adaptada de la investigación de
campo. Elaborado por el autor.
30. Caso de uso ingreso al sistema. Información adaptada de la investigación de
campo. Elaborado por el autor 80
31. Caso de uso gestionar candidatura. Información adaptada de la investigación de
campo. Elaborado por el autor. 81
xx

N° Descripción Pág.
32. Caso de uso gestionar elecciones. Información adaptada de la investigación de
campo. Elaborado por el autor. 84
33. Caso de uso gestionar votantes. Información adaptada de la investigación de
campo. Elaborado por el autor. 86
34. Caso de uso gestionar usuarios. Información adaptada de la investigación de
campo. Elaborado por el autor. 90
35. Caso de uso gestionar listas. Información adaptada de la investigación de campo.
Elaborado por el autor. 93
36. Caso de uso gestionar listas. Información adaptada de la investigación de campo.
Elaborado por el autor. 97
37. Caso de uso consultar resultados. Información adaptada de la investigación de
campo. Elaborado por el autor. 100
38. Caso de uso generar voto. Información adaptada de la investigación de campo.
Elaborado por el autor. 102
39. Diseño de arquitectura del sistema web utilizando la tecnología blockchain.
Elaborado por el autor. 106
40. Registro de votos en la blockchain. Elaborado por el autor. 107
41. Registro de votos en la blockchain. Elaborado por el autor. 107
42. Consultar resultados de los votos. Elaborado por el autor. 107
43. Almacenamiento de datos en la blockchain. Elaborado por el autor. 108
44. Blockchain y sus registros inalterables. Elaborado por el autor. 109
45. Información y registro del voto. Elaborado por el autor. 110
46. Diagrama de actividades - login. Elaborado por el autor. 111
47. Diagrama de actividades – registrar candidatura. Elaborado por el autor. 112
48. Diagrama de actividades – consultar candidatura. Elaborado por el autor. 113
49. Diagrama de actividades – modificar candidatura. Elaborado por el autor. 114
50. Diagrama de actividades – habilitar/ deshabilitar candidatura. Elaborado por el
autor. 115
51. Diagrama de actividades – iniciar elección. Elaborado por el autor. 116
52. Diagrama de actividades – finalizar elección. Elaborado por el autor. 117
53. Diagrama de actividades – registrar votantes. Elaborado por el autor. 118
54. Diagrama de actividades – consultar votantes. Elaborado por el autor. 119
xxi

N° Descripción Pág.
55. Diagrama de actividades – modificar votantes. Elaborado por el autor. 120
56. Diagrama de actividades – habilitar/ deshabilitar votantes elaborado por el
autor. 121
57. Diagrama de actividades – registrar usuarios. Elaborado por el autor. 122
58. Diagrama de actividades – consulta de usuarios. Elaborado por el autor. 123
59. Diagrama de actividades - modificar usuarios. Elaborado por el autor. 124
60. Diagrama de actividades – habilitar/ deshabilitar usuarios. Elaborado por el
autor. 125
61. Diagrama de actividades – registrar convocatoria. Elaborado por el autor. 126
62. Diagrama de actividades – consultar convocatoria. Elaborado por el autor. 127
63. Diagrama de actividades – modificar convocatoria. Elaborado por el autor. 128
64. Diagrama de actividades – habilitar/ deshabilitar convocatoria. Elaborado por el
autor. 129
65. Diagrama de actividades – registrar listas. Elaborado por el autor. 130
66. Diagrama de actividades – consultar listas. Elaborado por el autor. 131
67. Diagrama de actividades – modificar listas. Elaborado por el autor. 132
68. Diagrama de actividades – habilitar/ deshabilitar listas. Elaborado por el autor.
133
69. Diagrama de actividades – consultar resultados. Elaborado por el autor. 134
70. Diagrama de actividades – generar voto. Elaborado por el autor. 135
71. Diagrama de secuencia – login. Elaborado por el autor. 136
72. Diagrama de secuencia – registrar candidatura. Elaborado por el autor. 137
73. Diagrama de secuencia – consultar candidatura. Elaborado por el autor. 138
74. Diagrama de secuencia – modificar candidatura. Elaborado por el autor. 139
75. Diagrama de secuencia – habilitar/ deshabilitar candidatura. Elaborado por el
autor. 140
76. Diagrama de secuencia – iniciar elección. Elaborado por el autor. 141
77. Diagrama de secuencia – elección finalizada. Elaborado por el autor. 142
78. Diagrama de secuencia – registrar votantes. Elaborado por el autor. 143
79. Diagrama de secuencia – consultar votantes. Elaborado por el autor. 144
80. Diagrama de secuencia – modificar votantes. Elaborado por el autor. 145
xxii

N° Descripción Pág.
81. Diagrama de secuencia – habilitar/ deshabilitar votantes. Elaborado por el autor.
146
82. Diagrama de secuencia – registrar usuario. Elaborado por el autor. 147
83. Diagrama de secuencia – consultar usuarios. Elaborado por el autor. 148
84. Diagrama de secuencia – modificar usuarios. Elaborado por el autor. 149
85. Diagrama de secuencia – habilitar/ deshabilitar usuarios. Elaborado por el autor.
150
86. Diagrama de secuencia – registrar convocatoria. Elaborado por el autor. 151
87. Diagrama de secuencia – consultar convocatoria. Elaborado por el autor. 152
88. Diagrama de secuencia – modificar convocatoria. Elaborado por el autor. 153
89. Diagrama de secuencia – habilitar/ deshabilitar convocatoria. Elaborado por el
autor. 154
90. Diagrama de secuencia – registrar listas. Elaborado por el autor. 155
91. Diagrama de secuencia – consultar listas. Elaborado por el autor. 156
92. Diagrama de secuencia – modificar listas. Elaborado por el autor. 157
93. Diagrama de secuencia – habilitar/ deshabilitar lista. Elaborado por el autor. 158
94. Diagrama de secuencia – consultar resultados. Elaborado por el autor. 159
95. Diagrama de secuencia – generar voto. Elaborado por el autor. 160
96. Representación del sistema web. Elaborado por el autor. 161
97. Plan de investigación del sistema. Elaborado por el autor. 162
98. Test - candidatura. Investigación directa. Elaborado por el autor. 186
99. Test – detalle elección. Investigación directa. Elaborado por el autor. 186
100. Test - convocatoria. Investigación directa. Elaborado por el autor. 187
101. Test – elección. Investigación directa. Elaborado por el autor. 187
102. Test - identificación. Investigación directa. Elaborado por el autor. 188
103. Test - lista. Investigación directa. Elaborado por el autor. 188
104. Ingreso de datos en la blockchain 189
105. Creación de bloques y el uso de la función hash. 189
106. Cifrado de la función hash o huella para utilizarlo en la encriptación de votos y
usuarios. 190
xxiii

Índice de Anexos

N° Descripción Pág.
1. Ficha de encuesta. 180
2. Pruebas unitarias 144
3. Funcionamiento del blockchain en el sistema web 187
xxiv

ANEXO XIII.- RESUMEN DEL TRABAJO DE TITULACIÓN (ESPAÑOL)


FACULTAD: INGENIERÍA INDUSTRIAL
CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL
DESARROLLO DE UN SISTEMA DE VOTACIÓN ONLINE, UTILIZANDO LA
TECNOLOGÍA BLOCKCHAIN Y FACE DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.

Autor: ESTACIO QUINTERO JESSICA MARIBEL

Tutor: ING. LOJÁN GRANDA ERNESTO MAX, MATI.

Resumen

El presente proyecto de titulación está orientado al desarrollo de un sistema de votación


online, utilizando la tecnología blockchain y face detection para la facultad de ingeniería
industrial. Con el fin de ofrecer a los estudiantes de la institución: más confianza,
transparencia, seguridad e integridad en las elecciones de representante estudiantil. Gracias
al uso de la tecnología blockchain que nos garantiza estas propiedades al aplicarlo en el
sistema. Con el objetivo de brindar más seguridad en el software, se utilizó la herramienta
Face detection que permite la autenticación de los usuarios antes de acceder al sistema, esto
evita las suplantaciones de identidad previamente al emitir un voto. Para la creación de este
sistema web se utilizó la metodología Iconix, ya que es un proceso simplificado en
comparación con otras metodologías tradicionales y nos permitió abarcar todo el ciclo de
vida del proyecto. Se realizó la recolección de información a través de una encuesta realizada
a un grupo de estudiantes de las tres carreras que se imparten en la Facultad de Ingeniería
industrial. En conclusión, este proceso finalizó en un tiempo considerable, además que en la
elaboración del sistema web se muestra que los objetivos planteados fueron cumplidos
satisfactoriamente con el fin de brindar resultados favorables.

Palabras Claves: Blockchain, Sistema web, Votaciones, Metodología Iconix.


xxv

ANEXO XIV.- RESUMEN DEL TRABAJO DE TITULACIÓN (INGLÉS)


FACULTAD: INGENIERÍA INDUSTRIAL
CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL
DEVELOPMENT OF AN ONLINE VOTING SYSTEM, USING BLOCKCHAIN
TECHNOLOGY AND FACE DETECTION FOR THE FACULTY OF INDUSTRIAL
ENGINEERING.

Author: ESTACIO QUINTERO JESSICA MARIBEL

Advisor: ENG. LOJÁN GRANDA ERNESTO MAX, MATI.

Abstract

This degree project is aimed at the development of an online voting system, using blockchain
technology and face detection for the faculty of industrial engineering. In order to offer the
students of the institution: more trust, transparency, security and integrity in the elections of
student representative. Thanks to the use of blockchain technology that guarantees us these
properties when applying it in the system. In order to provide more security in the software,
the Face detection tool was used that allows the authentication of users before accessing the
system, this prevents identity thefts previously when casting a vote. For the creation of this
web system, the Iconix methodology was used, since it is a simplified process compared to
other traditional methodologies and allowed us to cover the entire life cycle of the project.
Information collection was carried out through a survey of a group of students from the three
careers taught at the Faculty of Industrial Engineering. In conclusion, this process was
completed in a considerable time, in addition to the fact that in the elaboration of the web
system it is shown that the objectives set were satisfactorily fulfilled in order to provide
favorable results.

Keywords: Blockchain, Web system, Voting, Iconix methodology.


Introducción

Las votaciones o elecciones son la base principal de los sistemas democráticos, de


tal forma que permiten a los votantes manifestar sus opiniones en forma de voto. Cada país
maneja diferentes modelos electorales acorde a sus características y necesidades. A pesar de
circunstancias diversas que pueden presentarse, el objetivo es garantizar un proceso
confiable, seguro y transparente.

Así, el desarrollo de las tecnologías de información tiene un papel clave en la


evolución del proceso electoral. Desde los años 60, varios países se encuentran investigando
e implementando herramientas y sistemas que hagan posible la votación electrónica, con el
fin de brindar un proceso electoral confiable, seguro y que permita salvaguardar el proceso
de electoral de dudas o sospechas.

En la actualidad, se encuentra disponible una tecnología que permite intercambiar


información de forma segura y privada, ayuda a realizar transacciones de forma transparente,
sin intermediarios, de manera descentralizada y a su vez genera una base de datos
compartida e inalterable en la que solo tienen acceso sus propietarios, además, estos pueden
rastrear cada transacción que hayan realizado, tal tecnología se llama Blockchain o cadena
de bloques.

Por otra parte, en la Universidad de Guayaquil – Facultad de Ingeniería industrial,


cada 3 años se realizan las elecciones para designar Representantes Estudiantiles al Consejo
Superior Universitario, estas elecciones suelen ser desgastantes, debido a que este proceso
se lleva de forma manual (boletas, papeletas de votación, actas, mesas electorales, recintos,
padrones electorales, entre otros elementos) como parte del proceso de recepción y
procesamiento de votos, así, se presenta la situación ideal para implementar una alternativa
basada en Blockchain para reducir el riesgo de fraude, disminuir costos y aumentar la
confianza de los votantes.

En consecuencia, este trabajo de titulación propone la mejora del proceso de votación


en la Facultad de Ingeniería Industrial, mediante el desarrollo de un prototipo de un sistema
de votación online utilizando la tecnología Blockchain y la herramienta Face Detection para
garantizar mayor seguridad, confianza y transparencia.
Introducción 2

En el capítulo I, se hará referencia al marco teórico, donde se mencionará todo el


análisis de la tecnología Blockchain, la herramienta Face detection y el alcance que tendrá
el sistema de votaciones online aplicando estos métodos.

En el capítulo II, se describe la metodología a utilizar para el desarrollo de la


propuesta, en relación con las técnicas y métodos aplicados para realizar el diseño e
implementar la solución del sistema de votación online.

Para concluir, en el capítulo III se detalla la propuesta, mediante los diagramas


elaborados para representar la modelización del sistema como: Diagramas de actividades,
Diagrama de secuencias; Diseños de pantalla del sistema; Desarrollo del sistema; Pruebas
de testeo y posteriormente las respectivas conclusiones y recomendaciones.
Capítulo I

Marco Teórico

1.1 Antecedentes de la investigación


En la actualidad, las instituciones de educación superior establecen su sistema de votación
de una forma manual, esto hace que el proceso no sea confiable y operativamente ineficiente,
generando desconfianza por parte de los participantes en el voto electoral.

De acuerdo con lo planteado acerca de los sistemas de votos tradicionales, Braun N. , y


otros (2011), argumentan:

Los sistemas de votación tradicionales se han desarrollado para garantizar que los
principios necesarios para la celebración de elecciones y referendos democráticos se
cumplan, como la garantía de la libertad de voto, la secrecía del voto, la no
modificación de la intención expresada en el voto y la no intimidación durante la
realización de la votación. Es esencial que estos principios no resulten perjudicados
por la introducción de nuevos métodos de votación y, en consecuencia, que los sistemas
de votación electrónica estén diseñados y operados de manera que se garantice la
fiabilidad y la seguridad del proceso de votación.

Si bien es cierto, actualmente los sistemas de votación manual tienen muchos


inconvenientes, uno de ellos es que se este proceso se realiza de forma centralizada, es decir,
los datos y resultados de las votaciones son manejados por una sola institución. Los sistemas
de votación necesitan más seguridad para evitar que los votos sean alterados o manipulados
a favor de un partido político (Zambrano Hidalgo & Baldeón Coronel, 2018).

Por otra parte, los autores Lucuy, Köller Vargas, & Galaburda (2019), afirman que en los
últimos años se han dado a conocer varias tecnologías que permiten mantener la seguridad
de los datos y se pueden implementar en los sistemas de votaciones electrónicas, una de ellas
es la cadena de bloques <<Blockchain>>.

Según lo publicado por la revista Prensario (2022), define lo siguiente:

El blockchain ha sido una de las tecnologías más sonadas en los años recientes,
especialmente si hablamos de transparencia en los procesos electorales y en la
evolución hacia el voto electrónico. Sus beneficios son cada vez más llamativos para las
Marco Teórico 4

entidades gubernamentales que buscan nuevas maneras de proteger al ciudadano y los


procesos de votación.

Desde el punto de vista de Hidalgo & Baldeón Coronel (2018), la tecnología blockchain
cobró importancia en el año 2008, gracias al trabajo publicado por Satoshi Nakamoto sobre
las bases de cómo funcionaba bitcoin (criptomoneda). En el año 2009 apareció la primera
versión de bitcoin y posteriormente se comenzaron a crear las primeras monedas, tiempo
después en el 2014 surgió una nueva implementación de Blockchain mejorada de bitcoin,
desde entonces se ha estado investigando su aplicación en diferentes ámbitos.

En efecto, la tecnología blockchain es segura y proporciona información precisa con


datos compartidos y almacenados instantáneamente en un libro mayor inmutable, al que solo
pueden acceder las personas autorizadas. Esto permite a los usuarios ver los detalles de la
transacción de principio a fin, lo que aumenta su confianza en esta tecnología (IBM, 2022).

1.2 Problema de investigación


1.2.1. Planteamiento del problema.

La votación es un derecho que la ciudadanía ha perfeccionado con el tiempo a favor de


la comunidad. Como en toda sociedad democrática se determinan ciertos procesos para
delegar los representantes de alguna institución, por lo que se requiere realizar las
elecciones, donde varios candidatos se postulan y los votantes individualmente eligen al
candidato con el que se sienten identificados y tengan una propuesta acorde al desarrollo de
la sociedad (Zambrano Hidalgo & Baldeón Coronel, 2018).

Dado que, en la Universidad de Guayaquil - Facultad de Ingeniería Industrial cada año


se llevan a cabo elecciones para elegir Representantes Estudiantiles al Consejo Superior
Universitario, estos son los principales problemas que se presentan:

 Actualmente, los procesos electorales son centralizados, es decir, son administrados


por una sola organización o conjunto de personas, por lo que existen denuncias de
estudiantes o grupos políticos por el presunto fraude, donde no existe un control y conteo
adecuado de votos, el resultado total de los votos sólo podrá conocerse al final cuando se
realice su respectivo cómputo.
 Por otro lado, la votación electoral se realiza manualmente utilizando varias
papeletas, lo que puede conducir a un error humano. Por esta razón siempre hay personas
Marco Teórico 5

buscando vulnerabilidades para manipular los resultados de los votos, en definitiva, el


sistema deberá contar con mucha seguridad para que no se presenten estos tipos de
inconvenientes.
 Otro gran problema, ocurre en el conteo de votos, este proceso conlleva altos costos
económicos, requiere de mucho tiempo y puede dar lugar a errores en el conteo, debido al
cansancio de las personas que se encuentran en mesa, ya que no existe un sistema que
permita dar seguimiento a los resultados de las votaciones por etapas; por todo lo antes
mencionado la publicación de los resultados en la página oficial puede tardar más de lo
habitual y puede retrasarse uno o dos días.
 Con respecto a la falta de integridad de los resultados, esto se debe a que los datos
pueden ser alterados a beneficio de un grupo político “X”, ya que no cuentan con la máxima
seguridad para proteger los datos, en caso de que ocurra algún error o fraude electoral, nadie
puede saberlo y los estudiantes tendrían a un representante falso.
 Desafortunadamente, una contrariedad que se ha logrado detectar a causa de la
pandemia (COVID-19), se debe a que muchos estudiantes no se acercan a votar a la facultad
de Ingeniería industrial por temor al contagio y la aglomeración de personas que se origina
en este día.
Todos estos hallazgos encontrados ocasionan malestar e inconformidad por parte de los
electores al realizar el proceso de votación para elegir a su representante estudiantil.

1.2.2. Formulación del problema de investigación.

¿De qué manera el desarrollo de un sistema de votación online que utiliza la tecnología
Blockchain y la herramienta Face Detection mejoraría el proceso de las elecciones de
representante estudiantil en la Facultad de Ingeniería Industrial?

1.2.3. Sistematización del problema de investigación.

Teniendo en cuenta, que el proceso de elección es siempre un factor decisivo para el


futuro de la entidad en la que se está desarrollando, es fundamental hacer públicos los
resultados tan pronto como sea posible, así como para los participantes es importante que se
respete la integridad de la información en la Facultad de Ingeniería Industrial.

Por ello, se desea desarrollar un sistema de votación online, dejando de lado el voto
manual y pasar al voto electrónico con estándares de seguridad más altos.

Este proyecto de titulación debe cumplir con las expectativas de las siguientes preguntas:
Marco Teórico 6

 ¿Cómo se realiza el proceso de elección de representante estudiantil en la Facultad


de Ingeniería Industrial?
 ¿Cómo aumentará la seguridad de los procesos electorales la adaptación de la
tecnología blockchain y la herramienta face detection?
 ¿Cuáles serían los beneficios de implementar el voto electrónico en la Facultad de
Ingeniería Industrial?

1.3 Objeto de estudio


El presente proyecto tiene como objeto de estudio, el proceso de votaciones online
utilizando la tecnología Blockchain y la herramienta Face detection para la facultad de
Ingeniería industrial de la Universidad de Guayaquil.

1.4 Delimitación del objeto de la investigación


1.4.1. Delimitación Geográfica.

Este proyecto de titulación basado en un sistema de votación online será puesto en marcha
en la Facultad de Ingeniería industrial de la Universidad de Guayaquil ubicada en Av.
Las Aguas, Guayaquil 090501.

Figura 1. Google Maps. Ubicación de la Facultad de Ingeniería


industrial Información tomada de internet. Elaborada por el autor.

1.4.2. Delimitación semántica.

Tecnología Blockchain: Blockchain, es una tecnología que registra los cambios a lo


largo del tiempo de forma no destructiva, ha sido conocida por sus usos entorno a las
criptomonedas, pero su alcance va mucho más allá. Esta tecnología se utiliza como un libro
de registro, donde cada evento o modificación de datos se registra como un nuevo bloque de
Marco Teórico 7

la cadena y de esta manera se establecen y certifican registros, así como también se calculan
asegurando su integridad y disponibilidad. Si este contenido también está encriptado,
garantiza la seguridad. Este libro único e inmutable se distribuye a través de múltiples nodos
en una red descentralizada, cada bloque de la cadena contiene información sobre ese bloque,
las transacciones válidas y la relación entre el bloque anterior y el bloque siguiente
(Pastorino, 2018).
Votaciones electorales: Las votaciones, se refieren al proceso mediante el cual se eligen
los representantes de una organización. Las elecciones suelen estar asociadas a procesos de
selección del personal político que ocupará distintas instituciones. Sin embargo, también
juegan un papel en la elección de representantes de otros cargos, y no pueden participar
tantas personas como en las elecciones de cargos públicos (Marín García, 2020).
Herramienta Face detection: Se define que, el reconocimiento facial es un método para
identificar o comprobar la identidad de un individuo mediante su rostro (LISA Institute,
2021).
En tal sentido, la detección de caras es un tipo de seguridad biométrica. Esta tecnología
es usada para la protección de información, aunque existe un interés creciente en otras áreas
de uso. La cámara reconoce e identifica imágenes faciales individualmente o en medio de
una aglomeración de personas, las fotos mostradas pueden ser de frente o de perfil
(Kaspersky, 2022).
Al recalcar la importancia del reconocimiento facial en un sistema, existen tres pasos para
completar este proceso. LISA Institute (2021), dice:
 En primer lugar, ocurre la detección del rostro.
 En segundo lugar, se produce la captura de la información analógica (es decir,
se fotografía el rostro de la persona) y se traducen los rasgos en información digital, en
patrones algorítmicos.
 El tercer y último paso es comparar y verificar la imagen digital con la persona
real.
Sistema web: los sistemas web tienen la particularidad de estar alojados en un servidor
de internet o intranet (red local/privada), lo que significa que son independientes de la
instalación en una determinada plataforma o sistema operativo. Su apariencia es muy
parecida a las webs que solemos ver, pero en realidad el sistema web cuenta con
funcionalidades muy potentes que dan respuesta a casos muy difíciles.
Marco Teórico 8

Es así como, hay que tener en cuenta que estos sistemas son compatibles con todos los
navegadores web como: Google Chrome, Edge, Firefox, Safari, etc. Estas diferencias se
reflejan en los costos, la velocidad de adquisición de la información y en la automatización
de tareas para alcanzar una gestión estable (López, 2021).

1.5 Justificación de la investigación


Hoy en día, el proceso de votaciones electorales se lo realiza de una forma inadecuada y
usan una tecnología centralizada, esto provoca mucha desconfianza por parte de las personas
involucradas en las elecciones.

Si bien es cierto, la forma de contabilizar votos genera controversia, se lo detalla este


proceso como poco transparente, desordenado, a causa de lo antes mencionado las nuevas
tecnologías de la información se ofrecen como una solución a este problema. La tecnología
Blockchain es una excelente opción para mejorar los procesos democráticos, donde se
requiere la participación humana (Sandoval Chávez , 2021).

De esta manera, debido al funcionamiento de la tecnología Blockchain es inevitable


imaginar que con esta se pueden llegar a solucionar los problemas de fraude que se realizan
tanto de forma manual, como en los sistemas de votos electrónicos existentes, esto permite
que haya más confianza en los sistemas que utilicen esta tecnología (Zambrano Hidalgo &
Baldeón Coronel, 2018).

Es así como, la Facultad de Ingeniería industrial está teniendo complicaciones, con


respecto al proceso de votaciones electorales de representante estudiantil, debido a esto se
va a implementar un sistema de votaciones online aplicando la tecnología blockchain y la
herramienta face detection que aportan transparencia en el proceso, velocidad en el recuento,
privacidad- anonimato, mayor seguridad y permita generar un alto grado de confianza en los
estudiantes.

Teniendo en cuenta, la importancia de la tecnología Blockchain en la pandemia del


COVID -19. Prensario (2022), dice:

Algunas de las características principales por las que hoy en día dicha herramienta
está siendo considerada para las elecciones en casi todos los países, además de que
ayuda a prevenir el contagio del COVID-19, es porque permite que haya transparencia
en los procesos. Así, se hace seguimiento al estado del voto, garantiza la veracidad de
Marco Teórico 9

los resultados (no pueden ser falsificados), protege la privacidad del ciudadano,
proporciona mayor velocidad en el escrutinio y, por último, ahorra costos en el proceso
de elecciones.

Como señala Garcia Villadiego (2019), esta tecnología de cadena de bloques asegura la
seguridad de los datos que maneja, aquí solo el remitente y el destinario saben el contenido
de la operación, esto sucede porque esta tecnología posee una red descentralizada. En un
sistema de votaciones online esto favorece mucho, porque permite que exista transparencia
en el proceso y los resultados de las votaciones no podrían ser falsificados, estos se contarán
de manera automática.

1.5.1. Una prueba en elecciones estudiantiles.

De acuerdo con el Diario Bitcoin, escrito por Di Matteo (2018), nos dice:

En marzo de 2018, el Consejo Superior TIC de la Alcaldía de Bogotá y la Universidad


Nacional ViveLab Bogotá realizaron una votación piloto sobre la “blockchain” en la capital
de Bogotá, Colombia.

Alrededor de 4,500 estudiantes de varios colegios de la comuna de Bogotá, seleccionaron


a sus representantes entre ellos a través de votaciones basadas en tecnología. Los chicos se
sentaron frente a la computadora e ingresaron un código único para identificarlos. A la hora
de votar, eligieron entre las cinco fotos de los candidatos que presentaron. Mientras los
votantes cumplían con el conjunto de requisitos preestablecidos, podían ejecutar el proceso
gracias a los contratos inteligentes que ejecuto el software.

“Dijeron que querían volver a hacerlo porque es un proceso rápido y la propia escuela
ahorra mucho papel y tiempo”, dice Tovar, uno de los responsables de la votación.

1.6 Alcance
El desarrollo del sistema de votaciones online utilizando la tecnología blockchain y face
detection, tiene como finalidad mejorar el proceso de las votaciones de la Facultad de
Ingeniería industrial de la Universidad de Guayaquil.

En la actualidad, en la Facultad de Ingeniería industrial se está llevando este proceso de


forma manual, sin embargo, con la ayuda de este sistema de votaciones se garantizará un
progreso en las votaciones electorales. Por esta razón, el presente proyecto de titulación
contará con el siguiente alcance:
Marco Teórico 10

Tabla 1. Características del alcance.

Características Si No

Registro de usuarios en el sistema (con rol de admin y votante) X

Seguridad en el registro de votos mediante la tecnología Blockchain y X


la herramienta Face detection.

Gestionar votantes: permitirá registrar los datos personales de los


estudiantes vigentes. X

Autenticación: El rostro será un elemento de seguridad por medio de la X


herramienta face detection para acceder al sistema.

Reporte de conteo de votos. X

Gestionar candidatura: Se registrará a las personas que participan en X


algún

partido político con su respectivo rol.

Consultar resulltados: se consultará el resultado de las votaciones, los X


votos en blanco y los nulos por medio de la tecnología blockchain.

Cifrado de información (votos) por medio de Blockchain X

Funcionamiento en la web desde cualquier navegador de internet. X

Modo offline X

Aplicación móvil X

Visualizar personas que efectuaron su votación X

Firmas electrónicas X

Nota: La tabla muestra características del alcance del proyecto, Elaborado por el autor.
Marco Teórico 11

1.7 Objetivos de la Investigación


1.7.1. Objetivo General

 Desarrollar un sistema de votación online para la Facultad de Ingeniería Industrial


de la Universidad de Guayaquil 2022.

1.7.2. Objetivos específicos

 Analizar los requerimientos del sistema de votaciones.

 Diseñar las vistas del sistema de votaciones.

 Implementar la tecnología Blockchain y la herramienta Face detection en el sistema


de votaciones diseñado.

 Ejecutar las pruebas en el sistema y verificar el correcto funcionamiento del software


de votaciones online.

1.8 Marco teórico


1.8.1. Votaciones.

Según Marín Garcia (2020), las votaciones son la base fundamental de los sistemas
democráticos, en el cual un conjunto de personas con derecho a voto elige entre varias
opciones de candidatos para que sean representantes de un puesto o función de una entidad.

1.8.1.1 Evolución histórica de las votaciones.


Si echamos un vistazo con perspectiva histórica, el derecho de sufragio universal se ha
logrado recientemente. Marín Garcia (2020), afirma lo siguiente:

Con la Revolución francesa empezaron a efectuarse las primeras elecciones, pero


solo se autorizaba a votar a cierta parte de la población, el llamado sufragio censitario.
Esta práctica se mantuvo durante muchos años, hasta que durante el siglo XIX se
permitió votar a todos los hombres que cumpliesen unos requisitos mínimos, así llegó
el sufragio universal masculino. Y, finalmente, durante el siglo XX apareció el sufragio
universal, que es el que conocemos actualmente, donde todas las personas tienen el
derecho de votar.

1.8.1.2. Características de las votaciones.


Según Marín Bermúdez (2016), existen ciertas características que definen a una votación,
las más relevantes son:
Marco Teórico 12

 Voto Único: el voto debe ser ejercido de forma efectiva una sola vez por persona
durante la votación.

 Voto Privado: el voto es secreto, es decir nadie puede saber por quién ha votado un
elector de manera específica.

 Integridad de los votos: una vez emitido el voto, nadie podrá modificarlo.

 Integridad de la Votación: no debe ser posible modificar los resultados finales de


la votación.

 Auditoría Individual: se debe garantizar que un voto individual se cuente


correctamente.

 Auditoría Universal: se debe garantizar que el proceso y recuento de votos se realice


correctamente.

1.8.2. Sistemas de votaciones.

Actualmente, existen muchos tipos y sistemas para efectuar el voto, los más conocidos
son: el sistema de votación tradicional que se realiza depositando las papeletas de voto con
el candidato elegido por el votante en las urnas y el sistema de votación electrónica usada
en varios países, pero tienen falencias al no brindar la mayor seguridad posible en el proceso
y esto genera desconfianza en los votantes (Marín Bermúdez, 2016).

1.8.2.1. Sistemas de voto electrónico.


“Se puede definir como voto electrónico la aplicación de las TIC a un proceso de
votación” (Marín Bermúdez, 2016)

Cabe destacar, los sistemas de voto electrónico que utilizan nuevas tecnologías deben ser
semejantes a los sistemas de voto tradicionales ofreciendo seguridad y transparencia a los
votantes. Según Marín Bermúdez (2016), generalmente los sistemas de voto electrónico
tienen una secuencia parecida a las del voto tradicional:

1. Registro / identificación: El sistema debe identificar a los posibles votantes. No es


necesario que exista un registro previo, pero si establecer la forma de identificación de los
votantes.
Marco Teórico 13

2. Preparación del voto: Detallar las condiciones del voto, tales como: Candidato, las
opciones que se pueden seleccionar en cada voto, entre otros. Además de cumplir con las
reglas de votación para que el voto realizado sea válido.
3. Envío del voto: El elector selecciona la opción de votar, prepara su voto y lo envía
al sistema de votación. Posteriormente el sistema utiliza algoritmos que permiten verificar
el voto y conservar el anonimato del votante.
4. Recuento de votos: El sistema se encarga de administrar todos los votos recibidos,
este contabiliza los votos y ofrece el resultado final.
5. Verificación de votos: De alguna manera el sistema debería presentar a los electores
algún método de comprobación de que el voto ha sido registrado correctamente
(conservando el anonimato).

1.8.2.2. La primera universidad en elegir su claustro por voto electrónico.


De acuerdo con la compañía de tecnología de información INDRA (2010), la Universidad
Nacional de Educación a Distancia <<UNED>>, fue la primera en utilizar un sistema de
voto electrónico en el ámbito universitario.

Ahora bien, la empresa de tecnología Indra ha desarrollado un sistema de votaciones


electrónicas, que permite a más de 200 miembros del Senado de la UNED elegir a través de
la web. Hoy se han declarado inequívocamente más de doscientos miembros del Claustro
Universitario, entre ellos: profesores, personal de administración y servicios.
Aproximadamente 3.000 personas, entre profesores y personal de administración y
servicios, pudieron evidenciar las ventajas del sistema de votación en la elección de nuevos
miembros que representen a la comunidad universitaria (INDRA, 2010).

Por una parte, el sistema brinda seguridad y privacidad en las votaciones, esto facilita
enormemente la dinámica electoral, ya que los votantes pueden realizar su elección desde
una computadora, en su lugar de residencia, facultad o algún país que se encuentre en ese
momento (INDRA, 2010).

En cuanto a los votantes, ellos ingresan al sistema de votación por medio de internet y
escogen a los representantes de acuerdo con sus prioridades. Antes de realizar su elección
deben de identificarse con su ID y su contraseña enviada específicamente para estas
elecciones. Desde allí, los votos se transmiten de forma encriptada y automática a la
plataforma de voto electrónico de la empresa informática, ubicada en uno de los muchos
centros de servicio que Indra tiene en España (INDRA, 2010)
Marco Teórico 14

Así mismo, este sistema ayuda al almacenamiento automático de votos cifrando los datos
de los votantes y los resultados se tienen inmediatamente después de que finaliza el proceso
de votación. Este método de votación, además de brindar más flexibilidad y comodidad a
los electores, también agiliza el proceso de conteo de votos y anuncio de resultados, permite
el ahorro de recursos como: papel, urnas y personal, posee una interfaz amigable, de fácil
adaptación al usarse (INDRA, 2010).

1.8.2.3. Ejemplos de sistemas de votación.

Actualmente se utilizan diversos sistemas de votación electrónica, y otras soluciones


tecnológicas se usan en escenarios del mundo real (Marín Bermúdez, 2016). Algunos
ejemplos:

 Scylt. Empresa española especializada en democracia y soluciones participativas.


Existen múltiples soluciones para diferentes etapas y tipos de elecciones. Tienen
varios gobiernos y organizaciones como clientes e incluso fueron los encargados
de integrar los resultados de las últimas elecciones generales en España (Marín
Bermúdez, 2016).
 Indra. Una empresa de tecnología y consultoría. Es tradicionalmente la
encargada de llevar a cabo las elecciones en España. Existe una solución de voto
telemático (NetVote), que se ha probado en algunas elecciones nacionales y se ha
utilizado en casos reales (Marín Bermúdez, 2016).
 ElectionBuddy. Es un sistema de votación online (http://electionbuddy.com))
que permite configurar y gestionar votaciones y elecciones completamente online
(Marín Bermúdez, 2016).
 Helios Voting: La organización que desarrolló el sistema de votación en línea
verificable (https://vote.heliosvoting.org (Marín Bermúdez, 2016)).

1.8.2.4. Tipos de votos electrónicos.


Según Marín Bermúdez (2016), se especifican dos tipos de voto electrónico:

 Voto electrónico presencial: Esta clase de sistemas son parecidos a el sistema


de voto tradicional, debido a que la persona debe estar físicamente en un puesto
de votación, con la diferencia de que utilizan tecnologías en los instrumentos de
papeletas y urnas para agilizar el recuento de votos e impedir el acceso de
personas no autorizadas a la manipulación de votos.
Marco Teórico 15

 Voto electrónico por internet: Este sistema permite que las personas realicen
su votación desde cualquier lugar en el que se encuentren, sin necesidad de
trasladarse a una localidad específica para ejercer su voto, simplemente usando
medios electrónicos tales como: como internet, SMS, entre otros.

1.8.3. Tecnología Blockchain.

En otras palabras, blockchain significa “cadena de bloques”, surgió como actor


secundario a través de la revolución del bitcoin (criptomonedas), es una tecnología o sistema
de encriptación de la información detrás de la moneda virtual y soporta toda su estructura.
Esta tecnología permite la transferencia de datos digitales, posee una codificación compleja,
pero brinda mucha seguridad; no requiere de un intermediario centralizado que certifique la
información, en vez de eso tiene una red distribuida en la que múltiples nodos
independientes entre sí manejan la información: registran y validan (I´MNOVATION,
2018).

I´MNOVATION (2018) afirma: “Una vez introducida, la información no puede ser


borrada, solo se podrán añadir nuevos registros, y no será legitimada a menos que la mayoría
de ellos se pongan de acuerdo para hacerlo”.

1.8.3.1. ¿Para qué sirve la tecnología Blockchain?


Ahora bien, en la actualidad la tecnología Blockchain se utiliza para una variedad de
propósitos, desde brindar servicios financieros hasta administrar sistemas de votación. Si
bien la cadena de bloques se puede usar para almacenar cualquier tipo de información y
realizar una verificación confiable de la identidad de una persona (LISA Institute, 2021).

De acuerdo con LISA Institute (2021), los usos más comunes de la tecnologia Blockchain
son los siguientes:

 Criptomonedas: Actualmente es el más usado, ya que estas funcionan a través del


Blockchain o registro contable compartido. Esta tecnología les brinda la mayor seguridad,
para así evitar que por ejemplo un activo digital sea falsificado o se transfiera dos veces.
Hoy en dia existen miles de criptomonedas, la más conocidas son: bitcoin y ether.
 Bancario: Además de las criptomonedas, se utiliza para procesar transacciones en
monedas fiduciarias, tales como euros y dólares. Esto permite acelerar las transacciones,
debido a que pueden procesarse fuera del horario comercial estándar y se verifican más
rápido.
Marco Teórico 16

 Transferencia de activos: Se usa para transferir y registrar la propiedad de varios


activos. Esto es muy común en la actualidad con activos digitales como NFT (bienes no
fungibles) y videos digitales. Por otra parte, la cadena de bloques también se puede utilizar
para gestionar la propiedad de bienes inmuebles, como títulos de propiedad inmobiliaria y
vehículos.
 Contratos inteligentes: Una mejora de la cadena de bloques son los contratos
autoejecutables, normalmente conocidos como contratos inteligentes, estos estarán en
vigencia automáticamente una vez que se cumplan las condiciones.
 Monitoreo de la cadena de suministro: Estas cadenas de suministros involucran
grandes cantidades de información, principalmente cuando los bienes se mueven de un lugar
a otro en el mundo. El almacenamiento de esta información en la cadena de bloques facilitará
el seguimiento y la supervisión de los suministros.
 Votación: Los especialistas de esta tecnología siguen investigando formas de aplicar
blockchain para la prevención de los fraudes electorales. Técnicamente la votación usando
blockchain permitiría a las personas enviar votos que no pudieran ser alterados y erradicar
la necesidad de comprobar la identidad o el recuento de votos.

1.8.3.2. ¿Por qué blockchain es tan segura?


Desde el punto de vista de Pastorino (2018), argumenta que al ser la cadena de bloques
una tecnología distribuida, donde cada nodo de la red almacena una copia exacta de la
cadena, la disponibilidad de la información está siempre garantizada. En el caso de que un
hacker quiera provocar un ataque DoS, debería desactivar todos los nodos conectados a la
red, porque basta que un solo nodo este activo, para conseguir información.

Por otra parte, al tratarse de un registro de consenso donde todos los nodos guardan
exactamente igual la información, es prácticamente imposible modificarlo. Ahora bien, si
un hacker quisiera alterar la información en la cadena de bloques, tendría que modificar toda
la cadena en al menos el 51% de nodos.

En resumidas cuentas, como cada bloque está vinculado al siguiente, cuando se agrega
un bloque nuevo a la cadena, se vuelve inmutable (inalterable). Si se modifica un bloque, se
rompe su relación con la cadena.

Cabe resaltar, la tecnología blockchain nos permite almacenar información que nunca se
puede perder, modificar o eliminar.
Marco Teórico 17

Sin embargo, en la tecnología de cadena de bloques, se distribuyen los datos en cada uno
de los nodos de la red. No existe un nodo central, estos participan individualmente
almacenando y validando toda la información. En resumen, es una herramienta muy eficaz
para el almacenamiento y verificación de información de manera confiable; es un modelo
descentralizado en el que la información nos pertenece, ya que no dependemos de la empresa
que presta el servicio.

1.9 Marco conceptual


1.9.1. Las Tecnologías de la Información y comunicación (TICs).

Marqués Graells (2012), afirma:


Las Tecnologías de la Información y las Comunicación (TIC) son incuestionables y
están ahí, forman parte de la cultura tecnológica que nos rodea y con la que debemos
convivir. Amplían nuestras capacidades físicas y mentales. Y las posibilidades de
desarrollo social. (p.2)
Además, las TIC son el resultado de la interacción de la informática y las
telecomunicaciones. Todo con la finalidad de mejorar el tratamiento, almacenamiento y
transmisión de la información. De esta forma se consigue modernizar el nivel de nuestras
comunicaciones, estableciendo formas de comunicación nuevas y mejorando la calidad de
vida muchas personas (Jiménez Bermejo, 2013).

Según Jiménez Bermejo (2013), los elementos que componen la información son:

 Las terminales: La tecnología está avanzando y se han introducido nuevos tipos de


terminales mejorando sus características. Por ejemplo: los dispositivos han revolucionado la
comunicación como la videollamada, redes sociales, aplicaciones, entre otros.
 Las redes: Estas han permitido que nuestros dispositivos estén interconectados a
través del internet, han mejorado la telefonía fija y móvil, el internet ha tenido también su
proceso pasando de la conexión telefónica a la banda ancha, fibra óptica y creando la
conexión a los teléfonos móviles, gracias a estos progresos hoy en dia estamos informados
todo el tiempo.
 Los servicios: En la actualidad se nos ofrece un abanico amplio de servicios, algunos
ejemplos de ellos son: banca online, comercio electrónico, búsqueda de información, e-
gobierno, servicios privados, e-administración, entre otros.
Marco Teórico 18

1.9.2. La Web (WWW).

De acuerdo con Pacherres Muñoz (2018), este es el servicio más exitoso en Internet. Sus
iniciales corresponden a la frase inglesa World Wide Web, que en español significa Red
Informática Mundial, permite la distribución de información de documentos basada en
metadatos interconectados y accesibles desde la web, que se muestra a través de un
navegador web, en el cual las personas acceden a sitios web y pueden visualizar el contenido
multimedia que ellos deseen, para tener acceso a estos sitios web, se utiliza el protocolo
HTTP, que conduce inmediatamente a una página web.

En tal sentido, www ha crecido y cambiado el mundo drásticamente, el acceso a la


información contenida en él es universal y en su mayoría gratuita, a través de www, los
usuarios pueden acceder a una amplia variedad de información (cambiando así la
investigación) además de permitirle compartir sus pensamientos, experiencias y deseos
cotidianos (comunicarse con cualquier parte del mundo), lo que convierte a la Web en el
medio de mayor distribución en el mundo, al ser tan popular es de fácil acceso y cualquier
información que encuentre no es confiable (Pacherres Muñoz, 2018).

1.9.3. Página web.

De acuerdo con el Equipo editorial, Etecé (2021), se hace referencia a una página web,
página electrónica o página digital como un documento digital que es de naturaleza
multimedia (es decir, capaz de incluir audio, video, texto y una combinación de los mismos),
cumple con los estándares de la World Wide Web (WWW) y es accesible a través de un
navegador web y una conexión a Internet activa. Este es el formato básico para el contenido
web.
Cabe resaltar que, hay más de mil millones de sitios web en Internet de diversos géneros
y contenidos, de todo el mundo y en los principales idiomas que se hablan. Este es el
principal repositorio de información sobre la humanidad que existe hasta el día de hoy,
almacenado en miles de servidores alrededor del planeta, rápidamente accesible a través de
un sistema de protocolos de comunicación (HTTP).

1.9.3.1. Tipos de página web.


Según Peiró (2019), los tipos de página web mas relevantes son:

 Páginas web estáticos: Son páginas cuyo contenido no se puede modificar. Se


muestra información persistente y los usuarios no pueden interactuar.
Marco Teórico 19

 Páginas web dinámicos: los usuarios pueden crear contenido y colaborar. Suponen
lo contrario de la anterior. Entre ellos podemos destacar: blogs, foros, tiendas online, etc.
 Blogs: Son portales donde los autores suelen publicar artículos útiles sobre un tema
en particular. Los blogs son muy populares hoy en día porque su propósito es agregar valor
a los espectadores y mostrar la experiencia de los profesionales de los blogs.
 Tiendas en línea: Estos son sitios que se especializan en la compra y venta de
artículos. Muchas plataformas físicas han descubierto el potencial de Internet y cuentan con
sus propias tiendas online para que puedas comprar tus productos desde cualquier parte del
mundo.
 Motores de búsqueda: Son sitios donde los usuarios pueden buscar contenido
interesante relacionado con un tema en particular.

1.9.4. Sitio web.

De acuerdo con Pacherres Muñoz (2018), señala:


Un sitio web es la página principal o índice que alberga a un grupo de páginas web
referentes a una temática o investigación en particular, relacionadas entre sí por
hiperenlaces y son accesibles mediante una misma dirección url.
Se entiende como sitio web, al grupo de páginas web que están agrupadas y vinculadas
en el mismo dominio o subdominio. Un sitio web es una colección de archivos electrónicos
y páginas de Internet relacionados con un tema en particular, que consta de la primera página
de inicio, generalmente denominada página de inicio o página de inicio, accesible solo a
través del nombre de dominio y la dirección de Internet especificada (Universidad de
Panamá, s.f.).

1.9.5. Aplicaciones web.

Según Luján Mora (2002), una aplicación web (aplicación basada en web) es un tipo
especial de aplicación cliente/servidor en la que el cliente (navegador, explorador o visor1)
y el servidor (servidor web) y el protocolo que comunican (HTTP) están estandarizados y
no tienen que ser creado por el programador de la aplicación.
Cabe resaltar que, el protocolo HTTP es parte de la familia de protocolos de
comunicación TCP/IP, utilizados en Internet. Estos protocolos permiten la interconexión de
sistemas heterogéneos, facilitando el intercambio de información entre diferentes
ordenadores (p.47).
Marco Teórico 20

En otras palabras, una aplicación web es un sitio web que contiene páginas de contenido
desconocido, en su totalidad o en parte. El contenido final de una página se determina solo
cuando el usuario solicita una página del servidor web. Dado que el contenido final de la
página cambia con cada solicitud según las acciones del visitante, este tipo de página se
denomina página dinámica (Adobe, 2021).
De acuerdo con Gomez Rivera (2018), las aplicaciones web tienen sus ventajas y
desventajas:
Ventajas

 Estas son soluciones rápidas y baratas ya que requieren cada vez menos tiempo para
invertir en desarrollo.
 No tiene que crear una versión diferente para cada línea de dispositivos. Todos los
usuarios deben poder acceder a la aplicación web, independientemente de si utilizan iOS,
Android, tableta o PC.
 El entorno web es cada vez mejor para atraer a los usuarios. Esto se debe a que, al
principio, los usuarios suelen dudar en descargar herramientas que pueden no resultarles
útiles y utilizar el almacenamiento del dispositivo. Sin embargo, si solo sigue el enlace URL,
es más probable que lo pruebe.
 Utiliza un lenguaje familiar para los programadores, como HTML y CSS.
 No se requieren actualizaciones frecuentes, ni autenticación de usuario para realizar
cambios en el archivo. Si se realizan cambios, el usuario deberá volver a abrir el sitio para
encontrar la nueva versión sin previo aviso ni advertencia.
 Aunque son más lentas, es menos probable que las aplicaciones web se cuelguen y
bloqueen, para evitar problemas técnicos causados por incompatibilidades de software,
conflictos con las aplicaciones o los protocolos de seguridad del dispositivo.

Desventajas

 Los usuarios deben estar alojados en un sitio web Responsive y optimizada para
disfrutar plenamente de la aplicación.
 Como no es una aplicación nativa, no se puede encontrar en el "mercado" oficial de
los principales sistemas operativos móviles, como Apple Store y Play Store. Como tal,
muchos usuarios que busquen una aplicación en estas tiendas no podrán encontrarla.
 Necesitas descargar la aplicación nativa. Realizar este trámite aumentará tus
posibilidades de ser utilizado nuevamente y tu fidelización. Sin embargo, el mundo de la
Marco Teórico 21

web es más volátil, y si un usuario encuentra otra aplicación en Internet, puede consultar
con él la próxima vez que el usuario lo necesite.
 Las aplicaciones web normalmente requieren una mejor conexión que las
aplicaciones móviles para que los usuarios utilicen la herramienta.
 El rendimiento está limitado por la respuesta del navegador que ejecuta la aplicación.
 La experiencia del usuario es peor que la de porque se adapta menos al dispositivo
que usa que la aplicación nativa.
 La función sin conexión está completamente excluida en la aplicación web.

1.9.6. Estructura de una aplicación web.

Según Tobar Chicaiza (2014), se explica que:

Normalmente una aplicación Web en su interior es una estructura de tres capas, en


la primera capa corresponde a lo que se puede visualizar en un navegador Web o más
conocida como la capa de presentación, se encuentra también la capa conocida como
la de negocio, la misma que puede usar en la actualidad tecnologías Web dinámicas
como: PHP, JAVA, ASP.NET, por último se tiene la que corresponde a la Base de
Datos o más conocida como la de accesos a datos determinada por un software de
gestión de manejo de datos por ejemplo MySQL.

Es necesario recalcar, que el funcionamiento de un sitio web es un buen ejemplo de una


arquitectura cliente-servidor, en la que varios clientes se conectan a un servidor (en algunos
casos varios) al mismo tiempo. En general, el servidor depende de la configuración del sitio
web, mientras que el cliente suele ser un navegador, generalmente Mozilla Firefox o
Microsoft Explorer.

Figura 2. Arquitectura de las aplicaciones web. Información tomada de internet.


(Instituto Tecnológico de Matehuala, 2015).
Marco Teórico 22

Como en cualquier esquema cliente-servidor, debe existir un protocolo que especifique


cómo el cliente y el servidor se comunican e intercambian datos (Escuela especializada en
ingeniería - ITCA, s.f.).

De acuerdo con el Instituto Tecnológico de Matehuala (2015), las aplicaciones web se


modelan utilizando lo que se conoce como modelo de capas. Una capa representa un
elemento que procesa información. Las categorías son:

 Modelo de dos Capas

Una gran parte de la aplicación se ejecuta en el lado del cliente.

Las capas son:

• Cliente: La lógica de negocio está inmersa en la aplicación realizando la interfaz de


usuario, del lado del cliente.

• Servidor: Manejo de datos.

Las limitaciones que tiene este modelo son:

• Difícil de escalar

• Menos conexiones

• Alta carga de red.

• Flexibilidad limitada

• Funcionalidad limitada.

Figura 3. Modelo de dos capas de la aplicación web.


Información tomada de internet. (Instituto Tecnológico de
Matehuala, 2015).
Marco Teórico 23

 Modelo de tres Capas

En efecto, está diseñado para superar las limitaciones de las arquitecturas de dos niveles,
presenta una capa intermedia (la capa de proceso). Entre la presentación y los datos, los
procesos se pueden administrar por separado de la interfaz de usuario y los datos, esta capa
intermedia centraliza la lógica de negocio, lo que facilita la administración, los datos se
pueden integrar desde múltiples fuentes, las aplicaciones web actualmente se ajustan a este
modelo. Las capas de este modelo son:

1. Capa de presentación (parte en el cliente y parte en el servidor)


• Recopilar información del usuario y enviarla al servidor (cliente)
• Enviar información al proceso de la capa del proceso
• Obtener resultados de la capa del proceso
• Crear una presentación
• Mostrar presentación al usuario (cliente)

2. Capa de proceso (servidor web)


• Obtener entrada de datos de entrada de la capa de presentación
• Interactuar con la capa de datos para realizar operaciones
• Enviar resultados procesados a la capa de presentación
3. Capa de datos (servidor de datos)
• Almacenar datos
• Recuperar datos
• Mantener la integridad de datos seguros

Figura 4. Modelo de 3 capas; Información tomada de internet. (Instituto Tecnológico de Matehuala, 2015).
Marco Teórico 24

1.9.7. Patrón de diseño MVC.

Según Orozco Aguirre (2019), el Modelo Vista Controlador más conocido por sus siglas
(MVC), es un patrón de diseño arquitectónico de software que clasifica los datos de una
aplicación, la interfaz de usuario, y la lógica de control en tres componentes distintos:

Modelo: representación específica del dominio de la información sobre la cual funciona


una aplicación.

Como afirma García Sosa (2021), el modelo representa la información sobre la que opera
el sistema. La lógica de datos asegura la integridad gracias a reglas predefinidas: por
ejemplo, ejecutar acciones, controlar eventos, generar resultados de las reglas, entre otros.
Se conoce como reglas de negocio. El modelo es responsable de:

• Ser independiente del propio sistema de gestión.


• Determinar las reglas de negocio que operarán en el sistema. Por ejemplo: si el
inventario es igual al inventario mínimo, se debería crear una orden de compra.
• Mantener el historial de las vistas y los controladores del sistema.

Vista: Objeto que interactúa con el usuario a través de una interfaz. Normalmente es un
elemento de interfaz usuario.

De acuerdo con García Sosa (2021), esta es una representación visual a través de la
interfaz gráfica, en general, aunque puede tomar la forma de consola, una interfaz con otro
sistema, entre otras cosas. Se encarga de:

• Recibir datos del modelo y permitir que los visualice el usuario.


• Vincularse al controlador.
• Ejecutar acciones que realiza el modelo a través del controlador.

Controlador: interacciona con el usuario y con la aplicación, ya que interpreta la


información que el usuario provee (usualmente acciones) y provoca cambios en el modelo
y probablemente en la vista.

En efecto, es el responsable de responder a los eventos generados por el sistema, que


normalmente son activados por el usuario. Esto significa que el modelo y la vista de usuario
(interfaz) cambiarán. El controlador de datos es responsable de comprender las instrucciones
del usuario respondiendo a los datos representados por el modelo (García Sosa, 2021).
Marco Teórico 25

Por otra parte, la arquitectura MVC se introdujo como parte de la versión Smalltalk80 del
lenguaje de programación Smalltalk. Está diseñado para reducir el esfuerzo de programación
requerido para implementar múltiples sistemas de sincronización de los mismos datos.

Sus características clave son que los modelos, las vistas y los controladores se tratan como
entidades separadas; por lo que cualquier modificación realizada en el modelo se refleja
automáticamente en cada vista.

Figura 5. Funcionamiento del Modelo Vista


Controlador. Información tomada de internet. (Junta
de Andalucía, s.f.).

1.9.8. Lenguajes de programación web.

En efecto, un lenguaje de programación web es un código, que es interpretado por un


servidor para crear un sitio web dinámico. En otras palabras, puede incorporar funcionalidad
en su portal para permitir que los usuarios interactúen. Los ejemplos más habituales son
encuestas, formularios, juegos, foros, chats, carritos de la compra, etc.

Es importante señalar que, en estos lenguajes, los usuarios pueden solicitar servicios y el
servidor puede construir aplicaciones cliente/servidor que se encargan de procesar y
responder a las solicitudes (Nereavaquero, s.f.).

Dentro de los lenguajes de programación web más usados en la actualidad están:


Marco Teórico 26

 PHP

Figura 6. Lenguaje de programación web php; Información


tomada de internet. (Lenguajesdeprogramacion.net, s.f.).

Si bien es cierto, el preprocesador de hipertexto es un lenguaje de script escrito en


lenguaje C y Perl, se utiliza principalmente en la programación de páginas web y
aplicaciones web dinámicas. PHP se considera un lenguaje de programación web adecuado
para admitir HTML para principiantes. Por estas razones, suele ser uno de los primeros
lenguajes que aprenderán los futuros programadores.

Cabe recalcar, que mientras algunos consideran que PHP es un lenguaje obsoleto, muchos
propietarios de sitios web aún confían en PHP. Una de sus ventajas más importantes, es que
es un lenguaje que soporta base de datos y puede integrarse eficientemente con los
protocolos de Internet (Digital Guide IONOS, 2019).

De acuerdo con la Revista educativa Caracteristicasdel.com. Equipo de redacción


profesional (2021), las caracteristicas y desventajas del lenguaje de programación web PHP
son las siguientes:

Características

 Este lenguaje se considera fácil de aprender debido a que se han simplificado varias
especificaciones durante su desarrollo, como la definición de variables primitivas,
que son visibles al usar arreglos PHP.
 Este lenguaje está orientado al desarrollo de aplicaciones web dinámicas que puedan
acceder a datos almacenados en bases de datos.
 Puede conectarse con casi todos los motores de bases de datos actualmente en uso,
su conectividad es sobresaliente con PostgreSQL y MySQL.
 El código fuente escrito en este lenguaje es invisible para los clientes y navegadores
web porque el servidor es el encargado de ejecutar el código y enviar los resultados
HTM. en el navegador. Esto permite una programación PHP confiable y segura.
Marco Teórico 27

 Tiene mucha documentación en el sitio web oficial, la más importante de las cuales
son las funciones del sistema ilustradas y explicadas en un solo archivo de ayuda.
 Tiene potencial de extensibilidad usando módulos, también conocidos como
extensiones.
 Escalabilidad de las técnicas de programación orientada a objetos, incluidas
aplicaciones como Zend Framework, una empresa de desarrollo de PHP,
desarrollada íntegramente con este método.
 Es gratis, por lo que es una alternativa de fácil acceso para todos.
 Si bien un lenguaje de programación no requiere que el usuario adopte una
determinada metodología a la hora de programar, incluso al momento de hacerlo,
un programador puede incluir en su trabajo cualquier técnica de desarrollo cualquier
programador donde pueda escribir estructurado, limpio y código manejable.
 Tiene manejo de excepciones desde PHP5.
 No necesita definir tipos de variables, aunque se pueden evaluar al tipo que admiten
en tiempo de ejecución.

Desventajas

 Este es un lenguaje que realiza interpretaciones sobre la marcha, por lo que


no ocultar el código fuente puede ser un problema para algunas aplicaciones.
La ofuscación es una técnica que puede hacer que su código sea más difícil
de leer, pero no necesariamente le impide inspeccionar su código.
 Dado que es un lenguaje interpretado, el script en PHP suelen ser más lentos
que sus homólogos en lenguajes de bajo nivel. Sin embargo, este problema
se puede minimizar utilizando técnicas de almacenamiento en caché tanto
para la memoria como para los archivos.
 Las variables no tienen tipo, lo que dificulta que los diferentes IDE le
brinden orientación a medida que ingresa el código. Aunque esto no es un
problema o inconveniente del lenguaje en sí.
Marco Teórico 28

 Python

Figura 7. Figura 7. Lenguaje de programación web Python;


Información tomada de internet.
(Lenguajesdeprogramacion.net, s.f.).

En cuanto a Python, es un lenguaje de alta gama que utiliza código sólido, pero su sintaxis
es simple. Por ejemplo, Python es fácil de escribir porque los bloques están separados por
sangrías en lugar de caracteres especiales. Por esta razón este lenguaje es muy fácil de
aprender y usar. Se puede utilizar para implementar programación orientada a objetos,
funcional o aspectos, según sea necesario. Python también es dinámico y se usa ampliamente
como lenguaje de secuencias de comandos.

Por consiguiente, muchos servicios web populares, como YouTube y otros proyectos en
los Grupos de Google, dependen en parte de Python. La industria de los videojuegos utiliza
mucho este lenguaje de programación. Así también sucede para los proyectos científicos
donde Python es muy popular. Esto se debe principalmente a que este lenguaje de
programación se integra fácil con la mayoría de las bases de datos científicas (Digital Guide
IONOS, 2019).

Características

Las características más importantes del lenguaje de programación Python según


Lenguajesdeprogramacion.net (s.f.), son las siguientes:

 Lenguaje de propósito general: Esto significa que no está orientado a un objetivo


específico, como PHP, que está diseñado principalmente para crear páginas web.
Con Python puedes crear páginas sin muchos conocimientos (siendo JavaScript un
poderoso aliado), pero también puedes crear scripts o software para el sistema
operativo Windows.
Marco Teórico 29

 Es multiparadigma: Sí, aunque su fuerte es la programación orientada a objetos


(es un lenguaje de alto nivel), existen otros estilos de programación a disposición de
sus usuarios, como la programación imperativa (con sentencias en bucle) o
programación funcional
 Python es un lenguaje interpretado: cuando se programa en Python, no se compila
el código fuente en código de máquina, sino que se tiene un intérprete que ejecuta
el programa directamente desde el código.
 Es multiplataforma: a diferencia de muchos lenguajes como Visual Basic, que
específicamente solo pueden hacer cosas para Windows, con Python tienes la
capacidad de usarlo en múltiples dispositivos y sistemas operativos porque el
intérprete fue creado para Unix, Linux., sistema Windows y sistema operativo
Windows Mac.
 Es de tipo dinámico: cuando declaramos una variable, no es necesario especificar
el tipo de dato. Las variables se adaptan a lo que escribimos cuando ejecutamos el
software.
 Orientado a objetos: Dijimos que podíamos adoptar un estilo de programación
diferente, haciendo que el software orientado a objetos tuviera una serie de ventajas,
especialmente cuando se trata de reutilizar componentes gracias a la herencia y sus
funciones polimórficas.

Ventajas

Según la Revista Caracteristicasdel.com. Equipo de redacción profesional (2021), las


ventajas y desventajas que se destacan de este lenguaje de programación son:

Tabla 2. Ventajas y desventajas de Python.

Ventajas Desventajas
• Rápido y fácil: este lenguaje • Curva de aprendizaje: “La curva de
simplifica la programación y es aprendizaje después de acceder a un
muy recomendable como elemento web no es tan fácil”.
lenguaje de secuencias de • Alojamiento: la mayoría de los
comandos. servidores no son compatibles con
• Tiene una programación Python. Si es así, la configuración
productiva y sólida: Fácil de debería ser un poco complicada.
aprender, con una curva de • Bibliotecas incluidas: algunas
aprendizaje media, muy fácil para bibliotecas proporcionadas de forma
predeterminada no se adaptan a los
Marco Teórico 30

iniciarse en la programación y gustos de la comunidad en general y


mejorar la productividad. optan por utilizar otras librerías.
• Flexible y elegante: el lenguaje
ofrece una variedad de opciones
que facilitan la interpretación y
lectura de los programadores.
• Portabilidad: El lenguaje Python
es muy portátil. Hoy en día, se
puede utilizar en prácticamente
cualquier sistema.
• Limpio y ordenado: Como se
mencionó anteriormente, es fácil
de leer y los módulos están
perfectamente organizados.
• Comunidad: Tenemos una gran
cantidad de usuarios. Su
comunidad está interesada en
desarrollar el lenguaje en sí.

Información tomada del sitio Web. (Caracteristicasdel.com. Equipo de redacción profesional, 2021).
Elaborado por el autor.

 Java

Figura 8. Java; información tomada de internet


(Softwero, 2017).

En relación con este tema, Java es una multiplataforma de código abierto y su versatilidad
lo hace apropiado para casi cualquier proyecto. Como los lenguajes web más conocidos, está
orientado a objetos. Es decir, depende del alcance de la aplicación en particular. Hay
innumerables marcos y bibliotecas en Internet, la mayoría de los cuales están muy bien
documentados y son fáciles de implementar en proyectos web complejos.

Además, los programas escritos en Java son extensibles, escalables y fáciles de mantener,
siempre que el programador que ejecuta el proyecto sea un experto. El hecho de que Java
sea más difícil de aprender que otro código hace que haya pocos expertos en este lenguaje
de programación web (Digital Guide IONOS, 2019).

De acuerdo con AWS (2022), los usos generales de Java son:


Marco Teórico 31

• Desarrollo de juegos: muchos juegos móviles, de computadora y de video


populares están escritos en Java. Incluso los juegos más recientes, que integran
tecnologías avanzadas como el aprendizaje automático y la realidad virtual, se
basan en tecnología Java.
• Computación en la nube: es ideal para aplicaciones distribuidas basadas en la
nube. Los proveedores de la nube utilizan mucho el lenguaje Java para ejecutar
sus programas en una variedad de plataformas.
• Macrodatos: Java se utiliza para máquinas de procesamiento de datos que pueden
procesar conjuntos de datos complejos y grandes cantidades de datos en tiempo
real.
• Inteligencia artificial: Java es la fuerza impulsora detrás de las bibliotecas de
aprendizaje automático. Su estabilidad y velocidad lo hacen ideal para desarrollar
aplicaciones de inteligencia artificial como procesamiento de lenguaje natural y
aprendizaje profundo.
• Internet de las cosas: Java se utiliza para programar sensores y hardware para
periféricos que podrían conectarse a Internet por sí solos.

De acuerdo con Lenguajes de programacion.net (s.f.), las caracteristicas, ventajas y


desventajas del lenguaje de programacion Java son:

Características

• Popularidad: Este es el lenguaje de programación mas utilizado desde hace


muchos años.
• Orientado a objetos: Al programar en Java, todo está orientado a objetos porque
la base de este lenguaje es otro lenguaje de programación llamado C++. De esta
manera, le ayuda a visualizar realmente el programa.
• Robusto: Lo más importante al programar con tecnología Java es que es un
lenguaje confiable al escribir el código fuente. Una vez que lo aprendes a utilizar,
es difícil cometer errores.
• Multiplataforma: Portable porque permite escribir código que puede ejecutarse
en diferentes sistemas operativos.
• Interpretación: Las máquinas virtuales se pueden instalar en cualquier
dispositivo.

Ventajas y desventajas
Marco Teórico 32

Tabla 3. Ventajas y desventajas de Java.

Ventajas Desventajas
• Java es un lenguaje que • Más simple que otros lenguajes
proporciona una base muy buena similares como C ++, pero requiere
para aprender otros lenguajes como una base de conocimientos antes de
Python, PHP, C ++, gracias a esto poder empezar a hablar de objetos.
es mucho más fácil aprender un • Además, crear la primera aplicación
nuevo lenguaje de programación. Java requiere más esfuerzo (es
• Lenguaje multiplataforma. Esto decir, un aspecto profesional
significa que puede usar el mismo mínimo).
código en cualquier entorno, • Degradación del rendimiento por
incluidos Windows, Mac, Linux consumo de recursos (memoria
(gracias a la máquina virtual en el RAM, CPU, etc.) porque es un
momento de la instalación) e lenguaje precompilado (el código
incluso en dispositivos móviles con fuente se convierte en código
ajustes menores. interpretado) y requiere un
• La biblioteca contiene muchas framework.
funciones estándar, por lo que no
tiene que depender de componentes
de terceros para el desarrollo
(generalmente por una tarifa).

Información tomada del sitio Web. (Lenguajes de programacion.net, s.f.) Elaborado por el autor.

 JavaScript

Figura 9. JavaScript; información tomada de


internet (Ictea, s.f.).

Se define como, el lenguaje de secuencias de comandos dinámico orientado a objetos, no


tiene relación con Java a pesar de su nombre, aunque los dos comparten el hecho de que
están escritos en lenguaje C. Netscape desarrolló JavaScript por primera vez en 1995 como
LiveScript, con el objetivo de extender HTML y CSS para que los desarrolladores pudieran
evaluar interactivamente y presentar el contenido dinámicamente.

Actualmente, JavaScript se usa no solo en navegadores web sino también en


microcontroladores y servidores. El nombre JavaScript se eligió en función de la
popularidad de Java, el lenguaje que quería agregar. Fue todo un éxito: hoy en día, casi sin
Marco Teórico 33

excepción, los sitios web más populares utilizan JavaScript como lenguaje de programación
del lado del cliente.

Por otro lado, este lenguaje de programación web proporciona escritura dinámica y sin
clases. Como resultado, el programador puede elegir entre programación orientada a objetos,
procedimental o funcional, lo que agrega más flexibilidad a este lenguaje de programación.
Esto es especialmente evidente en los navegadores web: entre otras cosas, podrá manipular
el contenido de la página web, validar formularios antes de enviarlos al servidor, activar
diálogos e integraciones, cargar y descargar scripts (Digital Guide IONOS, 2019).

Características

Según Ictea (s.f.), las características más comunes del lenguaje de programación
JavaScript son las siguientes:

• Imperativo y estructurado: JavaScript es compatible con gran parte de la


estructura de programación de C, en las sentencias, bucles, entre otros elementos.
Una diferencia sintáctica con respecto a C es la inserción automática de punto y
coma, es decir, en JavaScript los puntos y coma que finalizan una sentencia
pueden ser omitidos.
• Dinámico: es de tipado dinámico, como en la mayoría de los lenguajes de
scripting, el tipo está asociado al valor, no a la variable. Los objetos en JavaScript
son arrays asociativos, mejorados con la inclusión de prototipos. Los nombres de
las propiedades de los objetos son claves de tipo cadena.
• Funcional: A las funciones se les suele llamar ciudadanos de primera clase; son
objetos en sí mismos. Como tal, poseen propiedades y métodos. Una función
anidada es una función definida dentro de otra. Esta es creada cada vez que la
función externa es invocada.
• Prototípico: JavaScript usa prototipos en vez de clases para el uso de herencia.
Es posible llegar a emular muchas de las características que proporcionan las
clases en lenguajes orientados a objetos tradicionales por medio de prototipos en
JavaScript.
• Entorno de ejecución: JavaScript normalmente depende del entorno en el que se
ejecute (por ejemplo, en un navegador web) para ofrecer objetos y métodos por
los que los scripts pueden interactuar con el "mundo exterior".
Marco Teórico 34

• Expresiones regulares: JavaScript también es compatible con expresiones


regulares de una manera similar a Perl, que proporcionan una sintaxis concisa y
poderosa para la manipulación de texto que es más sofisticado que las funciones
incorporadas a los objetos de tipo String.

De acuerdo con Zubikarai (2021), las ventajas y desventajas destacadas del lenguaje de
programación JavaScript son los siguientes:

Ventajas

• Velocidad: JavaScript a menudo se ejecuta instantáneamente en el navegador,


por lo que tiende a ser muy rápido. Las llamadas de los servidores back-end no
retrasan JavaScript a menos que requieran recursos externos.
• Simplicidad: la sintaxis de JavaScript está basada en Java y es relativamente fácil
de aprender en comparación con otros lenguajes de programación populares como
C ++.
• Popularidad: JavaScript es omnipresente en la web y, con la llegada de Node.js,
se usa cada vez más en el back-end. Hay innumerables recursos para aprender
JavaScript, tanto StackOverflow como GitHub han visto un número cada vez
mayor de proyectos que usan JavaScript y se espera que siga creciendo en
reputación en el transcurso del tiempo.
• Compatibilidad: a diferencia de PHP y otros lenguajes de secuencias de
comandos, JavaScript se puede utilizar en cualquier sitio web. JavaScript se puede
utilizar en diferentes tipos de aplicaciones, gracias al soporte en otros lenguajes
como Pearl y PHP.
• Interfaz simple: se puede usar JavaScript para crear funciones como arrastrar y
soltar, componentes como diapositivas para mejorar significativamente la interfaz
de usuario y la experiencia del sitio web.
• Versatilidad: Hay muchas formas de usar JavaScript en su servidor Node.js.
Puede desarrollar una aplicación completa de principio a fin utilizando solo
JavaScript.
• Actualizaciones: desde el lanzamiento de ECMAScript 5 (especificación basada
en JavaScript), ECMA International han trabajado rigorosamente para brindar
actualizaciones de JavaScript cada cierto tiempo.
Marco Teórico 35

Desventajas

• Seguridad del lado del cliente: el código de JavaScript se ejecuta en el lado del
cliente, por lo que los errores y los descuidos pueden usarse indebidamente con
fines maliciosos. Por esta razón, algunas personas optan por deshabilitar
JavaScript por completo.
• Soporte del navegador: los scripts del lado del servidor siempre devuelven los
mismos resultados, pero distintos navegadores pueden entender el código
JavaScript de diferente manera. Actualmente, la diferencia es insignificante y no
tiene que preocuparse en verificar el código en la mayoría de los navegadores.
• El principal problema o inconveniente de JavaScript es que el código siempre
está visible para cualquier persona que pueda ver el código JavaScript.

 C++

Figura 10. Lenguaje C++; información tomada de


internet (Lenguaje de programacion.net, s.f.).

Se trata de, uno de los lenguajes de programación más antiguos., C++ se basa en C.
Comenzó a desarrollarse en 1979 y fue diseñado como una extensión del mismo. No fue
hasta 1985 que estuvo ampliamente disponible. Hasta el día de hoy, es un idioma muy
popular. C++ es un lenguaje de programación aprobado por la ISO (Organización
Internacional para la Estandarización) que se considera de bajo nivel y eficiente, así como
complejo y muy abstracto.

Por otra parte, C++ es generalmente fácil de aprender, principalmente porque el núcleo
del lenguaje es muy completo e incluye alrededor de 60 palabras clave. El lenguaje se volvió
más complejo y grande gracias a su biblioteca estándar. La mayor fortaleza del lenguaje C
es su mezcla diversa y sus eficientes capacidades de programación de bajo nivel. Incluso los
procesos más complejos se pueden agrupar en funciones básicas. Como resultado, los
programadores de C++ ahorran mucho trabajo al poder confiar en el núcleo del lenguaje y
las bibliotecas estándar (Digital Guide IONOS, 2019).
Marco Teórico 36

Características

De acuerdo con el sitio web Lenguaje de programacion.net ( s.f.), las características mas
importantes del lenguaje de programación C++ son:

• Existe un estándar ISO llamado ANSI-C++.


• Es un lenguaje fuertemente tipado. Los programadores necesitan saber cómo
escribir y declarar código para que funcione.
• Es un lenguaje de programación orientada a objetos.
• Sobrecarga del operador.
• Admite expresiones lambda, también conocidas como funciones anónimas.
• Control de excepciones.
• Una biblioteca estándar que normalmente viene con el compilador.
• Compatibilidad con C y C++. El compilador de C++ puede compilar código
escrito en C o modificar ligeramente el código para usar la biblioteca de C.
• Usa punteros.
• Es portable y viene con una gran cantidad de compiladores en diferentes
plataformas y sistemas operativos.
• Eficiencia del hardware por ser un lenguaje compilado. Además, es bastante
parecido a un lenguaje de bajo nivel.

Según Rivas ( s.f.), las ventajas y desventajas del lenguaje de programación C++ son las
siguientes:

Ventajas

• Alto rendimiento: Es un lenguaje bastante efectivo para su tarea principal. Además,


las llamadas directas al sistema operativo son eficientes.
• Actualizar: Lanzado hace más de 35 años, la comunidad que lo respalda cada cierto
tiempo lanza una serie de actualizaciones para mantenerlo actualizado.
• Multiplataforma: También se debe agregar que es multiplataforma. Esto quiere
decir que en cualquier hardware y software funcionará sin problemas.
• Gestión de base de datos: Este lenguaje es muy bueno para desarrollar sistemas de
gestión de bases de datos. Esto se debe a que garantiza pasos clave como el
intercambio de datos, la consulta y la actualización.
Marco Teórico 37

• Uso y versatilidad del compilador: Este lenguaje es compilado. Esto implica el uso
de un compilador, y existen muchos tipos diferentes de compiladores (al menos para
C ++).
• Multiparadigma: De manera similar, C ++ admite una variedad de paradigmas de
programación, como orientado a objetos, modular, lógico, funcional y estructurado.
• Versatilidad: C ++ es extremadamente versátil para realizar sus tareas. Sin embargo,
una de las aplicaciones más populares es la programación orientada a objetos.
• Gráficos: Este lenguaje es muy útil para programas relacionados con gráficos. Puede
desarrollar programas para administrarlos o editarlos, o incluso crear gráficos a nivel
estadístico.
• Numerosos estilos: C ++ es extremadamente flexible en la sincronización de tareas,
especialmente para crear videojuegos de alta gama, aplicaciones de escritorio, bases
de datos, navegadores de Internet, entre otros.

Desventajas

• Alta curva de aprendizaje: C ++ es un lenguaje bastante poderoso en su


funcionalidad, pero es importante agregar que también es muy difícil de aprender,
especialmente si eres principiante o nuevo en otros lenguajes.
• Se requieren conocimientos previos en el lenguaje C: C ++ ha evolucionado a
partir de este lenguaje, por lo que es una buena idea saber algo sobre "C".
• No es bien recomendado para el diseño de páginas web: Cuando se trata de
desarrollo web, esta no es una de las mejores opciones. Puede ser muy complicado
si lo comparamos con otros lenguajes que hacen lo mismo, aunque la sintaxis no sea
muy complicada.
• Traducción a lenguaje máquina: Si usa un compilador, necesita traducirlo a
lenguaje de máquina. Sin embargo, esto es muy complicado porque C ++ no
proporciona suficientes operadores para ayudar en la operación.
Marco Teórico 38

 Perl

Figura 11. Lenguaje Perl; información tomada de internet


(Lenguajes de programacion.net, s.f.).

Si bien es cierto, el lenguaje de programación libre Perl se lanzó en 1987 como un


lenguaje de programación interpretado e inspiró a lenguajes como: PHP, JavaScript, Ruby
y Python. Los desarrolladores confían principalmente en la familia de lenguajes de
programación C. En general, es un lenguaje multiplataforma, diseñado principalmente para
su uso en la administración de sistemas y redes. Actualmente, Perl se ha consolidado como
uno de los lenguajes de programación más utilizados en los campos del software web, la
bioinformática y las finanzas.

Hasta ahora, los programadores disfrutan de una gran libertad y eficiencia en la


resolución de problemas. Por ejemplo, el texto se puede editar usando expresiones regulares
y, además, hay muchos módulos gratuitos disponibles para Perl a los que se puede acceder
a través del módulo de biblioteca de Perl, CPAN. Como lenguaje de programación, Perl se
mantiene fiel a sus principios de brindar siempre a los programadores múltiples formas de
lograr sus objetivos, manteniéndolo simple y eficiente, y trabajando en contexto.

En efecto, Perl ayudó a popularizar la World Wide Web y sigue utilizándose en la


actualidad para sistemas web, aunque es cierto que se usa con menos frecuencia en el campo
debido a su proximidad al hardware <<p. ej., con el servidor web>> y la velocidad <<p. ej.,
el controlador>> (Digital Guide IONOS, 2019).

Características

De acuerdo con Barquero Chaves & Méndez Rodríguez (s.f.), las características más
importantes del lenguaje de programación Perl son las siguientes:

• Difícil de aprender, pero fácil de usar. Después de horas de programar Perl, es


aún más fácil implementar Perl. Este lenguaje fue diseñado pensando en un
lenguaje práctico, eficiente y completo.
Marco Teórico 39

• Se puede considerarlo como un lenguaje sin fronteras, porque hay pocas cosas
que son imposibles con este lenguaje, ya que cuenta con bibliotecas y módulos
que se pueden usar para realizar cualquier tarea.
• Cuenta con soporte para una variedad de paradigmas de programación, Perl no
obliga a adherirse a un paradigma en particular, ni obliga a un programador a
elegir solo uno de ellos.
• Proporciona ayuda en línea desde la consola de comandos.
• Perl presenta la capacidad de ejecutar código o subrutinas en otros lenguajes de
programación.
• Otra característica extraña es que solo hay tres tipos de datos: escalar, lista y hash.
• Su ejecución es desde la línea de comandos de la ventana del sistema operativo.

Según el sitio web Lenguajes de programacion.net ( s.f.), las ventajas y desventajas del
lenguaje Perl son las siguientes:

Tabla 4. Ventajas y desventajas del lenguaje Perl.

Ventajas Desventajas
• Debido a que es un lenguaje de alto • A pesar de ser un lenguaje
nivel, la curva de aprendizaje es interpretado, los programas escritos
suave. en Perl se compilan al principio de
• Eficiente al procesar grandes la ejecución, lo que puede ser tardío
cantidades de datos. Un ejemplo es a diferencia de otros lenguajes de
que se utiliza en los mercados programación.
financieros y bioinformáticos. • El código no es muy legible en
• Se puede utilizar universalmente. comparación con otros lenguajes
Se puede utilizar no solo para el como Python (que también se puede
desarrollo web, sino también para usar para ejecutar scripts en el
otros entornos, como la gestión de servidor).
sistemas. • A pesar de ser un lenguaje
• Multiplataforma y viene con una interpretado, los programas escritos
instalación de SO Linux/Unix. en Perl se compilan al principio de
• Adecuado como alternativa a C la ejecución, lo que puede ser tardío
porque no requiere manipular a diferencia de otros lenguajes de
punteros. programación.
• El código no es muy legible en
comparación con otros lenguajes
como Python (que también se puede
usar para ejecutar scripts en el
servidor).
• No hay control de excepción y los
errores potenciales generalmente se
encuentran en dificultad media.
Información tomada del sitio Web. (Lenguajes de programacion.net, s.f.). Elaborado por el autor.
Marco Teórico 40

1.9.9. La cadena de bloques (Blockchain).

De acuerdo con Marín Bermúdez (2016), blockchain es la base principal del Bitcoin. En
un entorno P2P distribuido, una vez que se tiene el sistema de transacciones entre
direcciones, el problema básico a resolver es cómo transferir la información de transacciones
entre nodos para que todos los nodos tengan la misma información y no haya ningún
problema de presencia, seguridad, pagos dobles y más. Blockchain resuelve estos problemas
y permite que las monedas funcionen.

La cadena de bloques es básicamente una base de datos distribuida que almacena todas
las transacciones realizadas. Cada bloque contiene un conjunto de transacciones y una
referencia al bloque anterior de la cadena. Además, una transacción se considera válida solo
si es parte de la cadena de bloques.

Por lo tanto, la cadena de bloques contiene todas las transacciones que se consideran
válidas. La siguiente figura ilustra el concepto de un bloque de transacción encadenado
(incluyendo una referencia de un bloque al siguiente).

Por consiguiente, el funcionamiento se da de esta manera:

Figura 12. Cadena de bloques de transacciones. Información tomada de (Marín Bermúdez, 2016)

1. El usuario prepara la transacción utilizando las entradas y salidas. Utiliza la clave


privada para probar el uso de la entrada y escribe la dirección del destinatario en la salida.

2. El usuario envía esta transacción al nodo Bitcoin para su verificación.

3 El nodo valida la transacción. Comprobar que es correcto, que la cadena blockchain ya


no contiene una transacción anterior por el mismo medio, etc.
Marco Teórico 41

4. El nodo agrupa múltiples transacciones enviadas y crea un nuevo bloque a partir de


ellas.

5. El nodo agrega un nuevo bloque a la cadena de bloques.

6. El nodo distribuye la nueva cadena a otros nodos de Bitcoin para que se puedan
considerar nuevos bloques.

Este esquema de funcionamiento depende completamente de la honestidad de los


diferentes nodos y la capacidad de estar siempre de acuerdo para ser una cadena de bloques
válida. Esto se debe a que diferentes nodos pueden integrar diferentes bloques con diferentes
transacciones en la misma cadena base.

Desde una perspectiva más general, el funcionamiento de la tecnología Blockchain en las


votaciones. Pimentel (2018), dice:

Una blockchain es una herramienta que permite mantener múltiples copias


de un conjunto de datos sincronizadas entre sí. Un nombre que también se
le da es «distributed ledger», esto es, libro de consultas distribuido. La
blockchain se estructura en bloques ordenados (de ahí su nombre: «cadena
de bloques»), donde a su vez, cada bloque está compuesto por unidades de
almacenamiento (en esto caso, votos), que contienen los datos que se buscan
guardar y distribuir.

1.9.9.1. Ventajas de la tecnología Blockchain.


En relación con este tema, las ventajas más importantes de Blockchain según LISA
Institute (2021), son:

 Mayor precisión de transacciones: las transacciones de Blockchain deben validarse


en múltiples nodos, lo que reduce los errores. Por otra parte, cada activo se identifica y
rastrea uno a uno en la cadena de bloques, por esta razón no hay modo de usarlo dos veces.
 Sin necesidad de intermediarios: Blockchain permite que dos partes de una
transacción puedan ratificar y finalizar algo sin requerir de un tercero u organización,
ahorrando tiempo y dinero.
 Seguridad adicional: Técnicamente, en una red descentralizada como blockchain,
es casi imposible que una persona cometa acciones fraudulentas. Para ejecutar una
transacción falsa, cada nodo tendría que ser pirateado y cada uno de los libros de
Marco Teórico 42

contabilidad modificado. Para esto se utilizan métodos para verificar sus transacciones de
prueba de participación para dificultar las operaciones fraudulentas.
 Transferencias más eficientes: estas transferencias se pueden realizar en cualquier
momento y en cualquier lugar con operaciones ilimitadas e ininterrumpidas en la cadena de
bloques.

1.9.9.2. Tipos de Blockchain.


Según Lucuy, Köller Vargas, & Galaburda (2019), existen tres tipos de Blockchain:

 Las Blockchain públicas: Las cadenas de bloques públicas como Bitcoin y


Ethereum pueden ser accedidas por cualquier persona en el mundo con una computadora y
acceso a Internet. En este tipo de blockchain, todos tienen derecho a enviar transacciones,
participar en procesos de consenso y leer toda la información.

 Las Blockchain privadas: Solo se permite el acceso a través de invitaciones o algún


tipo de autenticación de nodo. Las acciones de Blockchain solo pueden ser realizadas por
los llamados nodos confiables.

 Blockchain híbridas o Blockchain con permisos: Esta Blockchain es la


combinación de las dos anteriores. La cadena de bloques híbrida permite integrar aspectos
de ambos tipos de cadenas de bloques para obtener una lista de nodos con permisos
específicos y visibilidad de la información pública (p.5).

1.9.9.3. Características de la tecnología Blockchain.


Por lo que se refiere, las principales características de la tecnología Blockchain de
acuerdo con Armijos Tandazo (2022), son las siguientes:

 Cifrado: se centra en descifrar la información. Solo el destinatario y el remitente


conocen el contenido de la transacción. Las operaciones enviadas se ordenan en bloques y
se registran en orden.
 Inalterabilidad: El contenido es inmutable, lo que significa que no se puede
modificar ni eliminar, según su partición. Esto le permite ver la información en cualquier
momento.
 No necesidad de confianza: A través del programa de autenticación, puede incluir
información confiable sin tener que establecer una conexión legítima entre los nodos. Esto
se debe a que solo podemos presentar información real, en caso de que se incluya datos que
no siguen los estándares establecidos, el sistema los eliminará inmediatamente.
Marco Teórico 43

 Transparencia: Las personas pueden acceder a los informes generados cada vez que
deseen y desde cualquier parte del mundo sin problema alguno.

1.9.9.4. Componentes de la tecnología Blockchain.


Según Yahari Navarro (2019), los componentes de la cadena de bloques son las
siguientes:

 Bloques: Se entiende como, una agrupación de transacciones que deben ser


confirmadas y agregadas a la cadena de bloques.

Por otro lado, Bit2me ACADEMY (s.f.) señala que cada bloque que forma parte de una
cadena (excepto el primer bloque que inicia la cadena) consta de:

• Un código alfanumérico que hace referencia al bloque anterior,


• El paquete de transacciones que lo componen,

Otro código alfanumérico que se conectara al siguiente bloque.

Figura 13. Cadena de bloques. Información tomada del artículo Blockchain y sus aplicaciones.
Universidad Católica Nuestra Señora de la Asunción.

Así pues, lo que intenta hacer el bloque actual es estudiar el último punto con cálculos.
Los bloques son formados por mineros.

 Mineros

“Los mineros son ordenadores dedicados que aportan su poder computacional a la red
para verificar las transacciones que se llevan a cabo. Son computadoras que se encargan de
autorizar la adición de los bloques de transacción” (Yahari Navarro, 2019).

Como menciona Yahari Navarro (2019), los mineros siguen estos pasos.
Marco Teórico 44

• Las nuevas transacciones se transfieren a todos los nodos.


• Cada nodo de la minería recopila las nuevas transacciones en un bloque.
• Cada nodo minero trabaja para encontrar evidencia de la actividad de su bloque.
• Cuando un nodo de la minería halla una prueba de trabajo, transmite el bloque a
todos los nodos.
• Los nodos restantes solo aceptan bloques si todas las transacciones son válidas y
no se han emitido.
• Los nodos demuestran su aceptación del bloque trabajando para generar el
siguiente bloque en la cadena, utilizando el hash del bloque aceptado como el
hash anterior.

Continuamente, si alguien completa un bloque, será recompensado en forma de bitcoin


por cada transacción ejecutada.

 Nodos

Se define como, un servidor conectado a su red mediante un sistema que recopila y


proporciona copias actualizadas en tiempo real de su cadena de bloques.

Cabe destacar, que cada momento que se confirma y agrega un bloque a la cadena, el
cambio se comunica a todos los nodos y se incluye en la copia que almacena cada nodo. Un
grupo llamado pools de minería, se encargan de percibir nuevas transacciones y agregarlas
en bloques para brindarlas como tarea a los mineros, quienes, una vez confirmados, serán
entregados a la red y agregados a la cadena de bloques (Yahari Navarro, 2019).

1.9.10. Descentralización peer to peer (P2P).

“Se trata de una red de pares, o red entre iguales, donde todos los nodos que forman la
red se comportan como iguales entre sí, actuando a la vez como servidores y clientes del
resto de nodos de la red” (Bermúdez, 2016).
Marco Teórico 45

Figura 14. Componentes blockchain, Información tomada del artículo Blockchain y


sus aplicaciones. Universidad Católica Nuestra Señora de la Asunción.

Mejía Herrera & Múnera Sánchez (2022), describen a la red P2P o peer-to-peer como
una arquitectura de computación distribuida en la que los diferentes nodos que componen
esta red comparten entre sí parte de sus recursos de cómputo, tales como: ancho de banda,
RAM, espacio en disco, entre otros; no se necesita un nodo central para monitorear todo, los
nodos de esta red no son jerárquicos entre cliente-servidor, son iguales y capaces de actuar
como cliente y servidor respectivamente. Una de las principales ventajas de esta clase de red
es que es más resistente ante imprevistos que puedan surgir, esto sucede debido a que todos
los nodos trabajan de forma independiente.

1.9.11. Criptografía.

De acuerdo con Neira Gallo (2019), es necesario que existan los algoritmos criptográficos
para que puedan ayudar a evitar los ataques maliciosos porque se encargan de que el código
sea más robusto y fiable garantizando una mayor complejidad de ser vulnerado, donde una
de las causas más comunes es duplicidad de información. La cadena de bloques está basada
en el uso de las siguientes funciones para encriptado de datos:

• Hashes y Árbol de Merkle


• Proof of work
• Firma digital
Marco Teórico 46

1.9.12. Transacciones.

Según Marín Bermúdez (2016), as transacciones son un elemento central del sistema. El
objetivo final es poder intercambiar dinero de forma segura entre usuarios. Una transacción
consta de dos componentes principales:

 Salida de transacción. Es una remesa. Especifica la cantidad a enviar y el


destinatario de los fondos.
 Entrada de transacciones. Estos son los fondos utilizados para la transacción.
Estos fondos deben proceder de una transacción anterior. Por lo tanto, la entrada
de una transacción es en realidad una referencia a la salida de la transacción
anterior.

Figura 15. Funcionamiento de transacciones. Información tomada de (Marín Bermúdez, 2016).

1.9.13. Minería.

Según Casares (2019), las transacciones en la plataforma blockchain se validan mediante


una serie de cálculos criptográficos. Estas actividades son la base; sin ellos, las
criptomonedas no funcionarían. Así mismo, debido a que es una red peer-to-peer, una
persona con acceso a un ordenador podría utilizar el dispositivo para resolver estos cálculos.
Marco Teórico 47

Por lo tanto, si una persona realiza un procedimiento exitoso, una parte de la


criptomoneda se le entrega como recompensa. A esto se le denomina minería. De esta
manera los mineros respaldan esta red para que funcione de una forma rápida y segura.

Posteriormente, se muestra un diagrama explicativo:

Figura 16. Minería de criptomonedas, Información tomada del sitio web (Ig Trading, s.f.).

1.9.13.1. Criptomonedas.
En cuanto a las criptomonedas, como las describe Casares (2019), son medios digitales
de intercambio que utilizan un cifrado fuerte para proteger y autenticar las transacciones
entre pares. A diferencia de las monedas tradicionales, las monedas digitales no están
controladas por agencias centrales o gubernamentales.

Así, como el oro y el arroz, los precios están determinados por la oferta y la demanda. Su
primordial particularidad financiera es que se emite por adelantado. Nadie puede cambiar
las reglas del juego porque ya han sido creadas e integradas en el código central. Esto
significa que el gobierno no puede controlar o cambiar el sistema.

Es necesario recalcar, que los aspectos más importantes de las transacciones son:

 Irreversibilidad: Las transacciones no pueden volver a su estado anterior.


 Anonimato: No tiene nada que ver con los datos personales reales.
 Global y rápido: Acceso a transacciones mundiales en minutos.
 Seguridad: Sistema descentralizado, sin daños y sin debilidades.

1.9.14. Herramienta Face detection.

De acuerdo con Kapersky (s.f.), el reconocimiento facial es una forma de identificar o


confirmar la identidad de una persona a través de su rostro. Se utiliza para reconocer y
comprobar la identidad de personas en fotos, videos o en tiempo real. La detección de caras
Marco Teórico 48

es una clase de seguridad biométrica. Otras formas de software biométrico incluyen


reconocimiento de voz, reconocimiento de huellas dactilares y reconocimiento de retina o
iris.

1.9.14.1. Open CV.


En efecto, esta herramienta se utiliza principalmente para las fuerzas de seguridad y
protección, aunque existe un interés creciente en otras áreas de uso. La tecnología biométrica
ofrece soluciones de seguridad muy atractivas. Permite la detección de rostros en imágenes
cargadas y autenticar a personas en tiempo real.

Ventajas del reconocimiento facial

• Seguridad mejorada
• Pocos delitos
• Procesamiento más rápido
• Integración con otras tecnologías

1.9.15. Metodologías de desarrollo de software.

De acuerdo con Maida & Pacienzia (2015), la metodología de desarrollo de software es


un marco utilizado para estructurar, planificar y controlar el proceso de desarrollo del
sistema de información. Estos diversos marcos han evolucionado a lo largo de los años,
cada uno con sus propias fortalezas y debilidades. Las metodologías de desarrollo de
sistemas no necesariamente tienen que ser adecuadas para todos los proyectos. Cada método
disponible es el más adecuado para un tipo particular de proyecto, en función de
consideraciones técnicas, organizativas, de proyecto y de equipo. El marco de la
metodología de desarrollo de software consiste en:

 Filosofía de desarrollo de software utilizando un enfoque de proceso de


desarrollo, esto depende del software.
 Múltiples herramientas para apoyar el proceso de desarrollo de software.

Estos marcos a menudo se asocian con ciertas organizaciones responsables de desarrollar,


apoyar, usar y promover metodologías. En muchos casos, la metodología está formalmente
documentada (Maida & Pacienzia, 2015).
Marco Teórico 49

Figura 17. Comparación entre metodología ágil y tradicional. Información tomada del sitio web (Maida
& Pacienzia, 2015).

1.9.15.1. Metodologías ágiles.


Según Maida & Pacienzia (2015), los modelos de desarrollo ágiles son generalmente
procesos incrementales (frecuentemente entregados en ciclos rápidos), colaboración
(clientes y desarrolladores siempre trabajan con una comunicación muy fina y constante),
simple (permite modificar métodos) y por último adaptable (para permitir cambios de última
hora). Este tipo de metodología hacen que la entrega de proyectos sea favorable para los
equipos de trabajo y clientes. Crean poca documentación y no usan métodos formales.
Proporciona un conjunto de pautas y principios, junto con técnicas prácticas. Estos métodos
enfatizan que la capacidad de responder al cambio es más importante que apegarse
exactamente al plan.

En efecto, dentro de las principales metodologías ágiles más usadas tenemos: Extreme
Programming (xp), Scrum, Iconix.
Marco Teórico 50

 Extreme Programming (XP)

La Programación Extrema (XP) es considerada la aplicación más radical del desarrollo


ágil de software. En otras palabras, no hay metodología que sea más ágil que XP. La
programación extrema es especialmente diferente del desarrollo en cascada en este contexto.
A mediados de la década de 1990, los desarrolladores Kent Beck, Ward Cunningham y Ron
Jeffries decidieron tomar una nueva dirección en la forma tradicional (Digital Guide IONOS,
2019).

Con respecto a la programación extrema, esta suele basarse en las necesidades del cliente.
Esto parece obvio, pero el desarrollo de software tradicional solo puede satisfacer
parcialmente las demandas de los clientes, especialmente cuando estos requisitos cambian
frecuentemente. Además, XP tiene como objetivo promover la creatividad de los
desarrolladores y aceptar los errores como parte natural de su trabajo (Digital Guide IONOS,
2019).

Características

• Es una metodología ágil centrada en potenciar las relaciones interpersonales como


clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo,
preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen
clima de trabajo (Maida & Pacienzia, 2015).
• XP se basa en realimentación continua entre el cliente y el equipo de desarrollo,
comunicación fluida entre todos los participantes, simplicidad en las soluciones
implementadas y coraje para enfrentar los cambios (Maida & Pacienzia, 2015).
• XP se define como especialmente adecuada para proyectos con requisitos
imprecisos y muy cambiantes, y donde existe un alto riesgo técnico (Maida &
Pacienzia, 2015).

Figura 18. Comparación entre metodología ágil y tradicional.


Marco Teórico 51

De acuerdo con Digital Guide IONOS (2019), las ventajas y desventajas mas relevantes
de esta metodología ágil son:

Tabla 5. Ventajas y desventajas de la metodología XP

Ventajas Desventajas
• Relaciones cercanas con los • Más cargas de trabajo.
clientes.
• Software estable con pruebas • El cliente forma parte fundamental
continuas. en el desarrollo de esta
metodología.
• Reducción de errores con • Se necesita de mucho tiempo.
programación en pares. • Relativamente caro.
• Crear versiones cada cierto tiempo.
• Sin horas extras, administración
única del tiempo.
• Implementación rápida de cambios.
• Código fácil de entender.

Información tomada del sitio Web. (Digital Guide IONOS, 2019). Elaborado por el autor.

 Scrum

Según Maida & Pacienzia (2015), la forma en como funciona Scrum tiene los principios
básicos de la década de 1980. Fue desarrollado a partir de la inevitabilidad de un proceso de
reingeniería por parte de Goldratt, Takeuchi y Nonaka. El concepto Scrum tiene sus raíces
en un proceso de desarrollo de nuevos productos que ha tenido éxito en Japón y Estados
Unidos.

El equipo que desarrolló estos procesos comenzó con requisitos muy generales, era
novedoso y necesitaba llegar al mercado en un tiempo mucho más corto que la introducción
de productos anteriores. Estos equipos siguieron un patrón de ejecución de proyectos muy
similar.

Características

De acuerdo con Maida & Pacienzia (2015), las carácterísticas más relevantes son:

• Desarrollo paso a paso de los requisitos del proyecto. Bloques de corto tiempo
fijo (iteración de 1 mes calendario y opcionalmente iteración de hasta 2 semanas).
• Priorizar el valor del cliente y los requisitos de costos de desarrollo en cada
iteración.
• Gestión empírica del proyecto. Por un lado, al final de cada iteración, el cliente
ve los resultados reales obtenidos, lo que le permite tomar las decisiones
Marco Teórico 52

necesarias en función de las observaciones en ese momento y el contexto del


proyecto.
• Autorizar al equipo para garantizar que cumpla con ciertos requisitos y otorgarle
la autoridad que necesita para organizar su trabajo con ese fin.
• Una caja de tiempo de las actividades del proyecto para apoyar la toma de
decisiones y proporcionar resultados.
• Puede realizar cambios fácilmente en su proyecto.
• Estabilidad de los miembros del equipo.

Figura 19. Proceso de aplicación de Scrum. Información tomada del sitio web (Maida &
Pacienzia, 2015).

Ventajas

Las ventajas más importantes según Maida & Pacienzia (2015), son las siguientes:

 Entrega parcial de resultados a corto plazo


 Gestionar las expectativas de los clientes de forma periódica y en función de
resultados concretos.
 Resultados esperados.
 Adaptación a las necesidades del cliente.
 Minimización sistemática del riesgo del proyecto.
 Productividad y calidad.
 Coordinación entre las personas que conforman del equipo de trabajo
 Un equipo motivado.
Marco Teórico 53

Desventajas

Uzeta Reyes (2018), destaca las siguientes desventajas de la metodología Scrum:

 Los miembros de un equipo pueden saltarse pasos importantes para avanzar


rápido hacia la línea de meta.
 Los clientes a menudo esperan informes con fechas precisas y solicitan
informes antes asi no haya progreso.
 Hay demasiadas reuniones y poco progreso, y tener varias reuniones sobre el
mismo tema puede ser muy agotador y estresante.
 Si una persona renuncia o cambia, es difícil reemplazar ese rol porque es la
persona que tiene el conocimiento específico e influye en todo el proyecto.
 No aplicable para sectores de TI diversos o de gran escala.

 Iconix

Con respecto a Iconix, Es un proceso integrado en comparación con los procesos


tradicionales, y es un conjunto de métodos orientados a objetos destinados a cubrir todo el
ciclo de vida de un proyecto.

En efecto, Iconix es un método de desarrollo de software pesado que se encuentra entre


RUP (Rational Unified Process) y XP (Extreme Programming), y es un conjunto de métodos
orientados a objetos, destinados a controlar de forma estricta todo el ciclo de desarrollo del
producto (Azabache Medina & Caruajulca Sanchez, 2019).

Características

De acuerdo con Azabache Medina & Caruajulca Sanchez (2019), las características de la
metodología Iconix son las siguientes:

 Iterativo e incremental: se producen varias iteraciones durante el desarrollo del


modelo de dominio y la definición de casos de uso. El ciclo de vida incremental
consiste en el desarrollo parcial de un producto para que pueda integrarse
funcionalmente.
 Ciclo de vida repetitivo: En cada ciclo de iteración, el producto se verifica y mejora.
El desarrollo se organiza en una serie de mini proyectos cortos llamados iteraciones.
Marco Teórico 54

 Trazabilidad: Cada paso realizado está definido por sus requerimientos. La


trazabilidad se define como la capacidad de rastrear las relaciones entre los diversos
artefactos de software generados.
 UML Dynamics: Al igual que en el caso de RUP, esta metodología permite utilizar
diagramas UML, sin necesidad de usarlos todos.

Figura 20. Proceso de la metodología Iconix. Información tomada del sitio web.
(Ostaiza Mero, 2017).

Ventajas

Las ventajas fundamentales de esta metodología, según lo describe Sarmiento Yanza


(2021) son las siguientes:

 Capacidad para responder a requisitos cambiantes durante el desarrollo.


 Entrega continua, es decir, software que funciona.
 Cooperación de parte del cliente y el equipo de desarrollo.
 La importancia de la sencillez para evitar trabajos innecesarios.
 Mejora continua de procesos y equipos de desarrollo.

Desventajas

 Requiere de información precisa para realizar los requisitos funcionales.


 Por otro lado, no se utiliza para proyectos a largo plazo.
Marco Teórico 55

1.10 Marco legal


En el marco legal se va a describir los reglamentos aplicados a las elecciones de la
Universidad de Guayaquil.

1.10.1. Reglamento general de elecciones de la universidad de guayaquil.

NATURALEZA Y OBJETO

Artículo 1.- El sufragio universitario: Es un deber y un derecho del


personal académico, de los servidores administrativos, trabajadores y
estudiantes de la Universidad de Guayaquil, a elegir y ser elegidos a través
del sufragio a las siguientes dignidades:

a) Primeras autoridades de la Universidad de Guayaquil.

b) Representantes a integrar el Consejo Superior Universitario.

c) Representantes a integrar el Consejo de Facultad.

d) Delegados y representantes para integrar la Asamblea del Sistema de


Educación Superior.

e) Representantes de las organizaciones gremiales. (Universidad de


Guayaquil, 2020)

El artículo 1 del reglamento de las elecciones de la Universidad de Guayaquil, enfatiza


que el sufragio es un derecho de todas las personas que conforman la Universidad
(estudiantes, trabajadores, administrativos) y estos pueden postularse por medio de las
elecciones a la dignidad que desean representar.

Artículo 2.- La votación: Será universal, directa, secreta y obligatoria


para el personal académico, trabajadores acreditados y regulados por la
Ley Orgánica de Educación Superior, Ley Orgánica de Servicio Público,
Código de Trabajo y los estudiantes regulares de la Universidad de
Guayaquil, que consten en el padrón electoral. (Universidad de Guayaquil,
2020)

En el artículo 2 del reglamento de las elecciones de la Universidad de Guayaquil,


se da a conocer que la votación es obligatoria y secreta, los votantes, en el caso del
personal académico, estos deben estar regulados por leyes de educación, servicio
Marco Teórico 56

público y del código de trabajo; sin embargo, por la parte de los estudiantes, estos
deben de constar en el padrón electoral para ejercer su voto.

DE LOS REPRESENTANTES DEL CONSEJO SUPERIOR UNIVERSITARIO

Artículo 20.- De la elección del representante estudiantil: La votación


será universal, directa y secreta, por parte de los estudiantes regulares,
entendidos como tales, los estudiantes que se encuentren matriculados al
menos en el sesenta por ciento (60%) de todas las materias u horas y/o
créditos que permite su malla curricular en cada período, que consten en el
padrón electoral. (Universidad de Guayaquil, 2020)

Con respecto al artículo 20, que nos habla de la elección de los representantes
estudiantiles para el consejo universitario, solo podrán ejercer la votación aquellos
estudiantes que estén matriculados en el sesenta por ciento de las materias que tienen en su
malla curricular de cada periodo y que también que estén registrados en el padrón electoral
para efectuar su voto.

TRIBUNAL ELECTORAL

Artículo 54.- Los procesos democráticos de elecciones serán organizados


y ejecutados por el Tribunal Electoral de la Universidad de Guayaquil, que
será designado por el Consejo Superior Universitario, durarán dos años en
sus funciones y estará conformado por:

a) Cuatro representantes del personal académico titulares de la


Universidad de Guayaquil, de diferentes Unidades Científicas y
Académicas, respetando la paridad de género y la alternabilidad.

b) Un representante de los estudiantes.

c) Un representante de los servidores o trabajadores; y,

d) El Procurador Síndico de la Universidad. (Universidad de Guayaquil,


2020)

En efecto, en el artículo 54 de las elecciones de la Universidad de Guayaquil, se indica


que las votaciones electorales serán realizadas por el tribunal electoral, que estarán elegidos
por el consejo superior universitario y estos durarán dos años en sus respectivas
designaciones, estarán conformados por: 4 representantes del personal académico, 1
Marco Teórico 57

representante por parte de los estudiantes, 1 representante de los trabajadores y por último
un procurador síndico de la universidad.
Capítulo II

Metodología

2.1 Tipo de investigación


En efecto, siempre que se planee un proyecto, es útil conocer las alternativas para el
diseño del estudio, sus fortalezas y debilidades, y determinar si son del tipo correcto para
responder a la pregunta que se hace. Sin embargo, debido a la variedad de nomenclaturas y
clasificaciones existentes, y las diferentes traducciones de los términos utilizados, el tema
es confuso. El tiempo dedicado a aclarar este tema se paga con creces valorando
posteriormente la importancia y limitaciones de lo que leemos, ahorrando y mejorando la
calidad de hacerlo (Dagnino, 2014).

Por ello, se han realizado varios tipos de investigación para el desarrollo de sistemas de
votación en línea.

2.1.1. Según la intervención.

Experimentales

De acuerdo con Coll Morales (2021), el tipo de investigación experimental es un estudio


en el que un investigador asigna un elemento de investigación para luego dirigirlo y ajustarlo
en función de sus objetivos de investigación y de acuerdo con un plan previamente
establecido. Estos suelen evaluar medidas para mitigar la situación.

De modo que, el observador influye conscientemente en lo que sucede para examinar el


efecto de su intervención. En general, se pueden sacar conclusiones más robustas, que suelen
ser comparaciones (Dagnino, 2014).

Observacionales

Generalmente, este tipo de investigación incluye la recopilación de información sobre


variables o hechos de interés, pero no busca influir en los eventos. Estos incluyen encuestas,
comúnmente, son descriptivos, aunque se pueden comparar. Permiten establecer vínculos y,
a veces, incluso relaciones temporales entre causa y efecto, pero nunca determinan la
modificación en el efecto debido al cambio en la causa (Dagnino, 2014).

En otras palabras, los investigadores se limitan a monitorear variables y ver su evolución.


A diferencia de estudios anteriores, estos estudios no tienen control directo sobre el
investigador, ya que los datos solo se evalúan y no se generan (Coll Morales, 2021).
Metodología 59

2.1.2. Según la secuencia temporal.

Retrospectivos

Según lo descrito por, Dagnino ( 2014), “los datos se refieren a hechos ya acontecidos.
No permiten estudiar la relación temporal entre causa y efecto y, por lo tanto, raramente
sirven para indicar causalidad”.

Es de mencionar que, el diseño de la encuesta sigue el evento bajo investigación, pero los
datos generalmente se toman de un archivo o fuente histórica (Coll Morales, 2021).

Prospectivos

Al recalcar la importancia de este tipo de investigación. Dagnino (2014), afirma:

A menudo se denomina cohorte. Una cohorte es un grupo de personas que comparten sus
experiencias (del latín cohors, unidad de acción de la legión romana). En el contexto actual,
se refiere a un grupo que es rastreado por el tiempo desde el inicio del trabajo hasta el
resultado. Por lo tanto, su principal ventaja es que brinda más seguridad de que las
características investigadas preceden a los resultados investigados.

Si bien es cierto, este tipo de investigación se inicia antes del hecho investigado y los
datos recogidos se van recolectando a medida que se va conociendo el hecho (Coll Morales,
2021).

2.1.3. Según el tiempo de estudio.

Transversales

Según Coll Morales (2020), un estudio transversal es un tipo de estudio observacional


que se centra en el análisis de datos sobre diversas variables de una población de muestra,
recopilados durante un período de tiempo particular. Un estudio transversal o estudio de
prevalencia es una forma de estudio observacional. Para este estudio, seleccionamos un
conjunto de variables para una muestra de población particular. Y todo durante un período
determinado.

Longitudinales

Se define que, es un tipo de investigación que examina las relaciones establecidas en


varios intervalos de tiempo. Esto nos permite establecer una relación de causalidad (Coll
Morales, 2021).
Metodología 60

Según Dagnino (2014), este tipo de investigación permite analizar un proceso en el


transcurso de tiempo, con o sin intervención. Lo que se observa puede ser un individuo, una
parte de un individuo, una preparación experimental, una organización o incluso un grupo.
Las observaciones se realizan varias veces, pero no todas se incluyen en el análisis.

2.1.4. Por la búsqueda de causalidad.

Analítico

Veiga de Cabo, de la Fuente Díez, & Zimmermann Verdejo (2008), definen que los
estudios analíticos buscan descubrir relaciones hipotéticas entre los factores de riesgo y los
efectos específicos, es decir, entre ambos en este tipo. En el caso de esta clase de estudios,
están caracterizados por tratar de establecer una relación causal, la causa interviene para que
existan las condiciones de la investigación observacional; el investigador tiene que seguir
las leyes naturales y no debe de intervenir en cualquier grupo de investigación, hasta que se
produzca el efecto del resultado.

Descriptivo

Rus Arias (2021), afirma que los estudios descriptivos analizan las características de
poblaciones o fenómenos sin conocer las relaciones entre ellos, definiéndolos,
clasificándolos, dividiéndolos o resumiéndolos, por ejemplo, midiendo posición o varianza.
No analiza el comportamiento en relación con los demás.

2.2 Niveles de investigación

Figura 21: Niveles de investigación; Información tomada de internet


(Bioestadistico, s.f.)
Metodología 61

De acuerdo con Paucar Flores (2016), el nivel de investigación es el grado en que un


determinado fenómeno o hecho se presenta en la realidad social, todo ello dentro de la
investigación.

Dicho en otras palabras, es un estudio en el que los datos extraídos tienen una utilidad
puramente descriptiva porque no se centra en establecer posibles relaciones causales (Coll
Morales, 2021).

Según Moreno Galindo (2016), los niveles más utilizados son:

2.2.1. Nivel Exploratorio

Este tipo de investigación se realiza cuando el objetivo es investigar un tema o problema


que rara vez se ha estudiado o que no se ha abordado previamente. Nos ayudan a
acostumbrarnos a fenómenos relativamente desconocidos. Sus metodologías son más
flexibles y amplias. Conlleva un mayor riesgo y requiere mucha paciencia, tranquilidad y
aceptación por parte del investigador.

2.2.2. Nivel Descriptivo

El propósito de este nivel es explicar la situación y el evento. La investigación descriptiva


busca identificar características importantes como individuos, grupos y comunidades.
Explicar los medios de medición con la mayor precisión posible desde un punto de vista
científico. Aunque son rudimentarios, pueden proporcionar un potencial predictivo.

2.2.3. Nivel Correlacional

Su finalidad es medir el grado de relación que existe entre dos o más conceptos o
variables. La correlación puede ser positiva o negativa. Los estudios de correlación difieren
principalmente de los estudios descriptivos. Los estudios descriptivos se centran en la
medición precisa de variables individuales, mientras que los estudios de correlación evalúan
el grado de relación entre dos variables. nivel de explicación

2.2.4. Nivel Explicativo

Están más allá de la explicación. Su objetivo es abordar las causas de los eventos físicos
o sociales. Se enfocan en explicar por qué ocurre el fenómeno y las condiciones bajo las
cuales ocurre. Este tipo de investigación es más estructurada.
Metodología 62

2.2.5. Nivel Predictivo

Es responsable de la evaluación probabilística de los eventos adversos comunes. Se


aplican técnicas de análisis predictivo. Intentan predecir la ocurrencia de un fenómeno
particular.

2.2.6. Nivel Aplicativo

Un plan para resolver el problema. Reúne innovaciones tecnológicas, artesanales e


industriales como científicas. Los métodos estadísticos de control de calidad tienen como
objetivo evaluar el éxito de las intervenciones en la población en términos de proceso,
resultado e impacto.

2.3 Método de investigación


Según Mata Solís (2019), cuando hablamos de enfoques de investigación, nos referimos
a los tipos de investigación que se clasifican en cuantitativas, cualitativas o mixtas. Cubre el
proceso de investigación en todas las fases, desde la definición del tema y el enfoque de los
problemas de investigación hasta el desarrollo de la perspectiva teórica, la definición de la
estrategia metodológica, la recopilación, el análisis y la interpretación de los datos.

Así, la elección del enfoque de investigación no se limita al azar o los caprichos, sino a
las decisiones del investigador basadas en la composición del problema y los objetivos del
estudio.

2.3.1. Enfoque cualitativo

Equipo editorial (2020), afirma: el enfoque de investigación cualitativa permite un


análisis más subjetivo y sistemático de la información basado en ideas y opiniones sobre un
tema en particular, abriendo un análisis no estadístico de los datos. Luego hay una
interpretación subjetiva pero lógica y bien fundamentada.

Además, la forma en que se recopilan e interpretan los datos suele ser más dinámica
porque no cumple con los estándares de estos procesos. Este enfoque es útil para comparar
resultados e interpretaciones.

2.3.2. Enfoque cuantitativo

Equipo editorial (2020), define que, en un enfoque cuantitativo, el análisis de la


información se basa en la cantidad y la dimensión. Es decir, el elemento numérico está en
primer plano.
Metodología 63

Por lo tanto, en la investigación cuantitativa, la hipótesis del investigador se somete a


mediciones numéricas y los resultados se analizan estadísticamente. Esta es una
investigación objetiva y rigurosa cuando los números son importantes. Este enfoque le
brinda un conocimiento muy específico y verificable sobre lo que está estudiando. En cuanto
a números y estadísticas, no es necesario ser matemático para hacer un análisis cuantitativo.
Existen varias herramientas que automatizan y simplifican esta tarea.

2.4 Fuentes y técnicas para la recolección de información


De acuerdo con Bastis Consultores (2020), al momento de realizar un trabajo de
investigación es necesario considerar métodos, técnicas y herramientas como factores que
contribuyen a la experimentalidad de la investigación; esa es la etapa básica de la experiencia
de aprendizaje.

En efecto, el método representa el camino a seguir en la investigación, las técnicas forman


el camino a seguir, mientras que la herramienta es el recurso que hace posible realizar el
camino. Las técnicas de recopilación de datos son procedimientos y actividades que
permiten a un investigador obtener la información necesaria para lograr sus objetivos de
investigación.

Además, la técnica muestra cómo hacer, terminar o proponer eventos; Es real y funciona.
Mientras que la herramienta de recopilación de datos es cualquier recurso utilizado por el
investigador para acceder a los fenómenos y extraer información de ellos para la
investigación.

Según Tamayo Ly & Silva Siesquén (s.f.), las técnicas de recolección de datos más usadas
son las siguientes:

2.4.1. Encuesta

Esta técnica de adquisición de datos permite contactar con la unidad de observación a


través de un cuestionario previamente definido. Los siguientes son algunos de los métodos
de encuesta que se pueden enfatizar.

 Encuesta Telefónica
 Encuesta Postal
 Encuesta Presencial
 Encuesta Online
Metodología 64

2.4.2. Entrevista

Una entrevista es una situación de interacción o diálogo entre personas, entrevistadores


y encuestados. Las entrevistas tienen una variedad de modalidades, que incluyen:

 Entrevista institucional o libre.


 Entrevista estructurada.
 Entrevista enfocada.
 Entrevista simultánea.
 Entrevistas continuas.

2.4.3. Análisis documental

Una diferencia muy llamativa entre este y los otros métodos descritos es que en los
últimos se recopila datos de una fuente primaria, mientras que el análisis de documentos
recopila datos de una fuente secundaria.

Se utilizan libros, boletines, revistas, folletos y periódicos como fuentes para la


recolección de datos. Una herramienta de uso común es un formulario de recopilación de
datos.

2.4.4. Observación de campo no experimental

Esta técnica se utiliza a menudo para obtener información sobre el comportamiento de


exploración.

Por ejemplo, si una encuesta exploratoria determina que los clientes de una empresa no
están satisfechos con la latencia del servicio, puede planear recopilar datos sobre la latencia
y el tiempo de servicio de una muestra representativa de clientes.

En este caso, se pueden utilizar como ayuda las observaciones o guías de campo.

2.4.5. Observación experimental

La observación experimental se distingue de las observaciones no experimentales, porque


generan datos en condiciones que están relativamente controladas por el investigador,
especialmente porque el investigador puede manipular una o más variables.

Este es un poderoso método de investigación científica. Puede utilizar como herramienta


una hoja de recopilación de datos.
Metodología 65

2.5 Metodología de investigación de la tesis


De acuerdo con lo anteriormente planteado, para el desarrollo del sistema de votaciones
online, se realizaron diferentes tipos de estudios. A continuación, detallamos uno a uno, los
que se utilizaron:

 Tipo de investigación

Según la intervención – Experimental

Si bien es cierto, el tipo de investigación que se aplicará en el desarrollo del sistema web
es experimental, debido a que existe un mayor control y análisis en los resultados del estudio,
esto proporciona una evidencia más sólida y rápida para sacar conclusiones, en este caso se
utilizará la encuesta.

Según la secuencia temporal – Prospectivos

En relación con este tipo de investigación, se empleará el estudio prospectivo, porque la


información para este proyecto será obtenida a través de una sola técnica para la recolección
de datos que será realizada por mí misma.

Según el tiempo de estudio – Transversales

De acuerdo con el tiempo de estudio, es transversal, ya que se recopilarán los datos para
el desarrollo del sistema por medio de la elaboración de una encuesta online, que estará
activa en un tiempo determinado.

Por búsqueda de causalidad – Analítico

En efecto, el tipo de estudio por búsqueda de causalidad es analítico, debido a que existe
suficiente información de la situación del estudio como (datos, investigación, artículo) para
generar los resultados.

 Niveles de investigación

Se considero el nivel aplicativo, ya que esta investigación tiene como propósito buscar
soluciones a corto o mediano plazo, en el caso del sistema de votaciones online, esté desea
automatizar el proceso de votaciones que se dan en la facultad de Ingeniería industrial y
mejorar las elecciones de Representante estudiantil brindando mayor seguridad y
transparencia en este proceso.
Metodología 66

 Enfoque de investigación

En tal sentido, para el desarrollo del sistema de votaciones online, se utilizará el enfoque
cuantitativo, ya que se realizarán encuestas, para obtener información verídica de los datos
recolectados. Esta técnica de recolección de datos se aplicará a los estudiantes de la Facultad
de ingeniería industrial.

 Fuentes y técnicas para la recolección de información

Para la ejecución del sistema de votaciones online, se utilizará como base la recolección
de información a través de la encuesta. Esta será enfocada para los estudiantes de las tres
carreras de la Facultad de Ingeniería industrial de la Universidad de Guayaquil.

Encuestas

El método de investigación y recopilación de datos utilizado es la encuesta, está se realizó


con la necesidad de conseguir la información deseada para buscar las soluciones pertinentes
para el desarrollo del sistema web. Se llevo a cabo mediante un cuestionario con siete
preguntas, solicitando información a los estudiantes de la Facultad de ingeniería industrial
mediante los medios digitales como redes sociales y correo electrónico.

2.6 Resultados e impactos esperados


2.6.1. Resultados.

 Mejorar las votaciones electorales de representante estudiantil de la Facultad de


Ingeniería industrial, automatizando el proceso de elecciones con el sistema web.
 Aumentar la seguridad al momento de emitir un voto, gracias a la tecnología
blockchain que permite el cifrado de datos y la herramienta Face detection para
aumentar la seguridad en el sistema.
 Mantener el control de resultados que se van verificando en el proceso de
votaciones.
 Emitir reportes de los estudiantes a votar.
 Visualización del ganador de las elecciones, al finalizar el conteo de votos.

2.6.2. Impactos esperados.

 Garantizar la seguridad y transparencia necesaria al momento de emitir un voto


en el proceso electoral.
 Evitar la manipulación de la información de los votos por parte de terceros.
Metodología 67

 Relativamente económico en comparación con el alto costo del material impreso


utilizado en el proceso electoral.
 Que los estudiantes sientan más confianza, utilizando el sistema de votaciones
online, que realizando el proceso de forma manual.
 Acelerar el proceso de conteo de votos en las votaciones.

2.7 Tratamiento de la información


2.7.1. Aplicación de la encuesta.

Este proyecto utilizará técnicas de investigación que son extremadamente útiles para la
recopilación de datos << encuesta>>, se utilizara para obtener la información necesaria para
desarrollar un sistema de votación en línea.

2.7.1.1. Población.
La población considerada para el desarrollo de este proyecto incluye a los estudiantes de
la Facultad de Ingeniería Industrial de la Universidad de Guayaquil. Estos estudiantes
podrán participar en la votación de representantes estudiantiles para el Consejo Académico.
Con esta población se realizó una encuesta, la cual consto de 7 preguntas.

2.7.1.2. Muestra.
La muestra representativa de la población descrita anteriormente fue tomada de un cierto
número de estudiantes de cada carrera de la Facultad de ingeniería industrial (Licenciatura
en sistemas de información, Ingeniería en sistemas de información, Ingeniería industrial e
Ingeniería en telemática) utilizada en el proceso de recolección de datos a través de una
encuesta.

2.7.1.3. Método de muestreo utilizado.


No probabilístico, basado en los sujetos disponibles o casual: Basarse en los sujetos
disponibles, como detener a las personas en la esquina de la calle mientras pasan por ahí, es
un método de muestreo, aunque es extremadamente riesgoso y debe realizarse con cautela.

2.7.1.4. Análisis de las respuestas obtenidas.


Se obtuvieron 141 respuestas de los estudiantes de la facultad de Ingeniería industrial de
las 3 carreras que se imparten en esta institución.

Pregunta No.1

La pregunta realizada es: ¿Conoce o ha escuchado hablar sobre la tecnología Blockchain?


Metodología 68

La tabla de datos obtenidos es la siguiente:

Tabla 6. Conoce o ha escuchado hablar sobre la tecnología Blockchain.

Alternativas Frecuencia %
Si 67 47,50%
No 37 26,28%
Tal vez 37 26,22%
Total 141 100%
Información tomada de las encuestas aplicadas, Elaborado por el autor.
Representado de forma gráfica de la siguiente manera:

Figura 22. Porcentaje del conocimiento de la tecnología Blockchain.


Información tomada de Google Forms.

Análisis de la pregunta realizada


De acuerdo con los estudiantes encuestados, en esta pregunta se puede interpretar que
más del 40% de alumnos han escuchado hablar o tienen conocimiento de la tecnología
Blockchain, el resto dio a conocer que no ha escuchado sobre esta tecnología o tienen dudas
sobre lo que es la tecnología blockchain.

Pregunta No. 2
La pregunta realizada es: ¿Sabía usted que las transacciones de Bitcoin (Criptomoneda)
funcionan bajo una red descentralizada Blockchain?
La tabla de datos obtenidos es la siguiente:

Tabla 7. Sabía usted que las transacciones de Bitcoin (Criptomoneda) funcionan bajo una red descentralizada
Blockchain
Metodología 69

Alternativas Frecuencia %
Si 52 36,90%
No 65 46,10%
Tal vez 24 17,00%
Total 141 100%
Información tomada de las encuestas aplicadas, Elaborado por el autor.

Representado de forma gráfica de la siguiente manera:

Figura 23. Porcentaje de conocimiento de las criptomonedas que son


manejadas por la tecnología Blockchain. Información tomada de Google Forms.

Análisis de la pregunta realizada


Se observa que un 46,1% de los encuestados desconocía que las criptomonedas
funcionan bajo la tecnología blockchain; un 36,9% sabían que si funcionaban de esta
manera las criptomonedas y un 17% indico que tal vez habían oído de cómo se daba el
funcionamiento de las monedas virtuales.

Pregunta No. 3
La pregunta realizada es: ¿Ahora que sabes que criptomonedas como el Bitcoin
funcionan con la tecnología Blockchain, que tan seguro crees que sea un sistema con esta
herramienta? Seleccione del 1 al 6, tomando en cuenta que desde el numero 1 al 3 le parece
muy insegura y del 4 al 6 le parece segura esta tecnología.
La tabla de datos obtenidos es la siguiente:

Tabla 8. Ahora que sabes que criptomonedas como el Bitcoin funcionan con la tecnología Blockchain, que
tan seguro crees que sea un sistema con esta herramienta

Alternativas Frecuencia %
1 2 1,43%
Metodología 70

2 4 2,80%
3 20 14,20%
4 48 34,00%
5 54 38,33%
6 13 9,24%
Total 141 100%
Información tomada de las encuestas aplicadas, Elaborado por el autor.

Representado de forma gráfica de la siguiente manera:

Figura 24. Porcentaje de confianza de los estudiantes de la seguridad que posee la tecnología blockchain.
Información tomada de Google Forms.

Análisis de la pregunta realizada


En relación con los resultados obtenidos de esta pregunta en la encuesta, se verifica que
el 81,5% de los estudiantes indican que les parece segura la tecnología blockchain para un
sistema de votaciones y un 18,5% no apuestan por un sistema que use este tipo de
tecnología.

Pregunta No. 4
La pregunta realizada es: ¿Sabías que la tecnología Blockchain en la actualidad es
utilizada en muchos países para las votaciones electorales?
La tabla de datos obtenidos es la siguiente:

Tabla 9. Sabías que la tecnología Blockchain en la actualidad es utilizada en muchos países para las
votaciones electorales

Alternativas Frecuencia %
Si 40 28,40%
Metodología 71

No 81 57,40%
Tal vez 20 14,20%
Total 141 100%
Información tomada de las encuestas aplicadas, Elaborado por el autor.

Representado de forma gráfica de la siguiente manera:

Figura 25. Porcentaje de conocimiento de los estudiantes, del uso de la


tecnología blockchain en sistemas de votaciones electorales en muchos países.
Información tomada de Google Forms.

Análisis de la pregunta realizada


De acuerdo con el análisis de esta pregunta, se puede observar que el 57.4% de
estudiantes no estaba enterado del uso de la tecnología blockchain en los sistemas de
votaciones electorales en varios países; un 28,4% si tenía conocimiento del uso de esta
tecnología y un 14,2% indica que tal vez habían escuchado sobre el uso de esta tecnología
en sistemas electorales.

Pregunta No. 5
La pregunta realizada es: ¿En la actualidad te generan confianza las votaciones
electorales que se dan en la Facultad de Ingeniería industrial?
La tabla de datos obtenidos es la siguiente:

Tabla 10. En la actualidad te generan confianza las votaciones electorales que se dan en la Facultad de
Ingeniería industrial

Alternativas Frecuencia %
Si 33 23,40%
No 41 29,10%
Tal vez 67 47,50%
Metodología 72

Total 141 100%


Información tomada de las encuestas aplicadas, Elaborado por el autor.

Representado de forma gráfica de la siguiente manera:

Figura 26. Porcentaje de confianza de los estudiantes, en las votaciones que se


dan en la facultad de ingeniería industrial en la actualidad. Información tomada
de Google Forms.

Análisis de la pregunta realizada


En base a los resultados obtenidos en la pregunta No.5 de la encuesta efectuada, se puede
verificar que el 47,5% de encuestados tiene dudas del proceso de votaciones que se da en
la facultad de Ingeniería industrial; el 29,1% no tiene confianza de las votaciones que se
realizan y el 23,4% si confía plenamente en las elecciones que se dan en esta institución.

Pregunta No. 6
La pregunta realizada es: Si se llegase a implementar un sistema de votaciones en la
Facultad de Ingeniería industrial ¿Cuál sería tu nivel de confianza en el proceso electoral?
Seleccione del 1 al 6 tomando en cuenta que desde el número 1 al 3 es (Desacuerdo) y desde
el numero 4 al 6 es (De acuerdo).
La tabla de datos obtenidos es la siguiente:
Tabla 11. Si se llegase a implementar un sistema de votaciones en la Facultad de Ingeniería industrial ¿Cuál sería tu
nivel de confianza en el proceso electoral?

Alternativas Frecuencia %
1 9 6,40%
2 28 19,90%
3 26 18,40%
4 31 22,00%
5 29 20,60%
Metodología 73

6 18 12,80%
Total 141 100%
Información tomada de las encuestas aplicadas, Elaborado por el autor.

Representado de forma gráfica de la siguiente manera:

Figura 27. Porcentaje de confianza de los estudiantes en el proceso electoral, si se llegase a implementar un
sistema de votaciones en la facultad de Ingeniería industrial. Información tomada de Google Forms.

Análisis de la pregunta realizada

Se valida que el 55.4% de los encuestados indican que están de acuerdo con que se
implemente un sistema de votaciones en la Facultad de Ingeniería industrial y un 44.7% de
estudiantes no está de acuerdo con esta implementación.

Pregunta No. 7
La pregunta realizada es: ¿Cree usted que la herramienta face detection brindaría más
seguridad al sistema de votaciones electorales que se implementará en nuestra Facultad?
La tabla de datos obtenidos es la siguiente:

Tabla 12. Cree usted que la herramienta face detection brindaría más seguridad al sistema de votaciones
electorales que se implementará en nuestra Facultad

Alternativas Frecuencia %
Si 100 70,90%
No 33 5,70%
Tal vez 8 23,40%
Total 141 100%
Información tomada de las encuestas aplicadas, Elaborado por el autor.
Metodología 74

Representado de forma gráfica de la siguiente manera:

Figura 28. Porcentaje de confianza de los estudiantes, al implementar la


herramienta Face detection para el sistema de votaciones online de la
Facultad de Ingeniería industrial. Información tomada de Google Forms.

Análisis de la pregunta realizada


De conformidad con la pregunta realizada a los encuestados, se puede interpretar que
alrededor de un 70% de los estudiantes desea que se implemente la herramienta Face
detection en el sistema de votaciones para brindar más seguridad en las elecciones; el 23,4%
cree que esta herramienta no brindará seguridad en las votaciones y un 5,70% piensa que
tal vez esta herramienta si aportará mayor seguridad al sistema de votaciones electorales.

2.7.1.5. Análisis de los resultados de la encuesta.


En vista de que se terminó con las encuestas realizadas a un grupo de estudiantes de la
Facultad de Ingeniería industrial, por consiguiente, se agruparon los datos que se
recolectaron en el transcurso de este proceso, para luego proceder con el análisis de datos y
percibir el conocimiento que poseen los estudiantes de la tecnología blockchain y la
herramienta face detection para su posterior implementación en un sistema de votaciones.

Cabe recalcar que, de acuerdo con los resultados obtenidos de las encuestas, se pondrá
en marcha este proyecto, que permitirá mejorar el proceso de votaciones electorales de la
Facultad de Ingeniería industrial, brindando mayor seguridad e integridad de los votos
implementando la tecnología blockchain y la herramienta face detection, para obtener una
votación transparente e inmutable.

2.8 Diagrama ANSI


Se ha utilizado el diagrama ANSI con el propósito de representar los flujos de
información del proyecto.
Metodología 75

2.8.1. Simbología del diagrama ANSI.

Los símbolos utilizados para la elaboración de los diagramas de flujo del presente
proyecto son los siguientes:

Tabla 13. Simbología de diagrama ANSI

Simbología Descripción

Inicio/Fin: Establece el inicio y el


fin de un diagrama de flujo.

Operación/ actividad: más


conocido como el símbolo de
proceso, determina la ejecución de
actividades, operaciones referentes
a un procedimiento.

Decisión: Indica que existen varios


caminos alternativos dentro del
flujo de un proceso.

Almacenamiento: Determina el
almacenamiento de los datos.

Archivo: almacena información o


documentos de forma permanente,
dentro de un archivo.

Documento: se define como cualquier


documento que se genere, se utilice o
salga como resultado final de un
procedimiento.

Conector: establece el enlace o


conexión del diagrama dentro de la
misma página, siguiendo con la
continuidad del diagrama de flujo.

Nota: Información tomada de (mideplan, 2020). Elaborado por el autor.


Metodología 76

2.9 Arquitectura del sistema


El sistema de votaciones online para elegir representante estudiantil en la Facultad de
Ingeniería industrial se realizará mediante el patrón de diseño MVC (Modelo -Vista -
Controlador), esta arquitectura nos permite separar la interfaz gráfica y el código del
funcionamiento de un sistema.

Modelo: es la parte encargada de representar la lógica de negocio de un sistema, maneja


los datos de las peticiones del usuario.

Vista: es la representación visual del modelo, se encarga de simbolizar los datos, el


usuario, contenidos del modelo.

Controlador: es el encargado de interpretar las instrucciones que realiza el usuario, para


determinar la operación que se debe realizar.

2.10 Metodología de desarrollo


Para la implementación de este proyecto se utilizará Iconix, ya que es una metodología
simplificada en comparación con otros métodos tradicionales, combina un conjunto de
métodos orientados a objetos, con el objetivo de controlar de manera estricta todo el ciclo
de vida del producto que se está ejecutando, posee un conjunto de pasos que deben de
seguirse y se describe detalladamente para identificar claramente las actividades que se
desarrollan en cada etapa del ciclo de vida del proyecto que las utiliza.

Fases de la metodología Iconix

 Análisis de requisitos: Se define que es lo que el sistema va a realizar, a través


de los requisitos funcionales y no funcionales, modelo de dominio, prototipos de
la interfaz de usuario, casos de uso del sistema con su respectivo diagrama.
 Análisis y diseño preliminar: En esta fase se deben detallar los casos de uso a
través de una ficha por cada caso de uso, elaborar diagramas de robustez, este nos
ayuda a describir los objetos que intervienen en cada caso de uso.
 Diseño: Se detallan los elementos que son parte del sistema, en este caso
utilizamos diagramas de secuencia, que nos muestran los métodos alternos que
pueden tomar los casos de uso.
 Implementación: Para llegar a esta fase, se debe haber cumplido con la
elaboración de los respectivos diagramas de las anteriores fases y el diseño, para
Metodología 77

posteriormente crear el software (escribir y generar código), por último, realizar


las pruebas pertinentes en el sistema para descartar cualquier error.

2.11 Requerimientos funcionales


Los requerimientos funcionales describen la funcionalidad que un sistema va a proveer,
de acuerdo con lo que el usuario solicite. A continuación, se detallan los requerimientos.

Tabla 14. Requerimientos funcionales del sistema

Código Descripción Usuario

RF-001 El administrador deberá iniciar sesión con usuario y contraseña. Administrador

El sistema deberá permitir iniciar sesión a los votantes con cuentas


RF-002 Votantes
registradas.

El sistema deberá permitir autenticar a los votantes con la


RF-003 Votantes
herramienta Face detection antes de iniciar sesión en el sistema.

El sistema deberá permitir crear el registro de los votantes, con sus


RF-004 Administrador
respectivos datos personales y foto frontal, asimismo podrá
consultar y modificar esta información si es necesario.

El sistema deberá permitir crear el registro de la candidatura, con


RF-005 Administrador
sus respectivos datos personales y foto, asimismo podrá consultar
y modificar esta información si es necesario.

El sistema contará con una interfaz amigable, que facilite el uso de


RF-006 Administrador/ Votantes
este software.

El sistema deberá permitir gestionar las elecciones.


RF-007 Administrador
El sistema deberá permitir gestionar los candidatos de las
RF-008 Administrador
votaciones.

El sistema deberá permitir gestionar los votantes de las elecciones.


RF-009 Administrador
El sistema deberá permitir a los votantes efectuar su voto.
RF-010 Votantes
El sistema deberá permitir visualizar los candidatos y escoger solo
RF-011 Votantes
una de las opciones al momento de votar.

El sistema deberá permitir al administrador cambiar el estado de


RF-012 Administrador
una elección (Iniciada o Finalizada).

El sistema deberá permitir consultar los resultados parciales o


RF-013 Administrador/ Votantes
finales de la elección.

El sistema deberá permitir generar un reporte que muestre los


RF-014 Administrador
resultados finales de la votación.

El sistema deberá permitir almacenar los votos en una blockchain


RF-015 Sistema
por cada votación.
Investigación directa, Elaborado por el autor
Metodología 78

2.12 Requerimientos no funcionales


Los requerimientos no funcionales describen las propiedades que por defecto los sistemas
deben tener para alcanzar el éxito. A continuación, se detallan los siguientes requerimientos.

Tabla 15. Requerimientos no funcionales del sistema

Código Nombre Descripción


RQNF-001 Usabilidad Debe poseer una interfaz amigable, ser de fácil uso
para el administrador y el votante.
RQNF-002 Multiplataforma El sistema debe permitir ser visualizado desde
cualquier navegador para efectuar el voto.
RQNF-003 Seguridad El sistema deberá asegurar la integridad de las
votaciones.
Asegurar la autenticidad de los votantes, mediante
el uso de la herramienta face detection, antes del
ingreso al sistema.
Investigación directa, Elaborado por el autor

2.13 Casos de uso


En efecto, los casos de uso son descripciones de las acciones del sistema desde la
perspectiva del usuario.

2.13.1. Actores y roles.

Los actores que intervienen en el sistema de votaciones online son los siguientes:

Tabla 16. Actores de caso de uso

Actor/usuario Caso de uso

Usuario que de acuerdo con sus funciones se encarga de emitir su


voto y consultar resultados de las votaciones en el sistema web.
Estudiante/Votante
Usuario que tiene por función asignada otorgar los permisos a los
usuarios y administrar las diferentes opciones que brinda el sistema
web.
Administrador

Investigación directa, Elaborado por el autor.


Metodología 79

2.13.2. Diagramas de caso de uso.

Los diagramas de caso de uso muestran la funcionalidad del sistema, mediante la relación
entre los casos de uso y los actores involucrados en el sistema.

2.13.2.1. Caso de uso general del sistema.

Figura 29. Caso de uso general del sistema. Información adaptada de la investigación de campo. Elaborado
por el autor.
Metodología 80

2.13.2.2. Caso de uso Ingreso al sistema.

Figura 30. Caso de uso Ingreso al sistema. Información adaptada de la investigación de campo.
Elaborado por el autor

Narrativa de caso de uso Ingreso al sistema

 Ingreso al sistema

Tabla 17. Narrativa de caso de uso Ingreso al sistema


Código de Caso de Uso: CU-001
Nombre del Caso de Uso: Ingreso al sistema
Actor(es): Administrador, votantes
Precondición: El votante debe estar registrado previamente en el sistema.
Acción del Autor Acción del Sistema
Flujo 1.El usuario ingresa sus 2.El sistema verificará los datos ya
Principal credenciales de acceso y se sea del votante o del administrador.
autentifica a través de la
herramienta face detection.
3.Si esta todo correcto se
visualizará la pantalla de inicio.
Flujo
Alterno
Post
Mostrará la pantalla de inicio del sistema.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para autenticar a los usuarios que deseen ingresar al sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 81

2.13.2.3.Caso de uso Gestionar candidatura

Figura 31. Caso de uso Gestionar candidatura. Información adaptada de la investigación de


campo. Elaborado por el autor.

Narrativa de caso de uso Gestionar candidatura

 Registrar candidatura

Tabla 18. Narrativa de caso de uso Gestionar candidatura – Registrar candidatura

Código de Caso de Uso: CU-002


Nombre del Caso de Uso: Registrar candidatura
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción 5.Muestra en pantalla el
Candidatura- registrar. formulario para agregar los datos.
6. Ingresa los datos de los
Metodología 82

candidatos.
7. Da clic en el botón guardar.
8. Muestra mensaje de guardado
con éxito.

Flujo
Alterno
Post
Se registrará la candidatura.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para registrar candidaturas en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Consultar candidatura

Tabla 19. Consultar candidatura


Código de Caso de Uso: CU-003
Nombre del Caso de Uso: Consultar candidatura
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción
Candidatura.
5. Selecciona buscar candidatura 6.Muestra en pantalla la
por nombre. candidatura consultada.

Flujo
Alterno
Post
Se consultará la candidatura.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar la candidatura en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 83

 Modificar candidatura

Tabla 20. Modificar candidatura


Código de Caso de Uso: CU-004
Nombre del Caso de Uso: Modificar candidatura
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción Candidatura.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Candidatura 5. Muestra la lista de
- modificar. candidaturas.
6. Ingresa la información que desea
modificar.
7. Da clic en el botón guardar.
8. Muestra mensaje de “Guardado
con éxito”

Flujo
Alterno
Post
Se modificará la candidatura.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para modificar candidatos en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Habilitar/ deshabilitar candidatura

Tabla 21. Habilitar/ deshabilitar candidatura

Código de Caso de Uso: CU-005


Nombre del Caso de Uso: Habilitar/ deshabilitar candidatura
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción Candidatura
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción
Candidatura.
Metodología 84

5. Selecciona buscar por nombre la


candidatura. 6.Muestra. en pantalla las
candidaturas.
7. Selecciona la opción Habilitar/
deshabilitar.
8. Muestra en pantalla la
candidatura Habilitada/
deshabilitada.

Flujo
Alterno
Post
Se Habilitará/ deshabilitará la candidatura.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para habilitar/ deshabilitar la candidatura del sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

2.13.2.4.Caso de uso Gestionar elecciones.

Figura 32. Caso de uso Gestionar elecciones. Información adaptada de la investigación de campo. Elaborado
por el autor.
Metodología 85

Narrativa de caso de uso Gestionar elecciones

 Iniciar elección
Tabla 22. Iniciar elección

Código de Caso de Uso: CU-006


Nombre del Caso de Uso: Iniciar elección
Actor(es): Administrador
Precondición: El administrador debe haber elegido la opción elecciones.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4.Selecciona la opción elección – 5.Muestra en pantalla el
iniciar elección formulario a llenar para iniciar
6. Llenar los datos correspondientes elección.

7.Muestra en pantalla el mensaje


“Elección iniciada”
Flujo
Alterno
Post
Se iniciará una elección.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para iniciar una elección en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Finalizar elección

Tabla 23. Finalizar elección

Código de Caso de Uso: CU-007


Nombre del Caso de Uso: Finalizar elección
Actor(es): Administrador
Precondición: El administrador debe haber elegido la opción elecciones.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
6.Muestra en pantalla el mensaje
4.Selecciona la opción elección- “Elección finalizada”.
Metodología 86

Finalizar elección.

Flujo
Alterno
Post
Se Finalizará una elección.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para finalizar una elección en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

2.13.2.5.Caso de uso Gestionar votantes.

Figura 33. Caso de uso Gestionar votantes. Información adaptada de la investigación de campo.
Elaborado por el autor.
Metodología 87

Narrativa de caso de uso Gestionar votantes

 Registrar votantes

Tabla 24. Narrativa de caso de uso Gestionar votantes – Registrar votantes


Código de Caso de Uso: CU-008
Nombre del Caso de Uso: Registrar votantes
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Votante - 5. Muestra en pantalla el
Registrar votantes. formulario para Registrar
6. Ingresa la información respectiva votantes.
para registrar al votante.
7. Da clic en el botón guardar.

8. Muestra mensaje de “Guardado


con éxito”.
Flujo
Alterno
Post
Se registrarán los votantes.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para agregar votantes en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Consultar votantes

Tabla 25.Consultar votantes

Código de Caso de Uso: CU-009


Nombre del Caso de Uso: Consultar votantes
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Metodología 88

Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Votantes.
5. Busca por nombre el votante a
consultar. 5.Muestra en pantalla el votante
consultado.

Flujo
Alterno
Post
Se consultarán los votantes.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar los votantes en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Modificar votantes

Tabla 26. Modificar votantes

Código de Caso de Uso: CU-010


Nombre del Caso de Uso: Modificar votantes
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción Votantes.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Votante -
modificar.
5. Selecciona el votante que desea
modificar.
6. Ingresa datos a modificar
8. Muestra en pantalla un mensaje
7. Da clic en el botón guardar. “Guardado con éxito”.

Flujo
Alterno
Metodología 89

Post
Se modificará el votante.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para modificar los votantes en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Habilitar/ Deshabilitar votantes

Tabla 27. Deshabilitar votantes


Código de Caso de Uso: CU-011
Nombre del Caso de Uso: Habilitar/Deshabilitar votantes
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción Votantes.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4.Selecciona la opción Votantes. 5.Muestra la lista de los votantes
6. Selecciona al votante que desea
habilitar/deshabilitar de la elección.
7. Selecciona la opción
habilitar/deshabilitar 6. Muestra en pantalla el mensaje
de “Votante habilitado o
deshabilitado”.

Flujo
Alterno
Post
Se habilitará o deshabilitará un votante.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para deshabilitar un votante en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 90

1.10.1.6 . Caso de uso Gestionar usuarios.

Figura 34. Caso de uso Gestionar usuarios. Información adaptada de la investigación de


campo. Elaborado por el autor.

Narrativa de caso de uso Gestionar usuarios

 Registrar usuarios

Tabla 28. Narrativa de caso de uso Gestionar usuarios – Registrar usuarios.

Código de Caso de Uso: CU-012


Nombre del Caso de Uso: Registrar usuarios
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Usuarios – 5. Muestra en pantalla el
registrar usuario.
Metodología 91

6. Ingresa la información respectiva formulario para registrar


para registrar al votante. usuarios.
7. Da clic en el botón guardar.

8. Muestra mensaje de “Guardado


con éxito”.
Flujo
Alterno
Post
Se registran los usuarios.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para registran los usuarios en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Consultar usuarios

Tabla 29.Consultar usuarios


Código de Caso de Uso: CU-013
Nombre del Caso de Uso: Consultar usuarios
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción usuarios. 6.Muestra en pantalla los usuarios
5. Busca usuarios por nombre consultados.

Flujo
Alterno
Post
Se consultarán los usuarios.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar los usuarios en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 92

 Modificar usuarios

Tabla 30. Modificar usuarios


Código de Caso de Uso: CU-014
Nombre del Caso de Uso: Modificar usuarios
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción Usuarios.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción usuarios
5. Busca por nombre el usuario a
modificar.
6. Ingresa la información que desea
modificar.
8. Muestra en pantalla un mensaje
7. Da clic en el botón guardar. “Guardado con éxito”.

Flujo
Alterno
Post
Se modificará el usuario.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para modificar los usuarios en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor

 Habilitar/ Deshabilitar usuarios

Tabla 30. Habilitar/Deshabilitar usuarios

Código de Caso de Uso: CU-015


Nombre del Caso de Uso: Habilitar/Deshabilitar usuarios
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción Usuarios.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4.Selecciona la opción usuario- 5.Muestra la lista de los votantes
6. Selecciona al usuario que desea
Metodología 93

habilitar/deshabilitar de la elección.
7. Selecciona la opción habilitar/
deshabilitar 6. Muestra en pantalla el mensaje
de “Usuario habilitado o
deshabilitado”.

Flujo
Alterno
Post
Se habilitará/deshabilitará un usuario.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para habilitar/ deshabilitar un usuario en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

1.10.1.7. Caso de uso Gestionar convocatoria.

Figura 35. Caso de uso Gestionar listas. Información adaptada de la investigación de campo.
Elaborado por el autor.
Metodología 94

Narrativa de caso de uso Gestionar convocatoria

 Registrar convocatoria

Tabla 31. Narrativa de caso de uso Gestionar convocatorias – Registrar convocatoria


Código de Caso de Uso: CU-016
Nombre del Caso de Uso: Registrar convocatoria
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción 5. Muestra en pantalla el
Convocatoria – Registrar formulario para registrar
convocatoria. convocatoria.
6. Ingresa la información respectiva
para registrar la convocatoria.
7. Da clic en el botón guardar.
8. Muestra mensaje de “Guardado
con éxito”.
Flujo
Alterno
Post
Se registrará la convocatoria.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para registrar convocatorias en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Consultar convocatoria

Tabla 32.Consultar convocatoria

Código de Caso de Uso: CU-017


Nombre del Caso de Uso: Consultar convocatoria
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Metodología 95

Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción
Convocatoria.
5. Busca la convocatoria por
nombre. 6.Muestra en pantalla las
convocatorias registradas.

Flujo
Alterno
Post
Se consultarán las convocatorias.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar la convocatoria en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Modificar convocatoria

Tabla 33. Modificar convocatoria

Código de Caso de Uso: CU-018


Nombre del Caso de Uso: Modificar convocatoria
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción listar votantes.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción
Convocatoria
5. Busca la convocatoria por
nombre. 6. Muestra la convocatoria
7. Ingresa la información que desea buscada.
modificar.
8. Da clic en el botón guardar.
9. Muestra en pantalla un mensaje
“Guardado con éxito”.
Metodología 96

Flujo
Alterno
Post
Se modificará la convocatoria
Condición
Frecuencia Frecuentemente.
Importancia Sirve para modificar la convocatoria en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Habilitar/ Deshabilitar convocatoria

Tabla 34. Habilitar/Deshabilitar convocatoria


Código de Caso de Uso: CU-019
Nombre del Caso de Uso: Habilitar/Deshabilitar convocatoria
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción listar votantes.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4.Selecciona la opción
Convocatoria - Habilitar/
Deshabilitar. 5.Muestra la lista de las
6. Selecciona la convocatoria que convocatorias
desea habilitar/deshabilitar del
sistema.
7. Selecciona la opción
Habilitar/deshabilitar. 6. Muestra en pantalla el mensaje
de “Convocatoria habilitada o
deshabilitada”.

Flujo
Alterno
Post
Se habilitará/deshabilitará una convocatoria.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para habilitar/deshabilitar una convocatoria en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 97

1.10.1.7. Caso de uso Gestionar listas.

Figura 36. Caso de uso Gestionar listas. Información adaptada de la investigación de campo.
Elaborado por el autor.

Narrativa de caso de uso Gestionar listas

 Registrar listas

Tabla 35. Narrativa de caso de uso Gestionar listas – Registrar listas

Código de Caso de Uso: CU-020


Nombre del Caso de Uso: Registrar listas
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Lista - 5. Muestra en pantalla el
registrar listas. formulario para registrar.
Metodología 98

6. Ingresa la información respectiva


para registrar lista.
7. Da clic en el botón guardar.
8. Muestra mensaje de “Guardado
con éxito”.
Flujo
Alterno
Post
Se registrará la lista.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para registrar listas en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor

 Consultar listas

Tabla 36.Consultar listas


Código de Caso de Uso: CU-021
Nombre del Caso de Uso: Consultar listas
Actor(es): Administrador
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Listas
5. Buscar por nombre la lista. 6.Muestra en pantalla la lista
registrada.

Flujo
Alterno
Post
Se consultarán las listas.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar las listas en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 99

 Modificar listas

Tabla 37. Modificar listas


Código de Caso de Uso: CU-022
Nombre del Caso de Uso: Modificar listas
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción lista.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Lista
5.Busca la lista por nombre. 6. Muestra en pantalla la lista
7. Ingresa la información que desea buscada.
modificar.
8. Guardar datos
9. Muestra en pantalla un mensaje
“Guardado con éxito”.

Flujo
Alterno
Post
Se modificará la lista.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para modificar las listas en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

 Habilitar/ Deshabilitar listas

Tabla 38. Habilitar/Deshabilitar listas

Código de Caso de Uso: CU-023


Nombre del Caso de Uso: Habilitar/Deshabilitar lista
Actor(es): Administrador
Precondición: El administrador debe estar situado en la opción lista
Acción del Autor Acción del Sistema
Metodología 100

Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4.Selecciona la opción Lista 5.Muestra la lista de los votantes
6. Selecciona a la lista que desea
habilitar/deshabilitar de la elección.
7. Selecciona la opción
habilitar/deshabilitar
8. Muestra en pantalla el mensaje
de “lista habilitada o
deshabilitada”.

Flujo
Alterno
Post
Se Habilitará/deshabilitará una lista.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para habilitar/deshabilitar una lista en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

1.10.1.8. Caso de uso Consultar resultados.

Figura 37. Caso de uso Consultar resultados. Información adaptada de la investigación de campo.
Elaborado por el autor.
Metodología 101

Narrativa de caso de uso Consultar resultados

 Consultar resultados

Tabla 39. Consultar resultados


Código de Caso de Uso: CU-024
Nombre del Caso de Uso: Consultar resultados
Actor(es): Administrador/ Votantes
Precondición: El administrador debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Flujo 1.El administrador ingresa sus 2.El sistema verificará los datos
Principal credenciales de acceso. del administrador.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
administrador.
4. Selecciona la opción Consultar 5.Muestra en pantalla los
Resultados. resultados de la elección.

Flujo
Alterno
Post
Se mostrará el resultado de las elecciones.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para consultar los resultados de las elecciones en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Metodología 102

2.13.2.8. Generar voto.

Figura 38. Caso de uso Generar voto. Información adaptada de la investigación de campo. Elaborado
por el autor.

Narrativa de caso de uso Generar voto.

 Generar voto

Tabla 40. Generar voto

Código de Caso de Uso: CU-025


Nombre del Caso de Uso: Generar voto
Actor(es): Votante
Precondición: El Votante debe haber iniciado sesión en el sistema previamente.
Acción del Autor Acción del Sistema
Metodología 103

Flujo 1.El votante ingresa sus 2.El sistema verificará si los datos
Principal credenciales de acceso y se son correctos.
autentifica a través de la herramienta
face detection.
3.Si esta todo correcto se
visualizará la pantalla de inicio del
votante.
4. Selecciona la opción Elección. 5.Muestra en pantalla la
información respectiva de las
elecciones (lista a elegir,
periodo).
6. Selecciona el candidato a elegir.
7. Selecciona la opción voto.

8. Muestra en pantalla mensaje de


“Desea continuar”.
-Si la respuesta es sí, se genera el
voto.
-Si la respuesta es no, se cancela
la elección.

Flujo
Alterno
Post
Se generará el voto
Condición
Frecuencia Frecuentemente.
Importancia Sirve para efectuar el voto.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Capítulo III

Propuesta

3.1 Introducción
3.1.1. Tema.

La realización de la propuesta consistió en el Desarrollo de un sistema de votación online,


utilizando la tecnología blockchain y face detection para la facultad de ingeniería industrial.

3.1.2. Objetivo.

Desarrollar un sistema de votación online para la Facultad de Ingeniería Industrial de la


Universidad de Guayaquil, 2022.

Este sistema brindará mayor seguridad e integridad en las votaciones de representante


estudiantil y existirá más confianza por parte de los estudiantes de la Facultad de Ingeniería
industrial al realizar su voto.

3.1.3. Entorno de desarrollo.

Para la implementación de este sistema Web se utilizarán las siguientes herramientas y


programas que ayudarán al desarrollo efectivo de este software.

Tabla 41. Programas y herramientas utilizadas en la elaboración del sistema Web.

Logo Software Versión

Java Enterprise Edition o Java EE: Plataforma


de programación utilizada para desarrollar y V: 8
ejecutar el sistema en el lenguaje de
programación Java.

Java Server Faces: Framework o


infraestructura de interfaz de usuario utilizada V: 2.1
para facilitar el desarrollo del sistema web en
Java.

Primes Faces: Librería ligera que contiene


componentes del Framework JSF de diseño V:10 x64
para integrar en el sistema web.
Propuesta 105

Apache Tomcat: Contenedor web utilizado


para compilar y ejecutar el sistema realizado en V:9 x64
java.

NetBeans: Entorno de desarrollo integrado V:8.2 x64


basado en el lenguaje Java utilizado para
desarrollar y ejecutar el sistema web.

Software Ideas Modeler: Herramienta utilizada V:13 x64


para la elaboración de diagramas de casos de
uso, diagrama de clases, actividad y secuencia.

Gantt Project: Herramienta utilizada para la


realización del cronograma de actividades del V:3.2 x64
proyecto, mediante el Diagrama de Gantt.

Open CV: es una biblioteca libre de visión


artificial, ofrece detección de movimiento,
reconocimiento de objetos, reconstrucción 3D
a partir de imágenes, entre otras
funcionalidades.

Google forms: Herramienta de Google


Workspace utilizada en la creación de una
encuesta, que sirvió para realizar el
levantamiento de información y la elaboración
del sistema web.

Nota: Información tomada de la investigación directa. Elaborado por el autor.

Con respecto a la arquitectura del sistema, su diseño se realizará mediante una


arquitectura por capas, lo que permitirá que el desarrollo del software posea varias etapas y
cada una de ellas tendrá una función concreta que ayudará al correcto funcionamiento de
este.

Se usará el patrón de diseño MVC (Modelo Vista Controlador) que servirá para separar
los datos del sistema, la interfaz de usuario y la lógica de control. Cabe recalcar que se
Propuesta 106

utilizará la tecnología Blockchain para el registro de datos y la herramienta Face detection


para la autenticación en el sistema.

3.2 Fase de diseño


3.2.1. Arquitectura del sistema web utilizando la tecnología blockchain.

Figura 39. Diseño de arquitectura del sistema web utilizando la tecnología blockchain. Elaborado por el autor.
Propuesta 107

3.2.2. Registro de votos en la blockchain (cadena de bloques).

3.2.3. Consultar resultados de los votos.

Figura 42. Consultar resultados de los votos. Elaborado por el autor.

Figura 41. Registro de votos en la blockchain. Elaborado por el autor.

Figura 40. Registro de votos en la blockchain. Elaborado por el autor.


Propuesta 108

3.2.4. Almacenamiento de datos en la blockchain.

Figura 43. Almacenamiento de datos en la blockchain. Elaborado por el autor.


Propuesta 109

3.2.5. Registro de votos inalterables en la blockchain.

Figura 44. Blockchain y sus registros inalterables. Elaborado por el autor.


Propuesta 110

Figura 45. Información y registro del voto. Elaborado por el autor.


Propuesta 111

3.2.6. Diagrama de actividades.

3.2.6.1. Diagrama de la actividad de Ingreso al sistema Web (Login).

Figura 46. Diagrama de actividades - Login. Elaborado por el autor.


Propuesta 112

3.2.6.2. Diagrama de la actividad de Gestionar - Registrar candidatura.

Figura 47. Diagrama de actividades – Registrar candidatura. Elaborado por el autor.


Propuesta 113

3.2.6.3. Diagrama de la actividad de Gestionar candidaturas- Consultar candidatura.

Figura 48. Diagrama de actividades – Consultar candidatura. Elaborado por el autor.


Propuesta 114

3.2.6.4. Diagrama de la actividad de Gestionar candidatura - Modificar candidatura.

Figura 49. Diagrama de actividades – Modificar candidatura. Elaborado por el autor.


Propuesta 115

3.2.6.5. Diagrama de la actividad de Gestionar Candidatura – Habilitar/ Deshabilitar


candidatura.

Figura 50. Diagrama de actividades – Habilitar/ Deshabilitar candidatura. Elaborado por el autor.
Propuesta 116

3.2.6.6. Diagrama de la actividad de Gestionar elecciones – Iniciar elección

Figura 51. Diagrama de actividades – Iniciar elección. Elaborado por el autor.


Propuesta 117

3.2.6.7.Diagrama de la actividad de Gestionar elecciones – Finalizar elección.

Figura 52. Diagrama de actividades – Finalizar elección. Elaborado por el autor.


Propuesta 118

3.2.6.8. Diagrama de la actividad de Gestionar votantes – Registrar votantes.

Figura 53. Diagrama de actividades – Registrar votantes. Elaborado por el autor.


Propuesta 119

3.2.6.9. Diagrama de la actividad de Gestionar votantes – Consultar votantes.

Figura 54. Diagrama de actividades – Consultar votantes. Elaborado por el autor.


Propuesta 120

3.2.6.10. Diagrama de la actividad de Gestionar votantes – Modificar votantes.

Figura 55. Diagrama de actividades – Modificar votantes. Elaborado por el autor.


Propuesta 121

3.2.6.11. Diagrama de la actividad de Gestionar votantes – Habilitar/Deshabilitar


votantes.

Figura 56. Diagrama de actividades – Habilitar/ deshabilitar votantes Elaborado por el autor.
Propuesta 122

3.2.6.12. Diagrama de la actividad de Gestionar usuarios – Registrar usuarios.

Figura 57. Diagrama de actividades – Registrar usuarios. Elaborado por el autor.


Propuesta 123

3.2.6.13. Diagrama de la actividad de Gestionar usuarios – Consultar usuarios.

Figura 58. Diagrama de actividades – Consulta de usuarios. Elaborado por el autor.


Propuesta 124

3.2.6.14. Diagrama de la actividad de Gestionar usuarios – Modificar usuarios.

Figura 59. Diagrama de actividades - Modificar usuarios. Elaborado por el autor.


Propuesta 125

3.2.6.15. Diagrama de la actividad de Gestionar usuarios – Habilitar/ Deshabilitar


usuarios.

Figura 60. Diagrama de actividades – Habilitar/ deshabilitar usuarios. Elaborado por el autor.
Propuesta 126

3.2.6.16. Diagrama de la actividad de Gestionar convocatoria – Registrar convocatoria.

Figura 61. Diagrama de actividades – Registrar convocatoria. Elaborado por el autor.


Propuesta 127

3.2.6.17. Diagrama de la actividad de Gestionar convocatoria – Consultar convocatoria.

Figura 62. Diagrama de actividades – Consultar convocatoria. Elaborado por el autor.


Propuesta 128

3.2.6.18. Diagrama de la actividad de Gestionar convocatoria – Modificar convocatoria

Figura 63. Diagrama de actividades – Modificar convocatoria. Elaborado por el autor.


Propuesta 129

3.2.6.19. Diagrama de la actividad de Gestionar convocatoria – Habilitar/ Deshabilitar


convocatoria.

Figura 64. Diagrama de actividades – Habilitar/ deshabilitar convocatoria. Elaborado por el autor.
Propuesta 130

3.2.6.20. Diagrama de la actividad de Gestionar listas – Registrar listas.

Figura 65. Diagrama de actividades – Registrar listas. Elaborado por el autor.


Propuesta 131

3.2.6.21. Diagrama de la actividad de Gestionar listas – Consultar listas.

Figura 66. Diagrama de actividades – Consultar listas. Elaborado por el autor.


Propuesta 132

3.2.6.22. Diagrama de la actividad de Gestionar listas – Modificar listas.

Figura 67. Diagrama de actividades – Modificar listas. Elaborado por el autor.


Propuesta 133

3.2.6.23. Diagrama de la actividad de Gestionar listas – Habilitar/ Deshabilitar listas.

Figura 68. Diagrama de actividades – Habilitar/ deshabilitar listas. Elaborado por el autor.
Propuesta 134

3.2.6.24. Diagrama de la actividad de Consultar resultados.

Figura 69. Diagrama de actividades – Consultar resultados. Elaborado por el autor.


Propuesta 135

3.2.6.25. Diagrama de la actividad de Generar voto.

Figura 70. Diagrama de actividades – Generar voto. Elaborado por el autor.


Propuesta 136

3.2.7. Diagramas de secuencia.

3.2.7.1. Diagrama de secuencia de Ingreso al sistema Web (Login).

Figura 71. Diagrama de secuencia – Login. Elaborado por el autor.


Propuesta 137

3.2.7.2. Diagrama de secuencia de Gestionar Candidatura- Registrar candidaturas.

Figura 72. Diagrama de secuencia – Registrar candidatura. Elaborado por el autor.


Propuesta 138

3.2.7.3. Diagrama de secuencia de Gestionar Candidatura- Consultar candidatura.

Figura 73. Diagrama de secuencia – Consultar candidatura. Elaborado por el autor.


Propuesta 139

3.2.7.4. Diagrama de secuencia de Gestionar Candidatura- Modificar candidatura.

Figura 74. Diagrama de secuencia – Modificar candidatura. Elaborado por el autor.


Propuesta 140

3.2.7.5. Diagrama de secuencia de Gestionar Candidatura – Habilitar/ Deshabilitar


candidatura.

Figura 75. Diagrama de secuencia – Habilitar/ deshabilitar candidatura. Elaborado por el autor.
Propuesta 141

3.2.7.6. Diagrama de secuencia de Gestionar Elecciones – Iniciar Elección.

Figura 76. Diagrama de secuencia – Iniciar elección. Elaborado por el autor.


Propuesta 142

3.2.7.7. Diagrama de secuencia de Gestionar Elecciones – Finalizar Elección.

Figura 77. Diagrama de secuencia – Elección finalizada. Elaborado por el autor.


Propuesta 143

3.2.7.8. Diagrama de secuencia de Gestionar Votantes – Registrar votantes.

Figura 78. Diagrama de secuencia – Registrar votantes. Elaborado por el autor.


Propuesta 144

3.2.7.9. Diagrama de secuencia de Gestionar Votantes – Consultar votantes.

Figura 79. Diagrama de secuencia – Consultar votantes. Elaborado por el autor.


Propuesta 145

3.2.7.10. Diagrama de secuencia de Gestionar Votantes – Modificar votantes.

Figura 80. Diagrama de secuencia – Modificar votantes. Elaborado por el autor.


Propuesta 146

3.2.7.11. Diagrama de secuencia de Gestionar Votantes – Habilitar/Deshabilitar votantes.

Figura 81. Diagrama de secuencia – Habilitar/ deshabilitar votantes. Elaborado por el autor.
Propuesta 147

3.2.7.12. Diagrama de secuencia de Gestionar usuarios– Registrar usuarios.

Figura 82. Diagrama de secuencia – Registrar usuario. Elaborado por el autor.


Propuesta 148

3.2.7.13. Diagrama de secuencia de Gestionar usuarios– Consultar usuarios.

Figura 83. Diagrama de secuencia – Consultar usuarios. Elaborado por el autor.


Propuesta 149

3.2.7.14. Diagrama de secuencia de Gestionar usuarios– Modificar usuarios.

Figura 84. Diagrama de secuencia – Modificar usuarios. Elaborado por el autor.


Propuesta 150

3.2.7.15. Diagrama de secuencia de Gestionar usuarios– Habilitar/ deshabilitar usuarios.

Figura 85. Diagrama de secuencia – Habilitar/ deshabilitar usuarios. Elaborado por el autor.
Propuesta 151

3.2.7.16. Diagrama de secuencia de Gestionar convocatoria– Registrar convocatoria.

Figura 86. Diagrama de secuencia – Registrar convocatoria. Elaborado por el autor.


Propuesta 152

3.2.7.17. Diagrama de secuencia de Gestionar convocatoria– Consultar convocatoria.

Figura 87. Diagrama de secuencia – Consultar convocatoria. Elaborado por el autor.


Propuesta 153

3.2.7.18. Diagrama de secuencia de Gestionar convocatoria– Modificar convocatoria.

Figura 88. Diagrama de secuencia – Modificar convocatoria. Elaborado por el autor.


Propuesta 154

3.2.7.19. Diagrama de secuencia de Gestionar convocatoria– Habilitar/ deshabilitar


convocatoria.

Figura 89. Diagrama de secuencia – Habilitar/ deshabilitar convocatoria. Elaborado por el autor.
Propuesta 155

3.2.7.20. Diagrama de secuencia de Gestionar listas– Registrar lista.

Figura 90. Diagrama de secuencia – Registrar listas. Elaborado por el autor.


Propuesta 156

3.2.7.21. Diagrama de secuencia de Gestionar lista– Consultar lista.

Figura 91. Diagrama de secuencia – Consultar listas. Elaborado por el autor.


Propuesta 157

3.2.7.22. Diagrama de secuencia de Gestionar lista– Modificar lista.

Figura 92. Diagrama de secuencia – Modificar listas. Elaborado por el autor.


Propuesta 158

3.2.7.23. Diagrama de secuencia de Gestionar lista– Habilitar/ deshabilitar lista.

Figura 93. Diagrama de secuencia – Habilitar/ deshabilitar lista. Elaborado por el autor.
Propuesta 159

3.2.7.24. Diagrama de secuencia de Consultar resultados.

Figura 94. Diagrama de secuencia – Consultar resultados. Elaborado por el autor.


Propuesta 160

3.2.4.17. Diagrama de secuencia Generar voto.

Figura 95. Diagrama de secuencia – Generar voto. Elaborado por el autor.


Propuesta 161

3.3. Mapa del sistema web

Figura 96. Representación del sistema web. Elaborado por el autor.


3.4. Plan de investigación (Diagrama de Gantt)

Figura 97. Plan de investigación del sistema. Elaborado por el autor.


3.5. Descripción de pantallas
3.5.1. Descripción de pantallas: Inicio de sesión.

Tabla 42. Descripción de pantalla: Inicio de sesión.

Universidad de Guayaquil Página 1 de 1


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrolladora: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Inicio de Sesión
Propuesta 164

Los diferentes usuarios podrán acceder al sistema por medio del


ingreso de usuario, contraseña y face detection las que serán
DESCRIPCIÓN DE LA
validadas en cada inicio de sesión.
PANTALLA:

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.

3.5.2. Descripción de pantallas: Inicio de sesión – Autenticación con Face detection.

Tabla 43. Descripción de pantalla: Inicio de sesión - Autenticación con Face detection.

Universidad de Guayaquil Página 1 de 1


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Inicio de sesión - Autenticación con Face detection
Propuesta 165

Pantalla que permite la autenticación de usuarios, utilizando la


herramienta Face detection para brindar mayor seguridad en el
DESCRIPCIÓN DE LA
ingreso al sistema. Esta función es posible gracias a las fotos de
PANTALLA:
los votantes que están registradas en el sistema.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor

3.5.3. Descripción de pantallas: Mantenimiento de usuarios - Creación de usuario.

Tabla 44. Descripción de pantalla: Creación de usuario.

Universidad de Guayaquil Página 1 de 2


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Creación de nuevo usuario
Propuesta 166

Pantalla que permite la creación de usuarios ingresando la


información respectiva de cada administrador o votante en el
DESCRIPCIÓN DE LA
sistema de votaciones y a su vez se puede registrar, modificar y
PANTALLA:
habilitar/deshabilitar.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor.


Propuesta 167

3.5.4. Descripción de pantallas: Mantenimiento de candidaturas - Creación de nueva


candidatura.

Tabla 45. Descripción de pantalla: Creación de nueva candidatura.

Universidad de Guayaquil Página 1 de 2


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Creación de nueva candidatura
Propuesta 168
Propuesta 169

Pantalla que permite la creación de candidaturas en el sistema de


votaciones, el ingreso de datos de los candidatos que se postulen
en las elecciones tales como: nombre y apellidos, lista a la que
DESCRIPCIÓN DE LA
pertenece, periodo lectivo y estado (activo o inactivo). El
PANTALLA:
administrador podrá registrar, modificar y habilitar/deshabilitar
candidatos.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor


Propuesta 170

3.5.5. Descripción de pantallas: Mantenimiento de listas electorales – Creación de nueva


lista.

Tabla 46. Descripción de pantalla: Creación de nueva lista.

Universidad de Guayaquil Página 1 de 2


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Creación de nueva lista
Propuesta 171

Pantalla que permite la creación de listas en el sistema de


votaciones, de acuerdo con la convocatoria y estado (activo o
DESCRIPCIÓN DE LA
inactivo). El administrador podrá registrar, modificar y
PANTALLA:
habilitar/deshabilitar las listas.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor


Propuesta 172

3.5.6. Descripción de pantallas: Mantenimiento de convocatoria.

Tabla 47. Descripción de pantalla: Mantenimiento de convocatoria.

Universidad de Guayaquil Página 1 de 1


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Mantenimiento de convocatoria

DESCRIPCIÓN DE LA
Pantalla que permite la creación de una convocatoria en el
PANTALLA:
sistema de votaciones, de acuerdo con el periodo y estado (activo
Propuesta 173

o inactivo). El administrador podrá agregar, modificar y


deshabilitar la convocatoria.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor

3.5.7. Descripción de pantallas: Proceso de iniciar/ Finalizar elección.

Tabla 48. Descripción de pantalla: Proceso de iniciar/ Finalizar elección.

Universidad de Guayaquil Página 1 de 1


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Proceso de iniciar/finalizar elección
Propuesta 174

Pantalla que permite que el administrador de por iniciada o


DESCRIPCIÓN DE LA finalizada la votación, se deberá elegir el periodo, el estado y el
PANTALLA: candidato a participar.

Nota: Información adaptada de la investigación de campo. Elaborado por el autor

3.5.8. Descripción de pantallas: Proceso de votación.

Tabla 49. Descripción de pantalla: Proceso de votación.

Universidad de Guayaquil Página 1 de 1


Facultad de Fecha de elaboración:
Ingeniería Industrial 31/08/2022
DISEÑO DE
Licenciatura en
PANTALLA
Sistemas de
Información Módulo. Versión 1.0

Desarrollador: DESARROLLO DE UN SISTEMA DE


Jessica Maribel VOTACIÓN ONLINE, UTILIZANDO LA
Estacio Quintero Proyecto TECNOLOGÍA BLOCKCHAIN Y FACE
DETECTION PARA LA FACULTAD DE
INGENIERÍA INDUSTRIAL.
Nombre: Pantalla de Proceso de votación
Propuesta 175
Propuesta 176
Propuesta 177

Pantalla que permite efectuar la votación por parte de los


estudiantes que se encuentran registrados en el sistema. Los
DESCRIPCIÓN DE LA votantes deberán elegir el periodo y la lista por la que de desean
PANTALLA: votar. Los que no deseen dar su voto, tendrán voto en blanco, si
escogen los 2 participantes el voto es nulo.
Propuesta 178

3.6. Conclusiones

Una vez culminado el presente proyecto basado en el desarrollo de un sistema de


votaciones online bajo tecnología Blockchain y Face Detection para la Facultad de
Ingeniería industrial, se concluye que la implementación de la metodología de desarrollo
Iconix contribuyó a documentar el funcionamiento del sistema a través del lenguaje de
modelamiento unificado (UML) y conjuntamente con el uso del patrón de diseño
arquitectónico Modelo -Vista- Controlador (MVC), permitió clasificar la información, la
lógica del sistema y la interfaz de usuario para el desarrollo satisfactorio del sistema web.

Por otra parte, como resultado del análisis de los requerimientos del sistema web, se
lograron elaborar los distintos casos de uso, diagramas de actividades, secuencia que
permitieron identificar los procesos necesarios que se debían tomar en cuenta para el
desarrollo del sistema, a través de la información obtenida de las encuestas online realizadas
a los estudiantes de la Facultad de ingeniería industrial de las tres carreras que se imparten
en la institución.

Posteriormente, se diseñaron las vistas o pantallas para establecer el funcionamiento del


sistema, utilizando un modelamiento que cumpla eficazmente con los requisitos previstos y
a su vez, elaborando una interfaz amigable para facilitar la interacción del usuario con el
sistema.

Para establecer la seguridad, confidencialidad y autenticidad en el sistema de votaciones


se implementó la tecnología Blockchain, para almacenar la información de forma segura y
confidencial. Además, se empleó la herramienta Face Detection para la autenticación de
usuarios al ingreso del sistema para brindar más confiabilidad del sistema. Con el desarrollo
de este sistema se pudo determinar que la tecnología blockchain no depende de una entidad
central para su funcionamiento al ser un sistema descentralizado, se basa en una red de
nodos, donde cada bloque se conecta entre sí y distribuyen la información que se envía
formando una cadena de bloques en donde se almacenan las transacciones realizadas. En el
caso del sistema de votaciones esto permite que el registro de los votos almacenados sea
inmutable (inalterables), ya que para modificar los datos de las votaciones se debería de
cambiar toda la cadena de bloques.
Propuesta 179

Como parte fundamental, se realizaron las pruebas de testeo para asegurar el correcto
funcionamiento del sistema de votaciones, se hicieron las validaciones necesarias para
detectar cualquier error en el software y así evitar algún tipo de fallo en su ejecución. Las
pruebas realizadas permitieron evaluar y verificar el cumplimiento de cada uno de los
procesos señalados en los requerimientos funcionales del sistema. El sistema web concluyó
de manera satisfactoria y se encuentra listo para su implementación en las votaciones que se
realizan en la Facultad de Ingeniería industrial.
Propuesta 180

3.7. Recomendaciones
Implementar firmas digitales en el sistema de votaciones para brindar mayor seguridad e
integridad al momento de efectuar el voto y generar la papeleta de votación.
Se recomienda actualizar cada cierto tiempo la información del registro de estudiantes en
el sistema para que puedan ejercer su voto en las elecciones. (Gestionar votantes  registrar,
consultar, modificar, habilitar/deshabilitar).
Los usuarios deben ser capacitados sobre el uso del sistema web, para conocer el
funcionamiento del sistema de cada rol, tanto de administrador como del votante.
Evaluar los diferentes usos que tiene la tecnología Blockchain y aplicarlas para distintos
tipos de sistemas y aplicaciones que necesiten obtener mayor seguridad.
Poner en marcha el sistema de votaciones en la Facultad de Ingeniería industrial, esto
ayudará con el ahorro de costos y tiempo, debido a que no se utilizaran papeletas como se
realiza normalmente en las elecciones, solo se necesita internet, ingresar al sistema y
efectuar su voto.
ANEXOS
Anexos 182

UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE INGENIERIA INDUSTRIAL
CARRERA: LICENCIATURA EN SISTEMAS DE INFORMACIÓN
MODALIDAD SEMESTRAL

Anexo N°1.

Ficha de Encuesta
Anexos 183
Anexos 184
Anexos 185
Anexos 186

Anexo N°2.

Pruebas Unitarias

Figura 99. Test – Detalle elección. Investigación directa. Elaborado por el autor.

Figura 98. Test - Candidatura. Investigación directa. Elaborado por el autor.


Anexos 187

Figura 100. Test - Convocatoria. Investigación directa. Elaborado por el autor.

Figura 101. Test – Elección. Investigación directa. Elaborado por el autor.


Anexos 188

Figura 102. Test - Identificación. Investigación directa. Elaborado por el autor.

Figura 103. Test - Lista. Investigación directa. Elaborado por el autor.


Anexos 189

Anexo N° 3

Funcionamiento del Blockchain en el sistema web.

Figura 104. Ingreso de datos en la blockchain

Figura 105. Creación de bloques y el uso de la función hash


Anexos 190

Figura 106. Cifrado de la función hash o huella para utilizarlo en la encriptación de votos y usuarios.
Bibliografía
Adobe. (03 de Mayo de 2021). Aspectos básicos de las aplicaciones web. Obtenido de
https://helpx.adobe.com/es/dreamweaver/using/web-applications.html

Álvarez Caules, C. (13 de Noviembre de 2019). ¿Que es Jakarta EE? Obtenido de


Arquitectura Java: https://www.arquitecturajava.com/jakarta-
ee/#:~:text=Jakarta%20EE%20es%20la%20nueva,llegado%20hasta%20la%20vers
i%C3%B3n%208.

Arsys. (08 de Marzo de 2017). WildFly, el servidor de aplicaciones Java que multiplica su
rendimiento en Cloud. Obtenido de
https://www.arsys.es/blog/programacion/wildfly-cloud

AWS. (s.f.). ¿Que es Java? Obtenido de https://aws.amazon.com/es/what-is/java/

Azabache Medina, B., & Caruajulca Sanchez, J. (2019). “SISTEMA WEB MÓVIL DE
GESTIÓN DE ACCESOS DEL PERSONAL DE LA. Obtenido de ESCUELA
PROFESIONAL DE INGENIERÍA DE COMPUTACIÓN Y SISTEMAS
EMPRESA TAL S.A. UTILIZANDO ICONIX SCRUMBAN Y TECNOLOGÍA
RFID”:
https://repositorio.upao.edu.pe/bitstream/20.500.12759/5641/1/REP_ING.SIST_B
RALLAN.AZABACHE_JUAN.CARUAJULCA_SISTEMA.WEB.M%c3%93VIL
.GESTI%c3%93N.ACCESOS.PERSONAL.EMPRESA.TAL.UTILIZANDO.ICO
NIX.SCRUMBAN.TECNOLOG%c3%8dA.RFID.pdf

Barquero Chaves , B., & Méndez Rodríguez, W. (s.f.). Características del lenguaje Perl 5.0
y su aplicación como herramienta de desarrollo en la elaboración de un Servidor
Web. Obtenido de Universidad de Costa Rica, Escuela de las Ciencias de la
Computación e Informática: http://www.di-mare.com/adolfo/cursos/2007-2/pp-
perl.pdf

Bastis Consultores. (02 de Marzo de 2020). TÉCNICAS DE RECOLECCIÓN DE DATOS


PARA REALIZAR UN TRABAJO DE INVESTIGACIÓN. Obtenido de ONLINE -
TESIS: https://online-tesis.com/tecnicas-de-recoleccion-de-datos-para-realizar-un-
trabajo-de-investigacion/
Bibliografía 192

Bermúdez, M. (2016). Estudio de la utilización de protocolos blockchain en sistemas de


votación. Obtenido de
https://upcommons.upc.edu/bitstream/handle/2117/98545/PFC%20Blockchain_Ev
oting_v01.pdf?sequence=1&isAllowed=y

Bioestadistico. (s.f.). Niveles de investigación. Obtenido de


https://bioestadistico.com/materiales-elementor/niveles

bit2me ACADEMY. (s.f.). ¿Cómo funciona el Blockchain- Cadena de Bloques? Obtenido


de https://academy.bit2me.com/como-funciona-blockchain-cadena-de-bloques/

Bitcoin. (2018). Los mineros. Obtenido de https://bitcoin.org/es/faq#mineria

Caracteristicasdel.com. Equipo de redacción profesional. (Enero de 2021). Características


de Python. Obtenido de Caracteristicasdel.com.:
https://www.caracteristicasdel.com/tecnologia/caracteristicas_de_python.html

Caracteristicasdel.com. Equipo de redacción profesional. (Enero de 2021). Características


del PHP. Obtenido de Caracteristicasdel.com.:
https://www.caracteristicasdel.com/tecnologia/caracteristicas_del_php.html

Casares, M. (2019). Minería de Bitcoin en Tierra del Fuego. Obtenido de


https://repositorio.udesa.edu.ar/jspui/bitstream/10908/16827/1/%5BP%5D%5BW
%5D%20T.%20L.%20Adm.%20Casares,%20Mat%C3%ADas.pdf

Coll Morales, F. (13 de Octubre de 2020). Estudio transversal. Obtenido de Economipedia:


https://economipedia.com/definiciones/estudio-
transversal.html#:~:text=El%20estudio%20transversal%20analiza%20un,longitudi
nal%20solo%20permite%20una%20variable.

Coll Morales, F. (12 de Septiembre de 2021). Tipos de estudio. Obtenido de Economipedia:


https://economipedia.com/definiciones/tipos-de-estudio.html

Dagnino, J. (2014). Tipos de estudios. Obtenido de Revista Chilena de Anestesia:


https://revistachilenadeanestesia.cl/tipos-de-estudios/

Desarrolloweb.com. (s.f). Java. Obtenido de https://desarrolloweb.com/home/java


Bibliografía 193

Digital Guide IONOS. (07 de 0ctubre de 2019). Extreme Programming: desarrollo ágil
llevado al extremo. Obtenido de https://www.ionos.es/digitalguide/paginas-
web/desarrollo-web/extreme-programming/

Digital Guide IONOS. (07 de Agosto de 2019). Lenguajes de programación web: los más
usados en Internet. Obtenido de Desarrollo web:
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/lenguajes-de-
programacion-
web/#:~:text=Los%20lenguajes%20de%20programaci%C3%B3n%20web%2C%2
0en%20cambio%2C%20pueden%20programar%20instrucciones,tama%C3%B1o
%20adaptados%20a%20tus%20necesidades.

Equipo editorial. (19 de Mayo de 2020). Enfoque de la investigación: tipos y características.


Obtenido de Lifeder.: https://www.lifeder.com/enfoque-investigacion/

Equipo editorial, Etecé. (05 de Agosto de 2021). Página web. Obtenido de Editorial Etecé:
https://concepto.de/pagina-web/

Escuela especializada en ingeniería - ITCA. (s.f.). ESTRUCTURA DE APLICACIONES


WEB. Obtenido de
https://virtual.itca.edu.sv/Mediadores/daw/tema_1____estructura_de_aplicaciones_
web.html

Fonseca , R. (2018). Los mineros. Obtenido de


https://sites.google.com/site/fgtce04equipo4tgi/los-mineros

García Sosa, S. (2021). “SISTEMA WEB BASADO EN EL MODELO VISTA


CONTROLADOR PARA OPTIMIZAR LA GESTIÓN DE TRÁMITE
DOCUMENTARIO EN LA UNIDAD DE GESTIÓN EDUCATIVA LOCAL DE
MARISCAL RAMÓN CASTILLA –2019”. Obtenido de Universidad científica del
PERÚ:
http://repositorio.ucp.edu.pe/bitstream/handle/UCP/1424/GARCIA%20SOSA%20
SANDRO%20ADELMIR_TESIS.pdf?sequence=4&isAllowed=y

Gomez Rivera, S. (10 de Octubre de 2018). Pros y contras de las aplicaciones web.
Obtenido de https://www.beedigital.es/desarrollo-web/pros-y-contras-de-las-
aplicaciones-web/
Bibliografía 194

I´MNOVATION. (2018). Qué es el blockchain y cómo funciona. Obtenido de


https://www.imnovation-hub.com/es/transformacion-digital/que-es-blockchain-y-
como-funciona-esta-tecnologia/?_adin=02021864894

IBM. (2012-2022). Jakarta Server Faces 3.0. Obtenido de


https://www.ibm.com/docs/es/was-liberty/zos?topic=features-jakarta-server-faces-
30

IBM. (2022). ¿Qué es la tecnología de blockchain? Obtenido de https://www.ibm.com/es-


es/topics/what-is-blockchain

Ictea. (s.f.). ¿Qué es el lenguaje de programación JAVASCRIPT? Obtenido de


https://www.ictea.com/cs/index.php?rp=/knowledgebase/8801/iQue-es-el-lenguaje-
de-programacion-JAVASCRIPT.html

Ig Trading. (s.f.). ¿Qué es Ethereum y cómo funciona? Obtenido de


https://www.ig.com/es/ethereum-trading/que-es-ether-y-como-funciona

INDRA. (10 de Junio de 2010). La UNED, primera universidad en elegir su claustro por
voto electrónico. Obtenido de https://www.indracompany.com/pt-br/node/45401

Instituto Tecnologico de Matehuala. (2015). Arquitectura de las aplicaciones Web.


Obtenido de https://programacionwebisc.wordpress.com/2-1-arquitectura-de-las-
aplicaciones-web/

Jiménez Bermejo, D. (21 de Junio de 2013). Tecnologías de la información y comunicación


(TIC). Obtenido de https://economipedia.com/definiciones/tecnologias-de-la-
informacion-y-comunicacion-tic.html

Junta de Andalucia. (s.f.). Patrón Modelo Vista Controlador. Obtenido de Marco de


Desarrollo de la junta de Andalucía:
https://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/122

Kapersky. (2018). Cifrado. Obtenido de http://emgjimnez.blogspot.com/2017/12/67-


cifrado.html

Kapersky. (s.f.). Reconocimiento facial: definición y explicación. Obtenido de


https://latam.kaspersky.com/resource-center/definitions/what-is-facial-recognition
Bibliografía 195

Kaspersky. (2022). Reconocimiento facial: definición y explicación. Obtenido de


https://latam.kaspersky.com/resource-center/definitions/what-is-facial-recognition

Lenguaje de programacion.net. (s.f.). C++. Obtenido de


https://lenguajesdeprogramacion.net/cpp/

Lenguajes de programacion.net. (s.f.). Perl. Obtenido de


https://lenguajesdeprogramacion.net/perl/

Lenguajes de programacion.net. (s.f.). Java. Obtenido de


https://lenguajesdeprogramacion.net/java/

Lenguajesdeprogramacion.net. (s.f.). PHP. Obtenido de


https://lenguajesdeprogramacion.net/php/

Lenguajesdeprogramacion.net. (s.f.). Python. Obtenido de


https://lenguajesdeprogramacion.net/python/

LISA Institute. (08 de Septiembre de 2021). Qué es el blockchain: definición, tipos,


ejemplos, ventajas y utilidades. Obtenido de
https://www.lisainstitute.com/blogs/blog/que-es-blockchain-tipos-ejemplos-
ventajas

LISA Institute. (7 de Abril de 2021). Reconocimiento facial: Descubre cómo funciona y


quién (y para qué) lo utiliza. Obtenido de
https://www.lisainstitute.com/blogs/blog/reconocimiento-facial-como-funciona-
quien-utiliza

LLorente, & Cabero. (2015). Tecnologías de la Información y la Comunicación (TIC):.


Obtenido de https://www.redalyc.org/pdf/695/69542291019.pdf

López, J. (21 de Agosto de 2021). Sistemas web y sus ventajas. Obtenido de


https://www.atura.mx/blog/sistemas-web-y-sus-ventajas

Luján Mora, S. (2002). Programacion de aplicaciones web: historia, principios basicos y


clientes web. En L. M. Sergio. Alicante: Editorial Club Universitario. Obtenido de
https://www.ecorfan.org/spain/researchjournals/Tecnologias_de_la_Informacion_y
_Comunicaciones/vol2num3/Revista_de_Tecnologia_de_la_Informacion_y_Comu
nicaciones_V2_N3_2.pdf
Bibliografía 196

Maida, E. G., & Pacienzia, J. (Diciembre de 2015). METODOLOGIAS DE DESARROLLO


DE SOFTWARE. Obtenido de Universidad Católica Argentina:
https://repositorio.uca.edu.ar/bitstream/123456789/522/1/metodologias-desarrollo-
software.pdf

Marín Bermúdez, A. (2016). Estudio de la utilización de protocolos . Obtenido de


https://upcommons.upc.edu/bitstream/handle/2117/98545/PFC%20Blockchain_Ev
oting_v01.pdf

Marín García, A. (20 de Mayo de 2020). Elecciones. Obtenido de


https://economipedia.com/definiciones/elecciones.html

Mejía Herrera , D., & Múnera Sánchez, J. P. (2022). BlockID diseño de un sistema de
votaciones. Obtenido de
https://repositorio.utp.edu.co/server/api/core/bitstreams/4eb0a214-00c2-4403-bc1d-
7f0fa54a328e/content

Monje, C. (2011). METODOLOGIA DE LA INVESTIGACION CUANTITATIVA Y


CUALITATIVA. NEIVA. Obtenido de
https://www.uv.mx/rmipe/files/2017/02/Guia-didactica-metodologia-de-la-
investigacion.pdf

Morales, F. (2 de Octubre de 2014). ANTROPOLOGÍA PARA TODOS. Obtenido de


https://antropologiaparatodos.wordpress.com/2014/10/02/tips-de-investigacion/

Moreno Galindo, E. (05 de Diciembre de 2016). NIVELES DE INVESTIGACIÓN. Obtenido


de https://tesis-investigacion-cientifica.blogspot.com/2016/12/niveles-de-
investigacion-cientifica.html

Navarro. (2017). Blockchain y sus aplicaciones. Obtenido de


https://pdfslide.tips/documents/blockchain-y-sus-aplicaciones-benjamin-yahari-
navarro-universidad-cat-olica-nuestra.html?page=1

Neira Gallo, J. D. (2019). Estudio de factibilidad de un sistema de voto electrónico basado


en la tecnología Blockchain para los procesos electorales de la Facultad de
Ingeniería Industrial de la Universidad de Guayaquil. Obtenido de
http://repositorio.ug.edu.ec/handle/redug/40621
Bibliografía 197

Nereavaquero. (s.f.). Tipos de lenguaje web. Obtenido de Marketin d9gital, diseño gráfico y
derrollao enfocado al deporte.: https://nereavaquero.com/tipos-de-lenguaje-web/

NGuerrero. (08 de Junio de 2015). ¿Que es Java Hibernate? Obtenido de Programa en linea:
https://www.programaenlinea.net/que-es-java-hibernate/

Orozco Aguirre, H. R. (2019). MODELO VISTA CONTROLADOR (MVC) Y WEB


ARCHIVES (WARS). Obtenido de Universidad Autónoma del Estado de México-
Centro Universitario UAEM Valle de México:
http://ri.uaemex.mx/bitstream/handle/20.500.11799/108712/secme-
35486_1.pdf?sequence=1

Ostaiza Mero, M. R. (2017). DESARROLLO DE UN PORTAL WEB DIRIGIDO A LA


GESTIÓN Y SEGUIMIENTO DEL INVENTARIO DE LOS SERVICIOS Y
PRODUCTOS QUE OFRECE LA FINCA “PURA VIDA” DEL CANTÓN SANTA
ELENA. Obtenido de Universidad de Guayaquil: https://docplayer.es/88451944-
Universidad-de-guayaquil-facultad-de-ingenieria-industrial-departamento-
academico-de-titulacion.html

Pacherres Muñoz, L. (2018). Introducción, conceptos, creación de sitios Web, diseño de


páginas WEB, herramientas para generar páginas WEB, tipos, principales
funciones,aplicaciones. Obtenido de UNIVERSIDAD NACIONAL DE
EDUCACIÓN - Escuela Profesional de Matemática e Informática.:
https://repositorio.une.edu.pe/bitstream/handle/20.500.14039/5006/P%C3%A1gina
s%20web.pdf?sequence=1&isAllowed=y

Paredes, G. (2006). INTRODUCCIÓN A LA CRIPTOGRAFÍA. Obtenido de


http://www.revista.unam.mx/vol.7/num7/art55/jul_art55.pdf

Pastorino, C. (4 de Septiembre de 2018). Blockchain: qué es y cómo funciona esta


tecnología. Obtenido de https://www.welivesecurity.com/la-
es/2018/09/04/blockchain-que-es-como-funciona-y-como-se-esta-usando-en-el-
mercado/

Paucar Flores, K. (20 de Octubre de 2016). Niveles de investigacion. Obtenido de Slideshare:


https://es.slideshare.net/cattypflores/niveles-de-investigacion-67434154
Bibliografía 198

Peiró, R. (08 de Julio de 2019). Página web. Obtenido de Economipedia:


https://economipedia.com/definiciones/pagina-web.html

Primefaces. (s.f.). PrimeFaces. Obtenido de


https://primefaces.github.io/primefaces/11_0_0/#/

Retamal, Roig, & Tapia, &. (2017). LA BLOCKCHAIN: FUNDAMENTOS,. Obtenido de


https://www.mincotur.gob.es/Publicaciones/Publicacionesperiodicas/EconomiaInd
ustrial/RevistaEconomiaIndustrial/405/DOLADER,%20BEL%20Y%20MU%C3%
91OZ.pdf

Rivas, A. (s.f.). Ventajas y desventajas de C++. Obtenido de Muy Tecnológicos:


https://muytecnologicos.com/diccionario-tecnologico/ventajas-y-desventajas-de-c-
mas-mas#abh_posts

Rus Arias, E. (05 de Febreo de 2021). Investigación descriptiva. Obtenido de Economipedia:


https://economipedia.com/definiciones/investigacion-descriptiva.html

Sandoval Chávez , S. E. (06 de Octubre de 2021). Estudio para la recomendación del voto
electrónico usando tecnología Blockchain en las elecciones seccionales de la ciudad
de. Obtenido de http://201.159.223.180/bitstream/3317/17708/1/T-UCSG-POS-
DGP-15.pdf

Sarmiento Yanza , N. D. (13 de Agosto de 2021). “DESARROLLO E IMPLEMENTACIÓN


DE UNA APLICACIÓN WEB PARA LA GESTIÓN DE ASISTENCIAS DE LOS
ESTUDIANTES DEL IST PRIMERO DE MAYO”. Obtenido de
file:///C:/Users/Jessica/Downloads/Richard%20Jimenez.pdf

Softwero. (2017). Porqué Utilizar BigDecimal en Lugar de Double para Cálculos


Financieros en Java. Obtenido de http://www.softwero.com/2017/07/porque-
utilizar-bigdecimal-y-no-double-en-java.html

Tamayo Ly, C., & Silva Siesquén, I. (s.f.). TÉCNICAS E INSTRUMENTOS DE


RECOLECCIÓN DE DATOS. Obtenido de UNIVERSIDAD CATÓLICA LOS
ANGELES DE CHIMBOTE: https://www.postgradoune.edu.pe/pdf/documentos-
academicos/ciencias-de-la-educacion/22.pdf

Tobar Chicaiza, D. R. (2014). "ANÁLISIS, DESARROLLO E IMPLEMENTACIÓN DE UNA


APLICACIÓN WEB ORIENTADA PARA EL REGISTRO DE ÓRDENES DE
Bibliografía 199

COMPRA, CLIENTES Y PRODUCTOS PARA LA EMPRESA FERRETERIA


TOBAR NOLIVOS CIA. LTDA.”. Obtenido de
http://repositorio.puce.edu.ec/bitstream/handle/22000/6387/9.21.000707.pdf

Universidad de Guayaquil. (2020). Reglamento general de elecciones de la Universidad de


Guayaquil reformado. Obtenido de https://www.ug.edu.ec/secretaria-general-
r/normativa/vigente/REGLAMENTO%20GENERAL%20DE%20ELECCIONES%
20REFORMADO%20DE%20LA%20UNIVERSIDAD%20DE%20GUAYAQUIL
%202020.pdf

Universidad de Panamá. (s.f.). ¿Qué es un sitio web? Obtenido de


https://upanama.educativa.org/archivos/repositorio/6000/6126/html/3_qu_es_.htm

Uzeta Reyes , J. G. (08 de Diciembre de 2018). Aplicación de Metodologías Ágiles en una


Institución Financiera. Obtenido de UNIVERSIDAD POLITÉCNICA DE
SINALOA:
http://repositorio.upsin.edu.mx/formatos/AplicaciondeMetodologiasAgilesenunaIn
stitucionFinanciera.5021.pdf

Veiga de Cabo, J., de la Fuente Díez, E., & Zimmermann Verdejo, M. (Marzo de 2008).
Modelos de estudios en investigación aplicada: conceptos y criterios para el diseño.
Revista Enmt, p81-88. Obtenido de
https://scielo.isciii.es/scielo.php?script=sci_arttext&pid=S0465-
546X2008000100011

Velneo. (07 de Marzo de 2019). Top 7 herramientas para desarrolladores de software en


2019. Obtenido de https://velneo.es/herramientas-software-2019/

Yahari Navarro, B. (2019). Blockchain y sus aplicaciones. Obtenido de


https://pdfslide.tips/documents/blockchain-y-sus-aplicaciones-benjamin-yahari-
navarro-universidad-cat-olica-nuestra.html?page=1

Zambrano Hidalgo, J. F., & Baldeón Coronel, V. (2018). IMPLEMENTACIÒN DE UN


PROTOTIPO DE UNA RED DESCENTRALIZADA BLOCKCHAIN PARA EL
VOTO ELECTRÓNICO EN LA UNIVERSIDAD DE GUAYAQUIL. Obtenido de
http://repositorio.ug.edu.ec/handle/redug/33172
Bibliografía 200

Zubikarai, S. (15 de Marzo de 2021). Ventajas y Desventajas de JavaScript. Obtenido de


Freecodecamp: https://www.freecodecamp.org/espanol/news/ventajas-y-
desventajas-de-javascript/

También podría gustarte