Codificación de Modulos
Codificación de Modulos
Codificación de Modulos
módulos componentes
Presentado por:
Julian David Martinez González
Instructor:
Adriana Pilar Guzmán
Requerimientos Funcionales
1. Gestión de Usuarios:
o El sistema debe permitir el registro, inicio de sesión y cierre de
sesión de usuarios.
o Los administradores deben poder gestionar (crear, editar y eliminar)
usuarios.
o Los usuarios registrados pueden actualizar su perfil.
2. Gestión de Productos:
o Los administradores deben poder agregar, modificar o eliminar
productos del catálogo.
o Los usuarios deben poder visualizar el catálogo de productos,
filtrarlos por categorías o buscar productos específicos.
3. Carrito de Compras:
o Los usuarios deben poder agregar productos al carrito de compras.
o El sistema debe mostrar el carrito de compras con la lista de
productos seleccionados, junto con el precio total.
o Los usuarios deben poder actualizar las cantidades o eliminar
productos del carrito antes de proceder al pago.
4. Gestión de Pedidos:
o Los usuarios deben poder realizar pedidos desde su carrito de
compras.
o El sistema debe permitir a los usuarios consultar el estado de sus
pedidos.
o Los administradores deben poder gestionar los pedidos (marcar
como enviados o entregados).
5. Autenticación y Autorización:
o El sistema debe diferenciar entre usuarios comunes y
administradores.
o Los administradores deben tener acceso a funciones de gestión de
usuarios, productos y pedidos.
o Los usuarios no autenticados solo deben poder acceder a la
visualización del catálogo.
6. Interfaz de Usuario (UI):
o La aplicación debe tener una interfaz sencilla y amigable que permita
la navegación por el catálogo de productos, el carrito y el proceso de
compra.
7. Notificaciones:
o El sistema debe enviar correos electrónicos de confirmación de
registro, pedido y otros eventos importantes a los usuarios.
Requerimientos No Funcionales
1. Rendimiento:
o La aplicación debe responder de manera eficiente, permitiendo
tiempos de carga rápidos para las páginas.
o La base de datos debe optimizarse para manejar consultas
relacionadas con productos, usuarios y pedidos de manera eficiente.
2. Escalabilidad:
o El sistema debe ser escalable para manejar un número creciente de
usuarios, productos y pedidos.
3. Seguridad:
o Los datos de los usuarios, especialmente las contraseñas, deben
estar cifrados en la base de datos.
o Se deben implementar medidas de seguridad como prevención de
ataques de inyección SQL, Cross-Site Scripting (XSS) y Cross-Site
Request Forgery (CSRF).
o Las sesiones deben estar protegidas para evitar su secuestro.
4. Compatibilidad:
o La aplicación debe ser accesible desde diferentes navegadores web
(Google Chrome, Mozilla Firefox, Safari) y dispositivos móviles
(responsive design).
5. Mantenimiento:
o El sistema debe estar bien documentado para facilitar futuras
mejoras o modificaciones.
o Se deben seguir buenas prácticas de desarrollo, como la separación
de código, comentarios claros y el uso de control de versiones (Git).
6. Base de Datos:
o El sistema debe utilizar una base de datos relacional (MySQL,
PostgreSQL, etc.) para almacenar la información de usuarios,
productos, pedidos y sesiones.
o La base de datos debe estar estructurada correctamente, con claves
foráneas y relaciones entre tablas para asegurar la integridad de los
datos.
7. Pruebas:
o La aplicación debe ser sometida a pruebas unitarias y funcionales
para asegurar su correcto funcionamiento antes del despliegue.
8. Despliegue:
o La aplicación debe ser capaz de ejecutarse en servidores web como
Apache o Nginx, con soporte para PHP y conexión a una base de
datos MySQL.
o Se deben documentar las configuraciones necesarias para el
despliegue del sistema en un entorno de producción y pruebas.
9. Control de Versiones:
o El sistema debe utilizar Git como sistema de control de versiones,
con un repositorio donde se gestionen los cambios y colaboraciones
en el código.
Criterios de aceptación:
Criterios de aceptación:
Criterios de aceptación:
Criterios de aceptación:
Criterios de aceptación:
Criterios de aceptación:
El sistema debe mostrar un resumen del pedido antes de la confirmación,
con el total, dirección de entrega y método de pago.
El usuario debe poder elegir entre diferentes métodos de pago (tarjeta de
crédito, transferencia bancaria, etc.).
El pedido debe quedar registrado en la base de datos.
El usuario debe recibir una confirmación por correo electrónico con los
detalles del pedido.
Como administrador,
quiero ver y gestionar los pedidos de los usuarios,
para asegurar que los pedidos se procesen correctamente.
Criterios de aceptación:
El administrador debe poder ver la lista de todos los pedidos con su estado
(pendiente, enviado, entregado).
El administrador debe poder actualizar el estado de los pedidos.
El sistema debe permitir filtrar los pedidos por estado y fecha.
Como administrador,
quiero agregar, modificar o eliminar productos del catálogo,
para mantener el inventario actualizado.
Criterios de aceptación:
2. Modelos (Models)
En la carpeta models, los archivos corresponden a los modelos que interactúan
con la base de datos para recuperar o modificar la información. Estos representan
la lógica de negocio.
admin.php - Modelo que gestiona los datos relacionados con los administradores.
Resumen: