PC03
PC03
PC03
INTEGRANTES:
DOCENTE:
1. Descripción de la empresa
PROYECTOS ESPECIALES CAT S.A.C, es una sociedad anónima cerrada constituida por 3
socios, el 20 de Junio del 2005, como una empresa especializada en la producción y comercialización
en muebles metálicos, enfocados a garantizar la calidad de todos nuestros Productos.
Entre las funciones principales que realiza la empresa se encuentra la venta de productos
metal mecánicos a través de pedidos por la web, se hace la elaboración de estos productos y se
procede a entregar el pedido gracias a nuestro servicio de transporte, cada trabajador de esta
empresa tiene un rol diferente y el encargado de administrar a estos trabajadores es el jefe de
planta que tiene las funciones de registrar los datos de los nuevos trabajadores, asignar horarios,
establecer sueldos y cumplir el pago de estos mensualmente de acuerdo al contrato.
Este proceso es uno de los principales de la empresa, empieza con el logueo del usuario en
la aplicación web con sus credenciales previamente creadas, para luego pueda generar una nueva
orden con los productos seleccionados, junto a esta orden se solicitarán sus datos personales y la
dirección a la que será entregado el o los productos pedidos, una vez confirmado y generado el
pedido el jefe de planta asignará el pedido a el área correspondiente interna de la empresa y de esta
manera el pedido del cliente podrá ser preparado.
● Logueo del cliente: El cliente se loguea en la ventana inicial con sus credenciales
previamente creadas, si el usuario se olvida su contraseña, existirá una función de
recuperación de contraseña, la cual enviará un correo al correo asociado para su respectivo
restablecimiento, en el caso de no tener una cuenta procederá a crearse una y aceptar el
correo de confirmación, luego se le mostrará la ventana de bienvenida.
● Crear nuevo pedido: Una vez ingresada a la plataforma se mostrará una lista de todos los
productos que ofrece la empresa, se podrán filtrar por categorías para una mejor
visualización cada producto tendrá su precio unitario y un botón de comprar con el cual el
usuario podrá agregar al carrito su producto, este proceso se realizará para cada producto
que el cliente requiera, se podrá ver más información de cada producto, dentro de esta
nueva ventana se especificará los detalles internos y externos del producto así como los
materiales del que está hecho.
● Confirmación de pedido: Cuando el cliente haya agregado al carrito todos los productos que
requiera en la ventana de carrito de compras se mostrará todos los productos seleccionados
y podrá ingresar la cantidad de cada uno que requiera,también se podrá vaciar el carrito,
esto significa volver a seleccionar todos los productos, junto con esto se mostrará un
pequeño cuadro con el resumen del pedido que se está realizando, esto incluye nombre del
producto, cantidad, precio unitario y precio total, y finalmente el precio total a pagar junto a
su botón de pagar.
● Pago de pedido: Cuando el cliente haga click en pagar se mostrará una ventana donde se
procesa el pago, el cliente tendrá 2 opciones, recoger en local o delivery, en el caso de
recoger solo se mostrará la ventana para ingresar los datos de su tarjeta de credito o debito,
estos datos serán el nombre del titular, el número de la tarjeta, el cvv y la fecha de
vencimiento, si el método de pago fuera paypal se le pedirá su correo y contraseña,, en el
caso del servicio de delivery, el cliente ingresará los datos del domicilio o local al que desea
que se le envia su pedido, estos datos serán departamento, provincia, celular, dirección,
codigo postal, distrito, referencia, descripción y finalmente dará click en pagar en finalizar
para terminar con la compra de su pedido.
Este proceso permite a los jefes de planta hacer un pedido al encargado de revisar la
disponibilidad de materia prima los materiales que están escasos o con los que no se cuenta,
el jefe de planta realiza el pedido de los suministros y este pedido es revisado por todos los
proveedores disponibles y responden a la solicitud con sus ofertas, el jefe de planta podrá
aceptar la oferta y concretar la compra al proveedor elegido.
● Hacer nuevo pedido: Esta función permite al jefe de planta solicitar la cantidad requerida de
materia prima en cada tipo de material, luego ingresa la fecha en la que lo requiere y el
monto a pagar por este pedido.
● Recepción de pagos: Esta función permite ver si el pedido se encuentra entregado o si sigue
en estado de pago, cuando se ingrese a cada uno de estos pedidos se podrá ver la
información de cada uno de estos y también se podrá añadir nueva información
proporcionando la contraseña del jefe de planta.
● Consulta de compras. Esta función muestra la lista de los códigos de todas las compras
hechas y su estado (si están completamente recibidos o pagados, en cada uno se podrán ver
los detalles de las compras, las recepciones y pagos a la fecha.
● Ver estadísticas: Esta función permite mostrar gráficos con la información de los productos
que más se han comprado por parte de los clientes, esto permitirá asignar un mayor
presupuesto a los productos que tiene más demanda.
Los usuarios del sistema son los clientes y trabajadores(empleados,jefes de planta) cada uno de
estos tienen distintos roles y funciones en la empresa.
Cliente:
Trabajador:
3.2.1 En el caso de que el cliente no tenga una cuenta en el portal, se tendrá que registrar.
3.2.2. El sistema solicita sus datos para crear una cuenta como nombre, apellido, teléfono, dni,
correo y contraseña.
6. Si el usuario es un trabajador se les habilita los módulos de suministros y pedidos del cliente.
Actor: Cliente
1. El sistema muestra la lista de productos con sus respectivos nombres, precios y la opción
de comprar, estos se pueden filtrar por categorías y añadirlas al carrito.
3. El sistema muestra una ventana de confirmación antes de que el producto sea añadido al
carrito.
5. El sistema da la opción ingresar las unidades de los productos elegidos, luego se muestran
los botones de ir al carrito o ir a pagar.
5.2. El sistema muestra una lista con los productos agregados por el cliente en el carrito con
su respectivo precio y un botón de más detalles.
5.3. El cliente ingresa la cantidad requerida de cada producto en el carrito.
5.4. Si el cliente accede a más detalles se muestra una ventana con los detalles internos,
externos, materiales, peso del producto, información de la garantía y datos adicionales.
6. Si selecciona ir a pagar
8. El cliente ingresa los datos de su tarjeta como nombre de titular, número de tarjeta, cvv y
fecha de vencimiento.
Actor: Cliente
4.2. El sistema muestra una ventana donde el usuario ingresará los datos como: nombre de
titular, número de tarjeta, cvv, fecha de vencimiento.
8. El sistema muestra los campos de ingreso de la dirección del lugar al que se desee hacer
delivery, campos como dirección, distrito, provincia, código postal, teléfono referencias.
10. El sistema muestra una ventana con el título “ Su compra fue realizada con éxito”.
11. Se mostrará un mensaje personalizado para cada opción: si ha escogido delivery o recojo
en local.
Actor: Cliente
2. El sistema muestra una ventana con los campos de nombre, teléfono, dni, celular, correo,
y contraseña, que podrán ser ingresados para actualizar sus datos.
3. El cliente llena los campos con sus datos personales actualizados y da click en cambiar
datos.
4. El sistema muestra una ventana con el texto “¿Está seguro que desea actualizar sus
datos?”
5. El cliente selecciona sí, estoy seguro y regresa a la ventana de perfil para que siga viendo
las siguientes opciones.
Caso de uso: Revisión de mis pedidos
Actor: Cliente
3. El sistema mostrará datos como fecha de pedido, precio de pedido, estado del pedido y la
opciones de descargar la boleta del pedido.
5. El sistema abrirá una nueva pestaña para que descargue el pdf de la boleta del pedido.
.
2. El sistema muestra una ventana con las imágenes de los productos que se han comprado
en mayor cantidad, así como la fecha de la última compra de ese producto.
3. El usuario da click en ver más y se muestran los productos que han sido comprados en
menor cantidad.
Caso de uso: Registro de Insumos
1.1 Si elige PEDIDOS DEL CLIENTE aparece una pantalla de ACCESO DENEGADO con el botón
REGRESAR para volver a la página anterior
5. Ve una pantalla con los botones CREAR INSUMO, VER INSUMOS y REGRESAR
7. En esta pantalla se ingresan los datos CÓDIGO DE INSUMO, PRECIO DE INSUMO, NOMBRE
DE INSUMO, CATEGORÍA DE INSUMO, CANTIDAD DE EXISTENCIAS, DESCRIPCIÓN DE INSUMO
Y FOTO DE INSUMO. También están los botones CREAR, VER INSUMOS y REGRESAR
8. Elige CREAR para registrar (solo si todos los campos de 7 están llenos)
7. Se ve una pantalla con una tabla de todos los insumos registrados con los datos CÓDIGO DE
INSUMO, NOMBRE DE INSUMO, CATEGORÍA DE INSUMO, PRECIO DE INSUMO y CANTIDAD DE
EXISTENCIAS con las páginas numeradas necesarias. También los botones DESCARGAR EN XLS,
SELECCIONAR y REGRESAR
7.2 DESCARGAR EN XLS para generar un Excel con toda la información de la tabla del punto 7
con el nombre “INSUMOS”
5. Ve una pantalla con los botones CREAR PRODUCTO, VER PRODUCTOS y REGRESAR
8. Elige CREAR para registrar (solo si todos los campos de 7 están llenos)
7.2 DESCARGAR EN XLS para generar un Excel con toda la información de la tabla del punto 7
con el nombre “PRODUCTOS”
9. Se ve una pantalla con todos los detalles de dicho insumo habilitados para ser cambiados,
además los botones MODIFICAR PRODUCTO, ELIMINAR PRODUCTO y REGRESAR
1.1 Si elige PEDIDOS DEL CLIENTE aparece una pantalla de ACCESO DENEGADO con el botón
REGRESAR para volver a la página anterior
4. Elige DISTRIBUIDORES
8. Elegido el distribuidor se muestran todos los insumos que puede vender, cada insumo con
foto, código, precio, la opción de digitar una cantidad de unidades y un botón de PEDIR
INSUMO para confirmar de forma preliminar. Aparte están los botones HABLAR CON
DISTRIBUIDOR, FINALIZAR PEDIDO y REGRESAR
10. Se ve una pantalla con el distribuidor elegido junto con todos los insumos confirmados
preliminarmente. Cada insumo con foto, nombre, cantidad pedido y el costo total por dicho
insumo. Aparte se ve el total a pagar del pedido y el botón PAGAR. También los botones
HABLAR CON DISTRIBUIDOR y REGRESAR.
12. Se ve una pantalla donde se podrá pagar únicamente con tarjeta de crédito o débito. Se
necesita ingresar Titular de tarjeta, Fecha de vencimiento, Número de tarjeta y CVV. También
se puede seleccionar una casilla de Guardar Sesión para mayor rapidez en la próxima compra.
Aparte están los botones PAGAR Y FINALIZAR y REGRESAR
14. Se ve una pantalla con el mensaje “SU COMPRA FUE REALIZADO CON ÉXITO” y una imagen.
Aparte los botones IMPRIMIR VOUCHER, REGISTRO DE PEDIDOS y HABLAR CON
DISTRIBUIDOR.
10. Se ve una pantalla con el nombre del distribuidor seleccionado en el punto 8, junto con su
número de contacto y correo. También los botones ENVIAR MENSAJE POR GMAIL y ENVIAR
MENSAJE POR WHATSAPP. Ambos redirigen al usuario al chat seleccionado. Aparte el botón
REGRESAR
7. Se ve una pantalla con una tabla de todos los pedidos hechos con CÓDIGO DE PEDIDO,
PRECIO, DISTRIBUIDOR, ESTADO y FECHA además de la opción de descargar boleta. Aparte los
botones de DESCARGAR EN XLS, HABLAR CON DISTRIBUIDOR Y REGRESAR.
7.1 REGRESAR para volver al punto 5
7.2 DESCARGAR EN XLS para generar un Excel con toda la información d la tabla del punto 7
con el nombre “PEDIDOS”
1.2 PEDIDOS DEL CLIENTE es otro caso de uso (en caso tenga el permiso) o aparece una
pantalla de ACCESO DENEGADO con el botón REGRESAR para volver a la página anterior (en
caso que no tenga el permiso)
5. Se mostrarán diversos botones con diferentes gráficas en cada uno, como por ejemplo los
costos de los pedidos o las ventas mensuales o anuales. Esto está todavía por definirse.
También un botón de REGRESAR para volver al punto 3.
Requerimientos no funcionales:
- El sistema debe ser capaz de operar adecuadamente con hasta 10.000 usuarios con
sesiones concurrentes.
- Si se identifican ataques de seguridad o brecha del sistema, el mismo no continuará
operando hasta ser desbloqueado por un administrador de seguridad.
- El sistema debe contar con manuales de usuario estructurados adecuadamente.
- El sistema debe proporcionar mensajes de error que sean informativos y orientados
al usuario final.
- El sistema debe contar con un módulo de ayuda en línea.
- La aplicación web debe poseer un diseño adaptable a fin de garantizar la adecuada
visualización en múltiples computadores personales, dispositivos tablets y teléfonos
inteligentes
- El sistema debe tener una disponibilidad del 99,99% de las veces en que un usuario
intente acceder.
- El sistema no revelará a sus operadores otros datos personales de los clientes
distintos a nombres y números de referencia.
MODELAMIENTO CONCEPTUAL
Módulo de Compra
Módulo de compra
Entidades y Atributos
Insumos: Materia prima necesaria para la producción. Esta entidad absorbe el inventario de
insumos de la empresa
Pedido_Compra: Cada una de los pedidos que se desean comprar a las empresas proveedoras
Pagos: Entidad débil que depende de Pedido_Compra. Son los pagos que hace nuestra
empresa por cada pedido.
Relaciones:
posee: Relaciona Insumos y Categoria_In. Se supone que un insumo puede tener una o
muchas categorías y que una categoría puede ser poseída por ningún o muchos insumos.
tiene: Relaciona Pedido_Compra y Pagos. Se supone que un pedido puede tener uno o más
pagos y que estos pagos son solo para este pedido. Es una relación con una entidad débil.
Modulo Venta
Nombre, Descripción
ProductoxCategoría:: Ya que esta relación es muchos a muchos se crea una tabla intermedia.
Sesion_Compra: Esta sesión está activa cuando el cliente aún no hace click a pagar.
Detalles_pago: Son los detalles del pago hecho por el cliente por cada pedido.
Relaciones:
supervisa: Relaciona al trabajador y el pedido que hace el cliente.
pertenece: Relaciona al área con el trabajador y al producto con su categoría y a la sesión con
el cliente, un área puede tener muchos trabajadores, pero un trabajador pertenece a una sola
área.
confirma: Relaciona pedido y pago, cuando el cliente confirma el pago se hace el pedido se
procede al despacho interno.
realiza: Relaciona cliente y pedido, cada cliente puede realizar muchos pedidos, pero un
pedido es realizado por un solo cliente.
compuesto de: Relaciona pedido con producto y sesión con producto, un pedido está
conformado por muchos productos.
posee: Relaciona cliente con dirección y método de pago, cada cliente necesita estas dos
entidades para realizar operaciones.
Módulo de Venta
MODELAMIENTO LÓGICO
Módulo de Compra
Módulo de Venta
CREACIÓN DE TABLAS
Sentencias SQL
Eventos:
1. Inicio de sesión: El usuario ingresa sus credenciales para iniciar sesión
SELECT nombre, apellido, dni FROM CLIENTE where correo=? and contraseña=?;
Sentencias SQL
Eventos:
1. Registro de nuevo usuario
INSERT INTO CLIENTE (nombre, apellido, correo, telefono, dni, contraseña, fecha_creación,
fecha_modif) VALUES (<1>, <2>, <3>, <4>, <5>, <6>, current_date, current_date)
Donde los valores enumerados vienen a ser los datos ingresados por el cliente para su
registro en la tabla cliente,
Donde el código de categoría es obtenido gracias al clic del usuario y se ordena por nombre o
precio de manera ascendente o descendente según la opción del usuario.
2. Agregar productos al carrito con el botón comprar
Donde la cant_producto será el número ingresado por el cliente cuando haga clic en comprar
el producto de su preferencia.
Código Requerimiento R-004
Código Interfaz I-004
Imagen Interfaz
Sentencias SQL
Eventos:
1. Carga de productos agregados al carrito
UPDATE
sesion_compra
SET
monto_total = sesion_compra.monto_total + (CC.cantidad_prod * P.precio) FROM
Carrito_compra CC, Producto P WHERE CC.cod_producto=P.cod_producto AND
CC.cod_carrito=sesion_compra.cod_sesión_compra;
Se hará un update a la tabla sesión compra que contiene el monto total del carrito de compras
cada vez que el usuario de clic en comprar un producto e ingrese la cantidad requerida
Código Requerimiento R-005
Código Interfaz I-005
Imagen Interfaz
Sentencias SQL
Eventos:
RESUMEN DE CARRITO DE COMPRAS
Al cargar página
Sentencias SQL
Sentencias SQL
Sentencias SQL
Sentencias SQL
Sentencias SQL
CREAR PRODUCTO
Sentencias SQL
CREAR SUMINISTROS
Sentencias SQL
LISTA DE PRODUCTOS
Sentencias SQL
LISTA DE SUMINISTROS
Sentencias SQL
MODIFICAR PRODUCTO
SELECT Miniatura, Precio, Nombre, categoría, existencias, color, peso, Descripcion FROM
Producto WHERE cod_producto = <1>;
UPDATE Producto
SET Miniatura = <2>,
Precio = <3>,
Nombre = <4>,
categoría= <5>,
existencias= <6>,
color= <7>,
peso= <8>,
Descripcion= <9>
WHERE cod_producto = <1>;
*Se puede modificar cualquier campo excepto el código al hacer click en MODIFICAR
PRODUCTO.
ELIMINAR PRODUCTO
Sentencias SQL
MODIFICAR SUMINISTRO
UPDATE Insumos
SET miniatura = <2>,
nombre = <3>,
categoría= <4>,
existencias= <5>,
descripcion= <6>
WHERE codigo_in = <1>;
*Se puede modificar cualquier campo excepto el código al hacer click en MODIFICAR
INSUMO.
ELIMINAR SUMINISTRO
Al cargar la Pagina:
SELECT ruc, nombre FROM Distribuidor;
SELECT i.miniatura, i.nombre, c.codigo_in, c.precio FROM Insumos i, DistribuidorxInsumos
c, WHERE i.codigo_in = c.codigo_in AND c.ruc = <1>
INSERT INTO Pagos (codigo_pa, titular, fecha_exp, tarjeta, cvv) VALUES (<2>, <3>, <4>, <5>,
<6>);
INSERT INTO Pedido_Compra (codigo_pc, fecha, monto_total, estatus, ruc, cod_trabajador,
codigo_pa) VALUES (<7>, <8>, <9>, <10>, <1>, <11>, <2>);
INSERT INTO PCxInsumos (codigo_pc, codigo_in, cantidad) VALUES (<7>, <12>, <13>);
*Cada vez que se haga clic en PEDIR PRODUCTO (de insumos diferentes) se crea un Insert.
*<12>Código del insumo (codigo_in) donde se digito la cantidad.
*<13>Cantidad digitada.
Código Requerimiento R-017
Código Interfaz I-017
Imagen Interfaz
Sentencias SQL
RESUMEN DE COMPRA
Al cargar página
SELECT c.ruc, d.nombre FROM Pedido_Compra c, Distribuidor d WHERE c.ruc = d.ruc AND
c.codigo_pc = <1>;
UPDATE Pedido_Compra
Set monto_total = (Select Sum(l.total) FROM Lista l)
WHERE codigo_pc=<1>;
SELECT*FROM Lista;
SELECT monto_total FROM Pedido_Compra;
Sentencias SQL
INGRESO DE DATOS DE TARJETA
UPDATE Pagos
SET titular= <1>
fecha_exp= <2>
tarjeta= <3>
cvv= <4>
WHERE codigo_pa=<5>;
Sentencias SQL
Comunicarse con Distribuidor
CANCELAR COMPRA
Sentencias SQL
PEDIDOS
ACTUALIZAR PEDIDO
*<1>Se verán todos los datos de la tabla, pero solo se puede actualizar el estatus del pedido.
*<2>codigo_pc seleccionado.