Skip to content

Latest commit

 

History

History
89 lines (67 loc) · 2.83 KB

README.md

File metadata and controls

89 lines (67 loc) · 2.83 KB

🏪 Shop Application – Programación Orientada a Objetos (RA4 → RA7)

Java OOP STUCOM

🎓 Proyecto Académico: Desarrollado por Ignacio Breñas Muñoz para el ciclo de Desarrollo de Aplicaciones Web (1º DAW) en STUCOM Pelai (Barcelona). Proyecto iniciado en el RA4 (POO Básica) y evolucionado a arquitectura avanzada en el RA7 (Interfaces, Clases Abstractas y Herencia).


Descripción del Proyecto

Aplicación de gestión comercial y punto de venta en Java. Modela una tienda completa con control de stock, catálogo de productos con precios mayoristas y PVP, generación de tickets de venta con IVA, autenticación de empleados mediante la interfaz Logable y cobros mediante la interfaz Payable.


📁 Estructura del Código

src/
├── main/
│   ├── Shop.java                 # Controlador principal y ciclo de venta interactivo
│   ├── Logable.java              # Interfaz para verificación de credenciales
│   └── Payable.java              # Interfaz para transacciones y pagos
└── model/
    ├── Person.java               # Clase abstracta base de personas
    ├── Employee.java             # Empleado de la tienda con número de empleado y clave
    ├── Client.java               # Cliente con saldo personal y puntos de fidelidad
    ├── Product.java              # Producto con stock, coste mayorista y precio de venta
    ├── Amount.java               # Objeto de valor monetario
    └── Sale.java                 # Ticket de venta con lista de artículos e importes

🧱 Arquitectura y Relaciones

classDiagram
    class Logable {
        <<interface>>
        +login(int user, String password) boolean
    }

    class Payable {
        <<interface>>
        +pay(Amount amount) boolean
    }

    class Person {
        <<abstract>>
        #String name
    }

    Person <|-- Employee : extends
    Person <|-- Client : extends
    Logable <|.. Employee : implements
    Payable <|.. Client : implements

    class Shop {
        -Amount cash
        -ArrayList~Product~ inventory
        -ArrayList~Sale~ sales
        +initSession() void
        +showCash() void
        +addProduct() void
        +addStock() void
        +sale() void
    }
Loading

🚀 Compilación y Ejecución

# Compilar con Ant / javac
ant compile

# O ejecutar directamente desde NetBeans IDE abriendo el proyecto

👤 Autor

Ignacio Breñas Muñoz — 1º DAW, STUCOM Pelai