Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Presenta:
Franco Sarmiento Núñez
Juan Carlos Ambrosio Olea
Carrera:
Ingeniera en Sistemas Computacionales
Producto:
Tesina
Asesor:
Ing. José Alfredo Román Cruz
ii
CONTENIDO
Introducción ................................................................................................................ vii
Capitulo I. Fundamentos
Bibliografía............................................................................................................... 58
iii
Anexos ..................................................................................................................... 60
iv
Índice de ilustraciones, prototipos, tablas, figuras y diagramas
Índice de ilustraciones
Ilustración 1. Escaneo de QR. .............................................................................. 50
Ilustración 2. Inicio de sesión. .............................................................................. 51
Ilustración 3. Mensaje de registro......................................................................... 51
Ilustración 4. Mensaje con la contraseña. ............................................................ 52
Ilustración 5. Registro para iniciar sesión. ............................................................ 53
Ilustración 6. Categorías de comidas y bebidas ................................................... 53
Ilustración 7. Productos que contiene la categoría cocina. .................................. 54
Ilustración 8. Cuadro de dialogo para enviar la orden. ......................................... 55
Ilustración 9. Lista de productos ordenados. ........................................................ 55
Ilustración 10. Botones para regresar, ver orden y salir. ...................................... 56
Índice de prototipos
Prototipo 1. Escaneo QR ...................................................................................... 36
Prototipo 2. Autenticación..................................................................................... 37
Prototipo 3. Registrarse o cambiar el número ...................................................... 37
Prototipo 4. Alta al usuario ................................................................................... 38
Prototipo 5. Departamentos.................................................................................. 38
Prototipo 6. Nombre del producto......................................................................... 39
Prototipo 7. Cantidad del producto a ordenar ....................................................... 39
Prototipo 8. Lista de órdenes................................................................................ 40
Prototipo 9. Botones, regresar, ver orden y salir. ................................................. 40
Índice de tablas
Tabla 1. Matriz de rastreabilidad .......................................................................... 33
Tabla 2. Esquema relacional de la base de datos para el control de ventas. ....... 34
Tabla 3. Esquema relacional de la base de datos para el control de usuarios. .... 34
Tabla 4. Pruebas .................................................................................................. 49
v
Índice de figuras
Figura 1 . Validación del escaneo QR .................................................................. 41
Figura 2. Registro de número ............................................................................... 41
Figura 3. Registró de usuario ............................................................................... 42
Figura 4. Validación del usuario ........................................................................... 42
Figura 5. Carta de presentación de comidas y bebidas ....................................... 43
Figura 6. Platillos de comidas............................................................................... 43
Figura 7. Cantidad de producto ............................................................................ 44
Figura 8. Departamento de bebidas ..................................................................... 44
Figura 9. Selección de producto de bebidas ........................................................ 45
Figura 10. Lista de productos comprados ............................................................ 45
Figura 11. Cierre de sesión. ................................................................................. 46
Índice de diagramas
Diagrama 1. Representación gráfica de los paquetes de casos de uso ............... 30
Diagrama 2. Gestionar los códigos QR y los clientes. .......................................... 31
Diagrama 3. Gestionar las órdenes. ..................................................................... 31
Diagrama 4. General. ........................................................................................... 32
Diagrama 5. De clases ......................................................................................... 34
Diagrama 6. Arquitectura modelo, vista, controlador. ........................................... 35
vi
Introducción
El presente documento aborda el tema “APLICACIÓN MÓVIL PARA ÓRDENES
DE SERVICIO DE BARES Y RESTAURANTES”, este módulo fue desarrollado en
la empresa VisorUs Soft Factory, en el estado de Oaxaca; se creó para mejorar el
sistema ResBar con el que cuenta la empresa obteniendo un sistema más
completo para ofrecer a sus clientes.
Este documento contiene información del desarrollo e implementación de la
aplicación, abarcando puntos importantes del proyecto, a través de la
introducción, los objetivos: generales y específicos, así como la justificación del
proyecto. También se mencionan los temas de investigación realizada antes de
dar inicio con el desarrollo del proyecto, para ello se realizan varias consultas en
páginas de internet y libros, con la finalidad de conocer y retroalimentar el uso de
herramientas tecnológicas. También se describen los pasos que se siguieron para
el desarrollo de este proyecto, la metodología utilizada y los puntos necesarios
para obtener un resultado satisfactorio. Se muestran los resultados obtenidos al
aplicar la metodología de desarrollo, al igual que cada una de las pantallas de la
aplicación cada una con su respectiva descripción.
vii
Objetivos
Objetivo general
Diseñar, desarrollar e Implementar una aplicación para dispositivos móviles para
bares y restaurantes que permita ver el contenido de la carta y realizar órdenes.
Objetivos específicos
Crear códigos QR para las mesas los cuales contendrán el número de
mesa y nombre del mesero.
Pruebas de funcionalidad.
Implementación de la aplicación.
viii
Justificación del proyecto
El siguiente proyecto se desarrolla con la finalidad de mejorar el sistema para
control de ventas de Bares y restaurantes denominado ResBar con el que cuenta
la empresa Visorus Soft Factory. Esta empresa es reconocida por el interés que
tiene hacia sus clientes brindándoles buenos sistemas que de acuerdo a los
avances de tecnologías de desarrollo de software estén actualizados y tengan
mejoras que ofrecer a sus clientes.
Es por ello que se opta por mejorar el sistema ResBar aumentando un módulo de
levantamiento de órdenes por medio de un dispositivo móvil. Con el cual se
requiere lograr una satisfacción a la empresa misma y a sus clientes al igual que
los diferentes usuarios que interactúen con la aplicación que se les brindará.
Este módulo agilizará el levantamiento de órdenes de servicio de bares o
restaurantes, brindando a los usuarios de los establecimientos la facilidad de
ordenar sus bebidas o platillos desde su teléfono celular, en el cual se le mostrará
la carta de presentación del bar o restaurante, el diseño de las interfaces fue
programadas para el fácil entendimiento de los usuarios.
ix
Capitulo I. Fundamentos
1.1 Fundamento teórico
1.1.1 Metodología cascada
En Ingeniería de software el desarrollo en cascada, también llamado modelo en
cascada, es el enfoque metodológico que ordena rigurosamente las etapas
del proceso para el desarrollo de software, de tal forma que el inicio de cada
etapa debe esperar a la finalización de la etapa anterior.
Estas etapas son:
10
dispositivos periféricos), o debido a que el cliente requiera ampliaciones
funcionales o del rendimiento.
(Wall, 2014).
1.1.2 Ventajas de la metodología en cascada
Se utiliza correctamente para ciclos en los que se tiene una decisión estable del
producto.
Puede constituir una elección correcta para el desarrollo rápido.
ayuda a minimizar los gastos de la planificación porque permite realizarla
sin problemas.
Funciona bien.
Evita una fuente común de errores importantes.
Presenta el proyecto con una estructura que ayuda a minimizar el esfuerzo
inútil.
(Cataldi, 2015).
1.2 Fundamento conceptual
1.2.1 Software
Para definir el concepto de software se realiza una comparación en diferentes
fuentes bibliográficas con el objetivo de comprender su significado. De tal manera
que se define como el conjunto de los programas de cómputo, procedimientos,
reglas, documentación y datos asociados, que forman parte de las operaciones de
un sistema de computación.
11
“El software representa toda la parte inmaterial o intangible que hace funcionar a
un ordenador para que realice una serie de tareas específicas, coloquialmente
conocidos como programas el software engloba a toda la información digital que
hace al conjunto de elementos físicos y materiales que componen el computador
trabajar de manera inteligente.”
(Silverio, 2015).
“La definicion del IEE “software es la suma total de los programas de ordenador,
procedimientos, reglas, la documentacion asociada y los datos que pertenecen a
un sistena de computo” y “un producto de software es un producto diseñado para
un usuario” software (SE del Ingles “software Engineering”) es un enfoque
sistematico del desarrollo, operación, mantenimiento y retiro del software.”
(Palacios, 2013).
12
“La Ingeniería de software es aquella disciplina que se ocupa del desarrollo, la
operación y el mantenimiento del software o programas informáticos. “
(Lopez L, 2012).
1.3 Base de datos
“Una base de datos es una colección de archivos relacionados que permite el
manejo de la información de alguna compañía. Cada uno de dichos archivos
puede ser visto como una colección de registros y cada registro está compuesto
de una colección de campos. Cada uno de los campos de cada registro permite
llevar información de algún atributo de una entidad del mundo real.”
(Fuentes, 2013).
“Una base de datos es un “almacén” que nos permite guardar grandes cantidades
de información de forma organizada para que luego se pueda encontrar y utilizar
fácilmente...” (Valdés, 2012).
13
Menos cansado. Al manipular información más organizada.
Actualización. La información se puede mantener más fácilmente
actualizada.
Un control centralizado. Se reduce la redundancia. Se evita la
inconsistencia. Los datos pueden ser compartidos. Se tiene el control del
acceso. La integridad puede ser mantenida.
Mayor seguridad (protección de los datos). Resulta más fácil replicar
una base de datos para mantener una copia de seguridad que hacerlo con
un conjunto de ficheros almacenados de forma no estructurada. Además, al
estar centralizado el acceso a los datos, existe una verdadera
sincronización de todo el trabajo que se haya podido hacer sobre estos
(modificaciones), con lo que esa copia de seguridad servirá a todos los
usuarios.
Mayor disponibilidad. Se facilita el acceso a los datos desde contextos,
aplicaciones y medios distintos, haciéndolos útiles para un mayor número
de usuarios.
Esto tiene una consecuencia directa sobre los resultados que se obtienen de la
explotación de la base de datos, presentándose al respecto ventajas como son:
1.3.2 PostgreSQL
“Es un sistema de gestión de bases de datos relacional orientado a objetos y libre,
publicado bajo la licencia PostgreSQL, similar a la BSD o la MIT. Como muchos
otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado
14
por una empresa o persona, sino que es dirigido por una comunidad de
desarrolladores que trabajan de forma, desinteresada, altruista, libre o apoyados
por organizaciones comerciales. Dicha comunidad es denominada el PGDG
(PostgreSQL Global Development Group).”
(Sarría, 2016).
15
gestor se permitió duplicar la tabla para lograr la administración de los usuarios
sin afectar la tabla principal creada en Firebird.
1.3.4 Administración de postgreSQL
“PostgreSQL almacena los datos de usuarios, así como también los datos de los
grupos dentro de sus propios catálogos de sistema. De esta manera, cualquier
conexión a PostgreSQL debe ser realizada con un usuario específico, y cualquier
usuario puede pertenecer a uno o más grupos definidos.
16
para enfocar un tipo de problemática particular que sirve como referencia, para
enfrentar y resolver nuevos problemas de índole similar. (Mc Graw Hill, 2015)
17
1.4.2 Puntos básicos de framework
No es más que una base de programación que atiende a sus descendientes
(manejado de una forma estructural y/o en cascada), posibilitando cualquier
respuesta ante las necesidades de sus miembros, o en secciones de una
aplicación (Web), satisfaciendo así las necesidades más comunes del
programador.
Modelo
Este miembro del controlador maneja las operaciones lógicas, y de manejo de
información (previamente enviada por su ancestro), para resultar de una forma
explicable y sin titubeos. Cada miembro debe ser meticulosamente llamado, con
su correcto nombre y en principio, con su verdadera naturaleza: el manejo de
información, su complementación directa.
Vista
Al final, a este miembro de la familia le corresponde dibujar, o expresar la última
forma de los datos: la interfaz gráfica que interactúa con el usuario final del
programa (GUI). Después de todo, a este miembro le toca evidenciar la
información obtenida hasta hacerla llegar al controlador. Solo (e inicialmente), nos
espera demostrar la información.
Controlador
Con este apartado se puede controlar el acceso (incluso todo) a nuestra
aplicación, y esto puede incluir: archivos, scripts, y/o programas; cualquier tipo de
información que permita la interfaz. Así, nuestro contenido de forma dinámica, y
estática (a la vez); pues, solo se puede controlar ciertos aspectos (como se ha
mencionado antes).
Estructura
Dentro del controlador, modelo o vista, se pueden manejar datos, y depende de
cada uno cómo interpretar y manejar esos datos. Se sabe que el único dato de
una dirección estática web es: conseguir un archivo físico en el disco duro o
de Internet, etcétera e interpretado o no, el servidor responde.
El modelo, al igual que el controlador y la vista, maneja todos los datos que se
relacionen consigo (solo es el proceso medio de la separación por capas que
ofrece la arquitectura MVC). Y solo la Vista, puede demostrar dicha información.
18
Con lo cual ya se ha generado la jerarquía de dicho programa: Controlador,
Modelo y Vista.
(Gutierrez, 2012).
1.5 Grails
“Framework para aplicaciones Web libre desarrollado sobre el lenguaje de
programación Groovy (el cual a su vez se basa en la Java platform). Grails
pretende ser un marco de trabajo altamente productivo siguiendo paradigmas
tales como convención sobre configuración o no te repitas (DRY), proporcionando
un entorno de desarrollo estandarizado y ocultando gran parte de los detalles de
configuración al programador. (Latorre, 2013).
Grails fue conocido como 'Groovy on Rails' (el nombre cambió en respuesta a la
petición de David Heinemeier Hansson, fundador de Ruby on Rails). Se inició en
Julio de 2005, con la versión 0.1 29 de Marzo de 2006 y la versión 1.0 anunciada
el 18 de Febrero de 2008. En Diciembre de 2009 se publicó la versión 1.2, y
en Mayo de 2010 la versión 1.3.”
(Latorre, 2013).
1.5.1 Características de Grails
Grails se ha desarrollado con una serie de objetivos en mente:
19
Proporcionar lo que los usuarios necesitan en áreas que a menudo son complejas
e inconsistentes:
Framework de persistencia potente y consistente.
Patrones de visualizaciones potentes y fáciles de usar con GSP. (Groovy
Server Pages).
Bibliotecas de etiquetas dinámicas para crear fácilmente componentes
Web.
Buen soporte de Ajax que sea fácil de extender y personalizar.
Proporcionar aplicaciones ejemplo que muestren la potencia del
framework.
Proporcionar un entorno de desarrollo orientado a pruebas.
Proporciona un entorno completo de desarrollo, incluyendo un servidor
Web y recarga automática de recursos.
20
1.6.1 Groovy
“Groovy es un lenguaje de programación orientado a objetos implementado sobre
la plataforma Java. Tiene características similares a Python, Ruby, Perl y
Smalltalk.
Groovy usa una sintaxis muy parecida a Java, comparte el mismo modelo de
objetos, de hilos y de seguridad. Desde Groovy se puede acceder directamente a
todas las API existentes en Java. El bytecode generado en el proceso de
compilación es totalmente compatible con el generado por el lenguaje Java para
la Java Virtual Machine (JVM), por tanto puede usarse directamente en cualquier
aplicación Java. Todo lo anterior unido a que la mayor parte de código escrito en
Java es totalmente válida en Groovy hacen que este lenguaje sea de muy fácil
adopción para programadores Java; la curva de aprendizaje se reduce mucho en
comparación con otros lenguajes que generan bytecode para la JVM, tales
como Jython o JRuby. Groovy puede usarse también de manera dinámica como
un lenguaje de scripting.”
(José María, 2014).
1.6.2 Características de Groovy
“El lenguaje Groovy es un superconjunto del lenguaje Java. En general se puede
renombrar un archivo .java en .groovy y va a funcionar (aunque hay algunas
pocas incompatibilidades). Además, Groovy tiene algunas características que no
existen en Java. Esto hace que Groovy sea un paso natural para los
desarrolladores Java, ya que aprender Groovy implica aprender algunos detalles
extra más.
21
priori podría parecer una dificultad, haciendo pensar que aprender un nuevo
lenguaje, casi todo el código Java puede ser compilado con Groovy. De esta
manera, se puede introducir en Groovy poco a poco, utilizando su sintaxis de Java
el resto del tiempo. Esto es válido en una misma clase o método, de manera que
la curva de aprendizaje del lenguaje es muy suave.
22
Capitulo II. Descripción del proyecto o actividades de
aportaciones realizadas (métodos y recursos)
2.1 Ingeniería y análisis del sistema
2.1.1 Objetivos del sistema
OBJ – 01 Gestionar los códigos QR y los clientes.
Descripción La aplicación deberá gestionar los códigos QR escaneados por
los clientes. Así como permitir a los clientes darse de alta.
Estabilidad Alta.
Comentarios Los códigos QR contienen la información del número de mesa y
el nombre del mesero a cargo.
RF 0 - 1 escaneo de QR.
Requisitos asociados RF 0 - 2 Autenticación del cliente.
RF 0 - 3 Alta de cliente.
23
Intervalo temporal Pasado y presente
Estabilidad Alta.
Comentarios Ninguno.
RF - 01 Escaneo de QR.
Objetivos asociados OBJ – 01 Gestionar los códigos QR y
los clientes.
Requisitos asociados RI – 01 Información sobre clientes
Para iniciar la aplicación se tiene que
Descripción
escanear el código QR, la aplicación
debe almacenar el número de mesa y
nombre del mesero, datos que contiene
el código QR.
El usuario no será cliente si solo
Precondición
24
escanea el código QR.
Paso Acción
El cliente escaneara el código
1 QR de la mesa.
Secuencia normal
25
pedirá que realice un registro.
Paso Acción
1 La aplicación solicitara el
número de teléfono del cliente.
Secuencia normal
La aplicación verificara si el
número ya está registrado o no
2 en caso de que no se pedirá
que haga su registro.
Postcondición El cliente no podrá acceder al menú si
su número de teléfono no es
encontrado.
Paso Acción
El cliente no podrá acceder al
Excepciones
menú si intenta ingresar un
2 número incorrecto. A
continuación, este caso de uso
termina.
Rendimiento Paso Cuota de tiempo
2 5 segundos
Frecuencia esperada 3 veces al día
Estabilidad Alta
Comentarios Un cliente puede utilizar la aplicación
las veces que él lo requiera.
RF - 03 Alta de cliente
Objetivos asociados OBJ – 01 Gestionar los códigos QR y
los clientes.
Requisitos asociados RI – 01 Información sobre clientes
Para que el cliente tenga acceso al
Descripción
menú de la aplicación necesitará
registrarse con su número de teléfono,
en el cual por seguridad se le enviara
una contraseña de acceso.
26
El cliente podrá darse de alta solo si
Precondición
ingresa su número de teléfono correcto,
ya que la aplicación le enviará una
contraseña para que pueda realizar su
registro.
Paso Acción
1 La aplicación solicitara el
número de teléfono del cliente.
Secuencia normal
2 La aplicación enviara una
contraseña al número
ingresado.
El cliente ingresa la contraseña
para darse de alta y acceder al
3 menú de la aplicación.
Postcondición La contraseña solo se enviará a
clientes que no han sido dados de alta.
Paso Acción
Si el usuario ingresa un
número de teléfono ya
Excepciones
registrado en automático
1 ingresara al menú de la
aplicación. A continuación,
este caso de uso termina.
Rendimiento Paso Cuota de tiempo
2 5 segundos
Frecuencia esperada 1 vez
Estabilidad Alta
Comentarios Un cliente puede utilizar la aplicación
las veces que él lo requiera.
27
Requisitos asociados RI – 02 Información sobre ordenes
La aplicación deberá comportarse tal
Descripción
como se describe en el siguiente caso
de uso, cuando un cliente solicite dar
de alta su orden.
El cliente puede ordenar las veces que
Precondición
lo requiera.
Paso Acción
1 La aplicación mostrara los
apartados de platillos y
Secuencia normal
bebidas
2 El cliente elige un platillo o
bebida
El cliente ingresara la cantidad
de platillos y bebidas que
3 ordenara.
28
Rendimiento Paso Cuota de tiempo
4 5 segundos
Frecuencia esperada 10 vez
Estabilidad Alta
Comentarios Un cliente puede utilizar la aplicación
las veces que él lo requiera.
29
Rendimiento Paso Cuota de tiempo
4 5 segundos
Frecuencia esperada 10 vez
Estabilidad Alta
Comentarios Un cliente puede utilizar la aplicación
las veces que él lo requiera.
30
Diagrama 2. Gestionar los códigos QR y los clientes.
31
Diagrama 4. General.
Comentarios
32
Descripcion El sistema debe tener un diseño sencillo y funcional.
Comentarios
RF - 01
RF - 02
RF - 03
RF - 04
RF - 05
RNF - 01
RNF - 02
RNF - 03
33
2.2.1 Diagrama de clases
Diagrama 5. De clases
Requisitos de hardware
34
1 GB de RAM como mínimo, 2 GB de RAM recomendados
300 MB de espacio en el disco duro + al menos 1 GB para las memorias
caché
1024x768 resolución mínima de pantalla
JDK 1.8 desde 2016.1
Windows
Mac
35
2.3.1 Diseño
El diseño del Software se enfoca en cuatro atributos distintos del programa: la
estructura de los datos, la arquitectura del Software, el detalle procedimental y la
caracterización de la interfaz. El proceso de diseño traduce los requisitos en una
representación del Software con la calidad requerida antes de que comience la
codificación.
En este apartado se da inicio con el diseño de interfaces para el sistema de Bares
y Restaurantes, por lo que a continuación se muestra cada una con su respectiva
descripción.
2.3.2 Prototipos
Figura 1. Prototipo que muestra los componentes que contendrá la interfaz inicial
donde se iniciará con el escaneo de los códigos QR de las mesas.
Prototipo 1. Escaneo QR
36
Prototipo 2. Autenticación
Figura 4. Prototipo de la interfaz para dar de alta al usuario y campos que tendrá
que rellenar.
37
Prototipo 4. Alta al usuario
Prototipo 5. Departamentos
38
Prototipo 6. Nombre del producto
39
Figura 8. Prototipo de la interfaz que se mostrara cuando el usuario requiera ver
su orden mostrándole el nombre de los productos que ordeno, la hora del pedido,
la cantidad, el precio y el total a pagar.
Figura 9. Prototipo de los botones de fácil navegación, regresar, ver orden y salir.
40
2.3.3 Diseño de interfaces
Figura 1. Diseño donde se validará el código QR de las mesas de los bares o
restaurantes, este código contendrá el número de mesa y área donde se
encuentra al igual que el nombre del mesero que llevará la orden.
41
Figura 3. Diseño donde se mostrará una petición de registro para los usuarios que
no se encuentran dados de alta.
Figura 4. Diseño de los campos que tendrá que rellenar el usuario para realizar su
registro.
42
Figura 5. Diseño que muestra el ingreso a la carta de presentación del bar o
restaurante, el usuario puede pulsar sobre la imagen para entrar a cada
departamento.
43
Figura 7. Diseño que muestra la selección del platillo y la cantidad de órdenes que
se elegirán, al enviar el pedido retornara al departamento seleccionado.
44
Figura 9. Diseño que muestra al igual que la selección de comidas el usuario
puede introducir la cantidad de bebidas a pedir.
Figura 10. Diseño que muestra la acción después de pulsar el botón de ver orden
se muestra la lista de productos ordenados por el usuario, mostrado de manera
ordenada con la hora del pedido, cantidad de cada producto y el total a pagar.
45
Figura 11. Se muestra el diseño de los botones para salir del sistema siempre y
cuando el usuario ya haya realizado su pago al igual que un botón para regreso y
ver la orden del usuario.
46
Capitulo III. Resultados.
3.1 Pruebas
47
2) Clic en el botón El usuario debe recibir un
registrase. mensaje con la
contraseña de acceso. Ok
3) Ingresar la
contraseña de
acceso. Ok
4) Clic en el botón Se debe mostrar la
identifícate. interfaz de los productos
ofrecidos por la
aplicación.
48
2) Clic en el botón Se debe cerrar la nota de
cerrar consumo y el usuario Ok
puede seguir ordenando
lo que quiera.
Tabla 4. Pruebas
49
3.2 Implementación
50
Ilustración 2. Inicio de sesión.
En caso de que sea la primera vez que se utiliza la aplicación el usuario debe
registrarse para ello debe ingresar su número telefónico, en caso de que ocurra
un error en el registro podrá cambiar el número, como se muestra en la ilustración
3.
51
Si el registro fue exitoso el usuario recibe un mensaje de texto con una
contraseña de 4 dígitos. Como se muestra en la ilustración 4.
Una vez que el mensaje fue enviado aparece un mensaje indicándole que la
contraseña fue enviada y que ya puede iniciar sesión para validar la cuenta, como
se muestra en la ilustración 5.
52
Ilustración 5. Registro para iniciar sesión.
53
El usuario podrá seleccionar cualquier categoría con solo pulsar en la imagen la
cual muestra los productos contenidos en esa categoría como se muestra en la
ilustración 7.
54
Ilustración 8. Cuadro de dialogo para enviar la orden.
Una vez que el usuario haya hecho su orden se le podrá mostrar una lista con los
productos que ha ordenado con la respectiva sumatoria de su consumo. Como se
muestra en la ilustración 9.
55
La aplicación cuenta con un botón para cerrar la sesión que se encuentra en la
parte superior derecha, así como un botón regresar para facilitar el manejo y el
respectivo botón para mostrar la orden (ilustración 10). Una vez cerrando sesión
regresara al Login.
56
Capitulo IV. Conclusiones.
4.1 Conclusiones
La implementación de la “La APLICACIÓN MÓVIL PARA ÓRDENES DE
SERVICIO DE BARES Y RESTAURANTES se realizó en la empresa Visorus Soft
Factory, con la finalidad de aumentar las ventas del sistema ResBar con el nuevo
módulo móvil agregado, también para brindar a sus un clientes un sistema más
completo para que ellos mismos ofrezcan en sus establecimientos un mejor
servicio a través del módulo de ordenes agregado al sistema se podrán realizar
ordenes desde un dispositivo móvil, además de llevar el control a través de una
nota de consumo que los usuarios pueden ver.
Los alcances de la aplicación es llevar una buena administración al
establecimiento, para que cada uno de los trabajadores cuente con un rol
especifico y así brindar mejor atención al cliente, tomando en cuenta la rapidez de
atención al cliente, en dado caso que el usuario no tenga conocimiento de la
aplicación o no quiera acceder al sistema un mesero podrá pedir su orden
(también cuando sea una orden especial) ya que los platillos y bebidas estarán
especificadas en el menú que se mostrara a través del dispositivo, cuando el
usuario requiera de otros servicios extras como agregar algún producto a los
platillos o bebidas estará un mesero a su disposición para evitar mal servicio.
Cuando sea la primera vez en registrarse, abra un mesero destinado en el cual
podrá ayudar al cliente a registrarse y pedir su orden además de enseñarle su
funcionamiento.
57
Bibliografía
Address, L. J. (2012). Framework. New York: Pantheon.
Adolfo. (2013). Metodologias Scrum. Mexico: IEE.
Anderson, D. (abril de 2014). Desarrollo Ágil con Kanban. Barcelona: Consultora
TI .
Banchero, S. (Septiembre 2015). Bases de Datos Masivas. España: Primera
Editorial.
Beck, K. (Marzo del 2014). Ingeniería de Software. En K. Beck, Ingeniería de
Software (págs. 5-8-13 ). España: Barinas.
Carlos-vialfa. (8 de marzo de 2017). BASE DE DATOS. España.
Cataldi, Z. L. (2015). Ciclos de Vida y Metodologías. Mexico: 3.ª Edición.
David, A. (enero de 2014). Metodologia Kanban. En A. David, Agile Management
for Software Engineering (págs. 12-15,17-20). Mexico: Engineering.
Dmitry Filippov, D. K. (11 August 2016). Language Reference. Rusia: Editor's note
:: The sky is falling, take cover.
Edwards, S. (Febrero 2, 2015.). Framework. New York: portal: Libraries and the
Academy.
Ferreyra , C. G. (2015). Software. México: Ed. Alfaomega.
Fuentes, D. M. (. 2013). BASES DE DATOS. MÉXICO, D.F: Primera edición 2013.
Fuentes, D. M. (2013). BASES DE DATOS. MÉXICO, D.F.: Primera edición 2013.
Grady, , R. (1990). El desarrollo del software. Mexico: IEEE Software.
Jalón, J. G. (2012/13). Groovy. España: Struts. 2ºEdición.
Journal, C. I. (Agosto/25/2015). Requirements Engineering and Management”.
España: Cutter Consortium.
Latorre, D. (2013). Manual de desarrollo web con Grails. Los Angeles: Second
Edition.
Lopez, L. (marzo de 2012). Que es la ingenieria software. España: Segunda
Edicion.
Lopez, M. (2013). Metodologia Agil. Mexico: Segunda Ediccion.
Lopez, R. (02/10/2013). Sobre PostgreSQL. Mexico: segunda Ediccion.
Luna, C. (Enero 2015). Qué es PostgreSQL. Mexico: enciclopedia.
Mc Graw Hill. (2015). Aplicaciones Web. España: Editorial Mc Graw Hill.
58
Miguel, M. R. (4/07/2015). LA INGENIERÍA DELSOFTWARE. Madrid (España):
INTERAMERICANA EDITORES S,A DE CV.
Nelson. (2014). Goovy. España: Primera.
Palacios, A. (2013). Ingeniería del software. Mexico: Gestión Pública Facultad
Derecho. UMU.
Patricia, C. R. (2013). Metodologia Iconix. España: 3.ª Edición.
PostgreSQL. (24 de agosto de 2015). Mexico.
Retrieved. (2014). Modos de Software. España: Segunda Ediccion.
Robson. (2015). Metoologias . En Robson, Metodologias (págs. 12-19). USA: SAP
Implementations.
Rodríguez, M. A. (2016). IntelliJ IDEA. España: segunda Editorial.
Rosenberg, D. (2016). ICONIX. En D. Rosenberg, Metodologia (págs. 19-30).
España: Addison Wesley.
Rumbaugh., J. ( 9 oct 2017 ). El Proceso Unificado de Desarrollo de Software.
Mexico: 3.ª Edición.
S., D. (2016-02-15). IntelliJ IDEA. España: IntelliJ IDEA Editions Comparison.
Sarría, F. A. (Enero 2015). Programación con PostgreSQL. Mexico: 4 Editorial.
Silverio, N. (2015). La socialización de la web. España: Universidad de la Habana.
Silverio, N. (2015). La socialización de Software. España: Universidad de la
Habana.
Soteldo, O. (2015). Tipos de Software. TAIPÉI, TAIWAN: ERP.
Valdés, D. P. (octubre 26 2012). ¿Qué son las bases de datos? California, USA:
segunda Ediccion.
Vinkenoog, P. (25 April 2016). Firebird 3 Quick Start Guide. Brasil : Primera
Editorial.
Wall, L. (. (2014). ibro del camello. España: Programming Perl.
Wed, P. o. (12 de Agosto de 2015). El valor de la gestión de datos. Recuperado el
5 de 12 de 2016, de El valor de la gestión de datos:
http://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/406547/tipos-y-
funci-n-de-los-gestores-de-bases-de-datos
Zafón, C. R. (2015). SQL Firebird. ITALIA: JILANI KHALDI.
59
Anexos
Anexo 1. Diccionario de datos
maedep
Columna Tipo Nul Predetermin Enlaces a Comentari MIME
o ado res_maecomanda -> os
NUMDEP varchar(3) No
FOLIO
NOMDEP varchar(4 No
ORDDEP varchar(1
0) No
COCDEP varchar(1
0) No
COZDEP varchar(1
5) No
VTCDEP varchar(1
5) No
VTZDEP varchar(1
5) No
COSTOS_FIJOS double
5) No
INVERSION_MAXI double No
CCCOMC
MA varchar(1 No
CCCOMCR varchar(1
5) No
CCDEVC varchar(1
5) No
CCDEVCR varchar(1
5) No
CCVENC varchar(1
5) No
CCVENCR varchar(1
5) No
CCCOSVEN varchar(1
5) No
CCDECC varchar(1
5) No
CCDECCR varchar(1
5) No
TOPE double
5) No
ACUMILATIVO int(11) No
REPLICA varchar(1) No
Índices
Nombre de la Tipo Únic Empaquetad Column Cardinalida Cotejamient Nul Co
clave o o a d o o me
PRIMARY BTRE Sí No NUMDE 0 A No nta
E P rio
Precios
Columna Tipo Nulo Predetermina Enlac Comentari MI
NUMPRECIO int(11) No do maedep ->es
NUMDEP
a os ME
FGPRE varchar(70 No
)
60
PRECIO double No res_produart ->
CONDPRE char(70) No CVEPRODU
DES1PRE double No
DES2PRE double No
DES3PRE double No
DES4PRE double No
DES5PRE double No
NUMCONDICIO int(11) No
N
NUMFORMULA int(11) No
Índices
Nombre
Tipo Únic Empaqueta Columna Cardinalida Cotejamient Nul Come
de la
o do d o o ntario
clave
PRIMARY BTREE Sí No NUMPRE 0 A No
CIO
res_maearea
Columna Tipo Nulo Predetermina Enlac Comentarios MIM
CVEARE varchar(3) Sí NULL
do res_mesperes->aIDMP E
A
NOMARE varchar(40 Sí NULL maedep -> NUMDEP
A )
res_maeasigmes
Column Tipo Nulo Predetermina Enlac Comentario MIM
NUMAG
a varchar(8) Sí NULL
do res_maeasigpro
es a-> IDPROM s E
T
IDME int(11) Sí NULL
res_maeasigpri
Column Tipo Nulo Predetermina Enlaces a Comentarios MIM
a do E
NUMPR int(11) Sí NULL res_mesper ->
I IDMP
NOMPR varchar(30 Sí NULL
I )
res_maeasigpro
61
Columna Tipo Nulo Predetermina Enlac Comentari MIM
do es a os E
IDPROM int(11) No 0 res_tipser -> CVETIP
FECHAINICI Date No
O
FECHAFINA Date No
L
HORAINICIO Time No
HORAFINAL Time No
res_maecomanda ->
DESPROM varchar(20 No
PUNTOVENTA
0)
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalida Cotejamien Nul Coment
clave o do a d to o ario
PRIMARY BTRE Sí No IDPRO 0 A No
E M
res_maeasigprodtm
Columna Tipo Nulo Predetermina Comentarios MI
do M
IDPROM int(11) No 0 E
NUMART varchar(18 Sí NULL
)
CANTIDA int(11) No
D
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalida Cotejamien Nul Coment
clave o do a d to o ario
62
PRIMARY BTRE Sí No IDPRO 0 A No
E M
res_maeasigrep
Columna Tipo Nul Predetermina Enlaces a Comentario MIME
NUMAGT varchar(1 Sí
o NULL
do res_mesper -> IDMP s
FOLIO varchar(1
0) Sí NULL
FECHA Date
0) Sí NULL
HORA_SALIDA Time No
HORA_LLEGAD Time No
A
res_maecomanda
Columna Tipo Nul Predetermina Comentarios MIM
o do E
FOLIO varchar(1 Sí NULL
FECHA Date
0) Sí NULL
NUMPRI int(11) Sí NULL
CVETIP varchar(3) Sí NULL
PUNTOVEN varchar(3) No
COMTER
TA int(3) Sí NULL
NUMCTE varchar(1 Sí NULL
CVEAREA varchar(3)
8) Sí NULL
HORA Time Sí NULL
COMPOR int(12) Sí NULL
IMPRESO int(11) Sí NULL
Índices
Nombre
Tipo Únic Empaqueta Columna Cardinalid Cotejamie Nul Comenta
de la
o do ad nto o rio
clave
PRIMARY BTRE Sí No PUNTOVEN 0 A No
FOLIO E
BTRE No No TA
FOLIO 0 A Sí
E
PUNTOVEN BTRE No No PUNTOVEN 0 A No
TA E TA
res_maecomandtm
63
Columna Tip Nul Predetermina Enla Comentari MIME
o o do ces a os
res_maecomanda ->
ID int(11) No 0
PUNTOVENTA
FOLIO varchar(10) Sí NULL
FECHA Date Sí NULL
NUMART varchar(18) Sí NULL
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalid Cotejamien Nul Comentar
clave o do a ad to o io
PRIMARY BTRE Sí No ID 0 A No
E
res_maeprodu
Columna Tipo Nul Predetermina Enlac Comentario MIME
o
CVEPROD varchar(3) Sí do
NULL res_ticket es a
-> CLAVET s
64
NOMPROD varchar(40 Sí NULL
U )
IMPRESO varchar(25 No
RA 0)
res_maepvocu
Column Tipo Nul Predetermina Coment MI
a o do arios ME
NUMPV varchar(4) No
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalid Cotejamien Nul Comentar
clave o do a ad to o io
PRIMARY BTRE Sí No NUMP 0 A No
E V
res_maerecope
Column Tipo Nul Predetermin Comentarios MIM
a o ado E
IDREGOP float No 0
E
FOLIO varchar(1 Sí NULL
0)
Índices
Nombre
Tipo Únic Empaqueta Columna Cardinalid Cotejamie Nul Comentar
de la
o do ad nto o io
clave
PRIMARY BTRE Sí No IDREGO 0 A No
E PE
res_maeregfol
Columna Tipo Nul Predetermin Enlac Comentario MIME
o ado es a s
65
IDFOL int(11) Sí NULL
NUMAGT varchar(1 Sí NULL
FOLIO_INI 0)
int(11) Sí NULL precios -> NUMPRECIO
FOLIO_FIN int(11) Sí NULL
FOLIO_NU int(11) Sí NULL
M
NUM_PV varchar(3) No
FECHA_ASI Date Sí NULL
G
TERMINAD int(11) Sí NULL
A
INDICE int(11) Sí NULL
res_maeregopedtm
Column Tipo Nul Predetermin Enla Comentari MIME
a o ado ces os
IDREGOP float Sí NULL a
res_serres -> FOLIO
E
CANTIDA float Sí NULL res_maecomanda ->
D PUNTOVENTA
NUMART varchar(1 Sí NULL
8)
CVEPROD varchar(1 Sí NULL
U 0)
HORA_INI time Sí NULL
HORA_FI time Sí NULL
N
res_mesa
Columna Tipo Nul Predetermina Enlac Comentar MIME
CLAVEME varchar(5) Sí
o NULL
do res_mesper
es ->
a IDMP ios
IMAGMES
S varchar(25 No
IDME
A int(11)
5) Sí NULL
CVEAREA varchar(3) Sí NULL
DEL int(11) Sí NULL
res_mesper
Columna Tipo Nul Predetermina Comentarios M
IDMP int(11) No
o 0
do I
M
E66
IDMESA int(11) Sí NULL
FECHA Date Sí NULL
HORAI Time No
HORAF Time No
TERMINAD smallint(6) No
NUMPER
A int(11) No
EXTRA int(1 S NUL
S 6) í L
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalid Cotejamien Nul Coment
clave o do a ad to o ario
PRIMARY BTRE Sí No IDMP 0 A No
E
res_mesperdtm
Columna Tipo Nul Predetermina Enlac Comentar MIM
IDMP int(11)
Sí
o NULL
do res_mesper
es->
a IDMP ios E
COMENSA varchar(2 No
LIBERADO
L smallint(6)
5) Sí NULL
res_mod
Columna Tipo Nul Predetermina Enlac Comentario MIM
o do es a s E
NUMART varchar(1 Sí NULL res_tipserdet -> CVETIP
8)
NUMARTMO varchar(1 Sí NULL res_maepvocu -> NUMPV
D 8)
CVEGPO varchar(3) Sí NULL
res_produart
Columna Tipo Nul Predetermina Enlac Comentario MIM
o do es a s E
CVEPROD varchar( No res_maecomanda -> FOLIO
U 3)
NUMART varchar(1 Sí NULL
8)
67
Índices
Nombre
Tipo Únic Empaqueta Columna Cardinalid Cotejamien Nul Comen
de la
o do ad to o tario
clave
PRIMARY BTRE Sí No CVEPROD 0 A No
E U
CVEPRODU BTRE No No CVEPROD 0 A No
E U
res_promarea
Column Tipo Nul Predetermina Enla Comentari MIM
a o do ces a os E
IDPROM int(11) Sí NULL res_maerecope ->
CVEARE varchar(3) Sí NULL IDREGOPE
A
res_serdom
Columna Tipo Nul Predetermina Enlaces a Comentari MI
FOLIO varchar(10 Sí
o NULL
do res_maeasigprodtm -> os ME
) IDPROM
FECHA Date Sí NULL
HORAACTUAL Time Sí NULL
HORAENTRE Time Sí NULL
GA
REPAR varchar(5) Sí NULL
TIDOR
OBSERVACIO varchar(10 No
N 0)
SERVIDORSA varchar(5) Sí NULL
COMASIG
D int(11) Sí NULL
res_serres
Column Tipo Nul Predetermina Comentarios M
a o do I
FOLIO varchar(1 No M
FECHA 0)
date Sí NULL E
SERVIDO varchar(5) Sí NULL
R
IDMP int(11) Sí NULL
68
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalida Cotejamien Nul Coment
clave o do a d to o ario
PRIMARY BTRE Sí No FOLIO 0 A No
E
res_ticket
Column Tipo Nulo Predetermina Enlac Comentari MIM
a do es a os E
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalida Cotejamien Nul Coment
clave o do a d to o ario
PRIMARY BTRE Sí No CLAVE 0 A No
E T
res_tipser
Column Tipo Nulo Predetermina Coment MI
a do arios M
CVETIP varchar( No E
3)
DESTIP varchar(3 Sí NULL
0)
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalida Cotejamien Nul Coment
clave o do a d to o ario
PRIMARY BTRE Sí No CVETI 0 A No
E P
res_tipserdet
Column Tipo Nulo Predetermina Enlaces a Comentarios MIM
a do E
CVETIP varchar( No res_var -> VARNAME
3)
69
TIPBUS varchar(3 Sí NULL
0)
Índices
Nombre de la Tipo Únic Empaqueta Column Cardinalida Cotejamien Nul Comenta
clave o do a d to o rio
PRIMARY BTRE Sí No CVETI 0 A No
E P
res_var
Column Tipo Nul Predetermina Comentarios MI
a o do ME
VARNAM varchar(50 No
E )
VARVAL varchar(30 Sí NULL
0)
Índices
Nombre
Tipo Únic Empaquetad Columna Cardinalid Cotejamien Nul Coment
de la
o o ad to o ario
clav
e
PRIMARY BTREE Sí No VARNAM 0 A No
E
70
Anexo 2. Glosario de términos
RDBMS: Sistema de gestión de bases de datos relacionales.
ODBC: Open DataBase Conectivity es un estándar de acceso a las bases de
datos desarrollado por SQL.
OLEDB: “Enlace e incrustación de objetos para bases de datos” es una
tecnología desarrollada por Microsoft usada para tener acceso a diferentes
fuentes de información, o bases de datos, de manera uniforme.
JDBC: Es usado para enviar comandos SQL hacia una base de datos relacional.
BSD: Es un derivado de Unix. Es un sistema operativo robusto que ha dado lugar
a una gran cantidad de derivados como OpenBSD.
MIT: Es un tipo de licencia de Software que se originan en el Instituto Tecnológico
de Massachusetts.
ACID: (Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia,
Aislamiento y Durabilidad) tienen la característica de los parámetros que permiten
clasificar las transacciones de los sistemas de gestión de base de datos.
BACKUPS: Es una copia y archivo de datos de la computadora de modo se
puede utilizar para restaurar la información original después de una eventual
pérdida de datos.
MVCC: (Acceso concurrente multiversión, por sus siglas en inglés) es una técnica
avanzada para mejorar las prestaciones de una base de datos en un entorno
multiusuario.
COMMIT: Se refiere a la idea de consignar un conjunto de cambios tentativos de
forma permanente. Un uso popular es al final de una transacción de base de
datos.
TRIGGERS: Son las operaciones de inserción, borrado o actualización ya que
modifican los da tos de una tabla.
DBMS: Son un tipo de Software muy específico, dedicado a server de interfaz
entre la base de datos, el usuario y las aplicaciones que la utilizan.
URL: Es una sigla del idioma inglés correspondiente a Uniform Resource Locator
(Localizador Uniforme de Recursos). Se trata de la secuencia de caracteres que
sigue un estándar y que permite denominar recursos dentro del entorno de
internet para que puedan ser localizados.
GUI: Es una interfaz de usuario grafica para una computadora.
71
MVC: Es un estilo que arquitectura de Software que separa los datos de una
aplicación, la interfaz de usuario, y la lógica de control en tres componentes
distintos.
SCRIPT: Archivo de órdenes, archivo de procesamiento por lotes o, cada vez más
aceptado en círculos profesionales y académicos, guion es un programa usual
simple, que por lo regular se amacena en un archivo de texto plano.
VMWare: Empresa especializada en virtualización de sistemas.
GSP: (Groovy Server Pages) es un Sistema formal de exención de las normas
más generales de la organización mundial del comercio.
ContaPyme: (Sistema de gestión empresarial y contable para PYMES) es una
aplicación de computador especialmente diseñada para proveer información al
empresario sobre su empresa, sus actividades y sus recursos. Maneja en forma
integrada las más importantes áreas de datos de gestión de la empresa, como
contabilidad, presupuestos, cartera, activos fijos e inventarios y muchos módulos
que gradualmente se van adicionado al sistema.
AgroWin: Es un sistema especialmente diseñado para ayudarle al empresario en
la gestión, planeación y seguimiento de la empresa y sus recursos.
Adicionalmente, le permite la disminución de los costos, el mejoramiento de los
ingresos y el aumento de las utilidades.
JVM: (Java Virtual Machine) es una máquina virtual de proceso nativo, es decir
ejecutable en una plataforma específica, capaz de interpretar y ejecutar
instrucciones expresadas en código binario.
BYTECODE: Es el tipo de instrucciones que la máquina virtual Java espera
recibir, para posteriormente ser compiladas a lenguaje de máquina.
MAVEN: Es una herramienta de Software para la gestión y construcción de
proyectos Java.
TOMCAT: Es un contenedor Web con soporte de servlets y JSPs. No es un
servidor de aplicaciones, como JBoss o JOnAS.
SPRING: Es un Framework para el desarrollo de aplicaciones y contenedor de
inversión de control de código abierto para la plataforma Java.
FreeBSD: Es un avanzado Sistema operativo para arquitectura.
72