Sei sulla pagina 1di 2

Asignatura: Arquitectura Cliente/Servidor

Docente: Carlos Mario Medina Otálvaro

SEM I - 2020

PROYECTO FINAL

Se requiere el desarrollo de una aplicación que permita gestionar información correspondiente


al desarrollo de unas elecciones, es decir, se quiere implantar un sistema de voto electrónico
en plataforma web. El sistema debe ser implementado en el lenguaje y plataforma elegido por
cada grupo siempre y cuando se implementen los servicios basados en REST. Debe tener en
cuenta las entidades y procesos que se describen a continuación.

El sistema cuenta con votantes de los cuales se guarda información tal como cédula, nombre,
apellidos, e-mail, número celular, fotografía y contraseña para votar (la cual genera el
sistema). Se debe permitir la inserción, búsqueda, actualización y borrado de votantes (Create-
Read-Update-Delete). Cuando se crea un nuevo usuario, se debe generar una contraseña para
votar que debe estar encriptada y se debe mostrar al usuario que la utilizará al momento de
votar.

También existe información correspondiente a candidatos, de los cuales se debe administrar


(mediante CRUD), documento de identidad, nombre, celular, e-mail, fotografía y partido
político al que pertenece. Del partido político se requiere conocer su NIT, nombre, dirección,
foto oficial, teléfono y su administración usando (CRUD). Un partido político puede contar con
muchos candidatos que sólo deben estar adscritos a un solo partido.

Las elecciones se deben programar con anterioridad en el sistema, de ella se debe guardar un
código único, fecha, hora de inicio, hora final, nombre de las elecciones, descripción (máximo
100 caracteres). Se debe validar que la fecha de las elecciones sea superior a la fecha actual del
sistema y el día en que se realicen las elecciones, el software debe permitir abrir las votaciones
automáticamente o por el usuario administrador y cerrarlas automáticamente en la fecha y
hora programada. No pueden existir dos elecciones el mismo día y se deben registrar los votos
de los candidatos en cada elección realizada.

Debe existir un proceso que permita la inscripción de candidatos, los cuales pueden participar
en varias elecciones, pero en diferentes fechas. Cuando se crea un proceso de elecciones, se
deben inscribir automáticamente todos los votantes que se encuentren en la base de datos. El
proceso de votación se debe permitir siempre y cuando tanto los candidatos como los
votantes estén inscritos para esas elecciones.

El proceso de votación sólo puede llevarse a cabo si hay elecciones ese día, en ese caso el
votante podrá ejercer su derecho al voto, donde podrá seleccionar un sólo candidato. Para
ello, el sistema debe dirigir a una interfaz (no necesariamente gráfica) donde se votará. Allí se
le pedirá al usuario su número de documento y la contraseña asignada cuando se registró en el
sistema. Luego se debe contabilizar ese voto y registrarlo en el sistema al candidato
seleccionado.

Se requiere que el sistema cuente con una opción de reportes y que permita generar la
siguiente información:
Asignatura: Arquitectura Cliente/Servidor
Docente: Carlos Mario Medina Otálvaro

SEM I - 2020

1. Mostrar un listado de personas que pueden ejercer su derecho al voto.


2. Recibir una fecha y con esa información realizar una búsqueda que permita mostrar un
listado con los candidatos que van a participar en esas elecciones.
3. Mostrar el resultado de elecciones en una determinada fecha con los votos de cada
candidato.
4. Mostrar un listado con las diferentes elecciones realizadas hasta el momento, se
deben ordenar por año y en forma descendente.
5. Al ingresar la cédula de un votante, mostrar los candidatos por los que ha votado en
cada una de las elecciones.
6. Mostrar la información de los votantes cuya edad es mayor al promedio de edades de
todos los votantes.
7. Listar la información en orden alfabético, de todos los partidos políticos existentes.
8. Listar los números de documentos y nombres de todos los votantes con edades entre
18 y 27 años.

PAUTAS GENERALES PARA LA ENTREGA DEL TRABAJO

• El trabajo se realizará en los grupos de trabajo asignados en la clase.

• La entrega del trabajo se realizará máximo el día 14 de junio de 2020 en plataforma


Moodle hasta las 12 de la noche.

• La sustentación se realizará para cada grupo, uno de los días 15, 17 o 19 de junio de
2020, de acuerdo con la programación acordada con cada uno.

• Se obtendrán tres notas:


o Funcionalidad del proyecto (cumplimiento de los puntos del proyecto).
o Sustentación individual
o Presentación de avances en las semanas previas.

Potrebbero piacerti anche