Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
Teléfono: 2658563
E-mail: titulacion.sistemas.industrial@ug.edu.ec
iii
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.
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.
https://ev.turnitin.com/app/carta/en_us/?s=1&lang=en_us&u=1133713960&o=1899154664
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,
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 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.
Í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.
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.
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.
N° Descripción Pág
N° Descripción Pág.
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.
Í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
Resumen
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.
Marco Teórico
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.
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>>.
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
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.
¿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?
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
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.
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).
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.
De acuerdo con el Diario Bitcoin, escrito por Di Matteo (2018), nos dice:
“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.
Características Si No
Modo offline X
Aplicación móvil X
Firmas electrónicas X
Nota: La tabla muestra características del alcance del proyecto, Elaborado por el autor.
Marco Teórico 11
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.
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.
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).
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:
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).
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).
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.
De acuerdo con LISA Institute (2021), los usos más comunes de la tecnologia Blockchain
son los siguientes:
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.
Según Jiménez Bermejo (2013), los elementos que componen la información son:
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.
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).
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.
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.
• Difícil de escalar
• Menos conexiones
• Flexibilidad limitada
• Funcionalidad limitada.
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:
Figura 4. Modelo de 3 capas; Información tomada de internet. (Instituto Tecnológico de Matehuala, 2015).
Marco Teórico 24
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:
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:
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:
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.
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.).
PHP
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).
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
Python
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
Ventajas
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
Información tomada del sitio Web. (Caracteristicasdel.com. Equipo de redacción profesional, 2021).
Elaborado por el autor.
Java
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).
Características
Ventajas y desventajas
Marco Teórico 32
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
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:
De acuerdo con Zubikarai (2021), las ventajas y desventajas destacadas del lenguaje de
programación JavaScript son los siguientes:
Ventajas
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++
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:
Según Rivas ( s.f.), las ventajas y desventajas del lenguaje de programación C++ son las
siguientes:
Ventajas
• 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
Perl
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:
• 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:
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
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).
Figura 12. Cadena de bloques de transacciones. Información tomada de (Marín Bermúdez, 2016)
6. El nodo distribuye la nueva cadena a otros nodos de Bitcoin para que se puedan
considerar nuevos bloques.
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.
Transparencia: Las personas pueden acceder a los informes generados cada vez que
deseen y desde cualquier parte del mundo sin problema alguno.
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:
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
Nodos
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).
“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
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:
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:
1.9.13. Minería.
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:
• Seguridad mejorada
• Pocos delitos
• Procesamiento más rápido
• Integración con otras tecnologías
Figura 17. Comparación entre metodología ágil y tradicional. Información tomada del sitio web (Maida
& Pacienzia, 2015).
En efecto, dentro de las principales metodologías ágiles más usadas tenemos: Extreme
Programming (xp), Scrum, Iconix.
Marco Teórico 50
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
De acuerdo con Digital Guide IONOS (2019), las ventajas y desventajas mas relevantes
de esta metodología ágil son:
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
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:
Desventajas
Iconix
Características
De acuerdo con Azabache Medina & Caruajulca Sanchez (2019), las características de la
metodología Iconix son las siguientes:
Figura 20. Proceso de la metodología Iconix. Información tomada del sitio web.
(Ostaiza Mero, 2017).
Ventajas
Desventajas
NATURALEZA Y OBJETO
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.
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
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
Por ello, se han realizado varios tipos de investigación para el desarrollo de sistemas de
votación en línea.
Experimentales
Observacionales
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
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).
Transversales
Longitudinales
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.
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).
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
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
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.
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.
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
Encuesta Telefónica
Encuesta Postal
Encuesta Presencial
Encuesta Online
Metodología 64
2.4.2. Entrevista
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.
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.
Tipo de investigación
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.
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.
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.
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
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.
Pregunta No.1
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:
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.
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.
Figura 24. Porcentaje de confianza de los estudiantes de la seguridad que posee la tecnología blockchain.
Información tomada de Google Forms.
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.
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
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.
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.
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
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.
Los símbolos utilizados para la elaboración de los diagramas de flujo del presente
proyecto son los siguientes:
Simbología Descripción
Almacenamiento: Determina el
almacenamiento de los datos.
Los actores que intervienen en el sistema de votaciones online son los siguientes:
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.
Figura 29. Caso de uso general del sistema. Información adaptada de la investigación de campo. Elaborado
por el autor.
Metodología 80
Figura 30. Caso de uso Ingreso al sistema. Información adaptada de la investigación de campo.
Elaborado por el autor
Ingreso al sistema
Registrar candidatura
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.
Consultar candidatura
Flujo
Alterno
Post
Se consultará la candidatura.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar la candidatura en el sistema.
Modificar candidatura
Flujo
Alterno
Post
Se modificará la candidatura.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para modificar candidatos en el sistema.
Flujo
Alterno
Post
Se Habilitará/ deshabilitará la candidatura.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para habilitar/ deshabilitar la candidatura del sistema.
Figura 32. Caso de uso Gestionar elecciones. Información adaptada de la investigación de campo. Elaborado
por el autor.
Metodología 85
Iniciar elección
Tabla 22. Iniciar elección
Finalizar elección
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.
Figura 33. Caso de uso Gestionar votantes. Información adaptada de la investigación de campo.
Elaborado por el autor.
Metodología 87
Registrar votantes
Consultar votantes
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.
Modificar votantes
Flujo
Alterno
Metodología 89
Post
Se modificará el votante.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para modificar los votantes en el sistema.
Flujo
Alterno
Post
Se habilitará o deshabilitará un votante.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para deshabilitar un votante en el sistema.
Registrar usuarios
Consultar usuarios
Flujo
Alterno
Post
Se consultarán los usuarios.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar los usuarios en el sistema.
Modificar usuarios
Flujo
Alterno
Post
Se modificará el usuario.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para modificar los usuarios en el sistema.
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.
Figura 35. Caso de uso Gestionar listas. Información adaptada de la investigación de campo.
Elaborado por el autor.
Metodología 94
Registrar convocatoria
Consultar convocatoria
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.
Modificar convocatoria
Flujo
Alterno
Post
Se modificará la convocatoria
Condición
Frecuencia Frecuentemente.
Importancia Sirve para modificar la convocatoria en el sistema.
Flujo
Alterno
Post
Se habilitará/deshabilitará una convocatoria.
Condición
Frecuencia Ocasionalmente.
Importancia Sirve para habilitar/deshabilitar una convocatoria en el sistema.
Figura 36. Caso de uso Gestionar listas. Información adaptada de la investigación de campo.
Elaborado por el autor.
Registrar listas
Consultar listas
Flujo
Alterno
Post
Se consultarán las listas.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para consultar las listas en el sistema.
Modificar listas
Flujo
Alterno
Post
Se modificará la lista.
Condición
Frecuencia Frecuentemente.
Importancia Sirve para modificar las listas en el 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 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.
Figura 37. Caso de uso Consultar resultados. Información adaptada de la investigación de campo.
Elaborado por el autor.
Metodología 101
Consultar resultados
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.
Figura 38. Caso de uso Generar voto. Información adaptada de la investigación de campo. Elaborado
por el autor.
Generar voto
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.
Flujo
Alterno
Post
Se generará el voto
Condición
Frecuencia Frecuentemente.
Importancia Sirve para efectuar el voto.
Propuesta
3.1 Introducción
3.1.1. Tema.
3.1.2. Objetivo.
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
Figura 39. Diseño de arquitectura del sistema web utilizando la tecnología blockchain. Elaborado por el autor.
Propuesta 107
Figura 50. Diagrama de actividades – Habilitar/ Deshabilitar candidatura. Elaborado por el autor.
Propuesta 116
Figura 56. Diagrama de actividades – Habilitar/ deshabilitar votantes Elaborado por el autor.
Propuesta 122
Figura 60. Diagrama de actividades – Habilitar/ deshabilitar usuarios. Elaborado por el autor.
Propuesta 126
Figura 64. Diagrama de actividades – Habilitar/ deshabilitar convocatoria. Elaborado por el autor.
Propuesta 130
Figura 68. Diagrama de actividades – Habilitar/ deshabilitar listas. Elaborado por el autor.
Propuesta 134
Figura 75. Diagrama de secuencia – Habilitar/ deshabilitar candidatura. Elaborado por el autor.
Propuesta 141
Figura 81. Diagrama de secuencia – Habilitar/ deshabilitar votantes. Elaborado por el autor.
Propuesta 147
Figura 85. Diagrama de secuencia – Habilitar/ deshabilitar usuarios. Elaborado por el autor.
Propuesta 151
Figura 89. Diagrama de secuencia – Habilitar/ deshabilitar convocatoria. Elaborado por el autor.
Propuesta 155
Figura 93. Diagrama de secuencia – Habilitar/ deshabilitar lista. Elaborado por el autor.
Propuesta 159
Tabla 43. Descripción de pantalla: Inicio de sesión - Autenticación con Face detection.
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
3.6. Conclusiones
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.
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.
Anexo N° 3
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
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
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
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, Etecé. (05 de Agosto de 2021). Página web. Obtenido de Editorial Etecé:
https://concepto.de/pagina-web/
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
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
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
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/
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
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