3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
17
SISTEMA DE INTELIGENCIA DE NEGOCIOS PARA SOPORTE
DE DECISIONES EN LA COMERCIALIZACIÓN DE PLANTAS
ORNAMENTALES
BUSINESS INTELLIGENCE SYSTEM FOR DECISION MAKING IN
THE COMMERCIALIZATION OF ORNAMENTAL PLANTS
Héctor Adán Morales Lugo
Estudiante de Maestría del Tecnológico Nacional de México, Instituto Tecnológico Nacional de México/I.T. Colima,
(México).
E-mail: rotceh1296@hotmail.com ORCID: https://orcid.org/0000-0002-1407-3361
Patricia Elizabeth Figueroa Millán
Profesor adjunto de la División de Estudios de Posgrado del Tecnológico Nacional de México/I.T. Colima, (México).
E-mail: patricia.gueroa@colima.tecnm.mx ORCID: https://orcid.org/0000-0001-7562-7578
Nicandro Farías Mendoza
Profesor adjunto de la División de Estudios de Posgrado del Tecnológico Nacional de México/I.T. Colima, (México).
E-mail: nfarias@colima.tecnm.mx ORCID: https://orcid.org/0000-0001-5543-0719
Ramona Evelia Chávez Valdez
Profesor adjunto de la División de Estudios de Posgrado del Tecnológico Nacional de México/I.T. Colima, (México).
E-mail: echavez@colima.tecnm.mx ORCID: https://orcid.org/0000-0002-5697-6825
Recepción:
03/06/2020
Aceptación:
01/09/2020
Publicación:
14/09/2020
Citación sugerida:
Morales, H.A., Figueroa, P.E., Farias, N., y Chávez, R.E. (2020). Sistema de inteligencia de negocios para soporte de
decisiones en la comercialización de plantas ornamentales. 3C Tecnología. Glosas de innovación aplicadas a la pyme, 9(3),
17-45. https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
18
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
RESUMEN
La horticultura ornamental en México es una industria en crecimiento que requiere la inclusión de
diversas tecnologías para automatizar la producción y comercialización a n de incrementar su
rentabilidad. Para esto, el análisis de los datos es clave, permitiendo la obtención de conocimiento para
el soporte a la toma de decisiones; no obstante, implica un tiempo exhaustivo de procesamiento de
información, afectando la productividad de las empresas debido a la falta de un sistema de apoyo a la
toma de decisiones que implemente herramientas dinámicas de inteligencia de negocios. Este trabajo
de investigación propone un sistema web de inteligencia de negocios para la creación de herramientas
dinámicas y ejecución de consultas asíncronas a la base de datos; lo cual, proporciona un análisis de
la información histórica de la comercialización de plantas ornamentales mediante tablas, grácas y
reportes. Está desarrollado utilizando la metodología PUA, el lenguaje de programación Python y el
framework Django, empleando un enfoque innovador al aplicar el algoritmo DFS como mecanismo de
búsqueda para determinar la relación existente entre las tablas de la base de datos, reduciendo tiempo
de extracción, procesamiento, análisis y presentación de información. Como resultado se logró mejorar
el aprovechamiento de la información histórica, ecientar el procesamiento y análisis de la información
de comercialización y, por consiguiente, mejorar los procesos de toma de decisiones.
PALABRAS CLAVE
Algoritmo DFS, Horticultura ornamental, Sistema de inteligencia de negocios, DSS, Consultas SQL
dinámicas.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
19
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
ABSTRACT
Ornamental horticulture in Mexico is a growing industry that requires the inclusion of various technologies to automate
production and marketing in order to increase its protability. For this, data analysis is key, allowing obtaining knowledge
to support decision-making; However, it involves exhaustive information processing time, aecting the productivity of
companies due to the lack of a decision support system that implements dynamic business intelligence tools. This research
work proposes a business intelligence web system for the creation of dynamic tools and execution of asynchronous queries
to the database; which provides an analysis of the historical information on the commercialization of ornamental plants
through tables, graphs and reports. It is developed using the PUA methodology, the Python programming language and the
Django framework, employing an innovative approach by applying the DFS algorithm as a search mechanism to determine
the relationship between the database tables, reducing extraction time, processing , analysis and presentation of information.
As a result, it was possible to improve the use of historical information, streamline the processing and analysis of marketing
information and, consequently, improve decision-making processes.
KEYWORDS
Ornamental horticulture, Business intelligence system, DFS algorithm, DSS, Dynamic SQL queries.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
20
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
1. INTRODUCCIÓN
La horticultura es un segmento de la agricultura relacionado no solo con la cultura vegetal, conocida
como horticultura alimentaria; sino también, con un gran número de especies como plantas para el
embellecimiento de espacios físicos, a lo cual se le conoce como horticultura ornamental. La horticultura
involucra diferentes áreas altamente relacionadas que ofrecen grandes oportunidades para educación,
recursos, industrias profesionales, tecnología y empleo (Paiva, 2018). En cuanto a lo anterior, la tecnología
ha demostrado ser una herramienta clave para mejorar la capacidad productiva, la competitividad y la
comercialización de productos, incluyendo los productos de la horticultura ornamental.
Sin embargo, para que la horticultura ornamental en México pueda ser considerada como una industria
ornamental con alcances internacionales de competitividad, se requiere de grandes pasos para solventar
los problemas de hardware, conocimiento, infraestructura y cooperación, ya que se observa la inclusión
de la tecnología en tres niveles de estraticación: bajo, medio y alto; lo cual, afecta negativamente
cuestiones como el análisis, priorización, toma de decisiones y diseño de futuros sistemas (García, van
der Valk, y Elings, 2011). Además, la focalización es un factor clave para asegurar el valor implícito de
la información, como elemento principal para la toma de decisiones; es decir, es fundamental que se
determine el conjunto de variedades estratégicas de las ores y plantas de ornato con la nalidad de
orientar la generación de bases mínimas de información y así comprender el funcionamiento de la oferta
y las necesidades especícas de la demanda (Coepplants Colima A. C., 2012).
Por consiguiente, el análisis de datos históricos es un factor clave para generar estrategias de
comercialización y producción, permitiendo la obtención de conocimiento para el soporte a la toma de
decisiones. No obstante, para las habilidades de un humano es un proceso complejo, tedioso, inecaz
e ineciente; lo cual, afecta la productividad de las empresas. Ante esto, surgen distintas estrategias
para utilizar los datos de las empresas y convertirlos en información útil para la toma de decisiones,
tal es el caso de las herramientas de inteligencia de negocios (BI, por sus siglas en inglés) y los sistemas
de apoyo a la toma de decisiones (DSS, por sus siglas en inglés). Las herramientas BI combinan la
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
21
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
obtención y almacenamiento de datos con herramientas analíticas que presentan información compleja
y competitiva a los tomadores de decisiones (Roldán, Cepeda-Carrión, y Galán, 2012). Se utilizan en la
generación, tratamiento y comunicación de la información, proporcionando una visión estratégica del
negocio para transformar grandes cantidades de datos en información de calidad; asimismo, proveen
recursos como análisis, pronóstico, monitoreo, control y optimización para gestionar la calidad de los
procesos y tomar decisiones oportunas (Silva, Silva y Gomes, 2016). Por otro lado, los sistemas DSS, son
considerados como sistemas de información basados en ordenadores que combinan modelos y datos,
tienen la nalidad de resolver problemas semiestructurados con una amplia implicación del usuario,
permitiendo otorgar herramientas que posibilitan la toma de decisiones analítica y cuantitativa con base
en la información resultante (Power, 2011).
Ambos términos son muy similares, ya que permiten “tomar decisiones comerciales”; además, se enfocan
en apuntalar el proceso de toma de decisiones en las empresas de manera eciente y ecaz con base en
los datos de éstas. A pesar de esto, los sistemas BI no siguen una estructura ja como los DSS, es decir,
su estructura no es estable, permitiendo a los desarrolladores de soluciones de inteligencia de negocios
cubrir solo algunos de los componentes de un DSS o ampliar su funcionalidad según el contexto al que
será aplicado (Kopackova y Škrobáčková, 2006).
Existen distintos casos de estudios, hasta donde se tiene conocimiento, que describen el desarrollo e
implementación de diversos sistemas BI para apoyar a la toma de decisiones, no necesariamente
aplicados al sector hortícola ornamental, pero que consideran puntos claves en la importancia de la
implementación de este tipo de sistemas en las empresas. En particular, Medeiros (2017), describe el
desarrollo e implementación de un sistema BI para apoyar a la toma de decisiones en los procesos de
gestión académica, el cual está desarrollado en Excel, implementando un cubo de datos y un gran
número de herramientas para procesar y visualizar la información de forma dinámica; sin embargo, no
es accesible desde cualquier dispositivo, ya que las tecnologías empleadas se utilizan en un ámbito local,
imposibilitando el acceso, procesamiento y análisis remoto de la información.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
22
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Damasceno, Azevedo, y Pinto (2018) describen la implementación de un sistema BI mediante un
Data Mart, un Data Warehouse y un Cubo de Datos, utilizando la herramienta Pentaho. Éste permite
visualizar la información de una base de datos dinámicamente mediante tablas y grácas; sin embargo,
se desarrolló como una aplicación para escritorio que no puede ser utilizada por dispositivos remotos y
que además, requiere de conocimiento de las herramientas, el lenguaje SQL y bases de datos para su
conguración y que además, no muestra un resultado preciso sobre el potencial de la herramienta, los
benecios o su eciencia.
Castro et al. (2019) plantean la implementación de un tablero o dashboard BI aplicado a la gestión
administrativa; en el cual, visualizan por medio de un tablero o dashboard la información mediante
grácas a partir de la información solicitada por formularios de Google y de la extracción de información
de una BD; sin embargo, se describe como una solución para un procesamiento básico de la información.
En el caso de estudio de Santillán y Mendoza (2015), se desarrolló un sistema web de apoyo a ejecutivos
que, mediante la generación de grácas y reportes, apoya a la toma eciente de decisiones en los procesos
de compras. La información es extraída de una base datos histórica; sin embargo, no otorga al usuario
herramientas de inteligencia de negocios que le permitan realizar un análisis y una toma de decisiones
eciente; además, no permite manipular la información dinámicamente.
Por otro lado, Zimmermann (2006) describe un sistema BI para escritorio que ayuda a tomar decisiones
a partir de reportes utilizando un componente de Delphi y un cubo de datos para generar la información
extraída de la base de datos. Permite la visualización de los datos mediante tablas, grácas y reportes; sin
embargo, las tecnologías utilizadas son para la actualidad obsoletas y requiere de conocimiento básico de
SQL para realizar un cambio de base de datos, consultas, etc. No utiliza ningún tipo de algoritmo para
automatizar el proceso de consultas dinámicas.
Como se puede observar, en la literatura existen pocos ejemplos de sistemas BI para la horticultura
ornamental, aun cuando la mayoría de los casos de estudio descritos anteriormente presentan una buena
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
23
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
alternativa para apoyar a la toma de decisiones; sin embargo, estos cuentan con ciertas limitaciones y
áreas de oportunidad que pueden aprovecharse ya que son:
Desarrollados o implementados como aplicaciones de escritorio; por lo cual, para las demandas
de la actualidad, se puede considerar como una ventaja y área de oportunidad, el desarrollo de
una alternativa web para el acceso remoto al sistema y a la información analizada por éste.
Implementados con tecnologías obsoletas, interfaces o dashboards no muy amigables para el
usuario; por lo tanto, la utilización de tecnologías de vanguardia y de acceso a abierto posibilita el
acceso ubicuo al sistema BI.
Diseñados para ser manejados por un experto, sin contar con una alternativa para los usuarios no
expertos en el tema.
Así mismo, la empresa ORNACOL, dedicada a la comercialización de plantas ornamentales en la ciudad
de Colima, cuenta con un sistema web que permite administrar los procesos de comercialización de plantas
ornamentales y seguir la trazabilidad hacia adelante, en donde los datos históricos son almacenados en
una base de datos y son utilizados para el funcionamiento del sistema (García-Mejía, García-Virgen,
y Chávez-Valdez, 2018) modicando los bienes y servicios que se intercambian, así como los modos
en que se producen, almacenan, distribuyen, transportan y comercializan. Este nuevo escenario abre
una variedad de interrogantes para las políticas comerciales. La trazabilidad surge como consecuencia
de cambios en los hábitos de los consumidores, quienes exigen cada vez más seguridad alimentaria
(recolección, elaboración, almacenaje, distribución, etc.. Este sistema genera grandes cantidades de
información sobre la comercialización de plantas ornamentales, que está siendo desaprovechadas, ya
que el sistema no cuenta con un sistema de apoyo a la toma de decisiones que le permita automatizar
los procesos manuales de procesamiento y análisis de la información que la empresa lleva a cabo.
Utilizando correctamente la información histórica se puede disminuir los tiempos de procesamiento,
análisis y apoyar al proceso de toma de decisiones de la empresa sobre la comercialización de las plantas
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
24
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
ornamentales, con la nalidad de comprender el funcionamiento de la oferta y las necesidades especícas
de la demanda como se mencionó anteriormente.
Por lo tanto, tomando como caso de estudio la empresa ORNACOL, en este artículo se el desarrollo
y aplicación de un sistema BI para el soporte en la toma de decisiones sobre la comercialización de
plantas ornamentales. Éste permite resolver problemas semiestructurados, tomando los datos históricos
de comercialización generados por el sistema descrito anteriormente, con la nalidad de proporcionar
sugerencias o soluciones complejas dirigidas a estos datos. Este sistema BI es desarrollado por fases e
implementado como un sistema web basado en lenguajes de programación de uso libre como Python
y Django para el procesamiento y análisis eciente de datos. Utiliza el estilo arquitectural REST para
la construcción de WEB APIs y la ejecución de peticiones asíncronas al sistema de comercialización
previamente mencionado. Este sistema permite aprovechar la información generada por el sistema
de comercialización y apoyar en la toma de decisiones para la generación de mejores estrategias de
comercialización.
Así pues, las principales características del sistema BI propuesto permiten cumplir los siguientes objetivos:
Consultar información a la base de datos histórica.
Creación de herramientas de inteligencia de negocios con interfaces ergonómicas, que permiten
la visualización y manipulación de información en tiempo cuasi-real.
Reducción de tiempo de procesamiento y análisis de cantidades masivas de información.
Mejorar la toma de decisiones.
Comprender el funcionamiento de la oferta y las necesidades especícas de la demanda.
Por lo tanto, en este trabajo se describe un nuevo enfoque para la aplicación de sistemas BI en el sector
de la horticultura ornamental, contribuyendo a solucionar unas de las problemáticas encontradas de
manera especíca en el estado de Colima, como se establece en el Plan Estratégico para la Operación
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
25
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Anual del Componente de Desarrollo de Capacidades y Extensionismo Rural del Estado de Colima,
siendo éstas: el cultivo de plantas sin una planeación en el mercado y el uso de canales de comercialización
inadecuados.
Este sistema, como un mecanismo de soporte en el proceso de toma de decisiones, permitirá en un
futuro la planicación de las especies a cultivar orientadas al mercado mediante la identicación de
las variedades requeridas o demandadas por éste y, por consiguiente, generar mejores estrategias de
comercialización. Cabe señalar, que este sistema puede ser extrapolado o contextualizado a cualquier
otro sistema producto.
2. METODOLOGÍA
El desarrollo de la investigación se llevó a cabo en las instalaciones de la empresa ORNACOL en el
municipio de Coquimatlán, Colima, fundamentándose en una investigación mixta, utilizando el enfoque
cualitativo para hacer un estudio sobre el impacto de la implementación del sistema en la empresa,
y cuantitativo para precisar la misma y dar solución a las problemáticas del sector en cuanto a la
comercialización de plantas ornamentales.
La arquitectura del sistema propuesto sigue la arquitectura de un DSS con las características de
contextualización de un sistema BI y, debido a la utilización de una metodología por fases para el
desarrollo del software, se diseñó de la siguiente manera:
Descripción de los tipos de problemas semiestructurados: punto principal de un sistema
de inteligencia de negocios con soporte para la toma de decisiones, ya que éstos requieren del
conocimiento humano para lograr las decisiones nales.
Especicación de la taxonomía de interacción activa: proporciona sugerencias o soluciones
estables a problemas complejos.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
26
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Especicación de la taxonomía de uso dirigida a datos: enfatiza la recuperación de datos
de una base de datos histórica.
Metodología: en este caso se decidió utilizar una metodología por fases llamada Proceso
Unicado Ágil (AUP, por sus siglas en inglés) para el desarrollo del software, la cual se describe a
continuación.
Jacobson, Brooch, y Rumbaugh (1999), establecen cuatro fases y siete disciplinas en las cuales se lleva a
cabo el desarrollo del sistema iterativo incremental (véase Figura 1). Debido a que la propuesta de diseño
del sistema requiere una metodología por fases, se optó por desarrollar el sistema web BI siguiendo esta
metodología ágil.
Figura 1. Metodología Proceso unicado Ágil (AUP). Fuente: adaptado de (Ambler, 2014).
Como se puede observar en la Figura 1, en cada disciplina se desarrolla una actividad diferente que
permite mitigar los riesgos de implementación del software y asegurar un desarrollo óptimo.
La arquitectura lógica del sistema, considera la arquitectura lógica de un DSS, la cual consta de cuatro
componentes fundamentales: una base de conocimientos o base de datos, un modelo matemático, una
interfaz de usuario y los propios usuarios (Marakas, 1999). Por otro lado, la arquitectura física del sistema
se fundamenta en una arquitectura cliente-servidor, como se muestra en la Figura 2.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
27
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Figura 2. Arquitectura cliente-servidor de ORNALISIS. Fuente: elaboración propia.
Como se puede observar en la Figura 2, la arquitectura especica dos módulos: una interfaz de
aplicaciones (API, por sus siglas en ingles) y un sistema gestor de base de datos (SGDB), un módulo de
procesamiento y acoplamiento de datos, y el módulo de herramientas dinámicas. La funcionalidad de
estos módulos se describe a continuación:
SGBD: contiene la información histórica de la comercialización de plantas ornamentales; además,
se especicó un base de datos propia para el sistema BI.
API: permite consultar información de manera asíncrona a la base de datos desde cualquier
dispositivo utilizando el formato JSON para solicitar y desplegar información.
Módulo de procesamiento y acoplamiento de datos: se encarga de acoplar y procesar los
datos recibidos y enviados a través de la interfaz de aplicaciones (API, por sus siglas en ingles), la
información es convertida a formato JSON y regresada al cliente para su posterior despliegue en
forma de tabla, grácas y reportes.
Módulo de herramientas: el módulo de herramientas incluye las herramientas dinámicas, y
herramientas integradas:
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
28
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Las herramientas dinámicas extraen información de la base de datos histórica
mediante parámetros, permitiendo la creación de consultas dinámicas a la base de datos
con la implementación del algoritmo DFS para la obtención de relaciones entre tablas.
Este algoritmo DFS se implementó debido que el sistema permite vincular cualquier BD
relacional, ya que el sistema está dirigido a usuarios no expertos en la materia; por lo tanto,
se necesitaba un método para la construcción de consultas dinámicas que permita convertir
cualquier BD relacional a grafo y después determinar mediante DFS si se puede ejecutar
la consulta o no, sin requerir un conocimiento sobre la estructura de la base de datos por el
usuario del sistema.
El sistema construye dinámicamente una consulta SQL ejecutable por MySQL, llevando a
cabo los siguientes pasos:
1. Obtener la información que el usuario solicita en el cliente o navegador web.
2. Procesar la información y solicitar la información interna de la BD seleccionada.
3. Construir las cláusulas SELECT y WHERE a partir de la información solicitada
por el usuario.
4. Construir la cláusula FROM, que contiene las tablas utilizadas en la consulta y
aplicar el algoritmo DFS diseñado para determinar la existencia de relaciones entre
las tablas.
5. Juntar todas las cláusulas y ejecutar la consulta SQL.
Las herramientas integradas, consultan información a la base de datos de
comercialización y permiten visualizar información especíca mediante tablas, grácas y
reportes personalizados tal cual y como la empresa los requiera. Estas herramientas no
cuentan con la función de una dinámica ya que están dirigidas a consultas muy especícas,
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
29
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
es decir, son herramientas que en este caso en particular la empresa ORNACOL requiere
mensualmente para la extracción de información. Por ejemplo, ventas por especie, ventas
totales por año, entre otras.
3. RESULTADOS
Se implementó un sistema web BI de apoyo a la toma de decisiones para la comercialización de plantas
ornamentales mediante el framework web Django, el cual posibilita un procesamiento rápido de la
información y el escalamiento futuro del sistema. Además, se utilizó el framework Django REST
para la construcción de la Web API que establece un acceso seguro a los datos a través de políticas de
autenticación, así como la ejecución de consultas asíncronas para incrementar el rendimiento de éste, ya
que permite atender nuevas solicitudes mientras se encuentra procesando una solicitud previa.
Por lo tanto, el sistema web propuesto y descrito en este artículo, denominado ORNALISIS, permite
la creación de herramientas dinámicas para realizar un análisis especíco de la información de la
comercialización de plantas ornamentales (véase Figura 3), dando la posibilidad al operador de
manipular parámetros, tablas y grácas para realizar consultas asíncronas a la base de datos y extraer la
información requerida para la toma de decisiones, sin necesidad de ser un experto en el área. Cada una
de las herramientas proporcionadas despliega: el tipo de usuario, el usuario que creó la herramienta, un
icono que indica si el usuario es propietario de la herramienta, un icono que indica si es una herramienta
compartida con otro usuario y un icono de opciones para editar o borrar la herramienta.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
30
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Figura 3. Panel de herramientas dinámicas. Fuente: elaboración propia.
Por otro lado, en la Figura 4 se muestra un modal para la selección de las tablas necesarias para el análisis
de la información, esta opción permite al usuario seleccionar la base de datos y tablas con los cuales
trabajar. El sistema determina si es posible utilizar dichos parámetros para el análisis de la información
de manera interna y transparente para el usuario. Este sistema está diseñado para trabajar con bases
de datos relacionales, ya que éstas se han considerado las más consistentes y seguras, así como las más
utilizadas principalmente por las empresas, posibilitando con esto la contextualización y extrapolación
del sistema propuesto a otros sistemas productos.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
31
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Figura 4. Conguración inicial de una herramienta dinámica. Fuente: elaboración propia.
Posteriormente, el usuario debe congurar su herramienta a través del panel de elementos (véase Figura
5) que permite agregar parámetros, tablas y grácas a la herramienta.
Figura 5. Panel de elementos de una herramienta dinámica. Fuente: elaboración propia.
El panel de herramientas permite congurar la tabla y gráca a visualizar (véase Figura 6), con la
nalidad de facilitar la consulta de información y otorgar al usuario un control total de la información y
representación visual de ésta.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
32
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Figura 6. Herramienta dinámica con parámetros, tabla y gráca. Fuente: elaboración propia.
3.1. CONSTRUCCIÓN DE CONSULTAS DINÁMICAS
El sistema se encarga de procesar las peticiones que le son enviadas a través de la Web API, un conjunto
de direcciones URL que se encargan de recibir y enviar datos en formato JSON. Dependiendo de los
elementos añadidos en la herramienta, se sigue un proceso que involucra algoritmos que construyen
dinámicamente una consulta SQL entendible por el gestor de base de datos MySQL. Este proceso se
describe en el diagrama de ujo de la Figura 7.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
33
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Figura 7. Diagrama de ujo para la construcción de consultas dinámicas. Fuente: elaboración propia.
Como se puede observar en la Figura 7, la creación del grafo y utilización del algoritmo DFS se usarán
siempre y cuando se hayan encontrado más de una tabla, esto debido a que se puede utilizar cualquier
BD y de la cual se desconocen las relaciones entre las tablas. A continuación, se muestra la explicación
a detalle de dicho proceso, el cual se realiza empatando los elementos HTML de la interfaz de usuario,
como tablas y grácas que se desean visualizar, con sus respectivos parámetros a instrucciones SQL:
Las tablas por visualizar en el navegador web se traducen a una instrucción SELECT de SQL,
determinando con esto las columnas que se seleccionarán de cierta tabla de la base de datos
mediante los parámetros seleccionados. Cada parámetro contiene información de la tabla a la
que pertenece, el nombre de la columna y sus valores. Si se añaden tres parámetros (columnas)
a la tabla, la variable SELECT almacenará el nombre de las tres columnas, asignándose a una
variable de tipo array de la siguiente manera:
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
34
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
SELECT = “nombre_proveedor, planta, precio_venta”
Las grácas toman los parámetros de la tabla construida en el navegador web y despliegan
el resultado. Las grácas aceptan parámetros y funcionan igual que las tablas; por lo tanto, al
modicar un valor, se realiza una consulta que ltra la información solicitada y despliega los
resultados en la gráca.
Los parámetros se traducen a la instrucción WHERE de SQL, la cual determina los ltros para
la información, si el usuario modica la información, ésta se actualizará y generará una nueva
consulta. Si se añade por ejemplo el parámetro fecha y se selecciona un valor para éste, la variable
WHERE almacenará la columna y el valor seleccionado, especicándose como se establece a
continuación:
WHERE = “fecha BETWEEN ‘2018-01-01’ AND ‘2018-12-01’”
Los parámetros, como ya se mencionó anteriormente, pueden ser de varios tipos y estos equivalen a
elementos y controles HTML (select, select multiple, input para texto, input para fecha, input para
checkbox, etc.).
A partir de los parámetros y tablas, el sistema crea la instrucción FROM a través de la utilización del
array FROM, deniéndose como se muestra a continuación:
FROM = “proveedores, productos, ordenes”
Éste permite determinar cuáles tablas se utilizarán para realizar la consulta a partir de una búsqueda de
la información de la base de datos que deduce cuáles tablas están relacionadas entre sí para determinar
si es posible realizar la consulta, mediante la implementación del algoritmo DFS. Además, si el usuario
realiza la petición de una consulta compleja (más de dos tablas), el sistema se encargará de realizar un
JOIN o producto cartesiano añadiéndolo al WHERE para relacionar todas las tablas seleccionadas, y
realizar la consulta de forma correcta.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
35
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
3.2. ALGORITMO PARA LA CREACIÓN DE GRAFOS
Para determinar las relaciones que corresponden a la consulta y construir los productos cartesianos,
se aplican una serie de algoritmos que ayudan a resolver el problema. Primeramente, el algoritmo de
creación de grafos genera un diccionario en Python que equivale al esquema ER de la base de datos, el
cual determina las relaciones de cada tabla en la misma para formar el grafo, donde se crea una consulta
a la base de datos donde se obtiene el nombre de la tabla, la llave primaria o columna que relaciona a
esa tabla con otra, el tipo de relación, y la tabla relacionada a la misma.
SELECT table_name, column_name, constraint_name, referenced_table_name, referenced_column_
name FROM information_schema.key_column_usage WHERE table_schema = db
Con esta información se genera un grafo con los nombres en string de cada tabla y las tablas relacionadas
a la misma (véase Figura 8).
Figura 8. Representación de un grafo en diccionario de Python. Fuente: elaboración propia.
Después, a cada tabla se le asigna un número y se crea el grafo con equivalentes numéricos (véase Figura
9).
Figura 9. Representación de un grafo en diccionario de Python con etiquetas numéricas. Fuente: elaboración propia.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
36
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
El grafo numérico representado con un diccionario, grafo_num en la Figura 9, se toma como parámetro
por el algoritmo DFS. Este grafo contiene la información de las relaciones y las tablas, determinando si
esas tablas están relacionadas entre sí, generando como resultado una serie de caminos que se analizaron
para denir las relaciones que se utilizarán en la consulta.
Figura 10. Algoritmo DFS que busca un camino entre dos puntos. Fuente: elaboración propia.
A partir de los caminos encontrados por el algoritmo de búsqueda en profundidad DFS, se generan los
productos cartesianos con las relaciones encontradas y se asignan a la variable RELACIONES.
Relaciones = “proveedires.producto_id == productos.producto_id AND productos.orden_id ==
oredenes.orden_id”
Al nal, las cuatro variables (SELECT, FROM, WHERE, RELACIONES) se concatenan y forman la
consulta nal a ejecutarse (véase Figura 11).
Figura 11. Consulta SQL construida dinámicamente. Fuente: elaboración propia.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
37
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Para este caso, el sistema solicita información de la base de datos histórica externa al sistema BI y
perteneciente al sistema de comercialización de ORNACOL para después regresar el resultado de todo
el proceso descrito anteriormente, de manera totalmente transparente para el usuario utilizando el
plugin jQuery DataTables, como se observa en la Figura 6.
Por otra parte, el sistema permite generar reportes y exportarlos en formato XLSX o PDF para ser
presentados formalmente (véase la Figura 12), dando la posibilidad al usuario de seleccionar la
información necesaria a guardar y la conguración del documento.
Figura 12. Generación de reportes en formato PDF y xlsx. Fuente: elaboración propia.
El algoritmo para procesar y agrupar la información se codicó especícamente para realizar consultas
a bases de datos relacionales, este mismo es capaz de recibir datos por el método POST utilizando
AJAX, procesarlas para formar la consulta nal a ejecutarse en la base de datos y regresar un resultado
al usuario para realizar un análisis de la información y tomar decisiones nales.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
38
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Por otro lado, el diseño de la Web API utilizando Django REST, permite al sistema tener un mejor
rendimiento y no interrumpir las interacciones del usuario con el sistema; no obstante, es importante
analizar el tiempo que tarda en realizar una consulta compleja (más de dos tablas) donde resulte una
gran cantidad de datos, ya que el sistema responderá dependiendo el tipo de conexión y equipo que se
tenga (véase Tabla 1).
Tabla 1. Tiempos de respuesta de consultas realizadas por el usuario al servidor con equipos con distintas características.
Equipo Conexión Tipo de consulta Tiempo promedio
Computadora de
escritorio, procesador Intel
Core i7 7700K, 8GB RAM
Por cable,
10 MB de
velocidad
Simple (2 tabla)
2K datos
30 ms
Compleja (más de dos
tablas)
100K datos
100 ms
Laptop, procesador Intel
Celeron, 4GB RAM
Wi, 10 MB
Simple (2 tabla)
2K datos
250 ms – 450 ms
Compleja (más de dos
tablas)
100K datos
250 ms - 1.2 s
Computadora de
escritorio, Intel Core i7
860, 4GB de RAM
Por cable,
10 MB de
velocidad
Simple (1 tabla)
2K datos
250 ms – 450 ms
Compleja (más de dos
tablas)
100K datos
250 ms – 800ms
Fuente: elaboración propia.
Como se puede observar en la Tabla 1, los tiempos de respuesta con diferentes equipos se miden desde
que el usuario genera una consulta al servidor, se procesa, se ejecutan los algoritmos de generación de
grafos búsqueda en profundidad, construcción de consultas, extracción de información de la consulta
generada y hasta el regreso y presentación de un resultado al cliente.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
39
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Por otro lado, en cuanto a la evaluación del impacto del sistema se realizó una comparativa entre el tiempo
de procesamiento de los datos con la implementación del sistema y el tiempo sin la implementación de
éste. Por lo cual, es importante señalar que las actividades de análisis de información en la empresa para
la generación de reportes semanales, mensuales y anuales se realizaban de manera manual, estimándose
un promedio de 1 a 3 horas para realizar este procesamiento de información. En contraste, con la
implementación del sistema este tiempo de procesamiento se redujo signicativamente, como se puede
observar en la Figura 13.
Figura 13. Tiempo de procesamiento de los datos para generar reportes periódicos (manual= persona, automatizado= sistema).
Fuente: elaboración propia.
Antes de la implementación del sistema, el proceso de análisis de información se realizaba de forma
manual en hojas de cálculo, lo cual implicaba la inversión de varias horas de trabajo por parte del
operador para extraer de un software de contabilidad toda la información necesaria de las ventas y
guardarla en una hoja de cálculo en blanco para después limpiarla, agruparla y asociarla para generar el
reporte de ventas y con base en ello tomar decisiones, como se puede observar en la Figura 13. Proceso
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
40
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
que se realizaba de manera semanal, mensual y anual, siendo un proceso ineciente e inecaz, sesgando
la posibilidad de tomar decisiones oportunas en la comercialización de plantas ornamentales.
Considerando lo anterior, queda demostrado que la implementación del sistema BI propuesto para el
apoyo en la toma de decisiones en la empresa ORNACOL, permite en primer lugar automatizar el
proceso de extracción, procesamiento y presentación de la información sobre la comercialización de
plantas de ornato. Contribuyendo con lo anterior, a adquirir información de utilidad para la extracción
de conocimiento que permita generar mejores y más ecientes estrategias de comercialización.
4. CONCLUSIONES
En este artículo se presenta un sistema web que da soporte a la toma de decisiones, automatizando
y haciendo eciente el proceso manual de recolección y agrupación de la información. El sistema
permite crear herramientas dinámicas que, con base en los parámetros solicitados, construye consultas
dinámicamente entendibles por gestores de bases de datos relacionales utilizando SQL; posteriormente,
los datos obtenidos se procesan, serializan y se representan en el cliente por medio de tablas, grácas y
reportes. Debido a que el sistema puede establecer conexión a cualquier BD relacional, un algoritmo
crea un grafo equivalente al entidad-relación de la BDR y el algoritmo DFS, a partir del grafo generado,
permitiendo optimizar la búsqueda de las relaciones entre dos o más tablas para crear las consultas
dinámicas.
Este tipo de herramientas podrían ayudar a desarrollar sistemas BI para aquellas empresas que
busquen gestionar su información y requieran un sistema capaz de conectar cualquier base de datos
relacional realizar consultas dinámicas y que pueda operarse sin necesidad de conocimientos avanzados.
Considerando, además, que las bases de datos relacionales son las bases de datos mayormente utilizadas
para el desarrollo de sistemas de información, proporcionando interoperabilidad con los sistemas ya
existentes.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
41
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Así pues, el sistema BI web ORNALISIS contribuye a incrementar la cantidad, calidad, rentabilidad
y sustentabilidad de la producción y comercialización de plantas ornamentales, apoyando a la toma
de decisiones, reduciendo el tiempo de procesamiento y análisis de grandes cantidades de información
e incrementando la productividad de la empresa. Fundamentado así, el desarrollo de este trabajo de
investigación.
Como trabajo futuro se espera optimizar el funcionamiento de las herramientas dinámicas y mitigar los
riesgos de requerir un cierto nivel de conocimiento en bases de datos relacionales para interpretar las
tablas seleccionadas, utilizar un método de búsqueda distinto para determinar el óptimo y un método
distinto a uniones cruzadas para combinar las de tablas relacionadas por ejemplo la cláusula JOIN.
Finalmente se espera que el DSS pueda dar soluciones autónomas aplicando una taxonomía de uso
dirigido a modelos para apoyar a los tomadores de decisiones a tomar una decisión nal.
5. AGRADECIMIENTOS
Al Tecnológico Nacional de México campus Instituto Tecnológico de Colima y al Consejo Nacional de
Ciencia y Tecnología (CONACYT).
REFERENCIAS BIBLIOGRÁFICAS
Ambler, S. W. (2014). The Agile Unied Process. The Agile Unied Process (AUP). http://www.ambysoft.
com/scottAmbler.html
Castro, A. C., Fonseca, R. M., Melo, A., y Prado, A. (2019). Business Intelligence Aplicado a
Gestão Acadêmica no Setor Administrativo. Revista De Tecnologia Da Informação E Comunicação Da
Faculdade Estácio Do Pará, 2(3), 14. http://revistasfap.com/ojs3/index.php/tic/article/view/275
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
42
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Coepplants Colima A. C. (2012). Plan Rector: Comité Sistema Producto Ornamentales Colima. http://dev.
pue.itesm.mx/sagarpa/estatales/EPT%20COMITE%20SISTEMA%20PRODUCTO%20
ORNAMENTALES%20COLIMA/PLAN%20RECTOR%20QUE%20CONTIENE%20
PROGRAMA%20DE%20TRABAJO%202012/PR_ORNAMENTALES_COLIMA_2012.
pdf
Comisión Estatal del Componente de Desarrollo de Capacidades y Extensionismo Rural.
(2013). Plan Estratégico para la Operación Anual del Componente de Desarrollo de Capacidades y Extensionismo
Rural del Estado de Colima. Comisión Estatal del Componente de Desarrollo de Capacidades y
Extensionismo Rural. http://www.inca.gob.mx/webles/planes-estrat-e/plan_estrategico_col.
pdf
Damasceno, E., Azevedo, A., y Pinto, A. (2018). Business Intelligence-Implantation on Federal
Institute of Triângulo Mineiro (IFTM) System: Proceedings of the 10th International Conference on
Computer Supported Education, 528–535. https://doi.org/10.5220/0006818805280535
García, N., van der Valk, O. M. C., y Elings, A. (2011). Mexican protected horticulture: Production and market
of Mexican protected horticulture described and analysed. Wageningen UR Greenhouse Horticulture/LEI
(Rapporten GTB 1126). https://edepot.wur.nl/196070
García-Mejía, E. E., García-Virgen, J., y Chávez-Valdez, R. E. (2018). Gestión de la
Comercialización de Plantas Ornamentales Utilizando Normas de Trazabilidad hacia delante.
RIIIT. Revista internacional de investigación e innovación tecnológica, 6(35). http://www.scielo.org.mx/
scielo.php?pid=S2007-97532018000500006&script=sci_abstract
Jacobson, I., Brooch, G., y Rumbaugh, J. (1999). Unied Software Development Process (2a ed). Addison-
Wesley Professional.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
43
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Kopackova, H., y Škrobáčková, M. (2006). Decision support systems or business intelligence: what can help in
decision making? https://www.researchgate.net/publication/44982242_Decision_support_systems_
or_business_intelligence_what_can_help_in_decision_making#:~:text=Using%20a%20
programmed%20decisions%20require,eective%20business%20decisions%20%5B4%5D%20.
Marakas, G. M. (1999). G. M. Marakas. Decision support systems in the twenty-rst century (2a ed.). Prentice
Hall.
Medeiros, J. D. L. (2017). Desenvolvimento de um Sistema de Inteligência de Negócios para apoio da Gestão
Acadêmica. Universidade Federal De Itajubá. http://repositorio.unifei.edu.br/xmlui/
handle/123456789/1032
Paiva, P. (2018). Horticulture and Ornamental Horticulture. Ornamental Horticulture, 24(1), 6-6. https://
www.researchgate.net/publication/327666995_Horticulture_and_Ornamental_Horticulture
Power, D. J. (2011). Decision support systems: Concepts and resources for managers. Greenwood/Quorum Books.
Roldán, J. L., Cepeda-Carrión, G., y Galán, J. L. (2012). Los sistemas de inteligencia de negocio como
soporte a los procesos de toma de decisiones en las organizaciones. Papeles de Economía Española, 132, 239-260.
https://hdl.handle.net/11441/76099
Santillán, Á. G., y Mendoza, M. L. (2015). Diseño y desarrollo de un sistema Web de apoyo a
ejecutivos para la toma eciente de decisiones de compras. Revista Iberoamericana de Producción
Académica y Gestión Educativa. https://www.pag.org.mx/index.php/PAG/article/view/284/330
Silva, R. A., Silva, F. C. A., y Gomes, C. F. S. (2016). O Uso Do Business Intelligence (Bi) Em Sistema
De Apoio À Tomada De Decisão Estratégica. Revista Gestão Inovação e Tecnologias, 6(1), 2780–2798.
http://www.revistageintec.net/index.php/revista/article/view/726
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
44
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45
Zimmermann, T. R. (2006). Desenvolvimento De Um Sistema De Apoio À Decisão Baseado Em Business
Intelligence, 77.
3C Tecnología. Glosas de innovación aplicadas a la pyme. ISSN: 2254 – 4143 Ed. 35 Vol. 9 N.º 3 Septiembre - Diciembre
45
https://doi.org/10.17993/3ctecno/2020.v9n3e35.17-45