Documentos de Académico
Documentos de Profesional
Documentos de Cultura
F A C UL TA D DE IN G E N IE R ÍA M E CÁ NIC A Y E L É C TR ICA
PUNTO DE VENTA
ALUMNO MATRICULA
CANTU
CHAVEZ
MARTINEZ
FRANZUA
INDICE
1.caso uso
2.modelo entidad-relación
3.clases
4.secuencias
5.actividades
• Diccionario de datos
• Español estructurado
• Pantallas de entrada y salida
• Grafica de Gantt
• Manual técnico
FASE 1. Área de oportunidad
Nuestro cliente revisó nuestra elaboración de los aspectos de nuestro proyecto y nos
dijo que estaba todo bien, que sí le parecía la información que le proporcionamos, le
mencionamos la idea que traíamos del proyecto que fuera algo sencillo de manejar para
él y su familia, sin más que decir quedo de acuerdo con lo que íbamos a realizar.
FASE 1. Modelado
El proyecto consiste en que debe agregar productos con un código de barra o un numero de un solo
digito, así mismo agregar una descripción, inventario, precio del producto y precio a venta al cliente.
Tener también una función que sea como caja y así mismo agregar los productos que vaya llevando
el cliente y la cantidad de productos que lleva, al último arrojar el total de ese producto, al finalizar el
registro de los productos a llevar hay que poner un nombre del cliente, con ese nombre se arrojara el
ticket, los nombres no se guardaran en la base de datos, en otro apartado se registran las ventas de
ese día, en ese apartado es donde se imprime el ticket, sin más es un proyecto sencillo pero adaptado
a las necesidades del cliente.
Usuario
cuenta con equipo propio menciona que tiene instalado el paquete Office así que nosotros nos
ofrecimos a instalarle el programa y cualquier cosa que ocupe para la ejecución del sistema.
Factibilidad Económica.
Cuando visitamos al usuario nos comentó que sí tenía el equipo necesario y que estaba en buenas
condiciones y en caso de ocupar una nueva tenía facilidad de comprarla.
Factibilidad Operativa.
El programa será usado por cualquier persona que este encargado de caja, ninguno puso oposición y
estuvieron de acuerdo con la capacitación que les daremos.
FASE 1. Validar Información
Volvimos a visitar a nuestro cliente para que volviera a checar o revisar todo nuevamente la información
que ya nos había proporcionado y nos dijera sí todo estaba en orden, sí algo estaba mal, o sí deseaba
agregar algo, otras cosas etc.ya sean aspectos de quién manejará el sistema y cosas por el esti lo, dijo
que no quería editar nada que por el momento todo estaba bien, estaba en orden y él nos mencionó
que cuando él tuviera algo de información que agregar o se le ocurriera algo él nos marcaba para ir o
por teléfono hacernos llegar la información, nuestro cliente nos mencionó que a veces él no podría
atendernos, y que ese programa que nosotros le estaríamos entregando también será u tilizado por
cualquier empleado de la tiendita, y que quería que si también podemos asesorar a todos los
empleados, para así poder todos saber sobre el programa y que también nosotros podemos
comunicarnos con sus empleados y que todo estaba bien con la información y lo que estamos
haciendo.
Estos son los requerimientos que se necesitan para la instalación del sistema:
Requerimiento recomendado:
• Procesador Intel Pentium ¡5 con 3.5GHz de velocidad o AMD A10 con 3.4 (mínimo) de velocidad.
• Sistema: Windows (xp), (7), (8.1), (10) x64 bits.
• Memoria RAM: 16GB (como mínimo).
• Espacio de disco duro: 8GB de espacio disponible.
• Tarjeta gráfica: Gigabyte nidia geforce gt 740 2GB o amd Radeon RX 460 2GB.
• Compatibilidad: Directx 11.0 o superior, Windows Service Pack 2 o superior.
Diseño de salida
Al cliente se le entregara el manual de usuario en una USB, al igual impreso para más facilidad del usuario
Organizational data system
.
2. Descripción general.
2.1 Perspectiva del producto.
El software es un sistema independiente de otros softwares, sin embargo; depende de marcas que
vendan productos de consumo humano ya que se maneja un sistema de inventario para la tien da,
Se necesita el uso externo de una persona para poder manejar el sistema de software del inventario
ya que sin este sería totalmente inútil.
2.2 Funciones del producto.
En el menú principal de inventario se puede observar la ID del producto, el nombre del producto con
su descripción , el precio de compra, precio de venta, producto en existencia y las opciones de editar
y eliminar.
En el menú principal donde se muestran los productos estos se pueden editar haciendo clic en su
respectiva casilla en donde el usuario tendrá que hacer los cambios necesarios que requiera, una vez
realizados los cambios deberá hacer clic en “Guardar” para realizar los cambios o en su defecto hacer
clic en “cancelar” para no guardar los cambios.
El software soporta cantidades significativas de inventario agregando productos en la sección “Nuevos”
en productos donde se puede agregar el código de barras, descripción, precio de venta, precio de
compra además de la existencia del producto en la tienda.
En la sección de vender funciona ingresando el código de barras y el nombre del cliente.
En la opción de ventas hay un historial de ventas en donde se podrá imprimir el ticket de venta o
eliminar el historial.
2.3 Características de los usuarios.
El usuario deberá tener como mínimo la secundaria terminada para poder hacer uso del sistema, no
se requiere experiencia ya sea de cajero a saber de administración de inventarios para poder hacer
uso correcto del sistema, en cuestión de conocimientos técnicos no se requieren muchos ya que es
bastante intuitivo, sin embargo; deberá conocer acerca de cómo funcionan diferentes sistemas de
inventario y ventas.
2.4 Restricciones
Políticas de empresa
Las políticas de empresa dependerán de quienes adquieran los derechos del sistema.
APARTADO DE “agregarALCarrito.php”
De la línea de código 1 a la 4: Es el inicio del “código” con una condición que te retorna cada vez que realices algo dentro
de este apartado.
De la línea de código 6 a la 10: Básicamente manda a llamar todo lo de de la base de datos en la tabla de produc tos
donde aparezca la línea “código”.
De la línea de código 31 a la 43: Lo agrega como nuevo si no llega a existir, si ya existe se agrega la cantidad, pero si al
sumarle 1 supera lo que existe, no se agrega nunca, todo esto sale de “Location ./vendephp?status=5”.
En el código de la línea 45: Y aquí se muestra el total que es igual a la variable “precioVenta”.
En el código de la línea 47: El header indica que eso se guarda en (“Location: ./venderphp”).
APARTADO DE “base_de_datos.php”
Todo este apartado trata de un usuario dentro del apartado de “ventas”, manda a llamar de la base de datos, el usuario,
contraseña y el nombre de la base de datos, y utiliza un try y catch para detectar y controlar una excepción generada por
código en f uncionamiento, y te mande un aviso que diga “Ocurrió algo con la base de datos”.
De la línea de código 2 a la 4: Es una pequeña condición que indica que cuando se realice la acción indique que “No hay
cantidad”.
De la línea de código 5 a la 7: Es una pequeña condición que indica que cuando se realice la acción indique que “No hay
índice”.
De la línea de código 8 a la 14: Indica que cantidad es un valor f loat e indica es un valor int, después se hace una
conducción que valide la existencia de la cantidad en el carrito.
De la línea de código 15 a la 17: Indica que la variable cantidad es igual a la cantidad del producto, y el total = a la
variable “precioVenta”, y todo eso está guardado en “Location : ./vender.php”.
APARTADO DE “cancelarVenta.php”
De la línea de código 1 a la 9: Se realiza siempre y cuando esté iniciada la sesión y todo es o almacenado en el carrito, se
manda al status 2 y se cancela.
APARTADO DE “db_shema.sql”
Básicamente este apartado es uno donde se vincula con la base de datos de venta, la primera línea de código,
declaración de que cae todas las tablas y elimina la base de datos, se crea una tabla de productos, y de venta y una
tabla de productos y venta juntas, al f inal se agrega dentro de la tabla de productos:
id
Código
Descripción
precioVenta
precioCompra
existencia
APARTADO DE “editar.php”
De la línea de código 2 a la 7: De la variable get se pide el id, se busca de la “base_de_datos.php”, se busca en la base
de datos el producto con su id.
De la línea de código 8 a la 11: Si el producto es igual a f also, se manda un mensaje “¡No existe algún producto con ese
ID!”. Además se se genera un apartado para que el usuario pueda ingresar a las distintas tablas los siguientes datos:
CÓDIGOS DE BARRAS
DESCRIPCIÓN
PRECIO DE VENTA
PRECIO DE COMPRA
EXISTENCIA
todo esto está dentro de una una pequeña ventana para que se guarde y no se junte con los demás y todo esto sale de
“pie.php”
APARTADO DE “eliminar.php”
De la línea de código 2 a la 11: Básicamente en este apartado se elimina el id del producto, y en la línea 7 se valida si el
resultado es igual a verdadero te manda un mensaje de “Algo salió mal” y no se ejecuta la eliminación.
APARTADO DE “eliminarVenta.php”
De la línea de código 2 a la 11: Básicamente en este apartado se elimina el id de la venta, y en la línea 7 se valida si el
resultado es igual a verdadero te manda un mensaje de “Algo salió mal” y no se ejecuta la eliminación de la venta.
APARTADO DE “encabezado.php”
De la línea de código 10 a la 12: Son los links que te mandan a los dif erentes apartados para hacer diseño dentro del
encabezado.
De la línea de código 14 a la 20: Es un navegador para interactuar, que cuenta con productos, ve nder y venta, incluye
una imagen del logo y todo está dentro de la base de datos.
APARTADO DE “f ormulario.php”
De la línea de código 1 a la 23: genera un f orm para poder agregar un nuevo producto mediante la base de datos, cuenta
con: CÓDIGOS DE BARRAS , DESCRIPCIÓN, PRECIO DE VENTA, PRECIO DE COMPRA y EXISTENCIA
APARTADO DE “GuardarDatosEditados.php”
De la línea de código 3 a la 11: Se genera una condición, para salir si alguno de los datos no está presente.
De la línea de código 15 a la 21: Este se ejecuta si todo va bien por parte del código.
De la línea de código 23 a la 24: Se genera la base de d atos y se guardan los datos que ingresaste antes.
De la línea de código 26 a la 30: Y valida que si el resultado es igual a verdadero se ejecuta el programa y se guardan los
datos editados, si no f unciona se envía este mensaje “Algo salió mal, Por f avor v erif ica que la tabla exista, así como el ID
del producto”
APARTADO DE “imprimirTicket.php”
De la línea de código 2 a la 4: Empieza con una condición que verif ica si no hay ID.
De la línea de código 5 a la 12: Busca en la base de datos del apartado de las ventas y se hace una pequeña que si no
existe productos manda un mensaje que dice no hay productos.
De la línea de código 14 a la 24: Habla a la base de datos de productos vendidos y genera un inner join.
De la línea de código 28 a la 83: Es puro diseños de el ticket le da f ormato para cuando se imprima se vea lo más f ormal
posible.
La última imagen muestra el código de la creación del ticket, el cual contiene la cantidad de productos, el producto y el
total de lo que es toda esa inf ormación lo saca mediante la base de datos, y además imprimimos un mensaje de “Gracias
por su compra”.
APARTADO DE “listar.php”
De la línea de código 8 a la 43: Se genera un pequeño f ormulario con los siguientes datos:
1. ID
2. CÓDIGO
3. DESCRIPCIÓN
4. PRECIO DE COMPRA
5. PRECIO DE VENTA
6. EXISTENCIA
7. EDITAR
8. ELIMINAR
y todo esto lo sacamos de cada una de sus bases de datos.
APARTADO DE “nuevo.php”
En la línea de código 3: Se genera una condición que especif ica si, alguno de los datos ingresados no coinciden te saca.
De la línea de código 7 a la 25: En este se especif ica que si todos los datos están bien se ejecute lo siguiente, manda a
llamar a las bases de datos que son, código, descripción, precio de venta, precio de compra y si está en existencia.
Además hace una condición que se el resultado de esto es igual a verdadero Manda a hablar el apartado de “Location:
./listar.php” y si no se cumple la condición no manda a llamar nada y te manda un mensaje que dice “Algo salió mal. Por
f avor verif ica que la tabla exista”.
APARTADO DE “quitarDelCarrito.php”
De la línea de código 1 a la 8: Se hace una condición que agarra inf ormación del índice y lo retorna, además que cuando
la sesión inicia manda hablar “Location: ./listar.php”.
APARTADO DE “terminarVenta.php”
De la línea de código 8 a la 11: Aquí manda a llamar de la base de datos al total y los clientes.
De la línea de código 17 a la 24: Manda a llamar la base de datos de ventas, con la f echa, el total y el cliente.
De la línea de código 34 a la 38: Verif ica la base de datos del carrito y lo manda hablar con el apartado de “Location:
./listar.php”.
APARTADO DE “vender.php”
De la línea de código 11 a la 47: Son alertas de para cada acción que generes en el apartado de “VENDER”
● ¡CORRECTO!: Venta realizada correctamente
● Venta cancelada
● OK: Producto quitado de la lista
● ERROR: El producto que buscas no existe
● ERROR: El producto está agotado
● ERROR: Algo salió mal mientras se realizaba la venta
De la línea de código 52 a la 90: Habla a al apartado de “agregarCarrito” genera un f ormulario y que genera una pequeña
tabla:
● ID
● CÓDIGO
● DESCRIPCIÓN
● PRECIO DE VENTA
● CANTIDAD
● TOTAL
● QUITAR
De la línea de código 94 a la 103: manda un pequeño f ormato para terminar la venta, con un botón de terminar venta y
de cancelar venta también.
En este apartado vemos todo lo utilizado por medio de sql desde productos, productos vendidos, ventas, y muchos más
cosas que utilizamos para modif icar las tablas de sql para que f uncione el proyecto f inal.
Pantalla de Entrada y salida
Agregar al carrito
Conexión de base de datos
Cambiar cantidad
Cancelar venta
Registro de venta
Editar producto
Eliminar producto
Eliminar venta
Encabezado
Formulario
Datos guardados
Imprimir el ticket
Index
Listar
Nuevo
Nombracion
Eliminar del carrito
Terminar venta
Vender
Ventas
Diagrama de gantt
Manual técnico
En este proyecto se realizo una app de un sistema de ventas en php, a continuación, se realizará una
explicación de como se llevó a cabo.
Es un simple formulario que pide la información. Sólo pide el código de barras, la descripción, el precio de
venta, de compra y la existencia.
Estamos incluyendo algunos archivos que son el encabezado y el pie.
Al enviar el formulario, los datos son recibidos en un archivo llamado nuevo.php.
Se Inserta los datos del formulario sin ninguna validación. Si todo va bien, redirija a listar.php para fingir que
los productos ya están guardados allí y agregados a la tabla.
Hay dos botones. Uno de ellos envía el formulario; el otro es simplemente un enlace que lleva a listar.php. El
punto de todo esto es proporcionar al usuario unos botones de navegación.
Nos lleva a listar.php que se encargará de mostrar los productos, con los cambios que se hayan hecho:
Este código se utiliza para eliminar los productos de la base de datos y el programa.
Agregar al carrito.
Finalmente, si vemos el
encabezado, notaremos que
declara el índice carrito en el
arreglo superglobal de
$_SESSION. Ahí es en donde
colocaremos los productos.
Comenzamos comprobando la
existencia del producto, si no
existe, regresamos a vender.php
y le pasamos el status 5 que dirá
que ya no hay existencias del
producto.
En caso de que no exista el
producto (es decir, que no exista,
no que su existencia sea 0)
mandamos el status 4.
Iniciamos sesión y recorremos el arreglo carrito para ver si ya habíamos agregado ese producto antes. En caso
de que lo hayamos agregado, entonces cambiamos solamente la cantidad.
Es decir, si ya existe “Mermelada de fresa” y vuelven a leer el código que le pertenece a ese producto, no vamos
a mostrar en la tabla ambos productos. Mejor mostramos uno e indicamos que su cantidad es 2, y así
sucesivamente.
Si no existe en el carrito entonces lo agregamos al arreglo y le ponemos su cantidad que por defecto es 1.
También, por defecto, su total será el precio de venta. No es necesario hacer multiplicaciones.
Luego, en caso de que ya exista, calculamos su total, que es el resultado de multiplicar su precio de venta por
la cantidad en el carrito.
Ahora veamos cómo quitar productos del carrito. Simplemente eliminamos el elemento que pertenezca al índice
que recibimos en $_GET. El código es muy fácil de entender.
Terminar venta.
Es un simple archivo que insertará en la base de datos los productos vendidos, así como la venta, su fecha y
su total. Queda así:
Restamos existencia de productos, tomamos la hora del servidor y guardamos la venta. Luego, limpiamos el
carrito.
beginTransaction y commit, es para (aunque ni se nota) agilizar el proceso. Es como hacer muchos cambios en
la base de datos, pero no guardarlos hasta que terminemos. Más información en Bajo rendimiento en sentencias
preparadas con PHP y MySQL.
Cancelar la venta
Para cancelar la venta simplemente vaciamos el arreglo y listo. Regresamos a listar con un status.
Listar.