ORGANIZACION DE INFORMACION DE PUNTO DE VENTA LIBRERIA
馃捇 Organizaci贸n de la Informaci贸n del Punto de Venta (POO y Memoria RAM)
La organizaci贸n de la informaci贸n en el Punto de Venta (PDV) de la Librer铆a Digital se basa en un enfoque de Programaci贸n Orientada a Objetos (POO). Los datos se estructuran en clases principales, las cuales definen las propiedades (atributos) y comportamientos (m茅todos) de las entidades del PDV. La informaci贸n se almacena y gestiona en memoria RAM durante la ejecuci贸n, utilizando colecciones din谩micas de Java (ArrayList).
1. Clases Principales y sus Atributos (Punto de Venta)
A continuaci贸n, se describen los esquemas de las clases principales que componen el sistema PDV:
1.1. Libro
Representa un ejemplar de libro individual en el inventario del PDV.
id:
String- Identificador 煤nico del libro (ej. "LIB001").titulo:
String- T铆tulo del libro.autor:
String- Autor del libro.precio:
double- Precio de venta del libro en el PDV.cantidad:
int- Cantidad de unidades de este libro disponibles en stock.
1.2. Usuario
Representa a un cliente del Punto de Venta que puede comprar o alquilar libros.
nombreUsuario:
String- Nombre de usuario 煤nico para el acceso.contrasena:
String- Contrase帽a para la autenticaci贸n.
1.3. Admin
Representa al personal del Punto de Venta con privilegios de gesti贸n.
nombreAdmin:
String- Nombre de usuario 煤nico para el acceso administrativo.contrasena:
String- Contrase帽a para la autenticaci贸n administrativa.
1.4. Venta
Registra una transacci贸n de compra procesada en el Punto de Venta.
idLibro:
String- ID del libro involucrado en la venta.tituloLibro:
String- T铆tulo del libro al momento de la venta.autorLibro:
String- Autor del libro al momento de la venta.cantidadVendida:
int- Cantidad de unidades del libro vendidas.precioUnitario:
double- Precio unitario del libro al momento de la venta.totalVenta:
double- Monto total de esta venta espec铆fica (cantidadVendida * precioUnitario).fechaVenta:
LocalDateTime- Fecha y hora exacta en que se realiz贸 la venta.
1.5. Renta
Registra una transacci贸n de alquiler de un libro.
idLibro:
String- ID del libro alquilado.tituloLibro:
String- T铆tulo del libro al momento del alquiler.autorLibro:
String- Autor del libro al momento del alquiler.nombreUsuario:
String- Nombre del usuario que realiz贸 la renta.fechaRenta:
LocalDateTime- Fecha y hora en que se inici贸 la renta.fechaDevolucionEstimada:
LocalDateTime- Fecha y hora en que se espera la devoluci贸n del libro.fechaDevolucionReal:
LocalDateTime- Fecha y hora real de devoluci贸n (puede sernullsi la renta a煤n est谩 activa).estadoRenta:
String- Estado actual de la renta (ej., "ACTIVA", "DEVUELTA").precioRenta:
double- Costo del alquiler del libro (calculado como la mitad del precio de venta).
2. Organizaci贸n de la Informaci贸n en Memoria (PuntoVentaDigital e Inventario)
La gesti贸n y el almacenamiento de las instancias de estas clases se centralizan en la clase principal del sistema, PuntoVentaDigital, y su colaboradora Inventario, utilizando estructuras de datos ArrayList.
Clase Inventario:
Contiene un ArrayList de objetos Libro llamado libros.
private List<Libro> libros;
Es el repositorio principal para todas las instancias de
Librodisponibles en el Punto de Venta. Se encarga de las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) relacionadas con los libros y de la modificaci贸n delcantidad(stock).
Clase PuntoVentaDigital:
Contiene los ArrayList que gestionan las colecciones de usuarios, administradores, ventas y rentas del sistema.
private static List<Usuario> usuarios;private static List<Admin> administradores;private static List<Venta> historialVentas;private static List<Renta> historialRentas;
Esquema de la Organizaci贸n en Memoria:
Las listas se inicializan al inicio de la aplicaci贸n. Las nuevas instancias de libros, usuarios, ventas y rentas se a帽aden a sus respectivos ArrayList.
libros(enInventario):[Libro_1, Libro_2, ...]usuarios(enPuntoVentaDigital):[Usuario_1, Usuario_2, ...]administradores(enPuntoVentaDigital):[Admin_1, Admin_2, ...]historialVentas(enPuntoVentaDigital):[Venta_1, Venta_2, ...]historialRentas(enPuntoVentaDigital):[Renta_1, Renta_2, ...]
3. Relaciones y Persistencia
PuntoVentaDigitalact煤a como la clase central que orquesta las operaciones del PDV.Las clases
VentayRentaregistran los detalles del libro (idLibro,tituloLibro,autorLibro) y del usuario (nombreUsuario) involucrados al momento de la transacci贸n.Consideraci贸n Actual de Persistencia: Todos estos datos residen 煤nicamente en la memoria RAM. Si la aplicaci贸n del Punto de Venta se cierra, todos los datos generados o modificados se perder谩n. Una futura implementaci贸n requerir铆a un m贸dulo de persistencia (como la Base de Datos Relacional que ya definimos) para el almacenamiento permanente.
Comentarios
Publicar un comentario