Está en la página 1de 16

PROYECTO ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE

VOTO ELECTRÓNICO I-VOTE

RAMIREZ LEIVA DEYSI CAROLINA


FLECHAS TENORIO DANIEL RICARDO
SALAMANCA SANCHEZ ANDREA
HERRERA RUIZ KATHERINE
BERRIO SALAS PAOLA

Institución Universitaria Politécnico Gran colombiano


Especialización en Gerencia de proyectos en Inteligencia de Negocios
Bogotá D.C., Colombia
2018
ÍNDICE

1. PLANTEAMIENTO DEL PROBLEMA 3

2. JUSTIFICACIÓN Y OBJETIVOS 3

3. MARCO TEÓRICO 4

4. ESTRUCTURA DE DESCOMPOSICIÓN DEL


TRABAJO(WBS).......................................................................................5
5. CRONOGRAMA DE ACTIVIDADES…………………………………………6
6. SISTEMA PROPUESTO……………………….…………………………......7

▪ Panorama (Universo del Discurso)

▪ Requerimientos funcionales

▪ Requerimientos no funcionales

7. MODELOS DEL SISTEMA……………..…………………………………….8


▪ Diseño conceptual de la base de datos
▪ Normalización de la base de datos
▪ Diseño lógico de la base de datos
8. CUESTIONES DE CONTROL DE INTEGRIDAD REFERENCIAL………9
9. DISEÑO FÍSICO DE LA BASE DE DATOS………………………….…...14
10. Consultas SQL y reportes según requerimientos del sistema………….16
11. Descripción de los requerimientos mínimos en hardware y software
necesarios para el buen funcionamiento de la aplicación y la base de
datos………………………………………………………………………...…23
12. BIBLIOGRAFÍA 25

ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE BASES DE


DATOS PARA LA GESTIÓN DE LA INFORMACIÓN DEL PROCESO DE
VOTO ELECTRÓNICO I-VOTE

PLANTEAMIENTO DEL PROBLEMA

El voto electrónico es un concepto creado para buscar el mejoramiento de los


procesos electorales en cualquier país u organización democrática mediante el
uso efectivo de las tecnologías de la información y las comunicaciones (TIC).
Diversas herramientas o sistemas han sido creados buscando este objetivo, pero
no han sido del todo efectivas debido a problemas de seguridad, usabilidad,
auditoría, entre otras.

La empresa tiene la necesidad de realizar procesos democráticos internos que


permitan elegir a sus directivos, representantes y delegados en los diferentes
niveles de su estructura organizacional; para esto requiere una estrategia que
incluya una solución tecnológica para la gestión de la información y la
implementación del voto electrónico, de tal forma que sea un proceso ágil,
sencillo, seguro y eficiente para todo el equipo de trabajo de la empresa.

La votación electrónica tiene potencialmente múltiples ventajas en comparación


con otros sistemas de votación. Puede reducir drásticamente el tiempo del
recuento de votos así como el número de errores en dicho proceso debidas a
fallas humanas o por anotación deficiente de las papeletas.

Al desarrollar nuestro sistema de bases de datos permitirá a los votantes emitir


su voto en cualquier recinto habilitado sin restricciones geográficas, disminuir la
posibilidad de fraudes por autoridades maliciosas o comprometidas (por medio
de administración distribuida de la elección, en particular, del recuento de votos),
y obtener verificación universal de la elección. Esta última característica permite
garantizar un proceso completamente transparente ante cualquier observador
interno o externo, quien puede verificar en forma online la realización correcta de
cada una de las etapas del proceso de votación

JUSTIFICACIÓN

En la actualidad los procesos democráticos requieren una logística que puede


ser mayor o menor compleja dependiendo de su magnitud y características, sin
embargo cualquiera que sea el tipo de elecciones a llevarse a cabo, genera para
los votantes y quien la organiza, un inversión en tiempo, recursos técnicos y
humanos que pueden llegar a ser engorrosos para ambas partes.

En el contexto empresarial, algunas compañías tienen políticas de participación


democrática de sus colaboradores, en la elección de representantes, consejos
directivos, voceros, delegados, entre otros, lo cual demanda que estos procesos
sean lo más eficientes posible, en aras de ahorrar tiempo, desplazamientos,
logística de materiales y recursos técnicos y humano para la realización de los
mismos. La alta competitividad y productividad de las empresas hoy en día,
requieren la optimización de todos sus procesos, en este sentido una solución a
estos requerimientos es un sistema de bases de datos que permita gestionar la
información necesaria y resultante de un proceso democrático interno. La
implementación de un sistema de voto electrónico facilita, agiliza y asegura una
elección al interior de la empresa, con resultados satisfactorios para las partes
involucradas, ya que además puede garantizar seguridad y transparencia de las
mismas.

OBJETIVOS

OBJETIVO GENERAL

● Realizar un sistema de base de datos que permita gestionar la información


de un sistema de votación electrónica a través de “i-vote”, proponiendo
una solución para la gestión de la información y el apoyo a la toma de
decisiones de la organización.

OBJETIVOS ESPECÍFICOS

● Diseñar una base de Datos implementada sobre el sistema de gestión de


base de Datos MySQL.
● Utilizar un software para diseñar una base de Datos a partir de un modelo
entidad-relación.
● Diseñar consultas SQL que respondan a requerimientos específicos.
● Aplicar las propiedades que tienen las bases de datos para realizar
transacciones seguras.

MARCO TEÓRICO

A lo largo de la historia las sociedades se han organizado de diversas maneras.


Sin embargo, en los últimos dos siglos se ha producido un cambio generalizado
en la forma de organización y de gobierno. En efecto, muchos países u
organizaciones han adoptado un modelo de gobierno democrático, incluso en los
últimos años se ha visto cómo diversos pueblos con gobiernos autoritarios se
han levantado contra estos en favor de establecer una nueva sociedad
democrática.

En un régimen democrático el poder reside en la totalidad de sus miembros. Una


característica fundamental de la democracia es que sus gobiernos derivan su
legitimidad de las elecciones, que son la principal forma que tiene la sociedad
para ejercer el poder de manera libre e igualitaria.
Dada la importancia de las elecciones es absolutamente necesario contar con
un sistema de votación confiable y seguro. Un sistema de este tipo debe cumplir
una serie de requisitos esenciales:

● El voto debe ser secreto, tanto al momento de emitir el voto, como al


realizar el conteo de los votos. (Si el voto es efectivamente secreto, la
coerción del votante no es posible).
● Un votante sólo puede votar la cantidad de veces establecida legalmente.
Normalmente esto es un voto por carrera, aunque puede haber
excepciones.
● Un votante sólo puede emitir voto en las suscripciones o carreras en las
que legalmente puede votar.
● Un votante no puede vender su voto.
● Todas las papeletas de votación deberían ser contadas sin errores.
● No debe haber obstáculos para que un votante pueda emitir su voto.
● El sistema de votación utilizado debe estar operable durante todo el
proceso de votación.

Helios es un sistema de votación de tipo i-voting, es decir que los votantes


pueden votar por Internet sin necesidad de ir a un local de votación. Este sistema
es “abiertamente auditable", es decir, que el comportamiento y los resultados
del sistema pueden ser verificados por cualquier persona o entidad. El sistema
ha sido diseñado para ser utilizado en elecciones donde se necesita confianza,
voto secreto, pero donde la coerción de los votantes no es una preocupación
importante.

El sistema está construido en Python, utiliza una interfaz Web implementada con
JavaScript, jQuery, y utiliza JSON como estructura de datos. Se utiliza el
protocolo de votación de Sako-Kilian, el cual utiliza mixnets para asegurar el
anonimato de los votos, utilizando El-Gamal como esquema de encriptación.

Este sistema se presenta como una alternativa segura para realizar elecciones
on-line, que puede ser utilizado por comunidades de Internet, grupos sociales o
centros estudiantiles. Tiene la clara ventaja de permitir que los votantes puedan
sufragar cómodamente desde cualquier lugar, en poco tiempo, especialmente
útil en organizaciones o grupos que están muy distribuidos geográficamente
como para votar todos en un mismo local de votación.

El sistema es públicamente auditable. Para esto proveen dos programas, un


programa para verificar un único voto, verificando su integridad y validez,
mediante revisión de checksums. Otro programa permite verificar las etapas del
proceso de combinación, des encriptación y conteo de los votos. En el lado del
cliente, se utiliza una técnica llamada Single-Page Web Application, esto se
refiere a que en el lado del cliente ( Browser ) toda la aplicación se carga una
sola vez, sin realizar solicitudes a través de la red hasta terminar el proceso de
preparación del voto.
ESTRUCTURA DE DESCOMPOSICIÓN DEL TRABAJO (WBS)

SISTEMA DE VOTO ELECTRÓNICO


I VOTE

PRUEBAS E
ANÁLISIS DE
ANÁLISIS PREVIO DISEÑO PROGRAMACIÓN IMPLEMENTACIÓ
REQUISITOS
N

Definir funciones Definir estandares Preparar entorno Pruebas con


Definir objetivos
del software del software de desarrollo usuarios

Definir modelos de Diseñar modelos Evaluación de


Definir estrategias Codificar procesos
datos de datos estado del proyecto

Definir recursos
Definir interfases Diseñar interfases Construir interfases Implementación
necesarios

Concretar costos y
Definir procesos Diseñar procesos Pruebas globales
plazos

Diseñar juegos de
prubas
CRONOGRAMA DE ACTIVIDADES

FEBRERO MARZO ABRIL MAYO JUNIO


FASE DEL PROYECTO TAREAS
1 5 10 15 20 25 30 1 5 10 15 20 25 30 1 5 10 15 20 25 30 1 5 10 15 20 25 30 1 5 10 15 20 25 30
1.1 Definir
procedimientos que van

control sobre el mismo )


a marcar las pautas de
trabajo del proyecto y
1. ANÁLISIS PREVIO (

objetivos
1.2 Definir
Plan de

estrategias
1.3 Definir
recursos
1.4 Concretar
costos y plazos
2.1 Definir
2. ANALISI DE REQUISITOS
(Esta fase reflejaría la parte

funciones del
funcional del proyecto)

software
2.2 Definir
modelos de
datos
2.3 Definir
interfases
2.4 Definir
procesos
3.1 Definir
3. DISEÑO (Esta fase reflejará la parte

estándares del
software
3.2 Diseñar
orgánica del proyecto)

modelos de
datos
3.3 Diseñar
interfases
3.4 Diseñar
procesos
3.5 Diseñar
juegos de
pruebas
4.1 Preparar
4. PROGRAMACIÓN (En
esta etapa traduciremos el

entorno
diseño a un código
procesable por el

desarrollo
hardware)

4.2 Codificar
procesos
4.3 Construir
interfases
4.4 Pruebas
Globales
5.1 Pruebas
(Probar el software,
localizar y corregir
LANZAMIENTO

los errores que se

con usuario
5.PRUEBAS Y

detecten)

5.2 Evaluación
de estado
proyecto
5.3
Lanzamiento

SISTEMA PROPUESTO

Panorama (Universo del Discurso)

El sistema estará diseñado para el control y conteo de votos el cual permitirá


emitir información confiable, manteniendo confidencialidad y eficiencia, a través
de los componentes que lo integran, limitando el acceso de los usuarios según
perfil de cada uno y actividad que gestiona, como el del administrador, asistente,
delegado, jurado, votante y ente regulador.

Cada uno de los perfiles del sistema de voto electrónico tiene su par respecto al
sistema de voto tradicional, sin embargo, ya que estos comparten información
en común, estos heredarán los datos en común de la entidad “cargos”, datos
tales como nombre, número de identificación, etc. Para el caso de los
postulantes, estos tendrán información adicional de interés para el votante,
incluyendo los votos para cada candidato, registrado de manera acumulativa por
cada votante, que a su vez resultan únicos para el mismo y verificables por la
auditoría.

Requerimientos funcionales:

● Autenticar a los usuarios que tendrán acceso al sistema


● Deberá permitir la configuración requerido por el administrador
● El sistema permitirá el acceso a los usuarios registrados
● Permitirá el registro de los aspirantes (candidatos).
● Deberá aceptar exitosamente el registro del votante.
● Debe permitir la administración de los usuarios.
● Controlar la jornada de las consultas.
● Permitirá administrar las mesas.
● Permitirá ejecutar y registrar el voto.
● Emitirá reporte de resultados.
● Emitirá reporte parcial del conteo de votos.
● Emitirá reporte de actividad de usuarios.

Requerimientos no funcionales:

● El sistema debe garantizar que la actividad electoral de cada terminal


se ejecutará en el puesto designado, para ello contará con los
mecanismos que permitan verificar el acceso al punto de red
designado.
● El sistema tendrá soporte para la autenticación biométrica.
● El sistema deberá tener los protocolos de seguridad reglamentarios,
además de los cifrados adecuados para garantizar la confidencialidad.
● El sistema deberá ser accesible a través de cualquier navegador
moderno.
MODELOS DEL SISTEMA

● Diseño conceptual de la base de datos (Modelo Entidad Relación)

● Normalización de la base de datos

Candidato Usuario Elección Votación


Id_Usuario Cod_Eleccion Fecha
Id_Candidato
Nombre Nombre Fecha_Inicio Hora
Apellidos Apellidos Fecha_Fin Id_Usuario
Imagen Género Hora_Inicio Id_Candidato
Género Fecha de Hora_Fin Cod_Eleccion
nacimiento
Nacimiento Contraseña Estamento
Num_Lista Activo
Cod_Eleccion
● Diseño lógico de la base de datos

CUESTIONES DE CONTROL DE INTEGRIDAD REFERENCIAL

Cuando se da una relación entre tablas, la tabla principal es aquella que contiene
un registro único que se relaciona con múltiples registros que se encuentran en
la tabla secundaria. Por ejemplo: en el diseño descrito en la sección anterior se
tiene una relación de uno a varios entre la tabla Elección y la tabla Candidato.
Cada registro que se encuentra en la tabla Elección es único y el código de la
elección jamás se repetirá por ser esta llave primaria. Ahora en la tabla
Candidato cada registro también es único y el código del candidato jamás se
repetirá por ser esta llave primaria, pero además esta tabla tiene un campo
donde se relaciona el Código _Elección (llave foránea) al cual el candidato se
postuló. En esta última tabla puede tener varios candidatos con el mismo código
de elección.

Ahora bien, como en el diseño de esta base de datos se tienen tablas


relacionadas y para mantener la integridad referencial entre los registros de estas
tablas, se definirán las siguientes reglas en los campos llaves foráneas que
están en las tablas secundarias o hijas:
 Actualizar en cascada: Esto indica que cuando se actualiza un registro de
la tabla principal se actualizarán los registros relacionados que se
encuentren en la tabla secundaria.
 Eliminar restringida: Esto indica que a la hora de eliminar un registro de
la tabla principal si este está relacionado en la tabla secundaria entonces
se registren la eliminación.

DISEÑO FÍSICO DE LA BASE DE DATOS


CONSULTAS SQL Y REPORTES SEGÚN REQUERIMIENTOS DEL SISTEMA

Para el desarrollo del software se usaron las siguientes consultas SQL:

 Para hacer el login en la aplicación: “Select contrasena from usuario where


identificacion” (Se adicionan los criterios del where por código).
 Para listar los candidatos por nombre y apellido: “"Select nombre, apellido from
candidato”
 Para listar el número de candidatos: “SELECT DISTINCT from candidato”
 Para conocer los votos de los candidatos: “Select * from votacion”

DESCRIPCIÓN DE LOS REQUERIMIENTOS MÍNIMOS EN HARDWARE Y


SOFTWARE NECESARIOS PARA EL BUEN FUNCIONAMIENTO DE LA
APLICACIÓN Y LA BASE DE DATOS
Para el desarrollo de la aplicación y puesta en marcha del servidor de base de
datos, se utilizo un equipo con las siguientes características:

 Procesador: Intel i5 Octava Generación


 Memoria Ram: 8 GB
 Almacenamiento: 1 TB
 Sistema Operativo: Windows 10

SI bien con estos requerimientos la aplicación se ejecuto sin problemas al igual


que el servidor de bases de datos, los requisitos mínimos de la instalación son
los siguientes:

 Procesador: Intel compatible


 Memoria Ram: 512 MB
 Almacenamiento: 1 GB
 Sistema Operativo: Windows, Linux, Mac, etc.

BIBLIOGRAFÍA

● Richard Celeste, Dick Thornburgh, and Herbert Lin, editors.

● Asking The Right Questions About Electronic Voting. The National


Academic Press, Washington D.C. (2006).

● Cordero, Pamela. Implementación de un Sistema de Votación


Electrónica Eficiente Para Múltiples Candidatos. Memoria (Ingeniería
civil en computación). Santiago, Chile. Universidad de Chile, Facultad de
Ciencias Físicas y Matemáticas. (2008)

● http://www.maestrosdelweb.com/que-son-las-bases-de-datos/

● http://histinf.blogs.upv.es/2011/01/04/historia-de-las-bases-de-datos/
● http://indira-informatica.blogspot.com/2007/09/qu-es-un-sistema-de-
gestin-de-base-de.html

● http://www.cavsi.com/preguntasrespuestas/que-es-un-sistema-gestor-
de-bases-de-datos-o-sgbd/

También podría gustarte