Proyecto de Gestión de Voto Electrónico
Proyecto de Gestión de Voto Electrónico
Proyecto de Gestión de Voto Electrónico
FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
PROYECTO DE INVESTIGACIÓN
Autor
Docente
2024
Rev.
Especificación de casos de uso Pág. 2
1. Introducción
1.1. Propósito
Rev.
Especificación de casos de uso Pág. 3
El propósito de este documento es definir formalmente los requisitos del sistema de votación
electrónica VotingSystem, el cual será desarrollado por estudiantes como parte del curso de
Análisis y Diseño de Sistemas. Este documento servirá como guía fundamental para el equipo
de desarrollo durante todo el ciclo de vida del proyecto, desde el diseño hasta las pruebas y
despliegue. La audiencia a la que va dirigido este documento incluye al equipo de desarrollo,
al profesor y los evaluadores del curso.
1.2. Alcance
El producto a desarrollar es un sistema de votación electrónica llamado "VotingSystem", que
será un producto de software independiente. VotingSystem permitirá llevar a cabo procesos
electorales a nivel nacional de forma electrónica, remota y segura, reemplazando los sistemas
tradicionales de votación en papel. Este documento de requisitos es consistente y se alinea
con la descripción general del sistema proporcionada en la especificación del proyecto
definida por el curso.
ANALISTA DE SISTEMAS
Rol
Pendiente
Aprobación
JEFE DE PROYECTO
Rol
1010620211@unajma.edu.pe
Información de
contacto
Pendiente
Aprobación
PROGRAMADOR
Rol
Pendiente
Aprobación
1.5. Referencias
Fe
Referen ch
cia Título Ruta a Autor
1.6. Resumen
El resto del documento está estructurado de la siguiente manera: la sección 2 ofrece una
descripción general del producto, delineando sus objetivos y funcionalidades principales.
La sección 3 detalla los requisitos específicos del sistema, cubriendo tanto los aspectos
funcionales como los no funcionales. No se incluyen apéndices en este documento.
2. Descripción general
2.1. Perspectiva del producto
VotingSystem será un sistema de votación electrónica presencial a nivel nacional con una
funcionalidad innovadora de autenticación biométrica mediante huella digital. Los
componentes principales serán:
Rev.
Especificación de casos de uso Pág. 6
2.4. Restricciones
2.4.1. Plataformas de desarrollo
● Las terminales de votación deberán desarrollarse para el sistema operativo
Windows 10, utilizando tecnologías .NET Core y WPF.
● El servidor de aplicaciones y otros componentes del lado del servidor se
desarrollarán utilizando .NET Core y C#.
2.4.2. Bases de datos
● Se utilizará Microsoft SQL Server como sistema gestor de bases de datos
relacionales.
● Todos los datos sensibles como credenciales de votantes y votos emitidos
deberán cifrarse utilizando algoritmos de encriptación aprobados por el
estándar FIPS 140-2.
2.4.3. Hardware
● Las terminales de votación requerirán lectores de huellas digitales
compatibles con las Especificaciones de Minucias de Huella Digital
(Minutiae Fingerprint Specifications).
● Los servidores deberán cumplir con ciertos requerimientos mínimos de
procesador, memoria RAM, almacenamiento y redundancia para garantizar el
rendimiento y alta disponibilidad.
2.4.4. Interfaz de usuario
● La interfaz de las terminales de votación deberá seguir las pautas de
accesibilidad WCAG 2.1 para permitir su uso por parte de votantes con
discapacidades.
2.4.5. Cumplimiento normativo
● El sistema deberá cumplir con todas las regulaciones y leyes aplicables a
procesos electorales definidas por las autoridades electorales nacionales.
2.4.6. Auditoría y certificación
● Todo el proceso de desarrollo de software deberá seguir metodologías y
prácticas que permitan la auditoría y certificación del sistema por parte de
organismos electorales externos.
3 Requisitos específicos
Esta es la sección más extensa y más importante del documento.
Debe contener una lista detallada y completa de los requisitos que debe cumplir el sistema a desarrollar. El nivel de
detalle de los requisitos debe ser el suficiente para que el equipo de desarrollo pueda diseñar un sistema que satisfaga
los requisitos y los encargados de las pruebas puedan determinar si éstos se satisfacen.
Rev.
Especificación de casos de uso Pág. 9
Los requisitos se dispondrán en forma de listas numeradas para su identificación, seguimiento, trazabilidad y validación
(ej. RF 10, RF 10.1, RF 10.2,...).
Número de requisito
Nombre de requisito
La distribución de los párrafos que forman este punto puede diferir del propuesto en esta plantilla, si las características
del sistema aconsejan otra distribución para ofrecer mayor claridad en la exposición.
1. Facilidad de uso: Interfaces intuitivas y fáciles de usar para todos los votantes.
2. Claridad y legibilidad: Contenido claro y legible con buen contraste y tamaño de fuente adecuado.
3. Navegación intuitiva: Posibilidad de moverse fácilmente entre secciones y realizar acciones sin complicaciones.
4. Retroalimentación visual: Confirmación visual clara de las acciones realizadas por el votante.
5. Instrucciones claras: Provisión de instrucciones concisas para guiar a los votantes durante el proceso de votación.
Requisitos de Accesibilidad:
1. Compatibilidad con lectores de pantalla: Interfaces que funcionan bien con lectores de pantalla para personas
con discapacidad visual.
2. Soporte para controles de voz: Posibilidad de interactuar con el sistema mediante comandos de voz para
personas con discapacidad motora.
3. Contrastabilidad: Opciones de contraste ajustables para adaptarse a las necesidades de personas con
discapacidad visual.
Requisitos de Seguridad:
Rev.
Especificación de casos de uso Pág. 10
1. Protección de datos: Garantizar la seguridad de los datos de votantes y resultados de elecciones contra accesos
no autorizados.
2. Prevención de manipulación: Implementación de medidas para prevenir la manipulación o alteración de datos
durante el proceso de votación.
3. Autenticación segura: Uso de métodos seguros de autenticación para verificar la identidad de los votantes y
garantizar la emisión de votos autorizados.
Requisitos de Integración:
1. Interoperabilidad: Interfaces compatibles con otros sistemas de voto electrónico y gestión de elecciones para
facilitar la integración y el intercambio de datos.
2. Integración con sistemas externos: Capacidad de integrarse con sistemas externos, como bases de datos
biométricas y registros electorales, para verificar la identidad de los votantes y acceder a información relevante.
En ellas se incluye:
Rev.
Especificación de casos de uso Pág. 11
§ Parámetros
§ Generación de salidas
§ Relaciones entre entradas y salidas (secuencias de entradas y salidas, formulas para la conversión de
información)
§ Especificación de los requisitos lógicos para la información que será almacenada en base de datos (tipo de
información, requerido)
3.3.2 Seguridad
● Todo el sistema deberá cumplir con los más altos estándares de seguridad aplicables a
sistemas de misión crítica.
● Se aplicarán técnicas multicapa de autenticación, cifrado de datos, controles de
acceso, monitoreo y auditoría.
● La integridad de los componentes de software se verificará mediante firmas digitales.
3.3.3 Fiabilidad
● El sistema deberá tener una disponibilidad mínima del 99.9% durante los períodos de
votación.
● Todas las transacciones de votación deben registrarse de forma permanente y ser
recuperables ante fallas.
Rev.
Especificación de casos de uso Pág. 12
3.3.4 Disponibilidad
La disponibilidad es un factor crítico para el éxito del sistema de votación electrónica, especialmente
durante los períodos de votación activa. Se deben cumplir los siguientes requisitos:
3.3.5 Mantenibilidad
La mantenibilidad es un factor clave para garantizar que el sistema VotingSystem pueda ser
actualizado, corregido y mejorado de manera eficiente a lo largo de su ciclo de vida. Los siguientes
requisitos deberán cumplirse:
3. Pruebas automatizadas:
a. Se implementará un conjunto integral de pruebas unitarias, de integración,
funcionales, de carga, seguridad y otras que puedan ejecutarse de forma
automatizada.
b. Esto permitirá validar el correcto funcionamiento del sistema después de realizar
cualquier cambio o actualización.
4. Gestión de versiones y control de cambios:
a. Se utilizará un sistema robusto de control de versiones y gestión de cambios para
rastrear todas las modificaciones realizadas al código y componentes.
b. Esto facilitará las tareas de resolución de problemas, implementación de parches y
despliegues controlados.
5. Actualizaciones y parches:
a. El sistema deberá permitir la aplicación de parches, actualizaciones y nuevas
versiones de software de manera sencilla y con un impacto mínimo en las
operaciones.
b. Se contará con planes de implementación y procedimientos de reversión bien
definidos.
6. Transferibilidad:
a. Aunque inicialmente se implementará en un proveedor de nube específico, el sistema
deberá poder transferirse a otra plataforma o nube en el futuro si es necesario.
7. Soporte del proveedor:
a. Se contratarán los servicios de soporte y mantenimiento adecuados por parte del
proveedor de servicios en la nube donde se aloje el sistema.
3.3.6 Portabilidad
Dado que VotingSystem será un sistema crítico para los procesos electorales a nivel nacional, es
importante asegurar que pueda ser transferido y ejecutado en diferentes plataformas o proveedores de
servicios en la nube si fuera necesario. Los siguientes requisitos de portabilidad deberán cumplirse:
1. Independencia de la plataforma:
a. El sistema se desarrollará utilizando tecnologías y marcos de trabajo multiplataforma
en la medida de lo posible.
b. Se evitará la dependencia excesiva de características o servicios específicos de un
proveedor de nube en particular.
2. Contenedores y virtualización:
a. Todos los componentes del sistema (servidores web, de aplicaciones, bases de datos,
etc.) se empaquetarán y distribuirán como contenedores o máquinas virtuales
portables.
b. Esto facilitará la implementación del sistema en diferentes entornos de nube o locales.
3. Configuraciones parametrizadas:
a. Todas las configuraciones específicas del entorno (direcciones IP, cadenas de
conexión, rutas de archivos, etc.) estarán parametrizadas y almacenadas
externamente.
b. Esto permitirá cambiar fácilmente estas configuraciones al migrar a un nuevo
entorno.
4. Abstracción de servicios de nube:
a. Se utilizarán capas de abstracción y bibliotecas que encapsulen la interacción con
servicios específicos de nube (almacenamiento, redes, bases de datos, etc.).
b. Esto facilitará el cambio a servicios equivalentes de otro proveedor de nube en el
futuro.
Rev.
Especificación de casos de uso Pág. 14
5. Pruebas de portabilidad:
a. Se realizarán pruebas periódicas desplegando el sistema en otros entornos de nube o
locales para validar su portabilidad.
b. Cualquier problema de portabilidad identificado se abordará y corregirá de inmediato.
6. Documentación de procedimientos de migración:
a. Se documentarán detalladamente todos los pasos y procedimientos necesarios para
migrar y poner en funcionamiento el sistema en un nuevo entorno de nube o local.
4 Apéndices
Los apéndices son secciones opcionales que se utilizan para proporcionar información
complementaria o de referencia que no forma parte del cuerpo principal de la SRS. Algunos apéndices
relevantes que podrían incluirse son:
1. Glosario de términos
Rev.
Especificación de casos de uso Pág. 15