TECNOLOGICO DE ESTUDIOS
SUPERIORES DE COACALCO
Sprint
1
INTEGRANTES
Ian Fernández Carmona
Luis Alberto Aguilar Moreno
Hugo Francisco Rodríguez Garay
Carlos Daniel González Dolores
José Eduardo Herculano Florentino
Grupo 3721
Carrera
Ingeniería Softwares Computacionales
El objetivo central del Sprint 1 es implementar completamente el módulo de
autenticación segura y la estructura de la interfaz basada en roles. Esto
incluye las funcionalidades de Inicio de Sesión y Registro, asegurando las
credenciales de usuario mediante hashing y estableciendo la conexión con
la base de datos MySQL. Además, se construirá el esqueleto de la Ventana
Principal y el Administrador de Usuarios, diferenciando la funcionalidad
entre los roles ADMIN y EMPLEADO.
Para la capa de datos y persistencia, las tareas comienzan con la
configuración del servidor MySQL y la instalación del conector JDBC en el
proyecto de NetBeans. Se debe crear la base de datos, por ejemplo
redproyecto_db, y la tabla usuarios con las columnas especificadas: id,
nombre, usuario, contraseña_hash (en lugar de contraseña en texto plano) y
rol. Inmediatamente después, se desarrollarán las clases Java, empezando
por [Link] para gestionar la conexión y [Link] (Data
Access Object) para encapsular las interacciones con la tabla usuarios,
implementando métodos esenciales como registrarUsuario(), validarLogin() y
obtenerUsuarios().
En la capa de lógica de negocio y seguridad, se creará la clase POJO
[Link] para mapear los datos de la tabla. La tarea crítica aquí es
implementar una librería de hashing seguro, como BCrypt o SHA-256, para
encriptar la contraseña. Esta lógica se aplicará en el proceso de registro para
guardar el hash y en el inicio de sesión para comparar el hash de la
contraseña ingresada con el almacenado.
Finalmente, en la capa de presentación (GUI) en NetBeans, se codificará la
ventana FrmLogin basándose en el maquetado Login-RedProyecto,
implementando los event handlers de los botones. Al validar al usuario, se
mostrará el mensaje de bienvenida correspondiente al rol y se cargará el
esqueleto de FrmPrincipal, basado en el maquetado Red del Proyecto-
Editor de Topologías. Esta ventana principal debe mostrar el nombre y rol
del usuario y tener funcional el botón "Cerrar Sesión". También se creará la
ventana FrmAdminUsuarios, que cargará la lista de usuarios desde el DAO.
Se debe implementar la lógica de roles para que solo el rol ADMIN pueda
acceder a esta última ventana.
El Sprint 1 se considerará terminado (Definition of Done) solo cuando el
registro y el inicio de sesión sean funcionales, todas las contraseñas en
MySQL estén hasheadas, el inicio de sesión cargue la ventana principal
correcta según el rol, y el rol ADMIN pueda ver la lista de usuarios en la
ventana de administración.