Está en la página 1de 7

PROYECTO FINAL DE ESTRUCTURA DE DATOS Y ALGORITMOS

Curso: ALGORITMOS Y ESTRUCTURAS DE DATOS


Proyecto: Aplicacin para venta y despacho (delivery) de productos electrnicos.

I. Objetivos:
El alumno debe preparar un informe que tenga los formatos y estndares requeridos en la
elaboracin de un informe profesional (formato APA).
El alumno debe aplicar las estructuras de datos aprendidos en el curso para el desarrollo de
una aplicacin empresarial.

II. Contenido del Informe:


1. Introduccin
2. Resultados esperados del estudiante logrado con el proyecto
3. Gantt del proyecto
4. Representacin grfica de los TADS y estructuras de datos usadas en el proyecto.
5. Conclusiones
6. Informe de trabajo en equipo
7. Bibliografa (las que sean necesarias)
8. Demo (aplicacin en JAVA)

III. Herramientas para la aplicacin


Netbeans
Internet
Base de datos MySQL
Material del curso
IV. Desarrollo de la aplicacin:
1. Modelo de datos.
ORDER

2. Inicio de la aplicacin:

Se debe cargar la informacin de la tabla Product al rbol binario de productos.


Se debe cargar la informacin de la tabla District al grafo de distritos
Se debe cargar la informacin de la tabla Order a la cola de despachos.

3. Interfaz de ventas:

a) Botn Buscar Producto: Este botn busca en el rbol binario de productos. Una vez que
encuentra el producto captura la informacin asociada y lo muestra en pantalla. Si el
producto no existe, indicar que se registre el producto en la opcin Registrar producto.
b) Botn Buscar Cliente: Este botn busca en la BD de clientes. Si el cliente existe, se
muestran los nombres y apellidos. En caso no exista, indicar se registre el cliente en la
opcin Registrar cliente.
c) Botn Costear Ruta: Este botn busca el grafo de distritos la ruta ms corta al destino. Se
asume que el punto de partida es el distrito de La Molina. Una vez que se obtenga la
distancia ms corta, aplicar un costo de envo de S/.0.50 por kilmetro.
d) Botn Confirmar pedido: Este botn valida que el saludo est correctamente escrito. Es
decir a travs de una pila se debe validar que los signos: ?, {}, [], () , estn
correctamente escritos en cantidad y orden. Luego de ello enva el despacho a una cola
de despachos
4. Interfaz de despachos:

a) Botn Siguiente despacho: Este botn desencola el siguiente pedido de la cola despachos

5. Interfaz de registros:

a) Registrar productos: Esta opcin agrega un registro a la base de datos de productos y un


nodo al rbol binario productos. Recordar que el rbol luego de la insercin debe estar
balanceado (AVL).
b) Registrar distrito: Esta opcin agrega un registro a la base de datos de distritos y un nodo
al grafo distritos. Se debe ingresar los siguientes datos: distrito origen, distrito destino y
la distancia que hay entre ambos.
c) Registrar cliente: Esta opcin agrega un registro a la base datos de clientes.
V. Estructuras de datos usadas en el proyecto:

a) ARBOLES AVL:
rbol binario de bsqueda balanceado para almacenar y organizar los productos.

b) PILAS:
Cada pedido aparte del nombre del cliente, debe contener un saludo que llegar al
destinatario. Cuando se d clic al botn CONFIRMAR PEDIDO, el mensaje debe pasar
por un filtro para ver si los signos de interrogacin, parntesis, llaves o corchetes en
cantidad y orden son correctos.

c) GRAFOS:
A la hora de elegir el destino del despacho, se debe consultar en el grafo la ruta ms
corta, partiendo desde el almacn ubicado en La Molina.
Los nodos son los distritos y las aristas la distancia en kilmetros. Se asume que la
distancia de ida es la misma que la de retorno. Se asume adems que la distancia al
punto de destino va a ser la misma para cualquier direccin dentro del distrito.
Ejemplo:
Almacn La Molina => Los Ficus = 5km
Almacn La Molina => Ovalo Santa Anita = 5 km
Esto no limita a que el alumno pueda mejorar la solucin hacindolo ms exacto en el
reparto.
La red debe tener como mnimo 20 nodos (en lima hay 43 distritos) y 40 aristas.
d) COLAS
Cada despacho toma un tiempo X en atenderse. Por tanto, luego de dar click en el
botn CONFIRMAR DESPACHO pasa a formar parte de la cola DESPACHOS.
En otra ventana llamada Almacn deben aparecer los despachos pendientes y cuando
el almacenero le d clic al botn SIGUIENTE DESPACHO se desencola un despacho.

VI. Evaluacin:

El proyecto representa -segn el syllabus 2016-02 del curso- el 12.5% de la nota final del curso.
Se adjunta la rbrica del informe y de la exposicin.

VII. Entregables y Fechas:


La entrega del proyecto final (entregable 1 y 2) deber presentarse mediante el Campus Virtual
en una tarea habilitada donde cada grupo subir el informe y los cdigos fuentes desarrollados
(solo en el segundo entregable), el informe deber cumplir con las siguientes caractersticas:
Fuente Arial y tamao 11
Interlineado de prrafo de 1.5
Cartula con los datos del grupo
Cualquier copia o intento de copia en el proyecto sea total o parcial ser sancionado
con la anulacin de la nota

El contenido de cada entregable es el siguiente:

1. 1er entregable del proyecto (25%) Semana 8


Contenido:
- Introduccin: Relacin de alumnos, descripcin general de las actividades y
supuestos del proyecto.
- Resultados esperados del estudiante: Objetivos del trabajo alienados a los
objetivos del curso.
- Gantt del Proyecto: Relacin de actividades a ser desarrolladas con los
responsables asignados para cada una.

2. 2do entregable del proyecto (75%) Semana 14


Contenido:
- Representacin grfica de TADs y Estructuras de Datos: Representacin general o
modular de todos los elementos utilizados, ya sea por diagrama de clases, arboles
binarios, grafos o cualquier diagrama que crean conveniente.
- Conclusiones: Especificar las conclusiones a las que el grupo hay llegado, describir
la utilidad y aplicacin en casos reales de las herramientas utilizadas.
- Informe de trabajo en equipo: Cada integrante describir en sus palabras la
interaccin con su grupo en las actividades llevadas a cabo, luego como grupo
redactaran las conclusiones a las que hay llegado y si se cre cohesin de equipo o
no.
- Bibliografa: referencias bibliogrficas, todas las que fueron utilizadas
- Demo: La aplicacin y cdigo fuente en Java

También podría gustarte