UNIVERSIDAD ESTATAL DE MILAGRO
FACULTAD DE CIENCIAS DE LA
INGENIERÍA
CARRERA:
SOFTWARE
ASIGNATURA:
PROGRAMACION ORIENTADA OBJETOS
CURSO:
C1- NOCTURNA
INTEGRANTE:
Eduardo Quinteros
Link Github
https://github.com/EJQP2002/POO_MENU_PY.git
Proyecto CRUD utilizando Python
Paradigma
Programación Orientada Objeto
Introducción:
El presente informe detalla el desarrollo de un proyecto que implementa
tres operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en Python
utilizando la clase JsonFile. El proyecto se enfoca en la gestión de clientes,
productos y ventas, permitiendo realizar operaciones básicas sobre estos
datos.
Objetivo:
El objetivo principal del proyecto es desarrollar un sistema que permita la
gestión eficiente de clientes, productos y ventas, utilizando un enfoque
orientado a objetos y aprovechando las capacidades de manipulación de
datos de Python, incluyendo el uso de métodos como map, filter y lambda.
Desarrollo:
Se creó un archivo llamado menuBill.py que contiene la lógica principal
del programa.
Se implementaron modifique un archivo custorme.py añadiendo métodos a
la clase JsonFile.
Clase JsonFile:
Se diseñó una clase llamada JsonFile para manejar la lectura y escritura de
datos en archivos JSON.
Esta clase proporciona métodos para cargar datos desde un archivo JSON,
guardar datos en un archivo JSON y actualizar el archivo después de
realizar operaciones CRUD.
Operaciones CRUD:
Clientes: Se implementaron las operaciones CRUD para la gestión de
clientes, incluyendo la creación, lectura, actualización y eliminación de
registros de clientes.
Productos: Se desarrollaron operaciones similares para la gestión de
productos, permitiendo la manipulación de datos relacionados con los
productos.
Ventas: Se implementó la funcionalidad para registrar ventas, asociando
clientes con productos y almacenando la información de venta
correspondiente.
Interfaz de Usuario:
Se creó una interfaz simple pero visualmente atractiva para mostrar la
información de clientes, productos y ventas.
Se utilizó el módulo tabulate para mostrar los datos en forma de tabla,
proporcionando una visualización clara y organizada de la información.
Uso de Métodos Avanzados:
Se emplearon métodos como map, filter y lambda para realizar operaciones
avanzadas en los datos, como filtrar clientes o productos según ciertos
criterios o mapear funciones sobre listas de datos.
Además, se incorporaron decoradores para mejorar la modularidad y la
legibilidad del código. Los decoradores se utilizan para agregar
funcionalidades adicionales a ciertas funciones, como la validación de
datos antes de ejecutar una operación CRUD o el registro de información
sobre la ejecución de ciertas funciones.
También se implementó el uso de *args y **kwargs para permitir la
flexibilidad en la definición de funciones, especialmente en aquellas donde
la cantidad de argumentos puede variar. Esto facilita la reutilización del
código y proporciona una mayor adaptabilidad a diferentes situaciones.
Estas características adicionales ayudan a mejorar la calidad del código y la
eficiencia del proyecto, permitiendo una mayor flexibilidad y
extensibilidad en su desarrollo y mantenimiento.