Informe sobre Software de Ventas de Laptops
Informe sobre Software de Ventas de Laptops
INDICE
.I. Introducción...........................................................................................................................3
II. Justificación..........................................................................................................................3
III. Objetivos............................................................................................................................4
IV. Definición:.........................................................................................................................4
Ventanas del programa...........................................................................................................4
Menú Archivo............................................................................................................................5
Submenú Salir..............................................................................................................5
Menú Ventas..............................................................................................................................6
Submenú Vender:.................................................................................................................6
Ventana de Aviso de ventas.....................................................................................6
Submenú Generar reportes......................................................................................7
Menú Mantenimiento......................................................................................................7
Submenú Consultar Laptops...................................................................................7
Submenú Modificar Laptops....................................................................................8
Submenú Listar Laptops...........................................................................................8
Menú Configurar.......................................................................................................................9
Submenú Porcentajes de descuentos...................................................................9
Submenú Configurar obsequios.............................................................................9
Submenú Configurar cantidad optima.................................................................10
Submenú Configurar cuota diaria.........................................................................10
Menú Ayuda.............................................................................................................................10
Submenú Acerca de tienda:.............................................................................................10
V. Entregables: Código Fuente Java.............................................................................11
VI. Conclusiones....................................................................................................................60
VII. Recomendaciones..............................................................................................................60
VIII. Bibliografía........................................................................................................................60
3
Informe del Proyecto de Introducción a la Algoritmia
I. Introducción
II. Justificación
Beneficiarios indirectos:
Los estudiantes, pues tendrán una mejor experiencia y un servicio más
personalizado de acuerdos a sus necesidades de estudio.
Los profesores que tendrán alumnos que cuenten con equipos óptimos
para poder aprender y desarrollar en una mejor manera las clases.
Los padres de familia, porque verán un mejor desarrollo y aprendizaje en
sus hijos lo que causara en ellos una mayor satisfacción.
III. Objetivos
Los objetivos determinados para este proyecto son los siguientes:
Objetivo 1: Mejorar la gestión del proceso de ventas, al agilizar el proceso de
cotización, presentación de especificaciones técnicas y gestión de inventario
disponible.
Objetivo2: Aumentar el valor promedio de venta de laptops ofreciendo
descuentos y proveyendo de accesorios, y ofreciendo mejoras según la
disponibilidad y uso del cliente.
Objetivo3: Asegurar una mejor generación de ventas o cotizaciones mediante
procesos de automatizaciones, ya que solo se ingresará datos de pedido, que se
validaran y se podrá tener mejores resultados.
IV. Definición:
Ventanas del programa
5
Informe del Proyecto de Introducción a la Algoritmia
Menú Archivo
Submenú Salir: Al pulsar esta opción se cerrará toda la ventana de
simulación.
6
Informe del Proyecto de Introducción a la Algoritmia
Menú Ventas
Submenú Vender:
Al seleccionar esta opción del menú Ventas, podremos ver y accionar la
ventana que efectúa la venta y te brindara el costo total, el descuento y los
obsequios según el modelo seleccionado es por ello que para realizar una
venta se ingresa el modelo de los vehículos y la cantidad de unidades por
adquirir. Al elegir un modelo se pude visualizar su precio unitario.
Menú Mantenimiento
Submenú Consultar Laptops
Al seleccionar este submenú, veremos la caja de diálogo en la que se puede
elegir un modelo de laptop y consultar sus características y precio unitario.
Al abrir, inmediatamente se ven los datos del primer modelo de laptop.
Al seleccionar un modelo, podremos ver sus características, como precio,
memoria RAM, tamaño, disco duro, Duración de batería.
Al pulsar el botón Cerrar, se cierra la ventana.
9
Informe del Proyecto de Introducción a la Algoritmia
Menú Configurar
Submenú Porcentajes de descuentos
En esta ventana de submenú, el usuario tiene la posibilidad de modificar
los descuentos que se le dará al cliente según la cantidad de unidades
compradas.
Al pulsar el botón aceptar se guardarán las modificaciones realizadas.
El botón cancelar cierra la ventana sin que se guarden las modificaciones.
11
Informe del Proyecto de Introducción a la Algoritmia
Menú Ayuda
Submenú Acerca de tienda:
Al seleccionar este submenú se muestra la ventana con la información del nombre
del sistema, y los nombres de los autores.
Al pulsar en “Cerrar”, se cierra la ventana.
138 }
139
140 /**
141 * Create the frame.
142 */
143 public Menu() {
144 setTitle(" Sistema de
145 Venta de Laptop"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
146 setBounds(100, 100, 502, 320);
147
148 menuBar = new JMenuBar();
149 setJMenuBar(menuBar);
150
151 mnArchivo = new JMenu("Archivo");
152 [Link](mnArchivo);
153
154 mntmSalir = new JMenuItem("Salir");
155 [Link](this);
156 [Link](mntmSalir);
157 mnVentas = new JMenu("Ventas");
158 [Link](mnVentas);
159 mntmVender = new JMenuItem("Vender");
160 [Link](this);
161 [Link](mntmVender);
162 mntmGenerarReportes = new JMenuItem("Generar Reportes");
163 [Link](this);
164 [Link](mntmGenerarReportes);
165
166 mnMantenimiento = new JMenu("Mantenimiento");
167 [Link](mnMantenimiento);
168
169 mntmConsultarCeramico = new JMenuItem("Consultar Laptop");
17 [Link](this);
[Link](mntmConsultarCeramico);
[Link](mntmConfigurarDescuento);
actionPerformedMntmAcercaDeTienda(e);
}
if ([Link]() == mntmConfigurarCuotaDiaria)
{ actionPerformedMntmConfigurarCuotaDiaria(e);
}
if ([Link]() == mntmConfigurarCantidadOptima)
{ actionPerformedMntmConfigurarCantidadOptima(e);
}
if ([Link]() == mntmConfigurarObsequios)
{ actionPerformedMntmConfigurarObsequios(e);
}
if ([Link]() == mntmConfigurarDescuento)
{ actionPerformedMntmConfigurarDescuento(e);
}
if ([Link]() == mntmListarCeramico)
{ actionPerformedMntmListarCeramico(e);
}
if ([Link]() == mntmModificarCeramico)
{ actionPerformedMntmModificarCeramico(e);
}
if ([Link]() == mntmConsultarCeramico)
{ actionPerformedMntmConsultarCeramico(e);
}
if ([Link]() == mntmSalir) { actionPerformedMntmSalir(e);
17
Informe del Proyecto de Introducción a la Algoritmia
}
}
protected void actionPerformedMntmSalir(ActionEvent e)
{ [Link](0);
}
protected void actionPerformedMntmConsultarCeramico(ActionEvent e) {
DialogoConsultarVehiculos consultarCeramico = new
DialogoConsultarVehiculos();
[Link](this);
[Link](true);
}
protected void actionPerformedMntmModificarCeramico(ActionEvent e) {
DialogoModificarVehiculo modificarCeramico = new
DialogoModificarVehiculo();
[Link](this);
[Link](true);
}
}
protected void actionPerformedMntmConfigurarDescuento(ActionEvent e)
{
DialogoCalcularPorcentajesdeDescuento configurarDescuento =
new DialogoCalcularPorcentajesdeDescuento();
[Link](this);
[Link](true);
}
protected void actionPerformedMntmConfigurarObsequios(ActionEvent e)
{
DialogoConfigurarObsequio configurarObsequio = new
DialogoConfigurarObsequio();
[Link](this);
[Link](true);
}
protected void
actionPerformedMntmConfigurarCantidadOptima(ActionEvent e) {
Configurarcantidadoptima configurarCantidadOptima = new
Configurarcantidadoptima();
[Link](this);
[Link](true);
}
protected void do_mntmVender_actionPerformed(ActionEvent e) {
DialogoVender vender = new DialogoVender();
[Link](this);
[Link](true);
}
protected void
do_mntmGenerarReportes_actionPerformed(ActionEvent e) {
DialogoGenerarReporte generarReportes = new
DialogoGenerarReporte();
[Link](this);
[Link](true);
}
}
public void actionPerformed(ActionEvent e) {
if ([Link]() == btnCerrar) { actionPerformedBtnNewButton(e);
}
}
protected void actionPerformedBtnNewButton(ActionEvent e)
{ dispose();
}
public void itemStateChanged(ItemEvent e) {
if ([Link]() == cboModelo) { itemStateChangedCboModelo(e);
}
21
Informe del Proyecto de Introducción a la Algoritmia
}
protected void itemStateChangedCboModelo(ItemEvent e) {
double precio;
String Taman, MemRam, DDuro, duracion;
precio = precio(item);
MemRam = MemRam(item);
Taman = Taman(item);
DDuro = DDuro(item);
duracion= duracion(item);
//mostrando resultados
mostrarResultado(precio, Taman, MemRam, DDuro, duracion);
}
90 setModal(true);
91 setResizable(false);
92 setTitle("Generar Reportes");
93 setBounds(100, 100, 666, 402);
94 getContentPane().setLayout(null);
95
96 lblNewLabel = new JLabel("Tipo de Reporte");
97 [Link](10, 26, 77, 14);
98 getContentPane().add(lblNewLabel);
99
100 cboTipoReporte = new JComboBox<String>();
101 [Link](this);
102 [Link](new DefaultComboBoxModel(new String[]
103 {"Venta por modelo", "Venta en relacion a la venta optima", "Precios
104 en relacion al precio promedio", "Promedios, menores y mayores"}));
105 [Link](97, 22, 205, 20);
106 getContentPane().add(cboTipoReporte);
107
108 btnCerrar = new JButton("Cerrar");
109 [Link](this);
110 [Link](539, 22, 89, 23);
111 getContentPane().add(btnCerrar);
112
113 scrollPane = new JScrollPane();
114 [Link](10, 65, 618, 280);
115 getContentPane().add(scrollPane);
116 txtS = new JTextArea();
117 [Link](false);
118 [Link](txtS);
119
120 //MOSTRANDO EL PRIMER REPORTE EN EL TXTAREA (REPORTE DEL ITEM 0 DEL
121 JCOMBOBOX)
122 reportePorModelo();
123 }
124 public void actionPerformed(ActionEvent e) {
125 if ([Link]() == btnCerrar) {
126 actionPerformedBtnCerrar(e);
127 }
128 }
129 protected void actionPerformedBtnCerrar(ActionEvent e) {
130 dispose();
131 }
132 public void itemStateChanged(ItemEvent e) {
133 if ([Link]() == cboTipoReporte) {
134 itemStateChangedCboTipoReporte(e);
135 }
136 }
137 protected void itemStateChangedCboTipoReporte(ItemEvent e) {
138 //Llamando al Metodo
139 obtenerTipoReporte();
140
141 }
142
143 //METODOS PARA EL JCOMBOBOX TIPO REPORTE
144 void obtenerTipoReporte() {
145
146 //Capturando el indice del elemento seleccionado en el JcomboBox
147 item = [Link]();
148
149 //Obteniendo el reporte de acuerdo al item seleccionado
150 switch(item) {
25
Informe del Proyecto de Introducción a la Algoritmia
151 case 0:
152 //Llamando al Metodo
153 reportePorModelo();
154 break;
155
156 case 1:
157 //Llamando al Metodo
158 reporteVentaOptima();
159
160 break;
161
162 case 2:
163 //Llamando al Metodo
164 reportePrecioPromedio();
165
166 break;
167
168 default:
169 //Llamando al Metodo
170 reportePromedioMenoresMayores();
171
172 }
173 //colocando el cursor en la posicion 0 del JtextArea para que
174 muestre la primera linea de los reportes
175 [Link](0);
176 }
177 //METODO REPORTE VENTAS POR MODELO POR MODELO
178 void reportePorModelo() {
179 //imprimir titulo del reporte generado
180 [Link]("VENTAS POR MODELO \r\n\r\n");
181
182 //imprimiendo listado del reporte por modelo
183 [Link]("Modelo : " + modelo0 + "\n");
184 [Link]("Cantidad de Ventas : " + cantVentas0 + "\n");
185 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas0 + "\
186 n");
187 [Link]("Importe total vendido : S/." +
188 [Link](impAcum0) +
189 "\n");
190 [Link]("Aporte a la cuota diaria : " +
191 [Link](porCuota0) +
192 "%" + "\n\n");
193
194 [Link]("Modelo : " + modelo1 + "\n");
195 [Link]("Cantidad de Ventas : " + cantVentas1 + "\n");
196 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas1 + "\
197 n");
198 [Link]("Importe total vendido : S/." +
199 [Link](impAcum1) +
200 "\n");
201 [Link]("Aporte a la cuota diaria : " +
202 [Link](porCuota1) +
203 "%" + "\n\n");
204
205 [Link]("Modelo : " + modelo2 + "\n");
206 [Link]("Cantidad de Ventas : " + cantVentas2 + "\n");
207 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas2 + "\
208 n");
209 [Link]("Importe total vendido : S/." +
210 [Link](impAcum2) +
211 "\n");
26
Informe del Proyecto de Introducción a la Algoritmia
else if (precio1 <= precio0 && precio1 <= precio2 && precio1 <=
precio3 &&
precio1 <= precio4)
[Link]("Precio menor : S/. " + precio1 + "\n");
else if (precio2 <= precio0 && precio2 <= precio1 && precio2 <=
precio3 &&
precio2 <= precio4)
[Link]("Precio menor : S/. " + precio2 + "\n");
else if (precio3 <= precio0 && precio3 <= precio2 && precio3 <=
precio1 &&
precio3 <= precio4)
[Link]("Precio menor : S/. " + precio3 + "\n");
else
[Link]("Precio menor : S/. " + precio4 + "\n");
else if (precio1 >= precio0 && precio1 >= precio2 && precio1 >=
precio3 &&
precio1 >= precio4)
[Link]("Precio mayor : S/. " + precio1 + "\n\n");
else if (precio2 >= precio0 && precio2 >= precio1 && precio2 >=
precio3 &&
precio2 >= precio4)
[Link]("Precio mayor : S/. " + precio2 + "\n\n");
else if (precio3 >= precio0 && precio3 >= precio2 && precio3 >=
precio1 &&
precio3 >= precio4)
[Link]("Precio mayor : S/. " + precio3 + "\n\n");
else
30
Informe del Proyecto de Introducción a la Algoritmia
}
}
41 });
42 }
43 /**
44 * Create the dialog.
45 */
46 public DialogoListadodeVehiculos() {
47 setResizable(false);
48 setModal(true);
49 setTitle("Listado de Laptops");
50 setBounds(100, 100, 566, 346);
51 getContentPane().setLayout(null);
52
53 scrollPane = new JScrollPane();
54 [Link](10, 11, 530, 248);
55 getContentPane().add(scrollPane);
56
57 txtListado = new JTextArea();
58 [Link](false);
59 [Link](txtListado);
60
61 btnCerrar = new JButton("Cerrar");
62 [Link](this);
63 [Link](166, 270, 89, 23);
64 getContentPane().add(btnCerrar);
65
66 btnListar = new JButton("Listar");
67 [Link](this);
68 [Link](265, 270, 89, 23);
69 getContentPane().add(btnListar);
70 }
71 public void actionPerformed(ActionEvent e) {
72 if ([Link]() == btnListar) {
73 actionPerformedBtnListar(e);
74 }
75 if ([Link]() == btnCerrar) {
76 actionPerformedBtnCerrar(e);
77 }
78 }
79 protected void actionPerformedBtnCerrar(ActionEvent e) {
80 dispose();
81 }
82 protected void actionPerformedBtnListar(ActionEvent e) {
83 [Link]("LISTADO DE LAPTOPS\n");
84
85
86 //LLAMANDO A LOS METODOS QUE LISTAN LOS MODELOS
87 listadoModelo0();
88 listadoModelo1();
89 listadoModelo2();
90 listadoModelo3();
91 listadoModelo4();
92
93 //COLOCANDO EL CURSOR EN LA PRIMERA POSICION DEL JTEXTAREA
94 [Link](1);
95 }
96 //METODOS PARA LISTAR POR MODELO
97 void listadoModelo0() {
98 [Link]("Modelo : "+ Menu.modelo0 + "\n");
99 [Link]("Precio : "+"$/. "+Menu.precio0 + "\n");
100 [Link]("Memoria Ram : "+ Menu.MemRam0 +"\n");
101 [Link]("Tamaño : "+ Menu.Taman0 +"\n");
32
Informe del Proyecto de Introducción a la Algoritmia
2 import [Link];
3 import [Link];
import [Link];0
4 import [Link];
import [Link];
5 import [Link];
import [Link];
6 import [Link];
import [Link];
7 import [Link];
import [Link];
8 import [Link];
33
Informe del Proyecto de Introducción a la Algoritmia
import [Link];
9 import [Link];
import [Link];
10 import [Link];
import [Link];
11 import [Link];
import [Link];
12 import [Link];
import [Link];
13
public class DialogoVender extends JFrame implements ActionListener,
14 KeyListener, WindowListener{
15 /**
*
16 */
private static final long serialVersionUID = 1L;
17 private JPanel contentPane;
private JLabel lblModelo;
18 private JComboBox<String> cboModelo;
private JLabel lblPrecios;
19 private JTextField txtPrecio;
private JLabel lblCantidad;
20 private JTextField txtCantidad;
private JButton btnVender;
21 private JButton btnCerrar;
private JScrollPane scrl;
22 private JTextArea txtS;
32 /**
* Create the frame.
33 */
public DialogoVender() {
34 addWindowListener(this);
setTitle("Vender");
35 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 425, 300);
36 contentPane = new JPanel();
[Link](new EmptyBorder(5, 5, 5, 5));
37 setContentPane(contentPane);
[Link](null);
38
34
Informe del Proyecto de Introducción a la Algoritmia
[Link](false);
70 [Link](new Font("MS Reference Sans Serif",
[Link], 13));
71 [Link](txtS);
}
72
public void actionPerformed(ActionEvent e) {
73 if ([Link]() == btnCerrar) {
actionPerformedBtnCerrar(e);
74 }
if ([Link]() == btnVender) {
75 actionPerformedBtnVender(e);
}
76 if ([Link]() == cboModelo) {
actionPerformedCboModelo(e);
77 }
}
78 //Datos de los precios correspondientes
protected void actionPerformedCboModelo(ActionEvent e) {
79 String modelo=(String)[Link]();
switch(modelo){
80 case "HP 14-EP1001LA Intel Core Ultra 5":
[Link](Menu.precio0+""); break;
81 case "Asus Vivobook Intel Core i5":
[Link](Menu.precio1+""); break;
82 case "Acer Aspire Go Intel Core i3":
[Link](Menu.precio2+""); break;
83 case "Lenovo Ideapad Slim 3i Intel Core i5":
[Link](Menu.precio3+""); break;
84 default: [Link](Menu.precio4+"");
}
85 }
//BOTON VENDER
86 protected void actionPerformedBtnVender(ActionEvent e) {
try{
87 int modelo, cant, cantObsequio;
double precio, impCompra, desc, impPago;
88 String nomModelo;
//Variables para el aviso
89 int contVentas=0;
@SuppressWarnings("unused")
90 double acumImp= 0;
//Ingreso de Datos
91 modelo = leerModelo();
nomModelo = nombreModelo(modelo);
92 cant = leerCantidad();
precio = leerPrecio(modelo);
93 impCompra = calcularImporteCompra(modelo, cant);
desc = calcularDescuento(cant, impCompra);
94 impPago = calcularImportePago(impCompra, desc);
cantObsequio = calcularCantObsequio(cant);
95 mostrarResultados(nomModelo, precio, cant, impCompra,
desc, impPago, cantObsequio);
96 //Ingreso de datos del AVISO
reconocerUnidadesVendidas(modelo, cant);
97 contVentas=contUnidadesVendidas();
acumImp=contImpGeneral();
98 mensaje(contVentas);
}
99 catch (Exception e2) {
10 [Link](this, "Ingresa una
36
Informe del Proyecto de Introducción a la Algoritmia
}
//BOTON CERRAR
protected void actionPerformedBtnCerrar(ActionEvent e) {
dispose();
}
//MENSAJE DE AVISO DE VENTAS
void aviso(int contadorVentas) {
[Link](this, "Venta Nro.
"+contadorVentas+
"\n"+"Importe total general acumulado:
$/."+[Link](contImpGeneral())+
"\n"+"Porcentaje de la cuota
diaria:"+[Link](porcentajeCuotaDiaria())+"%");
}
//Contador de Ventas
void mensaje(int contVentas) {
if(contUnidadesVendidas()==5 )
aviso(contVentas);
if(contUnidadesVendidas()==10)
aviso(contVentas);
if(contUnidadesVendidas()==15)
aviso(contVentas);
if(contUnidadesVendidas()==20)
aviso(contVentas);
if(contUnidadesVendidas()==25)
aviso(contVentas);
if(contUnidadesVendidas()==30)
aviso(contVentas);
if(contUnidadesVendidas()==35)
aviso(contVentas);
if(contUnidadesVendidas()==40)
aviso(contVentas);
if(contUnidadesVendidas()==45)
aviso(contVentas);
if(contUnidadesVendidas()==50)
aviso(contVentas);
if(contUnidadesVendidas()==55)
aviso(contVentas);
if(contUnidadesVendidas()==60)
aviso(contVentas);
}
//EVITAR LETRAS
public void keyPressed(KeyEvent arg0) {
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
if ([Link]() == txtCantidad) {
keyTypedTxtCantidad(e);
}
}
protected void keyTypedTxtCantidad(KeyEvent e) {
int capturar= [Link]();
if(capturar< '0' || capturar>'9') {
[Link]();
}
}
//INICIAR APLICACION MOSTRANDO DATOS
public void windowActivated(WindowEvent e) {
if ([Link]() == this) {
windowActivatedThis(e);
39
Informe del Proyecto de Introducción a la Algoritmia
}
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
protected void windowActivatedThis(WindowEvent e) {
[Link](""+Menu.precio0);
[Link]("\n"+"\n"+"\n"+"\n"+"
");
}
}
1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14 import [Link];
15 import [Link];
16 import [Link];
17 public class DialogoGenerarReporte extends JDialog implements
18 ActionListener, ItemListener {
19 /**
20 *
21 */
22 private static final long serialVersionUID = 1L;
23 private JLabel lblNewLabel;
24 private JComboBox<String> cboTipoReporte;
25 private JButton btnCerrar;
26 private JScrollPane scrollPane;
27 private JTextArea txtS;
28 /**
29 * Launch the application.
30 */
31 public static void main(String[] args) {
32 try {
33
34 [Link]([Link]()
35 );
36 } catch (Throwable e) {
37 [Link]();
40
Informe del Proyecto de Introducción a la Algoritmia
38 }
39 [Link](new Runnable() {
40 public void run() {
41 try {
42 DialogoGenerarReporte dialog = new
43 DialogoGenerarReporte();
44 [Link](JDialog.DISPOSE_ON_CLOSE);
45 [Link](true);
46 } catch (Exception e) {
47 [Link]();
48 }
49 }
50 });
51 }
52
53 //VARIABLE GLOBAL PARA JCOMBOBOX TIPO REPORTE
54 //Variable que captura el indice del item selccionado en el
55 JcomboBox
56 int item;
57
58 //variables que guardan los valores de las variables globales
59 Public Static de Menu:
60 String modelo0 = Menu.modelo0, modelo1 = Menu.modelo1, modelo2 =
61 Menu.modelo2, modelo3 = Menu.modelo3, modelo4 = Menu.modelo4;
62 int cantVentas0 = Menu.contadorVenta0, cantVentas1 =
63 Menu.contadorVenta1,
64 cantVentas2 = Menu.contadorVenta2, cantVentas3 =
65 Menu.contadorVenta3,
66 cantVentas4 = Menu.contadorVenta4;
67 int unidVendidas0 = Menu.cantUniVendidas0, unidVendidas1 =
68 Menu.cantUniVendidas1, unidVendidas2 = Menu.cantUniVendidas2,
69 unidVendidas3 =
70 Menu.cantUniVendidas3, unidVendidas4 = Menu.cantUniVendidas4;
71 double impAcum0 = Menu.importeAcumulado0, impAcum1 =
72 Menu.importeAcumulado1, impAcum2 = Menu.importeAcumulado2,
73 impAcum3 =
74 Menu.importeAcumulado3, impAcum4 = Menu.importeAcumulado4;
75 double porCuota0 = Menu.porcentajeCuota0, porCuota1 =
76 Menu.porcentajeCuota1, porCuota2 = Menu.porcentajeCuota2,
77 porCuota3 =
78 Menu.porcentajeCuota3, porCuota4 = Menu.porcentajeCuota4;
79 int cantOptima = [Link];
80 double precio0 = Menu.precio0, precio1 = Menu.precio1, precio2 =
81 Menu.precio2, precio3 = Menu.precio3, precio4 = Menu.precio4;
82
83
84 //Calculando variables globales precioPromedio y anchoPromedio
85 double precioPromedio = (precio0 + precio1 + precio2 + precio3 +
86 precio4)/5;
87
88
89 //Creando el objeto formato1 tipo DecimalFormat que realizar� el
90 redondeo de los valores a 2 decimales
91 DecimalFormat formato1 = new DecimalFormat("0.00");
92
93 /**
94 * Create the dialog.
95 */
96 public DialogoGenerarReporte() {
97 setModal(true);
41
Informe del Proyecto de Introducción a la Algoritmia
98 setResizable(false);
99 setTitle("Generar Reportes");
100 setBounds(100, 100, 666, 402);
101 getContentPane().setLayout(null);
102
103 lblNewLabel = new JLabel("Tipo de Reporte");
104 [Link](10, 26, 77, 14);
105 getContentPane().add(lblNewLabel);
106
107 cboTipoReporte = new JComboBox<String>();
108 [Link](this);
109 [Link](new DefaultComboBoxModel(new String[]
110 {"Venta por modelo", "Venta en relacion a la venta optima",
111 "Precios en relacion al precio promedio", "Promedios, menores y
112 mayores"}));
113 [Link](97, 22, 205, 20);
114 getContentPane().add(cboTipoReporte);
115
116 btnCerrar = new JButton("Cerrar");
117 [Link](this);
118 [Link](539, 22, 89, 23);
119 getContentPane().add(btnCerrar);
120
121 scrollPane = new JScrollPane();
122 [Link](10, 65, 618, 280);
123 getContentPane().add(scrollPane);
124 txtS = new JTextArea();
125 [Link](false);
126 [Link](txtS);
127
128 //MOSTRANDO EL PRIMER REPORTE EN EL TXTAREA (REPORTE DEL ITEM 0
129 DEL JCOMBOBOX)
130 reportePorModelo();
131 }
132 public void actionPerformed(ActionEvent e) {
133 if ([Link]() == btnCerrar) {
134 actionPerformedBtnCerrar(e);
135 }
136 }
137 protected void actionPerformedBtnCerrar(ActionEvent e) {
138 dispose();
139 }
140 public void itemStateChanged(ItemEvent e) {
141 if ([Link]() == cboTipoReporte) {
142 itemStateChangedCboTipoReporte(e);
143 }
144 }
145 protected void itemStateChangedCboTipoReporte(ItemEvent e) {
146 //Llamando al Metodo
147 obtenerTipoReporte();
148
149 }
150
151 //METODOS PARA EL JCOMBOBOX TIPO REPORTE
152 void obtenerTipoReporte() {
153
154 //Capturando el indice del elemento seleccionado en el JcomboBox
155 item = [Link]();
156
157 //Obteniendo el reporte de acuerdo al item seleccionado
42
Informe del Proyecto de Introducción a la Algoritmia
158 switch(item) {
159 case 0:
160 //Llamando al Metodo
161 reportePorModelo();
162 break;
163
164 case 1:
165 //Llamando al Metodo
166 reporteVentaOptima();
167
168 break;
169
170 case 2:
171 //Llamando al Metodo
172 reportePrecioPromedio();
173
174 break;
175
176 default:
177 //Llamando al Metodo
178 reportePromedioMenoresMayores();
179
180 }
181 //colocando el cursor en la posicion 0 del JtextArea para que
182 muestre la primera linea de los reportes
183 [Link](0);
184 }
185 //METODO REPORTE VENTAS POR MODELO POR MODELO
186 void reportePorModelo() {
187 //imprimir titulo del reporte generado
188 [Link]("VENTAS POR MODELO \r\n\r\n");
189
190 //imprimiendo listado del reporte por modelo
191 [Link]("Modelo : " + modelo0 + "\n");
192 [Link]("Cantidad de Ventas : " + cantVentas0 + "\n");
193 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas0 +
194 "\n");
195 [Link]("Importe total vendido : S/." +
196 [Link](impAcum0) +
197 "\n");
198 [Link]("Aporte a la cuota diaria : " +
199 [Link](porCuota0) +
200 "%" + "\n\n");
201
202 [Link]("Modelo : " + modelo1 + "\n");
203 [Link]("Cantidad de Ventas : " + cantVentas1 + "\n");
204 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas1 +
205 "\n");
206 [Link]("Importe total vendido : S/." +
207 [Link](impAcum1) +
208 "\n");
209 [Link]("Aporte a la cuota diaria : " +
210 [Link](porCuota1) +
211 "%" + "\n\n");
212
213 [Link]("Modelo : " + modelo2 + "\n");
214 [Link]("Cantidad de Ventas : " + cantVentas2 + "\n");
215 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas2 +
216 "\n");
217 [Link]("Importe total vendido : S/." +
43
Informe del Proyecto de Introducción a la Algoritmia
218 [Link](impAcum2) +
219 "\n");
220 [Link]("Aporte a la cuota diaria : " +
221 [Link](porCuota2) +
222 "%" + "\n\n");
223
224 [Link]("Modelo : " + modelo3 + "\n");
225 [Link]("Cantidad de Ventas : " + cantVentas3 + "\n");
226 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas3 +
227 "\n");
228 [Link]("Importe total vendido : S/." +
229 [Link](impAcum3) +
230 "\n");
231 [Link]("Aporte a la cuota diaria : " +
232 [Link](porCuota3) +
233 "%" + "\n\n");
234
235 [Link]("Modelo : " + modelo4 + "\n");
236 [Link]("Cantidad de Ventas : " + cantVentas4 + "\n");
237 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas4 +
238 "\n");
239 [Link]("Importe total vendido : S/." +
240 [Link](impAcum4) +
241 "\n");
[Link]("Aporte a la cuota diaria : " +
[Link](porCuota4) +
"%" + "\n\n");
else
[Link]("Cantidad de unidades vendidas : " + unidVendidas0 +
"(igual a la cantidad óptima)" + "\n\n");
//Modelo1
[Link]("Modelo : " + modelo1 + "\n");
44
Informe del Proyecto de Introducción a la Algoritmia
else
[Link]("Cantidad de unidades vendidas : " + unidVendidas1 +
"(igual a la cantidad óptima)" + "\n\n");
//Modelo2
[Link]("Modelo : " + modelo2 + "\n");
if (unidVendidas2 < cantOptima)
[Link]("Cantidad de unidades vendidas : " + unidVendidas2 +
"(" + (cantOptima - unidVendidas2) + " menos que la cantidad
óptima)" + "\n\n");
else
[Link]("Cantidad de unidades vendidas : " + unidVendidas2 +
"(igual a la cantidad óptima)" + "\n\n");
//Modelo3
[Link]("Modelo : " + modelo3 + "\n");
if (unidVendidas3 < cantOptima)
[Link]("Cantidad de unidades vendidas : " + unidVendidas3 +
"(" +
(cantOptima - unidVendidas3) + " menos que la cantidad óptima)" +
"\n\n");
else
[Link]("Cantidad de unidades vendidas : " + unidVendidas3 +
"(igual a la cantidad óptima)" + "\n\n");
//Modelo4
[Link]("Modelo : " + modelo4 + "\n");
else
[Link]("Precio : S/. " + precio0 + "(Igual al Promedio)\n\
n");
//Modelo1
[Link]("Modelo : " + modelo1 + "\n");
if (precio1 < precioPromedio)
[Link]("Precio : S/. " + precio1 + "(Menor al Promedio)\n\
n");
else
[Link]("Precio : S/. " + precio1 + "(Igual al Promedio)\n\
n");
//Modelo2
[Link]("Modelo : " + modelo2 + "\n");
if (precio2 < precioPromedio)
[Link]("Precio : S/. " + precio2 + "(Menor al Promedio)\n\
n");
else
[Link]("Precio : S/. " + precio2 + "(Igual al Promedio)\n\
n");
//Modelo3
[Link]("Modelo : " + modelo3 + "\n");
if (precio3 < precioPromedio)
[Link]("Precio : S/. " + precio3 + "(Menor al Promedio)\n\
n");
46
Informe del Proyecto de Introducción a la Algoritmia
else
[Link]("Precio : S/. " + precio3 + "(Igual al Promedio)\n\
n");
//Modelo4
[Link]("Modelo : " + modelo4 + "\n");
if (precio4 < precioPromedio)
[Link]("Precio : S/. " + precio4 + "(Menor al Promedio)\n\
n");
else if(precio4 > precioPromedio)
[Link]("Precio : S/. " + precio4 + "(Mayor al Promedio)\n\
n");
else
[Link]("Precio : S/. " + precio4 + "(Igual al Promedio)\n\
n");
else if (precio1 <= precio0 && precio1 <= precio2 && precio1 <=
precio3 &&
precio1 <= precio4)
[Link]("Precio menor : S/. " + precio1 + "\n");
else if (precio2 <= precio0 && precio2 <= precio1 && precio2 <=
precio3 &&
precio2 <= precio4)
[Link]("Precio menor : S/. " + precio2 + "\n");
else if (precio3 <= precio0 && precio3 <= precio2 && precio3 <=
precio1 &&
precio3 <= precio4)
[Link]("Precio menor : S/. " + precio3 + "\n");
else
[Link]("Precio menor : S/. " + precio4 + "\n");
if (precio0 >= precio1 && precio0 >= precio2 && precio0 >=
precio3 && precio0 >=
precio4)
[Link]("Precio mayor : S/. " + precio0 + "\n\n");
else if (precio1 >= precio0 && precio1 >= precio2 && precio1 >=
precio3 &&
precio1 >= precio4)
[Link]("Precio mayor : S/. " + precio1 + "\n\n");
else if (precio2 >= precio0 && precio2 >= precio1 && precio2 >=
precio3 &&
precio2 >= precio4)
[Link]("Precio mayor : S/. " + precio2 + "\n\n");
else if (precio3 >= precio0 && precio3 >= precio2 && precio3 >=
precio1 &&
precio3 >= precio4)
[Link]("Precio mayor : S/. " + precio3 + "\n\n");
else
[Link]("Precio mayor : S/. " + precio4 + "\n\n");
}
}
29 [Link]();
30 }
31 [Link](new Runnable() {
32 public void run() {
33 try {
34 Configurarcantidadoptima dialog = new
35 Configurarcantidadoptima();
36 [Link](JDialog.DISPOSE_ON_CLOSE);
37 [Link](true);
38 } catch (Exception e) {
39 [Link]();
40 }
41 }
42 });
43 }
44 /**
45 * Create the dialog.
46 */
47 public Configurarcantidadoptima() {
48 setTitle("Configurar Cantidad \u00D3ptima");
49 setResizable(false);
50 setModal(true);
51 setBounds(100, 100, 440, 125);
52 getContentPane().setLayout(null);
53
54 lblNewLabel = new JLabel("Cantidad \u00F3ptima de unidades
55 vendidas");
56 [Link](10, 15, 185, 14);
57 getContentPane().add(lblNewLabel);
58
59 txtCantidadOptima = new JTextField();
60 [Link](205, 12, 64, 20);
61 getContentPane().add(txtCantidadOptima);
62 [Link](10);
63
64 btnCancelar = new JButton("Cancelar");
65 [Link](this);
66 [Link](314, 41, 89, 23);
67 getContentPane().add(btnCancelar);
68
69 btnAceptar = new JButton("Aceptar");
70 [Link](this);
71 [Link](314, 11, 89, 23);
72 getContentPane().add(btnAceptar);
73
74 //Mostrando valores
75 [Link](""+[Link]);
76
77 }
78 public void actionPerformed(ActionEvent e) {
79 if ([Link]() == btnAceptar) {
80 actionPerformedBtnAceptar(e);
81 }
82 if ([Link]() == btnCancelar) {
83 actionPerformedBtnCancelar(e);
84 }
85 }
86 protected void actionPerformedBtnCancelar(ActionEvent e) {
87 dispose();
88 }
89 protected void actionPerformedBtnAceptar(ActionEvent e) {
49
Informe del Proyecto de Introducción a la Algoritmia
setResizable(false);
setModal(true);
49
setBounds(100, 100, 440, 125);
50
getContentPane().setLayout(null);
51
52
lblNewLabel = new JLabel("Cantidad \u00F3ptima de unidades
53
vendidas");
54
[Link](10, 15, 185, 14);
55
getContentPane().add(lblNewLabel);
56
57
txtCantidadOptima = new JTextField();
58
[Link](205, 12, 64, 20);
59
getContentPane().add(txtCantidadOptima);
60
[Link](10);
61
62
btnCancelar = new JButton("Cancelar");
63
[Link](this);
64
[Link](314, 41, 89, 23);
65
getContentPane().add(btnCancelar);
66
67
btnAceptar = new JButton("Aceptar");
68
[Link](this);
69
[Link](314, 11, 89, 23);
70
getContentPane().add(btnAceptar);
71
72
//Mostrando valores
73
[Link](""+[Link]);
74
75
}
76
public void actionPerformed(ActionEvent e) {
77
if ([Link]() == btnAceptar) {
78
actionPerformedBtnAceptar(e);
79
}
80
if ([Link]() == btnCancelar) {
81
actionPerformedBtnCancelar(e);
82
}
83
}
84
protected void actionPerformedBtnCancelar(ActionEvent e) {
85
dispose();
86
}
87
protected void actionPerformedBtnAceptar(ActionEvent e) {
88
89
//Grabando la cantidad optima
90
[Link] = [Link]([Link]());
91
//Mostrando aviso de cambio realizado
92
[Link](null, "Cambio Realizado con
93
Éxito", "Aviso" , 1, null);
94
dispose();
95
}
}
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14
15 public class Configurarcuotadiaria extends JDialog implements
16 ActionListener {
17
18 private final JPanel contentPanel = new JPanel();
19 private JTextField txtCuotaestimada;
20 private JButton btnProcesar;
21 private JButton btnBorrar;
22
23 /**
24 * Launch the application.
25 */
26 public static void main(String[] args) {
27 try {
28 Configurarcuotadiaria dialog = new
29 Configurarcuotadiaria();
30
31 [Link](JDialog.DISPOSE_ON_CLOSE);
32 [Link](true);
33 } catch (Exception e) {
34 [Link]();
35 }
36 }
37
38 /**
39 * Create the dialog.
40 */
41 public Configurarcuotadiaria() {
42 setTitle("Configurar cuota diaria");
43 setBounds(100, 100, 486, 158);
44 getContentPane().setLayout(new BorderLayout());
45 [Link](new EmptyBorder(5, 5, 5, 5));
46 getContentPane().add(contentPanel,
47 [Link]);
48 [Link](null);
49 {
50 JLabel lblCuotaDiariaEstimada = new JLabel("
51 Cuota diaria estimada (S/.)");
52 [Link](10, 11, 157,
53 14);
54 [Link](lblCuotaDiariaEstimada);
55 }
56 {
57 txtCuotaestimada = new JTextField();
58 [Link](201, 8, 106, 20);
59 [Link](txtCuotaestimada);
60 [Link](10);
61 }
62 {
63 btnProcesar = new JButton(" Procesar");
64 [Link](this);
65 [Link](346, 7, 89, 23);
66 [Link](btnProcesar);
67 }
68 {
52
Informe del Proyecto de Introducción a la Algoritmia
}
}
83
84 txtDesc2 = new JTextField();
85 [Link](10);
86 [Link](124, 33, 86, 20);
87 getContentPane().add(txtDesc2);
88
89 txtDesc3 = new JTextField();
90 [Link](10);
91 [Link](124, 58, 86, 20);
92 getContentPane().add(txtDesc3);
93
94 txtDesc4 = new JTextField();
95 [Link](10);
96 [Link](124, 83, 86, 20);
97 getContentPane().add(txtDesc4);
98
99 lblNewLabel_1 = new JLabel("%");
100 lblNewLabel_1.setBounds(220, 11, 11, 14);
101 getContentPane().add(lblNewLabel_1);
102
103 lblNewLabel_2 = new JLabel("%");
104 lblNewLabel_2.setBounds(220, 39, 11, 14);
105 getContentPane().add(lblNewLabel_2);
106
107 lblNewLabel_3 = new JLabel("%");
108 lblNewLabel_3.setBounds(220, 61, 11, 14);
109 getContentPane().add(lblNewLabel_3);
110
111 lblNewLabel_4 = new JLabel("%");
112 lblNewLabel_4.setBounds(220, 86, 11, 14);
113 getContentPane().add(lblNewLabel_4);
114
115 btnCancelar = new JButton("Cancelar");
116 [Link](this);
117 [Link](303, 32, 89, 23);
118 getContentPane().add(btnCancelar);
119
120 //Mostrando los valores de los porcentjaes al cargar la ventana
121 [Link](""+Menu.porcentaje1);
122 [Link](""+Menu.porcentaje2);
123 [Link](""+Menu.porcentaje3);
124 [Link](""+Menu.porcentaje4);
125
126 btnAceptar = new JButton("Aceptar");
127 [Link](this);
128 [Link](303, 7, 89, 23);
129 getContentPane().add(btnAceptar);
130 }
131 public void actionPerformed(ActionEvent e) {
132 if ([Link]() == btnAceptar) {
133 actionPerformedBtnAceptar(e);
134 }
135 if ([Link]() == btnCancelar) {
136 actionPerformedBtnCancelar(e);
137 }
138 }
139 protected void actionPerformedBtnCancelar(ActionEvent e) {
140 dispose();
141 }
142
143 protected void actionPerformedBtnAceptar(ActionEvent e) {
55
Informe del Proyecto de Introducción a la Algoritmia
43 */
44 public static void main(String[] args) {
45 [Link](new Runnable() {
46 public void run() {
47 try {
48 DialogoConfigurarObsequio frame
49 = new DialogoConfigurarObsequio();
50 [Link](true);
51 } catch (Exception e) {
52 [Link]();
53 }
54 }
55 });
56 }
57
58 /**
59 * Create the frame.
60 */
61 public DialogoConfigurarObsequio() {
62 addWindowListener(this);
63 setTitle("Configurar Obsequios");
64 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
65 setBounds(100, 100, 407, 161);
66 contentPane = new JPanel();
67 [Link](new EmptyBorder(5, 5, 5, 5));
68 setContentPane(contentPane);
69 [Link](null);
70
71 lblTipoDeObsequios = new JLabel("Tipo de Obsequios");
72 [Link](new Font("Consolas",
73 [Link], 11));
74 [Link](10, 11, 113, 14);
75 [Link](lblTipoDeObsequios);
76
77 lblA = new JLabel("1 a 5 unidades");
78 [Link](new Font("Consolas", [Link], 11));
79 [Link](10, 36, 96, 14);
80 [Link](lblA);
81
82
lblA_1 = new JLabel("6 a 10 unidades");
83
lblA_1.setFont(new Font("Consolas", [Link], 11));
84
lblA_1.setBounds(10, 61, 96, 14);
85
[Link](lblA_1);
86
87
88 lblA_2 = new JLabel("11 a m\u00E1s unidades");
89 lblA_2.setFont(new Font("Consolas", [Link], 11));
90 lblA_2.setBounds(10, 86, 113, 14);
91 [Link](lblA_2);
92
93 txtUni3 = new JTextField();
94 [Link](this);
95 [Link](133, 83, 86, 20);
96 [Link](txtUni3);
97 [Link](10);
98
99 txtUni2 = new JTextField();
100 [Link](this);
101 [Link](133, 58, 86, 20);
102 [Link](txtUni2);
103 [Link](10);
57
Informe del Proyecto de Introducción a la Algoritmia
104
105 txtUni1 = new JTextField();
106 [Link](this);
107 [Link](133, 33, 86, 20);
108 [Link](txtUni1);
109 [Link](10);
110
111 txtTipo = new JTextField();
112 [Link](133, 8, 86, 20);
113 [Link](txtTipo);
114 [Link](10);
115
116
btnAceptar = new JButton("Aceptar");
117
[Link]([Link]);
118
[Link]([Link]);
119
[Link](this);
120
[Link](294, 7, 89, 23);
121
[Link](btnAceptar);
122
123
124 btnCancelar = new JButton("Cancelar");
125 [Link]([Link]);
126 [Link]([Link]);
127 [Link](this);
128 [Link](294, 32, 89, 23);
129 [Link](btnCancelar);
130 }
131
132 public void actionPerformed(ActionEvent e) {
133 if ([Link]() == btnCancelar) {
134 actionPerformedBtnCancelar(e);
135 }
136 if ([Link]() == btnAceptar) {
137 actionPerformedBtnAceptar(e);
138 }
139 }
140 //BOTON ACEPTAR
141 protected void actionPerformedBtnAceptar(ActionEvent e) {
142 try{
143 [Link] = [Link]();
144 Menu.obsequioCantidad1 =
145 remplazarDatos([Link]());
146 Menu.obsequioCantidad2 =
147 remplazarDatos([Link]());
148 Menu.obsequioCantidad3 =
149 remplazarDatos([Link]());
150 dispose();
151 }
152 catch (Exception e2){
153 [Link](this, " Completa
154 los campos Requeridos.", "ERROR", JOptionPane.INFORMATION_MESSAGE);
155 }
156 }
157 //Cambiar Datos
158 int remplazarDatos(String t){
159 return [Link](t);
160 }
161 //BOTON CANCELAR
162 protected void actionPerformedBtnCancelar(ActionEvent e) {
163 dispose();
164 }
58
Informe del Proyecto de Introducción a la Algoritmia
*/
50
public Acercadelatienda() {
51
setTitle("Acerca de Sistema de Venta ");
52
setResizable(false);
53
setModal(true);
54
setBounds(100, 100, 484, 363);
55
getContentPane().setLayout(null);
56
57
lblNewLabel = new JLabel("Sistema de Venta");
58
[Link](new Font("Tahoma", [Link], 20));
59
[Link](58, 11, 328, 25);
60
[Link]([Link]);
61
getContentPane().add(lblNewLabel);
62
63
lblDeCocinasV = new JLabel("de Laptops V. 2.1");
64
[Link]([Link]);
65
[Link](new Font("Tahoma", [Link], 20));
66
[Link](58, 36, 328, 25);
67
getContentPane().add(lblDeCocinasV);
68
69
btnCerrar = new JButton("Cerrar");
70
[Link](this);
71
[Link](188, 272, 89, 23);
72
getContentPane().add(btnCerrar);
73
74
lblNewLabel_1 = new JLabel("Autores:");
75
lblNewLabel_1.setFont(new Font("Tahoma", [Link], 16));
76
lblNewLabel_1.setBounds(187, 93, 70, 20);
77
getContentPane().add(lblNewLabel_1);
78
79
lblNewLabel_2 = new JLabel("Leonel Quispe");
80
lblNewLabel_2.setFont(new Font("Tahoma", [Link], 14));
81
lblNewLabel_2.setBounds(142, 160, 189, 17);
82
getContentPane().add(lblNewLabel_2);
83
84
separator = new JSeparator();
85
[Link](56, 80, 331, 2);
86
getContentPane().add(separator);
87
88
label = new JLabel("Santiago Rubio");
89
[Link](new Font("Tahoma", [Link], 14));
90
[Link](142, 132, 189, 17);
91
getContentPane().add(label);
92
}
93
public void actionPerformed(ActionEvent e) {
94
if ([Link]() == btnCerrar) {
95
actionPerformedBtnCerrar(e);
96
}
97
}
98
protected void actionPerformedBtnCerrar(ActionEvent e) {
99
dispose();
100
}
101
}
61
Informe del Proyecto de Introducción a la Algoritmia
VI. Conclusiones
En primer lugar, el funcionamiento correcto del software dependerá de un
adecuado planteamiento del problema a resolver. La lógica de programación es la
piedra angular que fundamenta un correcto desarrollo. También es importante que
la sintaxis utilizada en el código fuente sea funcional y eficiente.
Además, podemos concluir que la utilización de software especializado y
diseñado a medida del requerimiento del cliente facilita los procesos internos de
las empresas y los hace más eficientes.
Finalmente concluimos que siempre existe espacio para mejoras y
actualizaciones, que el campo de acción de los desarrolladores de software, y
profesiones afines, continúa en vigencia y seguirá siendo relevante en el avance
de la tecnología, economía mundial y calidad de vida de las personas.
VII. Recomendaciones
VIII. Bibliografía