Proyecto RestSoft Sistemas

42

description

Proyecto RestSoft Sistemas. Presentación del Proyecto. Proyecto Final: RestSoft Sistemas. Sistema para la gestión de restaurantes, bares y patios de comida. Carrera: Ingeniería en Sistemas de Información Docentes: Ing. Zohil Julio Cesar Ing. Villafañe Christian Integrantes: - PowerPoint PPT Presentation

Transcript of Proyecto RestSoft Sistemas

Page 1: Proyecto RestSoft Sistemas
Page 2: Proyecto RestSoft Sistemas

PROYECTO RESTSOFTSISTEMAS

Page 3: Proyecto RestSoft Sistemas

Proyecto Final:RestSoft Sistemas.Sistema para la gestión de restaurantes, bares y patios de comida.

Carrera:Ingeniería en Sistemas de Información

Docentes:Ing. Zohil Julio CesarIng. Villafañe Christian

Integrantes:Caballero MartinEscudero EzequielTerzoni Marcos

PRESENTACIÓN DEL PROYECTO

Page 4: Proyecto RestSoft Sistemas

PRESENTACION DE LA EMPRESA La organización en la que se

desarrolla el proyecto es una empresa villamariense, se trata de “Meroi Bar & Restaurant”.

Degustación de platos de la más variada y exquisita gastronomía internacional.

Tiene una ambientación que mantiene un estilo retro, de prolijo cuidado y delicada selección de fino amoblamiento.

Page 5: Proyecto RestSoft Sistemas

FORMA ACTUAL DE TRABAJO

Page 6: Proyecto RestSoft Sistemas

FORMA ACTUAL DE TRABAJO

Page 7: Proyecto RestSoft Sistemas

FORMA ACTUAL DE TRABAJO

Page 8: Proyecto RestSoft Sistemas

FORMA ACTUAL DE TRABAJO

Page 9: Proyecto RestSoft Sistemas

PROBLEMAS OBSERVADOS Pérdida de tiempos y organización en la toma

de pedido. Necesidad de duplicación de comanda para

informar a los distintos sectores (cocina, barra, caja).

Alto desplazamiento de los mozos alterando el ambiente de tranquilidad y respeto.

Problemas de pedidos intercambiados. Desconocimiento de la disponibilidad de platos. Los mozos no recuerdan los precios.

SOLUCION: Disponibilidad de un PDA con RestSoft Mobile por mozo.

Page 10: Proyecto RestSoft Sistemas

PROBLEMAS OBSERVADOS (CONT. 2) Falta de información de los clientes. Desconocimiento del perfil de consumo. Falta de seguimiento de las reservas.

SOLUCION: Registrar información de clientes. Registrar información de reservas y realizar un

monitoreo de las mismas.

Page 11: Proyecto RestSoft Sistemas

PROBLEMAS OBSERVADOS (CONT. 3) Falta de control de stock.

SOLUCION: Automatizar el control de stock registrando las altas y las bajas. Generando reporte de faltantes de artículos.

No existe un mecanismo de compra estructurado.

SOLUCION: Se abarcaría el proceso completo desde las solicitudes de cotización hasta la recepción de los pedidos.

Page 12: Proyecto RestSoft Sistemas

PROBLEMAS OBSERVADOS (CONT. 4) Falta de un medio vía web para los clientes que

deseen realizar un pedido o una reserva.

SOLUCION: Implementación de un sistema web para consulta, toma de pedidos y de reservas.

Falta de información destinadas a los diferentes niveles de la organización, especialmente para la alta gerencia.

SOLUCION: Emitir reportes, generar informes, contrastar la información a través del tiempo haciendo uso de herramientas de consultas dinámicas como cubos OLAP.

Page 13: Proyecto RestSoft Sistemas

NUEVA FORMA DE TRABAJO

Page 14: Proyecto RestSoft Sistemas

NUEVA FORMA DE TRABAJO

Page 15: Proyecto RestSoft Sistemas

NUEVA FORMA DE TRABAJO

Page 16: Proyecto RestSoft Sistemas

NUEVA FORMA DE TRABAJO

Page 17: Proyecto RestSoft Sistemas

NUEVA FORMA DE TRABAJO

Page 18: Proyecto RestSoft Sistemas

NUEVA FORMA DE TRABAJO

Page 19: Proyecto RestSoft Sistemas

REQUERIMIENTOS DEL SISTEMA Gestión de Stock y Compras Gestión de Pedido

Para consumo en salón Con entrega a domicilio Pedidos telefónicos Pedidos vía Web

Gestión de Reservas Gestión de Clientes Gestión de Proveedores Gestión de Empleados Gestión de Usuarios Gestión de Artículos Gestión de Calidad Gestión de Carta y Menú Gestión de Caja Gestión de turnos de Personal Auditoría

Page 20: Proyecto RestSoft Sistemas

PLATAFORMAS DE DESARROLLO

Page 21: Proyecto RestSoft Sistemas

OBJETIVO DEL PROYECTO DEL SI SOPORTE ALTAMENTE AUTOMATIZADO E INTEGRADO A LOS

DISTINTOS REQUERIMIENTOS DE NEGOCIO.

SOFTWARE ÁGIL Y FÁCIL DE USAR EQUILIBRADO A UNA COMPLETA FUNCIONALIDAD.

BRINDAR INFORMACIÓN PARA LA TOMA DE DECISIONES A NIVELES DE DIRECCIÓN.

INTEGRACIÓN DE TECNOLOGÍAS DE VANGUARDIA LIBRES DE LICENCIAMIENTO.

Page 22: Proyecto RestSoft Sistemas

ESTUDIO DE FACTIBILIDAD LA EMPRESA SOLO CUENTA CON EL EQUIPAMIENTO

INFORMÁTICO BÁSICO. EXISTE INTERÉS EN INVERTIR EN TECNOLOGÍA NECESARIA PARA SU IMPLEMENTACIÓN.

NO EXISTE, EN CUANTO A LA TECNOLOGÍA QUE SE HALLA A LA VENTA EN EL MERCADO, IMPEDIMENTO ALGUNO QUE PONGA EN PELIGRO LA VIABILIDAD DEL PROYECTO.

EVALUACIÓN DE HARDWARE.

SERVIDOR.

ROUTER INALÁMBRICO.

UPS (PRECIO APROXIMADO DESDE $ 300).

SERVICIO DE CONEXIÓN A INTERNET.

Page 23: Proyecto RestSoft Sistemas

ESTUDIO DE FACTIBILIDAD TERMINALES MÓVILES CON CONEXIÓN WI-FI. PANTALLA SUPERIOR A 3".

TABLET PC, PAD, SIMILARES. (DESDE $ 1000 C/U).

EVALUACIÓN DE SOFTWARE.

SISTEMA OPERATIVO. MICROSOFT WINDOWS XP O SUPERIOR, DISTRIBUCIÓN LINUX.

ANTIVIRUS.

BROWSER O NAVEGADOR DE INTERNET.

HERRAMIENTAS DE ESCRITORIO OFFICE .

Page 24: Proyecto RestSoft Sistemas

ESTUDIO DE FACTIBILIDAD FACTIBILIDAD OPERATIVA.

PERSONAL INVOLUCRADO ENTUSIASMADO Y PREDISPUESTO.

CAPACITACIÓN. PERSONAL JOVEN CON DOMINIO DE LAS NUEVAS TECNOLOGÍAS.

FACTIBILIDAD ECONÓMICA.

ESTUDIO EXHAUSTIVO DE FACTIBILIDAD ECONÓMICA NO NECESARIO YA QUE EL DESARROLLO ES LLEVADO A CABO EN FORMA ACADÉMICA, PARA LA EMPRESA NO SUPONE SINO HASTA LA ETAPA DE IMPLEMENTACIÓN COSTO ALGUNO.

HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO SON APORTADAS POR EL GRUPO DE TRABAJO Y DISPONIBLES EN LA UNIVERSIDAD Y PUESTAS A DISPOSICIÓN DE LOS ALUMNO.

INVERSIONES MAYORMENTE SOLO DESCRIPTAS EN LA FASE TÉCNICA DE LOS RECURSOS QUE NO DISPONE.

Page 25: Proyecto RestSoft Sistemas

METODOLOGÍA

ORIENTACIÓN A OBJETOS DEL PROCESO UNIFICADO DE DESARROLLO (PUD).

MARCO DE DESARROLLO DE SOFTWARE Y UN MARCO DE TRABAJO EXTENSIBLE QUE PUEDE SER ADAPTADO A ORGANIZACIONES O PROYECTOS ESPECÍFICOS.

UML COMO LENGUAJE DE ESPECIFICACIÓN Y DESCRIPCIÓN DE SW

CARACTERÍSTICAS PRINCIPALES

DIRIGIDO POR CASOS DE USO.

CENTRADO EN LA ARQUITECTURA.

ITERATIVO E INCREMENTAL.

ENFOCADO EN LOS RIESGOS.

METODOLOGÍA DE DESARROLLO

Page 26: Proyecto RestSoft Sistemas

METODOLOGÍA DE DESARROLLO CICLO DE VIDA DEL PROYECTO DIVIDIDO EN FASES:

INICIO ELABORACIÓN CONSTRUCCIÓN TRANSICIÓN

Page 27: Proyecto RestSoft Sistemas

METODOLOGIA DE DESARROLLO FASES COMPUESTAS POR “N” ITERACIONES DE FLUJOS DE

TRABAJO:

REQUERIMIENTOS ANÁLISIS DISEÑO IMPLEMENTACIÓN PRUEBAS

Page 28: Proyecto RestSoft Sistemas

HERRAMIENTAS

Page 29: Proyecto RestSoft Sistemas

MODELO DE NEGOCIO

Page 30: Proyecto RestSoft Sistemas

WORKFLOW DE REQUERIMIENTOS uc Use Case Mo...

cobros

pedidos

Encargado de pedidos

003 - Consultar reserv as

001 - Registrar pedido para consumo en salón

021 - Consultar pedidos

022 - Modificar pedido

023 - Eliminar pedido

042 - Consultar clientes

041 - Solicitar autorización tarjeta de crédito

ATC

Chef

Encargado de reparto

025 - Consultar pedidos para env ío a domicilio

002 - Registrar pedido para consumo fuera de salón

038 - Registrar cobro

039 - Modificar cobro

040 - Eliminar cobro

037 - Consultar cobros

024 - Modificar pedido para env ío a domicilio

123 - Actualizar el estado del pedido para consumo fuera del

salón como ENTREGADO

124 - Actualizar el estado del pedido a DESPACHADO

145 - Consultar Artículos

146 - Consultar Cuenta corriente de

Cliente

147 - Cerrar Pedido

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»«extend»

«include»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

Page 31: Proyecto RestSoft Sistemas

WORKFLOW DE ANÁLISIS class Pedido

Pedido

- cliente: Cliente- detalles: Set<DetalleDePedido>- empleado: Empleado- fecha: Date- id: int- observaciones: String- tipoDeDescuento: TipoDeDescuento- total: Double

DetalleDePedido

- articulo: Articulo- cantidad: int- estado: EstadoDetalleDePedido- historial: Set<DetalleHistorialEstado>- id: int- observaciones: String- precio: Double- subtotal: Double

+ anular() : void+ cancelar() : void+ entregar() : void+ preparar() : void+ terminar() : void

Articulo::Articulo

- descripcion: String- id: Integer- lugarDePreparacion: LugarDePreparacion- nombre: String- presentacion: Presentacion

Mesa

- denominacion: String- estado: EstadoMesa- id: int

+ cancelarReserva() : void+ deshabil itar() : void+ habil itar() : void+ liberar() : void+ ocupar() : void+ reservar() : void

PersonaCliente::Cliente

- condicionIVA: CondicionIVA- esPersonaFisica: Boolean- fechaNacimiento: Date- numeroDeCuit: String- razonSocial: String

PedidoDeSalon

- cantidadDePersonas: int- estado: EstadoPedidoSalon- mesa: Mesa

+ anular() : void+ cancelar() : void+ cerrar() : void

PedidoParaDeliv ery

- cadete: Empleado- direccion: Direccion- estado: EstadoPedidoDelivery

+ anular() : void+ cancelar() : void+ despachar() : void+ entregar() : void+ preparar() : void+ terminar() : void+ tomar() : void

Direccion::Direccion

- calle: String- id: Integer- localidad: Localidad- numero: Integer

TipoDeDescuento

- descripcion: String- id: Short- nombre: String- porcentaje: Double

PersonaEmpleado::Empleado

- cargo: Cargo- fechaNacimiento: Date- numeroCuil: String

DetalleHistorialEstado

- estado: EstadoDetalleDePedido- fechaFin: Date- fechaInicio: Date- id: int

Page 32: Proyecto RestSoft Sistemas

WORKFLOW DE ANÁLISIS sd Alta Pedido de Salón

MozoPantallaTomaDePedido GestorTomaDePedido

:Carta cartaVigente :Carta

:Categoria

detalles :DetalleDeArticulo

articulo :Articulo

categoriaSeleccionada :Categoria

:Mesa

:PedidoDeSalon

detalle :DetalleDePedido

1: opcionRegistrarPedidoEnMesa()

1.1: inicializarVentana()

1.2: nuevoPedidoEnMesa()

1.3: inicializarVentana()

1.4: listarMesas()

1.5: getNombre()

1.6: mostrarMesas()

1.7: seleccionDeMesa() 1.8: setMesa()1.9: cantidadDePersonas()

1.10: setCantidadDePersonas()

1.11: mostrarArticulos()

1.11.1: buscarCartaVigente()

1.12: *estaVigente()

1.13: mostrarCategorias()

1.14: *getNombre()

1.15: seleccionDeCategoria()1.16: setCategoriaSeleccionada()

1.17: listarDetal lesDeArticulos()

1.18: detalles= getDetal lesDeArticulo()

1.19: *mostrarArticulo()

1.20: getNombre()

1.21: *getPrecio()

1.22: mostrarDatosDeDetallesDeArticulo()

1.23: seleccionDeDetal leDeArticulo()1.24: setDetalleDeArticulo()1.25: tomarCantidadDeArticulos()

1.26: setCantidadDeArticulos()1.27: opcionAgregarAlPedido()1.28: aceptarDetalleDeArticulo()

1.29: agregarDetal leDeArticuloAlPedido()

1.30: confirmarPedido()1.31: confirmarPedido()

1.32: new()

1.33: *new()

1.34: setArticulo(articulo)

1.35: setCantidad(cantidad)

1.36: agregarDetal le(detalle)

1.37: setMesa(mesa)

1.38: setFecha(new Date())

1.39: setCantidadDePersonas()

Page 33: Proyecto RestSoft Sistemas

class Pedido

Pedido

- cl iente: Cliente- detalles: Set<DetalleDePedido>- empleado: Empleado- fecha: Date- id: int- observaciones: String- tipoDeDescuento: TipoDeDescuento- total: Double

DetalleDePedido

- articulo: Articulo- cantidad: int- estado: EstadoDetal leDePedido- historial: Set<DetalleHistorialEstado>- id: int- observaciones: String- precio: Double- subtotal: Double

+ anular() : void+ cancelar() : void+ entregar() : void+ preparar() : void+ terminar() : void

Articulo::Articulo

- descripcion: String- id: Integer- lugarDePreparacion: LugarDePreparacion- nombre: String- presentacion: Presentacion

Mesa

- denominacion: String- estado: EstadoMesa- id: int

+ cancelarReserva() : void+ deshabil itar() : void+ habil itar() : void+ liberar() : void+ ocupar() : void+ reservar() : void

PersonaCliente::Cliente

- condicionIVA: CondicionIVA- esPersonaFisica: Boolean- fechaNacimiento: Date- numeroDeCuit: String- razonSocial: String

PedidoDeSalon

- cantidadDePersonas: int- estado: EstadoPedidoSalon- mesa: Mesa

+ anular() : void+ cancelar() : void+ cerrar() : void

PedidoParaDelivery

- cadete: Empleado- direccion: Direccion- estado: EstadoPedidoDelivery

+ anular() : void+ cancelar() : void+ despachar() : void+ entregar() : void+ preparar() : void+ terminar() : void+ tomar() : void

Direccion::Direccion

- calle: String- id: Integer- localidad: Localidad- numero: Integer

«interface»EstadoPedidoSalon

+ anular(PedidoDeSalon) : void+ cancelar(PedidoDeSalon) : void+ cerrar(PedidoDeSalon) : void

«interface»EstadoPedidoDelivery

+ anular(PedidoParaDelivery) : void+ cancelar(PedidoParaDelivery) : void+ despachar(PedidoParaDelivery) : void+ entregar(PedidoParaDelivery) : void+ preparar(PedidoParaDelivery) : void+ terminar(PedidoParaDelivery) : void+ tomar(PedidoParaDelivery) : void

«interface»EstadoMesa

+ cancelarReserva(Mesa) : void+ deshabil itar(Mesa) : void+ habil itar(Mesa) : void+ liberar(Mesa) : void+ ocupar(Mesa) : void+ reservar(Mesa) : void

«interface»EstadoDetalleDePedido

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

TipoDeDescuento

- descripcion: String- id: Short- nombre: String- porcentaje: Double

PersonaEmpleado::Empleado

- cargo: Cargo- fechaNacimiento: Date- numeroCuil: String

DetalleHistorialEstado

- estado: EstadoDetalleDePedido- fechaFin: Date- fechaInicio: Date- id: int

WORKFLOW DE DISEÑO

Page 34: Proyecto RestSoft Sistemas

stm DTEDetalle

DetallePendiente

DetalleEnPreparacion

DetalleListoParaEntregar

DetalleEntregado

DetalleCancelado DetalleAnulado

Inicio

Fin

preparar() anular()cancelar()

terminar()

cancelar() anular()

anular()

entregar()

cancelar()

new()

class estadosDetalle

«interface»Pedido::EstadoDetalleDePedido

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

DetalleAnulado

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

DetalleCancelado

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

DetalleEnPreparacion

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

DetalleEntregado

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

DetalleListoParaEntregar

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

DetallePendiente

+ anular(DetalleDePedido) : void+ cancelar(DetalleDePedido) : void+ entregar(DetalleDePedido) : void+ preparar(DetalleDePedido) : void+ terminar(DetalleDePedido) : void

WORKFLOW DE DISEÑO

Page 35: Proyecto RestSoft Sistemas

WORKFLOW DE DISEÑO

Page 36: Proyecto RestSoft Sistemas

WORKFLOW DE IMPLEMENTACIÓN

Page 37: Proyecto RestSoft Sistemas

WORKFLOW DE IMPLEMENTACIÓN

Page 38: Proyecto RestSoft Sistemas

WORKFLOW DE IMPLEMENTACIÓN

Page 39: Proyecto RestSoft Sistemas

PATRÓN CLIENTE-SERVIDOR N-CAPAS: COMPONENTES PRINCIPALES

SEPARACIÓN DE INTERESES: NIVELES DIFERENTES Y CLARAMENTE DIVIDIDOS PARA PRESENTACIÓN, NEGOCIOS Y MANEJO DE DATOS.

COMUNICACIONES SINCRÓNICAS: LA COMUNICACIÓN ENTRE NIVELES ES PEDIDO-RESPUESTA SINCRÓNICA

DISTRIBUCIÓN FLEXIBLE: NO HAY RESTRICCIONES PARA LA DISTRIBUCIÓN MULTI-NIVELES DE LA APLICACIÓN. TODOS LOS NIVELES PUEDEN CORRER EN LA MISMA MÁQUINA O EN SU PROPIA MÁQUINA.

ES ADECUADO PARA DAR SOPORTE A UN NÚMERO POTENCIALMENTE GRANDE DE CLIENTES Y PEDIDOS CONCURRENTES

FRAMEWORK DE ARQUITECTURA

Page 40: Proyecto RestSoft Sistemas

PATRÓN CLIENTE-SERVIDOR N-CAPAS: COMPONENTES PRINCIPALES

FRAMEWORK DE ARQUITECTURA

Page 41: Proyecto RestSoft Sistemas

VISTA ARQUITECTÓNICA DE DESPLIEGUE

Page 42: Proyecto RestSoft Sistemas

PREGUNTAS?