Capítulo 4 Implementación



Documentos relacionados
Capítulo 2 Tecnología data warehouse

SISTEMA DE BECAS AL EXTERIOR

Microsoft Access 2007 (Completo)

CIMA. MANUAL DE USUARIO

MATERIAL 2 EXCEL 2007

CAPÍTULO 4 IMPLEMENTACIÓN DE SARP. Este capítulo describe los detalles de la implementación de SARP. Una vez explicado el

MICROSOFT ACCESS 2010

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Figura 4.1 Clasificación de los lenguajes de bases de datos

MICROSOFT ACCESS 2003

Manual etime para supervisores

El catálogo y los listados

Bienvenido al sistema de Curriculum Digital CVDigital

Software de Captura y Validación de Información Cambiaria

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

MANUAL DE USUARIO ARCHIVO

Diseño de una estrategia tecnológica de Customer Relationship Management (CRM) para la empresa BPM de México. CAPITULO 6

iseries Operations Navigator Administración de aplicaciones

Centro de Capacitación en Informática

Vicerrectorado de Investigación Oficina de Patentes y Valorización

USO ACADÉMICO DE HOJAS ELECTRÓNICAS. Segunda Sesión

Informática I Notas del curso

BASE DE DATOS RELACIONALES

La ventana de Microsoft Excel

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.

Combinar comentarios y cambios de varios documentos en un documento

EXTRACTO Descripción del uso y manejo de SIRAIS 1.2

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

1. Generalidades. Nombre de la asignatura o unidad de aprendizaje. Apertura de negocios. Clave asignatura. Ciclo LA945. Modulo tercero (integración)

Instructivo Altas en Reloj Biométrico y Administración de Asistencias en Reloj Biométrico

Guía para realizar trabajos universitarios

MANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE

CAPÍTULO II VISUAL BASIC 6. Visual Basic es uno de tantos lenguajes de programación; orientado a objetos, que

ANEXO. PROCESOS PARA MANEJAR EL COSTO DE LO VENDIDO EN ASPEL-SAE

Base de datos relacional

Funciones CONJUNTO EXCEL 2013 AVANZADO

Manual del usuario. Flash Point Genius. FLASH POINT GENIUS: Programación Serial para turismos

Manual de usuario de Solmicro BI. Página 1

Este botón situado en la barra de título de la ventana de la aplicación, nos da acceso a un menú mediante el cual podemos, entre otras opciones:

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

Sesión No. 2. Contextualización: Nombre de la sesión: Paquetería ASPEL - COI PAQUETERÍA CONTABLE

MANUAL DE USUARIO PARA EL PERFIL DE ADQUISIONES

LA METODOLOGÍA DEL BANCO PROVINCIA

UML, ejemplo sencillo sobre Modelado de un Proyecto

Capítulo 1. Introducción

SIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario

Nuevas funciones y características Aspel-BANCO 4.0

Base de datos en la Enseñanza. Open Office

UNYDOS CONSULTING S.A MANUAL DE USUARIO PLATAFORMA WEB DE INTERPRISE ADMINISTRATIVO 4.0

Manual de Uso Web profesional

MICROSOFT EXCEL 2007 (COMPLETO)

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

Construcción de Escenarios

Instalación y configuración inicial del sistema SIU-Kolla Versión 3.0.0

Sistema de Mensajería Empresarial para generación Masiva de DTE

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

Manual de usuario. Modulo Configurador V.1.0.1

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

OBTENER DATOS EXTERNOS

MANUAL DE USUARIO ACUERDO DE NIVELES DE SERVICIOS

Manual de Instrucciones

ADMINISTRACIÓN DE BASES DE DATOS DISTRIBUIDAS

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

5.2.1 La Página Principal

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

FORMACIÓN DE EQUIPOS DE E-LEARNING 2.0 MÓDULO DE DISEÑO Y PRODUCCIÓN DE MATERIALES UNIDAD 6 B

Base de datos en Excel

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Manual. Sistema De. Plataforma Virtual. Docente. Estudiante MANUAL MANUAL DE MANUAL. del Usuario. Coordinador. MICROSOFT PowerPoint v2.

5.8. REGISTRO DE FACTURAS.

Para obtener una cuenta de padre

Estructurar la información dentro del ordenador:

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual del Profesor Campus Virtual UNIVO

Capítulo 5. Cliente-Servidor.

Modelos y Bases de Datos

Tienda Virtual Synergy (Parte 2)

INTRODUCCIÓN A LOS SISTEMAS GESTORES DE BASE DE DATOS

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Impresión de datos variables

Parte II: Herramientas

1.2 Qué es un Sistemas de Información Geográfica?

Bases de Datos 3º Informática de Sistemas

Microsoft Access 2010 (Completo)

TEMA 6. ARQUITECTURA DE ADO.NET 6.1. INTRODUCCIÓN A ADO.NET

Catálogo de productos de Iparlux y gestión de pedidos

HP Backup and Recovery Manager

Instructivo de Microsoft Excel 2003

- Dirigido a Centros Docentes- Versión 01-23/03/2010

5- Uso de sentencias avanzadas

Tabla de contenido. Manual B1 Time Task

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CURSO DE ACCESS 2007

Transcripción:

Capítulo 4 Implementación Este capítulo describe los detalles de implementación del sistema. La sección 4.1 habla sobre las herramientas utilizadas y detalla la arquitectura para la implementación de ATEXEM. La sección 4.2 muestra el esquema implementado. La sección 4.3 describe la implementación de los extractores. En la sección 4.4 explica el motor de consultas implementado. La sección 4.5 presenta la interfaz y ejemplos de consultas. Finalmente la sección 4.6 concluye el capítulo. 4.1 Arquitectura del sistema ATEXEM fue implementado sobre una plataforma PC con un sistema operativo Windows XP. Se decidió usar la base de datos de Microsoft Access, la cual ofrece la herramienta SQL. Para poder comunicar la base de datos con la aplicación del usuario se utilizaron los drivers de Microsoft Jet Engine incluidos en el sistema operativo que se manejó en la aplicación. Como se muestra en la Figura 4.1, el data warehouse (DW) tiene comunicación directa con el motor de consultas y con el módulo de construcción. Éste último se comunica con las fuentes de datos de ATEXEM.

Herramientas Utilizadas Interfaz gráfica del usuario Visual Basic Motor de Consultas OLAP SQL Microsoft Jet Engine ODBC DW Microsoft Access Microsoft Jet Engine Visual Basic Extractor Ventas Extractor Inventarios Visual Basic Hojas de Excel Hojas de cálculo (Ventas) Hojas de cálculo (Inventarios) Figura 4.1 Arquitectura general de ATEXEM ATEXEM implementa extractores que cuentan con la capacidad de recuperar datos de sus fuentes (Archivos hojas de cálculo) y homogenizar los datos para que finalmente con los datos ya sin errores, poblar el repositorio. Los extractores tienen comunicación directa con

las hojas de cálculo. Para ello conocen su localización y formato. El DW es el servidor de datos de los extractores comunicándose con ellos de la misma manera que lo hace con el motor de consultas. Y a su vez los extractores sirven como clientes de las fuentes que actúan como servidor de datos. Una vez que se ejecuta una consulta OLAP el motor de consultas la procesa y la interpreta. La ejecución se hace por medio del motor de consultas Microsoft Jet Engine. ATEXEM implementa una arquitectura cliente/servidor. El monitor de consultas se comunica con el DW que funciona como servidor de datos. La comunicación con SQL se da gracias a Microsoft Jet Engine que se comunica usando como lenguaje anfitrión Visual Basic. 4.2 Esquema de datos El esquema de datos que utiliza ATEXEM es un esquema relacional. Para poder implementar el modelo de datos se empleó la utilería brindada por Microsoft Access. La forma de crear éstas tablas se presenta en la figura 4.2.

Figura 4.2 Creación de tablas del sistema En la figura 4.2 se muestran la creación de tablas que provee el sistema. En éste asistente se declara el nombre del campo, los tipos de datos y alguna pequeña explicación o comentario opcional. En la ventana de propiedades de campo se especifican los filtros a usar así como otras características. 4.2.1 Esquema de ventas Se implementaron 8 tablas para el esquema de ventas. Las cuales se presentan a continuación. Ventas ( id venta, id producto, id fecha, id cliente, mts_vendidos) Producto (id producto, id tela, nombre, composición, precio_unitario, categoría, costo_unitario, último _ unitario) Tela (id_tela, id_grupo, nombre)

Grupo (id_grupo, nombre) Tiempo (id fecha, día _ semana, mes, año, bandera_festiva) Clientes (id cliente, id ciudad, nombre, apellido, edad, calle, numero) Ciudad (id ciudad, id región, nombre ) Región ( id región, nombre ) Donde se tienen las siguientes restricciones: Restricciones de llave: señaladas con el subrayado. Restricciones referenciales: expresadas mediante las llaves. Restricciones de dominio: señaladas con el mismo nombre en ambas tablas. 4.2.2 Esquema de inventarios Para el esquema de inventarios, se implementaron 8 tablas. Mismas que se presentan a continuación. Inventarios ( id inventario, id producto, id fecha, id proveedor, mts_almacén) Producto (id producto, id_tela, nombre, composición, precio_unitario, costo unitario, ultimo costo) Tela (id_tela, id_grupo, nombre) Grupo (id_grupo, nombre) Tiempo (id fecha, día _ semana, mes, año) Proveedor (id proveedor, id ciudad, nombre, categoría, calle, numero) Ciudad ( id ciudad, id región, nombre ) Region ( id región, nombre) Donde se tienen las siguientes restricciones: Restricciones de llave: señaladas con el subrayado. Restricciones referenciales: expresadas mediante las llaves. Restricciones de dominio: señaladas con el mismo nombre en ambas tablas.

4.3 Construcción La fase de construcción de ATEXEM fue implementada usando el lenguaje SQL junto con módulos de Visual Basic. Estos módulos permiten analizar la información que se encuentra en hojas de cálculo para que un extractor pueda transformarlos en una representación relacional que se encuentra en el DW. Estas hojas de cálculo son brindadas por un sistema auxiliar llamado SAE. Este sistema deposita todas sus hojas de cálculo utilizadas en un lugar conocido por los extractores. Sin embargo la información no se encuentra validada ni tampoco cuenta con un formato adecuado para el análisis. Es decir ésta información es un conjunto de matrices de n x n dimensión sin si quiera tener una estructura lógica o racional. De tal forma que el extractor debe aplicar reglas de correspondencia para poder tomar una archivo (hoja de cálculo) y poder llevarlo a un modelo relacional. Al contar con dos DW uno de ventas y otro de inventarios se decide implementar dos módulos diferentes de extracción uno de ventas y otro de inventarios. Esta arquitectura fue especialmente diseñada para poder implementar los dos extractores antes mencionados, cada uno adaptado para la información a leer. Vale la pena destacar que si llegase a cambiar el proveedor de las fuentes en éste caso el sistema SAE, se deberán rediseñar los extractores para poder validar y transformar los archivos en hoja de cálculo a un modelo relacional.

Una vez que se obtiene la transformación de las hojas de cálculo a un modelo relacional, se insertan directamente las tuplas al repositorio. En este momento el DW ya está construido y lleno de datos válidos y sin errores, asegurando la integridad de la información. Es importante resaltar que si el sistema llegara a encontrar alguna tupla no válida, el sistema envía un mensaje de error. De este modo el cubo de ventas y el de inventarios se construyen de la misma manera. 4.4 Motor de consultas OLAP Para poder recuperar y analizar toda la información del repositorio nos apoyaremos en los operadores OLAP. OLAP es un conjunto de técnicas y operadores que facilitan el análisis de la información contenida dentro del DW. Para poder procesar las consultas OLAP necesitamos un motor de consultas. Este motor nos va a administrar las consultas. Éste ejecuta cuatro acciones que se encargan de ejecutar los operadores OLAP. Las acciones principales del motor de consultas son: Recuperar la consulta dada por el usuario en la interfaz gráfica y traducirla al lenguaje SQL. Seleccionar el operador adecuado que el usuario desea ejecutar o que le permita resolver la consulta pedida. Ejecutar el operador y presentar los resultados.

El motor de consultas va a recibir la consulta dada por el usuario, internamente generará acciones para resolverla y una vez aplicando los operadores OLAP, deberá recuperar los resultados para regresarlos a la interfaz de usuario y poder presentarlos al usuario. 4.4.1 Administración de vistas Para realizar esto, es necesaria la creación de dos tablas que tengan un listado de las características de las consultas (condición) y los resultados de las mismas (consultas). De esta forma se crearon las siguientes tablas: Consulta ( IdConsulta, Máximo, Mínimo, Count, Sum ) Condición (IdConsulta Medida, Dimensión, Nivel, Valor) Donde se tienen las siguientes restricciones: Restricciones de llave: señaladas con el subrayado. Restricciones referenciales: expresadas mediante las llaves. Restricciones de dominio: señaladas con el mismo nombre en ambas tablas. La función de la tabla condición es tener un listado de todas las condiciones de las consultas ejecutadas con anterioridad, guardando la dimensión para la que aplicaron, el nivel y el valor que ingresó el usuario. En la tabla se observa un campo llamado medida, este campo guarda el cubo al que se está aplicando esta consulta, es decir ventas o

inventarios. Esta tabla se encuentra almacenada en la base de datos y para ambos cubos se utiliza la misma tabla. La función de la tabla consulta es almacenar el resultado numérico de la consulta realizada, haciendo referencia al id de la consulta que se realizó y al cubo que corresponde. Cuenta con los campos máximo, mínimo, count y suma. 4.4.2 Slice n dice El operador slice n dice nos permite restringir los valores asociados a una o varias dimensiones del cubo. El operador recibe como parámetros, la dimensión, grano y medida que necesita agrupar y al cubo que se le va a aplicar y así realiza la consulta. Sin embargo hay que recordar que antes de realizar la consulta, ATEXEM con los datos obtenidos checa en la tabla de condición si es que existe alguna tupla igual para poder recuperar el resultado, de lo contrario como antes ya se había descrito la consulta se ejecuta y se almacena el resultado para todas las funciones de agregación. Es importante recalcar que esta consulta a pesar de que únicamente se llegase a pedir el máximo de tela, ATEXEM calculará las otras tres funciones de agregación, las cuales serían mínimo, el conteo y la suma, para de éste modo hacer más eficiente el análisis y en menor tiempo. Esta decisión se tomó en base a que en la empresa Textiles Carmelita se requiere constantemente de tres indicadores el máximo, mínimo y promedio.

En la siguiente consulta se desea obtener el promedio de ventas de los clientes en la ciudad de Atoyatempan y que hayan comprado la tela escocés. Esto se puede realizar, gracias a que con el operador slice n dice se puede restringir la consulta en dos dimensiones. select Avg (Ventas.mts_vendidos) from Ventas where Ventas.id_cliente in ( select id_cliente from cliente, ciudadc where cliente.id_ciudad = ciudadc.id_ciudad and ciudadc.nombre = Atoyatempan ) and Ventas.id_tela in ( select id_tela from tela where tela.nombre = Escoces ) 4.4.3 Roll up Este operador, por su naturaleza es de mayor complejidad que el anterior, ya que el roll- up agrega medidas que van de un nivel N i a un nivel más general N j de una dimensión. A continuación se muestra un ejemplo de una consulta en lenguaje SQL. select Avg(Ventas.mts_vendidos) from Ventas, ( select cliente.id_cliente from cliente where cliente.id_ciudad in ( select ciudadc.id_ciudad, ciudadc.id_region from ciudadc, regionc where ciudadc.id_region = regionc.id_region and regionc.nombre = Puebla ) ) As consulta where Ventas.id_cliente = consulta.id_cliente

En esta consulta se desea obtener el promedio de ventas de los clientes en la región de Puebla, a partir de las ventas de cada ciudad. Esto se puede realizar, gracias a que con el operador roll up se puede construir la consulta de un grado superior a partir de los resultados obtenidos de los granos inferiores. 4.4.4 Drill down Una vez que se comprendió el funcionamiento del operador roll up, el operador drill down es muy similar pero en sentido inverso. Ya que este operador va de un nivel superior a un nivel inferior. Por ejemplo, si tomamos la misma consulta que hemos estado analizando en una dimensión nos encontramos en el grano de mes Marzo y queremos obtener las ventas de la tela del día 22 de marzo entonces con ese valor debemos bajar una dimensión a día y seleccionar únicamente los datos que correspondan al día que se está pidiendo. 4.5 Mantenimiento 4.5.1 Mantenimiento del DW Cada vez que se entra al sistema, automáticamente éste genera un refrescado de la información. Esto con el fin de mantener los datos siempre actualizados, ya que la información se actualiza a diario. Todas las tuplas encontradas dentro de la tabla MOVINVENTARIO y que tengan una fecha posterior a la fecha del último refrescado

serán consideradas como la información a refrescar. Si el número de tuplas es mayor a cero, es decir que si hay cambios, entonces se ejecuta el proceso de extracción y se integra, y limpia ese conjunto de tuplas. De lo contrario no se lleva a cabo ninguna acción. 4.5.2 Mantenimiento de las vistas Este módulo se anexó junto con el procedimiento de refrescado del DW y se hace simultaneo. Antes de que el sistema ingrese una tupla, checa si esa tupla puede afectar los datos ya calculados. Si es que el dato que va a ingresar afecta algún cálculo ya hecho vuelve a recalcular y actualiza valor e ingresa la tupla en el sistema. Esta rutina fue implementada en un módulo de Visual Basic y SQL para ingresar los datos a la tabla de condición y consulta. 4.6 Interfaz y consultas Debido a que el usuario final es inexperto en el área, se llegó a la conclusión de que la interfaz debe ser totalmente amigable y fácil de manipular para éste y que a su vez fuese guiándolo a través de sus consultas. Para la implementación de esta interfaz de usuario se empleo Microsoft Access ya que facilita el diseño y la interacción entre el lenguaje Visual Basic y la misma base de datos. Además de ser una forma de crear una interfaz gráfica que sea amigable con el usuario. Una de las cosas que se consideraron muy importantes es que el usuario debía interactuar con ambos cubos, alternar entre cubo y cubo, y generar consultas primero de uno y luego

del otro. Por lo tanto ATEXEM manipula dos tipos de paneles manejados por pestañas, que son ventas e inventarios. De ésta manera la interfaz le ofrece al usuario la posibilidad de interactuar por separado con cada uno de estos, sin tomar mucho tiempo de cambio entre cada uno de ellos. La interfaz que contiene al cubo de ventas se reconoce con el mismo nombre, en ésta se pueden identificar las 3 dimensiones que conforman al cubo multidimensional y los diferentes niveles de cada una de éstas. Los niveles se representan con sus nombres respectivos y un combo box en el que se seleccionan los valores que se tienen almacenados dependiendo del nivel que escoja el usuario. De esta forma el usuario puede realizar consultas entre diferentes niveles. En la figura 4.3 se muestra la interfaz de ventas. Figura 4.3 Interfaz de ventas

El usuario debe seleccionar los valores de los niveles que corresponden a la dimensión que se desea. Posteriormente en el combo box le aparecerán los valores que puede seleccionar, y el usuario deberá seleccionar alguno. Si el usuario no selecciona alguno y la flecha de la dimensión está seleccionada, ATEXEM le mandará un mensaje de error. Una vez que el usuario haya seleccionado los campos de su consulta este deberá presionar el botón de Ejecutar para que se lleve a cabo la consulta. Los resultados de ésta consulta serán visualizados en cada uno de los campos bajo el título de Resultados. Si se llegara a equivocar o para realizar una nueva consulta, el usuario puede escoger nuevos campos o presionar el botón de Limpiar y todos los campos serán borrados. Para la interfaz de inventarios, se hizo de una forma similar, sin embargo, en ésta interfaz se presenta un cambio en una dimensión ya que ambos cubos comparten las otras dos dimensiones. La figura 4.4 muestra la interfaz.

Figura 4.4 Interfaz de inventarios Una vez que el usuario haya entrado al sistema, automáticamente ya se hizo un refrescado del DW. Sin embargo el usuario cuenta con un botón el cual refresca el DW. En la interfaz gráfica se titularon los botones con la leyenda Refrescado de la base. Cuenta también con otro botón para cargar la base de datos. La diferencia entre el botón de refrescado y el de cargar radica en que el procedimiento de refrescar únicamente agrega las tuplas que se formaron a partir de la última vez que se ejecutó este procedimiento. Y el otro botón carga toda la base de datos, es decir no hace una actualización. Cabe mencionar que si se llegase a presionar dos veces el botón de cargado de la base, el sistema no permitirá la duplicidad de las tuplas y mandará un mensaje de error.

Adicionalmente y siguiendo con los requisitos del software fue colocado un botón de acceso directo al sistema SAE, sistema externo que otorga las fuentes con las que se llena el DW. Esto ya que el usuario tiene que interactuar con ambos sistemas. El último botón ubicado en la parte inferior derecha es el botón para cerrar el sistema y guardar los cambios. El usuario puede interactuar libremente en la parte de consultas sin ninguna restricción que el sistema no le de. Por ejemplo el sistema no le permitirá seleccionar más de dos granos a la vez de una dimensión y el usuario será libre de seleccionar el número de dimensiones que desee ejecutar para poder satisfacer sus necesidades (Ver Anexo D). 4.7 Discusión Respecto a la construcción de las fuentes de ATEXEM, los procedimientos que se diseñaron, son muy importantes ya que las fuentes almacenan sólo hojas de cálculo. Actualmente existe software que ya utiliza e implementa la tecnología OLAP, facilitando mucho el análisis y la manipulación de la información. Sin embargo todo este software es muy costoso y para poder utilizarlo se debe implementar desde la fase de diseño la información en estándares y formatos requeridos. Esta empresa no contaba con recursos suficientes y su información difícilmente se podía acoplar a esos estándares. Por esa razón se tuvo que hacer un diseño propio y que implementara sus propios operadores basados en esta tecnología.