Proyecto Caja Java
Proyecto Caja Java
TIENDA DE MALETAS
CICLO 2
INTEGRANTES:
Lima - Perú
i
Agosto - 2023
Contenido
RESUMEN ................................................................................................................................................... 3
CAPÍTULO I.................................................................................................................................................. 4
INTRODUCCIÓN .......................................................................................................................................... 4
1. JUSTIFICACIÓN ............................................................................................................................................... 4
1.1. Beneficiarios Directos .................................................................................................................. 5
1.2. Beneficiarios indirectos ................................................................................................................ 5
2. OBJETIVOS ............................................................................................................................................... 5
3. ALCANCE ................................................................................................................................................. 5
4. METODOLOGÍAS DE DESARROLLO ................................................................................................................. 6
5. INTERFASE GRÁFICA (GUI) ........................................................................................................................ 38
CONCLUSIONES ......................................................................................................................................... 44
ii
RESUMEN
Se hace uso del entorno de desarrollo integrado (IDE) Eclipse, mediante las herramientas JDT (Java
Development Toolkit) integradas dentro del software y su compilador ECJ para crear una aplicación
de carga de datos de maletas, mochilas y maletines de distintos modelos, adaptable a distintas
plataformas, donde el usuario podrá seleccionar los modelos predefinidos y realizar la carga de
datos, consulta de productos, inventario, caja y descuentos. Además, el sistema permite realizar la
administración, gestión y actualización de los productos ofrecidos, administración de ventas y
pedidos realizados.
Uno de los aspectos más importantes hoy en día en el desarrollo de aplicaciones de este tipo es
reducir el tiempo de latencia o de respuesta ante procesos lentos. Este informe proporciona una
visión detallada del desarrollo de una aplicación Java utilizando Eclipse para la gestión de
inventarios en una tienda de mochilas. A través del análisis de su diseño, implementación y
funcionalidades, se demuestra cómo la tecnología puede potenciar la eficiencia y la toma de
decisiones en un contexto comercial específico.
3
CAPÍTULO I
INTRODUCCIÓN
1. Justificación
El sector minorista ha evolucionado de manera significativa en los últimos años, y las tiendas se
enfrentan constantemente al desafío de gestionar su inventario de manera eficiente para satisfacer
las demandas cambiantes de los consumidores. En este contexto, el desarrollo de una aplicación de
gestión de inventarios adaptada a las particularidades de una tienda de mochilas se convierte en
una solución valiosa.
La aplicación contribuye directamente a mejorar la experiencia del cliente al garantizar que los
productos estén disponibles cuando los clientes los desean. La rápida identificación de productos
disponibles y la generación eficiente de facturas o recibos reducen el tiempo de espera de los
clientes y aumentan la satisfacción general.
La aplicación proporciona herramientas para analizar datos de inventario y ventas a lo largo del
tiempo. Estos análisis pueden ofrecer información valiosa sobre las tendencias de la demanda, los
productos más populares y otros patrones relevantes.
Los beneficiarios directos de la aplicación para la tienda de mochilas serían aquellos individuos y
grupos que experimentarían un impacto positivo y tangible como resultado de la implementación
y el uso de la aplicación. Por ejemplo, Los propietarios y gerentes de la tienda de mochilas serían
los principales beneficiarios de la aplicación. Tendrían acceso a información en tiempo real sobre el
estado de inventario, las tendencias de ventas y otros datos relevantes, Los empleados encargados
de la administración de inventarios y las transacciones diarias también se beneficiarían
directamente. La aplicación simplificaría las tareas de registro de productos, seguimiento de
existencias y generación de facturas o recibos. Los clientes de la tienda de mochilas también serían
beneficiarios indirectos de la aplicación. Al mejorar la gestión de inventarios y la eficiencia
operativa, la aplicación garantizaría que los productos estén disponibles cuando los clientes los
necesiten.
2. Objetivos
M: Reducir el tiempo de espera por falta de productos en al menos un 20% y disminuir los casos de
exceso de inventario en un 15% en los primeros seis meses de implementación.
R: Mejorar la gestión de inventarios es esencial para garantizar la satisfacción del cliente y optimizar
la operación de la tienda.
3. Alcance
4. Metodologías de Desarrollo
La tienda vende cinco tipos de maletas cuyos códigos son MT0, MT1, MT2, MT3 y MT4. Por cada
tipo de maleta se tomarán en cuenta los siguientes datos mínimos:
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.Serializable;
import java.awt.event.ActionEvent;
import javax.swing.JDesktopPane;
import java.awt.Color;
import java.awt.Toolkit;
// Primer producto //
public static String codigo1 = "Maleta01";
public static String categoria1 = "Viajero";
public static double precio1 = 250.50;
public static double capacidadLitros1 = 60;
public static String material1 = "Nylon";
public static double alto1 = 57.5;
public static double ancho1 = 33;
public static double profundidad1 = 19;
// Segundo producto //
public static String codigo2 = "Maleta02";
public static String categoria2 = "Moda";
public static double precio2 = 80.9;
public static double capacidadLitros2 = 10.5;
public static String material2 = "Nylon Twill";
public static double alto2 = 40;
public static double ancho2 = 30.5;
public static double profundidad2 = 16;
// Tercer producto //
public static String codigo3 = "Maleta03";
public static String categoria3 = "Escolar";
public static double precio3 = 75;
public static double capacidadLitros3 = 15.5;
public static String material3 = "Polyester";
public static double alto3 = 42.5;
public static double ancho3 = 28;
public static double profundidad3 = 18;
// Cuarto producto //
public static String codigo4 = "Maleta04";
public static String categoria4 = "Bolso";
public static double precio4 = 89.9;
public static double capacidadLitros4 = 4.5;
public static String material4 = "Polyester";
public static double alto4 = 26.8;
public static double ancho4 = 31;
public static double profundidad4 = 11;
// Descuentos en porcentaje //
public static double porcentaje1 = 10.0;
public static double porcentaje2 = 15.0;
public static double porcentaje3 = 20.0;
public static double porcentaje4 = 25.0;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Consola_Principal1 window = new Consola_Principal1();
window.frameMaleta_Nomada1.setVisible(true);
window.frameMaleta_Nomada1.setLocationRelativeTo(null); //
posiciona al centro//
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public Consola_Principal1() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
.getImage(Consola_Principal1.class.getResource("/imagenes/icono_maleta2.png")));
frameMaleta_Nomada1.setBounds(100, 100, 880, 687);
frameMaleta_Nomada1.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frameMaleta_Nomada1.getContentPane().setLayout(null);
frameMaleta_Nomada1.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
int resp =
javax.swing.JOptionPane.showConfirmDialog(frameMaleta_Nomada1,
"¿Realmente desea salir de la aplicación MALETA
NOMADA?", "Confirmar Salida",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (resp == 0) {
// El usuario seleccionó Sí
System.exit(0);
}
}
});
escritorioPrincipal.add(frmProduc);
escritorioPrincipal.add(frmModifInvent);
escritorioPrincipal.add(frmConsulInvent);
escritorioPrincipal.add(frmVent);
escritorioPrincipal.add(frmReportVent);
escritorioPrincipal.add(frmDescuent);
escritorioPrincipal.add(frmAcerDe);
}
});
mnAgregados.add(mntmDescuentos);
package maleta_nomada1;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;
import java.awt.Color;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmConsultaInventario frame = new FrmConsultaInventario();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public FrmConsultaInventario() {
getContentPane().setBackground(new Color(255, 255, 181));
setFrameIcon(new
ImageIcon(FrmConsultaInventario.class.getResource("/imagenes/icono_maleta2.png")));
setTitle("CONSULTA INVENTARIO MALETA NOMADA");
setIconifiable(true);
setBounds(100, 100, 437, 489);
getContentPane().setLayout(null);
JLabel lblImagenIcono = new JLabel(".");
lblImagenIcono.setIcon(new
ImageIcon(FrmConsultaInventario.class.getResource("/imagenes/icono_maleta2.png")));
lblImagenIcono.setBounds(181, 10, 55, 64);
getContentPane().add(lblImagenIcono);
listar();
void listar() {
imprimir("LISTA DE INVENTARIO");
imprimir("");
imprimir("Codigo : " + Consola_Principal1.codigo1);
imprimir("Categoria : " + Consola_Principal1.categoria1);
imprimir("Capacidad (Litros): " + ajuste(Consola_Principal1.capacidadLitros1));
imprimir("Material : " + Consola_Principal1.material1);
imprimir("Ancho (cm) : " + ajuste(Consola_Principal1.ancho1));
imprimir("Alto (cm) : " + ajuste(Consola_Principal1.alto1));
imprimir("profundidad (cm) : " + ajuste(Consola_Principal1.profundidad1));
imprimir("Precio (S/) : " + ajuste(Consola_Principal1.precio1));
imprimir("");
imprimir("Codigo : " + Consola_Principal1.codigo2);
imprimir("Categoria : " + Consola_Principal1.categoria2);
imprimir("Capacidad (Litros): " + ajuste(Consola_Principal1.capacidadLitros2));
imprimir("Material : " + Consola_Principal1.material2);
imprimir("Ancho (cm) : " + ajuste(Consola_Principal1.ancho2));
imprimir("Alto (cm) : " + ajuste(Consola_Principal1.alto2));
imprimir("profundidad (cm) : " + ajuste(Consola_Principal1.profundidad2));
imprimir("Precio (S/) : " + ajuste(Consola_Principal1.precio2));
imprimir("");
imprimir("Codigo : " + Consola_Principal1.codigo3);
imprimir("Categoria : " + Consola_Principal1.categoria3);
imprimir("Capacidad (Litros): " + ajuste(Consola_Principal1.capacidadLitros3));
imprimir("Material : " + Consola_Principal1.material3);
imprimir("Ancho (cm) : " + ajuste(Consola_Principal1.ancho3));
imprimir("Alto (cm) : " + ajuste(Consola_Principal1.alto3));
imprimir("profundidad (cm) : " + ajuste(Consola_Principal1.profundidad3));
imprimir("Precio (S/) : " + ajuste(Consola_Principal1.precio3));
imprimir("");
imprimir("Codigo : " + Consola_Principal1.codigo4);
imprimir("Categoria : " + Consola_Principal1.categoria4);
imprimir("Capacidad (Litros): " + ajuste(Consola_Principal1.capacidadLitros4));
imprimir("Material : " + Consola_Principal1.material4);
imprimir("Ancho (cm) : " + ajuste(Consola_Principal1.ancho4));
imprimir("Alto (cm) : " + ajuste(Consola_Principal1.alto4));
imprimir("profundidad (cm) : " + ajuste(Consola_Principal1.profundidad4));
imprimir("Precio (S/) : " + ajuste(Consola_Principal1.precio4));
package maleta_nomada1;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Font;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmAcercaDe frame = new FrmAcercaDe();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public FrmAcercaDe() {
getContentPane().setBackground(new Color(255, 255, 185));
setTitle("ACERCA DE");
setIconifiable(true);
setFrameIcon(new
ImageIcon(FrmAcercaDe.class.getResource("/imagenes/icono_maleta2.png")));
setBounds(100, 100, 361, 297);
getContentPane().setLayout(null);
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
package maleta_nomada1;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmDescuentos frame = new FrmDescuentos();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public FrmDescuentos() {
getContentPane().setBackground(new Color(255, 255, 181));
setFrameIcon(new
ImageIcon(FrmDescuentos.class.getResource("/imagenes/icono_maleta2.png")));
setTitle("DESCUENTOS MALETA NOMADA");
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setIconifiable(true);
setBounds(100, 100, 442, 365);
getContentPane().setLayout(null);
if (arg0.getSource() == botonGuardar) {
actionPerformedBotonGuardar(arg0);
}
}
package maleta_nomada1;
import java.awt.EventQueue;
import java.awt.event.ActionListener;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.Color;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmModificarInventario frame = new
FrmModificarInventario();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public FrmModificarInventario() {
getContentPane().setBackground(new Color(255, 255, 181));
setIconifiable(true);
setTitle("MODIFICAR INVENTARIO MALETA NOMADA");
setFrameIcon(new
ImageIcon(FrmModificarInventario.class.getResource("/imagenes/icono_maleta2.png")));
setBounds(100, 100, 363, 497);
getContentPane().setLayout(null);
}
});
btnLimpiar.setFont(new Font("Dialog", Font.BOLD, 14));
btnLimpiar.setBounds(191, 380, 107, 23);
getContentPane().add(btnLimpiar);
if (arg0.getSource() == cajaCodigos) {
actionPerformedcajaCodigo(arg0);
}
}
}
}
switch
(cajaCodigos.getSelectedIndex()) {
case 0:
Consola_Principal1.categoria1 = categoria;
Consola_Principal1.material1 = material;
Consola_Principal1.capacidadLitros1 = capacidad;
Consola_Principal1.alto1 = alto;
Consola_Principal1.ancho1 = ancho;
Consola_Principal1.profundidad1 = profundidad;
Consola_Principal1.precio1 = precio;
break;
case 1:
Consola_Principal1.categoria2 = categoria;
Consola_Principal1.material2 = material;
Consola_Principal1.capacidadLitros2 = capacidad;
Consola_Principal1.alto2 = alto;
Consola_Principal1.ancho2 = ancho;
Consola_Principal1.profundidad2 = profundidad;
Consola_Principal1.precio2 = precio;
break;
case 2:
Consola_Principal1.categoria3 = categoria;
Consola_Principal1.material3 = material;
Consola_Principal1.capacidadLitros3 = capacidad;
Consola_Principal1.alto3 = alto;
Consola_Principal1.ancho3 = ancho;
Consola_Principal1.profundidad3 = profundidad;
Consola_Principal1.precio3 = precio;
break;
case 3:
Consola_Principal1.categoria4 = categoria;
Consola_Principal1.material4 = material;
Consola_Principal1.capacidadLitros4 = capacidad;
Consola_Principal1.alto4 = alto;
Consola_Principal1.ancho4 = ancho;
Consola_Principal1.profundidad4 = profundidad;
Consola_Principal1.precio4 = precio;
break;
default:
}
mensaje("Datos
guardados con Exito", "Datos modificados", 1);
} catch (Exception x) {
validacion("PRECIO",
textPrecio);
}
} catch (Exception x) {
validacion("PROFUNDIDAD",
textProfundidad);
}
} catch (Exception x) {
validacion("ANCHO", textAncho);
}
} catch (Exception x) {
validacion("ALTO", textAlto);
}
} catch (Exception x) {
validacion("CAPACIDAD", textCapacidad);
}
} catch (Exception x) {
validacion("MATERIAL", textMaterial);
}
else
validacion("CATEGORIA", textCategoria);
}
void limpiar() {
textCategoria.setText("");
textMaterial.setText("");
textCapacidad.setText("");
textAlto.setText("");
textAncho.setText("");
textProfundidad.setText("");
textPrecio.setText("");
}
package maleta_nomada1;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.Color;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmProductos frame = new FrmProductos();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public FrmProductos() {
getContentPane().setBackground(new Color(255, 255, 181));
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
setIconifiable(true);
setFrameIcon(new
ImageIcon(FrmProductos.class.getResource("/imagenes/icono_maleta2.png")));
setTitle("PRODUCTOS MALETA NOMADA");
setBounds(100, 100, 467, 496);
getContentPane().setLayout(null);
if (e.getSource() == cajaCodigos) {
actionPerformedcajaCodigos(e);
}
switch (casoCodigo) {
case 0:
textFieldCategoria.setText(Consola_Principal1.categoria1);
textFieldMaterial.setText(Consola_Principal1.material1);
textFieldCapacidad.setText(Consola_Principal1.capacidadLitros1 + "");
textFieldAncho.setText(Consola_Principal1.ancho1 + "");
textFieldAlto.setText(Consola_Principal1.alto1 + "");
textFieldProfundidad.setText(Consola_Principal1.profundidad1 + "");
textFieldPrecio.setText(Consola_Principal1.precio1 + "");
lblImagen.setIcon(new
ImageIcon(getClass().getResource("/imagenes/imagen1.jpg")));
break;
case 1:
textFieldCategoria.setText(Consola_Principal1.categoria2);
textFieldMaterial.setText(Consola_Principal1.material2);
textFieldCapacidad.setText(Consola_Principal1.capacidadLitros2 + "");
textFieldAncho.setText(Consola_Principal1.ancho2 + "");
textFieldAlto.setText(Consola_Principal1.alto2 + "");
textFieldProfundidad.setText(Consola_Principal1.profundidad2 + "");
textFieldPrecio.setText(Consola_Principal1.precio2 + "");
lblImagen.setIcon(new
ImageIcon(getClass().getResource("/imagenes/imagen2.jpg")));
break;
case 2:
textFieldCategoria.setText(Consola_Principal1.categoria3);
textFieldMaterial.setText(Consola_Principal1.material3);
textFieldCapacidad.setText(Consola_Principal1.capacidadLitros3 + "");
textFieldAncho.setText(Consola_Principal1.ancho3 + "");
textFieldAlto.setText(Consola_Principal1.alto3 + "");
textFieldProfundidad.setText(Consola_Principal1.profundidad3 + "");
textFieldPrecio.setText(Consola_Principal1.precio3 + "");
lblImagen.setIcon(new
ImageIcon(getClass().getResource("/imagenes/imagen3.jpg")));
break;
case 3:
textFieldCategoria.setText(Consola_Principal1.categoria4);
textFieldMaterial.setText(Consola_Principal1.material4);
textFieldCapacidad.setText(Consola_Principal1.capacidadLitros4 + "");
textFieldAncho.setText(Consola_Principal1.ancho4 + "");
textFieldAlto.setText(Consola_Principal1.alto4 + "");
textFieldProfundidad.setText(Consola_Principal1.profundidad4 + "");
textFieldPrecio.setText(Consola_Principal1.precio4 + "");
lblImagen.setIcon(new
ImageIcon(getClass().getResource("/imagenes/imagen4.jpg")));
break;
package maleta_nomada1;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Color;
import javax.swing.JScrollPane;
public FrmReporteVenta() {
getContentPane().setBackground(new Color(255, 255, 181));
setFrameIcon(new
ImageIcon(FrmReporteVenta.class.getResource("/imagenes/icono_maleta2.png")));
setTitle("REPORTE MALETA NOMADA");
setIconifiable(true);
setBounds(100, 100, 512, 462);
getContentPane().setLayout(null);
void ventasPorMaleta() {
double importeAcumuladoGeneral = FrmVenta.importeAcumuladoMaleta1 +
FrmVenta.importeAcumuladoMaleta2
+ FrmVenta.importeAcumuladoMaleta3 +
FrmVenta.importeAcumuladoMaleta4;
package maleta_nomada1;
import java.awt.EventQueue;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.Font;
import javax.swing.JComboBox;
import javax.swing.ImageIcon;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.DefaultComboBoxModel;
import java.awt.Color;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmVenta frame = new FrmVenta();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public FrmVenta() {
getContentPane().setBackground(new Color(255, 255, 181));
setTitle("CAJA MALETA NOMADA");
setFrameIcon(new
ImageIcon(FrmVenta.class.getResource("/imagenes/icono_maleta2.png")));
setIconifiable(true);
setBounds(100, 100, 686, 446);
getContentPane().setLayout(null);
}
public void actionPerformed(ActionEvent arg0) {
if (cantidad <= 3)
descuento = Consola_Principal1.porcentaje1 / 100 *
importeCompra;
else if (cantidad <= 6)
descuento = Consola_Principal1.porcentaje2 / 100 *
importeCompra;
else if (cantidad <= 12)
descuento = Consola_Principal1.porcentaje3 / 100 *
importeCompra;
else
descuento = Consola_Principal1.porcentaje4 / 100 *
importeCompra;
///////////////
switch (cajaCodigos.getSelectedIndex()) {
case 0:
cantidadVentasMaleta1++;
maletasVendidasMaleta1 += cantidad;
importeAcumuladoMaleta1 += importeTotal;
break;
case 1:
cantidadVentasMaleta2++;
maletasVendidasMaleta2 += cantidad;
importeAcumuladoMaleta2 += importeTotal;
break;
case 2:
cantidadVentasMaleta3++;
maletasVendidasMaleta3 += cantidad;
importeAcumuladoMaleta3 += importeTotal;
break;
case 3:
cantidadVentasMaleta4++;
maletasVendidasMaleta4 += cantidad;
importeAcumuladoMaleta4 += importeTotal;
break;
}
//////////////
} catch (Exception x) {
mensaje("Ingrese CANTIDAD correcta", "Error");
textCantidad.requestFocus();
}
}
• Pantalla Principal
• Barra de Menú
• Archivo Salir
• Consulta Inventario
• Modificar Inventario
• Lista de Productos
• Ventas
• Generar Reportes
• Modficar Descuentos
CONCLUSIONES
A medida que recorrimos cada etapa del proyecto, desde la definición de requisitos hasta la
implementación y las pruebas, comprendimos la importancia de una planificación sólida, el uso de
metodologías de desarrollo adecuadas y la colaboración efectiva entre todos los miembros del
equipo. Los resultados obtenidos, como la reducción del tiempo de espera de los clientes y la
generación de informes precisos, respaldan la relevancia de la aplicación en el contexto de una
tienda de mochilas.
Es importante señalar que este proyecto es un punto de partida. La tecnología y las necesidades
comerciales seguirán evolucionando, lo que requerirá una continua adaptación y mejora de la
aplicación. Al considerar la posibilidad de futuras iteraciones, es esencial mantener un enfoque en
la retroalimentación de los usuarios y en la capacidad de la aplicación para seguir siendo relevante
en un entorno empresarial en constante cambio.
GLOSARIO
Interfaz de Usuario (UI): La parte visual y tangible de una aplicación con la que los usuarios
interactúan para llevar a cabo tareas y acceder a funciones.
Requisitos No Funcionales: Las especificaciones que definen los atributos y restricciones del
sistema, como el rendimiento, la seguridad y la escalabilidad.