SISTEMA DE VOTACIÓN
ELECTRÓNICA PARA ELECCIONES DE REPRESENTANTES DE ÓRGANOS COLEGIADOS
UNIVERSITARIOS
ELECTRONIC VOTING
SYSTEM FOR ELECTIONS OF MEMBERS OF UNIVERSITY COUNCILS
Jenny Y. Galvez-Garrido, Carlos R. Jaimez-González
Departamento de Tecnologías de la Información, Universidad Autónoma
Metropolitana, México
E-mail: 2123064328@alumnos.cua.uam.mx,
cjaimez@correo.cua.uam.mx
(Enviado Noviembre03, 2018; Aceptado Marzo 08, 2019)
Resumen
En este artículo se presenta un sistema web de votación electrónica
para la elección de representantes de los órganos colegiados que pertenecen a
la Universidad Autónoma Metropolitana, Unidad Cuajimalpa, los cuales son
instancias que se encargan de la toma de decisiones a nivel división y a nivel
de unidad. Los representantes que participan en la elección son profesores,
alumnos y miembros del personal administrativo de la universidad. El objetivo
de este sistema es promover una mayor participación de la comunidad académica
en los procesos electorales universitarios, ya que se ha observado que tanto
profesores, alumnos y miembros del personal administrativo tienen poca
intervención en votaciones presenciales. Se muestra una comparación de sistemas
de votación electrónica existentes y se describe el proceso actual de elección
de representantes para los órganos colegiados universitarios. Se presenta la
metodología que se utilizó para desarrollar el sistema, la cual incluye el
levantamiento de requerimientos, el análisis y diseño, y la implementación del
sistema.
Palabras clave: Votación Electrónica, Consejo Académico, Sistema Web, Proceso
Electoral.
Abstract
This paper presents a web system of electronic voting for the election
of representatives of the collegiate bodies belonging to the Autonomous Metropolitan
University, Cuajimalpa Campus, which are instances that are responsible for
decision making at the division level and at the unit level. The
representatives participating in the election are professors, students and
members of the administrative staff of the university. The aim of the system is
to encourage a greater participation of the academic community in the
university electoral processes, since it has been observed that there are
several reasons why voting in person has not been very popular among
professors, students and members of the administrative staff. A comparison of
existing electronic voting systems is shown and the current process of electing
representatives for university collegiate bodies is described. The methodology
used to develop the system is presented, which includes the requirements
gathering, the analysis and design, and the implementation of the system.
Keywords: Electronic Voting, Academic Council, Web System, Electoral Process.
1 INTRODUCCIÓN
Las
Tecnologías de la Información y Comunicación (TIC) han evolucionado de forma
acelerada en todo el mundo, lo cual ha propiciado un incremento en la
automatización de diversos tipos de procesos, en la mayoría de los casos con
éxito. La automatización de los procesos electorales ha sido uno de los temas
en los que los sistemas computacionales pueden apoyar para el resguardo de los
votos y asegurar la transparencia en los resultados. En diversos lugares
alrededor del mundo se han implementado sistemas de votaciones electrónicas
para procesos electorales [1, 2, 3].
En
este artículo se presenta un sistema web de votación electrónica para
utilizarse en la elección de representantes de los órganos colegiados que
pertenecen a la Universidad Autónoma Metropolitana, Unidad Cuajimalpa (UAM-C),
los cuales son instancias que se encargan de la toma de decisiones a nivel
división y a nivel de unidad. Los representantes que participan
en la elección son profesores, alumnos y miembros del personal administrativo
de la universidad. Este sistema busca incentivar la participación de la
comunidad universitaria en este tipo de procesos electorales, ya que se ha
observado que existen diversas razones por las que la votación presencial no ha
sido muy concurrida.
El
resto del artículo está organizado de la siguiente manera. En la sección 2 se
presentan algunos antecedentes de los sistemas de votación electrónica. La
sección 3 explica la composición de los dos órganos colegiados que existen en
la UAM-C. El estado del arte se aborda en la sección 4, en donde se contrastan
cinco sistemas web de votación electrónica existentes. En la sección 5 se
describe el proceso actual de elección de representantes para los órganos
colegiados en la UAM-C. El levantamiento de requerimientos para la construcción
del sistema web se presenta en la sección 6, donde se detallan algunos de los
requerimientos de usuario y de sistema. La sección 7 se encarga de abordar el
análisis y diseño del sistema, en la cual se muestran algunos de los artefactos
generados, tales como diagramas de casos de uso, diagramas de clases, diseño de
interfaces web, etc. La implementación del sistema se describe en la sección 8,
donde se muestran las tecnologías y herramientas utilizadas, el mapa de
navegación, la estructura del sitio web y algunas capturas de pantalla del
sistema en funcionamiento. Finalmente, la sección 9 proporciona conclusiones y
trabajo futuro.
2 ANTECEDENTES
Los sistemas
de votación electrónica se han utilizado desde la década de los años sesenta,
cuando salieron al mercado los sistemas electrónicos perforadores de tarjetas,
posteriormente los sistemas de escáner óptico, más tarde los sistemas de
Registro Electrónico Directo (RED), y finalmente, los sistemas basados en web
que operan mediante el uso de Internet [2]. Los sistemas de votación
electrónica no son nuevos, ya que se han utilizado desde hace varios años.
El
primero en patentar un grabador de votos electrónicamente fue Thomas Alva
Edison, en el cual se establecía un registro electrográfico de los votos; este
invento despertó el interés de muchas personas alrededor del mundo [1]. En
México, alrededor del siglo XIX, nace la idea de hacer el proceso de elección
más eficiente y reducir los costos tanto monetarios como humanos, así como los
fraudes electorales y el error en el conteo de los votos. Es importante
mencionar que a lo largo de la historia han existido varios sistemas de
votación, tales como los que se mencionan a continuación.
1) Sistema de votación mediante
tarjetas perforadas:
la opción del votante es perforada en la tarjeta por medio de un aparato
mecánico; después un tabulador cuenta las perforaciones de cada opción. En este
tipo de sistemas el votante debe estar presente para emitir el voto. Aunque
este método ya es obsoleto, todavía es utilizado en algunos estados de los
Estados Unidos de América.
2) Sistema de votación mediante un
aparato lector:
es un sistema capaz de leer el voto que se realiza con un bolígrafo en una hoja
de papel. Este proceso de votación es presencial, el votante debe estar en el
lugar de la votación. Cabe mencionar que el votante no interactúa directamente
con el sistema.
3) Sistema de votación mediante
aparatos de grabación directa:
es similar al cajero automático, el cual cuenta con pantallas táctiles y un
teclado. El sistema registra el voto o de manera alternativa lo hace otro
aparato externo, tal como un lector de tarjetas magnéticas. El votante
interactúa directamente con el sistema.
4)
Sistema de votación electrónica remoto: este tipo de sistema permite emitir un voto desde
cualquier dispositivo que esté conectado a Internet, por lo que no es necesario
que el votante asista a un lugar específico para votar, ya que lo puede hacer
desde su dispositivo.
3 LOS ÓRGANOS COLEGIADOS
En la UAM-C se
tienen dos órganos colegiados: el Consejo Divisional [4], el cual es la
instancia encargada de la toma de decisiones a nivel división o facultad, tales
como la aprobación de planes y programas de estudio, la aprobación de programas
de servicio social, la aprobación de equivalencias escolares para alumnos, la
aprobación de materias optativas, entre muchas otras; y el Consejo Académico
[5], el cual es el órgano encargado tomar decisiones a nivel de la unidad,
tales como la aprobación de planes y programas de estudio, la aprobación de los
miembros del consejo y comité editoriales divisionales, la aprobación de los
miembros que conforman las comisiones dictaminadoras divisionales, la
aprobación de lineamientos e instructivos, entre otras.
Los
órganos colegiados están compuestos por autoridades, profesores, alumnos y
miembros del personal administrativo de la Universidad. En el caso del Consejo
Divisional, éste se compone de diez miembros: el director de la división, los
jefes de los tres departamentos académicos que se encuentran en la división, un
representante de los profesores por cada uno de los departamentos académicos de
la división (tres representantes en total), y un representante de los alumnos
por cada uno de los departamentos académicos de la división (tres
representantes en total). El caso del Consejo Académico, al ser una instancia a
nivel de la unidad, está compuesto por un total de 33 miembros, entre los
cuales se encuentran autoridades de la unidad, profesores, alumnos y miembros
del personal administrativo, de la manera siguiente: el rector de la unidad,
los directores de las tres divisiones académicas de la unidad, los jefes de los
nueve departamentos académicos de la unidad, un representante de los profesores
por cada uno de los departamentos académicos de la unidad (nueve representantes
en total), un representante de los alumnos por cada uno de los departamentos
académicos de la unidad (nueve representantes en total), y dos representantes
del personal administrativo de la unidad.
El
rector, los directores de división y los jefes de departamento son autoridades
de la Universidad, por lo que no es necesario que sean elegidos para participar
en los órganos colegiados. En el caso de los representantes de profesores, de
los representantes de alumnos y de los representantes del personal
administrativo, todos ellos deben ser elegidos mediante procesos de elección
donde los miembros de sus respectivos departamentos votan a través de papeletas
que depositan en urnas físicas. Este proceso se lleva a cabo en un solo día
cada año para el Consejo Divisional, y cada dos años para el Consejo Académico;
este día es determinado por el propio órgano colegiado, y se tienen las urnas
disponibles en un horario de 9:00 a 15:00 horas, normalmente.
En
estos procesos electorales se ha observado que no participa la mayoría de los
miembros de la comunidad universitaria (en especial estudiantes y profesores)
debido a diversos factores, tales como: hay estudiantes y/o profesores que no
tienen clases el día de la elección, y no asisten a la Universidad; hay algunos
otros estudiantes y/o profesores que en el momento de la elección tienen clase
y no pueden asistir a votar; o simplemente no saben dónde se ubican las urnas;
entre otros factores.
Debido
a la poca participación de la comunidad universitaria en estos procesos, es que
se desarrolló un sistema web de votación electrónica para la elección de los
representantes ante Consejo Divisional y Consejo Académico. Es posible tener
acceso al sistema desde cualquier lugar y emitir un voto sin necesidad de
asistir a la Universidad ni suspender sus actividades.
4 ESTADO DEL ARTE
En esta
sección se describe el funcionamiento y las características más relevantes de
cinco sistemas web de votación electrónica que fueron analizados: Simply Voting
[6], sistema de votación de la Universidad Taita Taveta [7], BallotBin [8],
sistema de votación de la ESIME [9], y sistema de votación basado en servicios
web confiables [10].
De acuerdo a
sus creadores, Simply Voting "es
un sistema web de votaciones desarrollado para eliminar el fraude y mantener el
voto secreto" [6]. El sistema maneja dos tipos de usuarios:
administradores del sistema y votantes. Los administradores del sistema tienen
la capacidad para crear elecciones, registrar, editar y eliminar votantes y
candidatos. Cuando se registra una elección, se debe proporcionar la siguiente
información: nombre de la elección, descripción, fecha de inicio y fin de la
elección, así como la hora inicial y final. En la Fig. 1, se muestra el
formulario de registro de una elección, en donde se deben especificar sus datos
generales.
Figura 1 Registro de
elección en el sistema Simply Voting.
En
cada elección, se determina el conjunto de usuarios que pueden votar. El
administrador puede registrarlos uno por uno, o bien importar un archivo con
extensión .csv que contenga un identificador para cada votante utilizando sólo
números, nombre del votante, correo electrónico y opcionalmente una contraseña
(en caso de no proporcionarla, el sistema la crea automáticamente). El sistema
da la posibilidad de determinar si el votante podrá elegir a uno o más
candidatos en una elección determinada. El administrador del sistema registra
los candidatos que estarán relacionados con la elección.
En el caso de los votantes, tendrán la posibilidad de votar en una
elección determinada, por uno o más candidatos, de acuerdo con lo que se
especificó en la elección. Para ello tendrán que autenticarse usando su identificador
y contraseña. Cuando el sistema genera las contraseñas automáticamente, el
administrador es el encargado de enviar un correo electrónico a los votantes,
el cual contendrá los enlaces que lo llevarán a la página de la votación o a la
boleta directamente. En caso de que ya haya votado, se le niega el acceso.Al
terminar una elección los resultados son publicados, los cuales pueden ser
descargados en archivo .csvo en .pdf.
Es un sistema
web que se desarrolló en la universidad de Taita Taveta en Kenia [7], el cual
fue implementado usando PHP y MySQL. Para llevar a cabo una elección se
requiere de dos tipos de usuarios: administrador y votante. El módulo para los
administradores permite entrar al sistema por medio de un nombre de usuario y
una contraseña, y solamente se permite tener una cuenta de administrador. El
sistema permite al administrador agregar estudiantes, quienes participarán en
la votación (votantes), y estudiantes que se pueden postular como candidatos.
El módulo para los votantes permite de igual forma entrar al sistema por medio
de un número de registro y un código secreto como contraseña; éste es enviado a
cada votante vía SMS. El sistema permite al votante elegir al candidato de su
preferencia y enviar su voto. El votante puede ver los detalles de su voto sin
modificarlo; para imprimir los detalles de su voto debe introducir nuevamente
el número de registro y contraseña.
El
sistema permite visualizar los resultados de las elecciones, hasta con un año
de antigüedad. Adicionalmente, el sistema permite a sus usuarios reportar
cualquier error encontrado al correo electrónico de los desarrolladores del
sistema. En la Fig. 2, se muestra la pantalla principal de este sistema de
votación, donde se observan los enlaces a los resultados de votaciones pasadas,
por candidato o por departamento. En la parte superior izquierda se puede ver
un enlace para que el administrador pueda entrar al sistema y en la parte
central un enlace para que el votante pueda entrar.
Figura 2 Sistema de votación de la
Universidad Taita Taveta.
Es un sistema
web que permite la gestión de votaciones o encuestas [8]. En el caso de las
votaciones, el sistema permite dos tipos de usuarios: administrador y votante.
Los administradores son los encargados de diversas tareas en el sistema, entre
las que se pueden mencionar las siguientes: crear la boleta electoral con sus
características, determinar el conjunto de candidatos participantes en la
elección, controlar quiénes pueden emitir un voto, registrar los correos
electrónicos de los votantes participantes en la elección, notificar vía correo
electrónico a los votantes que fueron registrados en la votación y enviar
recordatorios a los que no han participado.
En
la Fig. 3, se muestra la configuración de una elección. En la parte superior se
muestra la fecha inicial y fecha final de la elección, así como su hora de
inicio y fin. En la parte inferior se muestra un formulario donde se puede
cambiar la fecha y hora, cambiar el nombre de la elección y determinar si los
resultados serán publicados.
Figura 3 Configuración de una elección
en BallotBin.
El sistema
incluye un módulo de registro de votantes, donde se registran los correos
electrónicos de cada votante o también es posible una carga masiva a través de
un archivo. En el caso de los votantes, el correo electrónico que se les envía
incluye un enlace que los lleva a la página de la votación. Una vez dentro,
llenan la boleta eligiendo al candidato de su preferencia y envían su voto.
Cuando termina una elección los resultados son publicados; se muestra la
cantidad de votos emitidos para cada candidato, el porcentaje de los votos
emitidos y en una barra la cantidad de votos obtenidos.
BallotBin asegura que solamente se vote una vez por medio del
enlace que se envía por correo electrónico; éste es único y sólo se puede usar
una vez. Cabe señalar que el sistema no cuenta con una sección donde se
notifiquen quejas o sugerencias acerca de la elección. Tampoco permite el uso
de categorías de los votantes para saber qué votantes pueden participar en la
votación, ya que los registra uno por uno y el sistema web no es adaptable a
dispositivos móviles.
Es un sistema
que está diseñado, implementado y probado por los estudiantes de la Escuela
Superior de Ingeniería, Mecánica y Eléctrica (ESIME) [9], el cual comprende
cuatro etapas: registro, autenticación, registro del voto y conteo de votos. El
sistema cuenta con diferentes perfiles para controlar el acceso a la
información, uno para los votantes y uno para el administrador. En la Fig. 4 se
observa la página de inicio del sistema.
Figura 4 Sistema de votación de la
ESIME.
A continuación
se listan algunas características del sistema:
1) sólo los votantes registrados pueden votar una vez; 2) sólo personas
autorizadas pueden editar, añadir o eliminar información de sistema, pero no
pueden interferir con los votos registrados; 3) el proceso no depende de una
red pública; 4) el sistema cuenta con una serie de algoritmos para encriptar la
información y así no poder saber quién voto por quién.
Para
asegurar que ningún votante pueda modificar, añadir o eliminar los votos
emitidos, además de no relacionar el voto con el votante se usan algoritmos
para encriptar y desencriptar, para así mantener la información segura. Los
resultados también son encriptados, para que posteriormente sean entregados a
las autoridades.
Es una
propuesta de un sistema de votación basado en servicios web confiables [10]. El
sistema tiene los siguientes componentes: 1) componente de cifrado y
descifrado, el cual es un módulo que se encarga de que la información sea
segura y que esté cifrada al ser enviada; 2) sistema de detección de intrusos y
SSL, los cuales son componentes que se encargan de que la información
intercambiada entre el servidor web y el cliente sea cifrada para así asegurar
que no se tenga acceso a ella y tener conexiones seguras; 3) componente para el
registro de votos, en el cual los votos son almacenados siempre y cuando no
haya más de un voto por votante; 4) componente presentador de resultados, el
cual se encarga de calcular los votos por cada candidato y presentarlos a las
autoridades.
Para
cada votante se tiene una interfaz personalizada dependiendo de las
características del votante. Por ejemplo, si el votante tiene una discapacidad
visual, el sistema le proporciona audio para que pueda ejercer su voto. Para
que el votante pueda emitir su voto, días antes de la elección, se le otorga
una tarjeta que contiene un nombre de usuario y una contraseña que les
permitirá entrar al portal de la votación. Esta contraseña y usuario ya fueron
previamente registrados en la base de datos del sistema, una vez que el votante
introduce estos datos el sistema verifica que no ha votado para así poder
almacenar su voto.
Este
sistema tiene un subsistema coordinador que recoge los votos emitidos, realiza
una copia de seguridad y los envía a un centro de votación. Este centro es el
encargado de presentar los resultados finales de la elección. Finalmente, el
módulo de presentación muestra los resultados a la autoridad.
En esta
sección se presenta la Tabla 1, donde se muestran las características que se
tomaron en cuenta para el análisis de los sistemas de votación electrónica. Se
coloca un símbolo de verificación si el sistema cuenta con la característica y
una x si no la tiene. Los sistemas
que se presentan en la Tabla 1 son los que se analizaron en las secciones
previas: S1) Simply Voting, S2)
sistema de votación de la Universidad Taita Taveta, S3) BallotBin, S4) sistema de votación electrónico integrado de la
ESIME, y S5) sistema de votación basado en servicios web confiables. A
continuación se presenta una breve descripción de cada característica.
C1) Sistema Web. Se refiere a que el sistema ha sido implementado
para visualización en navegadores web, principalmente utilizando HTML, CSS y
alguna tecnología web del lado del servidor.
C2) Adaptable a dispositivo móvil. Se refiere a que el sistema adapta sus dimensiones
para visualización en cualquier dispositivo móvil, tal como una tableta o
teléfono móvil.
C3) Notificaciones vía email. Se refiere a que a través del sistema es posible
enviar mensajes notificando a los usuarios de algún acontecimiento importante
de la elección en la que participa, tal como apertura, cierre o publicación de
resultados.
C4) Impresión de voto. Se refiere a que los votantes pueden imprimir los
detalles de su voto en la elección en la que participan, a través del sistema.
C5) Autenticación de usuarios. Se refiere a que los usuarios deben tener una
cuenta activa para poder ingresar al sistema, es decir, deben estar registrados
en la base de datos del sistema.
C6) Interfaz personalizada. Se refiere a que el sistema permite visualizar
interfaces web diferentes según el tipo de elección y la persona que lo
utiliza.
C7) Presentación de resultados en
texto. Se refiere a
que los resultados de las elecciones son presentados en forma textual, sólo con
nombre de los candidatos y el número de votos que obtuvieron.
C8) Presentación de resultados en
gráficas. Se refiere a
que los resultados de las elecciones son presentados a través de gráficas,
mostrando el número y porcentaje de votos para cada candidato.
C9) Voto único. Se refiere a que el sistema garantiza que un
votante pueda emitir únicamente un solo voto en una elección en particular.
Esto es implementado a través de diversos mecanismos.
C10) Registro de elección. Se refiere a que el sistema permite al
administrador crear nuevas elecciones y configurar sus características.
C11) Registro de candidatos. Se refiere a que el sistema permite registrar los
candidatos que participarán en cada una de las elecciones que se han
registrado.
C12) Registro de votantes. Se refiere a que el sistema permite registrar los
votantes que pueden ejercer su voto para cada una de las elecciones que se han
registrado. Esto puede llevarse a cabo de manera individual o a través de una
carga masiva de votantes.
C13) Quejas y sugerencias. Se refiere a que el sistema tiene una sección donde
los votantes y los candidatos pueden enviar sugerencias o quejas acerca de la
elección en la que están participando.
C14) Confirmación del voto. Se refiere a que el sistema proporciona una notificación
al votante de que su voto ha sido emitido. Esta característica puede ser
realizada por el sistema a través de diversos mecanismos.
C15) Seguridad. Se refiere a que el sistema ha implementado algún
protocolo de seguridad para proteger su información y para la comunicación
entre el cliente y el servidor web.
C16) Creación de categorías
(votantes). Se refiere a
que el sistema puede identificar qué usuarios pueden votar en qué elección
determinada; esto lo hace mediante una clasificación de votantes de acuerdo a
la elección en la que pueden participar.
Tabla 1Comparación de
características de los sistemas analizados.
Característica |
S1 |
S2 |
S3 |
S4 |
S5 |
C1 |
ü |
ü |
ü |
ü |
ü |
C2 |
û |
û |
û |
û |
û |
C3 |
ü |
û |
ü |
û |
û |
C4 |
ü |
ü |
û |
û |
û |
C5 |
ü |
ü |
ü |
ü |
ü |
C6 |
ü |
û |
û |
û |
ü |
C7 |
ü |
ü |
ü |
ü |
ü |
C8 |
û |
û |
û |
û |
û |
C9 |
ü |
ü |
ü |
ü |
ü |
C10 |
ü |
ü |
û |
û |
ü |
C11 |
ü |
ü |
ü |
ü |
ü |
C12 |
ü |
ü |
ü |
ü |
ü |
C13 |
ü |
û |
û |
û |
û |
C14 |
ü |
û |
ü |
ü |
û |
C15 |
ü |
ü |
ü |
ü |
ü |
C16 |
û |
û |
û |
û |
û |
5 PROCESO ACTUAL DE ELECCIÓN
En esta
sección se presenta el proceso actual de elección de representantes de
profesores, alumnos y personal administrativo, el cual se lleva a cabo en
diferentes etapas que se describen a continuación.
Primera
etapa: publicación de convocatoria. En esta etapa se publica la convocatoria para
registro de candidatos para la elección de profesores, alumnos y personal
administrativo, para cada uno de los departamentos que correspondan. Para poder
realizar las etapas posteriores del proceso debe haber una convocatoria
publicada.
Segunda
etapa: registro de candidatos.
En esta etapa se ven involucrados los profesores, los alumnos y los miembros
del personal administrativo. Cualquier persona puede registrarse, pero la jefa
de la oficina técnica es quien decide si cumple con los requisitos para ser
candidato. Posteriormente se publica una lista con los candidatos registrados
para cada departamento.
Tercera
etapa: votación.
En esta etapa participan profesores, alumnos y personal administrativo, quienes
emiten su voto por un candidato en particular de su departamento. Esto se
realiza en un día en particular, en el cual se instalan urnas para que se lleve
a cabo la elección para cada departamento.
Cuarta
etapa: publicación de resultados. En esta etapa se presentan los resultados de forma
escrita a toda la comunidad. Es importante mencionar que en esta etapa se
involucra al comité electoral (miembros del consejo), quien se encarga del
conteo de votos y posteriormente emite un informe con los resultados de la elección.
En esta etapa también se publica un informe con las inconformidades o anomalías
que se encontraron en el proceso electoral, en caso de que las hubiera.
La
Fig. 5 muestra el proceso completo gráficamente, con cada una de las etapas
para la elección de representantes de profesores, alumnos y personal
administrativo ante los órganos colegiados de la UAM-C. En cada una de las
etapas se ilustra también a las personas involucradas.
6 LEVANTAMIENTO DE REQUERIMIENTOS
Para
desarrollar el sistema de votación electrónica se utilizó una metodología
iterativa e incremental con varias etapas que se llevaron a cabo en cada
iteración: levantamiento de requerimientos, análisis, diseño, implementación y
pruebas [11, 12, 13].
Figura 5 Proceso de elección de
representantes en la UAM-C.
En esta
sección se presenta el levantamiento de requerimientos que se realizó, para lo
cual se decidió acudir con la Jefa de la Oficina Técnica del Consejo Académico
de la UAM-C, ya que es la persona que conoce todo el proceso de elección de
representantes a nivel de la unidad. Se realizaron varias entrevistas y se
obtuvo la información necesaria para conocer en detalle cada una de las etapas
de las elecciones. A continuación se presentan algunos ejemplos de los
requerimientos, clasificados en requerimientos de usuario y de sistema,
obtenidos a partir de las entrevistas y los documentos recabados.
Dentro
de los requerimientos de usuario, se solicitó que el sistema debe proporcionar
acceso a cuatro tipos diferentes de usuarios: administrador, profesor, alumno y
miembro del personal administrativo.
Algunos de los
requerimientos del usuario administrador son los siguientes:
Creación
de una nueva convocatoria,
en la cual se especifiquen las fechas y horas importantes del proceso de
elección, tales como fecha y hora de publicación de convocatoria, fecha y hora
de registro de candidatos tanto inicial como final, así como las fechas para el
día de la votación y la publicación de resultados.
Calendario
de convocatoria,
en el cual sea posible visualizar las fechas importantes de una convocatoria
que ha sido publicada, tales como las fechas de registro de candidatos, de la
votación y de publicación de resultados.
Modificación
y eliminación de una convocatoria, en las cuales sea posible modificar o eliminar una
convocatoria que haya sido creada, pero no publicada. Esto es debido a que las
convocatorias que ya hayan sido publicadas no aceptan modificaciones ni tampoco
es posible borrarlas.
Visualización
de aspirantes,
en la cual sea posible consultar los aspirantes que se hayan registrado en cada
departamento, tanto para profesores, alumnos y personal administrativo. También
se debe permitir indicar si un aspirante se convierte en candidato si cumple
los requisitos especificados en la convocatoria.
Visualización
de resultados,
en la cual se mostrarán los resultados obtenidos en las elecciones por
departamento. La visualización debe ser textual y a través de gráficas para su
mejor interpretación.
Algunos de los
requerimientos del usuario profesor, alumno y miembro del personal
administrativo, son los siguientes:
Registro
de aspirante, en el cual el
profesor, alumno o miembro del personal administrativo pueda registrar su
información y los documentos que sustenten su solicitud, para que
posteriormente sean evaluados por la Jefa de la Oficina Técnica (administrador)
y se determine si puede ser candidato.
Notificación
de aceptación,
la cual se utilizará para informar a un aspirante si cumplió los requisitos
para ser considerado como candidato en una elección.
Boleta
de votación, la cual será
utilizada para que los miembros de la comunidad emitan su voto. En ella deben
aparecer las fotos de los candidatos, sus nombres y debe poder elegirse un
candidato únicamente (en el caso de profesores y alumnos), o dos candidatos (en
el caso del personal administrativo).
Visualización
de voto, la cual
permitirá al usuario ver por quién voto, únicamente una vez que el usuario haya
emitido su voto.
Visualización
de resultados,
la cual estará disponible una vez finalizada la votación. Los resultados deben
ser públicos, por lo que un usuario puede consultar los resultados de cualquier
departamento que haya estado en elección, independientemente de su adscripción.
Los
requerimientos del sistema fueron clasificados en funcionales y no funcionales.
Algunos de los
requerimientos funcionales que se identificaron son los siguientes:
Al
crear una convocatoria, el sistema debe verificar que todos los campos hayan
sido llenados correctamente, así como hacer una validación de las fechas que se
ingresan en una convocatoria. Por ejemplo, no debe ser posible crear una
convocatoria con una fecha de votación posterior a la fecha de publicación de
resultados.
Al
hacer una solicitud de registro como aspirante, el sistema debe verificar que
todos los campos hayan sido llenados correctamente, así como notificar al
aspirante si ha sido aceptado como candidato, una vez que el administrador ha
validado su información.
Al
hacer una solicitud para emitir un voto, el sistema debe verificar si el
usuario ya ha votado. En caso de no ser así, deberá visualizar la boleta con
las fotos y nombres de los candidatos registrados en su departamento. En caso
de haber votado, el sistema mostrará los detalles de su voto.
Al
hacer una petición para visualizar los resultados de una elección, el sistema
deberá mostrar los resultados en texto y gráficamente, independientemente de la
adscripción del usuario que haya hecho la solicitud.
El
sistema debe respetar las fechas para cada una de las etapas de una elección.
Por ejemplo, el sistema no debe permitir el registro de candidatos si no se ha
publicado una convocatoria; no puede permitir la votación si es el momento del
registro o publicación de resultados; no puede visualizar los resultados si es
el momento del registro o de la votación; etc. Cada una de las etapas de las
elecciones tiene una fecha y hora, y éstos deben ser verificados por el
sistema.
Algunos de los
requerimientos no funcionales que se identificaron son los siguientes:
·
El
sistema debe tener una interfaz amigable para cada uno de sus usuarios.
·
El
sistema debe adaptar su visualización a diferentes resoluciones, principalmente
para dispositivos móviles como tabletas y teléfonos inteligentes.
·
El
sistema no debe revelar la relación entre el usuario alumno, profesor o miembro
del personal administrativo y el candidato por quién se votó.
·
El
sistema no debe permitir más de un voto y más de una elección por candidato en
caso de alumnos y profesores; para miembros del personal administrativo se
permite votar por dos candidatos solamente una vez.
7 ANÁLISIS Y DISEÑO DEL SISTEMA
El análisis y
diseño del sistema de votación electrónica se llevó a cabo una vez que se
tenían los requerimientos establecidos. Se generaron diversos artefactos para
ayudar en la implementación del sistema, entre ellos destacan los siguientes:
1) casos de uso para especificar la interacción de los usuarios con el sistema
a través de listas de pasos, en los cuales se establece cómo los usuarios se
comunican con el sistema; 2) diagrama de clases para especificar las clases
persistentes que tendrá el sistema, es decir, las clases que servirán para
almacenar información; 3) diagramas de colaboración y de secuencia, para
especificar la interacción interna entre objetos de la aplicación, ya que con
estos diagramas se puede observar el paso de mansajes entre objetos; 4)
diagramas de entidad-relación y
relacional, para especificar las tablas donde se almacenará la
información relevante del sistema; 5) interfaces para especificar cómo se
visualizará la información en el sistema, entre otros. En esta sección se
muestran ejemplos de algunos de los artefactos generados en el análisis y
diseño del sistema.
En
la Fig. 6 se muestra un diagrama con algunos casos de uso, con los que
interactúan un administrador del sistema y un profesor. Cabe señalar que este
diagrama solamente muestra dos de los cuatro actores del sistema: al
administrador y el profesor. Como se observa en el diagrama, un administrador
puede realizar los siguientes casos de uso: a) Crear convocatoria, b) Consultar
aspirantes, c) Consultar resultados y d) Consultar convocatorias. Por otro
lado, un profesor puede realizar los siguientes casos de uso: a) Registrar
aspirante, b) Votar por candidato, c) Consultar resultados y d) Consultar
convocatorias.
Figura 6 Diagrama de casos de uso.
Figura 7 Diagrama de clases del
sistema.
En la Fig. 7
se muestra el diagrama de clases del sistema, cada clase con sus respectivos
atributos: Division, Departamento, Alumno,ProgramaParticipante, OfertaEducativa,
ConvocatoriaDepto, AspirantesAlumno,
NivelEducativo, Convocatoria.
En
la Fig. 8 se muestra una de las interfaces que es parte del modelo de interfaz,
la cual permite visualizar gráficamente el resultado de una elección, ya que
indica cuántos votos obtuvo cada candidato. Estas interfaces son de baja
fidelidad, y su único objetivo es ubicar los elementos que se tendrán en el
sistema.
8 IMPLEMENTACIÓN DEL SISTEMA
En
esta sección se presenta la implementación del sistema de votación electrónica.
Primeramente, se describen las tecnologías y herramientas que se utilizaron
para su desarrollo; posteriormente, se proporciona el mapa de navegación del
sistema, en donde se visualizan las secciones que contiene el sistema; después
se muestra la estructura de archivos del sistema; y finalmente, se muestran
algunas capturas de pantalla del sistema en funcionamiento.
Figura 8 Interfaz para la visualización
de los resultados.
A continuación
se describen brevemente las tecnologías y herramientas utilizadas para el
desarrollo del sistema.
Java. Es un lenguaje de programación orientado a objetos,
multiplataforma, el cual permite la creación de clases de propósito general
para la lógica de negocios del sistema, para la creación de Java Beans para
transportar información (objetos), así como clases para manipulación de datos
provientes de la base de datos.
Java Server Pages (JSP). Es la tecnología Java que permite el desarrollo de
páginas web dinámicas del lado del servidor. Esta tecnología permite la
utilización de código Java mediante scriptlets,
y las páginas web son convertidas en servlets,
los cuales a su vez son compilados y ejecutados por el servidor web.
MySQL. Es un sistema de administración de bases de datos
relacionales, que utiliza el lenguaje de consulta estructurado (Structured Query Language, SQL por sus
siglas en inglés). Es a través de este sistema de administración que los datos
serán almacenados, de donde se pueden extraer, modificar o eliminar.
Hypertext Markup Language (HTML). Es un lenguaje de marcado de hipertexto, el cual es
utilizado para la creación de la estructura y contenido de las páginas web del
sistema de votación electrónica. Cabe señalar que HTML es usado en combinación
con JSP para la generación de páginas web dinámicas.
Cascading Style Sheets (CSS). Es un lenguaje de estilos usado para la
presentación de documentos HTML. A través de estilos se puede mejorar la
visualización de una página web, ya que es posible modificar el color de la
fuente, la tipografía, el tamaño de la fuente, el color, el color de fondo, el
ancho de los bordes, la ubicación de los elementos en una página web, los
márgenes, entre otros.
JavaScript. Es un lenguaje de programación interpretado, el
cual se utiliza para la creación de páginas web dinámicas e interactivas del
lado del cliente, es decir, páginas web que se visualizan en un navegador web.
El lenguaje JavaScript es interpretado por los navegadores web a través de
funciones que son ejecutadas en respuesta a algún evento disparado en el
navegador web.
Asynchronous JavaScript and XML (AJAX).Es
un conjunto de tecnologías que permiten ejecutar llamadas a páginas web de
manera asíncrona desde un navegador web, lo cual proporciona la posibilidad de
actualizar solo una sección o parte de la página web que lo invoca. Las
llamadas asíncronas evitan que la página web se bloquee esperando a que la
petición sea atendida, resultando en una mejor interacción del usuario con el
sitio web.
Apache Tomcat. Es un servidor web y contenedor de servlets y JSP. Permite alojar sitios
web que utilizan la tecnología Java, ya que es capaz de convertir archivos JSP
en servlets y compilarlos para que
puedan ser ejecutados y generar el HTML necesario para el cliente.
NetBeans. Es un entorno de desarrollo integrado (Integrated Development Environment, IDE
por sus siglas en inglés) para crear, compilar y ejecutar archivos de diversos
tipos. Para este proyecto se utilizó este IDE para la creación y modificación
de los archivos HTML, JSP, JavaScript y CSS.
En la Fig. 9
se muestra el mapa de navegación del sistema, en el cual se ilustra la
interacción de los usuarios dentro del sistema. Hay dos tipos de usuarios
principalmente: el administrador, el cual puede crear convocatorias, ver aspirantes
y resultados por departamento o bien, las convocatorias creadas con
anterioridad, así como las demás acciones que fueron identificadas en el
análisis y diseño del sistema; el profesor, alumno o miembro del personal
administrativo, los cuales pueden registrarse como aspirantes en la
convocatoria activa, emitir su voto, ver los resultados obtenidos de las
elecciones, entre otras acciones.
Figura 9 Mapa de navegación del
sistema.
La estructura
de archivos del sistema de votación se ilustra en la Fig. 10, y a continuación
se da una breve explicación del contenido de cada uno de los directorios.
Figura 10 Estructura de archivos del
sistema.
CSS. Esta carpeta contiene los archivos con extensión
.css para el estilo y presentación del sistema de votación.
Votacion. Este directorio es utilizado por el IDE para la
creación de todos los archivos, contiene las clases compiladas y las
bibliotecas utilizadas para el sistema.
Images. Esta carpeta contiene todas las imágenes utilizadas
en el sistema. Dentro de esta carpeta hay subcarpetas para almacenar las
imágenes que corresponden a cada sección del sistema.
Js. Este directorio contiene los archivos JavaScript y
los archivos que contienen las funciones AJAX para el funcionamiento del
sistema.
Source. Esta carpeta contiene los archivos .java, los
cuales representan a las clases JavaBean y las clases de acceso a la base de
datos.
Fotos. Este directorio contiene todas las fotos de los
usuarios del sistema, así como las de los aspirantes y candidatos registrados.
WEB-INF. Esta carpeta contiene dos directorios, el primero
es classes, en el cual se almacenan
los archivos compilados (.class) de los archivos .java; el segundo es lib, en el cual se almacenan las
bibliotecas externas utilizadas en el sistema.
Archivos JSP. Son los archivos JSP, que permiten el
funcionamiento del sistema, los cuales a su vez contienen los vínculos con los
archivos JavaScript y CSS.
En este
apartado se presentan algunas capturas de pantalla del sistema de votación
electrónica que se desarrolló. En la Fig. 11 se muestra la página web que
permite al administrador crear una nueva convocatoria de elección, en la cual
debe proporcionarse toda la información necesaria, tal como: nombre de la
convocatoria, fecha y hora de publicación de la convocatoria, fechas y horas
iniciales y finales para el registro de candidatos, fecha y hora de publicación
de los candidatos aceptados, fecha y hora en que se llevará a cabo la votación,
entre otros. En el panel del lado izquierdo se cuenta con un menú para navegar
entre las distintas secciones a las que tiene acceso un administrador, tal como
se mostró en el mapa de navegación que se presentó en un apartado previo:
convocatorias, aspirantes y resultados.
Figura 11 Creación de una nueva
convocatoria.
Una vez que se
ha creado la convocatoria exitosamente, el sistema muestra el calendario con
todos los eventos importantes relacionados con la convocatoria, tal como:
publicación de la convocatoria, registro de candidatos, publicación de la lista
de candidatos, votación, publicación de resultados, etc. La Fig. 12 muestra una
captura de pantalla con el calendario que se generó a partir de la creación de
una nueva convocatoria.
Para
el caso de un usuario profesor, alumno o miembro del personal administrativo,
se tiene acceso a las convocatorias publicadas. La Fig. 13 muestra una captura
de pantalla con las convocatorias que han sido publicadas en el sistema. El
usuario que está utilizando el sistema en este caso es una alumna.
La
Fig. 14 muestra una captura de pantalla con la página web para registrarse como
aspirante en una convocatoria para elección de alumnos.
El
alumno que desea registrarse debe proporcionar toda la información que se le
solicita: nombre completo, nacionalidad, domicilio, correo electrónico,
teléfonos, división académica a la que pertenece, departamento o licenciatura
en la que se encuentra inscrito, matrícula, trimestre de ingreso, etc. El
registro para aspirantes profesores y miembros del personal administrativo se
lleva a cabo en el sistema de manera similar.
Figura 12 Calendario para una
convocatoria recién creada.
Figura 13 Convocatorias de elecciones.
Figura 14 Registro de aspirante alumno.
En este artículo se presentó un sistema de votación para la elección de
representantes de los órganos colegiados que pertenecen a la UAM-C. El objetivo
de este sistema es incentivar la participación de la comunidad universitaria en
este tipo de procesos electorales, ya que se ha observado que existen diversas
razones por las que la votación presencial no ha sido muy concurrida.
Se mostró una
comparación de sistemas de votación electrónica existentes y se describió el
proceso actual de elección de representantes para los órganos colegiados
universitarios. Se presentó la metodología que se utilizó para desarrollar el
sistema, la cual incluyó el levantamiento de requerimientos, el análisis y
diseño, y la implementación del sistema. Para el análisis y el diseño se
presentaron algunos de los artefactos generados. También se proporcionaron
detalles de la implemetación del sistema, donde se presentaron las tecnologías
y herramientas utilizadas, el mapa de navegación, la estructura del sistema y
algunas capturas de pantalla del sistema en funcionamiento.
Como
trabajo futuro, es necesario que el sistema sea evaluado por un grupo de
usuarios de cada sector involucrado (profesores, alumnos y miembros del
personal administrativo), para probar su correcta funcionalidad; su usabilidad
al realizar tareas específicas dentro del sistema; y la percepción de su uso
para llevar a cabo votaciones electrónicas. De acuerdo a los resultados de
estas evaluaciones el sistema será ajustado, para posteriormente probarlo en
elecciones de representantes futuras de Consejo Divisional o Académico.
[1] Téllez Valdés, J.
(2010). El voto electrónico. México: Tribunal Electoral del Poder Judicial de
la Federación. Recuperado de:
http://www.te.gob.mx/documentacion/publicaciones/Temas_selectos/14_voto.pdf
[2] Red de
Conocimientos Electorales ACE. (2018). Elecciones y Tecnología. Recuperado de:
http://aceproject.org/ace-es/topics/et/default
[3] Cáceres Rincón, D.
(2011). Modelo de arquitectura de sistema para la implementación del voto
electrónico en el municipio de Choachi. Recuperado de:
http://pegasus.javeriana.edu.co/~PA111-01-eVoto/docs/documento%20final%20de%20arquitectura%20empresarial%20con%20validacion.pdf
[4] Universidad
Autónoma Metropolitana, Unidad Cuajimalpa. (2018). Consejo Divisional de
Ciencias de la Comunicación y Diseño. Recuperado de:
http://hermes.cua.uam.mx/Nuestra_Division/consejo_divisional
[5] Universidad
Autónoma Metropolitana, Unidad Cuajimalpa. (2018). Consejo Académico.
Recuperado de:
http://www.cua.uam.mx/conoce-la-uam-unidad-cuajimalpa/informacion-institucional/consejo-academico
[6] Simply Voting, Inc.
(2018). Simply Voting Online Election System. Recuperado de:
https://www.simplyvoting.com/
[7] Nzoka, J. M.,
Muthama, N. M., Mung'ithya, N. M. (2013). Taita Taveta University College
E-Voting System: A Web Based Approach to Elections Management. International Journal of Intelligent
Information Systems, 2 (5), 70-76.
[8]
BallotBin. (2018). BallotBin, democracy just got
easier (2018). Recuperado de:
http://ballotbin.com/
[9] Gallegos-García, G., Ruiz-Venegas
V., Molina-Silva, A., Aguirre-Anaya, E. (2011). Design and
implementation of an electronic voting system for choosing the position of
advisor student in a university. Proceedings of the 2011 Electronics, Robotics and
Automotive Mechanics Conference, Cuernava, Morelos, México (pp. 455-460). doi:
10.1109/CERMA.2011.79
[10] Omidi, A, Moradi, S.
(2012). Modeling and quantitative
evaluation of an internet voting system based on dependable web services.
Proceedings of the 2012 International Conference on Computer and Communication
Engineering (ICCCE), Kuala Lumpur, Malaysia (pp.825-829). doi: https://doi.org/10.1109/ICCCE.2012.6271332
[11] Jacobson, I., Booch,
G., Rumbaugh, J. (1999). The Unified Software Development Process. Boston,
Massachusetts, USA: Addison-Wesley Professional.
[12] Booch, G., Rumbaugh,
J., Jacobson, I. (2005). The Unified
Modelling Language User Guide. Boston, Massachusetts, USA: Addison-Wesley
Professional.
[13] Sommerville, I.
(2015). Software Engineering. Essex,
England: Pearson Education Limited.