PROYECTO DELIVERY - PLAN 111MIL
INTRODUCCIÓN
En el siguiente documento se desarrolla las características esenciales de un sistema de información correspondiente al dominio de Caso Práctico Nº2 - Pizzeria en el marco del Plan111.
Estas características comprenden la definición de los objetivos, límites, alcances del sistema, los procesos que se llevan a cabo dentro del mismo, su arquitectura de software, tecnologías aplicadas en el desarrollo, definición de la estructuras de la base de datos a través del diagrama de entidad-relación, la diagramación del modelo del sistema en lenguaje de modelado unificado (UML), diagrama de casos de uso y máquina de estado. Para la obtención de datos necesarios se utilizó el dominio de negocio aportado por el Plan111 como base añadiendo el proceso de Delivery.
Dominio
A continuación se detalla el enunciado para conocer el dominio con el cual se trabajará.
Una
pizzería
de la ciudad ofrece a sus clientes una amplia
variedad de pizzas
de fabricación propia, de
varios tamaños (8, 10 y 12 porciones)
. Los clientes tienen a disposición un menú que describe para cada
una de las
variedades
, el
nombre
, los
ingredientes
y el
precio
según el
tamaño
y el
tipo (a la piedra, a la parrilla, de molde)
de la
pizza
. Los clientes realizan sus pedidos en el mostrador o por teléfono.
El
pedido
debe contener el
nombre del cliente
, para llamarlo cuando su pedido está listo; la
cantidad de pizzas
, el
tamaño
, la
variedad
, la
fecha del pedido
y la
demora estimada
informada al cliente.
El pedido va a la cocina y cuando está preparado se informa al que lo tomó para que se genere la
factura
correspondiente y se le entregue el pedido al cliente.
Esta empresa también cuenta con el servicio de delivery, cuando se toma dicho pedido (puede ser telefónico) deberán
solicitarse datos extras como
direccion
y
número de teléfono
. Con los datos solicitados, el pedido será entregado al
personal de entrega
para poder efectuar la entrega requerida por el cliente.
El dueño de la pizzería ha manifestado la necesidad de acceder al menos a la siguiente información:
- Variedades y tipos de pizzas más pedidas por los clientes.
- Ingresos (recaudaciones) por períodos de tiempo.
- Pedidos (cantidad y monto) por períodos de tiempo.
- Barrios donde más se realizan entregas de pedidos.
- Entregar hoja de ruta al personal de entrega.
DESARROLLO
Procesos que se llevan a cabo
El sistema prestará soporte a los siguientes procesos que se llevan a cabo dentro de la organización:
-
Pedido: Cada pedido es generado por el cliente cuando éste los solicita teniendo a disposición un menú que describe para cada uno la variedad, nombre, ingredientes, precio y tipo de pizza que desee. Luego de que el cliente realiza la elección se despacha el pedido hacia la cocina, con datos del cliente y del pedido. Además se notifica al cliente la demora estimada del pedido.
-
Confección de Menú: La confección del menú para ofrecer a los clientes se establecen en base al tipo de pizza, la variedad y tamaño de la misma.
-
Envíos a domicilio (Delivery): En el supuesto que la entrega del pedido sea a domicilio, se le pedirá al cliente que informe su domicilio y número de teléfono para realizar la entrega. Se deberá tener en cuenta que el personal de entrega podrá llevar más de un pedido por viaje. El coste de este envío estará determinado por medio de un cálculo según la distancia que se encuentre el domicilio del negocio con respecto a la del cliente.
LÍMITE
El límite de este sistema es:
Desde la confección de menues, pedidos, registros de personal hasta la emisión de informes con la información requerida por el dueño.
PROPIEDADES DEL SISTEMA
Objetivos
- Brindar soporte en la gestión de los pedidos de la Pizzería.
- Proveer información de los procesos que abarca.
Requerimientos
-
Atender la consulta del cliente (telefónica o personal) por el empleado.
-
Buscar el/los menues que el cliente solicita por el empleado.
-
Si el cliente esta dentro del local, deberá entregar el/los menues al cliente por el empleado.
-
El empleado toma los datos del pedido al cliente.
-
Si el pedido fue solicitado con entrega a domicilio, estimar el costo de envio con los datos aportados por el cliente.
Alcances
-
Registrar los menues que se ofrecen a los clientes.
-
Registrar datos del Personal de Entrega junto con sus vehiculos.
-
Gestionar el pedido desde su registro hasta la entrega.
-
Asignar el pedido a un PersonaldeEntrega para que se realize la entrega.
-
Realizar informes con la información solicitada por el dueño de la organización.
-
El sistema debera ofrecer una hoja de ruta recomendada para entregarle o sugerirle al personal de entrega y asi optimizar tiempo y calidad de servicio.
ARQUITECTURA DE SOFTWARE
Se define una arquitectura
CLIENTE - SERVIDOR
desktop – arquitectura en capas.
Aplicación:
Se utiliza el patrón para organizar la implementación de este sistema complejo en capas de servicios auto contenidas, para logar un sistema mantenible, de bajo acoplamiento, adaptable y escalable. Mejorando la portabilidad, los cambios de hardware, del sistema operativo y todo lo que afecta solamente a una capa, se pueden modificar sin alterar al resto de las capas.
CAPA DE PRESENTACIÓN
Vista Desktop
CAPA LÓGICA DE NEGOCIOS
Controladores
CAPA DE PERSISTENCIA
ORM - Hibernate
TECNOLOGÍAS APLICADAS
-
Lenguaje de Desarrollo: Java con JDK versión 8.0
-
Entorno de desarrollo:
-
Sistema gestor de base de datos: MySQL versión 8.0
-
Modelado del sistema: UML versión 2.0 StarUML
-
Sistema de Control de Versiones: Git
-
Gestor de Repositorios: Github Desktop
-
Generación de reportes: Jasper Studio versión 6.5
-
Project Object Model (POM): Maven
DIAGRAMA DE CLASES (UML)
DIAGRAMA CASOS DE USOS (USE CASE)
DIAGRAMA CASOS DE USOS TRAZO FINO
Nivel del Use Case: Negocio Sistema de Información |
|||||
Nombre del Use Case: Registrar Pedido |
ID: 01 |
||||
Actor Principal: Vendedor |
Actor Secundario: No aplica |
||||
Tipo de Use Case: Concreto Abstracto |
|||||
Objetivo: Registrar un nuevo pedido |
|||||
Precondiciones: No aplica |
|||||
Post - Condiciones |
Éxito: El pedido fue registrado con éxito |
||||
Fracaso:
|
|||||
Curso Normal |
Alternativas |
||||
01. El caso de uso comienza cuando el Vendedor (V) selecciona la opción RegistrarPedido. |
|||||
02. El sistema solicita que se ingrese el nombre del cliente. |
|||||
03. El V ingresa el nombre del cliente. |
|||||
04. El sistema solicita que ingrese el teléfono del cliente. |
|||||
05. El V ingresa el teléfono del cliente. |
|||||
06. El sistema solicita que se seleccione el tipo de entrega para el pedido. |
|||||
07. El V selecciona la opción Mostrador y es así. |
|
||||
08. El sistema solicita que seleccione la variedad de la pizza. |
|||||
09. El V selecciona una variedad. |
|||||
10. El sistema solicita que selección el tipo. |
|||||
11. El V selecciona el tipo. |
|||||
12. El sistema solicita que se seleccione el tamaño. |
|||||
13. El V selecciona el tamaño. |
|||||
14. El sistema solicita que se ingrese la cantidad de pizzas con las características anteriormente seleccionadas. |
|||||
15. El sistema solicita que se seleccione la confirmación de la agregación de dicha pizza. |
|||||
16. El V selección la opción Agregar. |
|||||
17. El sistema muestra el registro con los siguientes datos: Variedad, Tipo, Tamaño, Cantidad, SubTotal. |
|||||
18. El sistema calculara el monto total del pedido. |
|||||
19. El sistema solicita la confirmación del pedido. |
|||||
20. El V selecciona la opción Aceptar. |
|
||||
21. El sistema registra el pedido con los siguientes datos: Fecha, Hora, NombreCliente, TelefonoCliente, Localidad, Barrio, Calle, Altura, Variedad, Tipo, Tamaño, Cantidad |
|||||
22. Fin Caso de Uso. |
|||||
Observaciones: No aplica |
|||||
Asociaciones de Extensión: Calcular Costo de Envio |
|||||
Asociaciones de Inclusión: No aplica |
|||||
Use Case donde se incluye: No aplica |
|||||
Use Case al que extiende: No aplica |
|||||
Use Case de Generalización: No aplica |
|||||
Autor: Plan 111mil |
Fecha Creación: 01/06/2018 |
||||
Autor Última Modificación: Plan 111mil |
Fecha última Modificación 12/06/2018 |
MÁQUINA DE ESTADO
DIAGRAMA DE ENTIDAD-RELACIÓN (DER)
HISTORIAL DE VERSIONES
Control de Versionado | Datos |
---|---|
Fecha de Creación: | 15/04/2018 |
Última Modificación: | 13/06/2018 |
Versión Actual: | 1.18 |
INTEGRANTES
Equipos | Integrantes |
---|---|
Profesores | Araceli Mendoza |
Nicolás Oliva | |
Ramiro Bertalot | |
Equipo A | Guido Cavallo |
Sebastián Cuaglia | |
Ruben Malizia | |
Pablo Cruciani | |
Equipo B | Daniel Rosso |
Pablo Mansilla | |
Federico Boccardo | |
Hernán Grosso |