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 ser null si 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 Libro disponibles en el Punto de Venta. Se encarga de las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) relacionadas con los libros y de la modificaci贸n del cantidad (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 (en Inventario): [Libro_1, Libro_2, ...]

  • usuarios (en PuntoVentaDigital): [Usuario_1, Usuario_2, ...]

  • administradores (en PuntoVentaDigital): [Admin_1, Admin_2, ...]

  • historialVentas (en PuntoVentaDigital): [Venta_1, Venta_2, ...]

  • historialRentas (en PuntoVentaDigital): [Renta_1, Renta_2, ...]


3. Relaciones y Persistencia

  • PuntoVentaDigital act煤a como la clase central que orquesta las operaciones del PDV.

  • Las clases Venta y Renta registran 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

Entradas m谩s populares de este blog

REQUISITOS DEL SISTEMA

REPORTES DE PRUEBA DEL SISTEMA DE LIBRERIA DIGITAL