SlideShare una empresa de Scribd logo
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

Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con NetbeansRandy
 
Manual tecnico y manual de usuario
Manual tecnico y manual de usuarioManual tecnico y manual de usuario
Manual tecnico y manual de usuarioD MT
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
Josue Lara Reyes
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
Rafael Miranda
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
Ares Atzarel Hernández Rodríguez
 
PSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
Franklin Parrales Bravo
 
Rational rose
Rational roseRational rose
Rational rose
Israel Chava Gonzales
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
guest0a6e49
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso RealesSergio Sanchez
 
S1-Fundamentos POO
S1-Fundamentos POOS1-Fundamentos POO
S1-Fundamentos POO
Luis Fernando Aguas Bucheli
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
jlmanmons
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
zeta2015
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
Alvaro Enrique Ruano
 
Ejercicios uml
Ejercicios umlEjercicios uml
Cuestionario
CuestionarioCuestionario
Cuestionario
Jose Nava
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
Keiner Valerio
 

La actualidad más candente (20)

Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
 
Manual tecnico y manual de usuario
Manual tecnico y manual de usuarioManual tecnico y manual de usuario
Manual tecnico y manual de usuario
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Modelado Orientado a Objetos
Modelado Orientado a ObjetosModelado Orientado a Objetos
Modelado Orientado a Objetos
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
PSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWAREPSW Unidad 1 PROCESO DE SOFTWARE
PSW Unidad 1 PROCESO DE SOFTWARE
 
Rational rose
Rational roseRational rose
Rational rose
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso RealesUnidad 7 Mad Modelado DiseñO    Contratos Y Casos De Uso Reales
Unidad 7 Mad Modelado DiseñO Contratos Y Casos De Uso Reales
 
S1-Fundamentos POO
S1-Fundamentos POOS1-Fundamentos POO
S1-Fundamentos POO
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
Java Threads (Hilos en Java)
Java Threads (Hilos en Java)Java Threads (Hilos en Java)
Java Threads (Hilos en Java)
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
metodologia de prototipos
metodologia de prototiposmetodologia de prototipos
metodologia de prototipos
 

Destacado

Material design
Material designMaterial 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
Miguel Angel López Moyano
 
Principios heurísticos de Nielsen (Trabajo)
Principios heurísticos de Nielsen (Trabajo)Principios heurísticos de Nielsen (Trabajo)
Principios heurísticos de Nielsen (Trabajo)
Miguel Angel López Moyano
 
Material design (Trabajo)
Material design (Trabajo)Material design (Trabajo)
Material design (Trabajo)
Miguel Angel López Moyano
 
Java básico: Expresiones
Java básico: ExpresionesJava básico: Expresiones
Java básico: Expresiones
Miguel Angel López Moyano
 
Listado Ejercicios Básicos Java 5
Listado Ejercicios Básicos Java 5Listado Ejercicios Básicos Java 5
Listado Ejercicios Básicos Java 5
Miguel Angel López Moyano
 
Algunos de los navegadores para smartphones
Algunos de los navegadores para smartphonesAlgunos de los navegadores para smartphones
Algunos de los navegadores para smartphones
Cursando Desarrollo Web
 
SharePoint 2010 intranet
SharePoint 2010 intranet SharePoint 2010 intranet
SharePoint 2010 intranet
Dorje McKinnon
 
Listado Ejercicios Básicos Java 4
Listado Ejercicios Básicos Java 4Listado Ejercicios Básicos Java 4
Listado Ejercicios Básicos Java 4
Miguel Angel López Moyano
 
Proyecto biblioteca
Proyecto bibliotecaProyecto biblioteca
Proyecto bibliotecaTerryJoss
 
Java – ejercicio 3
Java – ejercicio 3Java – ejercicio 3
Java – ejercicio 3ayreonmx
 
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
jesuinoPower
 
Proyecto Biblioteca
Proyecto BibliotecaProyecto Biblioteca
Proyecto Biblioteca
guest074e20
 
Primer Programa Java en Bluej
Primer Programa Java en BluejPrimer Programa Java en Bluej
Primer Programa Java en Bluej
Martín Luis Ledezma Hernández
 

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
 
S6-PD1-3.2 LINQ
S6-PD1-3.2 LINQS6-PD1-3.2 LINQ
Taller patrones de diseño
Taller patrones de  diseñoTaller patrones de  diseño
Taller patrones de diseño
tovar1982
 
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
GeneXus
 
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 choosers
Sorey García
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
ssuser3a82fb
 
Inventor mueble es
Inventor mueble esInventor mueble es
Inventor mueble es
Maickol Rodriguez
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
GeneXus
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
GeneXus
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
GeneXus
 
Laboratorio SD
Laboratorio SDLaboratorio SD
Laboratorio SD
GeneXus
 
Java class library
Java class libraryJava class library
Java class library
LCA
 
Manual de bouml
Manual de boumlManual de bouml
Manual de bouml
ULEAM
 
Magento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseñoMagento, uso, desarrollo y diseño
Magento, uso, desarrollo y diseño
Ignacio Pascual
 
1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx1TAP Tema 1-GUI.pptx
1TAP Tema 1-GUI.pptx
ATM_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
 
Listado Ejercicios Básicos Java 3
Listado Ejercicios Básicos Java 3Listado Ejercicios Básicos Java 3
Listado Ejercicios Básicos Java 3
Miguel Angel López Moyano
 
Autenticación de usuarios usando Kerberos
Autenticación de usuarios usando KerberosAutenticación de usuarios usando Kerberos
Autenticación de usuarios usando Kerberos
Miguel Angel López Moyano
 
¿Qué es Kerberos?
¿Qué es Kerberos?¿Qué es Kerberos?
¿Qué es Kerberos?
Miguel Angel López Moyano
 
Listado Ejercicios Básicos Java 2
Listado Ejercicios Básicos Java 2Listado Ejercicios Básicos Java 2
Listado Ejercicios Básicos Java 2
Miguel Angel López Moyano
 
Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1Listado Ejercicios Básicos Java1
Listado Ejercicios Básicos Java1
Miguel Angel López Moyano
 
Bloqueos isp
Bloqueos ispBloqueos isp
Presentación Web application firewall
Presentación Web application firewallPresentación Web application firewall
Presentación Web application firewall
Miguel Angel López Moyano
 
Documentación Web application firewall
Documentación Web application firewallDocumentación Web application firewall
Documentación Web application firewall
Miguel Angel López Moyano
 
Anexo Web application firewall
Anexo Web application firewallAnexo Web application firewall
Anexo Web application firewall
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

CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
Edurne Navarro Bueno
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 

Último (20)

CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 

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