Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UG (Lima Centro)
EVALUACIÓN TEÓRICA 3
TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS
INGENIERÍA DE SISTEMAS COMPUTACIONALES
SEMESTRE 2021-1
Art. 21° Las faltas leves son sancionadas, preferentemente, con amonestación escrita; salvo decisión distinta de la
Autoridad competente.
Art. 22° Las faltas graves son sancionadas, preferentemente, con separación temporal; salvo decisión distinta de la
Autoridad competente.
Art. 20° Las faltas muy graves referidas a las faltas contra la probidad académica, listadas en el literal a) del Art. 12 del
presente, serán sancionadas con la desaprobación con calificación de cero en el curso. En caso de reincidencia, la sanción a
aplicar será la separación definitiva. Las faltas muy graves en general, serán sancionadas, preferentemente, con la
separación definitiva; salvo decisión distinta de la Autoridad competente.
1
Facultad de Ingeniería
UG (Lima Centro)
___________ _____________
Firma del estudiante
DNI: _70357254_____________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
_______________________________________________________________________________________
ES CONFORME
NO ES CONFORME
____________ ____________
Firma del estudiante
DNI: _70357254_____________
2
Facultad de Ingeniería
UG (Lima Centro)
EVALUACIÓN TEÓRICA 3
TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS
INGENIERÍA DE SISTEMAS COMPUTACIONALES
SEMESTRE 2021-1
Nota:
Los casos propuestos y resueltos deben ser de su autoría y no debe coincidir con otros
estudiantes, además tiene que tener rigor académico.
Caso 1: Programar un caso donde se aplique herencia simple. Datos ingresados por
el usuario, adjuntar código editable y además el workspace del caso
Animal
Código fuente:
Paquete padre:
package padre;
import interfaz.Movimiento;
3
Facultad de Ingeniería
UG (Lima Centro)
return "Nombre: "+nombre+"\nRaza: "+raza+"\nEdad:
"+edad;
}
public String Caminar(){
return "No hay mensaje";
}
public String Dormir(){
return "No hay mensaje";
}
public String Comer(){
return "No hay mensaje";
}
public String Ruido(){
return "No hay mensaje";
}
}
---------------------------------------------------------------------------------
Paquete hijo:
package hijo;
import padre.Animal;
---------------------------------------------------------------------------------
package hijo;
import padre.Animal;
4
Facultad de Ingeniería
UG (Lima Centro)
public String Dormir(){
return "El perro está durmiendo";
}
---------------------------------------------------------------------------------
package hijo;
import padre.Animal;
---------------------------------------------------------------------------------
Paquete interfaz:
package interfaz;
---------------------------------------------------------------------------------
Paquete gui:
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import hijo.Gato;
import hijo.Perro;
import hijo.Tortuga;
import interfaz.Movimiento;
import padre.Animal;
5
Facultad de Ingeniería
UG (Lima Centro)
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFRAME frame = new JFRAME();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public JFRAME() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 674, 554);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
6
Facultad de Ingeniería
UG (Lima Centro)
lblPerro = new JLabel("Perro");
lblPerro.setBounds(12, 13, 56, 16);
contentPane.add(lblPerro);
7
Facultad de Ingeniería
UG (Lima Centro)
contentPane.add(lblTortuga);
8
Facultad de Ingeniería
UG (Lima Centro)
Listado2(g);
txtS.append("\nTortuga\n");
Tortuga t = new Tortuga(NombreT, RazaT, EdadT);
Listado(t);
Listado2(t);
}
void Listado(Animal x){
Imprimir(x.Datos());
Imprimir(x.Ruido());
}
void Listado2(Movimiento x){
Imprimir(x.Caminar());
Imprimir(x.Comer());
Imprimir(x.Dormir());
}
void Imprimir(String s){
txtS.append(s+"\n");
}
}
Ventana de resultado:
9
Facultad de Ingeniería
UG (Lima Centro)
1. Título
2. Beneficiario(s)
3. Marco teórico
4. Objetivo general
5. Objetivos específicos
6. Lista de requerimientos
7. Diagrama de clases
8. Diagrama de base de datos con diccionario
10
Facultad de Ingeniería
UG (Lima Centro)
FACULTAD DE INGENIERÍA
CICLO: 2021-1
SECCIÓN: NRC3303
TEMA:
INFORME DEL PROYECTO INTEGRADOR
TÍTULO:
INTEGRANTES:
11
Facultad de Ingeniería
UG (Lima Centro)
ÍNDICE:
2. BENEFICIARIOS:
El presente proyecto beneficiará a la empresa, los clientes, los trabajadores, así como a los
proveedores de esta.
Para la empresa, se mejorará el sistema de registro de los productos ya que se les podrá identificar
por sus características como nombre, código y precio. Esto también ayudará a controlar los gastos
que se realizarán para los productos.
Para los clientes será beneficioso ya que, al estar identificados todos los productos por su nombre,
código y precio, la atención será más rápida.
También será beneficioso para los proveedores ya que podrán ser identificados por su nombre, RUC,
dirección, correo, etc. lo que les beneficiará principalmente al momento de cobrar las facturas por los
suministros entregados. En cuanto a los trabajadores, les beneficiará porque pueden estar en una base
de datos y serán registrados con todos sus datos.
El del proyecto será revisado cada 2 semanas, con el fin controlar los gastos y hacer los ajustes
respectivos. Finalmente, se logrará realizar un software que recopile, administre y muestre
información de manera segura y que, además, cuente con una base de datos de respaldo temporal
para poder restablecer la información y no haya pérdidas de información valiosa para el
establecimiento.
3. MARCO TEÓRICO:
El sistema de gestión productos, se caracteriza por ser un apoyo informático encargado de consultar,
resolver, simplificar y brindar información detallada acerca de los productos y el personal de la
cafetería que trabaje con el sistema "CMS". La información presentada en el sistema se organizará de
manera detallada, para mejorar la búsqueda de información sobre los productos y trabajadores que
estén a cargo en su horario de trabajo. Además, la elaboración de las boletas de cada uno de los
usuarios también será resumida con información precisa de la compra. Toda la información de los
productos y del personal solo podrá ser editada por un administrador de tal manera que
simultáneamente en su labor se guardarán en la base de datos del programa y la base de datos de
respaldo de manera segura. Describiremos cada una de sus funciones:
A.- Registro de datos por productos ()
B.- Registro de productos por categoría ()
C.- Administración de productos ()
D.- Registro de los datos personales de los trabajadores ()
E.- Registro de proveedores por producto ()
12
Facultad de Ingeniería
UG (Lima Centro)
G.- Administración de cantidad de trabajadores ()
4. OBJETIVO GENERAL:
Diseñar un sistema de gestión de productos que se efectivo, claro y conciso para mantener un orden
de los trabajadores, gastos y adquisición de productos para este tipo de negocios.
5. OBJETIVOS ESPECÍFICOS:
6. LISTA DE REQUERIMIENTOS:
1. El sistema pedirá a cada trabajador su número de DNI o su número de carnet de extranjería el cual
será su código para identificarlos.
2. El sistema registrará los nombres y apellidos de los trabajadores.
3. El sistema registrará la dirección de domicilio de cada empleado. (distrito)
4. El sistema registrará la fecha de nacimiento de los trabajadores, y así asignará la edad de cada
trabajador, siendo el límite de 48 años.
5. El sistema registrará los correos electrónicos de los trabajadores para enviar comunicados, así
como sus promociones por ser trabajadores.
6. El sistema pedirá el registro de los cargos que ocupan cada trabajador.
7. El sistema pedirá el código de usuario que realizo una venta.
8. El sistema asignará un código a cada producto.
9. El sistema pedirá la marca y nombre del producto.
10. El sistema pedirá número de lote de cada producto.
11. El sistema pedirá la fecha de vencimiento de los productos.
12. El sistema pedirá los nombres de cada empresa proveedora.
13. El sistema pedirá el número de ruc de la empresa que abastecerá el negocio.
14. El sistema pedirá los números de cuenta bancaria de cada empresa proveedora.
15. El sistema pedirá el precio por caja de cada producto.
16. El sistema pedirá la cantidad de productos por caja.
17. El sistema asignará los precios de los productos ganando un 5% por producto y además incluirá el
IGV.
18. El sistema asignará el descuento de seguro a los empleados.
19. El sistema asignará el pago de los empleados.
20. El sistema asignará un bono por tiempo trabajado del empleado
21. El sistema pedirá el número de DNI del cliente
22. EL sistema pedirá el nombre del cliente
23. El sistema pedirá el apellido del cliente
24. El sistema pedirá la edad del cliente
13
Facultad de Ingeniería
UG (Lima Centro)
25. El sistema registrará el nombre del producto a adquirir
7. DIAGRAMAS DE CLASE:
Clientes
Nombre (String)
Apellido (String)
Dni (int)
Sexo (String)
Edad(int)
Nomdprod(String)
MontoTotal(double)
Trabajador Producto
Nombre (String) Código (int)
Apellido (String) Empresas
Nombre (String)
Dni (int) Nombre (String)
Marca (String)
Sexo (String) Numdruc (int)
NumDLote (int)
Edad (int) Numdecuenta (int)
FechdVenc (int)
Direcpost (String) Cantdprod (int)
Precio (double)
FechdeNAc (int) Igv (double)
Correo (String) TipdeCmpago (String)
RegistrarDatos ()
RegistroProducto()
RegistrarDatos() AdministracionCantidad(
AdministracionCantidad( )
)
14
Facultad de Ingeniería
UG (Lima Centro)
Medidas de Seguridad
Tallpolo(int)
Tallpant(int)
Tallbotas(int)
Guantes(int)
Mascarillas(int)
ProtectorFac(int)
CLIENTE
ATRIBUTO TIPO DESCRIPCIÓN
Nombre String Almacena nombre del cliente
Apellido String Almacena apellido del cliente
Dni int Almacena DNI del cliente
Género String Almacena el género del cliente
Edad int Almacena la edad del cliente
Nomdprod String Almacena el nombre del producto
Montotal double Monto total
EMPLEADO
ATRIBUTO TIPO DESCRIPCIÓN
Nombre String Almacena nombre del empleado
Apellido String Almacena apellido del empleado
Dni int Almacena DNI del empleado
Género String Almacena género del empleado
Edad int Almacena edad del empleado
Direcpost String Almacena dirección postal
Fechadnaci int Almacena fecha de nacimiento
Correo String Almacena correo del empleado
PRODUCTO
ATRIBUTO TIPO DESCRIPCIÓN
Código int Almacena código del producto
Nombre String Almacena nombre del producto
Marca String Almacena marca del producto
Numdlote int Almacena número de lote
Fechdven int Almacena fecha de vencimiento
Precio double Almacena precio del producto
15
Facultad de Ingeniería
UG (Lima Centro)
MEDIDAS
DE
SEGURIDAD
ATRIBUTO TIPO DESCRIPCION
Tallpolo int Almacena talla de polo del empleado
Tallpant int Almacena talla de pantalón del empleado
Tallbotas int Almacena talla de botas del empleado
Almacena cantidad de guantes que se le entregará al
Guantes
int empleado
Almacena cantidad de mascarillas que se le entregará al
Mascarillas
int empleado
Almacena cantidad de protectores facial que se le
Protecfaci
int entregará al empleado
Código fuente:
Clase Empleados:
package clases;
16
Facultad de Ingeniería
UG (Lima Centro)
}
public void setDni(int dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getFecdnaci() {
return fecdnaci;
}
public void setFecdnaci(String fecdnaci) {
this.fecdnaci = fecdnaci;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public String getDirecpost() {
return direcpost;
}
public void setDirecpost(String direcpost) {
this.direcpost = direcpost;
}
public String getCorreo() {
return correo;
}
public void setCorreo(String correo) {
this.correo = correo;
}
public static int getCont() {
return cont;
}
public static void setCont(int cont) {
Empleados.cont = cont;
}
}
package arreglos;
import java.util.ArrayList;
import clases.Empleados;
public ArregloEmpleados(){
tra = new ArrayList<Empleados>();
Adicionar(new Empleados("Sebas", "Sanchez", 4234235, 19, "diciembre",
"Masculino", "Urb. Villa vitoria", "aaaaa@aa.com"));
Adicionar(new Empleados("Andrea", "Ramirez", 123155, 34, "octubre", "Femenino",
"Federico Villareal", "abcde@gh.com"));
}
17
Facultad de Ingeniería
UG (Lima Centro)
}
public int Tamaño(){
return tra.size();
}
public Empleados Obtener(int i){
return tra.get(i);
}
public Empleados Buscar(int dni){
for(int i=0; i<Tamaño(); i++){
if(Obtener(i).getDni()==dni){
return Obtener(i);
}
}
return null;
}
public void Eliminar(Empleados x){
tra.remove(x);
}
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import arreglos.ArregloEmpleados;
import clases.Clientes;
import clases.Empleados;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.image.ImageProducer;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTable;
import javax.swing.JTextPane;
18
Facultad de Ingeniería
UG (Lima Centro)
private JLabel lblIngreseGnero;
private JTextField txtCorreo;
private JTextField txtEdad;
private JTextField txtApe;
private JTextField txtNom;
private JTextField txtDni;
private JLabel lblIngreseGnero_1;
private JComboBox comboBox_3;
private JLabel lblIngreseDireccinPostal;
private JTextField txtDire;
private JButton btnModificar;
private JButton btnBuscar;
private JButton btnEliminar;
ArregloEmpleados ae = new ArregloEmpleados();
private JTextArea txtS;
private JTable table;
private JScrollPane scrollPane;
private JTable TABLETA;
private DefaultTableModel modelo;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VentanaEmpleados frame = new VentanaEmpleados();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public VentanaEmpleados() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 790, 671);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
19
Facultad de Ingeniería
UG (Lima Centro)
20
Facultad de Ingeniería
UG (Lima Centro)
txtNom = new JTextField();
txtNom.setBounds(197, 39, 116, 22);
contentPane.add(txtNom);
txtNom.setColumns(10);
21
Facultad de Ingeniería
UG (Lima Centro)
modelo.addColumn("Fecha de nacimiento");
modelo.addColumn("Género");
modelo.addColumn("Correo");
modelo.addColumn("Dirección");
TABLETA.setModel(modelo);
Listado();
}
22
Facultad de Ingeniería
UG (Lima Centro)
}
}
protected void do_btnEliminar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empleados e = ae.Buscar(Dni());
if(e!=null){
ae.Eliminar(e);
Listado();
}
else{
Mensaje("El dni "+Dni()+" no existe");
}
}
protected void do_btnReportar_actionPerformed(ActionEvent arg0) {
Imprimir("Cantidad de empleados: "+ae.Tamaño());
Listado();
}
void Imprimir(String s){
txtS.append(s+"\n");
}
void Listado(){
modelo.setRowCount(0);
for(int i=0; i<ae.Tamaño(); i++){
Object[] fila
={ae.Obtener(i).getDni(),ae.Obtener(i).getNombre(),ae.Obtener(i).getApellido(),ae
.Obtener(i).getEdad(),
ae.Obtener(i).getFecdnaci(),ae.Obtener(i).getGenero(),ae.Obtener(i).getCorreo(),a
e.Obtener(i).getDirecpost()};
modelo.addRow(fila);
}
}
int Dni(){
return Integer.parseInt(txtDni.getText());
}
String Nombre(){
return txtNom.getText();
}
String Apellido(){
return txtApe.getText();
}
String Genero(){
return comboBox_3.getSelectedItem().toString();
}
int Edad(){
return Integer.parseInt(txtEdad.getText());
}
String Fechadenacimiento(){
return comboBox.getSelectedItem().toString()+"
"+comboBox_1.getSelectedItem().toString()+"
"+comboBox_2.getSelectedItem().toString();
}
String Correo(){
return txtCorreo.getText();
}
String Direccion(){
return txtDire.getText();
}
void Mensaje(String s){
JOptionPane.showMessageDialog(this, s);
}
}
23
Facultad de Ingeniería
UG (Lima Centro)
Clase Clientes:
package clases;
public Clientes(String nombre, String apellido, int dni, int edad, String sexo, String
nombdprod, double montotal) {
this.nombre = nombre;
this.apellido = apellido;
this.dni = dni;
this.edad = edad;
this.sexo = sexo;
this.nombdprod = nombdprod;
this.montotal = montotal;
}
24
Facultad de Ingeniería
UG (Lima Centro)
package ArregloClientes;
import java.util.ArrayList;
import clases.Clientes;
public ArregloClientes(){
cli = new ArrayList<Clientes>();
Adicionar(new Clientes("Luis", "Rojas", 123456, 15, "Masculino", "Capuchino", 15.50));
Adicionar(new Clientes("Maria", "Leveau", 5423412, 18, "Femenino", "Cafe", 13.20));
}
25
Facultad de Ingeniería
UG (Lima Centro)
return null;
}
public void Eliminar(Clientes x){
cli.remove(x);
}
}
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import ArregloClientes.ArregloClientes;
import clases.Clientes;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTable;
/**
26
Facultad de Ingeniería
UG (Lima Centro)
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Ventana1 frame = new Ventana1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Ventana1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 487);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
27
Facultad de Ingeniería
UG (Lima Centro)
lblSexo = new JLabel("Sexo");
lblSexo.setBounds(10, 120, 46, 14);
contentPane.add(lblSexo);
28
Facultad de Ingeniería
UG (Lima Centro)
scrollPane.setViewportView(tblTable);
modelo=new DefaultTableModel();
modelo.addColumn("Nombre");
modelo.addColumn("Apellido");
modelo.addColumn("Dni");
modelo.addColumn("Edad");
modelo.addColumn("Sexo");
modelo.addColumn("Nompdprod");
modelo.addColumn("Montotal");
tblTable.setModel(modelo);
}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnBuscar) {
do_btnBuscar_actionPerformed(arg0);
}
if (arg0.getSource() == btnModificar) {
do_btnModificar_actionPerformed(arg0);
}
if (arg0.getSource() == btnReportar) {
do_btnReportar_actionPerformed(arg0);
}
if (arg0.getSource() == btnEliminar) {
do_btnEliminar_actionPerformed(arg0);
}
if (arg0.getSource() == btnAdicionar) {
do_btnAdicionar_actionPerformed(arg0);
}
}
protected void do_btnAdicionar_actionPerformed(ActionEvent arg0) {
Clientes dc= new Clientes(nombre(), apellido(), dni(), edad(), sexo(), nombdprod(),
montotal());
adc.Adicionar(dc);
Listado();
}
int dni(){
return Integer.parseInt(txtDni.getText());
}
String nombre(){
return txtNom.getText();
}
String apellido(){
return txtApe.getText();
}
String sexo(){
return txtSex.getText();
}
String nombdprod(){
return txtNomProd.getText();
}
int edad(){
return Integer.parseInt(txtEd.getText());
}
double montotal(){
return Double.parseDouble(txtMonTot.getText());
}
void Imprimir(String s){
txtS.append(s+"\n");
}
void Listado(){
modelo.setRowCount(0);
for(int i=0; i< adc.Tamaño(); i++){
29
Facultad de Ingeniería
UG (Lima Centro)
Object[]
fila={adc.Obtener(i).getNombre(),adc.Obtener(i).getApellido(),adc.Obtener(i).getDni(),ad
c.Obtener(i).getEdad(),adc.Obtener(i).getSexo(),adc.Obtener(i).getNombdprod(),adc.Obtene
r(i).getMontotal()};
modelo.addRow(fila);
}
}
protected void do_btnEliminar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Clientes dc= adc.Buscar(dni());
if(dc!=null){
adc.Eliminar(dc);
Listado();
}
else{
Mensaje("El dni "+ dni()+ "no existe");
}
}
void Mensaje(String s){
JOptionPane.showMessageDialog(this, s);
}
protected void do_btnReportar_actionPerformed(ActionEvent arg0) {
Imprimir("Cantidad de clientes: " +adc.Tamaño());
Listado();
}
protected void do_btnModificar_actionPerformed(ActionEvent arg0) {
Clientes dc= adc.Buscar(dni());
if(dc!=null){
dc.setNombre(nombre());
dc.setApellido(apellido());
dc.setSexo(sexo());
dc.setNombdprod(nombdprod());
dc.setEdad(edad());
dc.setDni(dni());
dc.setMontotal(montotal());;
Listado();
}
else {
Mensaje("El dni "+ dni()+ "no existe");
}
}
protected void do_btnBuscar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Clientes dc=adc.Buscar(dni());
if(dc!=null){
Imprimir(""+dc.getDni()+""+dc.getNombre()+""+dc.getApellido()+""+dc.getSexo()
+""+dc.getEdad()+""+dc.getNombdprod()+""+dc.getMontotal());
}
else{
Mensaje("El dni "+ dni()+ " no existe");
}
}
}
Clase Empresas:
package clases;
30
Facultad de Ingeniería
UG (Lima Centro)
public Empresas(String nombre, int numderuc, int numdecuenta, int
cantdproduc) {
this.nombre = nombre;
this.numderuc = numderuc;
this.numdecuenta = numdecuenta;
this.cantdproduc = cantdproduc;
//this.igv = igv;
//this.tipodecompago = tipodecompago;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getNumderuc() {
return numderuc;
}
public void setNumderuc(int numderuc) {
this.numderuc = numderuc;
}
public int getNumdecuenta() {
return numdecuenta;
}
public void setNumdecuenta(int numdecuenta) {
this.numdecuenta = numdecuenta;
}
public int getCantdproduc() {
return cantdproduc;
}
public void setCantdproduc(int cantdproduc) {
this.cantdproduc = cantdproduc;
}
/*public double getIgv() {
return igv;
}
public void setIgv(double igv) {
this.igv = igv;
}*/
/*public String getTipodecompago() {
return tipodecompago;
}
public void setTipodecompago(String tipodecompago) {
this.tipodecompago = tipodecompago;
}*/
}
package arreglo;
import java.util.ArrayList;
import clases.Empresas;;
public ArregloEmpresas(){
emp = new ArrayList<Empresas>();
Adicionar(new Empresas("El gran verde ", 102895273 , 182218963 , 5 ));
Adicionar(new Empresas("El mercadito de las frutas ", 1028596273 , 1878518963 , 10 ));
}
31
Facultad de Ingeniería
UG (Lima Centro)
public void Adicionar(Empresas x){
emp.add(x);
}
public int Tamaño(){
return emp.size();
}
public Empresas Obtener(int i){
return emp.get(i);
}
public Empresas Buscar( int numderuc){
for(int i=0; i<Tamaño(); i++){
if(Obtener(i).getNumderuc()==numderuc)
return Obtener(i);
}
return null;
}
public void Eliminar(Empresas x){
emp.remove(x);
}
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import arreglo.ArregloEmpresas;
import clases.Empresas;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JTable;
import javax.swing.JTextPane;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
32
Facultad de Ingeniería
UG (Lima Centro)
private JButton btnAdicionar;
private JButton btnReportar;
ArregloEmpresas ae = new ArregloEmpresas();
private int numderuc;
private JButton btnEliminar;
private JButton btnModificar;
private JButton btnBuscar;
private JScrollPane scrollPane_1;
private JScrollPane scrollPane;
private JTextArea txtS;
private JTable tblTabla;
private DefaultTableModel modelo;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VentanaEmpresas frame = new VentanaEmpresas();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public VentanaEmpresas() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 694, 519);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
33
Facultad de Ingeniería
UG (Lima Centro)
comboBox.setModel(new DefaultComboBoxModel(new String[] {"", "Pago
Efectivo", "Tarjeta Cr\u00E9dito", "Tarjeta D\u00E9bito"}));
comboBox.setBounds(203, 114, 113, 17);
contentPane.add(comboBox);
34
Facultad de Ingeniería
UG (Lima Centro)
tblTabla.setModel(modelo);
}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnBuscar) {
do_btnBuscar_actionPerformed(arg0);
}
if (arg0.getSource() == btnModificar) {
do_btnModificar_actionPerformed(arg0);
}
if (arg0.getSource() == btnEliminar) {
do_btnEliminar_actionPerformed(arg0);
}
if (arg0.getSource() == btnReportar) {
do_btnNewButton_1_actionPerformed(arg0);
}
if (arg0.getSource() == btnAdicionar) {
do_btnNewButton_actionPerformed(arg0);
}
}
protected void do_btnNewButton_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empresas e = new Empresas(Nombre(), Ruc(), Cuenta(), Cantidad());
ae.Adicionar(e);
Listado();
String Nombre(){
return txtNom.getText();
}
int Ruc(){
35
Facultad de Ingeniería
UG (Lima Centro)
return Integer.parseInt(txtRuc.getText());
}
int Cuenta(){
return Integer.parseInt(txtCuenta.getText());
}
int Cantidad(){
return Integer.parseInt(txtCant.getText());
}
protected void do_btnEliminar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empresas es = ae.Buscar(Ruc());
if(es!=null){
ae.Eliminar(es);
Listado();
}
else{
mensaje("El N° de ruc "+Ruc()+ "no existe");
}
}
protected void do_btnModificar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empresas es = ae.Buscar(Ruc());
if(es!=null){
es.setNombre(Nombre());
es.setNumderuc(Ruc());
es.setNumdecuenta(Cuenta());
es.setCantdproduc(Cantidad());
Listado();
public Cliente() {
//super();
nombre = null;
apellido = null;
dni = 0;
edad = 0;
género = null;
36
Facultad de Ingeniería
UG (Lima Centro)
nombdprod = null;
montotal = 0;
}
37
Facultad de Ingeniería
UG (Lima Centro)
Clase Empresa:
package agregación_composición;
public Empresa() {
//super();
nombre = null;
numdruc = 0;
numdcuenta = 0;
cantdprod = 0;
igv = 0;
tipdcompago = null;
empleado = new Empleado();
}
38
Facultad de Ingeniería
UG (Lima Centro)
return igv;
}
public void setIgv(double igv) {
this.igv = igv;
}
public String getTipdcompago() {
return tipdcompago;
}
public void setTipdcompago(String tipdcompago) {
this.tipdcompago = tipdcompago;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Empleado getEmpleado() {
return empleado;
}
public void setEmpleado(Empleado empleado) {
this.empleado = empleado;
}
}
Clase Empleado:
package agregación_composición;
public Empleado() {
//super();
nombre = null;
apellido = null;
dni = 0;
edad = 0;
género = null;
direcpost = null;
correo = null;
fecdnaci = null;
}
39
Facultad de Ingeniería
UG (Lima Centro)
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public int getDni() {
return dni;
}
public void setDni(int dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getGénero() {
return género;
}
public void setGénero(String género) {
this.género = género;
}
public String getDirecpost() {
return direcpost;
}
public void setDirecpost(String direcpost) {
this.direcpost = direcpost;
}
public String getCorreo() {
return correo;
}
public void setCorreo(String correo) {
this.correo = correo;
}
public String getFecdnaci() {
return fecdnaci;
}
public void setFecdnaci(String fecdnaci) {
this.fecdnaci = fecdnaci;
}
public static int getCont() {
return cont;
}
public static void setCont(int cont) {
Empleado.cont = cont;
}
JFrame VentanaEmpresa:
package gui;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
40
Facultad de Ingeniería
UG (Lima Centro)
import javax.swing.border.EmptyBorder;
import agregación_composición.Cliente;
import agregación_composición.Empleado;
import agregación_composición.Empresa;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VentanaEmpresa frame = new VentanaEmpresa();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public VentanaEmpresa() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 685, 483);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
41
Facultad de Ingeniería
UG (Lima Centro)
lblEmpresa.setBounds(12, 13, 56, 16);
contentPane.add(lblEmpresa);
42
Facultad de Ingeniería
UG (Lima Centro)
}
void Listado(Empresa x, Empleado y){
Imprimir("El nombre de la empresa es: "+x.getNombre());
Imprimir("El Ruc de la empresa es: "+x.getNumdruc());
Imprimir("El nombre del empleado es: "+y.getNombre());
Imprimir("El dni del empreado es: "+y.getDni());
Imprimir("-------------------------------------------------------------");
}
void Listado(Empresa x, Cliente y){
Imprimir("El nombre de la empresa es: "+x.getNombre());
Imprimir("El Ruc de la empresa es: "+x.getNumdruc());
Imprimir("El nombre del cliente es: "+y.getNombre());
Imprimir("El dni del cliente es: "+y.getDni());
Imprimir("-------------------------------------------------------------");
}
void Imprimir(String s){
txtS.append(s+"\n");
}
}
EMPLEADO-CLIENTE (ASOCIACIÓN)
43
Facultad de Ingeniería
UG (Lima Centro)
package asociación;
44
Facultad de Ingeniería
UG (Lima Centro)
public void setDcli(DatosClientes1 dcli) {
this.dcli = dcli;
}
package asociación;
package guiAsociación2;
45
Facultad de Ingeniería
UG (Lima Centro)
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import asociación.*;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
V1 frame = new V1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public V1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
46
Facultad de Ingeniería
UG (Lima Centro)
setBounds(100, 100, 450, 495);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
47
Facultad de Ingeniería
UG (Lima Centro)
txtDniEmp.setBounds(34, 81, 86, 20);
contentPane.add(txtDniEmp);
txtDniEmp.setColumns(10);
48
Facultad de Ingeniería
UG (Lima Centro)
Imprimir("El producto consumido es: "+dc.getNomProd());
Imprimir("El precio total es: "+dc.getMontoTotal());
}
void Imprimir(String s){
txtS.append(s+"\n");
}
}
CLIENTE-PRODUCTO (ASOCIACIÓN)
package asociación;
49
Facultad de Ingeniería
UG (Lima Centro)
this.produ = produ;
}
}
package asociación;
}
package gui;
50
Facultad de Ingeniería
UG (Lima Centro)
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import asociación.Clientes;
import asociación.Productos;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
/**
51
Facultad de Ingeniería
UG (Lima Centro)
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
V1 frame = new V1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public V1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 457);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
52
Facultad de Ingeniería
UG (Lima Centro)
contentPane.add(lblCdigo);
53
Facultad de Ingeniería
UG (Lima Centro)
txtNumLote = new JTextField();
txtNumLote.setColumns(10);
txtNumLote.setBounds(113, 278, 86, 20);
contentPane.add(txtNumLote);
54
Facultad de Ingeniería
UG (Lima Centro)
int cod = Integer.parseInt(txtCod.getText());
String nomProd = txtNomprodu.getText();
String marca = txtMarca.getText();
int numlote = Integer.parseInt(txtNumLote.getText());
int fecha = Integer.parseInt(txtFecha.getText());
double precio = Double.parseDouble(txtPrecio.getText());
Productos p = new Productos(cod, numlote, fecha, nomProd, marca, precio);
Clientes c = new Clientes(nom, ape, sexo, dni, edad,p);
Listado(c, p);
}
void Listado(Clientes c1, Productos p1){
imprimir("El nombre del cliente es: "+c1.getNombre());
imprimir("El apellido del cliente es: "+c1.getApellido());
imprimir("El DNI del cliente es: "+c1.getDni());
imprimir("El Sexo del cliente es: "+c1.getSexo());
imprimir("La edad del cliente es: "+c1.getEdad());
imprimir("El código del producto es: "+p1.getCod());
imprimir("El nombre del producto es: "+p1.getNombreP());
imprimir("La marca del producto es: "+p1.getMarca());
imprimir("El número de lote es: "+p1.getNumLote());
imprimir("La fecha de vencimiento: "+p1.getFechaV());
imprimir("El precio total es: "+p1.getPrecio());
}
55
Facultad de Ingeniería
UG (Lima Centro)
Ventana de resultado:
56
Facultad de Ingeniería
UG (Lima Centro)
57
Facultad de Ingeniería
UG (Lima Centro)
58
Facultad de Ingeniería
UG (Lima Centro)
59
Facultad de Ingeniería
UG (Lima Centro)
Rúbrica de evaluación
Define el caso de
acuerdo a lo solicitado,
Define el caso de
el código tiene lógica
acuerdo a lo solicitado,
de programación y los Define el caso de
el código tiene lógica de
resultados es lo acuerdo a lo
programación y los
esperado. solicitado. Se
resultados es lo No presenta
Adjunta código descontará 1
Caso 1 esperado. el caso
editable y el punto por cada
Adjunta código editable
workspace error ortográfico y
Se descontará 1 punto
Se descontará 1 gramatical.
por cada error
punto por cada error
ortográfico y gramatical.
ortográfico y
gramatical.
10 puntos 5 puntos 2 puntos 0 puntos
Adjunta
Adjunta
informe(mínimo 6 Adjunta informe(mínimo
informe(mínimo 2
elementos), código 4 elementos), código
elementos), código
editable y el editable
editable No presenta
workspace Se descontará 1 punto
Caso 2 Se descontará 1 el caso
Se descontará 1 por cada error
punto por cada
punto por cada error ortográfico y/o
error ortográfico
ortográfico y/o gramatical.
y/o gramatical.
gramatical.
10 puntos 5 puntos 2 puntos 0 puntos
60