Proyecto Algoritmos
Proyecto Algoritmos
Proyecto Algoritmos
DIRECCIÓN ACADÉMICA
CARRERAS PROFESIONALES
1. FUNDAMENTACIÓN
2. OBJETIVOS
Los objetivos que se esperan alcanzar con el desarrollo del presente proyecto son los
siguientes:
a. El estudiante crea una solución algorítmica para el problema propuesto usando las
estructuras algorítmicas apropiadas.
b. El estudiante implementa la solución algorítmica usando el lenguaje Java.
En el presente proyecto se le pide diseñar un programa para una tienda dedicada a la venta
de alfajores en cajas. Por cada caja de alfajor considere los siguientes datos mínimos:
Considere la siguiente declaración mínima de variables globales que almacenarán los da-
tos de cada alfajor:
// Porcentajes de descuento
public static double porcentaje1 = 4.0;
public static double porcentaje2 = 5.5;
public static double porcentaje3 = 7.0;
public static double porcentaje4 = 8.5;
// Premio sorpresa
public static String premioSorpresa = "Un polo";
Archivo
Salir
Mantenimiento
Consultar alfajor
Modificar alfajor
Listar alfajores
Ventas
Vender
Generar reportes
Configuración
Configurar descuentos
Configurar obsequio
Configurar cantidad óptima de alfajores vendidos
Configurar premio sorpresa
Ayuda
Acerca de Tienda
Archivo: Salir
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se podrá
elegir una marca de alfajor y consultar sus datos.
Considere que:
Cuando la caja diálogo se haga visible deberán verse inmediatamente los datos del
primer alfajor.
Al seleccionar una marca de alfajor se mostrarán inmediatamente sus datos en
JTextField no editables. Esto significa que el usuario no podrá alterar los valores
mostrados.
Al pulsar el botón Cerrar, se cerrará la caja de diálogo.
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se podrá
elegir una marca de alfajor y modificar sus datos.
Considere que:
Cuando la caja diálogo se haga visible deberán verse inmediatamente los datos del
primer alfajor.
Al seleccionar una marca de alfajor se mostrarán inmediatamente sus datos en
JTextField editables en los que podrán hacerse modificaciones.
Al pulsar el botón Guardar se guardarán los cambios efectuados y se cerrará la caja
de diálogo.
Al pulsar el botón Cerrar se cerrará la caja de diálogo.
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se mostrará
un listado de todos los alfajores mostrando todos sus datos.
Considere que:
Ventas: Vender
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se podrán
efectuar ventas de alfajores. En una venta sólo se podrán vender varias cajas de alfajores
de una misma marca.
Al efectuar una venta se ingresarán la marca del alfajor y la cantidad de cajas adquiridas.
Al elegir una marca se mostrará inmediatamente su precio en una caja de texto no editable.
Como incentivo, la empresa otorga un obsequio a los clientes cuya cantidad de cajas
adquiridas sea mayor o igual que el valor de la variable global cantidadObsequiable.
Además de ello, la tienda otorga un premio sorpresa en base al valor de la variable global
numeroClienteSorpresa. Así, si el valor de numeroClienteSorpresa es 5, entonces el quinto
cliente del día recibirá el premio sorpresa dado por la variable global premioSorpresa.
Al seleccionar esta opción del menú, se mostrará una caja de diálogo en la que se podrán
obtener reportes.
Mostrará un reporte indicando por cada marca: marca, cantidad de ventas efectuadas, can-
tidad total de unidades vendidas e importe total de dinero acumulado. Además, en la parte
final del reporte mostrará el importe total general acumulado (suma de los importes totales
acumulados de cada marca) y la cantidad total general de ventas efectuadas (suma de la
cantidad de ventas efectuadas entre todas ls marcas). El reporte será similar al siguiente:
Nombre : ALCAZAR
Cantidad de ventas : 5
Cantidad total de unidades vendidas : 12
Importe total acumulado : S/. 1620.0
Nombre : ALLURE
Cantidad de ventas : 6
Cantidad total de unidades vendidas : 20
Importe total acumulado : S/. 13800.0
.
.
.
Importe total general acumulado : S/. 56700.0
Cantidad total general de ventas : 25
Mostrará un reporte indicando la marca y la cantidad total de cajas vendidas por cada
marca con venta óptima. Se considera que una marca tiene venta óptima cuando su canti-
dad total de cajas vendidas es mayor o igual que el valor de la variable global cantidadOp-
tima (cantidad óptima de cajas vendidas). El reporte será similar al siguiente:
Marca : Delicia
Cantidad total de unidades vendidas : 60 (20 más que la cantidad óptima)
Marca : Havanna
Cantidad total de unidades vendidas : 45 (5 más que la cantidad óptima)
.
.
.
Si ninguna marca alcanzó la venta óptima, mostrar el mensaje “No existen marcas con
venta óptima”.
Mostrará un listado de marcas y precios. Al costado de cada precio se mostrará uno de los
siguientes mensajes “mayor al promedio”, “menor al promedio” o “igual al promedio” según
el precio sea mayor, menor o igual que el precio promedio.
Nombre : Alfano
Precio : 18.0 (menor al promedio)
Nombre : Delicia
Precio : 30.0 (mayor al promedio)
Nombre : Vimar
Precio : 16.8 (menor al promedio)
Nombre : Turok
Precio : 32.4 (mayor al promedio)
Nombre : Havanna
Precio : 19.2 (menor al promedio)
Mostrará los valores promedio, mayor y menor de los. El reporte será similar al siguiente:
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se podrán
modificar los porcentajes de descuento.
Considere que:
Cuando la caja de diálogo se haga visible deberán verse los porcentajes de descuen-
tos actuales (los valores de las variables globales porcentaje1, porcentaje2, porcen-
taje3 y porcentaje4).
Los porcentajes de descuentos de los JTextField podrán ser modificados por el usua-
rio.
Al pulsar el botón Aceptar se reemplazarán los valores de las variables globales
porcentaje1, porcentaje2, porcentaje3 y porcentaje4 por los valores de los JTextField
y se cerrará la caja de diálogo.
Al pulsar el botón Cancelar, únicamente se cerrará la caja de diálogo
Al seleccionar esta opción del menú, se mostrará una caja de diálogo en la que se podrán
modificar los valores de las variables globales importeMinimoObsequiable y obsequio.
Considere que:
Cuando la caja de diálogo se haga visible deberán verse los valores actuales de las
variables globales cantidadObsequiable y obsequio.
Los valores mostrados podrán ser modificados en los JTextField.
Al pulsar el botón Aceptar se reemplazarán los valores de las variables globales can-
tidadObsequiable y obsequio, y se cerrará la caja de diálogo.
Al pulsar el botón Cancelar, únicamente se cerrará la caja de diálogo.
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se podrá
modificar el valor de la variable global cantidadOptima (cantidad óptima de alfajores ven-
didos).
Considere que:
Cuando la caja de diálogo se haga visible deberá verse el valor actual de la variable
global cantidadOptima.
El valor mostrado podrá ser modificado en el JTextField.
Al pulsar el botón Aceptar se reemplazará el valor de la variable global cantida-
dOptima por el valor del JTextField y se cerrará la caja de diálogo.
Al pulsar el botón Cancelar, únicamente se cerrará la caja de diálogo
Al seleccionar esta opción del menú se mostrará una caja de diálogo en la que se podrán
modificar los valores de las variables globales numeroClienteSorpresa y premioSorpresa.
Considere que:
Cuando la caja de diálogo se haga visible deberán verse los valores actuales de las
variables globales numeroClienteSorpresa y premioSorpresa.
Los valores mostrados podrán ser cambiados en los JTextField.
Al pulsar el botón Aceptar se reemplazarán los valores de las variables globales
numeroClienteSorpresa y premioSorpresa por los valores de los JTextField y se
cerrará la caja de diálogo.
Al pulsar el botón Cancelar, únicamente se cerrará la caja de diálogo
Al seleccionar esta opción se mostrará una caja de diálogo en la que se mostrará el nom-
bre del programa, la versión, los autores y cualquier otra información que sea necesaria.
Consideraciones generales
En este acápite se detalla lo que los alumnos deben presentar como sustento del desarrollo
del proyecto:
5.1. Introducción
5.2. Justificación
Los beneficiarios indirectos son, con frecuencia pero no siempre, las personas que
se encuentran en el interior de la zona de influencia del proyecto y que se ven
impactadas por el mismo.
5.3. Objetivos
Enumerar los objetivos del proyecto elaborado. Se deben plantear al menos dos
objetivos que deben cumplir con los criterios SMART (Específicos, Medibles,
5.4. Definición
5.5. Entregables
Incluir el código fuente de todo el proyecto manteniendo los colores mostrados por
Eclipse.
5.6. Conclusiones
5.7. Recomendaciones
5.8. Bibliografía
Hoja tamaño A4, con márgenes superior e inferior 3 cms, derecho e izquierdo 2.5 cms.
6.3. Carátula
7.2. Presentación
Semana Semana 9
Contenido Toda la GUI (menú y cajas de diálogo).
Todos los objetos de la GUI y las cajas de diálogo deben ser
nombrados apropiadamente.
El código debe estar completamente libre de errores y adverten-
cias.
El código será presentado en un USB.
Presentación Sustentación grupal en clase
Calificación 20 puntos
Semana Semana 15
Contenido Todas las opciones del proyecto deben ser completamente funcio-
nales incluyendo todas las validaciones.
Todos los objetos de la GUI deben ser nombrados apropiada-
mente.
El código debe estar completamente libre de errores y adverten-
cias.
El código java y el informe deben ser presentados en un CD.
Presentación Sustentación grupal en clase
Calificación 20 puntos (60% Informe + 40% Sustentación)
El Informe de Proyecto tiene un peso de 60% de la nota final del proyecto (SP1)
Bibliografía
Presenta cuatro referencias Presenta dos referencias No presenta ninguna
(1 punto)
bibliográficas bibliográficas referencia bibliográfica
La sustentación del proyecto tiene un peso de 40% de la nota final del proyecto (SP1)
ANEXO