2. Contenido
•Objetivos.
•Introducción.
• Descripción del producto.
• Motivación.
• Novedad.
•Estructuras de Datos.
•Estructuración del Proyecto
• Capa Lógica de Negocio.
• Capa Interfaz Gráfica.
• Capa Base de Datos.
• Capa Recursos Externos.
• Capa Visual.
3. Contenido
•Visión en el futuro.
• Conexión con otros proyectos.
• Proyectos similares.
•Datos del proyecto.
• Inconvenientes.
• Restricciones.
• Librerías incluidas.
•Prueba de la aplicación.
4. Objetivos
• Conocer el tiempo aproximado que se demora un repartidor en
llegar y volver de un lugar, guiándonos por las intersecciones del
centro histórico de la ciudad de Cuenca.
• Conocer la cantidad de kilómetros promedio que el repartidor va a
recorrer con su motocicleta.
• Poder reconocer mediante fotografías el sitio al cual el repartidor
debe llegar.
6. En la actualidad existen innumerables negocios que utilizan personal
que se debe trasladar de un lugar a otro par cumplir con una
determinada actividad. A menudo para dicha tarea, al empleado se le
asigna un vehículo de transporte que en la mayoría de los casos es
una moto. Con el uso del vehículo la empresa se ve en la necesidad
de reducir costos de operación, por lo cual necesita que siempre sus
empelados puedan ahorrar la mayor cantidad de recursos, como
gasolina, tiempo, etc. Por ello nace la necesidad de encontrar el
camino más corto entre dos lugares para así poder reducir costos.
7. Descripción del Producto.
Pizza Fast Assistant es una aplicación de escritorio que sirve de asistente para
una empresa que necesita hacer entregas de sus productos.
Trabaja encontrando la ruta mas corta de ida y de vuelta a un lugar determinado
e imprime por pantalla las rutas. También se puede visualizar mapas con los
cuales es más fácil ubicarse, así como fotografías del lugar de inicio y fin de la
ruta.
8. Motivación
• La motivación principal de crear la aplicación es la de
aprender a usar estructuras de datos dinámicas como colas,
pilas y grafos, además también se usó matrices.
• Otra motivación es la de crear una aplicación que no
necesite de internet para cumplir con la funcionalidad.
9. Novedad
En el mercado comercial relacionado con las aplicaciones y sistemas
podemos observar que existen muchas aplicaciones que pueden
cumplir con los mismos objetivos que nos habíamos planteado,
siendo Google Maps la mayor competencia que tendría nuestro
proyecto. Pero la novedad con la que este proyecto pretende hacer
competencia a estos grandes informáticos es que para la ejecución
de la aplicación no es necesario de una conexión a internet, aunque
para su completa funcionalidad sí.
Además PizzaFast Assistant cuenta con una interfaz muy sencilla e
intuitiva de usar en comparación con otras apps que cumplen con el
mismo proceso.
11. Un objetivo que no fue contemplado en la definición de los mismos al
inicio de la presentación fue el aprendizaje mas a fondo de nuevas
estructuras de datos.
PizzaFast utiliza las siguientes estructuras de datos:
•Listas Ligadas.
•Colas.
•Grafos.
•Matrices.
13. Uno de los principales problemas de la aplicación era la cantidad de
datos que se manejaba en tiempo de ejecución. Debido a esto, la
solución más óptima que se presentó fue el almacenamiento en una
Base de Datos de toda la información necesaria para que el programa
pueda ejecutarse.
Se utilizó MySQL para gestionar la base de datos con
el servidor WampServer.
14. Guardar Objetos en la Base de Datos
Para guardar un objeto en una Base de datos se debe utilizar la Serialización de objetos.
Serializar un objeto es convertir el mismo a bytes para que ese objeto se puede enviar a través
de red, guardarlo en un fichero, y después reconstruirlo al otro lado de la red, leerlo del fichero,
etc.
Para hacer un objeto Serializable basta con implementar la Interfaz Serializable en cada calse
que deseemos.
16. Para la realización de PizzaFast Assistant se realizó la programación en
Capas. El numero de Capas utilizadas es 4:
•Capa Lógica de Negocio.
•Capa Interfaz Gráfica.
•Capa Bases de Datos.
•Capa Recursos Externos.
Adicionalmente se utilizó un paquete para almacenar todas las
imágenes que utilizó la aplicación.
24. Conexión con otros Proyectos
La primera versión de PizzaFast Assistant está creada
específicamente para un negocio de Pizza, pero se
podría cambiar algunas especificaciones técnicas
para poder fusionar con otros proyectos.
Por ejemplo cualquier aplicación que necesite
agregar una funcionalidad de encontrar una ruta
minima entre dos lugares.
25. Proyectos Similares
En este caso se podría hablar del paquete Lógica de Negocios, pues es la
que tiene la lógica de la aplicación. De esta forma se podría utilizar la
misma lógica de PizzaFast Assistant para desarrollar una aplicación de
similar lógica interna.
Ejemplo:
• Una aplicación asistente para encontrar el camino mínimo
• Para ciclistas que desean contar cuantos kilómetros recorren.
• Para personas a pie que desean hallar la forma de llegar a una dirección.
• Para circuitos integrados. Para hallar la forma mas óptima de
conectarnos de un circuito a otro.
27. Inconvenientes
•Problemas al conectar a las Base de Datos.
•Problemas al usar la matriz de adyacencia y el Algoritmo de
Dijsktra.
•El uso de la Api de Java para capturar imágenes de los
mapas necesita de una buena conexión a internet para que
la aplicación no se vuelva lenta.
28. Restricciones
La principales restricciones que se presentan en el proyecto son:
•Numero limitado de intersecciones. Vale aclarar que PizzaFast Assistant funciona en un
cuadrante de calles limitadas por las siguientes:
• Presidente Córdova.
• Coronel Guillermo Talbot.
• Rafael María Arizaga.
• Mariano Cueva.
Solo las intersecciones dentro de estas calles funcionan en PizzaFast Assistant.
•El camino mínimo se encuentra siempre y cuando se tenga acceso a una intersección
por cualquiera de sus calles.
•Los lugares solo se pueden acceder mediante intersecciones.
32. • Link Video en Youtube
https://youtu.be/A6ANFyhDqiY
• Link Proyecto en Github
https://github.com/EdissonSigua/PizzaFast-Assistant
• Link Presentación Video en Slideshare
http://www.slideshare.net/EdissonLoja/pizza-fast-assistant-presentacin-video