Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD POLITÉCNICA DE SINALOA
PROGRAMA ACADÉMICO DE INGENIERÍA EN INFORMÁTICA
Tesina:
“Sistema informático para la reducción
en el uso de hardware, así como la
automatización de procesos”
Para obtener la acreditación de las estadías profesionales y contar con los
créditos para el grado de ingeniero en informática.
Autor: Rosita Patrón Coronado.
Asesor: Rosa Angélica Rosales Camacho.
Asesor OR: Yasset Cutiño Damas.
Mazatlán, Sinaloa 16 de noviembre del 2019
1
Carta de aceptación de la empresa.
2
Carta de terminación de la empresa.
3
Carta de aceptación de tema tesina.
4
Carta de aceptación de revisión de tesina.
5
Agradecimientos.
Este momento es muy importante en la vida de cualquier estudiante, en particular
representa esfuerzos no solo míos sino también de mis padres, hermanos, maestros,
amigos y compañero de vida.
Les doy agradecimiento a mis padres por la inspiración que me dan, porque a pesar de
todo siempre estarán ahí con una sonrisa para cualquier cosa. Los hermanos que a pesar
de todo siempre fueron mi futuro mi esfuerzo latente por la familia, por brindar algo
diferente y con mayor satisfacción.
A mis maestros, ellos conocen y saben cuánto es mi profundo agradecimiento, por las
enseñanzas, por las oportunidades y por aceptarme con alegría con mi hija. Dando
siempre buenas prácticas y enseñando lo importante de la responsabilidad y la
dedicación.
Le doy a mis compañeros una amistad con mucho agradecimiento por ser tolerantes y
comprensivos conmigo, por brindarme su amistad y su apoyo incondicional.
A mi pareja que igual es mi compañero, le doy gracias por la fortaleza que me ha dado,
al estar ahí cuando me eh querido rendir, cuando todo se vuelve gris y lo mejor para ti
es dejar todo, por hacerme ver que yo soy yo, que yo puedo y que yo lo crea siempre.
6
Resumen.
Este documento fue realizado con el objetivo de acreditar la carrera de ingeniería
informática en la Universidad Politécnica de Sinaloa. El contenido se basa en una
investigación para cubrir una necesidad existente en la empresa de paquetería TinyPack.
La razón principal de este proceso es poder sistematizar las funciones de la empresa.
Esta automatización es realizada, ya que hay acciones que no son consistentes en una
sola persona. Las actividades son: escribir en papel la información del paquete, llevar a
cabo una escritura digital donde se almacena en una base de datos y finalmente imprimir
la etiqueta. Esto se hará con una sola herramienta.
Esta alternativa muestra que la empresa puede ser más productiva y con una
organización independiente.
Abstract.
This document was made in order to earn the computer science degree at the
Universidad Politecnica de Sinaloa. The content is based on an investigation to cover an
existing need in the Tiny Pack parcel company.
The main reason for this process is to be able to systematize the functions of the
company. This automation is performed, since there are actions that do not consist only
one person. The activities are: write the package information on paper, carry for digital
writing where it is stored in a database and finally print the label. This will be done with
just one tool.
This alternative shows that the company can be more productive and with an independent
organization.
Keywords: process, systematize, automation, package, tool.
7
Índice temático.
Introducción ............................................................................................................................10
Capítulo 1 ................................................................................................................................11
1.1 Antecedentes .................................................................................................................11
1.1.1 Localización ............................................................................................................12
1.1.2 Objetivos de la institución ......................................................................................12
1.1.3 Misión ......................................................................................................................13
1.1.4 Visión .......................................................................................................................13
1.2 Planteamiento del problema .........................................................................................13
1.2.1 Propuesta de investigación ....................................................................................14
1.2.2 Objetivos de la investigación .................................................................................14
1.2.2.1 Objetivo general ...................................................................................................14
1.2.2.2 Objetivos particulares ..........................................................................................14
1.2.3 Preguntas de investigación ....................................................................................14
1.2.4 Hipótesis ..................................................................................................................15
1.2.5 Limitaciones y supuestos ......................................................................................15
1.2.6 Relevancia ...............................................................................................................15
Capítulo 2 ................................................................................................................................16
2.1 Microsoft Visual Studio .................................................................................................16
2.2 Framework .NET ............................................................................................................17
2.3 Visual Basic .NET ..........................................................................................................18
2.4 Introducción al lenguaje C# y .NET Framework ..........................................................18
2.4.1 Lenguaje C# .............................................................................................................19
2.4.2 Sistema de tipos de C# ...........................................................................................19
2.4.2.1 Namespace C#......................................................................................................20
2.5 Framework Ionic. ...........................................................................................................21
Capítulo 3 ................................................................................................................................26
3.1 Creación de registros, obtención y guardado del peso. ........................................26
3.2 Impresión en etiquetadora zebra - GC420t. .................................................................29
3.3 Creación de la interfaz en Framework Ionic. ...............................................................30
Resultados y discusión ..........................................................................................................32
Conclusiones ..........................................................................................................................34
8
Anexos .....................................................................................................................................35
Anexo A: Instalación de Microsoft Visual Studio ..............................................................35
Anexo B. Instalación de Visual Studio Code. ....................................................................36
Anexo C. Código de la báscula ..........................................................................................38
Anexo E. Utilización de Ionic ..............................................................................................44
Anexo F. Base de datos. .....................................................................................................46
Bibliografías ............................................................................................................................52
Bibliografías de imagenes: .................................................................................................52
Bibliografías de anexos ......................................................................................................53
Glosario ...................................................................................................................................54
Bibliografías glosario ..........................................................................................................55
9
Índice de imágenes.
Imagen 1. Localización de empresa [1]. ....................................................................................12
Imagen 2: Tipos de valores y tipos de referencia [2]. ................................................................20
Imagen 3: Ejemplo namespace [2]. ...........................................................................................21
Imagen 4: Sintaxis y parámetros EPL [3]. .................................................................................25
.................................................................................................................................................28
Imagen 5: Obtención del peso y guardado [4]. ..........................................................................28
Imagen 6: Llamado de funciones y solictud Timer [5]. ...............................................................29
Imagen 7: Timer para imprimir [6]. ............................................................................................30
Imagen 8: interfaz Ionic [7]. .......................................................................................................31
Imagen 9: Ejemplo entorno Visual Studio [2]. ............................................................................36
Imagen 10: Descargar Visual Studio Code [3]. ..........................................................................37
Imagen 11: Carpeta del menú de inicio [4]. ...............................................................................38
Imagen 12: declaración de namespace y variables [5]. .............................................................38
Imagen 13: configuración puerto serie [6]. ................................................................................39
Imagen 14: identificación de puertos COM y creación de logs [7]. ............................................40
Imagen 15: Diseño form1 [8]. ....................................................................................................41
Imagen 16: Namespace y funciones C# [9]. ..............................................................................42
Imagen 17: Estructura y declaraciones API [10]. .......................................................................43
Imagen 18: Vista Ionic [11]. .......................................................................................................46
Imagen 19: creación base de datos. .........................................................................................47
Imagen 20: Modelo relacional. ..................................................................................................48
Imagen 21: Procedimiento almacenado sucursales. .................................................................49
Imagen 22: Procedimiento almacenado servicios. ....................................................................49
Imagen 23: Procedimiento almacenado embarque. ..................................................................50
Imagen 24: Procedimiento almacenado paquetes. ....................................................................50
Imagen 25: Insertar manualmente.............................................................................................51
Imagen 26: Llamar los procedimientos. .....................................................................................51
10
Introducción
La continua integración de las herramientas digitales es una de las mejores
maneras en la que las empresas pueden ser competitivas, ya que la constante
innovación hace que los servicios o productos sean atractivos para todo el público.
Además, la tecnología hace más fácil la vida de los empleados y clientes.
Cada empresa debe estar automatizando procesos masivos que realizan o quizás
creando las herramientas necesarias para sus mismos procesos de ejecución. Es
importante mencionar que si una empresa no está dispuesta a cambiar quedará obsoleta
y en algún momento no podrá avanzar ni ser competencia para ninguna otra.
Las herramientas de software son muy imprescindibles ya que disminuyen tiempo de
realización de procesos, hacen más fácil el trabajo de empleados, además la información
se puede tener sin papeleos y bajo mayores estándares de seguridad.
11
Capítulo 1
La realización de esta investigación se desarrolló en la empresa TinyPack, en cual
me encuentro en proceso de prácticas y en la que se encuentra una problemática ya
establecida.
Esta investigación radico en una problemática que se quiere solucionar, es el hecho de
poder optimizar el tiempo de procesos administrativos y como principio disminuir el uso
de equipo de cómputo para estos procesos. A continuación, se encuentra información de
la empresa, declaración de hipótesis y posteriormente el planteamiento de una solución
a tal problema.
1.1 Antecedentes
TinyPack es una compañía mexicana especializada en el transporte y distribución
de mercancías desde 1971.
Cuenta con la experiencia e infraestructura suficiente para brindar a sus clientes las
mejores opciones en tiempos de entrega, volumen de carga de acuerdo a sus
necesidades y soluciones logísticas que faciliten el flujo de sus mercancías para el
avance productivo de sus industrias.
12
1.1.1 Localización
Tepic - Mazatlán, Niños Héroes, 82190 Mazatlán, Sin.
Imagen 1. Localización de empresa [1].
1.1.2 Objetivos de la institución
● Eficiente cadena de distribución de negocios y disminución de costos de
operación.
● Proporcionar un servicio confiable, seguro y flexible que se adapta las
necesidades de mercado, lo que permite ser la mejor opción en el transporte
y manejo de mercancías.
13
1.1.3 Misión
Brindar herramientas logísticas eficientes que contribuyan a la mejora en la productividad
de la cadena de suministro o distribución de nuestros clientes a un costo competitivo.
1.1.4 Visión
Contribuir al desarrollo de la sociedad ofreciendo un servicio de calidad, buscando ser
un aliado eficiente para nuestros socios comerciales, logrando la realización profesional
y personal de nuestro capital humano, optimizando el uso de nuestros recursos de
manera sustentable [1].
1.2 Planteamiento del problema
La utilización de hardware y software en una empresa es una inversión que no se puede
ignorar; debido a esto, las empresas buscan la manera en la que al idear un sistema o
producto se puedan cubrir múltiples necesidades.
Por ejemplo, cuando el empleado realiza un documento de embarque, este radica en los
paquetes, del cual se obtienen datos como el peso, medidas (ancho, altura y largo); sin
embargo, al tener 5 básculas conectadas a 5 computadoras para obtener el peso de los
paquetes el proceso demora ya que el etiquetado es concluido hasta que los datos son
capturados en la base de datos por otra persona encargada.
Ya que se realiza al mismo tiempo la captura de la información del paquete, el peso por
las básculas y la insertando en la base de datos e imprimiendo las etiquetas; la utilización
de varios equipos de cómputo para una misma actividad podría disminuirse con el
software adecuado y así poder contribuir a la reducción de hardware y, además, a la
automatización de procesos.
14
1.2.1 Propuesta de investigación
Sistema informático para la reducción en el uso de hardware, así como la
automatización de procesos. Con el fin de poder brindar una nueva herramienta a la
empresa, para la reducción de ejecución de labores, mejor organización y servicios.
1.2.2 Objetivos de la investigación
Cabe resaltar que este sistema es una nueva oportunidad de crear una opción más
óptima para procesos de máxima importancia, es por eso que se definen los siguientes
objetivos:
1.2.2.1 Objetivo general
● Sistematización de procesos para una mejor organización y aprovechamiento
de tiempo.
1.2.2.2 Objetivos particulares
● Disminución de hardware.
● Almacenamiento de la información.
● Automatización de procesos.
1.2.3 Preguntas de investigación
¿Cuánto beneficio implica la implementación de un sistema informático para la
reducción de hardware?
¿Qué beneficios brinda la automatización de procesos a una empresa?
¿Cuánto tiempo de calidad se puede ahorrar con una herramienta de software?
15
1.2.4 Hipótesis
La utilización de equipos de cómputo y gestión de procesos, es uno de los recursos más
importantes e imprescindibles en una empresa. Por esta razón, el alcance de un sistema
informático enfocado en este punto de organización laboral tiene mucho significado, ya
que mediante este sistema se podrá hacer una reducción de hardware y automatización
de procesos.
En base al problema y propuesta mencionada anteriormente se plantea la hipótesis que
con un sistema se puede reducir el número de computadoras por báscula utilizadas para
el proceso de embarque, este sistema contendrá diferentes funciones las cuales
abarcaran en un rango mayor todo el proceso de captura y etiquetado. Obteniendo como
resultado un proceso de embarque de paquetes mucho más rápido y organizado.
1.2.5 Limitaciones y supuestos
Las limitaciones que se pueden encontrar es que este es un proyecto nuevo a
implementar, no se tiene ninguna base en ello, esto a su vez podría ocasionar dificultades
al momento de decidir que tecnología o plataforma usar y esto ocasiona dificultades
futuras en la duración del proceso de desarrollo, así como a la aplicación de mismo, del
mismo modo las personas lo utilizaran como una nueva herramienta digital y dejaran de
lado el papeleo lo que puede tomar un tiempo el poder adaptarse al cambio.
1.2.6 Relevancia
Hay una gran oportunidad de cambiar y sistematizar de manera eficiente un proceso que
por años ha sido implementado de manera eficaz. Es decir, en esta empresa de
paquetería el proceso de carta porte es tardado ya que un empleado tiene el paquete,
escribe los datos en papel, los entrega a otro empleado que se encarga de capturar los
datos y al estar insertados en la base de datos el proceso de etiquetado comienza y por
esta razón hay algunos problemas al identificar y organizar paquetes, es por eso que el
sistema es una válida alternativa para optimizar este proceso que en esta empresa aún
no se resuelve.
16
Capítulo 2
Es este capítulo se encuentran algunos conceptos y programas, lo cuales fueron de gran
utilidad para comenzar a desarrollar la solución que se ha planteado. Para comprender
o entender cuáles herramientas y frameworks se utilizaron y cómo fue que también hubo
un proceso de aprendizaje para alguien que comienza a trabajar en otros problemas que
requieren de diferentes métodos de solución.
Cabe resaltar que es muy importante conocer o tener un conocimiento previo de
lenguajes de programación, debido a la semejanza de algunos lenguajes, lo que ayuda
a la mejor comprensión de otros y así abrir camino a nuevas herramientas de
programación.
Para dar inicio, se hablará de Microsoft Visual Studio, la primera herramienta con
la que se comenzó este proceso de aprendizaje.
2.1 Microsoft Visual Studio
Es un programa que incluye o se compone de diversas herramientas y tecnologías de
desarrollo de software, que tienen como objetivo la creación de aplicaciones de calidad
y a las necesidades de cada usuario y problema. Es importante mencionas que esto va
desde una aplicación local hasta aplicaciones multiplataforma.
En palabras más específicas, Visual Studio es un conjunto completo de herramientas de
desarrollo para la generación de aplicaciones, como lo son:
Web ASP.NET
Servicios Web XML
Aplicaciones de escritorio
Aplicaciones móviles
Visual Basic
Visual C#
Visual C++
17
La característica principal de Microsoft Visual Studio es que utiliza todos los mismos
entornos de desarrollo integrado (IDE), lo que genera muchas ventajas, ya que habilita
el uso compartido de herramientas y facilita la creación de soluciones en varios
lenguajes. Asimismo, dichos lenguajes utilizan las funciones de .NET Framework, las
cuales ofrecen acceso a tecnologías clave para simplificar el desarrollo de aplicaciones
web ASP y Servicios Web XML [2].
Para trabajar con este conjunto de herramientas, es necesario su instalación. Guía
de instalación de este programa se puede consultar el Anexo A.
2.2 Framework .NET
Se puede considerar el motor, una plataforma de Microsoft Visual Studio para poder
compilar cada uno de los diferentes lenguajes con los que cuenta, desde código C#,
VB.Net, etc.
Se utiliza para desarrollar aplicaciones basadas en formularios, aplicaciones
basadas en web y servicios web. Hay una variedad de lenguajes de programación
disponibles en la plataforma .Net, siendo VB.Net y C # los más comunes. Se utiliza para
crear aplicaciones para Windows, móvil, web, etc. Proporciona muchas funcionalidades
y también es compatible con los estándares de la industria [3].
Ahora se hace un cambio drástico en orden del planteamiento de esta secuencia
de investigación, ya que es este apartado se inicia con conocer unos de los tantos
lenguajes con los que se puede trabajar en Visual Studio.
18
2.3 Visual Basic .NET
Visual Basic .NET es un lenguaje de programación orientado a objetos que cuenta con
los beneficios que le brinda .NET Framework, haciendo este lenguaje un de los más
utilizados en el desarrollo de diferentes situaciones de software, ya sea aplicaciones de
escritorio, servicios Windows o quizás una aplicación móvil.
Como antes se ha mencionado al contar con los beneficios de .Net Framework, lo
que quiere decir que tiene a su alcance cualquier herramienta o componente, también
cabe mencionar que la versatilidad de este lenguaje es muy fácil y dinámica [4].
Visual Basic permite desarrollar rápida y sencillamente una sección de controles
visuales con revisiones deslizantes, botones y registradores con un reglamento complejo
para que el beneficiario complete su objetivo [4].
2.4 Introducción al lenguaje C# y .NET Framework
C# es un lenguaje ordenado, con seguridad de tipos y orientado a objetos que permite a
los desarrolladores crear una gran variedad de aplicaciones seguras y sólidas que se
ejecutan en .NET Framework. Siendo un lenguaje tan grande para realizar diferentes
cosas, lo deja al usuario una interpretación racial de sus actividades al trabajar con este
lenguaje ya que cubre por si solo muchas de las necesidades comunes al instante de
comenzar a trabajar [5]. Puede usar C# para crear:
Aplicaciones cliente de Windows
Servicios web XML
Componentes distribuidos
Aplicaciones cliente-servidor
Aplicaciones de base de datos, etc.
19
2.4.1 Lenguaje C#
La sintaxis de C# es muy expresiva, pero también sencilla y fácil de aprender. Cualquier
persona familiarizada con C, C++ o Java, reconocerá al instante la sintaxis de llaves de
C#. La sintaxis de C# simplifica muchas de las complejidades de C++ y proporciona
características eficaces, como tipos de valor que aceptan valores NULL, enumeraciones,
delegados, expresiones lambda y acceso directo a memoria, que no se encuentran en
Java. Si tiene que interactuar con otro software de Windows, como objetos COM o
archivos DLL nativos de Win32, puede hacerlo en C# mediante un proceso denominado
"Interoperabilidad" [5].
Una parte muy importante en este recorrido del lenguaje C# como se menciona
anteriormente es la utilización de otro software de Windows, y es aquí donde expandes
al máximo los horizontes, con C# en muy fácil de interactuar con otro elemento, como lo
fue en mi caso una báscula, al intentar por medio de objetos COM la obtención del peso
de un paquete o por medio de conexión USB el lenguaje que más se adapto fue C#; sin
embargo, cabe mencionar que también pude realizar esto en VB [5].
2.4.2 Sistema de tipos de C#
C# es un lenguaje caracterizado por el sistema de tipos que tiene debido a todas las
variables y constantes que tienen un tipo, al igual que todas las expresiones que se
evalúan como un valor.
Cada una de las firmas de método especifica un tipo para cada parámetro de
entrada y para el valor devuelto. La biblioteca de clases .NET define un conjunto de tipos
numéricos integrados, así como tipos más complejos que representan una amplia
variedad de construcciones lógicas, como el sistema de archivos, conexiones de red,
colecciones y matrices de objetos, y fechas. Los programas de C# típicos usan tipos de
la biblioteca de clases, así como tipos definidos por el usuario que modelan los conceptos
que son específicos del dominio del problema del programa [5].
20
En la imagen siguiente se muestra la relación entre los tipos de valor y los tipos
de referencia.
.
Imagen 2: Tipos de valores y tipos de referencia [2].
2.4.2.1 Namespace C#
Los namespace son comúnmente usados en .Net Framework para la organización de
código, la organización de sus clases, esto lo hace ya que declara sus propias
namespace para la ayuda y control en el ámbito de nombre clase y métodos en proyectos
de programación grande.
Los namespace tienen las propiedades siguientes:
● Organizan proyectos de código de gran tamaño.
● Se delimitan mediante el operador “.”.
● La directiva using obvia la necesidad de especificar el namespace de nombres
para cada clase.
21
● El namespace global en el namespace “raíz”: global::System siempre hará
referencia al namespace System de .NET [5].
La siguiente imagen es un ejemplo de namespace en C# (véase imagen 3).
Imagen 3: Ejemplo namespace [2].
A continuación, se hace mención a otra herramienta utilizada en este proceso de
investigación, la cual es framework ionic.
2.5 Framework Ionic.
Framework Ionic es un conjunto de herramientas proporcionadas para crear aplicaciones
de escritorio y móviles de calidad y de alto rendimiento utilizando HTML, CSS y
JavaScript entre otras tecnologías web que sirven para facilitar la interfaz de usuario.
Cabe mencionar que tiene integraciones con Angular (el cuál fue el elegido para utilizar),
pero también hay integraciones oficiales con React y el soporte para Vue está en
desarrollo [6].
22
Las principales razones por las cuales se utilizó framework ionic son las siguientes:
1. Creación de aplicaciones multiplataforma, como iOS Nativo, Android, escritorio y la
web como una aplicación web progresiva, y lo más importante, todo con una única
base de código que sirve para correr en cualquier plataforma [6].
2. Está construido sobre una base muy confiable, en tecnologías web estandarizadas
(HTML, CSS y JavaScript), además, tiene una integración de API web modernas [6].
3. El diseño es muy simple, limpio y funcional. Muestra el mismo diseño, algunos estilos
cambian, pero esto es debido a las configuraciones de cada plataforma [6].
Para empezar a trabajar en con este framework hay que utilizar un editor de código,
como lo es Visual Studio Code, el cual tiene una fácil instalación. Para consultar la
instalación consulte el Anexo B.
Una vez que ya se cuenta con un Visual Studio Code, lo que hay que realizar es escribir
una serie de comando para comenzar la instalación de ionic y próximamente iniciar un
proyecto nuevo. Las acciones que se deben realizar son las siguientes:
1. Instalar Node.js un código abierto, un entorno de ejecución para JavaScript y así
también para utilizar el comando “npm” que es necesario para la instalación de
Ionic. Consultar la página https://nodejs.org/es/download/ para descargarlo de
inmediato.
2. Entrar a Visual Studio Code, utilizar la combinación de teclas “Ctrl + ñ” para poder
utilizar la CLI (Interfaz de Línea de Comandos) de Visual Studio Code y empezar
a escribir los otros comandos.
3. Ingresar el comando “npm install –g cordova” para utilizar las tecnologías
estándar web, es decir, para el desarrollo multiplataforma.
23
4. Al finalizar la instalación de cordova lo siguiente que hay que hacer es ingresar
el código “npm install –g ionic” para instalar framework ionic.
Cuando ya se tengan los pasos anteriores realizados, se puede crear un proyecto en
ionic, para hacer esto la secuencia es la siguiente:
1. Crear una carpeta en el directorio que sea, luego arrastrar a Visual Studio Code, en
la consola cambia a la carpeta con “cd –nombre carpeta--”. Verificar que se haya
cambiado a la carpeta.
2. Ingresar el código “ionic start –nombre del proyecto--” para descargar una plantilla
prefabricadas, seleccionar un instante después “Angular o React” para continuar la
descarga.
3. Al finalizar la descarga se encontrará otra carpeta con el nombre del proyecto, para
visualizar la plantilla lo que hay que hacer es cambiar a esa carpeta con “cd –nombre
del proyecto--” e ingresar el comando “ionic serve”.
Finalmente, otro tema que hay que considerar es que en este proceso como antes se
mencionó en el tema de lenguaje C#, se utiliza reconocimiento de otro software que se
requiere usar, por ejemplo, tener la respuesta o envió de datos de una maquina o
producto. Para este proceso de solución al problema planteado, las herramientas
necesarias y que estuvieron involucradas fueron basculas Torrey EQB 100/200 y
etiquetadoras zebra - GC420t.
El primer proceso era obtener el peso de una báscula y guardarlo sin repeticiones ni
errores al pesar, y que en este sistema estuvieran todas las básculas conectadas a una
sola computadora. Esto quedo realizado en VB .Net y después como una mejor
alternativa quedo otra versión hecha con Node.js y Ionic framework.
La segunda investigación importante fue mandar imprimir a la etiquetadora, cabe
mencionar que ya existe en esta empresa un código EPL y ZPL para la impresión de
etiquetas, pero como todo se investiga desde cero para la mayor capacidad de
comprensión fue un proceso tardado. Esto quedo realizado con el lenguaje C#.
24
Para la realización de la segunda actividad o proceso era necesario investigas sobre
la impresora zebra y EPL (Eltron Programming Language) que es lo principal para
poder conectar y comunicarse con esta impresora de etiquetas. A continuación, se
encuentra una breve descripción de este lenguaje. EPL es un lenguaje de programación
para etiquetas. Es una solicitud que envía los comandos con los textos que se van a
imprimir, estos son coordenadas, orientación, rotación, tamaños de letra y el texto, así
como código de barra y código QR. Si puede ser un problema el no saber que significa
cada comando y que valores acepta ya que en dado caso de no hacerlo bien
simplemente no imprime nada.
La siguiente imagen fue la más importante para entender los comandos de este
formato, la sintaxis muestra los parámetros que se envían a la impresora zebra.
25
Imagen 4: Sintaxis y parámetros EPL [3].
26
Capítulo 3
En este capítulo se encuentra el desarrollo de todo lo que se realizó para tener los
resultados que se esperaban, los procesos fueron repetitivos, y a veces hasta hechos
más de una vez ya que también el planteamiento de esta situación varía con las maneras
más optimas de realizar todo este proceso, hubo muchas reestructuraciones y finalmente
se llegó a una estructura final. A continuación, se describe todas las actividades y el
desarrollo para llegar a un resultado concreto.
3.1 Creación de registros, obtención y guardado del peso.
En primera instancia lo que se planeaba era un servicio de Windows el cual se encargaría
de estar corriendo, esperando tomar el peso de alguna de las básculas, esto se pensó
ya que sería un almacenamiento de los pesos y las básculas en un documento log.
Como se pensó en un principio varias básculas serian conectadas a una sola
computadora, como antes se mencionó, cada báscula es conectada a una computadora
y es usada por diferentes personas, entonces con esto se está reduciendo el uso de
hardware, y a la vez, teniendo un registro guardado diariamente.
Lo más importante que se realizó fue la obtención de los datos, para esto se creó
una función la cual recibe los datos, se utilizó una forma para pasar al TextBox y así mirar
si es correcto el peso y si se han tomado bien los datos de la báscula, para guardar el
peso en el registro del COM que estaba siendo usado.
Los siguientes puntos son algunas dificultades encontradas:
La creación de los logs, se tuvo que hacer con el formato de fecha para comprar y
que no se crearan uno diario, y ya creado solamente insertara y si no estaba creado
lo creará e insertará.
27
Los datos numéricos y texto de la báscula llegaban de uno por uno debido al buffer
que trasmite los datos, para esto la solución fue utilizar el método “sleep” para hacer
un espacio y completar la cantidad entera mandada de la báscula, ya que también
generaba conflicto al guardar la información.
Guardaba la información repetida en el registro.
La siguiente imagen tiene el código del método para recibir la información de la
báscula y el guardado en el archivo, se pueden observar algunas condiciones que sirven
para validar el guardado correcto de la información.
28
Imagen 5: Obtención del peso y guardado [4].
29
La siguiente imagen muestra el código donde se manda llamar las funciones que
creamos y se esta trabajando con un timer que manda la solicitud a la báscula.
Al igual para simular un servicio se utilizó el timer para verificar si se hacia
correctamente todo siempre, cabe mencionar que para obtener el valor del peso se debe
de solicitar por medio de la letra “P”.
Imagen 6: Llamado de funciones y solictud Timer [5].
3.2 Impresión en etiquetadora zebra - GC420t.
Otra situación que se encontró después de este trabajo es poder etiquetar la información
de peso, altura, ancho, largo, sucursal y destino, etc. Imprimiendo en el mismo instante.
Hasta aquí todo está bien, solo era hacer que la impresora zebra - GC420t imprima, aquí
es donde se utilizó la investigación de EPL.
En la siguiente imagen con el código, se está utilizando un timer para simular un
servicio de Windows, se hace esto porque este no se puede ejecutar hasta que lo se
convierte a ejecutable y se ejecuta como producto final, no se puede ver el proceso y
checar si va bien o no. En el timer se manda el texto a imprimir y el nombre de la
etiquetadora. Las funciones utilizadas, se pueden encontrar en el anexo D.
30
Imagen 7: Timer para imprimir [6].
Este fue un ejemplo para la impresora zebra, sin embargo, hay muchas maneras
diferentes en las que se puede hacer esto, por ejemplo, en VB .Net y JavaScript que
muestran otras ventajas para cada necesidad. Se optó por realizarlo en C# porque
muestra muchas ventajas en esta situación.
3.3 Creación de la interfaz en Framework Ionic.
La interfaz en la cual se unen los dos proyectos anteriores, lo del peso con la báscula y
lo de la impresora, es aquí ya que será la herramienta para el personal. Es importante
que se plasme una interfaz intuitiva y familiar para que todos puedan aprender fácilmente
a interactuar y llevar un proceso de trabajo más tranquilo.
31
En la siguiente imagen se puede ver la interfaz de la que se está hablando, con la
cual se trabajará. El código se puede consultar en el anexo E.
Imagen 8: interfaz Ionic [7].
La organización de esto fue con el objetivo, de conectar todo el trabajo en una
sola herramienta, como se puede observar, se toma a primera vez como una herramienta
cargada, pero cuando se conocen todos los procesos simultáneos que se hacen y se
reducen o todos los procesos que se concluyen en cuestión de minutos se convierte en
una herramienta muy fácil, sencilla y ligera.
Se crea un nuevo
documento de embarque
o carta porte y se limpian
campos.
Los datos que se piden de
cada paquete. Arriba se
pide la sucursal y el tipo.
Se guardan los datos y
se limpian los campos. Los datos se
muestran en una
lista máxima de
4 paquetes.
Manda Imprimir las etiquetas y
se limpia la lista.
32
Los procesos mencionados son los siguientes:
Registro de información y guardado.
Este proceso se hacía por dos personas, la primera registraba en papel los datos
del paquete, la segunda los registraba digitalmente.
Imprimir información en etiquetas.
La impresión de etiquetas se hacía hasta que la segunda persona anterior
registrara lo datos, lo que generaba complicación al momento de querer
transportar los paquetes rápido a otro lugar.
Resultados y discusión
Los resultados fueron los que se esperaban. Debido a esto fueron muy buenos y de gran
satisfacción. La realización de la interfaz para el usuario creada en Ionic fue muy buena
opción, ya que se tiene el beneficio multiplataforma desde un único código.
Microsoft Visual Studio fue un aliado gigante ya que cuenta con muchas
herramientas para la comunicación con otros dispositivos como fue la báscula y la
etiquetadora, sin embargo, no fue tan fácil porque tiene muchas tecnologías y
componentes, debido a esto, las especificaciones son claras y hay que entenderlas al
pie de la letra.
Las dos herramientas, la primera para obtener el peso y la segunda para etiquetar
fueron dos trabajos separados que se unieron en función de un único propósito, brindar
las funciones esperadas en la comunicación de los dispositivos.
33
Los resultados obtenidos como se menciona anteriormente fueron los esperados,
ya que se pudo utilizar una computadora para hacer el trabajo de las demás, se considera
el siguiente cálculo:
Donde:
Reducción = Reducción de computadoras.
Basculas = 5 básculas.
Computadoras= 5 computadoras (una por cada báscula).
Se obtiene:
Reducción = 80%.
Considerando las 5 computadoras como un 100%.
Cada computadora representa un 20%.
Queda una sola maquina donde por medio del sistema se han conectado las 5
basculas de trabajo.
Este proceso de realización fue largo, tedioso y cansado, tal vez si se hubiera
realizado con otras tecnologías o herramientas para creación de software, fuera sido más
rápido la conclusión de todo esto, pero hay que subrayar que todos los procesos que se
realizan en una empresa son con un estricto orden y una estructura ya predefinida.
El proceso de etiquetado fue el más tardado, la organización en la captura de la
información necesita ser exacta y la adecuada, para disminuir tiempo laboral en procesos
que están siendo problema en la empresa.
A continuación, se presenta el proceso para estimar la automatización de procesos:
Donde:
T = tiempo.
P = personas que realizan cada proceso.
Np = número de procesos.
Npaq = número de paquetes.
34
Rt = automatización de procesos (considerando aspectos como tiempo, personas,
numero de procesos y números de paquetes).
Se obtiene:
T = 45 minutos.
P = 3.
Np = 3.
Npaq = 10.
Rt = 67%.
Considerando matemáticamente 3 procesos en 45 minutos, dejando claro que en
el proceso de registro en papel de la información del paquete el tiempo estimado
era de 25 minutos, el tiempo de captura digital 18 minutos y el tiempo de
etiquetado 2 minutos.
Teniendo en cuenta también, para el cálculo que la reducción en tiempo es de
registro escrito y registro digital a la mitad, tomando como resultado en reducción
de tiempo en 13 minutos para registro digital y almacenamiento directo en base
de datos (consulte anexo F) y 2 minutos igual de etiquetado.
Conclusiones
Las aplicaciones son una fuerte herramienta que puede ahorrar el trabajo de muchas
personas y también el esfuerzo del personal. La mayor parte de las empresas están
tomado todos los avances con los que puedan ir involucrándose en este mundo
informático; sin embargo, hasta donde se puede llegar haciendo el uso de estas
tecnologías, de las herramientas que están y las que vienen, es un constante crecimiento
y la única opción es innovar.
Cuando se habla de la tecnología y del internet de las cosas, solamente un
programador sabe lo que es crear algo y saber que eso cubre alguna necesidad, es una
grata satisfacción, como se planteó en un principio, se puede concluir que se lograran
los objetivos expuestos y se cumplió la hipótesis.
35
Finalmente, los resultados fueron los esperados desde el comienzo, los logros
obtenidos caben resaltar son muy gratificantes y de mucho trabajo. No tengo sugerencias
futuras porque considero que la herramienta está completa, ya que cumple todas las
funciones que involucra el proceso de la llegada y traslado de los paquetes.
Anexos
A continuación, se incluyen los anexos para brindar una mayor comprensión a los
lectores. Si se es necesario, que se pueda consultar de manera inmediata del mismo
modo se incluyen las referencias que se necesitan para apertura más información.
Anexo A: Instalación de Microsoft Visual Studio
Microsoft Visual Studio es un programa que se debe de tener a la mano para cualquier
problema en el desarrollo de una solución de software a cualquier necesidad.
1. Ingresar a la página oficial https://visualstudio.microsoft.com/es/ para observar
qué versión de Microsoft Visual Studio se desea instalar.
2. Cuando se ha elegido la versión, dar click en “descargar”.
3. Instalar el instalador de Visual Studio, el cual se encuentra en “Descargas”.
● Desde la carpeta Descargas, hacer doble clic en el archivo de programa
previo. Se recibe un aviso de Control de cuentas de usuario, eligir Sí.
● Se pide aceptar los Términos de licencia de Microsoft y la Declaración de
privacidad de Microsoft. Elija Continuar.
4. Elección de las cargas de trabajo
Una vez instalado, el mismo programa instalador puede usarlo para personalizar la
instalación mediante la selección de los conjuntos de características, o cargas de
trabajo, que desee. Por ejemplo, si se desea realizar aplicaciones de escritorio,
desarrollo para móvil o quizás multiplataforma, es aquí donde se especifica, de igual
manera hay la opción de modificar las elecciones de las cargar de trabajo y poder
después quitar o poner más [1].
36
Para conocer la interfaz de trabajo, en la siguiente figura se ejemplifica el entorno
de Visual Studio.
Imagen 9: Ejemplo entorno Visual Studio [2].
Anexo B. Instalación de Visual Studio Code.
Visual es un editor de código que brinda muy buena interfaz y además incluye muchas
características para una mejor experiencia a la hora de programar.
1. Ingresar a la página https://code.visualstudio.com/ para descargar Visual Studio
Code. Dar click en “Download”, despliega las opciones de descarga y seleccionar la
que necesaria (véase la imagen 10).
37
Imagen 10: Descargar Visual Studio Code [3].
2. La primera pantalla pregunta si se acepta la licencia de Visual Studio Code para
continuar la instalación.
3. La segunda pantalla permite elegir el directorio de instalación, dar click en
“siguiente”.
4. La tercera pantalla permite elegir el nombre de la carpeta del menú de inicio.
5. La cuarta pantalla permite elegir algunas tareas adicionales tras la instalación. Se
sugiere marcar las casillas "Agregar la acción... " (véase la imagen 11).
38
Imagen 11: Carpeta del menú de inicio [4].
6. Finalmente se mostrarán las opciones elegidas en las pantallas anteriores. Para
iniciar la instalación, hacer clic en Instalar.
7. A continuación, se instalará Visual Studio Code.
Anexo C. Código de la báscula
En estas imágenes se encuentra el código para obtener el peso y guardarlo en un
archivo.
Imagen 12: declaración de namespace y variables [5].
39
Después de la declaración de namespace y algunas variables, está la siguiente
función la cual se utiliza para configurar el puerto serie o puerto COM que este en uso.
Imagen 13: configuración puerto serie [6].
Ahora bien, cuando ya se ha hecho la configuración, lo que sigue es crear los logs
para cada puerto COM, estos se deben de crear diariamente y solo para guardar la
información que se puede obtener con la báscula.
40
El siguiente código realiza esto, se utiliza un combo box debido a que se utilizó
una forma para verificar que COM estaba siendo utilizado.
Imagen 14: identificación de puertos COM y creación de logs [7].
41
La siguiente forma se utilizo para vertificar los datos y para ajustar la creación de
las validaciones.
Imagen 15: Diseño form1 [8].
Anexo D. Código de la impresora zebra - GC420t.
A continuación, se muestra las declaraciones y funciones que completan la información
de los ejemplos expuestos.
En la siguiente imagen se hace la declaración de namespace y las funciones que
se utilizan para mandar imprimir.
42
Imagen 16: Namespace y funciones C# [9].
Como se puede observar al finalizar del código anterior se está utilizando la
función RawPrinterHelper la cual se encuentra la estructura y declaraciones API
utilizando e importando una biblioteca de enlace dinámico o DLL. Así también al final se
encuentra la función SendStringToPrinter la cual convierte la cadena de texto a ANSI y
la envía a la impresora.
43
Imagen 17: Estructura y declaraciones API [10].
44
Anexo E. Utilización de Ionic
Como se hizo mención, la clave final fue este framework, debido a las características que
ofrece, es decir, brindando una creación multiplataforma y además diversas
herramientas que hacen el trabajo fácil.
El código a continuación fue la creación de la interfaz de trabajo en Ionic.
<ion-header>
<ion-toolbar>
<ion-button color="success">Nuevo</ion-button>
<h1>
Documento Embarque
</h1>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-card>
<ion-card-header>
<ion-card-
subtitle>Llene el registro correctamente y verifique la información.</ion-card-
subtitle>
</ion-card-header>
</ion-card>
<ion-list>
<ion-item>
<ion-label>Sucursal</ion-label>
<ion-select placeholder="Seleccione">
<ion-select-option value="gdl">Guadalajara</ion-select-option>
<ion-select-option value="cl">Culiacan</ion-select-option>
<ion-select-option value="mls">Morelos</ion-select-option>
<ion-select-option value="cha">Chihuahua</ion-select-option>
</ion-select>
</ion-item>
45
<ion-item>
<ion-label>Otros servicios</ion-label>
<ion-select placeholder="Seleccione">
<ion-select-option value="ead">EAD</ion-select-option>
<ion-select-option value="fxc">FXC</ion-select-option>
<ion-select-option value="acuse">ACUSE</ion-select-option>
<ion-select-option value="pagado">PAGADO</ion-select-option>
<ion-select-option value="ocurre">OCURRE</ion-select-option>
<ion-select-option value="credito">CREDITO</ion-select-option>
</ion-select>
</ion-item>
</ion-list>
<ion-list-header>
<ion-label>Cantidad: </ion-label>
<ion-input type="number" placeholder="num. bultos"></ion-input>
</ion-list-header>
<ion-list-header>
<ion-label>Descripción: </ion-label>
<ion-textarea placeholder="Descripción"></ion-textarea>
</ion-list-header>
<ion-list-header>
<ion-label>Medidas: </ion-label>
<ion-input type="number" placeholder="Ancho"></ion-input>
<ion-input type="number" placeholder="Altura"></ion-input>
<ion-input type="number" placeholder="Largo"></ion-input>
</ion-list-header>
<ion-list-header>
<ion-label>Peso: </ion-label>
<ion-input type="number" placeholder="kg."></ion-input>
<ion-button color="primary">Guardar</ion-button>
</ion-list-header>
<ion-card>
<ion-list style="background-color: sandybrown;">
<ion-item>
<ion-label>Guadalajara, PAGADO, Caja, 10, 10, 5, 12 kg</ion-label>
</ion-item>
<ion-item>
<ion-label>Morelos, CREDITO, Caja, 4, 4, 2, 5 kg</ion-label>
</ion-item>
<ion-item>
46
<ion-label>Cualiacan PAGADA, Caja, 5, 5, 1, 2 kg</ion-label>
</ion-item>
<ion-item>
<ion-label>Chihuahua, CREDITO, 3, 2, 3, 10 kg</ion-label>
</ion-item>
</ion-list>
</ion-card>
<ion-header>
<ion-toolbar>
<ion-button color="warning">Imprimir</ion-button>
</ion-toolbar>
</ion-header>
</ion-content> Imagen 18: Vista Ionic [11].
Anexo F. Base de datos.
Para el almacenamiento de la información de la carta porte o embarque, que son los
datos del paquete y demás, se utilizó MySQL con la herramienta SQLyog. MySQL es un
sistema de gestión de base de datos relacional, multadillo y multiusuario [12].
SQLyog es una excelente interfaz gráfica diseñada especialmente para trabajar
de forma más rápida y cómoda con el servidor de base de datos MySQL. El programa
está orientado a usuarios que ya tienen ciertos conocimientos de SQL y necesitan un
intérprete gráfico sin excesivas florituras, ágil y funcional [13].
SQLyog permite administrar usuarios y permisos, y realizar múltiples peticiones a
base de datos. También se puede insertar fácilmente, mediante plantillas, peticiones que
realices con frecuencia, como por ejemplo creación de tablas. Otras opciones son la
exportación de datos en formato CSV, HTML y XML, la optimización de bases de datos,
la posibilidad de guardar scripts de SQL como favoritos [13].
47
Lo primero a realizar en MySQL es la creación de la base de datos y las tablas
para tener la estructura con un modelo entidad relación y luego una visualización en un
modelo relacional. Y así tener todo para empezar a trabajar con la aplicación
directamente.
A continuación, se enlista las imágenes donde se puede observar lo que se
menciona anteriormente. En la siguiente imagen se muestra la pantalla donde se debe
de ingresar el nombre de la base de datos y se crea dicha base de datos.
Imagen 19: creación base de datos.
Modelo Entidad – Relación: este modelo es solo y exclusivamente un método del
que se dispone para diseñar estos esquemas que posteriormente se debe de
implementar en un gestor de BBDD (bases de datos). Este modelo se representa a través
de diagramas y está formado por varios elementos. Este modelo habitualmente, además
de disponer de un diagrama que ayuda a entender los datos y como se relacionan entre
ellos, debe de ser completado con un pequeño resumen con la lista de los atributos y las
relaciones de cada elemento [14].
Modelo relacional: En el modelo relacional se utiliza un grupo de tablas para
representar los datos y las relaciones entre ellos. Cada tabla está compuesta por varias
columnas, y cada columna tiene un nombre único. El modelo relacional se encuentra a
un nivel de abstracción inferior al modelo de datos E-R (Entidad - Relación). Los diseños
de bases de datos a menudo se realizan en el modelo E-R, y después se traducen al
48
modelo relacional [15]. A continuación, se muestra el modelo relacional con el que se
trabajó con los procedimientos almacenados las consultas (véase imagen 20).
Imagen 20: Modelo relacional.
Cuando se tiene lo anterior ya establecido, lo que se hizo fue crear procedimientos
almacenados lo cuales se necesitan para tener las consultas a la base de datos más
rápidamente y así solo mandarlas llamar cuando se requieran.
Procedimiento almacenado: son un conjunto de instrucciones SQL más una serie
de estructuras de control que permiten dotar de cierta lógica al procedimiento. Estos
procedimientos están guardados —almacenados— en el servidor y pueden ser
accedidos a través de llamadas. Se los puede invocar (solicitar) a partir de un intérprete
de comandos SQL, desde cualquier aplicación con acceso a la base de datos o desde
otro procedimiento almacenado.
49
Una vez que se ha creado el procedimiento almacenado, se almacena en formato
ejecutable en la base de datos como un objeto. Esto le permite omitir la compilación y
optimización repetidas de SQL, aumentando el rendimiento de las tareas que se repiten
con frecuencia [16].
Las imágenes que se plasman a continuación, son los procedimientos realizados
para lo inserción de los datos y almacenamiento, además los que son para mostrar
información de selección.
Imagen 21: Procedimiento almacenado sucursales.
Imagen 22: Procedimiento almacenado servicios.
50
Los procedimientos almacenados en los cuales tarde y se hicieron con dificultad
fueron los siguientes.
Imagen 23: Procedimiento almacenado embarque.
Imagen 24: Procedimiento almacenado paquetes.
Como se pudo observar los dos procedimientos almacenados son para insertar,
donde reciben parámetros y se hace la sentencia de insertar y se asignan o se cambian
los valores para registrar en las tablas de embarque y paquete.
51
Para insertar de embarques se tiene que tener servicio y sucursal, los cuales para
hacer verificaciones y modificaciones se tienen que llenar en la base de datos de manera
manual, realizando de igual forma consultas “SELECT” con información que no es
auténtica, solo para hacer pruebas para los procesos. En seguida se presenta las
instrucciones para insertar que se menciona anteriormente.
Imagen 25: Insertar manualmente.
La imagen 26 muestra cómo se mandar llamar los procedimientos almacenados para
hacer pruebas en la base de datos y estar seguros cuando se utilicen en el código de la
aplicación.
Imagen 26: Llamar los procedimientos.
52
Bibliografías
[1]. Tinypack.mx. (2019). Servicios logísticos - paquetería, transporte y distribución de
mercancía. [online] Disponible en: http://www.tinypack.mx/empresa.html.
[2]. Docs.microsoft.com. (2019). Overview of Visual Studio. [online] Disponible en:
https://docs.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=vs-
2019.
[3]. Microsoft. (2019). What is .NET? An open-source developer platform. [online]
Disponible en: https://dotnet.microsoft.com/learn/dotnet/what-is-dotnet.
[4]. Cursosenlinea.tic.unam.mx. (2019). Presentación del curso. [online] Disponible en:
http://cursosenlinea.tic.unam.mx/cursos/Lenguaje_de_programacion_VISUAL_BASIC_.
NET.htm.
[5]. Microsoft. (2019). [online] Disponible en: https://docs.microsoft.com/en-
us/dotnet/csharp/getting-started/introduction-to-the-csharp language-and-the-net-
framework.
[6]. Ionic Docs. (2019). Installing Ionic - Ionic Documentation. [online] Disponible en:
https://ionicframework.com/docs/installation/cli.
Bibliografías de imagenes:
[1]. TinyPack. (2019). TinyPack. [online] Disponible en:
https://www.google.com.mx/maps/place/TinyPack/@23.2326793,-
106.3925162,17z/data=!3m1!4b1!4m5!3m4!1s0x869f52fcfcdb0407:0x11eb91bd0fe879e
2!8m2!3d23.2326744!4d-106.3903275.
[2]. Microsoft. (2019). What is .NET? An open-source developer platform. [online]
Disponible en: https://dotnet.microsoft.com/learn/dotnet/what-is-dotnet.
[3]. Servopack.de. (2019). EPL. [online] Disponible en:
https://www.servopack.de/support/zebra/EPL2_Manual.pdf.
[4, 5, 6, 7]. Recursos del autor.
53
Bibliografías de anexos
Referencia de anexo A.
[1]. Visual Studio. (2019). IDE de Visual Studio, editor de código, Azure DevOps y App
Center - Visual Studio. [online] Disponible en: https://visualstudio.microsoft.com/es/.
Referencia de imágenes.
[2]. Recursos del autor.
Referencia de anexo B.
[3]. Code, V. (2019). Visual Studio Code - Code Editing. Redefined. [online]
Code.visualstudio.com. Disponible en: https://code.visualstudio.com/.
Referencia de imágenes.
[4]. Code, V. (2019). Visual Studio Code - Code Editing. Redefined. [online]
Code.visualstudio.com. Disponible en: https://code.visualstudio.com/.
Referencia de imagen anexo C.
[5, 6, 7, 8]. Recursos del autor.
Referencia de imágenes anexo D.
[9, 10]. Recursos el autor.
Referencia de imágenes anexo E.
[11]. Recurso del autor.
Referencia de imágenes anexo F.
54
[12]."MySQL - EcuRed", Ecured.cu, 2019. [Online]. Disponible en:
https://www.ecured.cu/MySQL.
[13]. "SQLyog - EcuRed", Ecured.cu, 2019. [Online]. Disponible en:
https://www.ecured.cu/SQLyog.
[14]. P. Gutiérrez, "Fundamento de las bases de datos: Modelo entidad-relación",
Genbeta.com, 2019. [Online]. Disponible en:
https://www.genbeta.com/desarrollo/fundamento-de-las-bases-de-datos-modelo-
entidad-relacion.
[15]. "Modelo relacional - Base de Datos", Sites.google.com, 2019. [Online]. Disponible
en: https://sites.google.com/site/basdededatosrelacionales/home/contenido/subtema-
2/modelo-relacional.
[16]. [3]"Glosario informático - Definición de términos informáticos", Glosarioit.com, 2019.
[Online]. Disponible en: https://www.glosarioit.com/Procedimiento_almacenado.
Glosario
Sistema: técnica o herramienta en la cual los procesos y almacenamiento de información
son muy utilizados, para lo cual se vale de un grupo de elementos que se relacionan
entre sí [1].
Hardware: La parte material (física) de un equipo de cómputo [2].
Software: conjunto de programas, instrucciones y reglas informáticas que permiten
ejecutar distintas tareas en una computadora [3].
carta porte: es un comprobante de traslado en el que se consta la mercancía que se
transporta al representar un contrato que atribuye derechos sobre esta operación [4].
Framework: es una plataforma para desarrollar aplicaciones de software. Presentan
diversas ventajas y el uso varía dependiendo las necesidades de los usuarios [5].
Programación: la acción de crear o desarrollar aplicaciones o sistemas para cualquier
plataforma o ya sea multiplataforma [6].
Expresión lambda: subrutina definida que no está enlazada a un identificador [7].
Aplicación: Es un programa informático que permitir a un usuario realizar uno o varios
tipos de trabajo [8].
55
Variable: son espacios reservados en la memoria, son utilizadas para guardar datos y
su contenido puede ser modificado constantemente [9].
Función: es código que permite modular el programa, permitiendo dividir
funcionalidades para usarlos con solo mandarlas llamar, sin repetir código [10].
Logs: refiere a la grabación secuencial en un archivo. De esta forma constituye una
evidencia del comportamiento del sistema [11].
sleep: Suspende el proceso actual durante el tiempo especificado [12].
Timer: es un temporizador que nos permite ejecutar código cada cierto intervalo de
tiempo [13].
API: un conjunto de subprocesos, funciones y procedimientos que ofrece cierta biblioteca
para ser utilizado por otro software como una capa de abstracción. Son muy utilizadas
en procesos de comunicación entre dispositivos por medio de páginas web [14].
DLL: archivos con código ejecutable que se cargan bajo demanda de un programa o
sistema por parte del sistema operativo [15].
ANSI: estándar para la codificación de caracteres relacionado con Microsoft. El formato
ANSI utiliza 8 bits para cada uno [16].
Bibliografías glosario
[1]. Tecnología + Informática. (2019). ¿Qué es un sistema informático? - Tecnología +
Informática. [online] Disponible en: https://tecnologia-informatica.com/que-es-sistema-
informatico/.
[2]. Definición.de. (2019). Definición de hardware — Definicion.de. [online] Disponible en:
https://definicion.de/hardware/.
[3]. Definición.de. (2019). Definición de software — Definicion.de. [online] Disponible en:
https://definicion.de/software/.
[4]. Retos-operaciones-logistica.eae.es. (2019). Carta de porte: Todo lo que no sabías |
EAE. [online] Disponible en: https://retos-operaciones-logistica.eae.es/todo-lo-que-no-
sabias-de-la-carta-de-porte/.
[5]. Neoattack. (2019). ¿Qué es un Framework y para qué sirve? - Neo Wiki | NeoAttack.
[online] Available at: https://neoattack.com/neowiki/framework/.
56
[6]. Concepto.de. (2019). Programación: Concepto, Ejemplos y Programación
informática. [online] Disponible en: https://concepto.de/programacion/.
[7]. Docs.microsoft.com. (2019). Lambda expressions - C# Programming Guide. [online]
Disponible en: https://docs.microsoft.com/en-us/dotnet/csharp/programming-
guide/statements-expressions-operators/lambda-expressions.
[8]. Definición ABC. (2019). Definición de Aplicación. [online] Disponible en:
https://www.definicionabc.com/tecnologia/aplicacion.php.
[9]. Concepto.de. (2019). Variable: Concepto, Usos y Tipos de variables. [online]
Disponible en: https://concepto.de/variable/.
[10]. Stack Overflow en español. (2019). Diferencias entre métodos, procedimiento,
función, para que sirven cada uno y como se declaran en C#. [online] Disponible en:
https://es.stackoverflow.com/questions/7403/diferenciasentrem%C3%A9todosprocedimi
ento-funci%C3%B3n-para-que-sirven-cada-uno-y-co.
[11]. Ankama. (2019). ¿Qué es un log?. [online] Disponible en:
https://support.ankama.com/hc/es/articles/203790076--Qu%C3%A9-es-un-log-.
[12]. Docs.microsoft.com. (2019). Thread. Sleep Method (System. Threading). [online]
Disponible en: https://docs.microsoft.com/en-
us/dotnet/api/system.threading.thread.sleep?view=netframework-4.8.
[13]. Recursosvisualbasic.com.ar. (2019). Control Timer - Recursos Visual Basic. [online]
Available at: https://www.recursosvisualbasic.com.ar/htm/tutoriales/control_timer.htm.
[14]. Redhat.com. (2019). ¿Qué es una API? [online] Available at:
https://www.redhat.com/es/topics/api/what-are-application-programming-interfaces.
[15]. Support.microsoft.com. (2019). [online] Disponible en:
https://support.microsoft.com/es-mx/help/815065/what-is-a-dll.
[16]. Ecured.cu. (2019). ANSI - EcuRed. [online] Disponible en:
https://www.ecured.cu/ANSI.