SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
IES Gran Capitán
Módulo: Programación
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”
Proyecto en Java:
Tienda de Productos
Electrónicos
Proyecto en Java: Tienda de Productos Electrónicos 2
Autor: Miguel Ángel López Moyano
1. Introducción
Vamos a desarrollar un programa para gestionar una tienda de productos electrónicos.
Nos limitaremos a las opciones:
 Añadir producto
 Eliminar producto
 Modificar producto
 Mostrar componentes
 Mostrar móviles
 Mostrar tablets
 Mostrar todos los productos
 Buscar por id
 Buscar por nombre
 Guardar y leer en/desde fichero
 Realizar venta
 Menú ayuda (ayuda y acerca de…)
Se seguirá la siguiente estructura de clases y herencia:
Proyecto en Java: Tienda de Productos Electrónicos 3
Autor: Miguel Ángel López Moyano
El código fuente de este proyecto puede consultarse y descargarse desde la siguiente
dirección: https://github.com/i02lomom/ProyectoProgramacion
2. Menú Archivo
En el menú Archivo tendremos las opciones típicas para trabajar con ficheros (nuevo,
abrir, guardar y guardar como) además de la opción Salir.
Proyecto en Java: Tienda de Productos Electrónicos 4
Autor: Miguel Ángel López Moyano
a) Nuevo
Se creará un nuevo ArrayList de productos comprobando si el actual está modificado,
en ese caso se le preguntará al usuario si desea guardar los cambios.
b) Abrir
Abre un fichero que cargará el ArrayList de productos que tiene guardado. Si el actual
ArrayList está modificado se preguntará al usuario si desea guardar los cambios.
Proyecto en Java: Tienda de Productos Electrónicos 5
Autor: Miguel Ángel López Moyano
c) Guardar
Guarda el actual ArrayList en el fichero que esté asignado. Si el fichero no se ha
guardado anteriormente (sin título) se llamará a Guardar como y se le pedirá al usuario
que le dé un nombre al fichero donde desea guardar los datos.
d) Guardar como
Guarda el actual ArrayList en el fichero que le indique el usuario. En este caso siempre
se pide el nombre del fichero.
e) Salir
Sale del programa comprobando si el actual ArrayList está modificado, en ese caso
pregunta al usuario si desea guardar los cambios.
3. Menú Productos.
En este menú tendremos las opciones Añadir producto, Eliminar producto, Modificar
producto, Añadir unidades y Buscar (por id y por nombre).
Proyecto en Java: Tienda de Productos Electrónicos 6
Autor: Miguel Ángel López Moyano
a) Añadir producto
Añade un producto al actual ArrayList. El producto debe de ser de tipo componente,
móvil o tablet (no se pueden crear instancias de producto ya que es una clase abstracta).
Se pedirá primero el id (que se controlará mediante expresiones regulares). Si no
cumple con los requisitos saltará una excepción.
Proyecto en Java: Tienda de Productos Electrónicos 7
Autor: Miguel Ángel López Moyano
A continuación se piden el nombre, la descripción, etc. El atributo fechaRecepcion será
de tipo fecha y se asignará automáticamente, ya que la fecha de entrada del producto
será la fecha actual.
Cada una de las tres clases posee al menos una enumeración como atributo, cumpliendo
así con los requisitos del proyecto.
b) Eliminar producto
Se busca el producto a través de su nombre y se elimina del ArrayList.
c) Modificar producto
Se busca el producto a través de su nombre y se podrán modificar algunos de sus
atributos.
Proyecto en Java: Tienda de Productos Electrónicos 8
Autor: Miguel Ángel López Moyano
d) Buscar por id
Se busca el producto en el ArrayList a través de la id y se muestra por pantalla.
e) Buscar por nombre
Se busca el producto en el ArrayList a través del nombre y se muestra por pantalla.
Proyecto en Java: Tienda de Productos Electrónicos 9
Autor: Miguel Ángel López Moyano
4. Menú ventas
Aquí solo contaremos con la opción realizar venta.
a) Realizar venta
Aquí podremos realizar la venta de un producto, pudiendo vender varias unidades del
producto siempre que haya existencias en nuestro ArrayList. A la hora del calcular el
precio se realizará un descuento en función del producto que se vende. Por ejemplo en
el caso de un móvil mayor será el descuento cuanto menor sea la calidad de su cámara,
o si fuese una tablet mayor será el descuento cuanto menor tamaño tenga su pantalla. En
el caso de los componentes existe un porcentaje de descuento que se aplica en función
del tipo de componente (3% en cajas, 4% en procesadores, etc…).
Proyecto en Java: Tienda de Productos Electrónicos 10
Autor: Miguel Ángel López Moyano
5. Menú mostrar
Podremos realizar las siguientes acciones: mostrar componentes, mostrar móviles,
mostrar tablets y mostrar todos los productos.
a) Mostrar componentes
Se muestran los elementos del ArrayList que pertenezcan a la clase Componente.
Proyecto en Java: Tienda de Productos Electrónicos 11
Autor: Miguel Ángel López Moyano
b) Mostrar móviles
Se muestran los elementos del ArrayList que pertenezcan a la clase Móvil.
Proyecto en Java: Tienda de Productos Electrónicos 12
Autor: Miguel Ángel López Moyano
c) Mostrar tablets
Se muestran los elementos del ArrayList que pertenezcan a la clase Tablet.
d) Mostrar productos
Se muestran todos los productos del ArrayList.
Proyecto en Java: Tienda de Productos Electrónicos 13
Autor: Miguel Ángel López Moyano
6. Menú ayuda
Podremos realizar las acciones ver ayuda y acerca de…
Proyecto en Java: Tienda de Productos Electrónicos 14
Autor: Miguel Ángel López Moyano
a) Ver ayuda
Nos abrirá una ventana que nos permitirá aprender el funcionamiento del programa:
b) Acerca de…
Nos abre una ventana con información acerca del programa.
Proyecto en Java: Tienda de Productos Electrónicos 15
Autor: Miguel Ángel López Moyano

Más contenido relacionado

La actualidad más candente

Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaIsrael Rey
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del softwareTensor
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Ejemplo manual de usuario
Ejemplo manual de usuarioEjemplo manual de usuario
Ejemplo manual de usuariosullinsan
 
Metodologias de diseño de bd
Metodologias de diseño de bdMetodologias de diseño de bd
Metodologias de diseño de bdArnold Ortiz
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacionalAlvaro Loustau
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaJulio Pari
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Polimorfismo y sobrecarga
Polimorfismo y sobrecargaPolimorfismo y sobrecarga
Polimorfismo y sobrecargaMagda Fernandez
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 

La actualidad más candente (20)

Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistema
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Paradigmas de ingenieria del software
Paradigmas de ingenieria del softwareParadigmas de ingenieria del software
Paradigmas de ingenieria del software
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Ejercicio 1,2,3
Ejercicio 1,2,3Ejercicio 1,2,3
Ejercicio 1,2,3
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Ejemplo manual de usuario
Ejemplo manual de usuarioEjemplo manual de usuario
Ejemplo manual de usuario
 
Metodologias de diseño de bd
Metodologias de diseño de bdMetodologias de diseño de bd
Metodologias de diseño de bd
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 
Tema4 algebra relacional
Tema4   algebra relacionalTema4   algebra relacional
Tema4 algebra relacional
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Polimorfismo y sobrecarga
Polimorfismo y sobrecargaPolimorfismo y sobrecarga
Polimorfismo y sobrecarga
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 

Destacado (14)

Material design
Material designMaterial design
Material design
 
PHP: Instalación de Apache2, PHP5 y MySQL
PHP: Instalación de Apache2, PHP5 y MySQLPHP: Instalación de Apache2, PHP5 y MySQL
PHP: Instalación de Apache2, PHP5 y MySQL
 
Principios heurísticos de Nielsen (Trabajo)
Principios heurísticos de Nielsen (Trabajo)Principios heurísticos de Nielsen (Trabajo)
Principios heurísticos de Nielsen (Trabajo)
 
Material design (Trabajo)
Material design (Trabajo)Material design (Trabajo)
Material design (Trabajo)
 
Java básico: Expresiones
Java básico: ExpresionesJava básico: Expresiones
Java básico: Expresiones
 
Listado Ejercicios Básicos Java 5
Listado Ejercicios Básicos Java 5Listado Ejercicios Básicos Java 5
Listado Ejercicios Básicos Java 5
 
Algunos de los navegadores para smartphones
Algunos de los navegadores para smartphonesAlgunos de los navegadores para smartphones
Algunos de los navegadores para smartphones
 
SharePoint 2010 intranet
SharePoint 2010 intranet SharePoint 2010 intranet
SharePoint 2010 intranet
 
Listado Ejercicios Básicos Java 4
Listado Ejercicios Básicos Java 4Listado Ejercicios Básicos Java 4
Listado Ejercicios Básicos Java 4
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto biblioteca
 
Java – ejercicio 3
Java – ejercicio 3Java – ejercicio 3
Java – ejercicio 3
 
JavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma JavaJavaFX: A nova biblioteca gráfica da plataforma Java
JavaFX: A nova biblioteca gráfica da plataforma Java
 
Proyecto Biblioteca
Proyecto BibliotecaProyecto Biblioteca
Proyecto Biblioteca
 
Primer Programa Java en Bluej
Primer Programa Java en BluejPrimer Programa Java en Bluej
Primer Programa Java en Bluej
 

Similar a Proyecto en Java: Tienda de productos electrónicos

Asignación 09 gui - cuadros de diálogo
Asignación 09   gui - cuadros de diálogoAsignación 09   gui - cuadros de diálogo
Asignación 09 gui - cuadros de diálogoAnyta Potrero
 
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseñotovar1982
 
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloLaboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloGeneXus
 
ALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's ManualALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's ManualJuan Cols
 
Hands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosersHands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosersSorey García
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en accessssuser3a82fb
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SDGeneXus
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SDGeneXus
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SDGeneXus
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SDGeneXus
 
Java class library
Java class libraryJava class library
Java class libraryLCA
 
Manual de bouml
Manual de boumlManual de bouml
Manual de boumlULEAM
 
Magento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseñoMagento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseñoIgnacio Pascual
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptxATM_SSI
 

Similar a Proyecto en Java: Tienda de productos electrónicos (20)

Asignación 09 gui - cuadros de diálogo
Asignación 09   gui - cuadros de diálogoAsignación 09   gui - cuadros de diálogo
Asignación 09 gui - cuadros de diálogo
 
S6-PD1-3.2 LINQ
S6-PD1-3.2 LINQS6-PD1-3.2 LINQ
S6-PD1-3.2 LINQ
 
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseño
 
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus TiloLaboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
Laboratorio desarrollo de aplicaciones WEB con GeneXus Tilo
 
ALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's ManualALEX Inventory Manager - User's Manual
ALEX Inventory Manager - User's Manual
 
S6-PD1.pptx
S6-PD1.pptxS6-PD1.pptx
S6-PD1.pptx
 
Practico n°1
Practico n°1Practico n°1
Practico n°1
 
Hands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosersHands on Lab: Almacenamiento local con base de datos, launchers y choosers
Hands on Lab: Almacenamiento local con base de datos, launchers y choosers
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
 
S6 - LINQ
S6 - LINQS6 - LINQ
S6 - LINQ
 
Inventor mueble es
Inventor mueble esInventor mueble es
Inventor mueble es
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
 
Java class library
Java class libraryJava class library
Java class library
 
Aplicacion movil
Aplicacion movilAplicacion movil
Aplicacion movil
 
Manual de bouml
Manual de boumlManual de bouml
Manual de bouml
 
Magento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseñoMagento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseño
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx
 

Más de Miguel Angel López Moyano

Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)Miguel Angel López Moyano
 

Más de Miguel Angel López Moyano (20)

Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)Principios heurísticos de Nielsen (Presentación)
Principios heurísticos de Nielsen (Presentación)
 
Listado Ejercicios Básicos Java 3
Listado Ejercicios Básicos Java 3Listado Ejercicios Básicos Java 3
Listado Ejercicios Básicos Java 3
 
Autenticación de usuarios usando Kerberos
Autenticación de usuarios usando KerberosAutenticación de usuarios usando Kerberos
Autenticación de usuarios usando Kerberos
 
¿Qué es Kerberos?
¿Qué es Kerberos?¿Qué es Kerberos?
¿Qué es Kerberos?
 
Listado Ejercicios Básicos Java 2
Listado Ejercicios Básicos Java 2Listado Ejercicios Básicos Java 2
Listado Ejercicios Básicos Java 2
 
Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1
 
Bloqueos isp
Bloqueos ispBloqueos isp
Bloqueos isp
 
Presentación Web application firewall
Presentación Web application firewallPresentación Web application firewall
Presentación Web application firewall
 
Documentación Web application firewall
Documentación Web application firewallDocumentación Web application firewall
Documentación Web application firewall
 
Anexo Web application firewall
Anexo Web application firewallAnexo Web application firewall
Anexo Web application firewall
 
Arranque dual en Mac
Arranque dual en MacArranque dual en Mac
Arranque dual en Mac
 
Web kiosk con ubuntu
Web kiosk con ubuntuWeb kiosk con ubuntu
Web kiosk con ubuntu
 
Web application firewall
Web application firewallWeb application firewall
Web application firewall
 
Google Cloud Print
Google Cloud PrintGoogle Cloud Print
Google Cloud Print
 
Planificacion de tareas en windows
Planificacion de tareas en windowsPlanificacion de tareas en windows
Planificacion de tareas en windows
 
Monitorizacion de Sistemas
Monitorizacion de SistemasMonitorizacion de Sistemas
Monitorizacion de Sistemas
 
Uso de Telnet en Windows y Linux
Uso de Telnet en Windows y LinuxUso de Telnet en Windows y Linux
Uso de Telnet en Windows y Linux
 
Administracion remota windows
Administracion remota windowsAdministracion remota windows
Administracion remota windows
 
Administracion remota linux
Administracion remota linuxAdministracion remota linux
Administracion remota linux
 
Planificacion de tareas en Linux
Planificacion de tareas en LinuxPlanificacion de tareas en Linux
Planificacion de tareas en Linux
 

Último

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 

Último (20)

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 

Proyecto en Java: Tienda de productos electrónicos

  • 1. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org IES Gran Capitán Módulo: Programación Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web” Proyecto en Java: Tienda de Productos Electrónicos
  • 2. Proyecto en Java: Tienda de Productos Electrónicos 2 Autor: Miguel Ángel López Moyano 1. Introducción Vamos a desarrollar un programa para gestionar una tienda de productos electrónicos. Nos limitaremos a las opciones:  Añadir producto  Eliminar producto  Modificar producto  Mostrar componentes  Mostrar móviles  Mostrar tablets  Mostrar todos los productos  Buscar por id  Buscar por nombre  Guardar y leer en/desde fichero  Realizar venta  Menú ayuda (ayuda y acerca de…) Se seguirá la siguiente estructura de clases y herencia:
  • 3. Proyecto en Java: Tienda de Productos Electrónicos 3 Autor: Miguel Ángel López Moyano El código fuente de este proyecto puede consultarse y descargarse desde la siguiente dirección: https://github.com/i02lomom/ProyectoProgramacion 2. Menú Archivo En el menú Archivo tendremos las opciones típicas para trabajar con ficheros (nuevo, abrir, guardar y guardar como) además de la opción Salir.
  • 4. Proyecto en Java: Tienda de Productos Electrónicos 4 Autor: Miguel Ángel López Moyano a) Nuevo Se creará un nuevo ArrayList de productos comprobando si el actual está modificado, en ese caso se le preguntará al usuario si desea guardar los cambios. b) Abrir Abre un fichero que cargará el ArrayList de productos que tiene guardado. Si el actual ArrayList está modificado se preguntará al usuario si desea guardar los cambios.
  • 5. Proyecto en Java: Tienda de Productos Electrónicos 5 Autor: Miguel Ángel López Moyano c) Guardar Guarda el actual ArrayList en el fichero que esté asignado. Si el fichero no se ha guardado anteriormente (sin título) se llamará a Guardar como y se le pedirá al usuario que le dé un nombre al fichero donde desea guardar los datos. d) Guardar como Guarda el actual ArrayList en el fichero que le indique el usuario. En este caso siempre se pide el nombre del fichero. e) Salir Sale del programa comprobando si el actual ArrayList está modificado, en ese caso pregunta al usuario si desea guardar los cambios. 3. Menú Productos. En este menú tendremos las opciones Añadir producto, Eliminar producto, Modificar producto, Añadir unidades y Buscar (por id y por nombre).
  • 6. Proyecto en Java: Tienda de Productos Electrónicos 6 Autor: Miguel Ángel López Moyano a) Añadir producto Añade un producto al actual ArrayList. El producto debe de ser de tipo componente, móvil o tablet (no se pueden crear instancias de producto ya que es una clase abstracta). Se pedirá primero el id (que se controlará mediante expresiones regulares). Si no cumple con los requisitos saltará una excepción.
  • 7. Proyecto en Java: Tienda de Productos Electrónicos 7 Autor: Miguel Ángel López Moyano A continuación se piden el nombre, la descripción, etc. El atributo fechaRecepcion será de tipo fecha y se asignará automáticamente, ya que la fecha de entrada del producto será la fecha actual. Cada una de las tres clases posee al menos una enumeración como atributo, cumpliendo así con los requisitos del proyecto. b) Eliminar producto Se busca el producto a través de su nombre y se elimina del ArrayList. c) Modificar producto Se busca el producto a través de su nombre y se podrán modificar algunos de sus atributos.
  • 8. Proyecto en Java: Tienda de Productos Electrónicos 8 Autor: Miguel Ángel López Moyano d) Buscar por id Se busca el producto en el ArrayList a través de la id y se muestra por pantalla. e) Buscar por nombre Se busca el producto en el ArrayList a través del nombre y se muestra por pantalla.
  • 9. Proyecto en Java: Tienda de Productos Electrónicos 9 Autor: Miguel Ángel López Moyano 4. Menú ventas Aquí solo contaremos con la opción realizar venta. a) Realizar venta Aquí podremos realizar la venta de un producto, pudiendo vender varias unidades del producto siempre que haya existencias en nuestro ArrayList. A la hora del calcular el precio se realizará un descuento en función del producto que se vende. Por ejemplo en el caso de un móvil mayor será el descuento cuanto menor sea la calidad de su cámara, o si fuese una tablet mayor será el descuento cuanto menor tamaño tenga su pantalla. En el caso de los componentes existe un porcentaje de descuento que se aplica en función del tipo de componente (3% en cajas, 4% en procesadores, etc…).
  • 10. Proyecto en Java: Tienda de Productos Electrónicos 10 Autor: Miguel Ángel López Moyano 5. Menú mostrar Podremos realizar las siguientes acciones: mostrar componentes, mostrar móviles, mostrar tablets y mostrar todos los productos. a) Mostrar componentes Se muestran los elementos del ArrayList que pertenezcan a la clase Componente.
  • 11. Proyecto en Java: Tienda de Productos Electrónicos 11 Autor: Miguel Ángel López Moyano b) Mostrar móviles Se muestran los elementos del ArrayList que pertenezcan a la clase Móvil.
  • 12. Proyecto en Java: Tienda de Productos Electrónicos 12 Autor: Miguel Ángel López Moyano c) Mostrar tablets Se muestran los elementos del ArrayList que pertenezcan a la clase Tablet. d) Mostrar productos Se muestran todos los productos del ArrayList.
  • 13. Proyecto en Java: Tienda de Productos Electrónicos 13 Autor: Miguel Ángel López Moyano 6. Menú ayuda Podremos realizar las acciones ver ayuda y acerca de…
  • 14. Proyecto en Java: Tienda de Productos Electrónicos 14 Autor: Miguel Ángel López Moyano a) Ver ayuda Nos abrirá una ventana que nos permitirá aprender el funcionamiento del programa: b) Acerca de… Nos abre una ventana con información acerca del programa.
  • 15. Proyecto en Java: Tienda de Productos Electrónicos 15 Autor: Miguel Ángel López Moyano