TESIS DE MAESTRÍA EN CIENCIAS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "TESIS DE MAESTRÍA EN CIENCIAS"

Transcripción

1 Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Herramienta de Preparación de Datos para Inteligencia de Negocios Orientada a la Toma de Decisiones para la PyMES presentada por Iván Castillo Zúñiga Ing. en Sistemas Computacionales por el I. T. de Zacatecas como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias Computacionales Director de tesis: Dr. Rene Santaolaya Salgado Co-Director de tesis: Dra. Olivia Graciela Fragoso Díaz Cuernavaca Morelos, México. Noviembre 2012.

2 Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales TESIS DE MAESTRÍA EN CIENCIAS Herramienta de Preparación de Datos para Inteligencia de Negocios Orientada a la Toma de Decisiones para la PyMES presentada por Iván Castillo Zúñiga Ing. en Sistemas Computacionales por el I. T. de Zacatecas como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias Computacionales Director de tesis: Dr. Rene Santaolaya Salgado Co-Director de tesis: Dra. Olivia Graciela Fragoso Díaz Jurado: Dr. Juan Carlos Rojas Pérez Presidente M.C. Mario Guillen Rodríguez Secretario MC. Humberto Hernández García vocal Dr. Jaime Muñoz Arteaga Vocal suplente Cuernavaca Morelos, México. Noviembre 2012.

3

4

5 Dedicatorias A Dios; a mi adorable madre Cirila Zúñiga Ramírez, a mi abuelita Rosenda Ramírez Méndez que está en el cielo; a mi familia: mi esposa Yoatzin Araceli y a mis hijos Jocelyn, Héctor y Lizeth con todo mi amor y cariño.

6 Agradecimientos Al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), por brindarme la oportunidad de terminar mis estudios de maestría. A mis directores de tesis: Dr. Rene Santaolaya Salgado y Dra. Olivia Graciela Fragoso Díaz por su gran apoyo en todo momento en mi estancia en el CENIDET. A mis revisores Dr. Juan Carlos Rojas Pérez, M.C. Mario Guillen Rodríguez, M.C. Humberto Hernández García y Dr. Jaime Muñoz Arteaga por su valiosa contribución en esta tesis. Al Instituto Tecnológico el Llano Aguascalientes y la DGEST por darme el permiso de continuar estudiando y crecer como maestro y como profesionista. Al PROMEP por brindarme el apoyo económico necesario para solventar los distintos gastos en el transcurso de mi preparación.

7 Resumen Debido a que la expansión del mercado mundial continúa, las pequeñas y medianas empresas (PyMES) tienden a ser más competitivas, por lo que es una necesidad real de los ejecutivos a cargo de una empresa (CEOs) el tener los análisis apropiados de los indicadores económicos y de negocios. Hoy en día, la toma oportuna de decisiones económicas, basadas en un conocimiento adecuado de la situación actual de la empresa, así como la tendencia del mercado, se convierte en una ventaja competitiva. Con el fin de aumentar esa ventaja se recomienda aplicar Inteligencia de Negocios (IN). Inteligencia de negocios se define como un conjunto de estrategias y tecnologías que ayudan en la conversión de los datos en información de alta calidad y el conocimiento de la operación del negocio que le ayudará en la toma de decisiones y la mejora del proceso competitivo [Ramos 2011]. Las herramientas de inteligencia de Negocios incluyen: extracción, transformación y carga (ETL), almacenamiento de datos (área de almacenamiento temporal, Data Warehouse y Data Mart), búsqueda específica, en la línea de proceso analítico (OLAP) y minería de datos. Además, la inteligencia de negocios incluye aplicaciones avanzadas tales como tableros de control e informes gráficos de alta calidad. Las herramientas de inteligencia de negocios también proporcionan documentos para el usuario final que ayuda en el análisis detallado de la información y las predicciones, así como los futuros escenarios de generación. Hoy en día, pocas herramientas de inteligencia de negocios están disponibles y son bastante caras; herramientas de código abierto son escasas. Cada empresa debe buscar el conjunto adecuado de herramientas de acuerdo a sus necesidades. Sobre esta base, el presente trabajo ofrece a las PyMES un software de inteligencia de negocios para la toma de decisiones a bajo costo tanto en su implementación como en su mantenimiento, ya que su desarrollo es a través de código abierto. Esta herramienta incluye la construcción de ETL, y la administración de almacenes de datos y búsqueda de conocimiento útil en los datos en Weka y Minería Excel. También es compatible con los administradores de bases de datos tales como MySQL, SQL Server, PostgreSQL, Oracle y Sybase, así como hojas de cálculo, archivos de texto y el formato XML. Por último, este documento describe los conceptos detallados, las soluciones de método, el diseño, interfaces, las pruebas y la codificación de esta herramienta.

8 Abstract Since the world market expansion continues, small and median-size enterprises (PyMES) tend to be more competitive, making a real need for CEOs (Chief Executive Officer) to have appropriate analyses of economic and business indicators. Nowadays, timely economic decision making, based on adequate knowledge of the enterprise s status quo as well as the market tendency, becomes a competitive advantage. In order to increase that advantage it is recommended to apply Business Intelligence (BI) technologies. BI is defined as panoply of strategies and technologies that help on conversion of data into high quality information and knowledge of the business operation that will help on decision making and improvement of the competitive process [Ramos 2011]. BI tools include: data extraction, transformation and load (ETL), data warehousing (Staging Area, Data Warehouse and Data Mart), specific search, on-line analytical process (OLAP) and data mining. Additionally, BI includes advanced applications such as control boards and graphic reports of high quality. BI tools also provide documents for the end-user that help on the detailed analysis of the information and predictions as well as the generation future scenarios. Nowadays, few BI tools are available and they are quite expensive; open-source tools are scarce. Every company should look for the appropriate set of tools according to its needs. On this basis, the present work offers to PyMES an opensource BI software for making decisions. This tool includes ETL, construction and administration of data warehouses and data search on Weka and Excel Mining. It is also compatible with data base managers such as MySQL, SQL Server, PostgreSQL, Oracle and Sybase as well as spreadsheets, text files, and the XML format. Finally, this document describes detailed concepts, method solutions, design, interfaces, tests and codification of this tool.

9 Contenido Lista de Figuras Lista de Tablas Glosario de Términos Introducción.. Capítulo 1. Antecedentes Descripción del problema a resolver Justificación y beneficios Justificación Beneficios Objetivo de la tesis Objetivo general Objetivos específicos. 1.4 Alcances y limitaciones Alcances Limitaciones Trabajos de antecedentes Trabajos relacionados Organización de la tesis... Capítulo 2. Marco teórico y conceptual. 2.1 Las PyMES y el modelo del negocio PyMES El modelo del negocio Modelo entidad relación Métricas e indicadores de desempeño en los negocios 2.2 Procesos de Extracción, Transformación y Carga (ETL) Área de almacenamiento temporal (Staging Area) Gestores de bases de datos Gestores de base de datos considerados en esta tesis Tipos de datos considerados en este proyecto de tesis Calidad de los datos Data Warehouse Data Warehouse y Data Mart Datos y metadatos Modelos utilizados en la construcción del Data Mart... Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES iv v vi i

10 Tablas de hechos Esquema estrella y copo de nieve Dimensiones utilizadas en la construcción del Data Mart Herramientas analíticas Procesamiento analítico en línea (OLAP) Cuadros de mando Tableros de control Consultas y presentación de informes Minería de datos Herramientas de minería de datos... Capítulo 3. Metodología de solución. 3.1 Proceso de solución general Definición de las áreas del proyecto Etapas en el desarrollo del proyecto Etapas para el pre procesamiento de datos Etapas para la toma de decisiones. 3.4 Herramientas de software utilizadas en el proyecto de tesis..... Capítulo 4. Diseño e implementación 4.1 Modelado de casos de uso Actores involucrados Diagramas de casos de uso Descripción de escenarios Diagramas de secuencias Diagramas de clases Implementación Presentación y seguridad Construcción de almacenes de datos Extracción de datos Administración de almacenes de datos Limpieza de datos Costo de implementación de la herramienta Capítulo 5. Pruebas y resultados. 5.1 Plan de pruebas Elementos de prueba Características de las pruebas Enfoque..... Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES ii

11 5.1.4 Criterios de aceptación, suspensión y reanudación Liberación de pruebas Requisitos tecnológicos Responsables Riesgos Aprobación 5.2 Diseño de las pruebas Especificación del diseño de pruebas Especificación de los casos de prueba. 5.3 Resultados de las pruebas Análisis de resultados. Capítulo 6. Conclusiones Conclusiones Aportaciones Trabajos futuros... Referencias Bibliografía. Anexos Anexo A: Problemática y comportamiento de las PyMES en México... Anexo B: Descripción de los casos de pruebas.... Anexo C: Instalación de la herramienta de tesis... Anexo D: Extracción y transformación de datos... Anexo E: Construcción de almacenes de datos (Staging Area, Data Mart, Data Warehouse Anexo F: Carga de datos al almacén. Anexo G: Preparación de datos a distintos formatos (txt, xls, xml, arff) Anexo H: Limpieza de datos A A1 B1 C1 D1 E1 F1 G1 H1 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES iii

12 Lista de Figuras Fig. 2.1 Fig. 2.2 Fig. 2.3 Fig. 3.1 Fig. 3.2 Fig. 4.1 Fig. 4.2 Fig. 4.3 Fig. 4.4 Fig. 4.5 Fig. 4.6 Fig. 4.7 Fig. 4.8 Fig. 4.9 Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig Fig. 5.1 Esquema estrella.... Diseño en copo de nieve... Tablero de control de la suite de inteligencia de negocios de Pentaho. Proceso de inteligencia de negocios orientado a la toma de decisiones para la PyMES. Etapas del proceso de solución Caso de uso general de la herramienta.. Casos de usos específicos del sistema. Caso de uso Extraer datos de fuentes heterogéneas Caso de uso Construcción de almacenes de datos Caso de uso Administrar almacenes de datos. Caso de uso Analizar datos para limpieza Caso de uso Limpiar datos.. Diagrama de secuencia para extraer datos de fuentes heterogéneas... Diagrama de secuencia para construir almacenes de datos Diagrama de secuencia para administrar almacenes de datos. Diagrama de secuencia para el análisis de datos.. Diagrama de secuencia para la limpieza de datos.. Diagrama de clases utilizadas en el proceso para extraer datos de diferentes fuentes heterogéneas. Diagrama de clases utilizadas en el proceso de construir almacenes de datos. Diagrama de clases para el proceso de administrar almacenes de datos.. Diagrama de clases utilizadas en el análisis de datos para limpieza Diagrama de clases utilizadas en la limpieza de datos. Interfaz de presentación de la herramienta. Interfaz de acceso al sistema. Interfaz de construcción de bases de datos... Interfaz de construcción de tablas Interfaz de construcción de campos. Interfaz de extracción de datos. Interfaz de administración de almacenes de datos Interfaz de análisis de datos.. Interfaz de limpieza de datos. Nomenclatura del documento de pruebas Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES iv

13 Lista de Tablas Tabla 1.1 Tabla 2.1 Tabla 2.2 Tabla 2.3 Tabla 3.1 Tabla 4.1 Tabla 4.2 Tabla 4.3 Tabla 4.4 Tabla 4.5 Tabla 4.6 Tabla 4.7 Tabla 4.8 Tabla 5.1 Tabla 5.2 Tabla 5.3 Tabla 5.4 Tabla 5.5 Trabajos relacionados en el área de inteligencia de negocios Clasificación oficial de las empresas en México. Indicadores clave de clientes para las PyMES... Tipos de datos considerados en este proyecto de tesis... Herramientas de software utilizadas en el proyecto de tesis..... Actores involucrados en el manejo del sistema.. Escenario del caso de uso Extraer datos de fuentes heterogéneas Escenario del caso de uso Construir almacenes de datos Escenario del caso de uso Administrar almacenes de datos Escenario del caso de uso Analizar datos para limpieza.. Escenario del caso de uso Limpiar datos. Costos en tecnología de Software Costos en tecnología de hardware.. Tipos de documentos para las pruebas y sus abreviaturas. Características de las pruebas Requisitos tecnológicos para las pruebas.. Clasificación de las bases de datos con respecto al tamaño. Resultados del plan de pruebas Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES v

14 Glosario de Términos API ARFF BI Data Warehouse Data Mart Datos DBMS DOM CSV ETL Excel Mining Información Java Interfaz de programación de aplicaciones (del inglés Application programming interface) Es una extensión de archivos de la herramienta Weka, (del inglés Atribute Relation File format), es una estructura formada por la cabecera, declaración de atributos y sección de datos. Inteligencia de negocios (del inglés Business Intelligence). Es un almacén de datos corporativo, organizada por temas, compuesto de información de diferentes fuentes de datos, su información es histórica y de solo lectura. Es un almacén de datos departamental que presenta información específica de una unidad de negocio, con las mismas características de un Data Warehouse pero con menor alcance. Los datos es la información real que constituyen los registros de diferentes tipos de datos Sistemas de Gestión de Bases de Datos (del inglés Database Management System). Modelo de Objetos de Documento (del inglés Document Object Model). Valores separados por coma (del inglés Comma Separated Values). Extracción, Transformación y Carga (ETL del inglés Extract, Transform and Load). Es una herramienta con tecnología para proyectos de inteligencia de negocios de Microsoft. Es un conjunto organizado de datos que aporta significado o sentido a las cosas, y permite representar el pensamiento humano. Es un lenguaje de programación orientado a objetos, es independiente del sistema operativo y plataforma de hardware, robusto, seguro y de alto rendimiento. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES vi

15 KPI Metadatos Minería de Datos Modelo del negocio OLAP OLTP PyMES Sistemas operacionales SAX SQL Staging Area TXT WEKA XLS XML Se conocen como Indicadores Claves de Negocios (del inglés Key Performance Indicator). Son el nivel superior de la información, instrucciones que describen el contenido, contexto, calidad, estructura, y accesibilidad de una colección de datos específica. Minería de datos (del inglés Data Mining) es el proceso de extraer conocimiento útil y comprensible, previamente desconocido, desde grandes cantidades de datos almacenados. Consiste en la forma en que está organizada y relacionada la información entre los diferentes departamentos de la empresa y las diferentes herramientas para representarla. Procesamiento analítico en línea (del inglés Online Analytical Processing). Procesamiento de transacciones en línea (del inglés Online Transaction Processing). Pequeñas y medianas empresas. Los sistemas operacionales, son los diferentes sistemas de información que administran las transacciones y procesos de cada uno de los departamentos de la empresa. Simple API for XML (del inglés Simple API for XML). Lenguaje estructurado de consulta (del inglés Structured Query Language). Medio de almacenamiento temporal (del inglés Staging Area). Archivo de Texto Plano (del inglés Plain Text). Weka es el acrónimo de Waikato Environment for Knowledge Analysis, es una herramienta con una extensa colección de algoritmos para el aprendizaje automático en las tareas de minería de datos. Es la extensión de hojas de cálculo de Microsoft Excel. Lenguaje de marcas extensible (Extensible Markup Language). Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES vii

16 Introducción Introducción Hoy en día la gran mayoría de las organizaciones cuentan con sistemas de información para la administración de sus operaciones y procesos, pueden ser sistemas sencillos o complejos, todo depende de cada organización y sus exigencias. Los sistemas cuentan con bases de datos que diariamente se van llenando de información sobre los movimientos del negocio como: Recursos humanos, mercadotecnia, compras, ventas, clientes, proveedores, inventarios entre otras y van formando un historial de la organización, y esos datos pueden ser utilizados en un presente y futuro para la toma de decisiones en la organización. En la actualidad el poder competitivo de las empresas se basa en los datos, propios y externos, en la calidad y cantidad de la información que se tiene almacenada para ser utilizada en la toma de decisiones, incrementando los beneficios mediante el uso de herramientas, técnicas y procesos de la inteligencia de negocios (Business Intelligence). Algunas organizaciones a nivel mundial se han dado la tarea de contribuir en mejorar la competitividad de las empresas aportando algunos productos y servicios del área de inteligencia de negocios, pero por la dificultad que presentan aún son escasos y costosos. Las pequeñas y medianas empresas (PyMES) en México incluyendo las micro empresas constituyen el noventa y siete por ciento del total de las empresas generadoras de empleo y obtienen ingresos equivalentes al veintitrés por ciento del Producto Interno Bruto (PIB) del país [Institutopyme 2012]: Un problema común que presentan estas empresas, es que no tienen el soporte adecuado para la toma de decisiones y la dirección exitosa de su negocio, debido a que existen pocas herramientas de inteligencia de negocios además que su costo es elevado, lo cual les ocasiona una limitada competitividad y un crecimiento lento. El propósito de esta tesis consiste en generar la preparación de datos para herramientas de minería, con el objetivo de proporcionar conocimiento que apoye en la toma de decisiones de las empresas, entre los procesos utilizados se encuentran: Procesos ETL (Extracción, Transformación, Limpieza y Carga de datos), además de la construcción y administración de almacenes de datos (Data Warehouse o Data Mart). Para la alimentación de estos almacenes se utilizan aplicaciones que permitan importar y exportar grandes cantidades de datos, los cuales son compatibles con los formatos de archivos de texto (.txt), hojas de cálculo (.csv) y lenguajes extensibles de marcas (.xml). Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 1

17 Introducción Una vez concluido el proceso anterior se desarrollan procesos de conversión de datos a vistas minables para las herramientas Weka y Excel Mining, con el objetivo de implementar estos archivos en las herramientas mencionadas para hacer minería de datos y obtener conocimiento útil para ser utilizado en la toma de decisiones en las empresas. De esta manera el proyecto de tesis ofrece una nueva alternativa en apoyo a la toma de decisiones en las empresas a un bajo costo, ya que su desarrollo fue a través de herramientas de software libre, lo cual puede reducir el gasto de implementación y soporte técnico. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 2

18 Capítulo 1: Antecedentes Antecedentes En este capítulo se presenta la información general del proyecto incluyendo: la descripción del problema, el objetivo general y los objetivos específicos, el por qué se realiza esta investigación, los alcances del proyecto y los límites establecidos, los beneficios que se generan, los antecedentes y trabajos relacionados, además una breve descripción de la organización de la tesis. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 3

19 Capítulo 1: Antecedentes 1.1 Descripción del problema a resolver. El problema que atiende esta tesis radica en que la mayoría de las pequeñas y medianas empresas (PyMES) en nuestro país tienen una limitada competitividad y un crecimiento lento, debido en parte a que no se tiene el soporte adecuado para la toma de decisiones en sus negocios y existen pocas herramientas de inteligencia de negocios y a un costo elevado. 1.2 Justificación y beneficios Justificación. Las PyMES en México incluyendo las micro empresas, constituyen el 97% del total de las empresas generadoras de empleo del 72% de la población y generan ingresos equivalentes al 52% del Producto Interno Bruto (PIB), lo anterior es una clara señal de que debemos poner atención a este tipo de empresas, ya que forman gran parte de la economía mexicana [Institutopyme 2012]. Algunos de los problemas que presentan las PyMES y empresas en general se mencionan a continuación; en el anexo A se presenta ampliamente información sobre la problemática y el comportamiento de las PyMES en el país. Existen grandes volúmenes de datos [Curto 2010]. Problemas en la integridad de sus datos [Hernández 2005]. La información se encuentra aislada en los diferentes departamentos [Palomo 2005]. Los departamentos necesitan compartir información en tiempo real. La toma de decisiones se toma en base a la experiencia y no con base a información. No existen análisis adecuados de la información para una correcta toma de decisiones. Se tiene poca información de la competencia. Para solucionar un problema de inteligencia de negocios se requieren diferentes herramientas (Sistemas operacionales, herramientas ETL, Herramientas analíticas descriptivas y de minería de datos, entre otras) [Cano 2008]. Por estas razones se propone una solución que consiste en el diseño e implementación de una herramienta para el pre procesado de datos e integración a herramientas de minería de datos para la inteligencia de negocios a través de una herramienta a un bajo costo, ya que se desarrollará con herramientas de software libre, además la información procesada será flexible para adaptación y/o Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 4

20 Capítulo 1: Antecedentes integración con distintas herramientas analíticas según las necesidades que presente cada empresa Beneficios. 1. Integración de la información de diferentes fuentes de datos de la empresa. 2. Estandarización de los datos. 3. Limpieza en los datos. 4. Preparación de los datos según la necesidad del almacén objetivo. 5. Compatibilidad de la información en diferentes formatos de texto: Hojas de cálculo, archivos de texto y formato XML. 6. Preparación de datos como vistas minables en archivos compatibles para las herramientas de minería de datos Weka y Excel Mining. 7. Funcionalidad de la herramienta en distintos sistemas operativos y plataformas. 1.3 Objetivo de la tesis Objetivo general. Preparar los datos para su procesamiento en herramientas analíticas para la toma de decisiones en procesos de inteligencia de negocios, mediante una herramienta a un bajo costo, a través de su desarrollo con software libre, que sea flexible para adaptarse a distintas aplicaciones según las necesidades de las empresas (PyMES) Objetivos específicos. 1. Diseñar e implementar una herramienta que permita aplicar los procesos ETL Extracción, Transformación y Carga con los gestores de bases de datos MySQL, SQL Server, PostgreSQL, Oracle y Sybase, mediante formatos compatibles con archivos de texto, hojas de cálculo y XML, además aplicar limpieza sobre la información. 2. Construir y administrar almacenes de datos (Staging Area, Data Warehouse y/o Data Mart), con el propósito de facilitar las diferentes tareas de la preparación de datos. 3. Desarrollar una aplicación que permita generar vistas minables para las herramientas de minería Weka y Excel Mining, con el propósito de aplicar procesos de minería de datos a los archivos generados y con los resultados apoyar la toma de decisiones en la empresa. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 5

21 Capítulo 1: Antecedentes 4. Implementar en la herramienta tareas que permitan exportar los datos del Data Warehouse y/o Data Mart a formatos estándar como XML, hojas de cálculo y archivos de texto, con el objetivo que se puedan adecuar a otras herramientas analíticas según necesidades de la empresa. 1.4 Alcances y limitaciones Alcances. 1. Diseñar e implementar una interfaz que permita aplicar los procesos ETL Extracción, Transformación y Carga con los gestores de bases de datos MySQL, SQL Server, PostgreSQL, Oracle y Sybase, mediante formatos compatibles con archivos de texto, hojas de cálculo y XML, además aplicar una limpieza básica sobre los almacenes construidos. 2. Diseñar e implementar una interfaz que permita construir y administrar almacenes de datos. 3. Diseñar e implementar una interfaz que permita generar vistas minables en formatos compatibles con Weka y Excel Mining, con formatos (.arff) y (.xls) respectivamente. 4. Diseñar e implementar una interfaz que permita exportar la información a tipos de datos estándar como Hojas de cálculo, archivos de texto y formato XML Limitaciones. 1. No están consideradas en este proyecto las herramientas del procesamiento analítico en línea (OLAP), Cuadros de Mando Integral (CMI), Tablero de Instrumentos (del inglés Dashboards), Consultas y Presentación de Informes (del inglés Query and Reporting). 2. Los gestores considerados en el proyectos son: MySQL, PostgreSQL, Sybase, Oracle y SQL server. 3. La limpieza de datos será aplicada únicamente a campos con valores nulos, duplicados, vacíos y datos con anomalías detectados por el usuario en el área de análisis de la información. 4. No se analizarán los resultados obtenidos en el proceso de minería de datos generados por Weka y/o Excel Mining. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 6

22 Capítulo 1: Antecedentes 1.5 Trabajos de antecedentes. En el Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) se realizó una investigación de inteligencia de negocios en el área de herramientas analíticas, con el desarrollo de una infraestructura para la creación de Cuadros de Mando Integral [Moreno 2011], el cual consiste en identificar herramientas de software libre que puedan ser empleadas en el proceso para construir Cuadros de Mando Integral. 1.6 Trabajos relacionados. En la tabla 1.1 se muestra una serie de trabajos relacionados en áreas de inteligencia de negocios, algunos desarrollados por empresas y otros por investigadores de escuelas universitarias. Tabla 1.1 Trabajos relacionados en el área de inteligencia de negocios Aplicación Descripción APESOFT Es una herramienta que provee soluciones de inteligencia de negocios a organizaciones y departamentos ayudando a desplegar capacidades analíticas y optimizar la toma de decisiones a través de Excel [ApeSoft 2011]. A Services Oriented Architecture for Business Intelligence ARCPLAN ATLAS SBI: Se describe una arquitectura orientada a servicios para inteligencia de negocios en donde se permite la integración de otras tecnologías que logren crear un ambiente coherente de inteligencia de negocios [Moreno 2011]. Es un complemento de inteligencia de negocios, que presenta soluciones de cuadros de mando, tableros de control, además permite cualquier tipo de conectividad a cualquier fuente de datos, incluye libertad estética, flexibilidad funcional, programación gráfica y algunas aplicaciones analíticas [Arcplan 2011]. Es una solución web para la PyME, que permite a los usuarios conocer de un vistazo la situación real de la empresa mediante informes, cuadros de mando, entre otros, este software muestra la información con un alto grado de representación gráfica [Atlas 2011]. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 7

23 Capítulo 1: Antecedentes BINGO INTELLIGENCE Business Intelligence from voice of customer Building a Web Warehouse for Accessibility Data Data Integration Flows for Business Intelligence Enhanced Business Intelligence using EROCS Infrastructure development for dashboard creation Model Driven Dashboards for Business Intelligence PENTAHO Real Time Es un software potente y fácil de usar, se pueden construir cuadros de mando e informes dinámicos, alertas semafóricas, filtros, ordenaciones, formulas y algunas características OLAP [Bingo 2011]. Es un prototipo para el tratamiento de los datos para inteligencia de negocios en el cual conjuntan información estructurada y no estructurada [Moreno 2011]. Es un prototipo que consiste en el diseño y construcción de un almacén de datos con contenidos web [Moreno 2011]. Es un método para el tratamiento de los datos donde proponen los flujos de integración de datos, teniendo en cuenta objetivos de calidad [Moreno 2011]. Se usa EROCS (Entity RecOgnition in context of Structured data) para mejorar la inteligencia de negocios permitiendo a las herramientas OLAP un análisis de datos estructurados y no estructurados de manera consolidada [Moreno 2011]. Desarrollo de un prototipo para una infraestructura que soporte la creación de cuadros de mando integral, haciendo uso de tecnologías como XMLA para la consulta a bases de datos multidimensionales [Moreno 2011]. Se describen los modelos necesarios para guiar el diseño y arquitectura de un cuadro de mando integral [Moreno 2011]. Es un software libre de inteligencia de negocios, su desarrollo es en el lenguaje de programación Java, lo cual le permite funcionar en distintos sistemas operativos, permite acceder y analizar la información, además de crear cuadros de mando y áreas de reportes [Curto 2010]. Proponen una metodología de carga de datos a un Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 8

24 Capítulo 1: Antecedentes Data Warehouse Loading Methodology SUNOPSIS almacén de datos en tiempo real, adaptando los esquemas del Data Warehouse y las consultas OLAP [Moreno 2011]. Es un software de Extracción, Carga y Transformación (EL-T), es un componente en procesos de inteligencia de negocios adquirido en 2006 por Oracle, el cual consiste en extraer los datos, luego cargarlos al gestor de bases de datos y posteriormente hacer la transformación [Sunopsis 2011]. La diferencia que presenta el trabajo de tesis contra los trabajos relacionados radica principalmente en que la herramienta desarrollada trabaja en la integración y preparación de los datos mediante procesos ETL, y para ello se apoya en la construcción y administración de almacenes de datos para las diferentes tareas que se necesitan, posteriormente se utiliza la información en herramientas analíticas de minería de datos, con el propósito de favorecer la toma de decisiones en las empresas; y los trabajos relacionados que se mencionan se enfocan a la explotación de datos mediante herramientas analíticas descriptivas sin una preparación de la información. 1.7 Organización de la tesis. La organización de este documento de tesis se encuentra de la siguiente manera: En el capítulo 1, se muestra información general de la investigación, entre los puntos que trata se mencionan: la descripción del problema, el objetivo general y objetivos específicos, la justificación, los alcances y límites establecidos del proyecto, antecedentes y trabajos relacionados. Posteriormente en el capítulo 2, se mencionan las bases teóricas del trabajo de tesis, haciendo referencia a temas y conceptos dentro de la inteligencia de negocios, los cuales permiten un mejor entendimiento de la solución de este proyecto, además de comprender la terminología utilizada en otros capítulos de este documento. En el capítulo 3, se describe la metodología que se utilizó para integrar los diferentes procesos de inteligencia de negocios propuestos en esta tesis, además se Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 9

25 Capítulo 1: Antecedentes muestra un esquema con la solución final y las etapas del proceso, así como las tecnologías utilizadas para cada área de atención. En el capítulo 4, se describe el diseño y la implementación del proyecto. En la etapa de diseño se establecieron los casos de uso que representan de manera general las acciones básicas que se pueden hacer con el sistema, además de los diagramas de secuencias y clases bajo el estándar UML. En la implementación se describen los recursos internos y externos que conforman los diferentes procesos de inteligencia de negocios. Las pruebas y resultados así como la ejecución de las mismas, se describen de manera resumida en el capítulo 5. Por último en el capítulo 6, se presentan las conclusiones acerca del proyecto, así como las observaciones percibidas a lo largo de la investigación y los trabajos futuros que pueden surgir a partir de la construcción y puesta en marcha del sistema desarrollado. Al final de la tesis se encuentran las referencias bibliográficas que dan sustento a la investigación y a los anexos del trabajo presentado. En el siguiente capítulo, se mencionan las bases teóricas del trabajo de tesis, con temas y conceptos dentro de la inteligencia de negocios, los cuales permiten al lector un mejor entendimiento de la solución de este proyecto, además de comprender la terminología utilizada en capítulos posteriores de este documento. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 10

26 Capítulo 2: Marco teórico y conceptual Marco teórico y conceptual En este capítulo se mencionan las bases teóricas en las que está sustentado el trabajo de tesis, se hace hincapié sobre temas y conceptos relacionados con la Inteligencia de Negocios, entre ellos se encuentran: Las PyMES y Modelos de Negocios, Procesos ETL de Extracción, Transformación y Carga, Data Warehouse y Herramientas Analíticas, lo cual permite un mejor entendimiento de la herramienta desarrollada y la terminología utilizada en capítulos posteriores. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 11

27 Capítulo 2: Marco teórico y conceptual 2.1 Las PyMES y el modelo del negocio PyMES En México, la clasificación publicada en el Diario Oficial de la Federación del 30 de junio de Establece que el tamaño de la empresa se determinará a partir del obtenido del número de trabajadores multiplicado por 10%; más el monto de las ventas anuales por 90%, además se encuentran clasificadas en tres sectores: Industria, comercio, y servicios. Tabla 2.1. Clasificación oficial de las empresas en México. Estratificación Tamaño Sector Rango de trabajadores Rango de monto de ventas anuales (mdp) Tope máximo Micro Todas Hasta 10 Hasta $4 4.6 Comercio De 11 a 30 De 4.01 a Pequeña Industria y De 11 a 50 De 4.01 a servicios Comercio De 31 a 100 De a Mediana Servicio De 51 a 100 De a Comercio De 51 a 250 De a *Tope máximo combinado = (Trabajadores) X 10% + (Ventas Anuales) X 90% Fuente: Diario Oficial de la Federación del 30 de junio de En el Anexo A, se describe ampliamente el comportamiento y la problemática de las pequeñas y medianas empresas (PyMES) del país, con temas como el impacto de las PyMES en la sociedad mexicana, la clasificación de acuerdo a su tamaño, los apoyos del gobierno, los factores de fracaso y las características de la problemática en general El modelo del negocio El modelo de negocio nos permite analizar qué está sucediendo en la empresa y para poder construirlo debemos documentar, probar, y desarrollar nuestras teorías acerca de cómo funciona el negocio. Es importante construir modelos de negocio, ya que en algunos casos no siempre la mejor solución para un departamento es la mejor para toda la organización. Una vez definido el modelo del negocio debemos determinar qué información tenemos para analizarlos. Si el negocio ya tiene establecido el punto de partida para el análisis de la información, puede apoyarse en el modelo entidad relación de las bases de datos de la empresa. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 12

28 Capítulo 2: Marco teórico y conceptual Modelo entidad relación. El modelo entidad relación está basado en una percepción del mundo real que consta de una colección de objetos básicos, llamados entidades y de relaciones entre estos objetos. Una entidad es una cosa u objeto en el mundo real que es distinguible de otros objetos. Las entidades se describen en tablas en bases de datos mediante un conjunto de atributos conocidos como campos y puede contener un gran número de registros o filas. Cada registro representa a un objeto, el cual se describe a través de los valores de sus atributos y se caracteriza por poseer una clave única o primaria (Primary Key) que lo identifica formada por uno o varios atributos. Las tablas se relacionan mediante las claves externas (Foreign Key) que actúan como claves primarias en sus propias tablas, una relación es una asociación entre varias entidades [Silberschatz 2002]. El modelo entidad relación utiliza un lenguaje para los procesos de las tablas llamado Lenguaje Estructurado de Consultas (Structured Query Language, SQL). SQL es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar de una forma sencilla información de interés, así como también hacer cambios sobre ella Métricas e indicadores de desempeño en los negocios. Métrica Una métrica se refiere a los valores que recoge el proceso de una actividad o los resultados de la misma. Estas medidas proceden del resultado de la actividad del negocio [Curto 2010]. Estas métricas las podemos analizar desde dos puntos de vista: Métricas que miden la realización de la actividad (leading) y las métricas de resultados de una actividad (lagging). Indicadores de desempeño Los indicadores de desempeño en los negocios (KPI - Key Performance Indicators) son los instrumentos adecuados para medir y evaluar a las organizaciones y saber si están alcanzando sus objetivos [Cano 2008], los Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 13

29 Capítulo 2: Marco teórico y conceptual KPI son métricas del proceso, deben ser cuantificables, medir mejoras en actividades de la organización y estar alineados con sus objetivos. Los indicadores claves de desempeño deben cumplir con las siguientes características para que sus mediciones sean efectivas: alineados, únicos, predictivos, accionables, número reducido de indicadores, fácil de entender, relevantes, estandarizados y que generen cambios. En la tabla 2.2, se describen como ejemplo algunos indicadores que son representativos para las PyMES respecto a clientes. Tabla 2.2. Indicadores clave de clientes para las PyMES. Actividad Asunto Fórmulas de cálculo Coste costo Pedidos Facturación Pago Actividades comerciales Calidad y servicio Coste como % del costo de artículos vendidos contra presupuesto. Coste por pedido Coste por llamada telefónica Valor medio por pedido Margen medio por pedido Discrepancias de facturación Discrepancias de precios Términos de pago Tasas de conversión Costo de artículos vendidos = inventario de mercancía al principio + compras netas de mercancía inventario de mercancía final. Coste del servicio relación cliente número de pedidos. Coste de las llamadas número de llamadas Tiempo de llamada total número de llamadas Valor total de los pedidos número de pedidos Total margen número de pedidos. Número de facturas con discrepancias número total de facturas. Número de líneas de factura con discrepancias de precio número total de líneas de factura. Término de pago medio contra objetivo. Término de pago medio contra término de pago contractual por cliente. % de llamadas finalizadas con una venta. Fiabilidad del proceso de pedido Número de líneas de pedido con error al procesar el pedido número total de líneas de pedido. Plazo medio de entrega de los pedidos. Número de líneas de pedido entregadas a tiempo Servicio durante el periodo considerado número de líneas de pedido entregadas durante el mismo periodo. Quejas del cliente Número de líneas de pedido con quejas número total de líneas de pedido entregadas durante el mismo periodo Resolución al primer Número de quejas resueltas a la primera llamada contacto número total de llamadas Plazo de resolución de Plazo medio necesario para resolver las quejas llamadas Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 14

30 Capítulo 2: Marco teórico y conceptual 2.2 Procesos de Extracción, Transformación y Carga (ETL) La inteligencia de negocios con frecuencia combina información y resúmenes de datos de distintos sistemas operacionales de un negocio en un almacén de datos, conocido como Data Warehouse, el principal problema que se tiene, es que la mayoría de los datos provienen de diversas fuentes de información y diferentes tipos de datos, para este problema la solución son los procesos de Extracción, Transformación, y Carga (ETL del inglés Extract, Transform and Load). Esta área de inteligencia de negocios es de gran importancia, ya que considera varios aspectos, entre ellos, el modelado de información, calidad de la información, descripción de la información, administración de los metadatos y administración de la información original. Además de procesos ETL, algunos llaman a este proceso Administración de la información de la empresa (Enterprise information management) [Méndez 2006] Area de almacenamiento temporal (Staging Area). Un Staging area, es un área de almacenamiento temporal que se encuentra entre las fuentes de datos y el Data Warehouse o Data Mart, contiene datos no procesados provenientes de los sistemas operacionales, el objetivo es facilitar los procesos de Extracción, Transformación, Carga y Limpieza, asegurando calidad en los datos para posteriormente ser trasladados al Data Warehouse. Puede ser utilizado cuando las bases de datos están ocupadas las veinticuatro horas del día y no puede ser extraída directamente por procesos ETL del Data Warehouse. También puede ser utilizada cuando los datos provienen de distintas fuentes, como son: Oracle, Sybase, Informix, XML, Paradox, SQLite, MySQL, SQL Server, PostgreSQL, Archivos de texto plano, Hojas de cálculo, entre otros Gestores de bases de datos. Los Gestores de Bases de Datos (DBMS del inglés Database Management System), son utilizados para la creación y manipulación de datos, los DBMS considerados en esta tesis son: MySQL, Oracle, Sybase, SQL Server y PostgreSQL, los cuales se describen a continuación. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 15

31 Capítulo 2: Marco teórico y conceptual Gestores de bases de datos considerados en esta tesis. MySQL Es un gestor de bases de datos que funciona en distintos sistemas operativos como Windows, Linux, UNIX, OS/2 entre otros, se puede acceder de forma gratuita aunque también existen licencias comerciales, los datos se almacenan en archivos que tienen un tamaño mucho menor que otros DBMS. El motor de datos de MySQL es mucho más rápido, tanto grabando datos como localizándolos y recuperándolos que el de otros DBMS, así también ofrece una gran seguridad sobre la integridad de los datos almacenados y son demasiado sencillos los respaldos de la información [López, 2007]. Oracle Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando: (soporte de transacciones, estabilidad, escalabilidad y soporte multiplataforma) [McLaughlin 2008]. Las arquitecturas en las que se asienta pueden ser: Intel, Alpha, Sparc, Risc, a nivel de procesadores. Oracle es configurable en entornos de procesamiento de transacciones en línea (OLTP), grupos, e incluso resulta una genial solución a nivel de Data Warehouse. Oracle es un sistema gestor de datos relacional de última generación, lo cual quiere decir que está orientado al acceso remoto y redes (internet). Sybase Adaptive Server Enterprise (ASE) es el motor de bases de datos insignia de la compañía Sybase. ASE es un sistema de gestión de datos, altamente escalable, de alto rendimiento, con soporte a grandes volúmenes de datos, transacciones y usuarios y de bajo costo, que permite: Almacenar datos de manera segura, tener acceso y procesar datos de manera inteligente y movilizar datos [Sybase 2001]. ASE 15 fue liberado en 2005, brindando soporte para Java en la base de datos, alta disponibilidad y gestión de transacciones distribuidas, además con características tales como asignación dinámica de memoria, soporte para XML en la base de datos y conexiones seguras, entre otros. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 16

32 Capítulo 2: Marco teórico y conceptual SQLServer SQL Server es un sistema para la gestión de bases de datos desarrollado por Microsoft, basado en el modelo relacional. Sus lenguajes para consultas son: Transact-SQL y ANSI SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea, ofrece gran seguridad, integración con PowerShell, tiene correctores de sintaxis del lenguaje Transact-SQL e intelligence [Charte 2009]. Algunas de sus características consisten en soporte de transacciones, escalabilidad, estabilidad, seguridad, además soporta procedimientos almacenados y permite trabajar en modo cliente servidor y proporciona un entorno gráfico amigable. PostgreSQL Es un Gestor de Bases de Datos Relacional orientado a objetos de software libre, soporta consultas complejas, integridad referencial, disparadores (triggers), vistas, integridad transaccional, concurrencia, clases, herencia, tipos y funciones. PostgreSQL es un gestor magnífico, que posee una gran escalabilidad, idóneo para su uso en sitios web con 500,000 peticiones por día [Lockhart 2010]. PostgreSQL es el gestor de bases de datos de código abierto más avanzado hoy en día, ofreciendo control de concurrencia multi-versión, soportando casi toda la sintaxis SQL (incluyendo subconsultas, transacciones, y tipos y funciones definidas por el usuario), contando también con un amplio conjunto de enlaces con lenguajes de programación Tipos de datos considerados en este proyecto de tesis. En la tabla 2.3 se muestran los distintos tipos de datos que están considerados en esta tesis y se encuentran agrupados en: tipos de datos enteros, tipos de datos con punto decimal, tipos de datos tipo texto o carácter, tipo de datos para el manejo de fechas y tiempo. Tabla 2.3 Tipos de datos considerados en este proyecto de tesis. Tipo de dato MySQL Oracle PostgreSQL Sybase SQL Server Int Bigint Boolean Tipo de dato estándar Datos enteros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 17

33 Capítulo 2: Marco teórico y conceptual Bediumint Tinyint Decimal Integer Smallint Numeric Float Double Real double precisión Number Varchar Char Text Tinytext Character character varying Nchar Ntext Nvarchar varchar2 Date Datetime Offset Datetime Realtime time with time Date Time Datetime Tiempo y fecha Date Datos con punto decimal Datos tipo texto Fecha Tiempo Fecha y tiempo Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 18

34 Capítulo 2: Marco teórico y conceptual Calidad de los datos. La calidad de los datos es uno de los fundamentos del éxito de la organización. El tener acceso a información exacta y completa es fundamental para la toma de decisiones estratégicas y de misión crítica. Datos con calidad apoyan y fortalecen virtualmente todas las funciones de negocios y sus diferentes áreas y departamentos, dando como resultado un crecimiento con rumbo exitoso [Hernández 2005]. La calidad en los datos es el factor de más importancia en la toma de decisiones, los datos son activos corporativos o institucionales importantes, pero es un hecho que en la mayoría de las organizaciones estos no se administran con el mismo rigor que otros activos. Lograr y mantener la calidad en los datos requiere esfuerzo planeado, permanente y costoso. Los datos en la mayoría de las organizaciones son deficientes en calidad [Curto 2010]. Lograr un alto nivel de calidad de información es difícil y significativamente afectada por cuestiones organizativas y de propiedad. A corto plazo, vendar los problemas en lugar de dirigirse a la raíz de la causa es con frecuencia el camino de menor resistencia [Howson 2009]. La calidad de los datos en un Data Warehouse es fundamental Las organizaciones actúan bajo la suposición de que la información de la que disponen es precisa y válida. Si la información no es válida, entonces no puede responder de las decisiones basadas en ella. 2.3 Data Warehouse. A continuación se presenta información sobre los almacenes de datos creados para la construcción de Data Warehouse o Data Mart, la importancia de los datos y metadatos, los modelos utilizados para su construcción así como los tipos de dimensiones en que pueden ser construidos los almacenes de datos Data Warehouse y Data Mart. En una manera de representar conjuntos de datos dentro del proyecto de tesis, se consideraron estructuras de almacenes de datos como Data Warehouse y Data Mart, las cuales se describen a continuación. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 19

35 Capítulo 2: Marco teórico y conceptual Data Warehouse Es un almacén de datos que usa un proceso para extraer un conjunto de datos históricos, internos y externos de distintas aplicaciones, que están integrados y organizados de tal forma que permiten aplicar eficientemente herramientas para resumir, describir y analizar los datos con el fin de ayudar a la toma de decisiones estratégicas del negocio [Hernández 2005]. Requiere una combinación de metodologías, técnicas, hardware y los componentes de software que proporcionan en conjunto una infraestructura para soportar el proceso de información. La estructura de datos que se defina en la construcción del Data Warehouse, debe reflejar la integración de cada uno de los departamentos y del negocio en general y con el tiempo se vaya convirtiendo en un Data Warehouse corporativo [Méndez 2006]. Data Mart Es una base de datos departamental, contiene datos e información enfocada a las necesidades específicas de un departamento o unidad de negocio [Méndez 2006]. Se caracteriza por disponer la estructura óptima de datos para analizar la información al detalle desde todas las perspectivas que afecten a los procesos de dicho departamento [Sinnexus 2011]. Al igual que en un Data Warehouse, los datos están estructurados en modelos de estrella o copo de nieve y un Data Mart puede ser dependiente o independiente de un Data Warehouse, la diferencia entre una Data Mart y un Data Warehouse es su alcance Datos y metadatos. Datos Los datos constituyen registros de información de diferentes tipos que pueden obtenerse de varias maneras: manualmente, automáticamente a través de instrumentos, o a través de procesamiento realizado por computadores. Metadatos Son el nivel superior de la información que describen el contenido, contexto, calidad, estructura, y accesibilidad de una colección de datos específica. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 20

36 Capítulo 2: Marco teórico y conceptual Modelos utilizados en la construcción del Data Mart. En la figura 2.1 se ilustran los modelos utilizados en la construcción de un Data Mart o Data Warehouse, en ella puede apreciar la tabla de hechos al centro y alrededor sus dimensiones, representados en un esquema estrella Tablas de hechos. Una tabla de hechos es la tabla central de un esquema dimensional (estrella o copo de nieve) y contiene los valores de las medidas del negocio (indicadores de negocio). Cada medida se toma mediante la intersección de las dimensiones que lo definen, dichas dimensiones estarán reflejadas en sus correspondientes tablas de dimensiones que rodearán la tabla de hechos y estarán relacionadas con ella. En el diagrama de la figura 2.1 la tabla característica de software es la tabla de hechos. Figura 2.1 Esquema estrella. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 21

37 Capítulo 2: Marco teórico y conceptual Esquema estrella y copo de nieve. Esquema estrella (star schema). Un esquema en estrella es un modelo de datos que tiene una tabla de hechos que contiene los datos para el análisis, rodeada de las tablas de dimensiones, como se muestra en la figura 2.1. Este aspecto, de tabla central rodeada de tablas más pequeñas es lo que asemeja a una estrella, dándole nombre a este tipo de construcciones. Las tablas de dimensiones tendrán siempre una clave primaria simple, mientras que en la tabla de hechos, la clave principal estará compuesta por las claves principales de las tablas dimensionales. Diseño copo de nieve (snowflake schema). La figura 2.2, muestra un diseño en copo de nieve. Es una estructura algo más compleja que el esquema en estrella. Se da cuando en algunas de las dimensiones se implementa con más de una tabla de datos. Figura 2.2 Diseño en copo de nieve Dimensiones utilizadas en la construcción del Data Mart. En las tablas de dimensiones se posee un identificador único y al menos un atributo que describe los criterios de análisis relevantes de la organización. Existen diferentes tipos o maneras de construir las dimensiones de las tablas para almacenar la información. Las tablas de dimensión histórica (Slowly Changing Dimensions - SCD) determinan el manejo de los cambios en las tablas. La aplicación del mecanismo SCD permite saber a los usuarios a que categoría pertenecía un elemento en una fecha determinada, los diferentes tipos de dimensiones se describen a continuación: Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 22

38 Capítulo 2: Marco teórico y conceptual Tipo 0 SCD: En este tipo de dimensión, no se toma en cuenta la administración de los cambios históricos, en realidad no se realiza algún esfuerzo. De manera que puede ser sobrescrita la información parcial o total. No se tiene una planeación. Tipo 1 SCD: Este tipo de dimensión, no guarda datos históricos, siempre es sustituida con la nueva información. Este método es usado con frecuencia cuando se pierde la capacidad de rastrear la historia de los datos. Tipo 2 SCD: Este tipo de dimensión almacena toda la información histórica en el Data Warehouse. Al haber cambios se crea una nueva entrada con su fecha y se sustituyen las llaves apropiadas. A partir de ese momento será el valor usado para las futuras entradas. Las antiguas usaran el valor anterior. Tipo 3 SCD: Este tipo de dimensión almacena toda la información histórica en el Data Warehouse. En este caso se crean nuevas columnas con los valores antiguos y los actuales son remplazados con los nuevos, en este tipo de tablas no se tiene un buen control cuando la dimensión cambia más de dos veces, se hace muy compleja. 2.4 Herramientas analíticas Procesamiento analítico en línea (OLAP). El Procesamiento Analítico en Línea (OLAP del inglés On-Line Analytical Processing) es una solución utilizada en el campo de la inteligencia de negocios, la cual consiste en consultas a estructuras multidimensionales, también conocidos como Cubos OLAP que contienen datos resumidos de grandes Bases de Datos o Sistemas Transaccionales en Línea (OLTP). Los Sistemas OLAP son utilizados en Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 23

39 Capítulo 2: Marco teórico y conceptual informes de negocios de ventas, mercadotecnia, informes de dirección, minería de datos y áreas similares. La razón de usar sistemas OLAP para las consultas es la velocidad de respuesta. Una base de datos relacional almacena entidades en tablas discretas si han sido normalizadas. Esta estructura es buena en un sistema OLTP pero para las complejas consultas multitabla es relativamente lenta. Un mejor modelo para búsquedas, aunque peor desde el punto de vista operativo, es una base de datos multidimensional. La principal característica que potencia a OLAP, es que es lo más rápido a la hora de hacer selecciones y consultas, en contraposición con OLTP que es la mejor opción para insertar, actualizar y eliminar datos. En un modelo de datos OLAP, la información es vista como cubos, los cuales consisten en categorías descriptivas (dimensiones) y valores cuantitativos (medidas). El modelo de datos multidimensional simplifica a los usuarios formular consultas complejas, arreglar datos de un reporte, cambio de datos resumidos a datos detallados y filtrar o seccionar en subconjuntos significativos. Un cubo de datos OLAP es un vector multidimensional, de N dimensiones. En él la información se almacena en cada una de estas dimensiones de forma ordenada y jerarquizada, lo que nos ayuda a realizar un rápido análisis de su contenido Cuadros de mando. El Cuadro de Mando es una herramienta de gestión que facilita la toma de decisiones. Recoge un conjunto de indicadores que proporciona a la alta dirección y al equipo de dirección, una visión comprensible del conjunto de la empresa. La información aportada por el Cuadro de Mando permite enfocar y alinear los objetivos de todas las perspectivas desde las que puede observarse una empresa, áreas financieras, clientes, procesos, crecimiento y aprendizaje. En consecuencia, el Cuadro de Mando se convierte en una herramienta de gestión que permite controlar, mediante indicadores, el cumplimiento de la estrategia desarrollada por la empresa, a la vez tomar decisiones rápidas y acertadas para alcanzar los objetivos que figuran en el plan estratégico de la organización. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 24

40 Capítulo 2: Marco teórico y conceptual Tableros de control. El tablero de control (del inglés Dashboards) es una presentación visual de información importante, necesaria para lograr uno o más objetivos; consolidada y arreglada en una sola pantalla, de tal manera que la información pueda monitorearse con un vistazo [Howson 2009]. Los tableros de control brindan información instantánea sobre el rendimiento del negocio, para los gerentes y ejecutivos que necesitan tener una visión general del rendimiento del negocio. Para ellos es muy valioso poder analizar muestras oportunas y visualmente intuitivas de la información estratégica tanto financiera como operativa de la compañía. Un tablero de control, permite monitorear el ritmo de una empresa, conocer lo que está pasando, incluyendo información relevante que puede provenir de distintas áreas, centralizándola en una misma pantalla para que se tomen buenas decisiones justo a tiempo, como ejemplo el tablero de control que se encuentra en la figura 2.3. Los componentes de un tablero de control son: 1. Líneas que muestran las tendencias de las ventas. 2. Indicadores claves de desempeño (KPI), permiten identificar si las ventas van de acuerdo a lo planeado. 3. Gráficas que muestran dónde las ventas tienen buen desempeño y dónde tienen bajo desempeño. 4. Referencia cruzada de productos más vendidos. Figura 2.3 Tablero de control de la suite de inteligencia de negocios de Pentaho Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 25

41 Capítulo 2: Marco teórico y conceptual Consultas y presentación de informes. Llegar a la información es una de las capacidades de las herramientas de consulta; otro aspecto es presentar y formatear la información de manera significativa, estas capacidades son conocidas en inglés como Query and Reporting. En cualquier solución de inteligencia de negocios, la presentación de informes a partir de los datos para mejorar la competitividad es la clave del éxito. Uno de los objetivos más importantes en soluciones de inteligencia de negocios es responder de la mejor manera a las preguntas de los clientes con una presentación de informes adecuada y rápida. La importancia de la herramienta de presentación de informes radica en que es la capa de presentación del sistema, rescata la importancia de la apariencia y proyección de la información. Es importante contar con una herramienta que satisfaga su imagen corporativa. Una información enriquecida con recursos visuales como gráficas, marcos, títulos adecuados y en los lugares correctos presenta los datos de una manera más entendible y elegante al usuario final, los tipos de reportes necesarios para una empresa son: a) Reportes administrativos. Son utilizados para tener una perspectiva sobre el rendimiento empresarial, la estrategia y la información de mercado. b) Reportes empresariales. Son reportes periódicos utilizados en el análisis de ventas, clientes, productos, entre otros. c) Reportes operacionales. Son reportes para revisar la información de inventarios, gastos, cuentas por pagar, entre otros Minería de datos. La minería de datos es un proceso analítico de nueva generación que utiliza técnicas para soportar la extracción de conocimiento útil desde información disponible. La minería de datos se distingue de las herramientas analíticas como OLAP, estadística paramétrica y no paramétrica, en que no obtiene información extensional (datos) sino intencional (conocimiento) y además el conocimiento no es generalmente una parametrización de ningún modelo preestablecido o intuido Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 26

42 Capítulo 2: Marco teórico y conceptual por el usuario, sino que es un modelo novedoso y original [Hernández 2005]. Sin embargo a pesar de que las herramientas OLAP soportan cierto análisis descriptivo y de sumarización que permite transformar los datos en otros agregados o cruzados de manera sofisticada, no generan reglas, patrones, pautas, es decir, conocimiento que pueda ser aplicado a otros datos. Lo que es interesante es el conocimiento que pueda inferirse a partir de los datos y más aún la capacidad de poder usar este conocimiento, esto es la esencia de la minería de datos Herramientas de minería de datos. Weka Weka es el acrónimo de Waikato Environment for Knowledge Analysis, y nace del esfuerzo de un grupo de investigadores del Machine Learning Laboratory de la universidad de Waikato (Nueva Zelanda), contiene una extensa colección de algoritmos para el aprendizaje automático para las tareas de minería de datos, desarrollados en el lenguaje de programación Java. Excel Mining Es la nueva tecnología para proyectos de inteligencia de negocios, con el objetivo de que analistas en general, algunos tomadores de decisiones, gerentes, inversionistas, personas que dirigen una organización o empresa de cualquier tamaño, tengan la posibilidad de aplicar minería de datos sobre su información desde una herramienta conocida y fácil de manejar como lo es Excel [Galiana 2007]. En el siguiente capítulo, se describe la metodología que se utilizó para integrar los diferentes procesos de inteligencia de negocios propuestos en esta tesis, además se muestra un esquema con la solución final y las etapas del proceso, así como las tecnologías utilizadas para cada área de atención. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 27

43 Capítulo 3: Metodología de solución Metodología de solución En esta etapa se describen los pasos que conforman la metodología que fue utilizada para integrar los diferentes procesos de Inteligencia de Negocios propuestos en esta tesis, en la cual se muestra una visión general de la arquitectura mediante un esquema que describe cada una de las áreas y la secuencia que se sigue en todo el proceso. Además se mencionan las herramientas que fueron utilizadas en el desarrollo de cada una de las etapas de la construcción del sistema, en su mayoría software libre, y de uso común en las pequeñas y medianas empresas (PyMES) del país, con el propósito de ofrecer una solución a bajo costo y de acuerdo a sus necesidades. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 28

44 Capítulo 3: Metodología de solución 3.1 Proceso de solución general. En el esquema que se muestra en la figura 3.1, se definieron tres áreas para la descripción de los procesos, las cuales se mencionan a continuación: 1. Selección del área de análisis de la empresa para procesos de inteligencia de negocio. 2. Pre procesamiento de datos. 3. Toma de decisiones a través de resultados de herramientas de minería de datos. Por otro lado, dentro de las áreas mencionadas se llevan a cabo diez etapas que permiten integrar los diferentes procesos que contiene el proyecto, las etapas se describen en la sección 3.3. Figura 3.1 Proceso de inteligencia de negocios orientado a la toma de decisiones para la PyMES Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 29

45 Capítulo 3: Metodología de solución 3.2 Definición de las áreas del proyecto. Dentro del esquema que se muestra en la figura 3.1, se pueden apreciar las diferentes áreas que participan en el proceso de inteligencia de negocios orientado a la toma de decisiones, las cuales se describen a continuación: 1. Selección del área de análisis de la empresa para procesos de inteligencia de negocios. Esta área corresponde a las pequeñas y medianas empresas (PyMES), dentro de su organización están formadas por diferentes departamentos como: Compras, ventas, inventarios, clientes, personal, mercadotecnia, producción entre otros, la información de la empresa es administrada a través de sistemas operacionales, los cuales almacenan los datos en distintos gestores de bases de datos, como: MySQL, Oracle, Sybase, PostgreSQL o SQLServer. Para llevar a cabo la implementación de procesos de inteligencia de negocios en la empresa, primero se debe definir el área de la empresa que necesita ser analizada, posteriormente determinar los datos que son necesarios para su análisis y en donde se encuentran, además de definir algunos indicadores que reflejen el comportamiento de los mismos. Para facilitar el acceso a los datos de la empresa, se describen dos opciones: a. Acceder directamente a las bases de datos de los sistemas operacionales y extraer la información necesaria. Esto implica hacer una lectura y encontrar la información que no se ha extraído con anterioridad o en su defecto una extracción total de los datos. b. Contar con una tabla delta es una alternativa mucho más óptima, ya que su propósito es tener registradas las operaciones de inserción y actualización que se han ido produciendo en el origen desde el último pedido de datos y que serán transferidos a procesos de inteligencia de negocios. Ese proceso es mucho más eficiente y por supuesto consume mucho menos recursos en origen y destino, que hacer una lectura de dicho origen, compararlo con el destino y obtener de ahí las diferencias para en seguida aplicarlas al destino. La tabla delta contiene únicamente los campos necesarios para el análisis del área a analizar [Ramos 2011]. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 30

46 Capítulo 3: Metodología de solución Se recomienda trabajar con las dos opciones combinadas (ver figura 3.1), la primera vez se requiere extraer toda la información de la tabla, y para las veces subsecuentes es recomendable apoyarse de una tabla delta, ya que permite optimizar los procesos de inteligencia de negocios, sin embargo si solo se tiene la primera opción no es una limitante para la herramienta. 2. Pre procesamiento de datos. El proyecto de esta tesis describe el pre procesamiento de datos para herramientas de minería de datos en procesos de inteligencia de negocios, el cual incluye: Procesos de Extracción, Transformación, Limpieza y Carga de datos (ETL del inglés Extract, Transform and Load), construcción de almacenes de datos (Staging Area, Data Mart y/o Data Warehouse) y generación de vistas minables para las herramientas de minería de datos Weka y Excel Mining. Cabe señalar que en la administración de los almacenes de datos para cargar o exportar datos, se desarrollaron procesos compatibles con formatos de archivos de texto (TXT), hojas de cálculo (CSV) y lenguaje de marcas extensible para análisis (XML). Se específica que para los procesos de Extracción, Transformación, Limpieza y Carga (ETL), se considera el uso de un almacenamiento temporal como se aprecia en la figura 3.1. Un almacén temporal, es un área que se encuentra entre las fuentes de datos y el Data Warehouse o Data Mart, contiene datos no procesados provenientes de los sistemas operacionales, el objetivo es facilitar los procesos de Extracción, Transformación, carga y Limpieza, asegurando calidad en los datos para posteriormente ser trasladados al Data Warehouse [Méndez 2006]. 3. Toma de decisiones a través de resultados de herramientas de minería de datos. Una vez terminado el pre procesamiento de los datos y haber generado las vistas minables, se consideran dos herramientas analíticas orientadas a la minería de datos: Weka y Excel Mining, para llevar a cabo procesos de minería y en base a los resultados que generen el experto tomar decisiones en la empresa. Weka: Es un software libre desarrollado en Java, contiene una extensa colección de algoritmos para el aprendizaje automático en las tareas de minería de datos, trabaja con un formato específico de archivos arff (del Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 31

47 Capítulo 3: Metodología de solución inglés Atribute Relation File format), el cual contiene una estructura formada por la cabecera, declaración de atributos y sección de datos. Excel Mining: Es un software comercial de Microsoft para proyectos de inteligencia de negocios, con el propósito de que cualquier persona pueda aplicar minería de datos sobre su información desde una herramienta conocida y fácil de manejar como lo es Excel [Galiana 2007]. Cabe señalar que para que funcione esta herramienta se debe tener configurado el servidor de SQL Server y el Analysis Service, y a través de un conector (plug in) configurar Excel para que a través de su interface el usuario final ejecute los procesos de minería de datos en los servidores mencionados. 3.3 Etapas en el desarrollo del proyecto. Como primer punto, la empresa tiene definida el área para análisis con procesos de inteligencia de negocios. A partir de ello se establecieron diez etapas (ver figura 3.1) para seguir el proceso hacia la toma de decisiones, las primeras ocho etapas corresponden al área de pre procesamiento de datos, las cuales puede identificar en la color gris figura 3.2 con gris oscuro y las dos etapas restantes corresponden al proceso para la toma de decisiones a través de la implementación de herramientas de minería de datos Weka y Excel Mining, las cuales puede identificar en la figura 3.2 con el color blanco. En los siguientes apartados se describen las etapas Etapas para el pre procesamiento de datos Etapa 1: Extracción de datos. Consiste en conectarse a distintos gestores de bases de datos, como: MySQL, SQL Server, Oracle, Sybase y PostgreSQL, una vez conectado extraer la información de la tabla seleccionada a través de dos archivos de texto, el primero con los metadatos de la tabla y el segundo con la información de los registros contenidos en la tabla. Figura 3.2 Etapas del proceso de solución. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 32

48 Capítulo 3: Metodología de solución Especificación: En el archivo de datos, se prepara la estructura con un campo adicional de control que utilizará el Staging Area, para administración de los datos. Etapa 2: Construcción del almacén temporal de datos. Se crea un almacén temporal (Staging Area) a través de una aplicación con la misma estructura que contiene el archivo de datos que fue extraído, para ello se crea una base de datos, la tabla y campos específicos. El almacén tiene el propósito de cargar los datos temporalmente y aplicar procesos de transformación y limpieza. Especificación: El sistema al crear la tabla, agrega un campo Id_Key auto incrementable, que será utilizado para administrar el almacén. Etapa 3: Carga de datos al almacén temporal. En esta etapa se lleva a cabo la carga de datos al almacén temporal (Staging Area) a través del sistema, utilizando el archivo de datos que fue extraído de las bases de datos origen de la empresa. Alternativa de carga: El proceso de carga permite subir datos al almacén provenientes de hojas de cálculo, archivos de texto, y archivos XML. Etapa 4: Transformación y limpieza de datos. Transformación: El proceso de transformación contempla varias áreas, como realizar cálculos entre campos, análisis sintácticos de cadenas, además adaptar el archivo al formato preciso según el almacén objetivo. Para los puntos mencionados se describe como apoya el sistema en las alternativas de solución. Qué hace el sistema? El sistema permite adaptar al formato preciso el almacén para el almacén objetivo. Cómo apoya el sistema? En los casos de cálculos entre campos y análisis sintácticos, el sistema permite exportar la tabla a una hoja de cálculo como Excel, en donde se puede aplicar de manera más sencilla los procesos de cálculo y análisis sintáctico. Una vez procesada la información, el sistema permite la creación de un almacén temporal nuevo de acuerdo a la nueva estructura procesada en la hoja de cálculo e importar los nuevos datos al sistema. Qué no hace el sistema? El sistema no hace cálculos y no hace análisis sintácticos en las tablas. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 33

49 Capítulo 3: Metodología de solución Limpieza: En el proceso de limpieza se utilizan dos procesos, análisis de la tabla y limpieza de la tabla. Análisis de la tabla: En este proceso se genera un análisis global de la tabla, con el propósito de apoyar al usuario a detectar errores o anomalías en los datos, como resultado se muestra la siguiente información: Número de atributos. Número de registros. Número de llaves primarias. Número de registros duplicados. Número de campos vacíos/cero. Número de campos con valores nulos. Moda de cada atributo. Edición de grupos de valores de cada atributo. Gráficas de los valores más altos (10 valores). En tipos de datos numéricos (Tamaño de la población, media, desviación estándar, varianza, valor máximo y mínimo de la población) A través de los datos presentados en el análisis de la tabla, el usuario puede analizar en forma particular los diferentes grupos de datos sobre los valores de cada atributo y al encontrar alguna anomalía el usuario puede seleccionar el grupo para procesarlo en el área de limpieza más adelante Limpieza de la tabla: En este proceso se muestran dos opciones para el usuario: Limpieza general y limpieza en base a criterios. Limpieza general: En esta opción el sistema genera un proceso de limpieza general, eliminando registros duplicados, con valores vacíos o en cero y nulos. Limpieza en base a criterios del usuario: Al haber seleccionado un grupo de datos con anomalías en el área de análisis, el usuario le indica al sistema sustituir por un dato nuevo o eliminar la información, el criterio de limpieza se explica a continuación. En el siguiente ejemplo el área de análisis de limpieza del sistema muestra tres grupos de datos resultantes sobre el campo sexo. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 34

50 Capítulo 3: Metodología de solución Campo Sexo M 30 F 24 H 2 Al editar los datos el usuario identifica que los grupos correctos son M (masculino) y F (femenino) y H es un grupo erróneo y al analizar la información contenida en el grupo H, se da cuenta que los datos pertenecen al grupo masculino, el sistema permite cargar ese grupo para aplicar limpieza posteriormente. En el área de limpieza del sistema se muestra la opción del grupo H, con dos opciones para corregir, eliminar el grupo o sustituir su valor. El usuario en base a su criterio y experiencia le indica al sistema sustituir el valor del grupo H por el valor M. Etapa 5: Exportación de datos. Preparado el almacén temporal con la estructura que requiere el Data Mart y/o Data Warehouse, el sistema permite exportar la información a través de tres formatos: Archivos de texto (TXT), archivos de hojas de cálculo (XLS) y lenguaje de marcas extensible para análisis (XML), con el propósito de que esta información sea alojada en el Data Mart y/o Data Warehouse. Etapa 6: Construcción del almacén de datos para el Data Mart o Data Warehouse. En esta etapa se crea un almacén para el Data Mart y/o Data Warehouse, con la estructura requerida para el proceso de toma de decisiones que utilizarán las herramientas de minería de datos Weka y Excel Mining. Etapa 7: Carga de datos al Data Mart o Data Warehouse. En esta etapa se lleva a cabo la carga de datos al Data Mart o Data Warehouse a través del sistema, utilizando el archivo que se exportó del almacenamiento temporal. Etapa 8: Generar vistas minables. Se generan los archivos que se utilizarán como vistas minables para las herramientas Weka y Excel Mining con estructuras en formato (arff) y (xls) respectivamente Etapas para la toma de decisiones. Una vez obtenidos los archivos con las vistas minables del proceso anterior, la información es utilizada en las herramientas de Minería de Datos Weka y Excel Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 35

51 Capítulo 3: Metodología de solución Mining para su procesamiento y análisis de los resultados orientado a la toma de decisiones en la empresa, para ello se describen las etapas 9 y 10. Etapa 9: Aplicar minería con Excel Mining y en base a los resultados tomar decisiones. Se ejecuta Excel Mining y se carga el archivo generado como vista minable, luego se convierten los datos a formato de base de datos para su procesamiento y se comienzan a utilizar las diferentes aplicaciones de Minería de Datos que ofrece la herramienta, se muestran los resultados y en base a ellos se toman decisiones por un experto. Etapa 10: Hacer un análisis de los datos, luego aplicar minería con Weka y en base a los resultados tomar decisiones. Se ejecuta Weka y se carga el archivo generado como vista minable y se comienzan a utilizar las diferentes aplicaciones de Minería de Datos que ofrece la herramienta y se muestran los resultados y en base a ellos se toman decisiones por un experto. Se hace notar que este trabajo de tesis no tiene contemplado en su alcance, el análisis de los resultados de los procesos de toma de decisiones de las herramientas de Minería de datos sobre las etapas 9 y Herramientas de software utilizadas en el proyecto de tesis. En la construcción del proyecto fue necesario utilizar diversos programas, algunos para el desarrollo de aplicaciones, administración de almacenes de datos, entornos de desarrollo, herramientas analíticas, entre otros. Cabe señalar que el software que se utilizó en el proyecto, es software libre a excepción de Microsoft Excel. En el caso de los gestores de bases de datos, existe la variante de software libre y software comercial, para MySQL, Oracle, Sybase y PostgreSQL, las licencias de software libre permiten una capacidad de hasta 5 terabytes, al exceder de esa capacidad, es necesario adquirir una versión de paga, en el caso de SQL Server, la versión para desarrollador Management Studio no tiene costo, pero permite una capacidad de hasta 2 terabytes, también se puede optar por la versión express sin costo. En la tabla 3.1, se muestra el listado del software, clasificado de acuerdo a su utilización en el proyecto, el tipo de software de acuerdo a su distribución y la página web en la que se puede descargar el software. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 36

52 Capítulo 3: Metodología de solución Tabla 3.1 Herramientas de software utilizadas en el proyecto de tesis. Utilización en el proyecto Nombre del software Tipo de software Página Web de descarga Desarrollo de aplicaciones Lenguaje Java Libre ndex.jsp Entorno de desarrollo gráfico Net Beans Libre y/releases/70/ Construcción de Data Warehouse MySQL Libre ds/ Gestores de bases de datos Extracción de datos SQL Server Management Studio Libre PostgreSQL Libre wnload/ Sybase Libre oads Oracle Libre twork/products/expressedition/overview/index.html Entorno gráfico de MySQL SQLyog Libre download Manejo de archivos XML XML Notepad 2007 Libre Microsoft Excel 2007 Comercial Hojas de Cálculo Calc OpenOffice Libre wnload/index.html Manejo de archivos de texto Writer OpenOffice Libre Herramientas de Minería de Datos wnload/index.html Weka Libre ml/weka/ Add in de Excel Libre Mining Nota: La herramienta Excel, aunque es comercial, casi todas las pc lo tienen instalado. En el siguiente capítulo, se describe el diseño y la implementación del proyecto. En la etapa de diseño se establecieron los casos de uso que representan de manera general las acciones básicas que se pueden hacer con el sistema, además de los diagramas de secuencias y clases bajo el estándar UML. En la implementación se describen los recursos internos y externos que conforman los diferentes procesos de inteligencia de negocios. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 37

53 Capítulo 4: Diseño e implementación Diseño e implementación En el capítulo 4, se describe el diseño y la implementación del proyecto. En la etapa de diseño se establecieron los casos de uso y escenarios que representan de manera general las acciones básicas que se pueden hacer con el sistema, además se diseñaron los diagramas de secuencias y clases para la construcción del sistema, en la implementación se describen los recursos internos y externos que conforman los diferentes procesos de Inteligencia de Negocios, además se incluye información adicional en el anexo C al H, donde puede consultar el funcionamiento de las pantallas y el código de la herramienta. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 38

54 Capítulo 4: Diseño e implementación 4.1 Modelado de casos de uso. La descripción del modelo de casos de uso servirá como punto de referencia para el diseño arquitectónico de los procesos de inteligencia de negocios orientados al pre procesado de datos para herramientas de minería de datos con el propósito de encontrar información útil y aplicarla en la toma de decisiones de la empresa. El modelo de casos de uso describe la funcionalidad del sistema, a través de ellos se captura la funcionalidad desde la perspectiva del cliente. A partir del modelo de casos de uso se diseña la arquitectura general de los procesos de inteligencia de negocios orientados a la toma de decisiones y contribuyen en el análisis del contexto del dominio declarando los requisitos funcionales que debe contemplar el sistema y que a partir de éstos se determinan las clases e interfaces que participarán en el diseño del mismo, así como la colaboración entre dichas clases Actores involucrados Dentro de los casos de uso se identifican tres tipos de actores involucrados, los cuales se describen en la tabla 4.1. Tabla 4.1 Actores involucrados en el manejo del sistema. Actores involucrados Actor Descripción Responsabilidad Privilegios Usuario final Base de datos Ejecuta los diferentes procesos de inteligencia de negocios en el sistema, debe tener conocimientos sobre la empresa en general y sobre el área específica de la empresa a analizar, además de conocimientos sobre inteligencia de negocios. Es el área encargada de procesar la información en las distintas áreas del proceso de inteligencia de negocios. Ejecuta los diferentes procesos de inteligencia de negocios. Recibir la información y proporcionar datos a los diferentes procesos. Acceso a las áreas que involucran el proceso de inteligencia de negocios en la empresa, sistemas, bases de datos, información del personal, documentos, archivos, computadoras. Contener la información del proceso de inteligencia de negocios de la empresa. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 39

55 Capítulo 4: Diseño e implementación Usuario analista Ejecuta las herramientas analíticas de inteligencia de negocios: Excel Mining y Weka. Analiza los resultados generados por las herramientas analíticas de inteligencia de negocios Excel Mining y/o Weka y muestra resultados y conclusiones. Acceso a los datos, vistas minables, herramientas de minería de datos y participación en la toma de decisiones Diagramas de casos de uso La figura 4.1 muestra el diagrama de casos de uso general del sistema de inteligencia de negocios orientado a la toma de decisiones, lo que permite tener una imagen global del sistema y su relación con los actores que participan en él mismo. Figura 4.1 Caso de uso general de la herramienta. El diagrama general de la figura 4.1, se expande para dar lugar a los diagramas de casos de uso específicos a cada clasificación del sistema. Para la extracción de datos de fuentes heterogéneas (ver figura 4.3). Para la construcción de almacenes se muestra la figura 4.4. En la administración de almacenes de datos, respecto a la carga, exportación y generación de vistas minables (ver figura 4.5), y para el análisis y limpieza de datos tenemos la figura 4.6 y figura 4.7 respectivamente. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 40

56 Capítulo 4: Diseño e implementación Figura 4.2 Casos de usos específicos del sistema. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 41

57 Capítulo 4: Diseño e implementación Figura 4.3 Caso de uso Extraer datos de fuentes heterogéneas Figura 4.4 Caso de uso Construcción de almacenes de datos Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 42

58 Capítulo 4: Diseño e implementación Figura 4.5 Caso de uso Administrar almacenes de datos Figura 4.6 Caso de uso Analizar datos para limpieza Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 43

59 Capítulo 4: Diseño e implementación Figura 4.7 Caso de uso Limpiar datos Descripción de escenarios. A continuación se describen los escenarios de los diagramas de casos de uso anteriores, que muestran de qué manera interactúan con los diferentes objetos dentro del flujo principal de eventos, enunciando una breve descripción de su objetivo, los caso de uso relacionados y el escenario principal identificado. Tabla 4.2 Escenario del caso de uso Extraer datos de fuentes heterogéneas. Nombre del caso de uso: CU_1 Extraer datos de fuentes heterogéneas Autor: Iván Castillo Zúñiga Última modificación: Iván Castillo Zúñiga Fecha de 14/03/2012 Fecha de última 27/03/2012 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 44

60 Capítulo 4: Diseño e implementación creación: modificación: Actores: Usuario y base de datos Descripción: Extraer datos de diferentes gestores de información (MySQL, SQL Server, Oracle, Sybase y PostgreSQL). Precondiciones: El gestor de bases de datos seleccionado deberá estar en ejecución. El usuario final deberá tener derechos de administrador. Poscondiciones: El usuario obtiene dos archivos como resultado del proceso, el primero con la información de los metadatos y el segundo con la información de los registros. Escenario principal de éxito: 1. El usuario selecciona el gestor de base de datos. 2. El usuario captura los datos necesarios para la conexión, nombre o IP del servidor, usuario, contraseña, nombre de la base de datos y tabla a conectarse. 3. El sistema obtiene la conexión con el gestor de bases de datos seleccionado. 4. El sistema genera una consulta para obtener metadatos y datos. 5. El sistema crea dos archivos de texto, el primero para almacenar los metadatos y el segundo para almacenar los datos. 6. El sistema escribe los datos de las consultas en los archivos generados. Escenario alterno: En el punto 2 del escenario principal de éxito, el usuario no escribe correctamente los datos. Escenario de éxito El sistema informa al usuario de que se corrijan los datos. alterno: Escenario de El sistema termina al no corregir los datos. fracaso alterno: Escenario de 1. El usuario no selecciona ningún gestor de base de datos. fracaso: 2. El usuario no tiene derechos de administrador. 3. Fallo de comunicación con el gestor de base de datos. 4. En el caso de que no se pueda concluir la transacción, por falla de energía eléctrica, o porque se agotó la memoria RAM, o por cualquier otra falla técnica, entonces no se cumple la transacción. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 45

61 Capítulo 4: Diseño e implementación Tabla 4.3 Escenario del caso de uso Construir almacenes de datos. Nombre del caso de uso: CU_2 Construir almacenes de datos Autor: Iván Castillo Zúñiga Última modificación: Iván Castillo Zúñiga Fecha de creación: 14/03/2012 Fecha de última 24/04/2012 modificación: Actores: Usuario y base de datos Descripción: Construir almacenes de datos como: Almacenamiento temporal, Data Warehouse y/o Data Mart. Precondiciones: El gestor de bases de datos seleccionado deberá estar en ejecución. El usuario deberá tener derechos de administrador. Poscondiciones: El usuario construye y administra las bases de datos, tablas y campos físicamente en el gestor de MySQL a través de la aplicación desarrollada. Escenario principal de éxito: Escenario de fracaso: El usuario a través de la aplicación desarrollada: 1. Crea una base de datos. 2. Crea tablas sobre la base de datos especificada por el usuario. 3. Crea los campos en la tabla especificada por el usuario. 1. El usuario no tiene derechos de administrador. 2. Fallo de comunicación con el gestor de base de datos. 3. En el caso de que no se pueda concluir la transacción, por falla de energía eléctrica, o porque se agotó la memoria RAM, o por cualquier otra falla técnica, entonces no se cumple la transacción. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 46

62 Capítulo 4: Diseño e implementación Tabla 4.4 Escenario del caso de uso Administrar almacenes de datos. Nombre del caso de uso: CU_3 Administrar almacenes de datos Autor: Iván Castillo Zúñiga Última modificación: Iván Castillo Zúñiga Fecha de creación: 14/03/2012 Fecha de 21/03/2012 última modificación: Actores: Usuario y base de datos Descripción: Cargar y exportar datos en el almacén de datos construido a través de archivos de texto con formato txt, archivos de hojas de cálculo CSV, XML y capturados directamente en el sistema. Precondiciones: Haber completado el proceso de extracción de datos y tener creado el almacén destino (Almacén temporal, Data Mart o Data Warehouse). El usuario deberá tener todos los derechos en la base de datos. Poscondiciones: La información ha sido cargada correctamente al almacén destino. Escenario principal de éxito: 1. El usuario selecciona la base de datos y la tabla en la cual se van a cargar los datos. 2. El usuario ejecuta el proceso de carga de acuerdo al formato que tiene el archivo (XML, CSV, TXT). 3. El sistema genera un mensaje indicando que el proceso de carga de datos ha terminado correctamente. 4. El usuario ejecuta el proceso de exportación de acuerdo al formato de salida del archivo (XML, XLS,TXT, ARFF). 5. El sistema genera un mensaje indicando que el proceso de exportación de datos ha terminado correctamente. Escenario alterno: El usuario no selecciona correctamente el formato de archivo que se va a cargar al almacén de datos. Escenario de éxito 1. El sistema informa al usuario de que ha ocurrido un alterno: error en el proceso de carga de datos, que el formato de datos no es compatible. 2. El usuario vuelve a repetir el proceso de seleccionar el tipo de dato correcto que se va a cargar en el almacén Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 47

63 Capítulo 4: Diseño e implementación de datos. Escenario de fracaso alterno: Escenario de fracaso: 1. El sistema no carga los datos al almacén. 2. Termina el proceso. 1. Fallo de comunicación con el gestor de base de datos. 2. En el caso de que no se pueda concluir la transacción, por falla de energía eléctrica, o porque se agotó la memoria RAM, o por cualquier otra falla técnica, entonces no se cumple la transacción. 3. El archivo en formato XML excede de 10,000 registros y crea un desborde en memoria RAM. 4. La estructura de extracción es diferente a la estructura construida en el almacén destino. Tabla 4.5 Escenario del caso de uso Analizar datos para limpieza. Nombre del caso de uso: CU_4 Analizar datos para limpieza Autor: Iván Castillo Zúñiga Última modificación: Iván Castillo Zúñiga Fecha de creación: 14/03/2012 Fecha de 21/03/2012 última modificación: Actores: Usuario y base de datos Descripción: Generar un informe general de los datos de una tabla: El número de registros, campos, llaves, valores duplicados, nulos y en cero. Además mostrar estadísticas sobre: total de la población, valor máximo, mínimo, media, desviación estándar, varianza y moda con el propósito de encontrar anomalías en los datos para tipos de datos cuantitativos y apoyarse de la moda y concentrado de valores para valores cualitativos. Precondiciones: El almacén de datos con información. Poscondiciones: Identificación y selección de datos con errores. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 48

64 Capítulo 4: Diseño e implementación Escenario principal de éxito: Escenario de fracaso: 1. El usuario selecciona la base de datos y la tabla. 2. El usuario ejecuta el proceso de análisis de datos. 3. El sistema muestra información sobre: Número de registros, campos, llaves primarias, campos vacíos, duplicados, nulos y en cero. 4. Se muestran el listado de metadatos y un concentrado de sus valores. 5. El usuario selecciona un metadato y visualiza sus valores mediante un filtro de información. 6. El usuario selecciona un grupo de valores y se muestran gráficas y estadísticas. 7. El usuario identifica errores y selecciona el grupo de datos para el proceso de limpieza. 1. No existe información en la tabla a analizar. 2. Concluye el proceso. Tabla 4.6 Escenario del caso de uso Limpiar datos. Nombre del caso de uso: CU_5 Limpiar datos Autor: Iván Castillo Zúñiga Última modificación: Iván Castillo Zúñiga Fecha de creación: 14/03/2012 Fecha de 21/03/2012 última modificación: Actores: Usuario y base de datos Descripción: Limpiar datos del almacén en forma automática y/o asistida. Precondiciones: Haber aplicado el análisis al almacén y haber identificado errores o anomalías. Poscondiciones: Se eliminan los datos vacíos, nulos y duplicados, así también los eliminados por el usuario, según su criterio. Escenario principal de éxito: 1. El usuario aplica limpieza general para eliminar datos vacíos, duplicados, nulos o en cero. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 49

65 Capítulo 4: Diseño e implementación 2. El usuario aplica limpieza por eliminación de datos o sustitución en grupos de datos con anomalías. 3. El almacén se encuentra limpio. Escenario de fracaso: 1. No existen valores en el almacén seleccionado. 2. El almacén no tiene errores. Nota: En todos los escenarios se hace mención del usuario, el cual se refiere, al usuario final. 4.2 Diagramas de secuencias. A continuación se describen los diagramas de secuencias, los cuales especifican el flujo y la secuencia de los procesos basados en los diagramas de casos de uso y escenarios, mencionados en los objetivos anteriores, el propósito de los diagramas de secuencias consiste en especificar los pasos y el recorrido que se lleva a cabo en cada proceso, mostrando de qué manera interactúan las clases y/o objetos, así como las operaciones de cada una de ellas. Para distinguir los pasos de los escenarios en los diagramas de secuencias, éstos se especifican entre paréntesis en los diagramas de secuencias. En las siguientes figuras podrá observar los diagramas de secuencias específicos a cada caso de uso: En la Figura 4.8, se muestra el diagrama de secuencia para extraer datos de fuentes heterogéneas, en la figura 4.9, se muestra el diagrama de secuencias para construir almacenes de datos dinámicos, en la figura 4.10, se muestra el diagrama de secuencias para administrar los almacenes de datos en procesos de importación y exportación de datos, en la figura 4.11, se muestra el diagrama de secuencias de análisis de datos para limpieza de información, y finalmente se muestra la figura 4.12, donde se muestra el diagrama de secuencias en la limpieza de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 50

66 Capítulo 4: Diseño e implementación (3) (1,2) (4) (5) (6) Figura 4.8 Diagrama de secuencia para extraer datos de fuentes heterogéneas. (1) (2) (3) Figura 4.9 Diagrama de secuencia para construir almacenes de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 51

67 Capítulo 4: Diseño e implementación (1) (2,3) (4,5) Figura 4.10 Diagrama de secuencia para administrar almacenes de datos. (2,3) (1) (4) (5) (6) (7) Figura 4.11 Diagrama de secuencia para análisis de datos. (1) (2) Figura 4.12 Diagrama de secuencia para limpieza de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 52

68 Capítulo 4: Diseño e implementación 4.3 Diagramas de clases. A continuación se describen los diagramas de clases, los cuales tienen el propósito de especificar la identidad de la clase, los atributos, las operaciones y la relación que existe entre ellas y el usuario. En las siguientes figuras podrá observar los diagramas de clase específicos a cada caso de uso: En la Figura 4.13, se muestra el diagrama de clases para extraer datos de fuentes heterogéneas, en la figura 4.14, se muestra el diagrama de clases para construir almacenes de datos dinámicos, en la figura 4.15, se muestra el diagrama de clases para administrar los almacenes de datos en procesos de importación y exportación de datos, en la figura 4.16, se muestra el diagrama de clases de análisis de datos para limpieza de información, y finalmente se muestra la figura 4.17, donde se muestra el diagrama de clases de limpieza de datos. Figura 4.13 Diagrama de clases utilizadas en el proceso para extraer datos de diferentes fuentes heterogéneas. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 53

69 Capítulo 4: Diseño e implementación Figura 4.14 Diagrama de clases utilizadas en el proceso de construir almacenes de datos. Figura 4.15 Diagrama de clases para el proceso de administrar almacenes de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 54

70 Capítulo 4: Diseño e implementación Figura 4.16 Diagrama de clases utilizadas en el análisis de datos para limpieza. Figura 4.17 Diagrama de clases utilizadas en la limpieza de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 55

71 Capítulo 4: Diseño e implementación 4.4 Implementación. Cuando se requiere desarrollar una herramienta de inteligencia de negocios, para procesos de preparación de datos de herramientas de minería, con el propósito de obtener conocimiento nuevo y aplicarlo en la toma de decisiones de las empresas, es indispensable cumplir con la etapa de desarrollo e implementación, en la cual se aplican todos los conocimientos previamente investigados, con el objetivo de facilitar una nueva alternativa de solución para la toma de decisiones en las pequeñas y medianas empresas del país (PyMES). Las herramientas seleccionadas en etapas anteriores, conforman en su conjunto un grupo de herramientas para el desarrollo de aplicaciones y construcción de almacenes de datos, además de implementar herramientas de inteligencia de negocios orientadas a descubrir conocimiento con herramientas analíticas como Excel Mining y Weka, estas herramientas están a disposición de cualquier empresa, en donde la solución puede ser a bajo costo, ya que en la gran mayoría de los casos se utilizó software libre para su desarrollo. En esta sección se describen las interfaces graficas de la herramienta desarrollada, además del funcionamiento de las mismas. En los anexos del C al H se describe ampliamente la construcción de cada interface del sistema, se muestran los diseños de las pantallas, el funcionamiento y los códigos más importantes Presentación y seguridad. En la figura 4.18 se muestra la pantalla de presentación del sistema, la cual incluye el nombre de la herramienta y un gráfico representativo al título, más adelante en la figura 4.19 se muestra la pantalla de acceso al sistema, con la cual valida la entrada al usuario. Figura 4.18 Interfaz de presentación de la herramienta. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 56

72 Capítulo 4: Diseño e implementación Figura 4.19 Interfaz de acceso al sistema Construcción de almacenes de datos Para la construcción de almacenes de datos son necesarias tres pantallas, la primera para construir las bases de datos como se muestra en la figura 4.20, la segunda para construir las tablas como se muestra en la figura 4.21, y la tercera para construir los campos como se muestra en la figura 4.22, cada una de las pantallas va enlazando los procesos con los anteriores de cada pantalla. Figura 4.20 Interfaz de construcción de bases de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 57

73 Capítulo 4: Diseño e implementación Figura 4.21 Interfaz de construcción de tablas. Figura 4.22 Interfaz de construcción de campos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 58

74 Capítulo 4: Diseño e implementación Extracción de datos. En la figura 4.23 se muestra la interfaz gráfica de extracción de datos de distintas fuentes externas, podemos observar el área para seleccionar el gestor de bases de datos con el que se quiere conectar, además de una serie de cajas de texto en donde se especifican los datos necesarios para lograr la conexión. Figura 4.23 Interfaz de extracción de datos Administración de almacenes de datos. En este proceso se desarrolló una interfaz gráfica (ver figura 4.24) que permite cargar la información a los almacenes de datos (Data Warehouse, Data Mart o Staging área), para ello utiliza las opciones de carga con archivos de texto, archivos de hojas de cálculo y archivos con formato XML. Además permite exportar los datos a archivos de texto, archivos XML, Archivos en Excel y Archivos con extensión ARFF de la herramienta Weka, además en la exportación de archivos a Excel y Weka, permite prepararlos como vista minable para ser accedidos por las herramientas mencionadas sin mayor problema. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 59

75 Capítulo 4: Diseño e implementación Figura 4.24 Interfaz de administración de almacenes de datos Limpieza de datos. El proceso de limpieza se divide en dos fases: Análisis de datos (ver figura 4.25) y limpieza (ver figura 4.26). La fase de análisis consiste en facilitar una exploración de los datos con el objetivo de localizar anomalías o errores en la información, la herramienta cuenta con un diseño gráfico que facilita la búsqueda de errores, aplicando técnicas estadísticas y muestra los resultados con gráficos para una mayor apreciación, el análisis es aplicado de manera diferente a tipos de datos numéricos y tipos de datos textuales, una vez identificados los errores, se almacenan en una estructura temporal para su tratamiento; la segunda fase consiste en aplicar el tratamiento de limpieza a los datos, se muestran las diferentes opciones, la cual presenta opciones para eliminar o corregir la información. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 60

76 Capítulo 4: Diseño e implementación Figura 4.25 Interfaz de análisis de datos. Figura 4.26 Interfaz de limpieza de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 61

77 Capítulo 4: Diseño e implementación Costo de implementación de la herramienta. El costo de implementación de la herramienta se limita al costo del software que se utilizó en su construcción, el cual en su mayoría es software libre, a excepción de Microsoft Excel. En la tabla 4.7 se muestran las necesidades tecnológicas de software y en la tabla 4.8 se muestran las necesidades tecnológicas de hardware mínimas. En la tabla 3.1 del capítulo 3, se incluye una tabla con datos tales como nombre y dirección de descarga del software utilizado. Tabla 4.7 Costos en tecnología de Software. Software Costo Weka Lenguaje Java MySQL Calc (Open Office) SQL Server 2008 Management Studio Microsoft Office (Excel, PowerPoint, Word y OneNote) Herramienta de esta Tesis Software libre Software libre Software libre Software libre Sin Costo Software comercial Costo por servicio Tabla 4.8 Costos en tecnología de Hardware. Software Costo Servidor básico, procesador i7, 4GB de RAM, 2 Terabytes de disco duro, monitor de 17 pulgadas. Consultar costos actualizados (Equipo ensamblado o de marca) En el siguiente capítulo, se describen las pruebas y resultados así como la ejecución de las mismas. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 62

78 Capítulo 5: Plan de Pruebas Pruebas y resultados En el capítulo 5, se describe el plan de pruebas que se aplicó a la herramienta desarrollada. Probar el software no es una tarea sencilla, pero es necesaria para determinar el éxito o fracaso del mismo, por lo tanto, el probar un software determina y garantiza el reuso y buen desempeño de los componentes que conforma el software desarrollado en este proyecto. El objetivo de las pruebas, es ayudar a encontrar fallas o defectos que se tendrían al implementar las aplicaciones de la herramienta desarrollada en los diferentes procesos de Inteligencia de Negocios, de tal manera que se corrijan y se entregue un software libre de defectos. Este capítulo está estructurado cumpliendo con el estándar IEEE 829, el cual específica el conjunto de documentos que son usados y su estructura para definir los escenarios para las pruebas de software, dejando en libertad la selección de algunas secciones y permitiendo incluir un contenido propio en cada uno de los documentos [IEEE 829]. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 63

79 Capítulo 5: Plan de Pruebas 5.1 Plan de pruebas Para la documentación de las pruebas se definieron tres tipos de documentos, además un acrónimo para su abreviatura, tal y como se muestra en la tabla 5.1. Tabla 5.1 Tipos de documentos para las pruebas y sus abreviaturas. Tipo de documento Abreviatura Plan de Pruebas PP Diseño de las pruebas DP Casos de prueba CP La nomenclatura mostrada en la figura 5.1, se utilizó para identificar los documentos de la etapa de pruebas. Figura 5.1 Nomenclatura del documento de pruebas. La nomenclatura del ejemplo está compuesta de las siglas PP, que significan Plan de pruebas, las siglas HPDINTDP, que significan Herramienta de preparación de datos para inteligencia de negocios orientado a la toma de decisiones para la PyMES y finalmente 01, que significa versión del documento Elementos de prueba Los casos de prueba son aplicados a los distintos componentes de la herramienta desarrollada en este trabajo de tesis, las pruebas abarcan desde la integración de información de distintas fuentes de datos, transformación y limpieza, integración a almacenes como Datawarehouse o DataMart y generación de vistas minables, dichos elementos serán verificados para probar su correcto funcionamiento y finalmente ser cargados correctamente en las herramientas analíticas de minería de datos Weka y Excel Mining, y para ello se definen los siguientes elementos de prueba: a. Establecer conexiones remotas a diversos gestores de bases de datos (MySQL, Oracle, Sybase, PostgreSQL y SQLServer), e importar la información de cada tabla, para ello se genera como resultado dos archivos de texto, en el primer archivo se muestran los datos y en segundo los metadatos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 64

80 Capítulo 5: Plan de Pruebas b. Construir y administrar un almacén de datos temporal, basado en los metadatos que contiene el archivo generado en el proceso de extracción, posteriormente cargar los datos que contiene el segundo archivo generado en el mismo proceso. c. Preparar los datos con la estructura de datos del almacén destino (DataMart o Data Warehouse) y hacer limpieza en la información, luego exportar la información a formato de texto para su integración al nuevo almacén. d. Construir el DataMart o Datawarehouse y cargar el archivo con los datos pre procesados provenientes del almacén temporal. e. Generar vistas minables para las herramientas analíticas de minería de datos Excel Mining y Weka, a través de archivos con estructuras compatibles con formatos XLS y ARFF respectivamente. f. Implementar las herramientas de minería de datos mencionadas y probar que los archivos generados sean cargados correctamente Características de las pruebas. En la tabla 5.2 se muestran las características de las pruebas, las cuales se especifican a través de dos columnas, la primera muestra las características que se van a probar y la segunda especifica las características que no se van a probar. Tabla 5.2 Características de las pruebas. Que se van a probar Que no se van a probar Extraer datos y metadatos de las tablas de Las funciones que contiene los gestores de bases de datos (MySQL, SQL cada una de las Server, Oracle, Sybase y PostgreSQL). Construir y administrar almacenes de datos (bases de datos, tablas y campos) a través de una aplicación en el gestor de base de datos MySQL. Integrar y exportar datos del almacén creado, herramientas de minería de datos. El contenido de las bases de datos. Las decisiones tomadas por el usuario final al observar a través de archivos compatibles con los resultados del proceso formatos XML, TXT, y CSV. Limpiar datos del almacén construido de manera automática y asistida por el usuario. de minería de datos. Requisitos individuales de cada usuario final sobre Generar vistas minables para las resultados de las herramientas de minería de datos Weka y Excel Mining, mediante la generación de herramientas de minería de datos. archivos con estructuras de formatos ARFF y XLS respectivamente. Cargar correctamente los archivos generados como vistas minables en las herramientas de minería de datos Weka y Excel Mining. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 65

81 Capítulo 5: Plan de Pruebas Enfoque. El plan de pruebas hará uso de pruebas relacionadas a la ejecución de operaciones implementadas en la herramienta desarrollada en esta tesis, mismas que están consideradas en procesos de inteligencia de negocios, considerando la Extracción, Transformación, carga y Limpieza de datos, la construcción y administración de almacenes y la generación de vistas minables, estas funciones son necesarias para que la aplicación contenga los elementos para conformar una herramienta para la toma de decisiones, a través del uso de herramientas analíticas de minería de datos como Excel Mining y/o Weka Criterios de aceptación, suspensión y reanudación. Las pruebas serán aceptadas siempre y cuando se cumplan las características mencionadas en los elementos de prueba y la descripción incluida en cada uno de los casos de prueba mencionados. Las pruebas serán suspendidas cuando se presente una ausencia en alguno de los servidores de bases de datos, los cuales proveen la información con la cual son alimentados los almacenes de datos. Las pruebas serán reanudadas cuando se habilite nuevamente la conexión con los servidores. Otro motivo de suspensión será cuando un archivo con la vista minable, no pueda ser cargado correctamente al implementar la herramienta Weka. Las pruebas serán reanudadas cuando se verifique y corrijan los datos en procesos anteriores Liberación de pruebas. Se decide una prueba liberada cuando el estado de la prueba es aceptado y se cumple con la documentación necesaria para la ejecución de la misma desde su inicio hasta el éxito Requisitos tecnológicos. En la tabla 5.3 se describen los requisitos tecnológicos que son necesarios para ejecutar las pruebas a la herramienta propuesta en esta tesis, los requisitos tecnológicos se describen en dos secciones, la primera para servidores y la segunda para el cliente. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 66

82 Capítulo 5: Plan de Pruebas Tabla 5.3 Requisitos tecnológicos para las pruebas. Servidor Cliente Lenguaje Java (SDK y JDK) + NetBeans MySQL 5.1+ Conector MySQL para Java+ Oracle 9+ Conector Oracle para Java+ Sybase 14+ Conector Sybase para Java+ PostgreSQL Conector PostgreSQL para Java+ SQLServer Conector SQL Server para Java+ Office 2007 u Office Componente de Excel Mining+ Weka+ XML Notepad Conexión a internet.+ Windows XP, 2003, vista o 7, Linux, etc Responsables. Lenguaje Java (SDK y JDK) + NetBeans MySQL 5.1+ Conector MySQL para Java+ Conector Oracle para Java+ Conector Sybase para Java+ Conector PostgreSQL para Java+ Conector SQL Server para Java+ Office 2007 u Office Componente de Excel Mining+ Weka+ XML Notepad Conexión a internet.+ Windows XP, 2003, vista, 7, Linux, etc. La persona responsable de la ejecución de cada una de las pruebas será el responsable de cada rol, observando el comportamiento de los resultados de cada componente que contiene la herramienta desarrollada y el tiempo de respuestas en cada una de las actividades Riesgos. Puede existir un caso de prueba en el que el tamaño de los archivos utilizados sea demasiado grande y la computadora de prueba se inhiba al ejecutar algún proceso Aprobación. Para la aprobación completa del plan de pruebas se designará personal adecuado para ello. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 67

83 Capítulo 5: Plan de Pruebas 5.2 Diseño de pruebas En los siguientes objetivos se especifica el diseño de las pruebas y los casos de prueba que serán aplicados a la herramienta de esta tesis. El formato está compuesto de las características, el objetivo, los casos de prueba y los criterios de aceptación. En el anexo B, se describe en extenso la ejecución de los casos de prueba Especificación del diseño de pruebas DP-HPDINTDP-01 Diseño de prueba para la extracción de datos de distintas fuentes. Característica(s) por probar: Se debe conectar la herramienta a un servidor de bases de datos (MySQL, Oracle, Sybase, PostgreSQL y SQL Server), posteriormente extraer los datos de la tabla especificada por el usuario, generando como resultado dos archivos, el primero con los datos y el segundo con los metadatos. Objetivo: Extraer los datos y metadatos de una tabla específica ubicada en un gestor de bases de datos (MySQL, Oracle, Sybase, PostgreSQL y SQL Server), con el propósito de integrarla en un almacén temporal para procesos de limpieza y transformación. Casos de prueba Criterios de aceptación CP- HPDINTDP-01 CP- HPDINTDP-02 CP- HPDINTDP-03 CP- HPDINTDP-04 CP- HPDINTDP-05 El caso de prueba es aceptado siempre y cuando la información de la tabla se encuentre en los archivos generados. DP-HPDINTDP-02 Diseño de prueba para la construcción y administración de almacenes de datos. Característica(s) por probar: La construcción de bases de datos, tablas y campos a través de una aplicación, los almacenes deben estar creados físicamente en el gestor de bases de datos MySQL, y el control de los metadatos por medio del sistema. Objetivo: Construir y administrar almacenes de datos en MySQL a través de una aplicación, utilizando los metadatos que fueron extraídos de las tablas. Casos de prueba Criterios de aceptación CP- HPDINTDP-06 CP- HPDINTDP-07 CP- HPDINTDP-08 Existir físicamente en el gestor de MySQL las bases de datos, tablas y campos creados a través de la aplicación. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 68

84 Capítulo 5: Plan de Pruebas DP-HPDINTDP-03 Diseño de prueba para cargar y exportar datos al almacén construido. Característica(s) por probar: Cargar al almacén de datos temporal, el archivo de texto que se generó en el proceso de extracción, el cual tiene la estructura adecuada para ser cargado. Otra característica es hacer la herramienta compatible con más fuentes de datos, y para ello también se permite cargar y exportar datos de hojas de cálculo mediante archivos con el formato CSV, así también archivos con formato XML, cabe señalar que estos archivos deben tener la estructura adecuada para ser cargados correctamente en el almacén de datos. Objetivo: Cargar y exportar datos del almacén construido, con el propósito de hacer compatible la información con distintos programas. Casos de prueba CP- HPDINTDP-09 CP- HPDINTDP-10 CP- HPDINTDP-11 Criterios de aceptación La prueba es aceptada siempre y cuando los datos se puedan cargar y exportar al almacén mediante los formatos XML, hojas de cálculo y archivos de texto. DP-HPDINTDP-04 Diseño de prueba para la limpieza de datos. Característica(s) por probar: Aplicar limpieza general en una tabla específica sobre registros duplicados, valores nulos y valores en cero. Proporcionar un diagnóstico de la tabla, aplicando estadística para mostrar el comportamiento de la información, para tipos de datos numéricos (gráficas, media, mediana, desviación estándar, varianza, valor máximo y mínimo, tamaño de la población), y para tipos de datos texto (graficas, moda), con el propósito de facilitar el encontrar errores y corregirlos. Objetivo: Limpiar los datos de errores y anomalías. Casos de prueba CP- HPDINTDP-12 CP- HPDINTDP-13 Criterios de aceptación Eliminación de registros duplicados, valores nulos y en cero y datos con anomalías. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 69

85 Capítulo 5: Plan de Pruebas DP-HPDINTDP-05 Diseño de prueba para la generación de vistas minables. Característica(s) por probar: Construir el almacén de datos (Data Mart o Datawarehouse) y cargar los datos preparados en el almacén temporal. Generar vistas minables para las herramientas Weka y Excel Mining, a través de archivos con formatos ARFF y XLS respectivamente. Objetivo: Generar vistas minables para las herramientas de minería de datos Weka y Excel Mining, a través de archivos compatibles con formatos ARFF y XLS respectivamente. Casos de prueba CP- HPDINTDP-14 CP- HPDINTDP-15 Criterios de aceptación Haber generado archivos para Weka y Excel Mining con formato ARFF y XLS con la información del almacén de datos. DP-HPDINTDP-06 Diseño de prueba para la carga de archivos en herramientas Weka y Excel Mining. Característica(s) por probar: Ejecutar la herramienta analítica Weka y cargar correctamente el archivo ARFF, generado como vista minable. Ejecutar la herramienta analítica Excel Mining y cargar correctamente el archivo XLS, generado como vista minable. Objetivo: Implementar las herramientas analíticas Weka y Excel Mining, con los archivos generados como vistas minables, con el propósito de hacer minería y obtener nuevo conocimiento en apoyo a la toma de decisiones en las empresas. Casos de prueba CP- HPDINTDP-16 CP- HPDINTDP-17 Criterios de aceptación Que sean cargados correctamente los archivos generados como vistas minables en las herramientas analíticas Weka y Excel Mining. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 70

86 Capítulo 5: Plan de Pruebas Especificación de los casos de prueba CP-HPDINTDP-01 Caso de prueba para la extracción de datos de MySQL. Descripción: El caso de prueba consiste en extraer información del gestor de base de datos MySQL. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. Resultado esperado: Dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. DP-HPDINTDP-01 CP-HPDINTDP-02 Caso de prueba para la extracción de datos de Oracle. Descripción: El caso de prueba consiste en extraer información del gestor de base de datos Oracle. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. Resultado esperado: Dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. DP-HPDINTDP-01 CP-HPDINTDP-03 Caso de prueba para la extracción de datos de PostgreSQL. Descripción: El caso de prueba consiste en extraer información del gestor de base de datos PostgreSQL. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. Resultado esperado: Dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. DP-HPDINTDP-01 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 71

87 Capítulo 5: Plan de Pruebas CP-HPDINTDP-04 Caso de prueba para la extracción de datos de Sybase. Descripción: El caso de prueba consiste en extraer información del gestor de base de datos Sybase. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. Resultado esperado: Dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. DP-HPDINTDP-01 CP-HPDINTDP-05 Caso de prueba para la extracción de datos de SQL Server. Descripción: El caso de prueba consiste en extraer información del gestor de base de datos SQL Server. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. Resultado esperado: Dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. DP-HPDINTDP-01 CP-HPDINTDP-06 Caso de prueba para la construcción y administración de una base de datos. Descripción: Con los metadatos obtenidos en el proceso de extracción, a través de una aplicación se construye y administra la base de datos en MySQL. Resultado esperado: La base de datos creada en el gestor MySQL y la administración de los metadatos por el sistema. DP-HPDINTDP-02 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 72

88 Capítulo 5: Plan de Pruebas CP-HPDINTDP-07 Caso de prueba para la construcción y administración de estructuras de tablas contenidas en la base de datos. Descripción: Se crea la estructura de cada una de las tablas contenidas en la base de datos. El sistema relaciona los metadatos utilizados en la construcción de cada base de datos y las tablas. Resultado esperado: La tabla construida dentro de la base de datos que se creó en MySQL. DP-HPDINTDP-02 CP-HPDINTDP-08 Caso de prueba para la construcción y administración de los campos de la tabla. Descripción: Una vez construida la estructura de la tabla, se crean los campos, uno a la vez. El sistema relaciona los metadatos utilizados en la construcción de cada base de datos, las tablas y los campos. Resultado esperado: Los campos construidos dentro de la tabla en MySQL. DP-HPDINTDP-02 CP-HPDINTDP-09 Caso de prueba para la importación y exportación de archivos de texto. Descripción: Al extraer la información de los gestores de bases de datos, el traslado de los registros es en archivos de texto. Los archivos de texto son cargados al sistema para ser analizados, limpiados y transformados. Y una vez preparada la información es necesario volver a exportarla a archivos de texto para integrarla al almacén final (Data Mart). Resultado esperado: Importar y exportar datos del sistema en archivos de texto. DP-HPDINTDP-03 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 73

89 Capítulo 5: Plan de Pruebas CP-HPDINTDP-10 Caso de prueba para la importación y exportación de archivos XML. Descripción: Para brindar mayor flexibilidad y compatibilidad de la herramienta se consideró el uso del formato XML, con el cual se permite importar y exportar información en el almacén de datos. Resultado esperado: Importar y exportar datos del sistema con archivos en formato XML. DP-HPDINTDP-03 CP-HPDINTDP-11 Caso de prueba para la importación y exportación de archivos de hojas de cálculo. Descripción: Para brindar mayor flexibilidad y compatibilidad de la herramienta se consideró el uso del formato de hojas de cálculo, con el cual se permite importar y exportar información en el almacén de datos, para la carga se utiliza el formato CSV y para la exportación se utiliza el formato XLS. Resultado esperado: Importar y exportar datos del sistema con archivos en formato de hojas de cálculo. DP-HPDINTDP-03 CP-HPDINTDP-12 Caso de prueba para la limpieza de datos (automática). Descripción: Continuamente los datos tienen errores, como valores nulos, vacíos o en cero, el propósito es eliminar este tipo de información de la base de datos. Resultado esperado: Base de datos limpia de registros nulos, vacíos y en cero. DP-HPDINTDP-04 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 74

90 Capítulo 5: Plan de Pruebas CP-HPDINTDP-13 Caso de prueba para la limpieza de datos (Basada en criterios del usuario). Descripción: Las bases de datos seguido presenta anomalías en la información, por ejemplo: el campo sexo, puede tener los valores H (hombres) M (mujeres), ambos correctos, pero se tiene anomalías de algunos valores como F (femenino), la limpieza consiste en eliminar los registros o corregir los valores, según el criterio del usuario. Resultado esperado: Base de datos limpia de registros con anomalías. DP-HPDINTDP-04 CP-HPDINTDP-14 Caso de prueba para generar la vista minable para Weka. Descripción: Después de haber almacenado los datos en un DataMart, se genera un archivo con la estructura adecuada para ser procesado por la herramienta de minería Weka. Resultado esperado: Vista minable a través de un archivo con la estructura de un formato ARFF. DP-HPDINTDP-05 CP-HPDINTDP-15 Caso de prueba para generar la vista minable para Excel Mining. Descripción: Después de haber almacenado los datos en un DataMart, se genera un archivo con una estructura adecuada para ser procesado por la herramienta de minería Excel Mining. Resultado esperado: Vista minable a través de un archivo con la estructura de un formato XLS, y una vez cargado la estructura se le da el formato de una base de datos. DP-HPDINTDP-05 Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 75

91 Capítulo 5: Plan de Pruebas CP-HPDINTDP-16 Caso de prueba para implementar la vista minable en Weka. Descripción: El paso final de esta tesis considera implementar un proceso de minería de datos con Weka, utilizando la vista minable generada por esta herramienta. Resultado esperado: Cargar correctamente el archivo generado como vista minable en Weka. DP-HPDINTDP-06 CP-HPDINTDP-17 Caso de prueba para implementar la vista minable en Excel Mining. Descripción: El paso final de esta tesis considera implementar un proceso de minería de datos con Excel Mining, utilizando la vista minable generada por esta herramienta. Resultado esperado: Cargar correctamente el archivo generado como vista minable en Excel Mining. DP-HPDINTDP Resultados de las pruebas. En la tabla 5.4, se muestra una clasificación con respecto al tamaño de las bases de datos, las cuales serán utilizadas en la pruebas de la herramienta. Tabla 5.4 Clasificación de las bases de datos con respecto al tamaño. Tamaño de base de datos Número de registros Pequeña Cientos de registros Mediana Miles de registros Grande Millones de registros. Al efectuar el plan de pruebas se consideraron tres conjuntos de datos con distintos propósitos, los cuales se describen a continuación: Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 76

92 Capítulo 5: Plan de Pruebas Pruebas del conjunto 1. El conjunto 1, tiene el propósito de probar una base de datos real pequeña, con cuatrocientos cincuenta y nueve registros, para ello se utilizó una muestra de la base de datos del Instituto Tecnológico el Llano Aguascalientes sobre el seguimiento de egresados. Datos iniciales de la muestra Fuentes de datos Numero de fuentes distintas 5 MySQL Oracle PostgreSQL Sybase SQL Server 419 reg 10 reg 10 reg 10 reg 10 reg Total de registros 459 Total de campos 45 Tipos de datos diferentes 4 Varchar Int Float Date Resultados del proceso Proceso de extracción MySQL 419 Oracle 10 PostgreSQL 10 Sybase 10 SQL Server 10 Total de datos extraídos 459 Construcción de almacenes temporal Número de bases de datos 1 Número de tablas 1 Número de campos 46 Carga de datos MySQL Oracle PostgreSQL Sybase SQL Server Total de datos cargados 459 Proceso de Limpieza Eliminados en limpieza general Eliminados en limpieza por criterios Corregidos Total de eliminados 9 Tamaño resultante de la tabla 450 Construcción de Data Mart Número de bases de datos Número de tablas Número de campos Total de datos cargados 450 Generación de vistas minables Weka Número de archivos Número de datos procesados Excel Mining Número de archivos Número de datos procesados Weka Excel Mining Implementación en minería Correcto Correcto Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 77

93 Capítulo 5: Plan de Pruebas Pruebas del conjunto 2. El conjunto 2, tiene el propósito de probar una base de datos real mediana, con treinta y cuatro mil doscientos cincuenta registros, para ello se utilizó una muestra de la base de datos del Instituto Tecnológico el Llano Aguascalientes sobre las calificaciones de sus alumnos. Datos iniciales de la muestra Fuentes de datos Numero de fuentes distintas 7 MySQL Oracle PostgreSQL Sybase SQL Server Hoja de calculo XML reg 20 reg 20 reg 20 reg 20 reg 2000 reg 2170 reg Total de registros Total de campos 5 Tipos de datos diferentes 3 Varchar Int Float Resultados del proceso Proceso de extracción MySQL Oracle 20 PostgreSQL 20 Sybase 20 SQL Server 20 Total de datos extraídos Construcción de almacenes temporal Número de bases de datos 1 Número de tablas 1 Número de campos 5 Carga de datos MySQL Oracle 20 PostgreSQL 20 Sybase 20 SQL Server 20 Hoja de calculo 2000 XML 2170 Total de datos cargados Proceso de Limpieza Eliminados en limpieza general Eliminados en limpieza por criterios Corregidos Total de eliminados 114 Tamaño resultante de la tabla Construcción de Data Mart Número de bases de datos Número de tablas Número de campos Total de datos cargados Generación de vistas minables Weka Número de archivos Número de datos procesados Excel Mining Número de archivos Número de datos procesados Weka Excel Mining Implementación en minería Correcto Correcto Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 78

94 Capítulo 5: Plan de Pruebas Pruebas del conjunto 3. El conjunto 3, tiene el propósito de probar una base de datos que abarque la gran mayoría de tipos de datos de un gestor de base de datos, incluyendo valores nulos en cada tipo de dato. Para ello se preparó una base de datos ficticia con distintos campos, tipos de datos y 30 registros. Datos iniciales de la muestra Fuentes de datos Numero de fuentes distintas 5 MySQL Oracle PostgreSQL Sybase SQL Server 6 reg 6 reg 6 reg 6 reg 6 reg Total de registros 30 Total de campos 15 Tipos de datos diferentes 6 Texto Números enteros Números con punto decimal Date Datetime Time Resultados del proceso Proceso de extracción MySQL 4 Oracle 6 PostgreSQL 6 Sybase 6 SQL Server 6 Total de datos extraídos 28 Construcción de almacenes temporal Número de bases de datos 1 Número de tablas 1 Número de campos 15 Carga de datos MySQL Oracle PostgreSQL Sybase SQL Server Total de datos cargados 28 Proceso de Limpieza Eliminados en limpieza general Eliminados en limpieza por criterios Corregidos Total de eliminados 6 Tamaño resultante de la tabla 22 Construcción de Data Mart Número de bases de datos Número de tablas Número de campos Total de datos cargados 22 Generación de vistas minables Weka Número de archivos Número de datos procesados Excel Mining Número de archivos Número de datos procesados Weka Excel Mining Implementación en minería Correcto Correcto Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 79

95 Base de datos pequeña Base de datos mediana Base de datos con la mayoría de tipos de datos Capítulo 5: Plan de Pruebas En la tabla 5.4, se muestra un concentrado sobre las pruebas realizadas a cada conjunto de datos y los resultados obtenidos, en cada prueba se tienen dos valores como resultado, éxito para las pruebas que no tuvieron ningún problema y fallo para las pruebas que fallaron o que tuvieron alguna excepción en el proceso. Tabla 5.5 Resultados del plan de pruebas. DP Documento Conjunto Prueba Conjunto Prueba Conjunto Prueba Éxito Fallo Éxito Fallo Éxito Fallo DP1 CP- HPDINTDP-01 CP- HPDINTDP-02 CP- HPDINTDP-03 CP- HPDINTDP-04 CP- HPDINTDP-05 DP2 CP- HPDINTDP-06 CP- HPDINTDP-07 CP- HPDINTDP-08 DP3 CP- HPDINTDP-09 CP- HPDINTDP-10 CP- HPDINTDP-11 DP4 CP- HPDINTDP-12 CP- HPDINTDP-13 DP5 CP- HPDINTDP-14 CP- HPDINTDP-15 DP6 CP- HPDINTDP-16 CP- HPDINTDP-17 DP1 (Extracción), DP2 (Crear almacén), DP3 (Cargar y exportar), DP4 (Limpieza), DP5 (Genera vistas M.), DP6 (Probar vistas M.) 5.4 Análisis de resultados Las pruebas aplicadas en este trabajo de tesis, están enfocadas en varios procesos de inteligencia de negocios y tienen el propósito de preparar los datos para ser analizados por herramientas analíticas de minería de datos, con el objetivo de obtener conocimiento y utilizarlo en apoyo a la toma de decisiones de la empresa. Las pruebas abarcan desde la extracción de datos de distintas fuentes, pasando por un proceso de Integración, Transformación y Limpieza a través de un almacenamiento temporal, en donde se prepara la información para ser integrada a un almacén final (DataMart), una vez integrada la información se generan vistas minables. En lo que respecta al módulo de extracción y carga de datos, para evitar conflictos por duplicidad de claves primarias. Una estrategia que se sugiere es la de agregar un registro nuevo como llave primaria en el nuevo almacén y con la función de incrementarse automáticamente. Para sincronizar los procesos se propone una modificación en el proceso de extracción de datos, agregando una posición más en blanco seguido de una, al inicio de cada registro. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 80

96 Capítulo 5: Plan de Pruebas El empleo de los metadatos resultó de gran utilidad ya que permitieron la construcción y administración del almacén sin conflictos tales como diseñar y programar una interface personalizada para cada tabla de un almacén de datos. También, el empleo de metadatos facilitó el proceso de carga y exportación y evitó problemas como las diferencias de las tablas en cuanto al tamaño y tipo de atributos. Para atender el módulo de limpieza y transformación de datos, se dividió el proceso en dos componentes, el de análisis de datos y limpieza. El primero presenta la información al usuario con gráficas y estadísticas de dos grupos de datos: numéricos y no numéricos. Para el tratamiento de los datos numéricos se aplicaron técnicas estadísticas (media, desviación estándar, varianza, agrupación por rangos de valores, valor mayor, valor menor, entre otros) y para los no numéricos, se aplicaron técnicas de agrupación. De esta forma se le proporciona al usuario final los elementos para analizar el comportamiento de la información de una manera directa y le permite seleccionar aquella información que considere con anomalías o errores para el proceso de limpieza. El segundo componente es el de limpieza, en este proceso, el usuario decide qué información desea eliminar o corregir, debido a que se detectó que algunas herramientas de minería de datos consideran ciertos valores como nulos, vacío o en cero. Por otro lado para concluir el proceso de la toma de decisiones en las empresas, se usan las herramientas de minería de datos Weka y Excel Mining como un componente adicional al software desarrollado. Cabe señalar que el proyecto de tesis no considera analizar los resultados de minería, se tiene el alcance hasta proporcionar las vistas minables y ser cargadas correctamente en las herramientas de minería. A continuación se describen los resultados de las pruebas que se realizaron a los tres conjuntos de datos presentados en el objetivo 5.3. Análisis de resultados del conjunto 1. La prueba fue exitosa, y en las condiciones mencionadas no se tuvo problema alguno, cabe mencionar que en esta prueba, se observaron algunos resultados del proceso de minería de datos con la herramienta Excel Mining, aun cuando el análisis de los resultados de minería esta fuera del alcance de la tesis, los resultados se describen en el siguiente recuadro. Resultados del proceso de minería de datos con Excel Mining. Al generar la vista minable de egresados del ITEL, en uno de los resultados, se observa que, el porcentaje más alto de egresados que tienen trabajo actualmente y en empresas reconocidas, proviene de un bachillerato en particular. Toma de decisión Al informarse a la academia de Sistemas y Computación, se tomó la decisión de hacer una promoción más detallada en ese bachillerato, con el propósito de captar mayor número de alumnos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 81

97 Capítulo 5: Plan de Pruebas Análisis de resultados del conjunto 2. La prueba fue exitosa, y en las condiciones mencionadas se tienen algunas observaciones en algunos casos de pruebas. 1. Al utilizar grandes cantidades de datos, se observa que al utilizar archivos XML en el proceso de carga, con más de 10,000 registros, el computador se inhibe, lo cual no sucedió con las demás fuentes de datos. Se presume que la estructura de los archivos XML, entre más campos y más registros utilicen, su tamaño crece demasiado, lo cual ocasiona que el algoritmo consuma la mayor parte de la memoria de la computadora ocasionando que no se concluya con el proceso. 2. La herramienta Weka en su estructura utiliza un atributo enumerado, el cual expresa entre llaves y separados por comas los posibles valores que puede tomar ese atributo. Pero se detectó al usar las vistas minables generadas por esta herramienta que al sobrepasar de 12 valores en ese atributo, Weka ya no los procesa como tal, y lo toma como un tipo de dato STRING. Se presume que tal vez es una restricción de Weka, el tratar hasta 12 valores en ese atributo para facilitar el análisis gráfico de sus resultados al usuario final. Análisis de resultados del conjunto 3. La prueba fue exitosa, y en las condiciones mencionadas se tienen algunas observaciones en algunos casos de pruebas. 1. Se detectó una excepción al utilizar instrucciones del lenguaje Java con el gestor MySQL, al intentar leer datos numéricos con valores nulos, genera error y cancela el proceso. La misma instrucción en las mismas condiciones con los demás gestores (Oracle, Sybase, PostgreSQL y SQL Server), no causa error alguno, solo con MySQL, por lo que se tuvo que hacer una adecuación al proceso, atrapando el error y sustituyendo el valor por cero. Los resultados que arrojan las pruebas en los tres conjuntos de datos son satisfactorios y determinantes para poder comunicar que la herramienta desarrollada en este proyecto de tesis, es un software capaz y de utilidad para las PyMES en la preparación de datos y conexión con herramientas de minería como Weka y Excel Mining, todas en su conjunto permiten obtener conocimiento y apoyar en la toma de decisiones a las empresas. En el siguiente capítulo, se presentan las conclusiones acerca del proyecto, así como las observaciones percibidas a lo largo de la investigación y los trabajos futuros que pueden surgir a partir de la construcción y puesta en marcha del sistema. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 82

98 Capítulo 6: Conclusiones Conclusiones En este capítulo se presentan las conclusiones finales del trabajo de tesis. Las conclusiones describen hallazgos que se realizaron durante el desarrollo de los temas que atiende esta tesis y el logro de los objetivos planteados al inicio de este trabajo. Adicionalmente se describen elementos que se consideran aportaciones importantes y los trabajos futuros que pueden complementar este trabajo. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 83

99 Capítulo 6: Conclusiones 6.1 Conclusiones. Después de haber ejecutado un conjunto de pruebas documentadas en el capítulo 5, se puede concluir que se logró el objetivo general de la tesis establecido como proporcionar una herramienta de inteligencia negocios a un bajo costo tanto en su implementación como en su mantenimiento. Así mismo, se puede concluir que en su estado actual esta herramienta puede dar soporte a procesos de preparación de datos y análisis para propósitos de toma de decisiones para pequeñas y medianas empresas (PyMES) de México, a través de herramientas de minería de datos y puede ser extendida para que trabaje a través de cuadros de mando integral y tableros de control como apoyo en la toma de decisiones en las PyMES. Acerca de los objetivos específicos se puede concluir que se lograron de forma exitosa y se describen como sigue: 1. Se logra el objetivo de extraer datos de distintas fuentes, de MySQL, Oracle, Sybase, PostgreSQL y SQL Server, en la extracción se prepara el archivo que contiene los registros de la tabla, con la estructura adecuada, para ser utilizado en el proceso de carga de datos. En lo que respecta al módulo de carga de datos, se establecieron tres procesos que permiten cargar grandes volúmenes de datos, el primer proceso carga archivos de texto, el segundo carga archivos de hojas de cálculo con el formato CSV y el tercero archivos XML, en este mismo componente fueron agregados tres procesos de exportación de datos compatibles con los formatos mencionados. Para atender el módulo de limpieza y transformación de datos, se dividió el proceso en dos componentes, el de análisis de datos y limpieza. El primero presenta la información al usuario con gráficas y estadísticas de datos numéricos y no numéricos. El segundo componente es el de limpieza, en éste proceso, el usuario decide qué información desea eliminar o corregir. 2. El segundo objetivo concierne a la construcción y administración del almacén de datos en MySQL. Este objetivo se logró a través de construir los tres módulos del sistema, el de construcción de estructuras de bases de datos, el de construcción de tablas, y el de construcción de campos a través de metadatos. 3. El tercer objetivo que se logró con esta tesis, concierne a generar vistas minables para las herramientas de minería de datos Weka y Excel Mining. El proceso que se utiliza para lograr este objetivo requirió analizar las estructuras de archivos que tienen las herramientas tanto Weka como Excel Mining para poder transformar los datos del almacén y adecuarlos a las nuevas estructuras. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 84

100 Capítulo 6: Conclusiones 4. Se logró el objetivo de exportar datos a formatos estándar compatibles con hojas de cálculo, archivos de texto y formatos XML, con el propósito de que se puedan adecuar a otras herramientas analíticas según necesidades de la empresa. Una de las ventajas que presenta esta herramienta contra otras de su tipo, es que a diferencia de las reportadas en la sección de trabajos relacionados, esta herramienta integra un proceso completo de inteligencia de negocios orientado a herramientas de minería de datos, utiliza un almacenamiento temporal (Staging Area) para desarrollar los procesos ETL, con ello se logra una preparación de la información adecuada para ser integrada en un DataMart, posteriormente permite generar vistas minables para Excel Mining y Weka. Dentro de sus componentes proporciona una aplicación que permite generar y administrar (n) almacenes de datos (Staging Area, Data Mart y Data Warehouse) para procesar los datos cuantas veces sea necesario. El componente de Excel en la herramienta de tesis, le brinda un ambiente amigable al usuario final, debido a que es una herramienta de uso común para las personas, utilizada desde sus estudios en secundaria. La inversión de la herramienta es relativamente baja, la mayoría de sus componentes no tienen costo, a excepción de Excel y de la herramienta producto de esta tesis. Además no se requiere de la contratación de personal adicional, la herramienta puede ser utilizada por el encargado del área de sistemas de la misma empresa, con una capacitación previa. En otras herramientas estudiadas, cada componente del proceso de inteligencia de negocios es separado y la mayoría utiliza herramientas descriptivas; por otro lado la empresa tiene que elegir y adquirir los distintos componentes y contratar personal para hacer adecuaciones de los resultados generados en cada componente y poder enlazarlos con el siguiente componente del proceso. Finalmente se concluye que para implementar una solución exitosa de inteligencia negocios en las PyMES, deben intervenir varios factores, primero se debe establecer un modelo que represente la necesidad de la empresa, luego analizar y entender el problema a resolver y definir adecuadamente los atributos o valores clave del negocio (KPI). Posteriormente utilizar herramientas de inteligencia de negocios para llevar a cabo los procesos que permiten analizar los datos y generar nuevo conocimiento que será utilizado como apoyo en la toma de decisiones de las empresas. 6.2 Aportaciones. La aportación principal de esta tesis consiste en el diseño y desarrollo de software para el área de inteligencia de negocios, con el propósito de brindar una alternativa más a las empresas en la toma de decisiones, y a un bajo costo, tomando en cuenta que se desarrolló con software libre. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 85

101 Capítulo 6: Conclusiones El software que se realizó contiene varios módulos con distintas funciones y actividades, los cuales en conjunto tienen como objetivo preparar los datos para ser explotados por herramientas analíticas de minería de datos, específicamente este proyecto genera vistas minables para los programas de Excel Mining y Weka, una vez ejecutados los procesos de estas dos herramientas, los expertos podrán analizar los resultados y tomar las decisiones adecuadas para el rumbo de las pequeñas y medianas empresas (PyMES). Dentro de las actividades que realizan los procesos del software construido son: Extraer datos de diversas fuentes de datos e integrarlos en un almacén temporal a través de formatos de texto, hojas de cálculo y/o archivos con formato XML, posteriormente aplicarles procesos de limpieza y organización de los datos de acuerdo a la estructura requerida en el almacén destino y finalmente cargarlos a un DataMart o Data Warehouse, finalmente preparar los datos en archivos como vistas minables en formatos compatibles con las herramientas analíticas de minería de datos, con formatos ARFF para archivos reconocidos por Weka, como formatos XLS reconocidos por Excel Mining, una vez reconocidos por ellas, se implementan los procesos de minería que proporcionan estas herramientas y en base a los resultados que generen los analistas y expertos podrán tomar decisiones sobre el curso que deba llevar su empresa. Adicionalmente, el software resultante de esta tesis permite importar y exportar datos entre formatos XML, archivos de texto y hojas de cálculo, también administrar distintos almacenes de datos, tanto almacenes temporales conocidos como Staging área y almacenes como Data Mart y Data Warehouse. Otra aportación de este trabajo de tesis, es el diseñó de una metodología adecuada al proceso de toma de decisiones en las PyMES, en donde se integra el área del negocio y los indicadores claves (KPI), la preparación de datos mediante procesos ETL y análisis de datos a través de herramientas de minería. 6.3 Trabajos futuros. La aportación de esta tesis se encuentra en el área de inteligencia de negocios, la cual consiste en preparar los datos para herramientas analíticas de minería de datos, uno de los trabajos futuros es adecuar la herramienta para ser explotada por otro tipo de programas como cuadros de mando, tableros de control y/o cubos de datos. Debido a que el alcance de este proyecto no contempla analizar los resultados de las herramientas de minería de datos, como trabajo futuro se contempla analizar los resultados de las herramientas Excel Mining y Weka y determinar el impacto de sus resultados en las empresas. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 86

102 Capítulo 6: Conclusiones La extracción de datos se realiza a través de archivos de texto, un trabajo futuro consiste en establecer una sincronización entre el almacén fuente y destino para las siguientes extracciones sobre el mismo almacén. Otro de los trabajos futuros consiste en desarrollar un modelo para seleccionar los indicadores claves de negocio (KPI), adecuados para el análisis de datos en procesos de inteligencia de negocios. En el proceso de carga con archivos XML, se utiliza un algoritmo con la metodología DOM (Document Object Model), la cual soporta la carga de archivos pequeños, un trabajo futuro es implementar un nuevo algoritmo para cargar archivos XML de gran tamaño, utilizando la metodología SAX (Simple API for XML). Actualmente se construyen y administran almacenes de datos, pero sus tablas no se relacionan entre sí, un trabajo futuro es implementar la administración de almacenes de datos a través de modelos estrella y copos de nieve de un Data Mart y/o un Data Warehouse. En el presente trabajo de tesis, se presenta una metodología compuesta por tres áreas, la primera corresponde a la selección y preparación del área de la empresa y definición de KPIs, la segunda corresponde al pre procesamiento de datos, y la tercera corresponde al análisis de resultados de las herramientas de minería de datos Weka y Excel Mining y toma de decisiones en la empresa. El alcance de la tesis se enfoca únicamente en la segunda área, un trabajo futuro es aplicar la metodología completa en una empresa real del sector comercial. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 87

103 Referencias Referencias [ApeSoft 2011] [Arcplan 2011] [Arroyo 2011] [Atlas 2011] [Ángeles 2012] [Bingo 2011] [Cano 2008] [Curto 2010] [Charte 2009] [Diariooficial 2009] ApeSoft, 2011, Software de inteligencia de negocios, recuperado el 10 de agosto de 2011, en la dirección de internet: <http://www.apesoft.es> Arcplan, 2011, Software de inteligencia de negocios, recuperado el 20 de julio de 2011, en la dirección de internet: <http://www.arcplan.com> Arroyo Ramírez, Blanca Estela, Espinosa Mosqueda, Rafael, Erazo Ordaz, Fabiola, 2011, diagnóstico de las PyMES del sector industrial en el estado de Guanajuato, México y su visión de negocios, Memoria XXI congreso Latinoamericano sobre espíritu empresarial, Editorial: Universidad ISECI, Recuperado el 16 de junio de 2012, de la dirección de internet: < > Atlas, 2011, Software de inteligencia de negocios, recuperado el 15 de junio de 2011, en la dirección de internet: <http://www.businessintelligence.info> Ángeles López, Diana Elizabeth, Hernández Martínez, Ivett, Martínez Garza, David Zoe, Pérez Heracleo, Ana Laura, Rosas Oropeza, Erika, Valencia Galindo, Adriana, 2012, Las PyMES en México, Seminario: Proyecciones Financieras, su actualización y análisis, Colecciones de Tesis del Politécnico Nacional, México, DF. pp. 94. Recuperado el 16 de junio de 2012, de la dirección de internet: <http://hdl.handle.net/ /9568> Bingo SBI, 2011, Software de inteligencia de negocios, recuperado el 2 de septiembre de 2011, en la dirección de internet: <http://www.bingointelligence.com> Cano Josep Lluís, Conesa Caralt Jordi, BUSINESS INTELLIGENCE: COMPETIR CON INFORMACIÓN, Editado por la Escuela ESADE Banespyme, 1ra. Ed., Deposito Legal: M , pp Curto Díaz Josep, Introducción al Business Intelligence, Ed. UOC, 1ra. Ed., ISBN , pp Charte Francisco, 2009 SQL Server 2008 (Guía práctica), Ed. Anaya Multimedia, 1ra. Ed., ISBN , pp Diario oficial de la federación, Secretaría de economía. Acuerdo por el que se establece la estratificación de la micro, pequeñas, y medianas empresas. Recuperado el 16 de junio de 2011, en la dirección de internet: <http://gaceta.cddhcu.gob.mx/gaceta/2000/jul/ htm> Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 88

104 Referencias [Galiana 2007] [Horstmann 2006] [Howson 2009] [Hernández 2005] [IEEE 829] [INEGI 2012] [Institutopyme 2012] [Jiawei 2001] [Lockhart 2010] [López 2007] [McLaughlin 2008] [Moreno 2011] Galiana Maza José A., 2007, BI: El nuevo Excel 2010, Economía 3, Edición 2007:102. Horstmann Cay S., Cornell Gary, 2006, Core JAVA 2 volúmen I Fundamentos, Ed. Pearson Prentice Hall, 7ma. Ed., ISBN , pp Howson Cindi, BUSINESS INTELLIGENCE - Estrategias para una implementación exitosa, Ed. Mc Graw Hill, 1ra. Ed., ISBN , pp Hernández Orallo José, Ramírez Quintana Ma. José, Ferri Ramírez Cesar, 2005, Introducción a la Minería de Datos, Ed. Pearson Prentice Hall, 1ra. Ed., ISBN , pp Standar for Software Test Documentation IEEE std Revision of IEEE std INEGI 2012, Instituto Nacional de Estadística, Geografía e Informática, Recuperado el 19 de junio de 2012, en la dirección de internet: <www.inegi.gob.mx.> Instituto PyME, 2012, Instituto de las pequeñas y medianas empresas (PyMES).Recuperado el 16 de junio de 2012, en la dirección de internet: <http://www.institutopyme.org/index.php?option=com_content&view=ar ticle&id=134&itemid=177> Jiawei Jan, Kamber Micheline, 2001, Data Mining Concepts and Techniques, Ed. Morgan Kaufmann, 1ra. Ed., ISBN , pp Lockhart Thomas, 2010, Manual del usuario de PostgreSQL Editado por el equipo de desarrollo de PostgreSQL, Marca registrada por Postgress Global Development Group. López Quijado José, 2007, Domine PHP y MySQL Programación Dinámica en el lado del servidor, Ed. Alfaomega Ra-Ma, ISBN , pp McLaughlin Michael, 2008, Oracle Database 11g PL/SQL Programing, Ed. Mc Graw Hill, ISBN , pp Moreno López, Alejandro, 2011, Desarrollo de una infraestructura para la creación de cuadros de mando integral, Tesis MC, Centro Nacional de Investigación y Desarrollo Tecnológico, Depto. Ciencias Computacionales, Cuernavaca, Morelos, México. pp. 94. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 89

105 Referencias [Méndez 2006] [Navarrete 2011] [Palomo 2005] [Ramos 2011] [Silberschatz 2002] [Sinnexus 2011] [Soriano 2005] [Sunopsis 2011] [Sybase 2001] Méndez del Rio Luis, Más allá del Business Intelligence 16 experiencias de éxito, Ed. Gestión 2000, 1ra. Ed., ISBN , pp Navarrete Morneou, Edith, Sansores Guerrero, Edgar, 2011, El fracaso de las micro, pequeñas y medianas empresas en Quintana Roo, México: un análisis multivariante, Revista Internacional Administración & Finanzas, vol. 4, núm. 3, 2011: Palomo González, Miguel A., 2005, Los procesos de gestión y la problemática de las PyMES, UANL, Ingenierías, julio septiembre 2005, vol. VIII, núm. 28: Ramos Salvador, 2011, Microsoft Business Intelligence: vea el cubo medio lleno, Editado por SolidQ TM, 1ra. Ed., ISBN , pp Silberschatz Abraham, Korth Henry F., Sudarshan S., 2002, Fundamentos de Bases de Datos, Ed. Mc Graw Hill, 5ta. Ed., ISBN , pp Sinnexus, 2011, Business Intelligence + informática estratégica, Recuperado el 18 de agosto de 2011, en la dirección de internet: <http://www.sinnexus.com/business_intelligence/datawarehouse.aspx> Soriano C.L., 2005, El 80% de las PyMES fracasa antes de los cinco años y el 90% no llega a los diez años. Por qué?. Recuperado el 16 de junio de 2012, en la dirección de internet: <http://winred.com/emprender/el-80-de-las-pymes-fracasa-antes-de- los-cinco-anos-y-el-90-no-llega-a-los-diez-anos-por-que/gmx-niv110- con2970.htm> Sunopsis, 2011, Software de inteligencia de negocios, recuperado el 12 de octubre de 2011, en la dirección de internet: <http://www.oracle.com/corporate/acquisitions/sunopsis/index.html> Sybase, (2001), Sybase Manual de Instalación Adaptive Server Enterprise 12.5 Sun Solaris. USA. Editado por el equipo de desarrollo de Sybase. ID: Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 90

106 Bibliografía Bibliografía [Alarcón 2008] [Araya 2003] [Chilet 2008] [Cooke 2011] [Dean 2009] [Deitel 2004] [Horstmann 2006] [Hornick 2007] [Jiawei 2001] [Laudon 2004] [Piera 2004] [Pressman 2002] Alarcón Ruth, Basurto Carla, Ávila Abraham, 2008, Infraestructura de pruebas para una plataforma de inteligencia de negocios, Revista Española de Innovación, Calidad e Ingeniería del Software ISNN: , Vol. 4, no 22, pág. 83:85. Araya, Úrsula, Análisis comparativo de las necesidades ambientales de las Pyme, en Chile, Colombia y México, Editado por Serie y medio ambiente y desarrollo, 1ra. Ed., ISBN: , pp Chillet Lloris Amparo, 2008, La clave para encontrar su software de negocio, Economía 3, Edición 2008, pág Cooke Curtis, 2011, Análisis de los algoritmos utilizados por el software para BI, Lampsakos, ISNN: , Edición Ene jun 2011, pág Dean S. John, Dean Raymond H., 2009, Introducción a la programación con JAVA, Ed. Mc Graw Hill, 1ra. Ed., ISBN , pp Deitel Harvey M., Deitel Paul J., 2004, JAVA cómo programar, Ed. Pearson Prentice Hall, 5ta. Ed., ISBN , pp Horstmann Cay S., Cornell Gary, 2006, Core JAVA 2 volúmen II Características Avanzadas, Ed. Pearson Prentice Hall, 7ma. Ed., ISBN , pp Hornick Mark, Marcade Erick, Venkayala Sunil, 2007, Java Data Mining: Strategy, Standard and practice, Ed. Morgan Kaufman, 1ra. Ed., ISBN , pp Jiawei Jan, Kamber Micheline, 2001, Data Mining Concepts and Techniques, Ed. Morgan Kaufmann, 1ra. Ed., ISBN , pp Laudon Kenneth, Laudon Jane, 2004, Sistemas de Información Gerencial: Administración de la empresa digital. Ed. Pearson, 8va Ed., ISBN , pp Piera Cebolla Juan Manuel, 2004, Data Marts funcionales: una apuesta para la PyME, Economía 3, Edición 2004: Pressman Roger S., 2002, Ingeniería del software un enfoque práctico, Ed. Mc Graw Hill, 5ta. Ed., ISBN , pp Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 91

107 Bibliografía [Puga 2011] [Ramos 2011] [Rosado 2010] [Sumathi 2006] [SUN 2008] [Tabladillo 2010] [Wang 2005] [Weitzenfeld 2007] Puga Murguía Carlos, 2007, Business Intelligence: La nueva fortaleza competitiva, Emprendedores, 102: Ramos Salvador, 2011, Integration Services: Pieza fundamental en los proyectos de BI, The SolidQ TM Journal Business intelligence. Edición 2011: 10-14, Rosado Gómez, Alveiro Alonso, Bautista Rico, Dewar Willmer, 2010, Inteligencia de Negocios, Estado del Arte, Scientia EL Technica, vol. XVI, núm. 44: Sumathi S., Sivanandam S.N., 2006, Introduction to Data Mining and its Applications, Ed. Springer, 1ra. Ed., ISBN , pp SUN microsystems, 2008, Lenguaje de programación JAVA Manual del alumno, (Revisión G2). USA: SUN SM SERVICES, Derechos Reservados Tabladillo Mark, Porque utilizar Minería de Datos?, The SolidQ TM Journal Business intelligence. Edición 2010: Wang Lipo, Fu Xiuju, 2005, Data Mining with computational Intelligence, Ed. Springer, 1ra. Ed., ISBN , pp Weitzenfeld Alfredo, 2007, Ingeniería de software orientada a objetos con UML, Java e Internet, Ed. Thomson, 1ra. Ed., ISBN , pp Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES 92

108 Anexos Anexos Como complemento del trabajo de tesis se agregan ocho anexos, los cuales están enumerados por las letras [A, B, C, H]. En el anexo A, se muestra una descripción de la problemática y el comportamiento de las PyMES en México, en el anexo B se considera la descripción de los casos de pruebas y en el anexo C la configuración del prototipo de la herramienta, la descripción del código e interfaces se muestra en los anexos del D al H. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A1

109 Anexo A: Problemática y comportamiento de las PyMES en México Anexo A Problemática y comportamiento de las PyMES en México En este apartado, se describe el comportamiento de las pequeñas y medianas empresas (PyMES) del país, el impacto en la sociedad mexicana, la clasificación de acuerdo a su tamaño, los apoyos del gobierno, los factores de fracaso y las características de la problemática en general. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A1

110 Anexo A: Problemática y comportamiento de las PyMES en México 1. El impacto de las PyMES en México De acuerdo a los datos proporcionados por el Instituto de las PyMES en México, las micro, pequeñas y medianas empresas (MiPyMES) constituyen la columna vertebral de la economía nacional por su alto impacto en la generación de empleos y en la producción nacional [Institutopyme 2012]. De acuerdo con datos del Instituto Nacional de Estadística, Geografía e Informática (INEGI), en México existen aproximadamente 4 millones 15 mil unidades empresariales, de las cuales 99.8% son MiPyMES que generan 52% del Producto Interno Bruto (PIB) y 72% del empleo en el país. Por la importancia de las MiPyMES, se deben tomar acciones para mejorar el entorno económico y apoyar directamente a las empresas, con el propósito de crear las condiciones que contribuyan a su establecimiento, desarrollo y consolidación. 2. Clasificación oficial de las empresas de acuerdo a su tamaño en México La clasificación publicada en el Diario Oficial de la Federación del 30 de junio de Establece que el tamaño de la empresa se determinará a partir del obtenido del número de trabajadores multiplicado por 10%; más el monto de las ventas anuales por 90%. Esta cifra debe ser igual o menor al tope máximo combinado de cada categoría, que va desde 4.6 en el caso de las micro, hasta 250 para las medianas. Tabla A.1. Clasificación oficial de las empresas en México. Estratificación Tamaño Sector Rango de trabajadores Rango de monto de ventas anuales (mdp) Tope máximo Micro Todas Hasta 10 Hasta $4 4.6 Comercio De 11 a 30 De 4.01 a Pequeña Industria y De 11 a 50 De 4.01 a servicios Comercio De 31 a 100 De a Mediana Servicio De 51 a 100 De a Comercio De 51 a 250 De a *Tope máximo combinado = (Trabajadores) X 10% + (Ventas Anuales) X 90% Fuente: Diario Oficial de la Federación del 30 de junio de Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A2

111 Anexo A: Problemática y comportamiento de las PyMES en México 3. Apoyo del gobierno a la competitividad de las PyMES en México. Dentro del Plan Nacional de Desarrollo , destacan el establecimiento del Programa para Impulsar el Crecimiento y el Empleo (PICE) en octubre de 2008, y el Acuerdo Nacional en favor de la Economía Familiar y el Empleo en enero de El Gobierno Federal en el Acuerdo Nacional en Favor de la Economía Familiar, dentro del plan Nacional de Desarrollo , destaca el establecimiento de un fideicomiso para el Apoyo a la competitividad y a las pequeñas y medianas empresas. El 21 de enero de 2009 se autorizó la modificación y reestructuración a las tarifas para suministro y venta de energía eléctrica a fin de reducir su precio y lograr que un mayor número de empresas puedan optar por una tarifa eléctrica fija. Se impulsa un programa para aumentar las compras del gobierno a micro, pequeñas y medianas empresas (MiPyMES) mexicanas, se estableció un fideicomiso por 5 mil millones de pesos para desarrollar MiPyMES como proveedoras de la industria petrolera nacional; se brinda asesoría técnica a las pequeñas y medianas empresas (PyMES) y se les otorgan recursos a través del Fideicomiso México Emprende; Nacional Financiera y el Banco Nacional de Comercio Exterior, los cuales han incrementado el financiamiento directo e inducido a la actividad empresarial; en tanto que Financiera Rural y el FIRA han acrecentado el crédito al sector rural; y en general existe una mayor disponibilidad de crédito para las empresas vía banca de desarrollo. Adicionalmente, se registró e inició la difusión de la nueva marca Hecho en México, a partir de la cual se promueve la adquisición de bienes y servicios nacionales. 4. Factores de fracaso de las PyMES en la mayoría de los países. Las cifras de fracaso de las PyMES son abrumadoras en cualquier país que se analicen [Soriano 2005]. Las estadísticas indican que, en promedio, el 80% de las PyMES fracasa antes de los cinco años y el 90% de ellas no llega a los 10 años. Para los dueños de PyMES, las razones del fracaso es necesario buscarlas fuera de las empresas, pero los analistas empresariales se orientan más a identificar las causas del fracaso en las propias PyMES y, en particular, en la capacidad de gestión de sus responsables. Las cifras de fracaso de las PyMES varían según el país, pero se mantienen en altos niveles negativos muy similares. Así, por ejemplo, en España, para García Ordóñez, de la Universidad de Cádiz, el 80% de las empresas quiebran en los primeros cinco años. Estas cifras son confirmadas por Emprendedor XXI, de La Caixa, que Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A3

112 Anexo A: Problemática y comportamiento de las PyMES en México advierte que las estadísticas nos hablan de una elevada mortalidad en las empresas de nueva creación: según datos de 2003, más del 70% de los negocios no llegan a los cuatro años de vida. De acuerdo con la CEPAL en los países subdesarrollados entre un 50 y un 75% dejan de existir durante los primeros tres años. Para Francisco Yáñez (México) al cumplir 10 años, solamente el 10% de las empresas maduran, tienen éxito y crecen. De acuerdo con Cetro-Crece, también de México, el 75% de las nuevas empresas mexicanas debe cerrar sus operaciones apenas después de dos años en el mercado. Para degerencia.com: la experiencia demuestra que el 50% de las empresas quiebran durante el primer año de actividad, y no menos del 90% antes de cinco años. En los Estados Unidos de América, según Samuelson y Nordhaus, el promedio de vida de las empresas es de seis años y más de un 30% no llega al tercer año. La Asociación Argentina para el desarrollo de la Pequeña y Mediana Empresa afirma taxativamente que: Sólo el 7% de los emprendimientos llega al 2º año de vida y sólo el 3% de los emprendimientos llega al 5º año de vida. Finalmente, para no abrumar con más cifras, en Chile, según informa Rodrigo Castro F., un estudio en el que se le dio seguimiento a 67,310 empresas creadas en 1996, indicó que el 25% de ellas desapareció en el primer año, un 17% en el segundo año, el 13% en el tercer año y un 11% en el cuarto año. 4.1 Factores de fracaso según emprendedores. Las razones de los emprendedores del alto índice de fracaso las atribuyen a fuerzas externas a las empresas, que actúan en el entorno económico-políticosocial. Se refieren, entre otras, a escaso apoyo oficial, deficientes programas de ayuda a las PyMES, casi inexistentes fuentes de financiación, excesivos controles gubernamentales, altas tasas impositivas, alto costo de las fuentes de financiamiento. Sin dejar de admitir la existencia de todos estos problemas y obstáculos, queda siempre la pregunta: por qué, a pesar de tener que enfrentar la misma problemática algunas PyMES sobreviven, progresan y crecen, incluso hasta llegar a convertirse, con el paso de los años, en grandes empresas? 4.2 Factores de fracaso según analistas empresariales. Las razones que muestran los analistas empresariales, aun tomando en consideración el entorno negativo en que operan las PyMES, se orienta más a encontrar las causas del fracaso en las propias PyMES y, en particular, en la Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A4

113 Anexo A: Problemática y comportamiento de las PyMES en México capacidad de gestión de sus responsables. Así, tomando como punto de partida una primera síntesis elaborada en Conamype, podemos agrupar las variadas causas de fracaso en cinco grandes áreas: Problemas para vender. Problemas para producir y operar. Problemas para controlar. Problemas en la planificación. Problemas en la gestión. Otras causas de fracaso lo menciona un nutrido grupo de analistas, entre los que se encuentran: problemas para vender, resistencia a acatar las preferencias de los clientes, deficiente orientación y servicio a los clientes, mala ubicación, falta de enfoque en segmentos o nichos de mercado precisos, inexistencia de planes formales de marketing y ventas, no disponer de sistemas que les permitan detectar las oportunidades de mercado, renuencia a invertir en actividades publicitarias y promocionales, deficiente capacitación de la red de ventas, no tomar en cuenta las quejas de los clientes, desconocimiento de lo que se vende y a quién se vende, ignorar al cliente, ignorar a la competencia, desconocimiento de las propias ventajas competitivas y similares. 6. Características de la problemática de las PyMES en México. Los estudios para identificar los problemas de las PyMES mezclan dos tipos de enfoques que llamaremos enfoque externo e interno [Palomo 2005]. El enfoque externo se caracteriza por problemas que afectan a las PyMES, pero que son de tipo macroeconómico y en donde las PyMES no tienen influencia en su solución (o no en su razón de ser). El enfoque interno se caracteriza por problemas derivados de la gestión propia del negocio y del sector económico al que pertenecen, y en donde las PyMES son responsables de su solución y su mejora. A continuación se mencionan algunas de las características de la problemática de las PyMES en el país [Ángeles 2012]. a. Falta de organización interna: La mayor parte de las pequeñas y medianas empresas, no cuenta con una estructura organizacional, no cuenta con una sistematización de sus operaciones y actividades, no tienen políticas internas Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A5

114 Anexo A: Problemática y comportamiento de las PyMES en México que definan los roles o actividades de cada uno de los puestos y sobre todo la escasa supervisión de estándares de desempeño interno (KPIs). b. Problemas en el control de producción: Las PyMES por lo general no formulan una misión, visión, valores, metas y estrategias para las diferentes áreas de la empresa. El personal que se contrata es más por recomendación, que por perfil del puesto, no se tiene capacitación del personal, no existen programas de bienestar social. La toma de decisiones se hace más por la experiencia, que basada en la información de la empresa y de la competencia. No se cuenta con herramientas que permitan planear correctamente su producción, sistemas que les permitan controlar la calidad, se presentan constantes diferencias en existencias y no se tiene la capacidad de surtir pedidos grandes, carecen de estructuras de costos de producción y esto impide hacer cotizaciones rápidas y de forma correcta, se tiene un mal manejo de inventarios. c. Problemas en el área de finanzas y contabilidad: se encuentra escasez en los registros contables, falta de registros financieros, falta de información oportuna para la toma de decisiones, además de informes sobre procesos de producción, documentación de éxitos y fracasos, además no se cuenta con planes de inversión de capital. d. Falta de conocimiento del mercado: No se tiene información de la competencia, no se aplican técnicas de mercadotecnia que permitan dar a conocer su producto, no se preocupan por la opinión del cliente. e. Falta de financiamiento: pocas instituciones otorgan líneas de crédito a sus clientes. f. Falta de innovación tecnológica: no se cuenta con sistemas desarrollados y pensados específicamente para las PyMES, se tienen sistemas aislados, con poca capacidad de adaptación, con procesos rígidos; ya que las tecnologías de apoyo para el desarrollo de conocimiento son escasas y costosas para poder implementarse en las PyMES. Además la falta de acceso a tecnologías de la información es un problema ya que tres de cada cuatro PyMES cuentan con acceso a internet, sin embargo más de la mitad no cuentan con página web o sistemas de venta en línea. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A6

115 Anexo A: Problemática y comportamiento de las PyMES en México 6.1 Diagnóstico de las PyMES del sector industrial en Guanajuato. El estado de Guanajuato se encuentra entre los diez estados más productivos del país [Arroyo 2011]. El impacto de las PyMES como unidades económicas presenta una contribución al estado del 99%, generando el 70% de empleos, aportando 50% al PIB, 48% de remuneraciones totales, y siendo más del 20% las PyMES del área de manufactura que a nivel nacional como industria aporta el 10.9% de empleo y el 25% en total de número de establecimientos. La globalización obliga al emprendedor de negocios a convertirse en estratega visionario, aun tomando en consideración el entorno negativo en que operan las PyMES, ya que se orienta más a encontrar las causas de fracaso en las propias PyMES y en particular en la capacidad de gestión de sus responsables y en la toma de decisiones oportunas basadas en información, lo cual le permitirá enfrentar retos, no sólo en el ámbito metodológico, sino también responder oportunamente a los mercados cambiantes, ya que al contar con información pertinente podrá tener acceso a fuentes de financiamiento y capacitación que se ofertan en el entorno, a solucionar problemas de ventas, producción, operación, control, planificación, gestión del capital humano, y redes de vinculación. 6.2 El fracaso de las micro, pequeñas y medianas empresas en Quintana Roo, un análisis multivariante. De acuerdo a cifras proporcionadas por el INEGI, para el 2005, en Quintana Roo existían 27,895 empresas registradas, las cuales generaron una producción bruta total de 41,773 millones de pesos y remuneraciones totales por 6,238 millones de pesos. De este número de empresas el 93.3% son micro, el 5.1% pequeñas, 0.9% medianas y el resto grandes. Además el 54% de las empresas se dedica al comercio, 0.7% a la manufactura y el 39% a la prestación de servicios [Navarrete 2011]. Actualmente en Quintana Roo, el tejido industrial se encuentra conformado en su mayoría por las PyMES; las cuales son la base del desarrollo del Estado. Sin embargo, este tipo de empresas enfrentan una serie de obstáculos que dificultan su sobrevivencia y crecimiento. Estas empresas se caracterizan por una escasa formación de desarrollo de las habilidades empresariales, poca capacidad de producción, insuficientes sistemas de información, desconocimiento del mercado, problemas de comercialización, falta de vinculación con programas para el desarrollo e innovación tecnológica y, en general, un difícil acceso a esquemas de financiamiento ofrecidos con la banca comercial. Esta situación ha provocado un alto índice de mortandad en las PyMES quintanarroenses durante los dos primeros años de operación, lo que se ha traducido en una inestabilidad económica y pérdida de empleos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES A7

116 Anexo A: Problemática y comportamiento de las PyMES en México Anexo B Descripción de los casos de prueba La descripción de los casos de prueba mostrados en este anexo, hacen referencia al conjunto de datos número dos que se observa en el capítulo 5. En cada caso se describe el proceso a seguir, los elementos de prueba y se especifican las entradas y las salidas. Cabe señalar que las pruebas realizadas al conjunto de datos 1 y 3, sólo se documentaron los resultados, el proceso no se documento por ser demasiado extenso. A continuación se muestra el listado de las pruebas realizadas. 1. Prueba para la extracción de datos de MySQL. 2. Prueba para la extracción de datos de Oracle. 3. Prueba para la extracción de datos de Sybase. 4. Prueba para la extracción de datos de PostgreSQL. 5. Prueba para la extracción de datos de SQLServer. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B1

117 Anexo B: Descripción de los casos de prueba 1. Prueba para la extracción de datos de MySQL. (CP-HPDINTDP-01) a. Descripción. El caso de prueba consiste en extraer información del gestor de base de datos MySQL. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. b. Elementos de prueba. Gestor de base de datos MySQL. Equipo en red. Aplicación de la herramienta encargada de la extracción. c. Especificación de entradas. Datos de entrada Servidor Usuario Contraseña Base de datos Tabla Valor localhost root (en blanco) informática tabla_informatica d. Especificación de salida. Como salida se obtienen dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. Archivo Metadatos 5 campos diferentes 3 tipos de datos Archivo con datos 30,000 registros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B2

118 Anexo B: Descripción de los casos de prueba 2. Prueba para la extracción de datos de Oracle. (CP-HPDINTDP-02) a. Descripción. El caso de prueba consiste en extraer información del gestor de base de datos Oracle. El usuario proporciona los datos de conexión al servidor y de la tabla, luego se procede con la extracción de los datos a través de archivos de texto. b. Elementos de prueba. Gestor de base de datos Oracle. Equipo en red. Aplicación de la herramienta encargada de la extracción. c. Especificación de entradas. Datos de entrada Servidor Usuario Contraseña Base de datos Tabla Valor localhost ADMIN snorkel empleado tabla_gestionemp d. Especificación de salida. Como salida se obtienen dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. Archivo Metadatos 5 campos diferentes 2 tipos de datos Archivo con datos 20 registros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B3

119 Anexo B: Descripción de los casos de prueba 3. Prueba para la extracción de datos de PostgreSQL. (CP-HPDINTDP-03) a. Descripción. El caso de prueba consiste en extraer información del gestor de base de datos PostgreSQL. El usuario proporciona los datos de conexión del servidor y la tabla, luego se extraen los datos a través de archivos de texto. b. Elementos de prueba. Gestor de base de datos PostgreSQL. Equipo en red. Aplicación de la herramienta encargada de la extracción. c. Especificación de entradas. Datos de entrada Servidor Usuario Contraseña Base de datos Shemma Tabla Valor localhost postgres snorkel inovacion bd_inovacion tabla_inovacion d. Especificación de salida. Como salida se obtienen dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. Archivo Metadatos 5 campos diferentes 2 tipos de datos Archivo con datos 20 registros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B4

120 Anexo B: Descripción de los casos de prueba 4. Prueba para la extracción de datos de Sybase. (CP-HPDINTDP-04) a. Descripción. El caso de prueba consiste en extraer información del gestor de base de datos Sybase. El usuario proporciona los datos de conexión del servidor y la tabla, luego se extraen los datos a través de archivos de texto. b. Elementos de prueba. Gestor de base de datos Sybase. Equipo en red. Aplicación de la herramienta encargada de la extracción. c. Especificación de entradas. Datos de entrada Servidor Usuario Contraseña Base de datos Tabla Valor localhost sa (blanco) maestriabio tabla_maestriabio d. Especificación de salida. Como salida se obtienen dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. Archivo Metadatos 5 campos diferentes 2 tipos de datos Archivo con datos 20 registros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B5

121 Anexo B: Descripción de los casos de prueba 5. Prueba para la extracción de datos de SQL Server. (CP-HPDINTDP-05) a. Descripción. El caso de prueba consiste en extraer información del gestor de base de datos SQL Server. El usuario proporciona los datos de conexión del servidor y la tabla, luego se extraen los datos a través de archivos de texto. b. Elementos de prueba. Gestor de base de datos SQL Server. Equipo en red. Aplicación de la herramienta encargada de la extracción. c. Especificación de entradas. Datos de entrada Servidor Usuario Contraseña Base de datos Tabla Valor localhost sa snorkel TICs tabla_tics d. Especificación de salida. Como salida se obtienen dos archivos de texto, uno con el contenido de los metadatos y el otro con la información de los registros, cabe señalar que el sistema prepara la estructura adecuada para ser cargado en el almacén temporal. Archivo Metadatos 5 campos diferentes 2 tipos de datos Archivo con datos 20 registros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B6

122 Anexo B: Descripción de los casos de prueba 6. Prueba para la construcción y administración de una base de datos. (CP-HPDINTDP-06) a. Descripción. Se construye y administra una base de datos en MySQL a través de una aplicación, utilizando los metadatos del proceso de extracción. b. Elementos de prueba. Archivo de metadatos Aplicación de la herramienta encargada de construir base de datos. c. Especificación de entradas. Datos de entrada en la aplicación Id_bd Nombre base de datos Valor 11 Prueba_tesis d. Especificación de salida. La base de datos creada en el gestor MySQL y administrada en la aplicación. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B7

123 Anexo B: Descripción de los casos de prueba 7. Prueba para la construcción y administración de una tabla. (CP-HPDINTDP-07) a. Descripción. Una vez construida la base de datos, se crea la tabla. Los metadatos utilizados para la construcción de ambas estructuras se relacionan y administran a través del sistema. b. Elementos de prueba. Archivo de metadatos Base de datos construida. Aplicación de la herramienta encargada de construir tablas. c. Especificación de entradas. Datos de entrada en la aplicación Selección de base de datos Id_tabla Nombre de la tabla Valor Prueba_tesis 13 tabla_prueba_tesis d. Especificación de salida. La tabla construida dentro de la base de datos que se creó en MySQL y la administración de ellas a través de la aplicación. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B8

124 Anexo B: Descripción de los casos de prueba 8. Prueba para la construcción y administración de campos en una tabla. (CP-HPDINTDP-08) a. Descripción. Una vez construida la tabla, se crean los campos. El sistema relaciona los metadatos utilizados en la construcción de cada base de datos, las tablas y los campos. b. Elementos de prueba. Archivo de metadatos Base de datos construida. Tabla construida. Aplicación de la herramienta encargada de construir campos. c. Especificación de entradas. Datos de entrada en la aplicación Selección de base de datos Selección de tabla Id_campo Nombre de los campos Valor Prueba_tesis Tabla_prueba_tesis 74 (varios campos) d. Especificación de salida. Los campos construidos dentro de la tabla en MySQL y la administración de los campos a través de la aplicación. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B9

125 Anexo B: Descripción de los casos de prueba 9. Prueba para carga y exportación de archivos de texto. (CP-HPDINTDP-09) a. Descripción. La prueba consiste en cargar al almacén temporal los archivos del proceso de extracción para ser analizados, limpiados y transformados. Posteriormente exportar los datos para integrarlos al almacén final (Data Mart). b. Elementos de prueba. Archivo de texto de los registros del proceso de extracción. Base de datos construida. Tabla construida. Campos construidos. Aplicación de la herramienta encargada de cargar y exportar datos. c. Especificación de entradas. Actividad Proceso de carga Proceso de exportación Entrada Archivo de texto con registros. Registros en el almacén temporal d. Especificación de salida. Contener los datos en el almacén temporal y exportar los datos a archivos de texto. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B10

126 Anexo B: Descripción de los casos de prueba 10. Prueba para carga y exportación de archivos XML. (CP-HPDINTDP-10) a. Descripción. Para brindar mayor flexibilidad y compatibilidad de la herramienta se consideró el uso del formato XML, con el cual se permite importar y exportar información en el almacén de datos. b. Elementos de prueba. Archivo de registros en formato XML. Base de datos construida. Tabla construida. Campos construidos. Aplicación de la herramienta encargada de cargar y exportar datos. c. Especificación de entradas. Actividad Proceso de carga Proceso de exportación Entrada Archivo XML. Registros en el almacén temporal d. Especificación de salida. Contener los datos en el almacén temporal y exportar los datos a archivos XML. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B11

127 Anexo B: Descripción de los casos de prueba 11. Prueba para carga y exportación de archivos de hojas de cálculo. (CP-HPDINTDP-11) a. Descripción. Para brindar mayor flexibilidad y compatibilidad de la herramienta se consideró el uso del formato de hojas de cálculo, con el cual se permite importar y exportar información en el almacén, para la carga se utiliza el formato CSV y para la exportación se utiliza el formato XLS. b. Elementos de prueba. Archivo de registros en formato CSV. Base de datos construida. Tabla construida. Campos construidos. Aplicación de la herramienta encargada de cargar y exportar datos. c. Especificación de entradas. Actividad Proceso de carga Proceso de exportación Entrada Archivo CSV Registros en el almacén temporal d. Especificación de salida. Contener los datos en el almacén temporal y exportar los datos a archivos XLS. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B12

128 Anexo B: Descripción de los casos de prueba 12. Prueba para limpieza de datos (automática). (CP-HPDINTDP-12) a. Descripción. Continuamente los datos tienen errores, como valores nulos, vacíos o en cero, el propósito es limpiar este tipo de información de la base de datos. b. Elementos de prueba. Almacén de datos con información. Aplicación de la herramienta encargada de limpieza de datos. c. Especificación de entradas. Diagnóstico de la tabla Nombre de la base de datos prueba_tesis Nombre de la tabla tabla_prueb_tesis Total de atributos 5 Total de registros Llaves primarias 1 Campos vacíos o en 0 94 Campos nulos 0 Registros duplicados d. Especificación de salida. Tamaño inicial de Registro con la tabla errores valores con cero Tamaño final de la tabla Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B13

129 Anexo B: Descripción de los casos de prueba 13. Prueba para limpieza de datos (Criterios del usuario). (CP-HPDINTDP-13) a. Descripción. Continuamente los datos tienen errores, en este caso en particular, se encuentra que de los 34,156 registros, en 20 registros no existe el valor de la clave de la materia. Además en 256 registros se encuentran anomalías en los datos (atributo calificación), se observa que la mayoría de las calificaciones están basadas del 0 al 10 y en 256 registros se observa que la calificación va de 70 a 100, por lo tanto se decide corregir los registros. b. Elementos de prueba. Almacén de datos con información. Aplicación de la herramienta encargada de limpieza de datos. c. Especificación de entradas. Diagnóstico de la tabla Nombre de la base de datos prueba_tesis Nombre de la tabla tabla_prueb_tesis Total de atributos 5 Total de registros Llaves primarias 1 Campos vacíos o en 0 0 Campos nulos 0 Registros duplicados Errores con anomalías no 20 corregibles Errores con anomalías 256 corregibles d. Especificación de salida. Tamaño inicial de la tabla Registro con anomalías no corregibles valores sin clave Registros con anomalías corregibles Tamaño final de la tabla Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B14

130 Anexo B: Descripción de los casos de prueba 14. Prueba para generar vista minable para Weka. (CP-HPDINTDP-14) a. Descripción. Después de haber almacenado los datos en un DataMart, se genera un archivo con el formato arff para ser procesado por la herramienta de minería Weka. b. Elementos de prueba. Información limpia en almacén de datos (Data Mart). Aplicación de la herramienta encargada de generar vista minable para Weka. c. Especificación de entradas. Diagnóstico de la tabla del DataMart Nombre de la base de datos prueba_tesis Nombre de la tabla tabla_prueb_tesis Total de atributos 5 Total de registros limpios d. Especificación de salida. Vista minable a través de un archivo con la estructura de un formato ARFF. Datos de la vista minable Nombre del archivo Salida.arff Tabla procesada tabla_prueb_tesis Atributos 5 nmateria STRING calif_mat NUMERIC semestre_cur INTEGER tipo_aprob Enumerado (10 grupos de valores) nom_carrera Enumerado (6 carreras) Número de registros Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B15

131 Anexo B: Descripción de los casos de prueba 15. Prueba para generar vista minable para Weka. (CP-HPDINTDP-15) a. Descripción. Después de haber almacenado los datos en un DataMart, se genera un archivo con el formato XLS para ser procesado por la herramienta de minería Excel Mining. b. Elementos de prueba. Información limpia en almacén de datos (Data Mart). Aplicación de la herramienta encargada de generar vista minable para Excel Mining. c. Especificación de entradas. Diagnóstico de la tabla del DataMart Nombre de la base de datos prueba_tesis Nombre de la tabla tabla_prueb_tesis Total de atributos 5 Total de registros limpios d. Especificación de salida. Vista minable a través de un archivo con la estructura de un formato XLS. Datos de la vista minable Nombre del archivo Salida.xls Tabla procesada tabla_prueb_tesis Atributos 5 Número de registros Conversión de archivo XLS a base de datos en Excel Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B16

132 Anexo B: Descripción de los casos de prueba 16. Prueba para implementar la vista minable en Weka. (CP-HPDINTDP-16) a. Descripción. El paso final de la tesis considera implementar la herramienta Weka y cargar el archivo correctamente con el propósito de hacer minería. b. Elementos de prueba. Archivo salida.arff generado por la herramienta. Programa Weka. c. Especificación de entradas. Datos de la vista minable Nombre del archivo Salida.arff Tabla procesada tabla_prueb_tesis Atributos 5 nmateria STRING calif_mat NUMERIC semestre_cur INTEGER tipo_aprob Enumerado (10 grupos de valores) nom_carrera Enumerado (6 carreras) Número de registros d. Especificación de salida. Ejecutar la herramienta Weka y cargar correctamente el archivo generado como vista minable. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B17

133 Anexo B: Descripción de los casos de prueba 17. Prueba para implementar la vista minable en Excel Mining. (CP-HPDINTDP-17) a. Descripción. El paso final de la tesis considera implementar la herramienta Excel Mining y cargar el archivo correctamente con el propósito de hacer minería. b. Elementos de prueba. Archivo salida.xls generado por la herramienta. Programa Excel Mining. c. Especificación de entradas. Datos de la vista minable Nombre del archivo Salida.xls Tabla procesada tabla_prueb_tesis Atributos 5 Número de registros d. Especificación de salida. Ejecutar la herramienta Excel Mining y cargar correctamente el archivo generado como vista minable. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES B18

134 Anexo A Anexo C Instalación de la herramienta de tesis La herramienta de la tesis, es un prototipo que funciona en el ambiente que fue desarrollada. Para ello es necesaria la instalación de Java, NetBeans y MySQL, posteriormente agregar la base de datos que interactúa con la herramienta. Weka y Excel Mining son utilizados como complemento para poder llevar a cabo tareas de minería de datos y toma de decisiones. Para trabajar con gestores de bases de datos Oracle, Sybase, PostgreSQL y SQL Server, se debe configurar el usuario e IP con el cual se va a conectar la herramienta, de manera local no es necesaria ninguna configuración. Los puntos necesarios para su instalación y configuración se mencionan a continuación. 1. Instalación del lenguaje Java. 2. Instalación de NetBeans. 3. Instalación de MySQL como gestor de apoyo. 4. Instalación de gestores de bases de datos. 5. Instalación de conectores de Java para gestores de bases de datos. 6. Instalación de Weka. 7. Instalación de Excel Mining. 8. Configuración de la herramienta de la tesis. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES C1

135 Anexo C: Instalación de la herramienta de tesis 1 Instalación del lenguaje Java Para la instalación del lenguaje Java son necesarios dos archivos el JDK y el JRE, el primero contiene el Kit de desarrollo de Java, y el segundo contiene el Kit de ejecución de Java, los dos archivos se encuentran en la carpeta lenguaje Java, que contiene el DVD que acompaña a la tesis. Para instalarlos debe ejecutar cada uno de los archivos mencionados y seguir los pasos hasta concluir. 2 Instalación de NetBeans. La versión más reciente de NetBeans puede ser descargada de la dirección de internet En el DVD de la tesis se incluye la versión 7.1 en la carpeta NetBeans. Para su instalación debe ejecutar el archivo mencionado y seguir los pasos hasta concluir su instalación. Al final debe verificar en la carpeta mis documentos, que se haya creado una carpeta con el nombre NetBeansProjects, como se muestra en la figura C1. Figura C1. Carpeta de NetBeansProjects en mis documentos 3 Instalación de MySQL como gestor de apoyo. Existen varias formas para la instalación de MySQL, el usuario puede elegir la más conveniente según sus intereses. La forma que se utilizó en esta tesis es la siguiente: En la carpeta WampServer del DVD de la tesis se encuentran dos archivos WampServer2.0 y MySQL-Administrator1.3win, los cuales deben ejecutarse para su instalación y seguir los pasos hasta concluir. Cada vez que se encienda la computadora, debe ejecutar el servidor WampServer para arrancar los servicios del gestor de MySQL como se muestra en la figura C2. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES C2

136 Anexo C: Instalación de la herramienta de tesis Cabe hacer la observación de que si el servidor no está trabajando o no han sido arrancados sus servicios no podrá trabajar la herramienta, ya que hace uso de una base de datos como apoyo en sus procesos. Figura C2. Arrancar el servidor WampServer Una vez instalado MySQL se debe instalar la base de datos que se utiliza en los procesos de la herramienta de la tesis. En el DVD se incluye una carpeta con el nombre Base de datos, dentro de ella se encuentra una carpeta con el nombre KDD, esta carpeta se debe copiar a la siguiente dirección: C:\wamp\bin\mysql\mysql5.1.33\data. Una vez en el lugar adecuado, MySQL la reconoce como base de datos y puede ser ejecutada en la herramienta. 4 Instalación de gestores de bases de datos. El proyecto de tesis trabaja con tres gestores de bases de datos de software libre aparte de MySQL, los cuales son: Oracle, Sybase y PostgreSQL, para su instalación se incluyen los archivos en la carpeta Gestores de Bases de Datos, pero se recomienda apoyarse de un experto. SQL Server es el único gestor de software comercial con el que se trabaja. Para utilizarlo puede descargar la versión de prueba de la página de Microsoft. Una vez instalados para ser utilizados en red, es necesario configurar en cada gestor de base de datos el usuario y la dirección IP del equipo que se va a conectar. Si los gestores se van a trabajar de manera local, no es necesaria ninguna configuración. 5 Instalación de conectores de Java para gestores de bases de datos. El lenguaje Java para poder comunicarse con los diferentes gestores de bases de datos necesita un conector. En la carpeta del DVD Conectores para bases de datos, se incluyen los drivers para conexión con: Excel, MySQL, Oracle, Sybase, SQL Server y PostgreSQL. Cada archivo debe ser copiado y pegado en la dirección: C:\Program Files (x86)\java\jdk1.6.0_17\jre\lib\ext. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES C3

137 Anexo C: Instalación de la herramienta de tesis 6 Instalación de Weka. El programa de instalación se incluye en la carpeta Weka que se encuentra en el DVD de la tesis. Para facilitar su instalación y uso, se incluye un manual con el contenido exclusivo de Weka. 7 Instalación de Excel Mining. Excel Mining, es un componente de minería de datos para la herramienta Excel, existe un componente para la versión de Excel 2007 y otro componente para la versión Según la versión que se encuentre instalada en su equipo, es el componente que deberá utilizar. Cabe señalar que para que funcione Excel Mining, debe tener previamente instalado en su equipo el Servidor SQL Server y el Servidor de Analysis Services, ya que estos programas son los encargados de hacer minería en Excel. La función del componente de Excel Mining es unir las herramientas mencionadas. El componente se encuentra en la carpeta plugin de Excel Mining, en ella se agregan los dos componentes, para 2007 y Los archivos de instalación de SQL Server (versión de prueba) puede descargarlos de la página de la empresa. 8 Configuración de la herramienta de la tesis. Una vez configurados los siete puntos anteriores, ya se tiene lo necesario para el funcionamiento de la herramienta. Cabe señalar que aún no es ejecutable por sí sola, y se tiene que ejecutar en donde fue desarrollada. Se requiere copiar la carpeta kdd que viene incluida en el DVD, en la carpeta NetBeansProjects, la cual se encuentra en la carpeta mis documentos. Posteriormente ejecutar el programa NetBeans y automáticamente carga el proyecto kdd, para ejecutarlo solo seleccionar el archivo portada, botón derecho del mouse y ejecutar, como se muestra en la figura C3. En los anexos siguientes, se explica el funcionamiento y la construcción del código. Figura C3. Ejecución del proyecto Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES C4

138 Anexo D: Extracción y transformación de datos Anexo D Extracción y transformación de datos Para el proceso de extracción de datos, se desarrolló una interfaz gráfica que permiten la conexión a distintos manejadores de bases de datos, una vez conectado realiza un recorrido por los datos y metadatos de la tabla, en ese recorrido se verifica el dato y el tipo de dato al que pertenece y aplica una equivalencia de tipo de dato si es necesaria, esto es con el propósito de hacerlo compatible con el manejador de bases de datos MySQL, en el que se va a construir el almacén destino. Los gestores de bases de datos compatibles con la herramienta son: MySQL, PostgreSQL, Oracle, Sybase y SQL Server, las actividades que se llevaron a cabo son las siguientes: 9. Interfaz de extracción y transformación. 10.Código de conexión a los diferentes DBMS. 11.Código de extracción con MySQL. 12.Código de extracción con PostgreSQL. 13.Código de extracción con SQL Server. 14.Código de extracción con Oracle. 15.Código de extracción con Sybase. 16.Botones utilizados en las pantallas. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D1

139 Anexo D: Extracción y transformación de datos 1. Interfaz de extracción y transformación. En la figura D.1 se muestra la interfaz gráfica de extracción y transformación de datos, la cual se compone de dos áreas, la primera permite seleccionar el gestor de bases de datos y la segunda capturar los datos necesarios para la conexión. Figura D.1 Interfaz de extracción y transformación. 2. Código de conexión a los diferentes manejadores de bases de datos. Tabla D.1 Código para conectarse a los diferentes Manejadores de Bases de Datos //clases que deben importarse import java.lang.*; import java.sql.*; import javax.swing.*; import java.io.*; import javax.swing.table.defaulttablemodel; //variables globales que se deben declar public class creardwh extends javax.swing.jframe { static String bd = "kdd"; //variable de base de datos static String login = "root";//variable de el usuario static String password = "";//variable de contraseña static String url = "jdbc:mysql://localhost/"+bd; //URL para conectarse con MySQL static String url = "jdbc:postgresql://localhost/"+bd; //URL para conectarse con PostgreSQL static String url = "jdbc:sqlserver://localhost:1433;databasename="+bd; //URL conexión SQL Server static String url = //URL para conectarse con Oracle static String url = "jdbc:sybase:tds:localhost:5000/"+bd; //URL para conectarse con Sybase Connection conn = null; //variable de conexión Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D2

140 Anexo D: Extracción y transformación de datos //código de conexión dentro del constructor de la clase public creardwh() { initcomponents(); try { Class.forName("com.mysql.jdbc.Driver"); //obtenemos driver para MySQL Class.forName("org.postgresql.Driver"); //obtenemos driver para PostgreSQL DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.sqlserverdriver());//driver SQL Class.forName("oracle.jdbc.driver.OracleDriver");//obtenemos driver para Oracle Class.forName("com.sybase.jdbc3.jdbc.SybDriver");//obtenemos driver para Sybase //obtenemos la conexión conn = DriverManager.getConnection(url,login,password); //se verifica si tuvo éxito la conexión if (conn!=null) { JOptionPane.showMessageDialog(null, "Conexión Exitosa... \n Base de Datos MySQL: "+bd); else JOptionPane.showMessageDialog(null, "No se pudo conectar a la base de datos MySQL"); //Se atrapan las excepciones de posibles errores catch(sqlexception e) { System.out.println(e); catch(classnotfoundexception e) { System.out.println(e); 3. Código de extracción para MySQL. Tabla D.2 Código para extraer datos de MySQL private void cmdimportaractionperformed(java.awt.event.actionevent evt) { //se obtienen los valores de conexión de las cajas de texto y se asignan a las variables String sql, nomarch="",campo="",item="",tipodato="",estructura="",nestructura=""; int cont=0; dbms=jcombodbms.getselecteditem().tostring(); bd = txtbd.gettext(); login= txtusuario.gettext(); password = txtcontrasena.gettext(); servidor=txtservidor.gettext(); tabla=txttabla.gettext(); tablashema=txttablashema.gettext(); if (dbms.equals("mysql")) { //código para MySQL url = "jdbc:mysql://"+servidor+":3306/"+bd; try { Class.forName("com.mysql.jdbc.Driver"); //se obtiene el driver para conectar con MySQL conn = DriverManager.getConnection(url,login,password); //se obtiene la conexión if (conn!= null) { //se verifica si tuvo éxito la conexión sql=""; JOptionPane.showMessageDialog(null,"Conexión Exitosa a Bases de Datos MySQL"); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D3

141 Anexo D: Extracción y transformación de datos //se utiliza un JChooser para el nombre de los archivos a exportar // asegura que la extensión sea TXT JFileChooser dialogo = new JFileChooser(); FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showsavedialog(jinternalframe3); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); //se obtiene el nombre del archivo y la ruta donde se van a guardar los datos nomarch=rutanueva; cont=0; //se prepara el nombre del archivo con la estructura de metadatos int longitud=nomarch.length(); // se calcula la longitud int calcpos=longitud-4; //se obtiene la posición de los últimos 3 elementos del texto String substr=nomarch.substring(0,calcpos); //se substraen los 3 caracteres derechos //se crea el nombre del archivo de la estructura nestructura=substr+"_estrcutura.txt"; //se verifica si el nombre del archivo existe if (new File(nomarch).exists()) { JOptionPane.showMessageDialog(null,"Archivo ya existe, favor de proporcionar otro"); else { //se procede a crear el archivo PrintWriter stdout = new PrintWriter(new FileWriter(nomarch)); PrintWriter stdout2 = new PrintWriter(new FileWriter(nestructura)); Statement s2 = conn.createstatement(); //se realiza la consulta. ResultSet rs2 = s2.executequery("select * from "+tabla); //abrimos la conexión y la iniciamos Statement s1 = conn.createstatement(); //SQL para entrar a la estructura de la tabla sql="select * FROM information_schema.columns WHERE table_name = '"+tabla+"' AND table_schema='"+bd+"'"; int contx=0; int contestruct=0; //se utilizan 2 ciclos anidados para el recorrido de la estructura y datos while(rs2.next()) { //primer ciclo recorre datos contx=0; item=""; item=item+","; ResultSet rs1 = s1.executequery(sql); while(rs1.next()) { //segundo ciclo recorre metadatos campo=(rs1.getstring("column_name")); tipodato=(rs1.getstring("data_type")); if (contestruct==0) { estructura="campo: "+campo+", Tipo de dato: "+tipodato; stdout2.println(estructura); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D4

142 Anexo D: Extracción y transformación de datos if (contx==0) //se aplican equivalencies de tipos de datos if (tipodato.equals("varchar") tipodato.equals("char") tipodato.equals("text") tipodat o.equals("tinytext")) item=item + rs2.getstring(campo); else { if(tipodato.equals("boolean")) item=item + rs2.getboolean(campo); if(tipodato.equals("bigint")) item=item + rs2.getbigdecimal(campo); if(tipodato.equals("float") tipodato.equals("double")) item=item + rs2.getdouble(campo); if(tipodato.equals("int") tipodato.equals("decimal") tipodato.equals("tinyint") tipodato.equals("mediumint")) item=item + rs2.getint(campo); if(tipodato.equals("date") tipodato.equals("datetime")) item=item + rs2.getdate(campo); if(tipodato.equals("time")) item=item + rs2.gettime(campo); else if (tipodato.equals("varchar") tipodato.equals("char") tipodato.equals("text") tipo dato.equals("tinytext")) item=item +","+ rs2.getstring(campo); else { if(tipodato.equals("boolean")) item=item+"," + rs2.getboolean(campo); if(tipodato.equals("bigint")) item=item+"," + rs2.getbigdecimal(campo); if(tipodato.equals("float") tipodato.equals("double")) item=item+"," + rs2.getdouble(campo); if(tipodato.equals("int") tipodato.equals("decimal") tipodato.equals("tinyint") tipodato.equals("mediumint")) item=item+"," + rs2.getint(campo); if(tipodato.equals("date") tipodato.equals("datetime")) { item=item+"," + rs2.getdate(campo); if(tipodato.equals("time")) item=item+"," + rs2.gettime(campo); contx=contx+1; stdout.println(item); contestruct=contestruct+1; stdout.close(); stdout2.close(); JOptionPane.showMessageDialog(null,"Archivos Transferidos con éxito"); else JOptionPane.showMessageDialog(null,"Conexión Fallida a la Base de Datos MySQL"); catch (Exception e) { JOptionPane.showMessageDialog(null,"Error en el nombre de la tabla o base de datos"+e); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D5

143 Anexo D: Extracción y transformación de datos 4. Código de extracción para PostgreSQL. Tabla D.3 Código para extraer datos de PostgreSQL if (dbms.equals("postgresql")) { url = "jdbc:postgresql://"+servidor+":5432/"+bd; try { //se obtiene el driver para conectar con PostgreSQL Class.forName("org.postgresql.Driver"); //se obtiene la conexión conn = DriverManager.getConnection(url,login,password); if (conn!= null) { sql=""; JOptionPane.showMessageDialog(null,"Conexión Exitosa a Bases de Datos PostgreSQL"); //carga el archivo con un JChooser JFileChooser dialogo = new JFileChooser(); FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showsavedialog(jinternalframe3); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); nomarch=rutanueva; cont=0; //se prepara el nombre del archivo de metadatos int longitud=nomarch.length(); // se calcula la longitud int calcpos=longitud-4; //se obtiene la posición de los últimos 3 elementos String substr=nomarch.substring(0,calcpos); //se substraen los 3 caracteres derechos //se crea el nombre del archivo de la estructura nestructura=substr+"_estrcutura.txt"; if (new File(nomarch).exists()) { JOptionPane.showMessageDialog(null,"Archivo existe, favor de proporcionar otro"); else { //creamos el archivo PrintWriter stdout = new PrintWriter(new FileWriter(nomarch)); PrintWriter stdout2 = new PrintWriter(new FileWriter(nestructura)); Statement s2 = conn.createstatement(); // se realiza la consulta de los datos ResultSet rs2 = s2.executequery("select * from "+tablashema+"."+tabla); //abrimos la conexión y la iniciamos Statement s = conn.createstatement(); //consulta los metadatos sql="select * FROM information_schema.columns WHERE table_name = '"+tabla+"' AND table_schema='"+tablashema+"'"; int contx=0; int contestruct=0; //se requieren 2 ciclos anidados para recorrer datos y metadatos while (rs2.next()) { contx=0; item=""; item=item+","; ResultSet rs = s.executequery (sql); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D6

144 Anexo D: Extracción y transformación de datos while ( rs.next()) { campo=(rs.getstring("column_name")); tipodato=(rs.getstring("data_type")); if (contestruct==0) { estructura="campo: "+campo+", Tipo de dato: "+tipodato; stdout2.println(estructura); if (contx==0) //se aplican equivalencia de datos if (tipodato.equals("char") tipodato.equals("character") tipodato.equals("character varying") tipodato.equals("text")) //verifican tipos de datos texto item=item + rs2.getstring(campo); else {//verifican tipos de datos numéricos if(tipodato.equals("boolean")) item=item + rs2.getboolean(campo); if(tipodato.equals("bigint")) item=item + rs2.getbigdecimal(campo); if(tipodato.equals("integer") tipodato.equals("smallint")) item=item + rs2.getint(campo); if(tipodato.equals("real") tipodato.equals("double precision")) item=item + rs2.getdouble(campo); if(tipodato.equals("date")) item=item + rs2.getdate(campo); if(tipodato.equals("reltime") tipodato.equals("time with time zone")) item=item + rs2.gettime(campo); else { //mismo recorrido anterior solo se incrementan las comas en la salida if (tipodato.equals("char") tipodato.equals("character") tipodato.equals("character varying") tipodato.equals("text")) item=item +","+ rs2.getstring(campo); else { if(tipodato.equals("boolean")) item=item+"," + rs2.getboolean(campo); if(tipodato.equals("bigint")) item=item+"," + rs2.getbigdecimal(campo); if(tipodato.equals("integer") tipodato.equals("smallint")) item=item+"," + rs2.getint(campo); if(tipodato.equals("real") tipodato.equals("double precision")) item=item+"," + rs2.getdouble(campo); if(tipodato.equals("date")) item=item+"," + rs2.getdate(campo); if(tipodato.equals("reltime") tipodato.equals("time with time zone")) item=item+"," + rs2.gettime(campo); contx=contx+1; stdout.println(item); contestruct=contestruct+1; stdout.close(); stdout2.close(); JOptionPane.showMessageDialog(null,"Archivos Transferidos con éxito"); else JOptionPane.showMessageDialog(null,"Conexión Fallida a la Base de Datos PostgreSQL"); catch (Exception e) { JOptionPane.showMessageDialog(null,"Error en el nombre de la tabla o base de datos"+e); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D7

145 Anexo D: Extracción y transformación de datos 5. Código de extracción para SQL Server. Tabla D.4 Código para extraer datos de SQL Server if (dbms.equals("sqlserver")) { url = "jdbc:sqlserver://"+servidor+":1433;databasename="+bd; try { //se obtiene el driver para conectar con SQLServer DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.sqlserverdriver()); conn = DriverManager.getConnection(url,login,password); //se obtiene la conexión if (conn!= null) { //se verifica si se conectó o no sql=""; JOptionPane.showMessageDialog(null,"Conexión Exitosa a B.D. SQLServer"); //carga el archivo con un JChooser JFileChooser dialogo = new JFileChooser(); FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showsavedialog(jinternalframe3); //se toma el nombre del archivo del JChooser if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); nomarch=rutanueva; cont=0; //se prepara el nombre del archivo para los metadatos int longitud=nomarch.length(); // Se calcula la longitud int calcpos=longitud-4; // Se obtiene la posicion de los ultimos 3 elementos String substr=nomarch.substring(0,calcpos); // Se substraen los 3 caracteres derechos nestructura=substr+"_estrcutura.txt"; //se verifica que el archivo no exista if (new File(nomarch).exists()) { JOptionPane.showMessageDialog(null,"Archivo existe, favor de proporcionar otro"); else { //creamos el archivo PrintWriter stdout = new PrintWriter(new FileWriter(nomarch)); PrintWriter stdout2 = new PrintWriter(new FileWriter(nestructura)); Statement s2 = conn.createstatement(); // se realiza la consulta. ResultSet rs2 = s2.executequery("select * from "+bd+".dbo."+tabla); //abrimos la conexión y la iniciamos Statement s = conn.createstatement(); sql="select * FROM information_schema.columns WHERE table_name = '"+tabla+"'"; int contx=0; int contestruct=0; while (rs2.next()) { //se requieren 2 ciclos para obtener datos y metadatos contx=0; item=""; item=item+","; ResultSet rs = s.executequery (sql); while ( rs.next()) { campo=(rs.getstring("column_name")); tipodato=(rs.getstring("data_type")); //JOptionPane.showMessageDialog(null,"El tipo de datos es: "+tipodato); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D8

146 Anexo D: Extracción y transformación de datos if (contestruct==0) { estructura="campo: "+campo+", Tipo de dato: "+tipodato; stdout2.println(estructura); if (contx==0) { //Se aplican equivalencias de tipos de datos if (tipodato.equals("char") tipodato.equals("nchar") tipodato.equals("nvarchar") tipodato.equals("text") tipodato.equals("varchar")) item=item + rs2.getstring(campo); else { if(tipodato.equals("bigint")) item=item + rs2.getbigdecimal(campo); if(tipodato.equals("decimal") tipodato.equals("int") tipodato.equals("numeric ") tipodato.equals("smallint") tipodato.equals("tinyint")) item=item + rs2.getint(campo); if(tipodato.equals("float") tipodato.equals("real")) item=item + rs2.getdouble(campo); if(tipodato.equals("date") tipodato.equals("datetime") tipodato.equals("dateti meoffset")) item=item + rs2.getdate(campo); if(tipodato.equals("time")) item=item + rs2.gettime(campo); else { if (tipodato.equals("char") tipodato.equals("nchar") tipodato.equals("nvarchar") tip odato.equals("text") tipodato.equals("varchar")) item=item +","+ rs2.getstring(campo); else { if(tipodato.equals("bigint")) item=item+"," + rs2.getbigdecimal(campo); if(tipodato.equals("decimal") tipodato.equals("int") tipodato.equals("numeric" ) tipodato.equals("smallint") tipodato.equals("tinyint")) item=item+"," + rs2.getint(campo); if(tipodato.equals("float") tipodato.equals("real")) item=item+"," + rs2.getdouble(campo); if(tipodato.equals("date") tipodato.equals("datetime") tipodato.equals("dateti meoffset")) item=item+"," + rs2.getdate(campo); if(tipodato.equals("time")) item=item+"," + rs2.gettime(campo); contx=contx+1; stdout.println(item); contestruct=contestruct+1; stdout.close(); stdout2.close(); JOptionPane.showMessageDialog(null,"Archivos Transferidos con exito"); else JOptionPane.showMessageDialog(null,"Conexión Fallida a la Base de Datos PostgreSQL"); catch (Exception e) { JOptionPane.showMessageDialog(null,"Error en el nombre de la tabla o base de datos"+e); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D9

147 Anexo D: Extracción y transformación de datos 6. Código de extracción para Oracle. Tabla D.5 Código para extraer datos de Oracle if (dbms.equals("oracle")) { url = try {//se obtiene el driver para conectar con Oracle Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection(url,login,password); //se obtiene la conexión if (conn!= null) { sql=""; JOptionPane.showMessageDialog(null,"Conexión Exitosa a Bases de Datos Oracle"); //carga el archivo con un JChooser JFileChooser dialogo = new JFileChooser(); FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showsavedialog(jinternalframe3); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); nomarch=rutanueva; cont=0; //se prepara el nombre del archivo de metadatos int longitud=nomarch.length(); //se calcula la longitud int calcpos=longitud-4; //se obtiene la posición de los últimos 3 elementos String substr=nomarch.substring(0,calcpos); //se substraen los 3 caracteres derechos nestructura=substr+"_estrcutura.txt"; if (new File(nomarch).exists()) { //se verifica si ya existe el archivo JOptionPane.showMessageDialog(null,"Archivo existe, favor de proporcionar otro"); else { //creamos el archivo PrintWriter stdout = new PrintWriter(new FileWriter(nomarch)); PrintWriter stdout2 = new PrintWriter(new FileWriter(nestructura)); Statement s2 = conn.createstatement(); //se realiza la consulta para el recorrido de los datos ResultSet rs2 = s2.executequery("select * FROM SYS."+tabla); //abrimos la conexión y la iniciamos Statement s = conn.createstatement(); tabla=tabla.touppercase(); //creamos el sql de la consulta para los metadatos sql="select column_name, data_type, data_length FROM all_tab_columns WHERE table_name = '"+tabla+"' order by column_id "; int contx=0, contestruct =0; while (rs2.next()) { //2 ciclos anidados para el recorrido de datos y metadatos contx=0; item=""; item=item+","; ResultSet rs = s.executequery (sql); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D10

148 Anexo D: Extracción y transformación de datos while ( rs.next()) { campo=(rs.getstring("column_name")); tipodato=(rs.getstring("data_type")); if (contestruct==0) { estructura="campo: "+campo+", Tipo de dato: "+tipodato; stdout2.println(estructura); if (contx==0) //se aplican equivalencias de tipos de datos if (tipodato.equals("varchar2")) item=item + rs2.getstring(campo); else { if(tipodato.equals("integer")) item=item + rs2.getint(campo); if(tipodato.equals("number")) item=item + rs2.getdouble(campo); if(tipodato.equals("date")) item=item + rs2.getdate(campo); else if (tipodato.equals("varchar2")) item=item +","+ rs2.getstring(campo); else { if(tipodato.equals("integer")) item=item+"," + rs2.getint(campo); if(tipodato.equals("number")) item=item+"," + rs2.getdouble(campo); if(tipodato.equals("date")) item=item+"," + rs2.getdate(campo); contx=contx+1; stdout.println(item); contestruct=contestruct+1; stdout.close(); stdout2.close(); JOptionPane.showMessageDialog(null,"Archivo Transferidos con éxito"); else JOptionPane.showMessageDialog(null,"Conexión Fallida a la Base de Datos MySQL"); catch (Exception e) { JOptionPane.showMessageDialog(null,"Error en el nombre de la tabla o base de datos"+e); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D11

149 Anexo D: Extracción y transformación de datos 7. Código de extracción para Sybase. Tabla D.6 Código para extraer datos de Sybase if (dbms.equals("sybase")) { url = "jdbc:sybase:tds:localhost:5000/"+bd; try { //se obtiene el driver de Sybase Class.forName("com.sybase.jdbc3.jdbc.SybDriver"); conn = DriverManager.getConnection(url,login,password); //obtenemos la conexión if (conn!= null) { sql=""; JOptionPane.showMessageDialog(null,"Conexión Exitosa a Bases de Datos Sybase"); JFileChooser dialogo = new JFileChooser(); //carga el archivo con un JChooser FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showsavedialog(jinternalframe3); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); nomarch=rutanueva; cont=0; //se prepara el nombre del archivo de metadatos int longitud=nomarch.length(); //se calcula la longitud int calcpos=longitud-4; //se obtiene la posición de los últimos 3 elementos String substr=nomarch.substring(0,calcpos); //se substraen los 3 caracteres derechos nestructura=substr+"_estrcutura.txt"; //se crea el nombre del archivo de la estructura if (new File(nomarch).exists()) { JOptionPane.showMessageDialog(null,"Archivo ya existe, Proporcionar otro"); else { //creamos el archivo PrintWriter stdout = new PrintWriter(new FileWriter(nomarch)); PrintWriter stdout2 = new PrintWriter(new FileWriter(nestructura)); Statement s2 = conn.createstatement(); //se realiza la consulta. ResultSet rs2 = s2.executequery("select * from "+tabla); //abrimos la conexión y la iniciamos Statement s = conn.createstatement(); //SQL para metadatos sql="select * FROM "+bd+".dbo.syscolumns WHERE id=(select id FROM "+bd+".dbo.sysobjects WHERE name='"+tabla+"')"; int contx=0; int contestruct=0; while (rs2.next()) { contx=0; item=""; item=item+","; ResultSet rs = s.executequery (sql); while ( rs.next()) { campo=(rs.getstring("name")); tipodato=(rs.getstring("type")); //verificación de tipos de datos basadas en código numérico Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D12

150 Anexo D: Extracción y transformación de datos if (contestruct==0) { if (tipodato.equals("35")) estructura="campo: "+campo+", Tipo de dato: Text"; if (tipodato.equals("39")) estructura="campo: "+campo+", Tipo de dato: Varchar"; if (tipodato.equals("47")) estructura="campo: "+campo+", Tipo de dato: Char"; if (tipodato.equals("56")) estructura="campo: "+campo+", Tipo de dato: Integer"; if (tipodato.equals("38") tipodato.equals("56")) estructura="campo: "+campo+", Tipo de dato: Integer"; if (tipodato.equals("106")) estructura="campo: "+campo+", Tipo de dato: Decimal (Integer)"; if (tipodato.equals("108")) estructura="campo: "+campo+", Tipo de dato: Numeric (Integer)"; if (tipodato.equals("109")) estructura="campo: "+campo+", Tipo de dato: float"; if (tipodato.equals("123") tipodato.equals("49")) estructura="campo: "+campo+", Tipo de dato: Date"; if (tipodato.equals("61") tipodato.equals("111")) estructura="campo: "+campo+", Tipo de dato: Datetime"; if (tipodato.equals("147")) estructura="campo: "+campo+", Tipo de dato: Time"; stdout2.println(estructura); if (contx==0) if ((tipodato.equals("35")) (tipodato.equals("39")) (tipodato.equals("47"))) item=item + rs2.getstring(campo); else { if((tipodato.equals("38")) (tipodato.equals("56")) (tipodato.equals("106")) (tip odato.equals("108"))) item=item + rs2.getint(campo); if((tipodato.equals("109"))) item=item + rs2.getfloat(campo); if((tipodato.equals("123")) (tipodato.equals("49")) (tipodato.equals("61")) tip odato.equals("111")) item=item + rs2.getdate(campo); if((tipodato.equals("147"))) item=item + rs2.gettime(campo); else if ((tipodato.equals("35")) (tipodato.equals("39")) (tipodato.equals("47"))) item=item +","+ rs2.getstring(campo); else { if((tipodato.equals("38")) (tipodato.equals("56")) (tipodato.equals("106")) (tip odato.equals("108"))) item=item+"," + rs2.getint(campo); if((tipodato.equals("109"))) item=item+"," + rs2.getfloat(campo); if((tipodato.equals("123")) (tipodato.equals("49")) (tipodato.equals("61")) tip odato.equals("111")) Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D13

151 Anexo D: Extracción y transformación de datos item=item+"," + rs2.getdate(campo); if((tipodato.equals("147"))) item=item+"," + rs2.gettime(campo); contx=contx+1; stdout.println(item); contestruct=contestruct+1; stdout.close(); stdout2.close(); JOptionPane.showMessageDialog(null,"Archivo Transferidos con éxito"); else JOptionPane.showMessageDialog(null,"Conexión Fallida a la Base de Datos Sybase"); catch (Exception e) { JOptionPane.showMessageDialog(null,"Error en el nombre de la tabla o base de datos"+e); 8. Botones utilizados en la pantalla de extracción de datos. Se crearon 3 procesos para la interfaz de extracción de datos, cada proceso está representado por un botón con una imagen o icono, que al pulsarlo ejecuta una acción dentro de la interfaz, los botones son: extraer, nuevo, y salir, observar la tabla D.7 con los objetos. Tabla D.7 Botones en la pantalla de extracción de datos. Icono Pantalla de extracción y transformación de datos El botón permite conectarse al manejador de bases de datos seleccionado y extraer la información de una tabla especifica a través de dos archivos, uno los datos y el segundo los metadatos. Limpia las cajas de texto Sale de la aplicación y regresa al menú principal Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES D14

152 Anexo D: Extracción y transformación de datos Anexo E Construcción de almacenes de datos (Staging Area, Data Mart, Data Warehouse) En la construcción de los almacenes de datos (Staging Area, DataMart, Data Warehouse) fue utilizado el gestor de bases de datos MySQL y se desarrollaron varias aplicaciones en Java para su administración. En este apartado, se describen cada uno de los procesos, pantallas y códigos, que permiten construir y administrar los almacenes de datos. A continuación se mencionan los puntos que contiene este anexo. 1. Construcción de bases de datos del Data Warehouse. 2. Construcción de tablas del Data Warehouse. 3. Construcción de campos del Data Warehouse. 4. Botones utilizados en las pantallas del Data Warehouse. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E1

153 Anexo E: Construcción de almacenes de datos 1. Construcción de bases de datos del Data Warehouse. En la figura E.1 se muestra la interfaz gráfica que construye físicamente estructuras de bases de datos en MySQL y administra los metadatos de forma sincronizada entre el DBMS y la base de datos de control. Figura E.1 Construcción de Bases de datos En la tabla E1, se incluye el código del proceso de guardar, el cual es el encargado de construir las estructuras de los almacenes, los otros procesos los podrá consultar en el DVD que se anexa en la tesis. Tabla E.1 Código para crear las bases de datos del Data Warehouse en MySQL. private void cmdguardaractionperformed(java.awt.event.actionevent evt) { //declaración de variables locales int id,ht,ch; String nombre; float salario; //verifica si están vacías las cajas de captura if ((txtid.gettext().equals("")) (txtnombre.gettext().equals(""))) { JOptionPane.showMessageDialog(null,"No debe haber campos vacíos, verifique su captura..."); else { try { Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E2

154 Anexo E: Construcción de almacenes de datos //se cargan las variables id y nombre de la BD id=integer.parseint(txtid.gettext()); nombre=txtnombre.gettext(); //se registra el Driver de MySQL y se conecta DriverManager.registerDriver(new org.gjt.mm.mysql.driver()); conn = DriverManager.getConnection (url,login,password); // se verifica que la conexión sea correcta if (conn!= null) { //verifica que el campo no se repita en la misma tabla Statement sv = conn.createstatement(); ResultSet rsv = sv.executequery ("SELECT * FROM tabla_bd WHERE nombre_bd='"+nombre+"'"); if (!rsv.next()) { int rows_updated = 0; PreparedStatement stmt1 = conn.preparestatement("insert INTO tabla_bd (id_bd, nombre_bd) " + "VALUES (?,?)"); stmt1.setint(1,id); // id llave primaria stmt1.setstring(2,nombre); //nombre de la BD rows_updated = stmt1.executeupdate(); JOptionPane.showMessageDialog(null,"Se ha registrado el nombre de la Base de Datos"); //se obtiene la conexión y se construye la base de datos en el gestor conn = DriverManager.getConnection(url,login,password); Statement st = conn.createstatement(); st.executeupdate("create database " + nombre); JOptionPane.showMessageDialog(null,"Se ha construido la base de datos en el DBMS"); else { JOptionPane.showMessageDialog(null,"El nombre de la Base de Datos ya existe, favor de proporcionar otro"); catch(sqlexception ex) { JOptionPane.showMessageDialog(null,"El error es causado por: +ex) Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E3

155 Anexo E: Construcción de almacenes de datos 2. Construcción de tablas del Data Warehouse. En la figura E.2 se muestra la interfaz gráfica que genera la construcción de tablas de las bases de datos en MySQL, las cuales son construidas con los metadatos que se extraen de las fuentes originales mediante los procesos ETL, además se lleva una administración sincronizada entre las estructuras reales y los metadatos. Figura E.2 Construcción de Tablas de las Bases de Datos. En la tabla E.2, se muestra el código de la aplicación. Primero debe seleccionar la base de datos en la cual se van a construir las tablas, después capturar los metadatos necesarios para su construcción. Tabla E.2 Código para crear las tablas de las bases de datos con los metadatos capturados. private void cmdguardaractionperformed(java.awt.event.actionevent evt) { //declaración de variables locales int id,idbd; String nombre; //validación del combo y campos vacíos int x=jcombobd.getselectedindex(); if ((txtid.gettext().equals ("")) (txtnombre.gettext().equals ("")) (x==-1) ) { JOptionPane.showMessageDialog(null,"Seleccione una base de datos y verifique que las cajas de texto no estén vacías...verifique su captura..."); else { //tomar el id y nombre de la base de datos dentro del combo int num=0; String texto=jcombobd.getselecteditem().tostring(); int longitud=texto.length(); //se calcula la longitud int calcpos=longitud-3; //valor de los últimos 3 elementos //se substraen los 3 caracteres del lado derecho String substr=texto.substring(calcpos); num=integer.parseint(substr.trim()); //tomar el nombre de la base de datos del combo String nombrebd=""; Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E4

156 Anexo E: Construcción de almacenes de datos //se substraen los 3 caracteres del lado derecho String substr2=texto.substring(0,calcpos); substr2=substr2.trim(); try { id=integer.parseint(txtid.gettext()); nombre=txtnombre.gettext(); //se registra el Driver de MySQL DriverManager.registerDriver(new org.gjt.mm.mysql.driver()); //se obtiene una conexión con la base de datos conn = DriverManager.getConnection (url,login,password); if (conn!= null) { //verifica que el campo no se repita en la misma tabla Statement sv = conn.createstatement(); ResultSet rsv = sv.executequery ("SELECT * FROM crear_tablas WHERE nombre_tabla='"+nombre+"' AND id_bd="+num); if (!rsv.next()) { //consulta para inserción de datos en la tabla int rows_updated = 0; PreparedStatement stmt1 = conn.preparestatement("insert INTO crear_tablas (id_tabla, nombre_tabla, id_bd) " + "VALUES (?,?,?)"); stmt1.setint(1,id); // id stmt1.setstring(2,nombre); //nombre de la tabla stmt1.setint(3,num); // id de la base de datos externa rows_updated = stmt1.executeupdate(); JOptionPane.showMessageDialog(null,"La tabla: "+nombre+ " Se registró en la Base de datos: " +substr2); //construcción de la tabla en el gestor String bd = substr2; String login = "root"; String password = ""; String url = "jdbc:mysql://localhost/"+bd; Connection conexion2 = DriverManager.getConnection (url,login,password); Statement st = conexion2.createstatement(); //consulta de construcción de la table en el gestor st.executeupdate("create table "+ nombre +" (id int auto_increment, primary key(id))"); JOptionPane.showMessageDialog(null,"La tabla ha sido construida en el DBMS con éxito"); conexion2.close(); conn.close(); else { JOptionPane.showMessageDialog(null,"El nombre de la tabla ya existe, favor de proporcionar otro"); catch(sqlexception ex) { JOptionPane.showMessageDialog(null,"El error es causado por: "+ex); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E5

157 Anexo E: Construcción de almacenes de datos 3. Construcción de campos de las tablas. En la figura E.3 se muestra la interfaz gráfica que genera la construcción de los campos en las tablas en MySQL, además se lleva la administración de forma sincronizada entre la estructuras y las tablas internas. Figura E.3 Construcción de campos en las tablas del Data Warehouse. En la tabla E.3, se incluye el código que realiza las diferentes tareas de esta pantalla. Primero debe seleccionar la base de datos y la tabla, luego agregar los campos requeridos. Tabla E.3 Código para crear los campos en las tablas. private void cmdguardaractionperformed(java.awt.event.actionevent evt) { int id,idtab; String nombre, tipodato, idtabla, tamano, idtablav, tipodatoe; //verifica si esta seleccionada la BD y la tabla if ((txtid.gettext().equals ("")) (txtnombre.gettext().equals ("")) (txtbd.gettext().equals ("")) (txttabla.gettext().equals ("")) ) { JOptionPane.showMessageDialog(null,"Seleccione base de datos, tabla y capture los datos. No deje casillas en blanco"); else { Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E6

158 Anexo E: Construcción de almacenes de datos //verifica que el campo no tenga el nombre de id nombre=txtnombre.gettext(); if (nombre.equals("id")) JOptionPane.showMessageDialog(null,"El campo id ya existe, favor de proporcionar otro nombre"); else { //tomar el id de la tabla dentro del combo try { //tomar id de la tabla int renglon = jttablas.getselectedrow(); int columna=jttablas.getselectedcolumn(); columna=0; idtabla = String.valueOf(jttablas.getValueAt(renglon, columna)); idtab=integer.parseint(idtabla); //tomar los datos de las cajas id=integer.parseint(txtid.gettext()); nombre=txtnombre.gettext(); tipodato=combotd.getselecteditem().tostring(); tipodatoe=tipodato; tamano=txttamano.gettext(); //equivalencia de datos externos con los datos de MySQL if (tipodato.equals("texto")) tipodato="varchar"; if (tipodato.equals("números enteros")) tipodato="int"; if (tipodato.equals("números con punto decimal")) tipodato="double"; if (tipodato.equals("fecha")) tipodato="date"; if (tipodato.equals("tiempo")) tipodato="time"; if (tipodato.equals("fecha y tiempo")) tipodato="datetime"; //validación del tamaño del tipo de dato varchar if (tipodato.equals("varchar")) { if (tamano.equals("")) tamano="50"; else { tamano="predefinido"; //se registra el Driver de MySQL y se hace la conexión DriverManager.registerDriver(new org.gjt.mm.mysql.driver()); conn = DriverManager.getConnection (url,login,password); if (conn!= null) { //verifica que el campo no se repita en la misma tabla Statement sv = conn.createstatement(); ResultSet rsv = sv.executequery ("SELECT * FROM tabla_camposdwh WHERE campo='"+nombre+"' AND id_tabla="+idtabla); idtablav=""; Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E7

159 Anexo E: Construcción de almacenes de datos if (!rsv.next()) { //graba campos en una tabla int rows_updated = 0; PreparedStatement stmt1 = conn.preparestatement("insert INTO tabla_camposdwh (id_campo, campo, tipo_dato, tipo_dato_equivalente, tamano, id_tabla) " + "VALUES (?,?,?,?,?,?)"); stmt1.setint(1,id); // id stmt1.setstring(2,nombre); // Nombre de la variable stmt1.setstring(3,tipodato); // Tipo de dato stmt1.setstring(4,tipodatoe); // Tipo de dato stmt1.setstring(5,tamano); // Tamano del tipo de dato stmt1.setint(6,idtab); // Id de la tabla rows_updated = stmt1.executeupdate(); JOptionPane.showMessageDialog(null,"El campo se registro en la tabla de control correctamente"); //busca idbd en la tabla de control Statement s = conn.createstatement(); ResultSet rs = s.executequery ("SELECT * FROM crear_tablas WHERE id_tabla="+idtab); String idbd=""; while (rs.next()) { idbd=rs.getstring("id_bd"); //busca el nombre de la base de datos Statement sbd = conn.createstatement(); ResultSet rsbd = sbd.executequery ("SELECT * FROM tabla_bd WHERE id_bd="+idbd); String nombrebd=""; while (rsbd.next()) { nombrebd=rsbd.getstring("nombre_bd"); //asigna los datos para conectarse a la base de datos y la tabla String bd = nombrebd; String login = "root"; String password = ""; String url = "jdbc:mysql://localhost/"+bd; //se conecta con los datos nuevos de bd, login y contraseña DriverManager.registerDriver(new org.gjt.mm.mysql.driver()); Connection conexion = DriverManager.getConnection (url,login,password); Statement sext = conexion.createstatement(); String sql=""; //formando el SQL de creación de campos en el DBMS String nombretab=txttabla.gettext(); if (tipodato.equals("varchar")) { sql="alter TABLE "+nombretab+" ADD " + nombre + " "+ tipodato + "("+tamano+")"; else { sql="alter TABLE "+nombretab+" ADD " + nombre + " "+tipodato; Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E8

160 Anexo E: Construcción de almacenes de datos //actualización de datos sext.executeupdate(sql); JOptionPane.showMessageDialog(null,"El campo se ha agregado a la tabla Exitosamente en el DBMS"); else { JOptionPane.showMessageDialog(null,"El nombre del campo ya existe, favor de proporcionar otro"); catch(sqlexception ex) { JOptionPane.showMessageDialog(null,"El error es causado por: "+ex); 4. Botones utilizados en la construcción de almacenes de datos. Se crearon ocho procesos que llevan el control y administración del flujo de datos de cada una de las pantallas del Data Warehouse, cada proceso está representado por un botón con una imagen o icono, que al pulsarlo ejecuta una acción dentro de la interfaz, los botones son: guardar, nuevo, editar, borrar, consultar, y salir, como se muestra en la tabla E.4. Icono Tabla E.4 Botones en las pantallas del Data Warehouse. Pantalla de Pantalla de construcción de construcción de Tablas Bases de Datos Construye estructuras de bases de datos y guarda metadatos Construye estructuras de tablas y guarda metadatos Pantalla de construcción de Campos Construye estructuras de tablas y guarda metadatos Limpia las cajas de texto e incrementa el valor de llave primaria Edita los datos de las bases de datos Edita los datos de las tablas Edita los datos de los campos Elimina las bases de datos y los metadatos Elimina las tablas y los metadatos Elimina los campos y los metadatos Muestra la información de las bases de datos construidas Muestra la información de las tablas construidas Muestra la información de los campos construidos. Sale de la aplicación y regresa al menú principal Permite seleccionar una base de datos Permite la selección de tablas Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES E9

161 Anexo F: Carga de datos al almacén Anexo F Carga de datos al almacén En este proceso se desarrolló una interfaz gráfica que permite cargar la información a los almacenes de datos destino, los cuales pueden ser Data Warehouse, Data Mart o Staging Area, dentro de los archivos que soporta el proceso de carga, se encuentran archivos de texto, archivos de hojas de cálculo con extensión CSV y archivos con formato XML. Para ejecutar el proceso se tienen tres etapas, primero se selecciona la base de datos y la tabla, la segunda carga los datos con formato de texto y hojas de cálculo y la tercera carga los datos con formato XML. La información a detalle se muestra en el siguiente orden. 1. Interfaz gráfica de carga de datos en procesos ETL. 2. Código para selección de base de datos y la tabla destino. 3. Código para la carga de archivos TXT o CSV en procesos ETL. 4. Código para la carga de archivos con formato XML en procesos ETL. 5. Botones utilizados en la pantalla de carga de datos. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F1

162 Anexo F: Carga de datos al almacén 1. Interfaz gráfica de carga de datos al almacén. En la figura F.1 se muestra la interfaz gráfica para la carga de datos a los almacenes indicados, esta actividad forma parte los procesos de ETL, el objetivo del proceso es cargar los datos en un una base de datos seleccionada con los archivos indicados, esta base de datos puede ser un Data Warehouse, un Data Mart o un Staging Area. Los archivos que soporta para cargar la información son archivos de texto, archivos de hojas de cálculo con formato CSV y archivos con formato XML. Figura F.1 Interfaz gráfica de carga de datos en procesos ETL. 2. Código para selección de base de datos y la tabla. Tabla F.1 Código para seleccionar las bases de datos y la tabla del almacén destino. //código para mostrar las diferentes bases de datos creadas private void jbutton1actionperformed(java.awt.event.actionevent evt) { jcombobd.removeallitems();//se limpian los datos del combo try { DriverManager.registerDriver(new org.gjt.mm.mysql.driver()); //registro del driver MySQL Connection conexion = DriverManager.getConnection (url,login,password); //conexión con bd Statement s = conexion.createstatement();//se crea un Statement para realizar la consulta ResultSet rs = s.executequery ("select * from tabla_bd"); //se realiza la consulta. String item; Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F2

163 Anexo F: Carga de datos al almacén while (rs.next()) { //ciclo para escribir la información en un jcombo item=(rs.getstring ("nombre_bd")); item=item+" "+(rs.getstring ("id_bd")); //se prepara el dato jcombobd.additem(item); //se visualiza en un combo la información conexion.close(); catch (Exception e) { e.printstacktrace(); //código para mostrar las diferentes tablas de la bases de datos seleccionada private void jbutton2actionperformed(java.awt.event.actionevent evt) { int x=jcombobd.getselectedindex(); if ((x==-1) ) { //se verifica que esté seleccionada una base de datos en el jcombo JOptionPane.showMessageDialog(null,"Seleccione una base de datos.."); else { //proceso para descomponer los datos del combo y tomar id y nombre de bd seleccionada int num=0; String texto=jcombobd.getselecteditem().tostring(); //se toma el string del combo int longitud=texto.length(); //se calcula la longitud int calcpos=longitud-3; //se obtiene la posición de los últimos 3 elementos String substr=texto.substring(calcpos); //se substraen los 3 caracteres del lado derecho num=integer.parseint(substr.trim()); //en la variable num queda el id String nombrebd=""; //tomar el nombre de la base de datos del combo String substr2=texto.substring(0,calcpos); //se substraen los 3 caracteres del lado derecho substr2=substr2.trim(); txtbd.settext(substr2); try { DriverManager.registerDriver(new org.gjt.mm.mysql.driver());//registro del driver MySQL Connection conexion = DriverManager.getConnection (url,login,password); //conectar BD Statement s = conexion.createstatement();// se crea un Statement, para realizar la consulta ResultSet rs = s.executequery ("select id_tabla, nombre_tabla FROM crear_tablas WHERE id_bd ="+num); //se realiza la consulta. //se reasigna el modelo en blanco DefaultTableModel modelo = new DefaultTableModel(); jttablas.setmodel(modelo); //creamos la columnas de nuestra tabla: modelo.addcolumn("id Tabla"); modelo.addcolumn("nombre Tabla"); //asigno el tamaño del arreglo con la cantidad de columnas: filas = new Object[modelo.getColumnCount()]; int numerocolumnas = modelo.getcolumncount(); while (rs.next()) { //escribo las filas: for(int i=0; i<numerocolumnas; i++){ //cantidad de columnas filas[i] = rs.getobject(i+1); modelo.addrow(filas); //escribo las filas del resultado SQL jttablas.setmodel(modelo); conexion.close();//se cierra la conexión con la base de datos. catch (Exception e) { e.printstacktrace(); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F3

164 Anexo F: Carga de datos al almacén 3. Código para la carga de archivos TXT o CSV en procesos ETL. Tabla F.2 Código para carga de archivos con extensión TXT y CSV. private void cmdguardaractionperformed(java.awt.event.actionevent evt) { if ((txtbd.gettext().equals("")) (txttabla.gettext().equals("")) ) { //valida combo y campos vacíos JOptionPane.showMessageDialog(null,"Seleccione una base de datos, una tabla y escriba la ruta y nombre del archivo a importar..."); else importar();//importa los archivos a la base de datos private void importar() { int cont=1; String nomarch,sql; JFileChooser dialogo = new JFileChooser(); //se le específica al JChooser que acepte solo las extensiones TXT y CSV FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); FileFilter filter2 = new ExtensionFileFilter("csv", new String[] { "CSV" ); dialogo.setfilefilter(filter1); dialogo.setfilefilter(filter2); int seleccion = dialogo.showopendialog(cmdimportarxml); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); nomarch=rutanueva; //se toma el nombre y la ruta del archivo del JChooser try { String bd = txtbd.gettext(); String login = "root"; String password = ""; String url = "jdbc:mysql://localhost/"+bd; conn = DriverManager.getConnection(url,login,password); //se conecta a base de datos destino Statement s = conn.createstatement(); String sfichero = nomarch; if (new File(nomarch).exists()) { //verificar si existe o no el archivo String nombretabla=""; nombretabla=txttabla.gettext(); JOptionPane.showMessageDialog(null,"La BD es: "+bd +" LA tabla es: "+nombretabla); // se prepara el SQL de carga del archivo a la tabla destino sql="load DATA LOCAL INFILE '"+ nomarch + "' INTO TABLE "+ nombretabla +" FIELDS TERMINATED BY ',' "; ResultSet rs = s.executequery(sql); paso=1; JOptionPane.showMessageDialog(null,"Archivo importado a la base de datos"); conn.close(); else JOptionPane.showMessageDialog(null,"No Existe el archivo, verifique sus datos"); catch (Exception e) { e.printstacktrace(); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F4

165 Anexo F: Carga de datos al almacén 4. Código para la carga de archivos con formato XML en procesos ETL. Tabla F.3 Código para cargar archivos con extensión XML. private void cmdimportarxmlactionperformed(java.awt.event.actionevent evt) { //validación del combo y campos vacíos if ((txtbd.gettext().equals("")) (txttabla.gettext().equals("")) ) { JOptionPane.showMessageDialog(null,"Seleccione una base de datos, una tabla y escriba la ruta y nombre del archivo a importar..."); Else { //importa los archivos de XML a la tabla destino importarxml(); public void importarxml() { int cont=1; String sql; //se prepara el JChooser para el formato XML JFileChooser dialogo = new JFileChooser(); FileFilter filter1 = new ExtensionFileFilter("xml", new String[] { "XML" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showopendialog(cmdimportarxml); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file = dialogo.getselectedfile(); String ruta; ruta=file.getabsolutepath(); String rutanueva = ruta.replace('\\','/'); String nomarch; nomarch=rutanueva; //se toma el nombre del archivo del JChooser try { //obtenemos el nombre de la base de datos seleccionada String bd = txtbd.gettext(); //se obtiene el nombre de la tabla a la cual van los datos String nombretabla=""; nombretabla=txttabla.gettext(); String idtabla; int renglon = jttablas.getselectedrow(); int columna=jttablas.getselectedcolumn(); columna=0; idtabla = String.valueOf(jttablas.getValueAt(renglon, columna)); //tomar valor del id de tabla //obtener los campos la tabla seleccionada ubicada en la tablacampos_dwh DriverManager.registerDriver(new org.gjt.mm.mysql.driver()); Connection conexion = DriverManager.getConnection (url,login,password); Statement s = conexion.createstatement(); ResultSet rs = s.executequery ("SELECT * FROM tabla_camposdwh WHERE id_tabla="+idtabla+" ORDER BY id_campo"); String sfichero = nomarch; if (new File(nomarch).exists()) //verifica si existe o no el archivo { //proceso de extracción de los datos del archivo xml DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dbuilder = dbfactory.newdocumentbuilder(); Document doc = dbuilder.parse(new File(nomarch)); doc.getdocumentelement().normalize(); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F5

166 Anexo F: Carga de datos al almacén //leer el primer elemento del xml el nodo del archivo JOptionPane.showMessageDialog(null,"Identificando el elemento raiz: " + doc.getdocumentelement().getnodename()); //se crea una estructura de datos de la tabla o etiqueta NodeList lista_tabla = doc.getelementsbytagname(nombretabla); //se calcula el total de etiquetas int totalpersonas = lista_tabla.getlength(); JOptionPane.showMessageDialog(null,"Numero de Etiquetas (registros) encontradas: " + totalpersonas); //establecemos la conexión con la base de datos String login = "root"; String password = ""; String url = "jdbc:mysql://localhost/"+bd; conn = DriverManager.getConnection(url,login,password); Statement s2 = conn.createstatement(); int contelementos=0; String sqlalta,sqlcomplemento; //se recorre la estructura de listapersonas como si fuera un vector for (int i = 0; i < lista_tabla.getlength(); i ++) { Node tabla = lista_tabla.item(i); if (tabla.getnodetype() == Node.ELEMENT_NODE) { //iniciamos el SQL de inserción contelementos=0; sqlalta="insert INTO "+nombretabla+" ("; sqlcomplemento=" VALUES ("; rs.beforefirst(); while (rs.next()) { //toma los elementos de las etiquetas Element elemento = (Element) tabla; String verdato=gettagvalue(rs.getstring ("campo"), elemento); if (contelementos==0) { sqlalta=sqlalta+rs.getstring ("campo"); //verifica si el dato que se extrae es un número o un String if (Datawarehouse.isNumeric(verdato)) sqlcomplemento=sqlcomplemento + gettagvalue(rs.getstring ("campo"), elemento); else sqlcomplemento=sqlcomplemento + "'" +gettagvalue(rs.getstring ("campo"), elemento)+"'"; else { sqlalta=sqlalta+","+rs.getstring ("campo"); //verifica si el dato que se extrae es un número o un String if (Datawarehouse.isNumeric(verdato)) sqlcomplemento=sqlcomplemento+","+gettagvalue(rs.getstring ("campo"), elemento); else sqlcomplemento=sqlcomplemento+", '"+gettagvalue(rs.getstring ("campo"), elemento)+"'"; contelementos=contelementos+1; sqlalta=sqlalta+")"; sqlcomplemento=sqlcomplemento+")"; s2.executeupdate(sqlalta+sqlcomplemento); Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F6

167 Anexo F: Carga de datos al almacén JOptionPane.showMessageDialog(null,"Los datos han sido importados con éxito al datawarehouse..."); // se cierra la conexión con la base de datos. conn.close(); else { JOptionPane.showMessageDialog(null,"No Existe el archivo, verifique sus datos"); catch (Exception e) { e.printstacktrace(); 5. Botones utilizados en la pantalla de carga de datos. Se crearon cinco procesos para la carga de datos, cada proceso está representado por un botón con una imagen o icono, que al pulsarlo ejecuta una acción dentro de la interfaz, los botones son: mostrar bases de datos, mostrar tablas, importar archivos TXT o CSV, importar archivos XML y salir, como se muestra en la tabla F.4 con los objetos. Tabla F.4 Botones utilizados en la pantalla de carga de datos de procesos ETL. Icono Pantalla de extracción y transformación de datos Muestra las bases de datos que son utilizadas como destino para almacenar información. Muestran las tablas que pertenecen a la base de datos seleccionada. Carga archivos con extensión TXT y CSV. Carga archivos con extensión XML. Sale de la aplicación y regresa al menú principal. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES F7

168 Anexo G: Preparación de datos a distintos formatos Anexo G Preparación de datos a distintos formatos (txt,xls,xml,arff) El proceso de preparación de datos a distintos formatos, está dividido en cuatros secciones, la primera consiste en transformar los datos a estructuras de archivos de texto con extensión TXT, la segunda transforma datos a archivos compatibles con hojas de cálculo con extensión XLS, la tercera prepara datos con una estructura de archivos ARFF de Weka y contiene agrupaciones clustering para el tipo de dato enumerado, y por último se transforman los datos en archivos con formato en XML. Los procesos y códigos se describen a continuación: 1. Interfaz gráfica para preparación de datos a distintos formatos. 2. Código para transformar datos a archivos de texto. 3. Código para transformar datos a archivos de hojas de cálculo. 4. Código para transformar datos a archivos compatibles con Weka con formato ARFF. 5. Código para transformar datos a archivos con formato XML. 6. Botones utilizados en las pantallas de transformación a archivos minables. Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES G1

169 Anexo G: Preparación de datos a distintos formatos 1. Interfaz gráfica para transformación de datos a archivos minables. En la figura G.1 se muestra la interfaz gráfica para la transformación de datos a diferentes formatos. Primero se debe elegir la base de datos y la tabla a transformar, posteriormente transformar datos a diferentes formatos, como: archivos de texto, archivos de hojas de cálculo, archivos de Weka y archivos XML, estas opciones se encuentran en los 4 objetos de la parte inferior izquierda de la figura. Figura G.1 Interfaz de preparación de datos a distintos formatos 2. Código para transformar datos a archivos de texto. Tabla G.1 Código para transformar datos a archivos de texto. private void cmdexportar1actionperformed(java.awt.event.actionevent evt) { String valor; if (txttotreg.gettext().equals("")) //se verifica si existen datos JOptionPane.showMessageDialog(null,"Debe generar una consulta del Datawarehouse."); else { int cont=1; //se establece en el jchooser la extensión TXT con la cual se va a trabajar JFileChooser dialogo = new JFileChooser(); FileFilter filter1 = new ExtensionFileFilter("txt", new String[] { "TXT" ); dialogo.setfilefilter(filter1); int seleccion = dialogo.showsavedialog(cmdexportarexcel); if(seleccion == JFileChooser.APPROVE_OPTION) { java.io.file file2 = dialogo.getselectedfile(); String ruta; Herramienta de preparación de datos para inteligencia de negocios orientada a la toma de decisiones para la PyMES G2

Sistema de análisis de información. Resumen de metodología técnica

Sistema de análisis de información. Resumen de metodología técnica Sistema de análisis de información Resumen de metodología técnica Tabla de Contenidos 1Arquitectura general de una solución de BI y DW...4 2Orígenes y extracción de datos...5 2.1Procesos de extracción...5

Más detalles

Inteligencia de Negocios Introducción. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS

Inteligencia de Negocios Introducción. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS Inteligencia de Negocios Introducción Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS Agenda 1.Introducción 2.Definición 3.ETL 4.Bodega de Datos 5.Data Mart

Más detalles

Business Intelligence (Inteligencia de Negocios) Bases de Datos Masivas (11088) Universidad Nacional de Luján

Business Intelligence (Inteligencia de Negocios) Bases de Datos Masivas (11088) Universidad Nacional de Luján Business Intelligence (Inteligencia de Negocios) Bases de Datos Masivas (11088) Universidad Nacional de Luján Qué es Business Intelligence (BI)? Se entiende por Business Intelligence al conjunto de metodologías,

Más detalles

Sistemas de Información para la Gestión. UNIDAD 2: RECURSOS DE TI Información y Aplicaciones

Sistemas de Información para la Gestión. UNIDAD 2: RECURSOS DE TI Información y Aplicaciones UNIDAD 2: RECURSOS DE TI Información y Aplicaciones UNIDAD 2: RECURSOS DE TI Información y Aplicaciones 1. La Información: Propiedades de la Información. Sistemas de Información. Bases de Datos. 2. Administración

Más detalles

SQL Server Business Intelligence parte 1

SQL Server Business Intelligence parte 1 SQL Server Business Intelligence parte 1 Business Intelligence es una de las tecnologías de base de datos más llamativas de los últimos años y un campo donde Microsoft ha formado su camino a través de

Más detalles

BUSINESS INTELLIGENCE. www.sbi-technology.com

BUSINESS INTELLIGENCE. www.sbi-technology.com BUSINESS INTELLIGENCE www.sbi-technology.com SBI Technology SRL Maipú 1492 Piso 2 S2000CGT - Rosario Rep. Argentina Tel: (54 341) 530 0815 www.sbi-technology.com Copyright - SBI Technology SRL - Todos

Más detalles

Cuáles son algunos de los padecimientos que enfrentan las empresas hoy día?

Cuáles son algunos de los padecimientos que enfrentan las empresas hoy día? Qué es Inteligencia de Negocios? Una interesante definición para inteligencia de negocios o BI, por sus siglas en inglés, según el Data Warehouse Institute, lo define como la combinación de tecnología,

Más detalles

RECURSOS DE TI Aplicaciones - Bibliografía FUNDAMENTOS DE LA INTELIGENCIA DE NEGOCIOS

RECURSOS DE TI Aplicaciones - Bibliografía FUNDAMENTOS DE LA INTELIGENCIA DE NEGOCIOS Sistemas de Información para la Gestión UNIDAD 3: RECURSOS DE TECNOLOGÍA DE INFORMACIÓN Aplicaciones UNIDAD 2: RECURSOS DE TI Aplicaciones 1. Administración de bases de datos e información: Sistemas de

Más detalles

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE

CARACTERISTICAS BASICAS DE LOS SMBD ORACLE Qué es una base de datos? Una base de datos es una herramienta para recopilar y organizar información. En las bases de datos, se puede almacenar información sobre personas, productos, pedidos, o cualquier

Más detalles

Inteligencia de Negocios. & Microsoft Excel 2013

Inteligencia de Negocios. & Microsoft Excel 2013 Inteligencia de Negocios (Business Intelligence - BI) & Microsoft Excel 2013 Instructor: Germán Zelada Contenido del Curso Fundamentos de Data Warehousing y BI Qué es Business Intelligence? Definiendo

Más detalles

Alicia Iriberri Dirección de Tecnologías de Información. I.- Definición del foco estratégico

Alicia Iriberri Dirección de Tecnologías de Información. I.- Definición del foco estratégico Alicia Iriberri Dirección de Tecnologías de Información I.- Definición del foco estratégico II.- Establecimiento de mediciones a través del Balanced Scorecard (Tablero de Comando) III.- Despliegue del

Más detalles

Fundamentos de la Inteligencia de Negocios

Fundamentos de la Inteligencia de Negocios Sistemas de Información para la Gestión UNIDAD 2: Infraestructura de Tecnología de la Información Unidad 2 Infraestructura de Tecnología de la Información Estructura de TI y tecnologías emergentes. Estructura

Más detalles

SISTEMAS DE INFORMACION GERENCIAL LIC.PATRICIA PALACIOS ZULETA

SISTEMAS DE INFORMACION GERENCIAL LIC.PATRICIA PALACIOS ZULETA SISTEMAS DE INFORMACION GERENCIAL LIC.PATRICIA PALACIOS ZULETA Qué es inteligencia de negocios? (BI) Business Intelligence es la habilidad para transformar los datos en información, y la información en

Más detalles

asired EIS Descripción de producto. Integración de Sistemas Explotación de Datos y Business Intelligence para la Pequeña y Mediana Empresa.

asired EIS Descripción de producto. Integración de Sistemas Explotación de Datos y Business Intelligence para la Pequeña y Mediana Empresa. asired EIS Integración de Sistemas Explotación de Datos y Business Intelligence. Descripción de producto. 2004 Así-Red Servicios Telemáticos, S.L.L. C/ Progreso, 36, 3º B 36202 Vigo Telf. 986 44 34 91

Más detalles

Diplomado en Inteligencia de Negocios Coordinador académico: Lic. Seth Pérez Melesio

Diplomado en Inteligencia de Negocios Coordinador académico: Lic. Seth Pérez Melesio Diplomado en Inteligencia de Negocios Coordinador académico: Lic. Seth Pérez Melesio Proporcionar a los participantes los conocimientos necesarios que les permitan entender, de una manera integral y objetiva,

Más detalles

Oracle Business Intelligence Suite Standard Edition One. Antonio Akiyama (antonio.akiyama@gbsperu.net) Consultor Senior Business Intelligence

Oracle Business Intelligence Suite Standard Edition One. Antonio Akiyama (antonio.akiyama@gbsperu.net) Consultor Senior Business Intelligence Oracle Business Intelligence Suite Standard Edition One Antonio Akiyama (antonio.akiyama@gbsperu.net) Consultor Senior Business Intelligence Desafíos actuales Visibilidad y Transparencia Rentabilidad,

Más detalles

Business Intelligence

Business Intelligence Business Intelligence Metodología > 1 Implantación tecnológica de un balanced scorecard Precio 1.000 Este curso introduce al alumno en la metodología de BSC y su implantación tecnológica para el seguimiento

Más detalles

SpagoBI Open Source Business Intelligence

SpagoBI Open Source Business Intelligence SpagoBI Open Source Business Intelligence La plataforma SpagoBI Open Source Business Intelligence Conceptos Inteligencia empresarial (Business Intelligence) es un agregado de aplicaciones y herramientas

Más detalles

Botón menú Objetivo de la Minería de datos.

Botón menú Objetivo de la Minería de datos. Titulo de Tutorial: Minería de Datos N2 Botón menú: Introducción. Las instituciones y empresas privadas coleccionan bastante información (ventas, clientes, cobros, pacientes, tratamientos, estudiantes,

Más detalles

INTELIGENCIA DE NEGOCIOS

INTELIGENCIA DE NEGOCIOS INTELIGENCIA DE NEGOCIOS En tiempos de incertidumbre financiera, la toma de decisiones basada en información es crucial para sobrevivir en el mundo de los negocios. Empresas de todas las industrias dependen

Más detalles

Datawarehouse. Ing. Adan Jaimes Jaimes. Datawarehouse

Datawarehouse. Ing. Adan Jaimes Jaimes. Datawarehouse 1 Ing. Adan Jaimes Jaimes 2 Conceptos : Repositorio completo de datos, donde se almacenan datos estratégicos, tácticos y operativos, al objeto de obtener información estratégica y táctica Data-Marts: Repositorio

Más detalles

Fundamentos de la Inteligencia de Negocios

Fundamentos de la Inteligencia de Negocios Universidad Nacional de Salta Facultad de Ciencias Económicas, Jurídicas y Sociales Sistemas de Información para la Gestión Fundamentos de la Inteligencia de Negocios Administración de Bases de Datos e

Más detalles

SQL Server 2014 Implementación de una solución de Business Intelligence (SQL Server, Analysis Services, Power BI...)

SQL Server 2014 Implementación de una solución de Business Intelligence (SQL Server, Analysis Services, Power BI...) Prólogo 1. A quién se dirige este libro? 15 2. Requisitos previos 15 3. Objetivos del libro 16 4. Notación 17 Introducción al Business Intelligence 1. Del sistema transaccional al sistema de soporte a

Más detalles

INFORME TECNICO PREVIO A DE EVALUACION DE SOFTWARE Nº 001-2008-REGIONCALLAO/GGR/OSIE

INFORME TECNICO PREVIO A DE EVALUACION DE SOFTWARE Nº 001-2008-REGIONCALLAO/GGR/OSIE INFORME TECNICO PREVIO A DE EVALUACION DE SOFTWARE Nº 001-2008-REGIONCALLAO/GGR/OSIE 1.GERENCIA: Gerencia General Regional. 2.OFICINA: Oficina de stemas, Informática y Estadística. 3. RESPONSABLES DE LA

Más detalles

DESARROLLO DE UNA APLICACIÓN DE BUSINESS INTELLIGENCE (BI) PARA LA EMPRESA EMPAQPLAST

DESARROLLO DE UNA APLICACIÓN DE BUSINESS INTELLIGENCE (BI) PARA LA EMPRESA EMPAQPLAST DESARROLLO DE UNA APLICACIÓN DE BUSINESS INTELLIGENCE (BI) PARA LA EMPRESA EMPAQPLAST Byron Alejandro Boada Vargas-Machuca, Alvaro Arturo Tituaña Burgos, Ing. Lorena Duque, Ing. Patricio Reyes. RESUMEN

Más detalles

Unidad 5. Conceptos y Estructuras de Archivos

Unidad 5. Conceptos y Estructuras de Archivos Unidad 5 Conceptos y Estructuras de Archivos En todos los tiempos y más aún en la era en que vivimos, el hombre tiene cada vez mas necesidad de consultar una mayor cantidad de información para poder desarrollar

Más detalles

Diseño de almacén de datos para el análisis eficiente de la información de incidentes informáticos y mantenimientos.

Diseño de almacén de datos para el análisis eficiente de la información de incidentes informáticos y mantenimientos. Diseño de almacén de datos para el análisis eficiente de la información de incidentes informáticos y mantenimientos. Ing. Corso Cynthia, Ing. Luque Claudio, Ing. Ciceri Leonardo, Sr Donnet Matías Grupo

Más detalles

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS COORDINACIÓN DE EXTENSIÓN

UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS COORDINACIÓN DE EXTENSIÓN UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS COORDINACIÓN DE EXTENSIÓN PROPUESTA PARA INTRODUCIR CURSOS DE EXTENSIÓN, DIPLOMADOS, SERVICIOS Y ACTUALIZACIONES TÉCNICAS Y PROFESIONALES Nombre (s)

Más detalles

Tecnologías de la Información en la Gestión Empresarial

Tecnologías de la Información en la Gestión Empresarial Tecnologías de la Información en la Gestión Empresarial 1 Sesión No.8 Nombre: Procesos de Negocio y Gestión en Business Intelligence Objetivo: Al término de la sesión, el alumno ilustrará un proceso de

Más detalles

Cátedra: BI Business Intelligence. Asignatura BI Business Intelligence Ciclo Lectivo 2012 Vigencia del Ciclo lectivo 2012.

Cátedra: BI Business Intelligence. Asignatura BI Business Intelligence Ciclo Lectivo 2012 Vigencia del Ciclo lectivo 2012. Asignatura BI Business Intelligence Ciclo Lectivo 2012 Vigencia del Ciclo lectivo 2012 programa Plan 2008 Área Complementaria Carga horaria semanal Anual/ cuatrimestral Coordinador de Cátedra Objetivos

Más detalles

Carrera: Ingeniería en Sistemas Computacionales. Prof.: Ing. Francisco Salvador Ballina. Materia: Taller de Base de Datos.

Carrera: Ingeniería en Sistemas Computacionales. Prof.: Ing. Francisco Salvador Ballina. Materia: Taller de Base de Datos. INSTITUTO TECNOLÓGICO SUPERIOR DE ESCARCEGA. Carrera: Ingeniería en Sistemas Computacionales. Prof.: Ing. Francisco Salvador Ballina. Materia: Taller de Base de Datos. Tema: VENTAJAS Y DESVENTAJAS DE POSTGRESQL,

Más detalles

CAPITULO 7. MS SQL Server Express Edition

CAPITULO 7. MS SQL Server Express Edition CAPITULO 7 MS SQL Server Express Edition 7.1 Requerimientos Previos El proceso de instalación de Microsoft SQL Server 2008 no es complejo y es de gran importancia tener en cuenta que se está realizando

Más detalles

Business Intelligence

Business Intelligence Business Intelligence Definición Business Intelligence es una aproximación estratégica para identificar, vigilar, comunicar y transformar, sistemáticamente, signos e indicadores en información activa en

Más detalles

SISTEMA DE INFORMACION GERENCIAL. Lic.Patricia Palacios Zuleta

SISTEMA DE INFORMACION GERENCIAL. Lic.Patricia Palacios Zuleta SISTEMA DE INFORMACION GERENCIAL Lic.Patricia Palacios Zuleta Pentaho Open BI Suite La suite Pentaho cubre principalmente las siguientes áreas: integración de datos, reportes, análisis, alertas y dashboards,

Más detalles

Estos documentos estarán dirigidos a todas las personas que pertenezcan a equipos de implementación de Oracle BI, incluyendo a:

Estos documentos estarán dirigidos a todas las personas que pertenezcan a equipos de implementación de Oracle BI, incluyendo a: Oracle Business Intelligence Enterprise Edition 11g. A lo largo de los siguientes documentos trataré de brindar a los interesados un nivel de habilidades básicas requeridas para implementar efectivamente

Más detalles

Transformación de grandes cantidades de datos en valiosa estrategia Business Intelligence

Transformación de grandes cantidades de datos en valiosa estrategia Business Intelligence MICROSOFT SQL SERVER 2000 SOLUCIÓN C SPAR Handels AG Transformación de grandes cantidades de datos en valiosa estrategia Business Intelligence Publicado: Mayo de 2001 SPAR es un minorista líder europeo

Más detalles

Para Medianas Empresas. Descripción del producto de Oracle Oracle Business Intelligence Standard Edition One

Para Medianas Empresas. Descripción del producto de Oracle Oracle Business Intelligence Standard Edition One Para Medianas Empresas Descripción del producto de Oracle Edition One PÓR QUÉ NECESITA SU ORGANIZACIÓN UNA SOLUCIÓN BUSINESS INTELLIGENCE (BI) Cuándo se convierte en una carga y no en una ventaja el enorme

Más detalles

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2

INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Programa de Capacitación y Certificación. INTELIGENCIA DE NEGOCIOS CON SQL SERVER 2008 R2 Contenido PERFIL DE UN ESPECIALISTA EN BASES DE DATOS.... 3 6231. MANTENIENDO UNA BASE DE DATOS DE SQL SERVER 2008

Más detalles

Business Information Warehouse Manual SAP BW Business Information Warehouse

Business Information Warehouse Manual SAP BW Business Information Warehouse Manual SAP BW Business Information Warehouse Manual SAP BW / BI Business Information Warehouse Página 1 Confidencialidad Este documento es propiedad de E-SAP (CVOSOFT) por lo tanto, no podrá ser publicado

Más detalles

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA

UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA UNIVERSIDAD ALBERT EINSTEIN FACULTAD DE INGENIERIA Estudio de las herramientas TOAD y DBArtisan para la administración e integración de bases de datos relacionales. PREVIA OPCION AL TÍTULO DE: INGENIERO

Más detalles

Inteligencia de negocios como apoyo a la toma de decisiones en la gerencia

Inteligencia de negocios como apoyo a la toma de decisiones en la gerencia H é c t o r A r t u r o F l ó r e z F e r n á n d e z V Í N C U L O S J U L I O D E 2 0 1 2 VOLUMEN 9 NÚMERO 2 Inteligencia de negocios como apoyo a la toma de decisiones en la gerencia Business Intelligence

Más detalles

BASE DE DATOS Actividad No. 1. Docente Jaider Quintero M. Estudiante Oscar Fuenmayor S.

BASE DE DATOS Actividad No. 1. Docente Jaider Quintero M. Estudiante Oscar Fuenmayor S. BASE DE DATOS Actividad No. 1 Docente Jaider Quintero M. Estudiante Oscar Fuenmayor S. UNIVERSIDAD DE LA GUAJIRA FACULTAD DE CIENCIAS ADMINISTRATIVAS Y ECONOMICAS PROGRAMA DE CONTADURIA PÚBLICA Agosto

Más detalles

Sistemas de Información para la Gestión. Unidad 3 Aplicaciones de Sistemas

Sistemas de Información para la Gestión. Unidad 3 Aplicaciones de Sistemas para la Gestión Unidad 3 Aplicaciones de Sistemas U.N.Sa. Facultad de Cs.Económicas SIG 2010 UNIDAD 3: APLICACIONES DE SISTEMAS Aplicaciones empresariales: Sistemas empresariales. Sistemas de administración

Más detalles

SQLSERVER. El T-SQL se puede utilizar desde multitud de aplicaciones y desde diferentes lenguajes de programación

SQLSERVER. El T-SQL se puede utilizar desde multitud de aplicaciones y desde diferentes lenguajes de programación SQLSERVER Introducción a SQL Server SQL Server Es sistema manejador de base de datos un conjunto de objetos eficientemente almacenados desarrollado por MICROSOFT. En el centro de SQL Server están los motores

Más detalles

Comparación de características entre las ediciones Estándar y Enterprise

Comparación de características entre las ediciones Estándar y Enterprise Comparación de características entre las ediciones Estándar y Enterprise Enterprise Enterprise es una plataforma completa de datos para ejecutar aplicaciones de misión crítica OLTP (Online Transaction

Más detalles

CAPÍTULO 2 DATA WAREHOUSES

CAPÍTULO 2 DATA WAREHOUSES CAPÍTULO 2 DATA WAREHOUSES Un Data Warehouse (DW) es un gran repositorio lógico de datos que permite el acceso y la manipulación flexible de grandes volúmenes de información provenientes tanto de transacciones

Más detalles

Microsoft SQL Server Conceptos.

Microsoft SQL Server Conceptos. Microsoft Conceptos. Microsoft 2005 es una plataforma de base de datos a gran escala de procesamiento de transacciones en línea (OLTP) y de procesamiento analítico en línea (OLAP). La siguiente tabla muestra

Más detalles

SQL SERVER 2008 R2 BI 07/07/2010 BUSINESS INTELLIGENCE

SQL SERVER 2008 R2 BI 07/07/2010 BUSINESS INTELLIGENCE Todo en la vida comienza con código VII Encuentro Desarrolladores Microsoft BUSINESS INTELLIGENCE Ana María Bisbé York Servicios Profesionales VII Encuentro Desarrolladores Microsoft Todo en la vida comienza

Más detalles

Data Warehousing - Marco Conceptual

Data Warehousing - Marco Conceptual Data Warehousing - Marco Conceptual Carlos Espinoza C.* Introducción Los data warehouses se presentan como herramientas de alta tecnología que permiten a los usuarios de negocios entender las relaciones

Más detalles

LOS CINCO GRADOS DE MADUREZ DE UN PROYECTO BI

LOS CINCO GRADOS DE MADUREZ DE UN PROYECTO BI LOS CINCO GRADOS DE MADUREZ DE UN PROYECTO BI INTRODUCCIÓN Se habla en multitud de ocasiones de Business Intelligence, pero qué es realmente? Estoy implementando en mi organización procesos de Business

Más detalles

Business Intelligence. Octubre 2007 1

Business Intelligence. Octubre 2007 1 Business Intelligence 1 1. Introducción al Business intelligence Qué es? En qué nivel de negocio se aplica? 2. Componentes del BI Esquema de una solución BI DataWarehouse Query & Reporting OLAP Cuadro

Más detalles

Solicitar la competencia Business Intelligence Solutions

Solicitar la competencia Business Intelligence Solutions Solicitar la competencia Business Intelligence Solutions Guía paso a paso de la inscripción En Microsoft Partner Program, las competencias de Microsoft definen sus áreas de especialización, ayudándole

Más detalles

Microsoft Dynamics NAV

Microsoft Dynamics NAV Microsoft Dynamics NAV Maximizar el valor a través de conocimiento de negocio Business Intelligence White Paper Noviembre 2011 La información contenida en este documento representa el punto de vista actual

Más detalles

10778 Implementing Data Models and Reports with Microsoft SQL Server 2012

10778 Implementing Data Models and Reports with Microsoft SQL Server 2012 10778 Implementing Data Models and Reports with Microsoft SQL Server 2012 Introducción Inteligencia de negocio (BI) se está convirtiendo incrementalmente importante para compañías de diferentes tamaños

Más detalles

2796 Designing an Analysis Solution Architecture Using Microsoft SQL Server 2005 Analysis Services

2796 Designing an Analysis Solution Architecture Using Microsoft SQL Server 2005 Analysis Services 2796 Designing an Analysis Solution Architecture Using Microsoft SQL Server 2005 Analysis Services Introducción El propósito de este curso de tres días impartido por instructor es de enseñar profesionales

Más detalles

[ ] introducción. Desarrollo de un sistema de información con inteligencia de negocios para la oficina de egresados de la FUKL.

[ ] introducción. Desarrollo de un sistema de información con inteligencia de negocios para la oficina de egresados de la FUKL. [ ] resumen Se describe el Sistema de Información de Egresados (SIE) realizado como respuesta a una problemática de gestión y análisis de datos que se presentaba en la Oficina de Egresados de la Fundación

Más detalles

Módulo de Inteligencia de Negocio en un sistema de control de la producción en plantas de generación de energía distribuida.

Módulo de Inteligencia de Negocio en un sistema de control de la producción en plantas de generación de energía distribuida. Módulo de Inteligencia de Negocio en un sistema de control de la producción en plantas de generación de energía distribuida. Autores: Carlos Javier Quintero Blanco, Universidad de las Ciencias Informáticas,

Más detalles

Capacitación SAP BW Plataforma Tecnológica Única

Capacitación SAP BW Plataforma Tecnológica Única Capacitación SAP BW Plataforma Tecnológica Única Noviembre, 2011 Agenda Presentación del Instructor e Integración Grupal Objetivos del Taller Qué es un Datawarehouse? Qué es SAP BW? Estructura / Capas

Más detalles

ARTÍCULOS Y REFLEXIONES

ARTÍCULOS Y REFLEXIONES ARTÍCULOS Y REFLEXIONES Soporte a la toma de decisión a través de Business Intelligence. Ing. Sandra Aída Pérez Estrada Alumna de la Maestría en Administración de Tecnologías de Información, Universidad

Más detalles

Capítulo 3. Fases de descubrimiento en bases de datos

Capítulo 3. Fases de descubrimiento en bases de datos Capítulo 3. Fases de descubrimiento en bases de datos 3.1 Sistema de gestión de bases de datos La elección del sistema de gestión de bases de datos no es una tarea fácil, si bien todos tienen un mismo

Más detalles

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Ministerio de Educación Base de datos en la Enseñanza. Glosario Ministerio de Educación Base de datos en la Enseñanza. Glosario Instituto de Tecnologías Educativas 2011 Glosario Glosario GLOSARIO Archivo Un archivo es un elemento que contiene información y que a su

Más detalles

DATAMART PASO A PASO WWW.RUEDATECNOLOGICA.COM

DATAMART PASO A PASO WWW.RUEDATECNOLOGICA.COM DATAMART PASO A PASO WWW.RUEDATECNOLOGICA.COM Historial de revisiones Versión Fecha Autor: Descripción del cambio 1.0 31/08/2007 Rayner Huamantumba. Manual para diseño y desarrollo de Datamart INDICE 1-

Más detalles

BUSINESS INTELLIGENCE

BUSINESS INTELLIGENCE BUSINESS INTELLIGENCE PRESENTACIÓN Ramón Díaz Hernández Gerente (1.990) Nuestro Perfil Inversión permanente en formación y nuevas tecnologías. Experiencia en plataforma tecnológica IBM (Sistema Operativo

Más detalles

Microsoft SQL Server e Inteligencia de Negocio con Excel

Microsoft SQL Server e Inteligencia de Negocio con Excel Competencias Microsoft Mediante estas certificaciones, Microsoft acredita que contamos con personal técnico cualificado, y con la experiencia en proyectos en clientes suficientes, para ofrecer soluciones

Más detalles

Por qué construir un Data Warehouse? Inteligencia de Negocios Una herramienta para la toma de decisiones SQL Server 2005 the BI Release

Por qué construir un Data Warehouse? Inteligencia de Negocios Una herramienta para la toma de decisiones SQL Server 2005 the BI Release Inteligencia de Negocios Una herramienta para la toma de decisiones 2005 the BI Release Por qué construir un Data Warehouse? No es fácil obtener información! Contamos con montañas de información en la

Más detalles

UNIVERSIDAD DE SANTIAGO DE CHILE INGENIERIA COMERCIAL APLICACIÓN COMPUTACIONAL I INTELIGENCIA DE NEGOCIOS

UNIVERSIDAD DE SANTIAGO DE CHILE INGENIERIA COMERCIAL APLICACIÓN COMPUTACIONAL I INTELIGENCIA DE NEGOCIOS UNIVERSIDAD DE SANTIAGO DE CHILE INGENIERIA COMERCIAL APLICACIÓN COMPUTACIONAL I INTELIGENCIA DE NEGOCIOS Integrante: Profesor: Maximiliano Heise Luis Ríos Fecha de entrega: miércoles 18 de abril de 2012

Más detalles

www.itconsulting.com.bo B. Las palmas C./ San Miguel#420 Telf. Of.: 591-3-3210356 Cel.76364838 Santa Cruz - Bolivia

www.itconsulting.com.bo B. Las palmas C./ San Miguel#420 Telf. Of.: 591-3-3210356 Cel.76364838 Santa Cruz - Bolivia Señor(a): CLIENTE Presente.- Santa Cruz, 14 Noviembre del 2012 REF.: COTIZACION ESPECIALISTA EN ANALISIS DE DATOS & INTELIGENCIA DE NEGOCIOS EN EXCEL 2007-2010 Distinguido Señores: Consultores en Tecnologías

Más detalles

SÍLABO DEL CURSO DE INTELIGENCIA DE NEGOCIOS

SÍLABO DEL CURSO DE INTELIGENCIA DE NEGOCIOS SÍLABO DEL CURSO DE INTELIGENCIA DE NEGOCIOS I. INFORMACIÓN GENERAL 1.1. Facultad : Ingeniería 1.2. Carrera Profesional : Ingeniería en Sistemas Computacionales 1.3. Departamento ------------------------------

Más detalles

PROGRAMA FORMATIVO Administración de Business Intelligence y Datawarehousing

PROGRAMA FORMATIVO Administración de Business Intelligence y Datawarehousing PROGRAMA FORMATIVO Administración de Business Intelligence y Datawarehousing Julio 2014 DATOS GENERALES DE LA ESPECIALIDAD 1. Familia Profesional: INFORMÁTICA Y COMUNICACIONES Área Profesional: DESARROLLO

Más detalles

Overview of Data Warehousing / Business Intelligence with SQL Server

Overview of Data Warehousing / Business Intelligence with SQL Server Overview of Data Warehousing / Business Intelligence with SQL Server 23/10/2012 Contact Pablo Resnizky Engineering Manager +541.5533.8300 x1030 pablo.resnizky@globallogic.com GlobalLogic, Inc. www.globallogic.com

Más detalles

Business Intelligence (BI) is about generating necessary information to make timely decisions, based on data coming from multiple sources.

Business Intelligence (BI) is about generating necessary information to make timely decisions, based on data coming from multiple sources. Título: Open Source Business Intelligence Autor: Ing. Karel Reynaldo Piñero (karel@lt.desoft.cu) Abstract Business Intelligence (BI) is about generating necessary information to make timely decisions,

Más detalles

CURSO DE ADMINISTRACIÓN Y PROGRAMACIÓN EN SQL SERVER 2008 BUSINESS INTELLIGENCE

CURSO DE ADMINISTRACIÓN Y PROGRAMACIÓN EN SQL SERVER 2008 BUSINESS INTELLIGENCE CURSO DE ADMINISTRACIÓN Y PROGRAMACIÓN EN SQL SERVER 2008 BUSINESS INTELLIGENCE 1. INFORMACIÓN GENERAL DEL CURSO: Duración de Horas : 44 horas 2. DESCRIPCIÓN DEL CURSO: Proveer a las compañías la habilidad

Más detalles

Apoyo en consultoría en área de Inteligencia de Negocios y SQL Server

Apoyo en consultoría en área de Inteligencia de Negocios y SQL Server Apoyo en consultoría en área de Inteligencia de Negocios y SQL Server Estudiante: Bryan José Obando Castillo. Supervisores: Ing. Jonathan Mejías Valenciano, MBA Ing.Manrike Villalobos Báez 22/11/2013 1

Más detalles

Ernesto Gamaliel Acosta Gabriela Castillo Granados Antonio de Jesús Pérez Maldonado

Ernesto Gamaliel Acosta Gabriela Castillo Granados Antonio de Jesús Pérez Maldonado Ernesto Gamaliel Acosta Gabriela Castillo Granados Antonio de Jesús Pérez Maldonado QUÉ ES INFORMIX? ES UN GESTOR DE BASE DE DATOS CREADO POR INFORMIX SOFTWARE INC. INCLUYE UN RDBMS (SISTEMA ADMINISTRADOR

Más detalles

Anexo 11. Manual de Administración

Anexo 11. Manual de Administración PONTIFICIA UNIVERSIDAD JAVERIANA Anexo 11. Manual de Administración Para mantenimiento a los modelos y código fuente Alex Arias 28/05/2014 El presente documento muestra los requerimientos necesarios para

Más detalles

Guía para la evaluación de plataformas de Business Intelligence. Sistema de Información Social

Guía para la evaluación de plataformas de Business Intelligence. Sistema de Información Social Guía para la evaluación de plataformas de Business Intelligence Sistema de Información Social Octubre de 2012 Historial de Creación Fecha Versión Descripción Autor 31/10/2012 1.0 Guía para la evaluación

Más detalles

Visión General GXplorer. Última actualización: 2009

Visión General GXplorer. Última actualización: 2009 Última actualización: 2009 Copyright Artech Consultores S. R. L. 1988-2009. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de

Más detalles

MS_20463 Implementing a Data Warehouse with Microsoft SQL Server

MS_20463 Implementing a Data Warehouse with Microsoft SQL Server Gold Learning Gold Business Intelligence Silver Data Plataform Implementing a Data Warehouse with Microsoft SQL Server www.ked.com.mx Por favor no imprimas este documento si no es necesario. Introducción.

Más detalles

DESARROLLO E IMPLANTANCIÓN DE UN SISTEMA ACADEMICO PARA EL ICM

DESARROLLO E IMPLANTANCIÓN DE UN SISTEMA ACADEMICO PARA EL ICM DESARROLLO E IMPLANTANCIÓN DE UN SISTEMA ACADEMICO PARA EL ICM Sergio Bauz Olvera 1, Washington Jama 2 1 Ingeniero en Estadística e Informática 2003 2 Director de Tesis de Grado, Ing. Washington Jama.

Más detalles

En la vida no hay problemas, solo soluciones que no hemos encontrado.

En la vida no hay problemas, solo soluciones que no hemos encontrado. En la vida no hay problemas, solo soluciones que no hemos encontrado. Desde 1994 somos una empresa dedicada a brindar soluciones de negocios y servicios informáticos de última generación con el fin de

Más detalles

FACULTAD DE INGENIERÍA. Bases de Datos Avanzadas

FACULTAD DE INGENIERÍA. Bases de Datos Avanzadas FACULTAD DE INGENIERÍA Ingeniería en Computación Bases de Datos Avanzadas Datawarehouse Elaborado por: MARÍA DE LOURDES RIVAS ARZALUZ Septiembre 2015 Propósito Actualmente las empresas necesitan contar

Más detalles

Informática II Ing. Industrial. Data Warehouse. Data Mining

Informática II Ing. Industrial. Data Warehouse. Data Mining Data Warehouse Data Mining Definición de un Data Warehouses (DW) Fueron creados para dar apoyo a los niveles medios y altos de una empresa en la toma de decisiones a nivel estratégico en un corto o mediano

Más detalles

More than 500,000 software licenses, 125,000 plants & facilities, Supported in 181 countries, across every vertical market

More than 500,000 software licenses, 125,000 plants & facilities, Supported in 181 countries, across every vertical market More than 500,000 software licenses, 125,000 plants & facilities, Supported in 181 countries, across every vertical market Gestión inteligente de la información en entornos industriales e infraestructuras:

Más detalles

TECNOLOGÍA SOFTWARE PARA EL DESARROLLO DE SISTEMAS DE INFORMACIÓN. Sistemas Informacionales (BI Business Intelligence) Sonia Marrero Cáceres

TECNOLOGÍA SOFTWARE PARA EL DESARROLLO DE SISTEMAS DE INFORMACIÓN. Sistemas Informacionales (BI Business Intelligence) Sonia Marrero Cáceres TECNOLOGÍA SOFTWARE PARA EL DESARROLLO DE SISTEMAS DE INFORMACIÓN Sistemas Informacionales (BI Business Intelligence) Sonia Marrero Cáceres Sistemas Informacionales Sistemas informacionales: Sistemas de

Más detalles

Karem Jaquelin Peralta Venegas RESUMEN

Karem Jaquelin Peralta Venegas RESUMEN La crisis corporativa: desencuentro entre la ética y la economía neoclásica Generador de preguntas dinámicas en tiempo real para las MYPE, capturando datos del cliente en los formularios de pedido, consulta

Más detalles

ARQUITECTURA DE UNA BODEGA DE DATOS

ARQUITECTURA DE UNA BODEGA DE DATOS ARQUITECTURA DE UNA BODEGA DE DATOS Estructura de contenidos INTRODUCCIÓN... 3 1. ARQUITECTURA DE UNA BODEGA DE DATOS... 3 1.1 PROPIEDADES... 3 1.2 ARQUITECTURA DE UNA CAPA... 4 1.3 ARQUITECTURA DE DOS

Más detalles

COMO DISMINUIR LOS RIESGOS DE LOS PROCESOS DE ETL EN EL PROYECTO DE INTELIGENCIA DE NEGOCIOS EN UNA EMPRESA DE TRANSORTE

COMO DISMINUIR LOS RIESGOS DE LOS PROCESOS DE ETL EN EL PROYECTO DE INTELIGENCIA DE NEGOCIOS EN UNA EMPRESA DE TRANSORTE COMO DISMINUIR LOS RIESGOS DE LOS PROCESOS DE ETL EN EL PROYECTO DE INTELIGENCIA DE NEGOCIOS EN UNA EMPRESA DE TRANSORTE LYDA DIANA HENAO DORADO 200110075010 Trabajo de Grado Asesor LUIS FELIPE ROSSO RICAURTE

Más detalles

PLIEGO DE CONDICIONES TECNICAS LICITACION PRIVADA Nº 03 /13

PLIEGO DE CONDICIONES TECNICAS LICITACION PRIVADA Nº 03 /13 PLIEGO DE CONDICIONES TECNICAS LICITACION PRIVADA Nº 03 /13 PLIEGO DE CONDICIONES TÉCNICAS PARA LA ADQUISICIÓN DE LICENCIAS DE HERRAMIENTA DE BUSINESS INTELLIGENCE (BI) o INTELIGENCIA DE NEGOCIOS PARA

Más detalles

Microsoft Dynamics AX 2009 Características Funcionales

Microsoft Dynamics AX 2009 Características Funcionales Microsoft Dynamics AX 2009 Características Funcionales Pablo Villa Microsoft Chile 2010 Básicamente, un ERP es un sistema transaccional de comunicación electrónica entre las distintas áreas de la empresa

Más detalles

CONFIGURACIÓN Y DESARROLLO

CONFIGURACIÓN Y DESARROLLO CONFIGURACIÓN Y DESARROLLO Beneficios Permite controlar con eficiencia el rendimiento. SQL Server 2005 brinda a los administradores de Microsoft Dynamics GP herramientas de control automatizadas y mejoradas

Más detalles

Clase 1 Módulo: Data Warehouse & Datamart Docente: Gustavo Valencia Zapata

Clase 1 Módulo: Data Warehouse & Datamart  Docente: Gustavo Valencia Zapata v.1.0 Clase 1 Docente: Gustavo Valencia Zapata Temas Clase 1: El Rol de TI en BI BI Retos de TI en BI Evolución de la Información Arquitectura de BI Referencias www.gustavovalencia.com Evolución de la

Más detalles

ANEXO A - Plan de Proyecto. 1. - EDT de la solución EDT GENERAL DEL PROYECTO1

ANEXO A - Plan de Proyecto. 1. - EDT de la solución EDT GENERAL DEL PROYECTO1 ANEXO A - Plan de Proyecto 1. - EDT de la solución EDT GENERAL DEL PROYECTO1 2.- Diagrama de Gantt de la Solución DIAGRAMA DE GANTT- FASE INICIAL DOCUMENTACION Y ANALISIS2 DIAGRAMA DE GANTT- FASE FINAL

Más detalles

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura

Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Metodología de Ingeniería del Software para el desarrollo y mantenimiento de sistemas de información del Gobierno de Extremadura Página 1 de 23 Índice del Documento 1.- Introducción... Página 4 2.- Propuesta

Más detalles

BIABLE. Business Intelligence Available Inteligencia de Negocios Disponible. BIABLE, la nueva forma de trabajar con Microsoft Excel.

BIABLE. Business Intelligence Available Inteligencia de Negocios Disponible. BIABLE, la nueva forma de trabajar con Microsoft Excel. BIABLE Business Intelligence Available Inteligencia de Negocios Disponible QUÉ ES BIABLE? BIABLE, la nueva forma de trabajar con Microsoft Excel. B IABLE (Business Intelligence Available, Inteligencia

Más detalles

Plantillas Empresariales de ibaan Decision Manager. Guía del usuario de BAAN IVc Sales

Plantillas Empresariales de ibaan Decision Manager. Guía del usuario de BAAN IVc Sales Plantillas Empresariales de ibaan Decision Manager Una publicación de: Baan Development B.V. P.O.Box 143 3770 AC Barneveld Países Bajos Impreso en los Países Bajos Baan Development B.V. 2002. Reservados

Más detalles

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008 Por qué es Necesario Implementar un ERP? Las tendencias actuales y futuras están obligando a las empresas a aumentar su competitividad, por lo que

Más detalles

Facultad de Ingeniería y Tecnología Informática Licenciatura en Sistemas de Información Plan: 2012 Ciclo: 2014 Programa Analítico Base de Datos II

Facultad de Ingeniería y Tecnología Informática Licenciatura en Sistemas de Información Plan: 2012 Ciclo: 2014 Programa Analítico Base de Datos II 1. OBJETIVOS: Lograr que los alumnos conozcan los componentes y la arquitectura de las bases de datos relacionales. Brindar un curso internacionalmente actualizado respecto del ámbito académico, así como

Más detalles