PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA GERENCIAL BASADO EN UNA SUITE INTEGRADA DE DATAMARTS PARA LAS ÁREAS DE FINANZAS, CONTABILIDAD, RECURSOS HUMANOS Y COMERCIAL Tesis para optar por el Título de Ingeniero Informático, que presenta el bachiller: Sergio Mauricio Mendoza Paitán ASESOR: Ing. Raúl Valencia Ibarra Lima, noviembre de 2011 Dedicatoria El presente proyecto se lo dedico a mi esposa e hijo quienes son la mayor motivación que tengo para triunfar y lograr todas mis metas. A mis padres y hermanos por su gran apoyo y confianza que me brindan. Resumen El presente proyecto de tesis consiste en analizar, diseñar, y construir un sistema de información, en un entorno amigable e intuitivo, que permita realizar el análisis a nivel gerencial de las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial dentro de una empresa que brinda servicios o comercializa productos y que tenga implantado un ERP para la llevar la operación de los procesos de negocio. La solución consistirá en una gama de reportes de análisis gerenciales que permitan visualizar Indicadores de Gestión para las cuatro áreas mencionadas y ser herramientas de apoyo para la toma de decisiones de la alta dirección de la organización. Para el proyecto de tesis para efectos prácticos se tomará como fuente de datos transaccionales la base de datos del ERP O7/Solution. Tabla de Contenido Introducción................................................................................................................................. 20  1.  Capítulo 1: Generalidades................................................................................................ 21  1.1.  Definición del Problema ............................................................................................ 21  1.2.  Marco Conceptual del Problema............................................................................... 22  1.2.1.  Sistemas OLTP (On-Line Transaction Processing) ........................................ 24  1.2.2.  Sistemas OLAP (On-Line Analytical Processing) ........................................... 25  1.2.3.  Sistemas OLTP vs. Sistemas OLAP ............................................................... 25  1.2.4.  Data Warehouse ............................................................................................. 25  1.2.5.  Datamart.......................................................................................................... 26  1.2.6.  Modelamiento Estrella..................................................................................... 27  1.2.7.  ETL .................................................................................................................. 28  1.3.  Plan de Proyecto....................................................................................................... 29  1.3.1.  Métodos y Procedimientos .............................................................................. 29  1.3.2.  Estructura de Desglose de Trabajo (EDT) ...................................................... 32  1.3.3.  Planificación de Tareas usando Diagrama de Gantt ...................................... 33  1.4.  Estado del Arte.......................................................................................................... 34  1.4.1.  Ranking de Tendencias de Soluciones Business Intelligence........................ 34  1.4.2.  Importancia de soluciones Business Intelligence en el mundo....................... 35  1.4.3.  Soluciones Business Intelligence Actuales ..................................................... 36  1.5.  Descripción y sustentación de la solución ................................................................ 37  1.5.1.  Objetivos Específicos ...................................................................................... 38  1.5.2.  Resultados Esperados .................................................................................... 39  1.5.3.  Sustentación de la Solución ............................................................................ 39  2.  Capítulo 2: Análisis........................................................................................................... 41  2.1.  Definición de la metodología de la solución.............................................................. 41  2.2.  Identificación de Requerimientos.............................................................................. 46  2.2.1.  Requerimientos Estratégicos .......................................................................... 47  2.2.2.  Requerimientos Funcionales........................................................................... 47  2.2.3.  Requerimientos No Funcionales ..................................................................... 49  2.3.  Análisis de la Solución .............................................................................................. 49  2.3.1.  Modelo de Casos de Uso ................................................................................ 49  2.3.2.  Catálogo de Actores........................................................................................ 50  2.3.3.  Casos de Uso por Paquete ............................................................................. 51  2.3.4.  Especificación de Casos de Uso..................................................................... 54  Paquete Recursos Humanos........................................................................................ 54  Paquete Finanzas......................................................................................................... 56  Paquete Contabilidad ................................................................................................... 57  Paquete Comercial ....................................................................................................... 59  2.3.5.  Diagrama de Clases........................................................................................ 61  Paquete Recursos Humanos........................................................................................ 62  Paquete Finanzas......................................................................................................... 63  Paquete Comercial ....................................................................................................... 64  2.3.6.  Análisis de Viabilidad ...................................................................................... 64  Identificación de los Usuarios Participantes ................................................................. 64  Costos de Desarrollo .................................................................................................... 65  Requerimientos de Hardware y Software..................................................................... 66  Preselección de Alternativas de Solución .................................................................... 67  Beneficios ..................................................................................................................... 67  Evaluación Final ........................................................................................................... 68  3.  Capítulo 3: Diseño............................................................................................................ 69  3.1.  Arquitectura de la Solución ....................................................................................... 69  3.1.1.  Metas y Restricciones de Arquitectura............................................................ 69  3.1.2.  Descripción de Casos de Uso......................................................................... 70  3.1.3.  Vista Lógica..................................................................................................... 75  Capa del Web Server ................................................................................................... 75  Capa Interfaz de Usuario.............................................................................................. 75  Capa de Acceso a Base de Datos................................................................................ 76  Capa de Datos.............................................................................................................. 76  Diagrama de Base de Datos......................................................................................... 76  Flujo del Proceso de Negocio....................................................................................... 78  3.1.4.  Vista de Despliegue ........................................................................................ 79  Cliente........................................................................................................................... 80  Servidor de Aplicaciones (OAS) ................................................................................... 80  Servidor de Base de Datos........................................................................................... 80  3.1.5.  Tamaño y Performance................................................................................... 80  3.1.6.  Calidad ............................................................................................................ 81  3.1.7.  Arquitectura Tecnológica................................................................................. 81  3.2.  Diseño de Interfaz Gráfica ........................................................................................ 83  3.2.1.  Lineamientos Generales ................................................................................. 83  3.2.2.  Detalle de los estándares de interfaz gráfica de la herramienta de análisis... 83  3.2.3.  Detalle de los estándares de interfaz gráfica de los reportes de análisis....... 85  4.  Capítulo 4: Construcción .................................................................................................. 87  4.1.  Tecnologías Utilizadas .............................................................................................. 87  4.1.1.  Frameworks..................................................................................................... 89  4.1.2.  Patrones de Programación.............................................................................. 89  Nombre de Tablas ........................................................................................................ 89  Nombre de Campos...................................................................................................... 90  Tipos de Datos.............................................................................................................. 91  Procedimientos Almacenados ...................................................................................... 91  Funciones ..................................................................................................................... 92  Paquetes....................................................................................................................... 94  4.2.  Pruebas..................................................................................................................... 95  4.2.1.  Estrategia de Pruebas..................................................................................... 96  4.2.2.  Tipos de Prueba .............................................................................................. 96  Pruebas Integrales........................................................................................................ 96  Pruebas de Desempeño y Estrés................................................................................. 96  Pruebas de Regresión .................................................................................................. 97  4.2.3.  Catálogo de Pruebas....................................................................................... 97  Caso de Uso: Extracción de la Información ................................................................. 97  Caso de Uso: Transformación de la Información ......................................................... 97  Caso de Uso: Carga de la Información ........................................................................ 98  Caso de Uso: Performance Óptimo del Datawarehouse ............................................. 99  Caso de Uso: Tiempo de Respuesta de los Datamarts ............................................... 99  4.2.4.  Reporte de Ejecución de Pruebas .................................................................. 99  5.  Capítulo 5: Observaciones, conclusiones y recomendaciones...................................... 101  5.1.  Observaciones ........................................................................................................ 101  5.2.  Conclusiones........................................................................................................... 101  5.3.  Recomendaciones y trabajos futuros...................................................................... 102  Bibliografía ................................................................................................................................ 103  Índice de Figuras Figura 1.2.1 Elementos Básicos de un Data Warehouse[KIM02]............................................... 23  Figura 1.2.2 Flujo Principal de un Sistema OLTP....................................................................... 24  Figura 1.2.3 Elementos Básicos de un Data Warehouse ........................................................... 26  Figura 1.2.4 Modelo Estrella Datamart Comercial ...................................................................... 28  Figura 1.2.5 Proceso ETL ........................................................................................................... 29  Figura 1.3.1 Grupo de Procesos de Gestión .............................................................................. 30  Figura 1.3.2 Estructura de Desglose de Trabajo ........................................................................ 32  Figura 1.3.3 Diagrama de Gantt Resumido ................................................................................ 33  Figura 1.4.1 Top 10 de Prioridades de Negocio y Tecnología en el 2011.................................. 35  Figura 1.4.2 Cuadrante de Gartner para Proveedores de Tecnología BI................................... 36  Figura 2.1.1 Fases e iteraciones de la Metodología RUP .......................................................... 42  Figura 2.1.2 Fases de la Metodología basada en KPI’s ............................................................. 45  Figura 2.3.1 Catálogo de Actores ............................................................................................... 50  Figura 2.3.2 Diagrama de Casos de Uso – Paquete RRHH....................................................... 51  Figura 2.3.3 Diagrama de Casos de Uso – Paquete Finanzas .................................................. 52  Figura 2.3.4 Diagrama de Casos de Uso – Paquete Contabilidad ............................................. 53  Figura 2.3.5 Diagrama de Casos de Uso – Paquete Comercial ................................................. 53  Figura 2.3.6 Diagrama de Clases Recursos Humanos............................................................... 62  Figura 2.3.7 Diagrama de Clases Finanzas................................................................................ 63  Figura 2.3.8 Diagrama de Clases Contabilidad .......................................................................... 63  Figura 2.3.9 Diagrama de Clases Comercial .............................................................................. 64  Figura 3.1.1 Paquetes de Diseño Significativos ......................................................................... 75  Figura 3.1.2 Diagrama de Base de Datos del Datamart Comercial............................................ 77  Figura 3.1.3 Diagrama de Base de Datos del Datamart de RRHH ............................................ 77  Figura 3.1.4 Diagrama de Base de Datos del Datamart de Contabilidad................................... 78  Figura 3.1.5 Diagrama de Base de Datos del Datamart de Finanzas ........................................ 78  Figura 3.1.6 Flujo del Proceso de Negocio................................................................................. 79  Figura 3.1.7 Diagrama de Despliegue ........................................................................................ 80  Figura 3.1.8 Arquitectura Tecnológica ........................................................................................ 82  Figura 3.2.1 Componentes del Oracle Discoverer Plus.............................................................. 84  Figura 3.2.2 Componentes de los Reportes de Análisis de los Datamarts ................................ 85  Figura 3.2.3 Sentidos de Navegación en una Jerarquía............................................................. 86  Índice de Tablas Tabla 1.2.1 Sistemas OLTP vs. Sistemas OLAP........................................................................ 25  Tabla 1.2.2 Diferencias entre Data Warehouse y Datamart ....................................................... 27  Tabla 1.2.3 Ejemplo de Tabla de Variables ................................................................................ 27  Tabla 2.2.1 Requerimientos Estratégicos ................................................................................... 47  Tabla 2.2.2 Requerimientos Funcionales del Área de Finanzas ................................................ 47  Tabla 2.2.3 Requerimientos Funcionales del Área de Contabilidad........................................... 48  Tabla 2.2.4 Requerimientos Funcionales del Área de Recursos Humanos ............................... 48  Tabla 2.2.5 Requerimientos Funcionales del Área Comercial.................................................... 48  Tabla 2.2.6 Requerimientos No Funcionales.............................................................................. 49  Tabla 2.3.1 Caso de Uso Emitir Reporte de Costo Empresa del Trabajador ............................. 55  Tabla 2.3.2 Caso de Uso Emitir Reporte de Indicador Financiero ROI ...................................... 57  Tabla 2.3.3 Caso de Uso Emitir Reporte de Análisis de Saldos de Asientos............................. 59  Tabla 2.3.4 Caso de Uso Emitir Reporte de Ventas Anuales..................................................... 61  Tabla 2.3.5 Identificación de Entidades y Usuarios Clave.......................................................... 65  Tabla 2.3.6 Costos estimados asociados al desarrollo del Sistema........................................... 66  Tabla 2.3.7 Requerimientos de Hardware .................................................................................. 66  Tabla 2.3.8 Requerimientos de Software.................................................................................... 66  Tabla 3.1.1 Requerimientos de Software.................................................................................... 70  Tabla 3.1.2 Descripción de Casos de Uso.................................................................................. 75  Tabla 4.1.1 Tecnologías de Información Utilizadas .................................................................... 88  Tabla 4.1.2 Nomenclatura de Tablas .......................................................................................... 90  Tabla 4.1.3 Nomenclatura de Campos ....................................................................................... 90  Tabla 4.1.4 Tipos de Datos ......................................................................................................... 91  Tabla 4.1.5 Estándares para Procedimientos Almacenados...................................................... 92  Tabla 4.1.6 Estándares para Funciones ..................................................................................... 94  Tabla 4.1.7 Estándares para Paquetes....................................................................................... 95  Tabla 4.2.1 Catálogo de Pruebas - Extracción de la Información .............................................. 97  Tabla 4.2.2 Catálogo de Pruebas - Transformación de la Información ...................................... 98  Tabla 4.2.3 Catálogo de Pruebas - Performance del Datawarehouse ....................................... 99  Tabla 4.2.4 Catálogo de Pruebas - Tiempo de Respuesta de los Datamarts ............................ 99  Tabla 4.2.5 Reporte de Ejecución de Pruebas ......................................................................... 100  20 Introducción Actualmente las empresas son conscientes que uno de sus más importantes activos es la información, y al ser actualizada y consistente podrá ser utilizada para la toma de decisiones. Las empresas poseen una gran cantidad de información histórica que comúnmente es almacenada por los sistemas transaccionales, y ahora ven la necesidad de aprovecharla mediante alguna solución que le permita mostrar ciertos indicadores de gestión o KPI’s (Key Performance Indicator) y poder basar sus decisiones en indicadores reales para generar una ventaja competitiva dentro del mercado. Por definición KPI (Key Performance Indicator) consiste en un indicador clave de rendimiento que permite medir el desempeño de una empresa [MIC01]. En este proyecto de fin de carrera se pretende proporcionar una solución de Inteligencia de Negocio que permita generar indicadores de gestión o KPI’s para las cuatro principales áreas dentro de una organización que brinda servicios o comercialice productos, que son Recursos Humanos, Contabilidad, Finanzas y Comercial tomando como referencia de origen de datos transaccional el ERP O7/Solution. Por definición ERP (Enterprise Resource Planning) es un paquete de solución que integran todos los procesos y funciones del negocio con el objetivo de presentar una visión holística del negocio mediante una arquitectura TI [HEL01]. Esta solución podrá ser adquirida por cualquier empresa que brinde servicios o comercialice productos y que cuente con un ERP, y podrá generar indicadores estándares como por ejemplo rotación de personal, ranking de ventas, flujo de caja, análisis de presupuestos, entre otros. 21 1. Capítulo 1: Generalidades 1.1. Definición del Problema En la actualidad, los mercados se han vuelto muy exigentes y competitivos donde cada año más países desarrollan y explotan al máximo sus recursos para entrar a competir en el mundo globalizado, donde la información se ha convertido en un factor determinante para el progreso de muchas empresas. Por definición información significa una comunicación o adquisición de conocimientos que permite ampliar o precisar los que se poseen sobre una materia determinada [RAE01], sin embargo depende de cómo las empresas puedan aprovechar este conocimiento de valor que han ido recopilando y almacenando en su periodo de vida de manera que signifique una ventaja competitiva. Por otro lado, no solo basta con poder explotar al máximo la información y generar un valor agregado dentro de la empresa, sino también con tener los recursos humanos necesarios con capacidad y conocimientos en las áreas de Gestión y Planeamiento Estratégico de manera que se puedan tomar decisiones correctas y fundamentadas. Muchas empresas manejan sus áreas de Planeamiento Estratégico, Análisis Táctico y Decisiones Operacionales de forma 22 desintegrada, lo que dificulta la toma de decisiones del corte estratégico. Por consiguiente, muchas áreas como son Recursos Humanos, Contabilidad y Finanzas y Comercial no realizan una adecuada explotación de sus datos históricos de manera integrada que les permita obtener información estratégica, útil para la toma de decisiones. Para esto, surge la necesidad de realizar el análisis del negocio en base a métricas o indicadores que son generados mediante los datos históricos que se mantienen a través de los sistemas transaccionales. 1.2. Marco Conceptual del Problema Actualmente las empresas manejan el registro de información del flujo del negocio empleando sistemas de información de tipo OLTP. Entiéndase como OLTP a “Bases de datos normalizadas para mantener consistencia y evitar redundancia y diseñadas para un ambiente de transacciones (inserción, actualización y borrado) de alto volumen” [RIV01]. Todos estos datos que se encuentran registrados en la base de datos del sistema pueden ser utilizados para poder generar información estratégica para la toma de decisiones. Muchas organizaciones están empezando a utilizar el término de “Inteligencia de Negocios” como solución de aprovechamiento de los datos históricos que se tienen en los sistemas OLTP. Inteligencia de Negocios es un término que hace referencia a sistemas de soporte de decisiones (Decision Support Systems), de información ejecutiva y gerencial [KIM01]. Combina conceptos de compartimiento y almacenamiento de datos y conocimientos en gestión con herramientas de análisis para la presentación de información compleja y competitiva hacia los usuarios encargados de la toma de decisiones y planeamiento estratégico dentro de una empresa [SOL01]. Una solución de Inteligencia de Negocios permite, teniendo un depósito de datos o Data Warehouse, junto a herramientas o aplicaciones de explotación de datos como por ejemplo SAP Business Objects, Microstrategi Business Intelligence, Crystal View, etc., poder explotar la información que se tiene en los sistemas OLTP para servir de apoyo en la toma de decisiones. Entiéndase por Data Warehouse “Una copia de los datos transaccionales, estructurados específicamente para la pregunta y el análisis” [KIM02]. 23 Para poder implementar soluciones de Inteligencia de Negocios es necesario tener un Data Warehouse que almacene todos los datos históricos propios de la operatividad de la empresa de la cual se podrá extraer información relevante para el cálculo de indicadores de gestión. Los componentes principales de un Data Warehouse se muestran en la figura 1.2.1. Figura 1.2.1 Elementos Básicos de un Data Warehouse[KIM02] El Operational Source Systems consiste de todos los repositorios en los cuales se han almacenado datos históricos sobre los procesos del negocio. Estos repositorios pueden ser instancias de distintos motores de Base de Datos en los cuales se almacenan los datos producto de las transacciones que se procesan mediante los sistemas OLTP de la empresa, archivos planos, hojas de Excel, etc. [KIM02] El segundo componente es el Data Staging Area que funciona como repositorio de datos y contiene todos los procesos denominados ETL. ETL significa la ejecución de 3 pasos principales en la construcción de un Data Warehouse que son la Extracción (Extraction), Transformación (Transformation) y Carga (Loading) de datos [KIM02]. El primer paso que es la Extracción consiste en obtener todos los datos desde los Operational Source Systems para posteriormente almacenarlos en el Services: Clean, combine and standardize. Conform dimensions. Data Store: Flat Files and relational tables. Processing: Sorting and sequential processing. Data Staging Area Operational Source Systems Extract Data Mart # 1; DIMENSIONAL Atomic and summary data. Based on a single business process Data Mart #2: (Similarly designed) Load DW Bus: Conformed facts & dimensions Ad Hoc Query Tools Report Writers Analytic Applications Modeling: Forecasting Scoring Data Mining Access Data Access Tools 24 Data Staging Area. Una vez que los datos han sido obtenidos, son depurados al pasar por un proceso de transformación que abarca la verificación de consistencia, validación de elementos faltantes, duplicación de datos, estandarización de datos, etc. para luego poder ser cargados [KIM02]. 1.2.1. Sistemas OLTP (On-Line Transaction Processing) Los Sistemas de tipo OLTP lo conforman todos los sistemas de información que ejecutan datos operacionales del día a día y maximizan la capacidad de procesamiento de transacciones. Estos sistemas realizan principalmente 3 tipos de acciones sobre una Base de Datos, las cuales son INSERT, DELETE y UPDATE que se manejan a nivel de transacciones [KIM02]. Entre algunos ejemplos de sistemas OLTP de tienen los siguientes:  SAP Business One de la compañía SAP  SAP R3 de la compañía SAP  E-Business Suite de la compañía Oracle  JD Edwards Enterprise One de la compañía Oracle  PeopleSoft ERP de la compañía Oracle  ERP O7/Solution Estos tipos de sistema consisten principalmente de transacciones de tipo DML (Data Manipulation Language, sentencias de tipo insert, update o delete para el manejo de datos) dentro de la Base de Datos. El flujo principal dentro de un sistema OLTP se muestra en la figura 1.2.2. Figura 1.2.2 Flujo Principal de un Sistema OLTP Sentencias DML Insert into…, Delete from …, Update … 25 1.2.2. Sistemas OLAP (On-Line Analytical Processing) Los Sistemas de tipo OLAP tiene como principal objetivo realizar un análisis del negocio mediante la identificación de indicadores de gestión que puedan servir de apoyo en la toma de decisiones de una empresa. Este se basa principalmente en realizar consultas de Base de Datos Multidimensional que permita el análisis de variables numéricas [KIM02]. Estos tipos de sistemas analíticos buscan facilitar la creatividad, centrándose en la estrategia a largo plazo y la ventaja competitiva dentro del negocio de una empresa. 1.2.3. Sistemas OLTP vs. Sistemas OLAP La tabla 1.2.1 muestra las diferencias entre los sistemas OLTP y OLAP. . Tabla 1.2.1 Sistemas OLTP vs. Sistemas OLAP 1.2.4. Data Warehouse Existe un gran número de definiciones de lo que es Data Warehouse, sin embargo la que fue propuesta por Hill Inmon, fundador de Pine Cone System, es la más reconocida y famosa. Según Inmon Data Warehouse es “Una colección de datos integrada, consistente, no volátil, orientada al usuario y que varía en el tiempo, diseñada para el soporte y manejo de las necesidades de un DSS (Sistema de Soporte de Decisiones)”. Los elementos o componentes básicos de un Data Warehouse son los siguientes y se muestran en la figura 1.2.3: Sistemas OLTP Sistemas OLAP Datos Valores actuales Datos históricos y/o calculados Organización Por aplicación Por áreas de la empresa Acceso Muy frecuente (lectura/escritura) Baja frecuencia Actualizaciones Actualizaciones de campos No se actualiza. Se manipula Tiempo de Respuesta Medido por el tiempo de la transacción (del orden de segundos) Medido por el tiempo de la consulta (del orden de minutos) Tamaño de la BD 100 MB – GB 100 GB – TB Usuarios Miles Cientos Unidad de Trabajo Transacciones Consultas complejas 26  Fuente de Datos (Source)  Área de Almacenamiento de Datos (Data Staging Area)  Objetivo (Target) Figura 1.2.3 Elementos Básicos de un Data Warehouse Una Fuente de Datos es el conjunto de las bases de datos de los sistemas de tipo OLTP, archivos planos, hojas Excel, etc. que guarda datos en un área de almacenamiento o repositorio. El Área de Almacenamiento de Datos es un repositorio de datos normalizados. El Objetivo consiste en un servidor de presentación para el nuevo almacén de datos donde los datos son organizados y almacenados para el acceso directo de los usuarios finales mediante reportes de análisis, consultas u otras aplicaciones. 1.2.5. Datamart Un Datamart consiste en una colección de datos y un sistema de análisis que extrae la información de varias fuentes de datos transaccionales, de manera que los almacena y analiza para mostrar tendencias e indicadores de gestión del flujo del negocio. Los datos son almacenados utilizando un modelo de datos conocido como Modelo Estrella (Star Schema) con el objetivo de analizarlos de manera agrupada y enfocada a un área de negocio específico. Las principales diferencias entre un Datamart y un Data Warehouse se muestran en la tabla 1.2.2. Source Data Staging Area Target 27 Data Warehouse Datamart Alcance Organizacional Área de la organización Fuente de Datos Múltiples Específica del área para el cual está diseñado, por ejemplo: Finanzas, Marketing, RRHH, etc. Tiempo de Implementación Meses a Años Meses Objetivo Realizar un análisis de toda la organización en conjunto. Realizar un análisis de un área específica dentro de la organización. Tabla 1.2.2 Diferencias entre Data Warehouse y Datamart 1.2.6. Modelamiento Estrella El Modelamiento Estrella es un modelo de estructura de tablas de Base de Datos que permite, mediante dimensiones y variables con datos de un área en particular dentro de una organización, analizar los indicadores de gestión y tendencias. Este nuevo modelo de datos multidimensionales está conformado por 2 tipos de tablas: Tabla de Variables (Fact Table) y Tabla de Dimensión (Dimension Table). La Tabla de Variables dentro de un modelo dimensional contiene todos los tipos de variables numéricas de medida dentro del negocio como se muestran en la tabla 1.2.3. Ventas Diarias Fecha Producto Tienda Cantidad Vendida Monto de Venta Tabla 1.2.3 Ejemplo de Tabla de Variables La Tabla de Dimensiones contiene los descriptores y demás atributos de la Tabla de Variables. El objetivo de este tipo de tabla es poder dar una mayor comprensión al usuario final de los datos que se muestran producto de una consulta a la tabla de variables para visualizar reportes de gestión. Estas 28 dimensiones permitirán al usuario poder analizar las métricas numéricas de la Tabla de Variables, a través de las diferentes dimensiones que se tengan dentro del Datamart. En la figura 1.2.4 se muestra un ejemplo de un Modelo Estrella de un Datamart Comercial. Figura 1.2.4 Modelo Estrella Datamart Comercial 1.2.7. ETL Los procesos ETL cuyo significado se encuentra en sus iniciales (E = Extract, T = Transform, L = Load) consiste en una serie de procesos los cuales tienen como objetivo extraer los datos relevantes para el Data Warehouse o Datamart desde cualquier fuente de datos, ya sea de un sistema OLTP, de archivos planos, archivos Excel, etc. para posteriormente depurarlos y transformarlos y por último cargarlos de manera masiva al Data Warehouse. En el primer paso que es la extracción, se seleccionará de una gran cantidad de fuente de datos, aquellos que son objetivo de análisis del Datamart o Data Warehouse a construir. El segundo paso que es la transformación consiste en la manipulación de estos datos de manera que cumplan con los objetivos del análisis y por último el tercer paso consiste en la carga de estos datos depurados y transformados al Data Warehouse. Cliente Proveedor Ubicación Producto Ventas Dimensiones Dimensiones Variables 29 La figura 1.2.5 muestra el flujo de un proceso ETL. Figura 1.2.5 Proceso ETL 1.3. Plan de Proyecto 1.3.1. Métodos y Procedimientos Para decidir los métodos, procedimiento, herramientas y técnicas a ser utilizadas en el proyecto, se tomará como referencia la metodología RUP y los Procesos de Gestión de Proyectos que se definen en la Guía del PMBOK. Además se trabajará en base a entregables de las áreas de conocimiento descritas a continuación:  Gestión de la Integración del Proyecto: El principal entregable de esta área que se elaborará es el Acta de Constitución con el cual se da inicio formal al proyecto y se definen las responsabilidades del líder del proyecto.  Gestión de Alcance del Proyecto: Dentro de esta área se elaborará el Alcance Funcional de la solución, el cual describe las funcionalidades que se desarrollarán y lo que no contempla la solución.  Gestión de Tiempo del Proyecto: Donde se elaborará el Cronograma del proyecto para su posterior seguimiento y control durante todo el proyecto.  Gestión de Costos del Proyecto: Se realizará una estimación del presupuesto para el proyecto en base a los recursos y equipos necesarios. Área de Datos Repositorio (Data Stage Area) ETL Dimension 1 Dimension 2 Dimension 3 Dimension 4 Dimension 5 Dimension n Venta s Tabla1 Tabla2 Tabla3 Tabla4 Tabla5 Tabla6 1999 2001 2000 2002 2005 2003 2004 2005 30  Gestión de la Calidad del Proyecto: Se definirán los estándares y normas de calidad con los que deberá contar la solución, de manera que garantice el cumplimiento del alcance en tiempos óptimos.  Gestión de los Riesgos del Proyecto: Se realizará un inventario de los principales riesgos identificados y se propondrán acciones que mitiguen el riesgo y se dará seguimiento durante todo el proyecto en caso se identifiquen nuevos riesgos. Los procesos orientados a la gestión de proyectos son los siguientes:  Iniciación: Define y autoriza el proyecto o la fase.  Planificación: Define y redefine objetivos y planifica los cursos de acción para cumplir los objetivos.  Ejecución: Integra a las personas y otros recursos para llevar a cabo el plan de gestión de proyecto.  Supervisión y control: Mide y supervisa regularmente el progreso para identificar las variaciones del plan, de manera que se tomen acciones correctivas.  Cierre: Formaliza la aceptación del producto, servicio o resultado y conduce al proyecto o a la fase a una conclusión ordenada. La figura 1.3.1 muestra el esquema de la interacción del grupo de procesos de gestión. Figura 1.3.1 Grupo de Procesos de Gestión Procesos de Iniciación: Los procesos de iniciación comienzan formalmente un nuevo proyecto o fase del proyecto, ya que con ellos se autoriza de manera oficial el proyecto y se provee al director de proyectos con la información 31 necesaria para iniciar el proyecto [PMI01]. Dentro de este grupo de procesos se tendrá como entregable el Acta de Constitución de Proyecto. Procesos de Planificación: Los procesos de planificación determina si los objetivos tal y como han sido expuestos en el acta de constitución son alcanzables, así como la manera en que se logrará el proyecto [PMI01]. Dentro de este grupo de procesos se tendrán los siguientes entregables:  Enunciado del Alcance del Proyecto  EDT  Cronograma  Presupuesto  Plan de Dirección del Proyecto Procesos de Ejecución: El objetivo de los procesos de ejecución es el de completar el trabajo definido en el plan para la dirección del proyecto así como cumplir con los objetivos del proyecto. Dentro de este grupo de procesos se tendrán los siguientes entregables:  Solicitudes de Cambio  Auditorías de Calidad  Actas de Reunión Procesos de Monitoreo y Control: Los objetivos de los procesos de monitoreo y control son de medir el rendimiento del proyecto de acuerdo con el plan para la dirección del proyecto y aprobar las solicitudes de cambios, incluyendo acciones correctivas y preventivas recomendadas, y reparación de defectos. Dentro de este grupo de procesos se tendrán los siguientes entregables:  Informes de rendimiento del proyecto  Solicitudes de Cambio  Auditorías de Riesgo  Informes de Control de Calidad 32 Procesos de Cierre: El objetivo de los procesos de cierre es de cerrar de manera formal el proyecto y las adquisiciones que se hayan realizado. Dentro de este grupo de procesos se tendrán los siguientes entregables:  Aprobación formal del proyecto  Informes finales de rendimiento  Lecciones Aprendidas  Acta de Cierre del Proyecto 1.3.2. Estructura de Desglose de Trabajo (EDT) A continuación en la figura 1.3.2 se presenta el EDT resumido del Proyecto. El EDT completo se encuentra en el Anexo I. Figura 1.3.2 Estructura de Desglose de Trabajo 1.3.3. Planificación de Tareas usando Diagrama de Gantt En la figura 1.3.3 se presenta el Diagrama de Gantt resumido del Proyecto. El EDT completo se encuentra en el Anexo II. Figura 1.3.3 Diagrama de Gantt Resumido 34 1.4. Estado del Arte 1.4.1. Ranking de Tendencias de Soluciones Business Intelligence A continuación se presenta el Top 5 de Tendencias para soluciones Business Intelligence en base a encuestas realizadas por la compañía HP en las conferencias de BI y Data Warehousing realizadas durante el 2009: a. Gobierno de Business Intelligence: El personal de HP encargado de realizar las encuestas identificaron los puntos más importantes para los encuestados que son la calidad de datos, analíticas avanzadas, gobierno de datos y MDM1 (Master Data Gobernance) y expresaron su interés de inversión dentro de los próximos 12 meses. Se concluyó que para poder contar con buenas soluciones BI es importante contar con datos consistentes, lo cual involucra al concepto de Gobierno de Datos que permite contar con datos confiables y términos estándares para el uso y control de datos. b. Integración de datos a nivel corporativo como oportunidad de inversión: Las empresas líderes han empezado a invertir en proyectos de integración de datos, permitiendo el análisis a nivel funcional para toda la organización y adquiriendo soluciones de gestión de clientes y control de riesgos. La inversión se ve justificada en la integración de gran cantidad de datos en una solución y no tener pequeñas soluciones separadas unificadas por medio de interfaces. c. Expansión del uso de analíticos avanzados: Analíticos son componentes críticos que permiten visualizar los datos en métricas o indicadores de análisis. La tendencia de crear soluciones como Data Warehouse o Datamarts orientadas para la creación de analíticos permitirán a las organizaciones generar ventaja competitiva por las decisiones oportunas que se realicen. d. Disminución de la brecha entre los sistemas transaccionales y el Data Warehouse: Muchas empresas han empezado a crear 1 Master Data Management: Conjunto de procesos y herramientas que define y administra de manera consistente y consolidada los datos dentro de la organización. 35 analíticos en base a información directa de producción de los sistemas transaccionales con el objetivo de contar con información actualizada para la toma de decisiones. e. Priorización en DataWarehousing: El EDW (Enterprise Data Warehouse) no puede ser una aplicación standalone que soporte aplicaciones BI, por el contrario debe estar integrado a las múltiples fuentes de datos, contener la información que sea requerida, extraer la información relevante de los procesos de negocio, debe permitir analizarla e incorporarla a aplicaciones que la requiera. 1.4.2. Importancia de soluciones Business Intelligence en el mundo Actualmente, las soluciones Business Intelligence se encuentran dentro del ranking de las 10 mayores prioridades de tecnología para las empresas a nivel mundial. En la figura 1.4.1 se visualiza la encuesta ejecutada por Gartner Institute en el 2011. Figura 1.4.1 Top 10 de Prioridades de Negocio y Tecnología en el 2011 Por consecuencia de la importancia para las empresas en cuanto a la implementación y adquisición de soluciones Business Intelligence como soluciones estrategias que facilitan el seguimiento y control de los objetivos de negocio mediante la generación de indicadores y métricas que permiten medir la performance de los procesos de negocio y poder tomar decisiones oportunas, ha 36 incrementado la cantidad de proveedores de estas soluciones. En la figura 1.4.2 se muestran los proveedores más importantes de tecnología Business Intelligence en el cuadrante de Gartner. Figura 1.4.2 Cuadrante de Gartner para Proveedores de Tecnología BI 1.4.3. Soluciones Business Intelligence Actuales Actualmente existen distintos tipos de soluciones Business Intelligence con un rol importante en la ejecución y éxito de las estrategias de las empresas a través de la información brindada y los indicadores que permiten explicar comportamientos de la performance del negocio. Las tendencias actuales e innovaciones permiten contar con grandes repositorios de datos, incluyendo datos no estructurados por sistemas transaccionales, y poder generar información al personal de dirección de las empresas para una rápida y mejor toma de decisiones, ayudando a que las organizaciones sean más competitivas en el mercado gracias a la capacidad de tomar mejores decisiones en y en corto tiempo. Actualmente la Inteligencia de Negocios se está moviendo dentro del contexto de los procesos del negocio, no solo para permitir la 37 experiencia de los usuarios más efectiva, sino también para permitir la optimización de los procesos del negocio. Se está buscando que las soluciones de Inteligencia de Negocios estén más orientadas a BPM (Business Process Management). BPM es una metodología empresarial que busca lo siguiente:  Modelar Procesos de Negocio  Automatizarlos  Optimizarlos Después de los Web Services, Inteligencia de Negocios es tomada cada vez más en cuenta en los presupuestos de TI de muchas empresas. La gran satisfacción que ha traído el uso de herramientas de análisis de Inteligencia de Negocios permite que las empresas quieran incrementar esta satisfacción con la integración de SOA con Web Services, lo cual hará posible obtener e integrar datos desde cualquier punto de contacto con los clientes. Por último otras soluciones que son implementadas actualmente son la construcción de cuadros de control o DASHBOARDS, cuadros estadísticos y proyecciones aplicando Data Mining y proyectos de Balanced Score Card. 1.5. Descripción y sustentación de la solución El objetivo de este proyecto de fin de carrera es generar una solución de Inteligencia de Negocio que consistirá en un Sistema Gerencial basado en una Suite Integrada de Datamarts de las áreas de Recursos Humanos, Contabilidad y Finanzas y Comercial orientada a empresas que brindan servicios o comercializan productos. Esto consiste en realizar un análisis general de estas 4 áreas de la empresa de manera que se puedan identificar los indicadores de gestión claves considerados en cuenta en la toma de decisiones del negocio. Basados en estos indicadores, se procederá a identificar las dimensiones y variables que permitirán visualizar al usuario 38 final estos indicadores y se generarán los 4 modelos multidimensionales. Posteriormente de procederá a la construcción de los procesos ETL que permitirá realizar la carga histórica y periódica de la información que se almacenará en el Datawarehouse. Luego se procederá a la configuración y administración de los 4 Datamarts para que finalmente se genere un sistema gerencial que permita a los usuarios finales poder visualizar estos indicadores mediante reportes dinámicos, basados en la información histórica de la empresa. Por otro lado, la solución podrá ser aplicada a cualquier empresa que brinde servicios o comercialice productos y administre las operaciones de sus procesos de negocios mediante un ERP. Para el desarrollo de este proyecto de tesis se ha tomado como referencia el modelo de base de datos transaccional del ERP O7/Solution (Ver Anexo VII), sin embargo la solución podrá ser implantada en cualquier empresa del rubro mencionado, mediante la construcción de procesos ETL o interfaces que registren los datos en el Datawarehouse en base a los modelos diseñados. Se utilizará la metodología RUP aplicada a un proyecto de Inteligencia de Negocios, y la gestión del proyecto se basará en los procesos definidos por el Project Management Institute (PMI). 1.5.1. Objetivos Específicos A. Realizar el análisis a nivel de gestión de las principales áreas de una empresa que brinde servicios o comercialice productos que son Finanzas, Contabilidad, Recursos Humanos y Comercial. B. Identificar los principales indicadores de gestión o KPI’s para las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial en una empresa. C. Realizar el análisis y diseñar modelos multidimensionales de tipo “Star Schema“ para cada una de las áreas especificadas. D. Realizar la construcción de procesos ETL para la Extracción, Transformación y Carga de datos desde un sistema transaccional a un sistema de Inteligencia de Negocios. 39 E. Configurar los 4 Datamarts en la herramienta Oracle Discoverer Administrator para que puedan ser explotados y analizados por la herramienta Oracle Discoverer Plus. F. Construir reportes de análisis que permitan visualizar los indicadores de gestión como apoyo a la toma de decisiones. 1.5.2. Resultados Esperados A. Análisis de Gestión de las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial de una empresa que brinde servicios o comercialice productos. B. Documentos Funcionales de los principales Indicadores de Gestión pertenecientes a las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial en una empresa que brinde servicios o comercialice productos. C. Modelos Multidimensionales para un sistema de Inteligencia de Negocios que incluye las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial. D. Procesos ETL de carga de datos desde un esquema transaccional a uno multidimensional. E. Reportes de Gestión que permitan visualizar el flujo del negocio. 1.5.3. Sustentación de la Solución Muchas organizaciones a nivel global vienen implementando soluciones de Business Intelligence y en nuestra región, según IDC Latinoamérica, es una de las tres primeras prioridades en cuanto a iniciativas que se plantean las empresas, afirmando en una predicción aún vigente, que Business Intelligence crecerá a una tasa acumulativa del 13,27% en forma sostenida desde 2005 a 2011, más que el promedio mundial (10,5%). Y en el Perú 40% de las empresas ya vienen utilizando este tipo de soluciones. Como consecuencia, muchas empresas de los sectores de industria, servicios o comercialización de productos tienen la necesidad de una solución 40 que les permita analizar los datos históricos que han sido almacenados en sus sistemas transaccionales, de manera que se pueda servir de información con valor agregado que apoye en la toma de decisiones signifique una ventaja competitiva frente a la competencia. Para esto se propone una solución de Inteligencia de Negocio que permita aprovechar los datos históricos, de manera que por medio de reportes dinámicos se muestren indicadores de gestión que ayuden en la toma de decisiones. Debido a que el ERP O7/Solution no cuenta con una solución de este tipo, se propone la construcción de un Sistema Gerencial basado en la Implantación de una Suite Integrada de las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial dentro de la empresa, tomando como fuente de datos transaccional el modelo de datos del O7/Solution. 41 2. Capítulo 2: Análisis 2.1. Definición de la metodología de la solución Para poder llevar a cabo el siguiente proyecto es necesario seguir ciertas metodologías y lenguajes de modelado que marcarán las pautas y especificaciones para obtener un producto de calidad y cumplir con los objetivos planteados. Actualmente existen diversas metodologías que se pueden aplicar a este tipo de proyectos de desarrollo de software. Se revisarán las características de algunas de ellas, entre las cuales se encuentran las siguientes metodologías: Rational Unified Process (RUP), Extreme Programing (XP) y Métrica V3. A continuación se presentan las características de algunas de las metodologías mencionadas: Metodología Rational Unified Process (RUP): Esta metodología es un proceso de desarrollo de software estándar más utilizada para realizar el análisis, implementación y documentación de sistemas. RUP enfatiza en el uso de las mejores prácticas en desarrollo de software con el objetivo de reducir riesgos. Estas prácticas son las siguientes:  Desarrollo Iterativo  Administración de Requerimientos  Uso de arquitecturas basadas en componentes  Modelamiento visual  Continuo control de calidad  Gestión de Cambios RUP es un proceso iterativo que identifica 4 fases en cualquier proyecto de desarrollo de software, que son Concepción, Elaboración, Construcción y Transición [RAT01]. Estas fases se muestran en la figura 2.1.1. 42 Figura 2.1.1 Fases e iteraciones de la Metodología RUP  Concepción: En esta fase se determina la visión del proyecto, se realiza un plan de fases y se identifican los riesgos.  Elaboración: Se realiza un plan de proyecto, se contemplan los casos de uso, se eliminan los riesgos y se determina la arquitectura óptima.  Construcción: Se concentra en la elaboración del producto, el objetivo primordial de esta fase es obtener la capacidad operacional del software según los estándares y requerimientos establecidos.  Transición: El producto final es implantado y puesto en funcionamiento, en esta etapa pueden surgir nuevos requerimientos que deben ser sujetos a análisis. eXtreme Programming (XP): Es una disciplina de desarrollo de software desarrollada por Kent Beck en 1996 y está basada en 4 valores que son comunicación, simplicidad, retroalimentación y coraje. Esta metodología exige que haya una continua comunicación entre el cliente y los miembros del equipo de desarrollo. El cliente que permanecerá junto al equipo de trabajo será el decidirá lo que será desarrollado y en qué orden. La simplicidad de la metodología se basa en continuos cambios del código fuente. La retroalimentación se basa en que se vayan generando continuas versiones del software y versiones de pruebas. El 43 coraje consiste en realizar las actividades más adecuadas, incluso cuando no son las más usadas o populares. Estos valores son soportados por 12 prácticas que sigue XP y son las siguientes:  Planeamiento: Determina las características de las versiones a través de una combinación de prioridades y estimaciones técnicas.  Pequeñas versiones: Se generan versiones del software con cambios pequeños para el cliente.  Metáfora: Consiste en una descripción simple del modo de funcionamiento del software.  Diseño Simple: Se utiliza un diseño en base a un código fuente simple. Se realiza una continua búsqueda de código complejo con el objetivo de removerlo y reemplazarlo.  Testeo: El cliente es el que especifica las pruebas a realizar para el software. Los desarrolladores especifican las pruebas antes de programar el código fuente.  Refactoring: Es una técnica que busca duplicaciones y complejidades en el código fuente con el objetivo de simplificarlos y optimizarlos.  Programación en parejas: Consiste en equipos de 2 personas para el desarrollo del software. Mientras uno escribe el código fuente, el otro revisa por alguna inconsistencia o duplicidad y lo corrige.  Propiedad colectiva: Consiste en que todos los desarrolladores son dueños del código fuente, por lo tanto cualquiera está en la capacidad de realizar algún cambio.  Integración Continua: Cada vez que se culmine con un desarrollo durante el día se integran todos los códigos fuentes con el objetivo de mantener una versión única del desarrollo.  Semanas de 44 horas: Se basa en que los desarrolladores no pueden trabajar de manera eficiente si se encuentra cansados. No se permiten sobretiempos en el trabajo en 2 semanas consecutivas.  Clientes a tiempo completo: Consiste en que una persona encargada por parte del cliente trabajará a tiempo completo junto al equipo de desarrollo. 44  Codificación Estándar: Los programadores seguirán ciertos estándares de programación. Métrica Versión 3: Esta metodología ofrece a las Organizaciones un instrumento útil para la sistematización de las actividades que dan soporte al ciclo de vida del software de manera que permita alcanzar los siguientes objetivos [CSA01]:  Definir un Sistema de Información que permita alcanzar los objetivos estratégicos de la empresa.  Dar mayor importancia al análisis de requisitos de manera que satisfaga las necesidades de los usuarios.  Mejorar la productividad de los departamentos de Sistemas y TI.  Facilitar la comunicación y entendimiento entre los distintos participantes en el desarrollo del software.  Facilitar la operación, mantenimiento y uso de los productos de software obtenidos. Los procesos de la estructura principal de METRICA Versión 3 son los siguientes:  Planificación de Sistemas de Información.  Desarrollo de Sistemas de Información.  Mantenimiento de Sistemas de Información. Por otro lado, mucha soluciones de Inteligencia de Negocios siguen un método desarrollado en 6 fases o etapas y en el análisis e identificación de Indicadores de Gestión o KPI’s. Estas etapas se muestran en la figura 2.1.2. 45 Figura 2.1.2 Fases de la Metodología basada en KPI’s 46 Para el desarrollo del presente proyecto de tesis se ha considerado utilizar una adaptación de la Metodología RUP junto al Lenguaje de Modelado Unified Modeling Language (UML), además de utilizar las 6 etapas de análisis e identificación de Indicadores de Gestión o KPI’s. Esta metodología se presenta como una opción adecuada debido a que el proyecto de tesis es de largo plazo y será desarrollado por etapas, y en el cual se busca que el producto final sea de calidad. Por otro lado permitirá controlar los cambios de una mejor manera y analizar los riesgos cuidadosamente. Además se seguirán las 6 fases para el desarrollo de este tipo de soluciones, donde cada fase será ejecutada en conjunto con las fases de RUP. 2.2. Identificación de Requerimientos En el presente capítulo se explican los requerimientos estratégicos, funcionales y técnicos que se deberán tomar en cuenta para la implementación de la solución. Cada uno de los requerimientos fue obtenido mediante una investigación de los indicadores de gestión estándares que necesitan las áreas de Finanzas, Contabilidad, Recursos Humanos y Comercial en una empresa que brinde servicios o comercialice productos para una mejor toma de decisiones. Por otro lado, se realizaron entrevistas con gerentes y socios de distintas empresas donde se pudieron identificar los requerimientos principales para un sistema gerencial que apoye en la toma de decisiones basado en indicadores de gestión. Como resultado del desarrollo de cada una de las etapas definidas de la metodología RUP, se tienen los siguientes entregables, los cuales se encuentran en la sección de Anexos:  Diagrama de Descomposición de Tareas del Proyecto. (Anexo I)  Diagrama de Gantt. (Anexo II)  Modelo de Base de Datos del Datawarehouse. (Anexo III)  Manual de Usuario de Herramienta de Análisis. (Anexo IV)  Manual de Usuario de Herramienta de Administración. (Anexo V)  Glosario de Términos. (Anexo VI)  Descripción del ERP O7/Solution. (Anexo VII) 47 2.2.1. Requerimientos Estratégicos Los requerimientos estratégicos que determinan las metas y objetivos generales de las empresas entrevistadas para un sistema gerencial se muestran en la tabla 2.2.1. Nro. Req. Requerimiento 1 Poder analizar la información histórica, de manera que brinde un valor agregado a la empresa y sea un factor determinante en la toma de decisiones. 2 Contar con vistas de análisis que permita generar indicadores de gestión para el análisis de tendencias, oportunidades, desempeño, etc. 3 Brindar una solución aplicable para cualquier empresa de servicio o comercialización de productos en base a un modelo multidimensional flexible para cualquier fuente de datos transaccional. 4 Contar con la facilidad de visualizar la información consolidada de los procesos de negocio y administración de la empresa. Tabla 2.2.1 Requerimientos Estratégicos 2.2.2. Requerimientos Funcionales Los requerimientos funcionales de cada una de las áreas que maneja el sistema se muestran en las tablas 2.2.2, 2.2.3, 2.2.4 y 2.2.5. Área de Finanzas: Nro. Req. Requerimiento 1 Realizar el análisis de los documentos que cuentan con una promesa de pago y/o cobro, es decir aquellos documentos que han sido provisionados. 2 Analizar los ingresos y gastos que demandan los clientes. 3 Realizar el análisis de Evolución de Ganancias. 4 Generar cálculo del Indicador Financiero Return of Investment (ROI) por periodos y años. 5 Generar cálculo del Indicador Financiero Return of Investment Capital (ROIC) por periodos y años. 6 Generar cálculo del Indicador Financiero Earned Value Aggregated (EVA) por periodos y años. Tabla 2.2.2 Requerimientos Funcionales del Área de Finanzas 48 Área de Contabilidad: Nro. Req. Requerimiento 1 Realizar el análisis de saldos por cuenta contable, centro de costo y entidad correspondientes a los asientos contables de cada uno de los documentos tanto de los proveedores, bancos, clientes y entidades varias. 2 Permitir hacer drill down de los movimientos contables de la empresa. 3 Realizar el análisis de Presupuestos Ingresados, Ejecutados y Modificados. Tabla 2.2.3 Requerimientos Funcionales del Área de Contabilidad Área de Recursos Humanos: Nro. Req. Requerimiento 1 Realizar el análisis de costo empresa de las personas. 2 Realizar el análisis de los costos de la empresa. 3 Realizar un análisis de banda salarial. 4 Generar cuadros de estadísticas de personal. 5 Generar cuadros de rotación de personal. 6 Realizar un análisis de conceptos calculados de planilla. 7 Realizar un análisis de pago de planilla por trabajador. 8 Realizar un análisis de provisiones anuales por compañía y sucursales. 9 Realizar un análisis de provisiones por centro de costo. 10 Generar un cuadro de evolución de costos por concepto. 11 Generar un cuadro de evolución de sueldos. 12 Realizar un análisis de Horas Extras. Tabla 2.2.4 Requerimientos Funcionales del Área de Recursos Humanos Área Comercial: Nro. Req. Requerimiento 1 Realizar el análisis de cumplimiento de ventas sobre la meta. 2 Realizar el análisis de los gastos operativos de compra por empleado. 3 Realizar el análisis de las Ventas Anuales. 4 Realizar el análisis de las Compras Anuales. 5 Realizar el análisis de Pareto de las Ventas y Compras. Tabla 2.2.5 Requerimientos Funcionales del Área Comercial 49 2.2.3. Requerimientos No Funcionales Entre los requerimientos no funcionales para la implementación del producto se muestran en la tabla 2.2.6: Nro. Req. Requerimiento 1 El tiempo de respuesta de las consultas deberá ser de 20 segundos como máximo, a pesar de contar con gran cantidad de información histórica. 2 Los reportes de análisis deberán contar con una interfaz de usuario apropiada, debido a que los usuarios finales serán colaboradores de la alta dirección. 3 Se deberá contar con los módulos H/Solution, D/Solution, L/Solution y F/Solution del ERP O7 Solution. 4 Motor de Base de Datos Oracle 10g. 5 Servidor con soporte a un Sistema OLAP, unidad disco duro de mínimo 50 GB con capacidad de aumentar dependiendo de la cantidad de información de la empresa. 6 Tener instalado el Oracle Application Server 10g. 7 Se deberá tener la herramienta Oracle Business Intelligence Discoverer Plus 10g instalada. 8 Habilitar los puertos 1778 y 1777 del servidor donde se encontrará instalada la herramienta Oracle Discoverer Plus para el acceso por web de los clientes. 9 El Datawarehouse deberá ser escalable, es decir los usuarios deberán estar en capacidad de crear nuevos indicadores en base a la estructura de datos de los datamarts. Tabla 2.2.6 Requerimientos No Funcionales 2.3. Análisis de la Solución 2.3.1. Modelo de Casos de Uso En esta sección se presentan los diagramas de casos de uso del Sistema Gerencial obtenidos durante el proceso de especificación de requisitos, los cuales muestran en alto nivel las funcionalidades que el sistema realizará. Inicialmente, se indica el catálogo de actores que interactúan con el sistema y posteriormente la descripción de cada uno de los paquetes con sus respectivos diagramas de casos de uso. 50 2.3.2. Catálogo de Actores Figura 2.3.1 Catálogo de Actores  Administrador del Sistema: Es la persona encargada de administrar el sistema, de asignar o restringir los accesos y permisos a los usuarios sobre los reportes de análisis del Sistema Gerencial. Por otro lado, es el encargado de ejecutar los procesos ETL de manera periódica de manera que se vaya consolidando la información en el Datawarehouse.  Usuario de Recursos Humanos: Es la persona encargada de la gestión de los pagos de planilla al personal y de los recursos humanos de la empresa, y de consultar la información de gestión para dicha área.  Usuario de Finanzas: Es la persona encargada de la gestión financiera dentro de la empresa, y de consultar la información de gestión para dicha área.  Usuario de Contabilidad: Es la persona encargada de la gestión contable y presupuestal dentro de la empresa, y de consultar la información de gestión para dicha área.  Usuario de Comercial: Es la persona encargada de la gestión de compra y venta dentro de la empresa y de consultar la información de gestión para dicha área. 51 2.3.3. Casos de Uso por Paquete Paquete Recursos Humanos: Emitir Reporte de Costo Empresa del Trabajador Emitir Reporte de Análisis de Costo de la Empresa Emitir Reporte de Análisis de Banda Salarial Generar Cuadros de Estadísticas de Personal Emitir Reporte de Rotación de Personal Emitir Reporte de Datos Calculados por Planilla Emitir Reporte de Análisis de Provisiones Emitir Cuadro de Evolución de Costos Emitir Reporte de Análisis de Horas Extras Usuario de Recursos Humanos Emitir Reporte de Evolución de Sueldos Figura 2.3.2 Diagrama de Casos de Uso – Paquete RRHH 52 Paquete Finanzas: Figura 2.3.3 Diagrama de Casos de Uso – Paquete Finanzas Emitir Reporte de Análisis de Evolución de Ganancias Emitir Reporte de Indicador Financiero ROI Emitir Reporte de Indicador Financiero EVA Emitir Reporte de Indicador Financiero ROIC Emitir Reporte de Análisis de Gastos e Ingresos de Clientes Usuario de Finanzas Emitir Reporte de Análisis de Documentos Provisionados 53 Paquete Contabilidad: Emitir Reporte de Análisis de Saldos Emitir Reporte de Detalle de Movimientos Contables Emitir Reporte de Análisis de Presupuestos Usuario de Contabilidad Figura 2.3.4 Diagrama de Casos de Uso – Paquete Contabilidad Paquete Comercial: Emitir Reporte de Análisis de Gastos de Compra vs Ventas Emitir Reporte de Análisis de Gastos Operativos vs Ventas Emitir Reporte de Análisis de Gastos Operativos por Empleado Emitir Reporte de Ventas Anuales Usuario de Comercial Emitir Reporte de Análisis de Pareto de Ventas y Compras Figura 2.3.5 Diagrama de Casos de Uso – Paquete Comercial 54 2.3.4. Especificación de Casos de Uso Paquete Recursos Humanos Caso de Uso: Emitir Reporte de Costo Empresa del Trabajador Actor Primario: Usuario de Recursos Humanos Descripción Este caso de uso permite emitir el reporte de análisis de Costo Empresa del Trabajador. Pre-condiciones El usuario debe haber accedido al sistema. El usuario se encuentra en la pantalla de Reporte de Costo Empresa del Trabajador. Los procesos ETL han sido ejecutados. Post-condiciones El reporte de Costo Empresa del Trabajador ha sido emitido. Puntos de Inclusión Ninguno Puntos de Extensión Ninguno Excepciones No hay datos disponibles. Los datos son inconsistentes. Requerimientos Especiales Ninguno Flujo Básico – Emitir Reporte de Costo Empresa del Trabajador Escenario Necesidad de emitir y analizar el reporte de Costo Empresa del Trabajador. Actor Sistema 1. Selecciona Emitir Reporte de Costo Empresa. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Centro de Costo  Año de Proceso  Periodo de Proceso  Tipo de Proceso Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Total de Remuneraciones  Total Aportaciones  Total Provisiones (CTS + Gratificación + Vacaciones)  Costo Empresa Filas:  Nombre del Trabajador 3. Selecciona un valor de los elementos de página. 4. Refresca la información del reporte de acuerdo a los valores de los elementos de página, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que el usuario quiera visualizar un reporte de 55 Costo Empresa del Trabajador. Flujo Alternativo – Actualizar Reporte de Costo Empresa del Trabajador Escenario Necesidad de actualizar los elementos de página del reporte. Actor Sistema 1. Selecciona Emitir Reporte de Costo Empresa. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Centro de Costo  Año de Proceso  Periodo de Proceso  Tipo de Proceso Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Total de Remuneraciones  Total Aportaciones  Total Provisiones (CTS + Gratificación + Vacaciones)  Costo Empresa Filas:  Nombre del Trabajador 3. Modifica los valores seleccionados por defecto de los elementos de página. 4. Modifica los datos mostrados en el reporte de manera dinámica de acuerdo a los valores de los elementos de página seleccionado, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que se quiera modificar un Reporte de Costo Empresa del Trabajador. Flujo Excepcional 1 – No existe información Escenario En caso no exista alguna información por mostrar en el reporte de análisis de acuerdo a los elementos de página seleccionados. Actor Sistema 1. Muestra un mensaje de error indicando que no existe información. 2. Rectifica los datos ingresados. Caso de uso continúa en el flujo 5. Tabla 2.3.1 Caso de Uso Emitir Reporte de Costo Empresa del Trabajador 56 Paquete Finanzas Caso de Uso: Emitir Reporte de Indicador Financiero ROI Actor Primario: Usuario de Finanzas Descripción Este caso de uso permite emitir el reporte de Indicador Financiero ROI. Pre-condiciones El usuario debe haber accedido al sistema. El usuario se encuentra en la pantalla de Reporte de Indicador Financiero ROI. Los procesos ETL han sido ejecutados. Post-condiciones El reporte de Indicador Financiero ROI ha sido emitido. Puntos de Inclusión Ninguno Puntos de Extensión Ninguno Excepciones No hay datos disponibles. Los datos son inconsistentes. Requerimientos Especiales Ninguno Flujo Básico – Emitir Reporte de Indicador Financiero ROI Escenario Necesidad de emitir y analizar el reporte de Indicador Financiero ROI. Actor Sistema 1. Selecciona Emitir Reporte de Indicador Financiero ROI. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Entidad  Año Contable  Periodo Contable Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Utilidades de la Inversión  Costo de la Inversión  ROI Filas:  Centro de Costo 3. Selecciona un valor de los elementos de página. 4. Refresca la información del reporte de acuerdo a los valores de los elementos de página, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que el usuario quiera visualizar un Reporte de Indicador Financiero ROI. Flujo Alternativo – Modificar Reporte de Indicador Financiero ROI Escenario Necesidad de modificar los valores de los elementos de página del reporte, de manera que se actualice de manera dinámica la información mostrada. Actor Sistema 57 1. Selecciona Emitir Reporte de Indicador Financiero ROI. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Entidad  Año Contable  Periodo Contable Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Utilidades de la Inversión  Costo de la Inversión  ROI Filas:  Centro de Costo 3. Modifica los valores seleccionados por defecto de los elementos de página. 4. Modifica los datos mostrados en el reporte de manera dinámica de acuerdo a los valores de los elementos de página seleccionado, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que se quiera modificar un Reporte de Indicador Financiero ROI. Flujo Excepcional 1 – No existe información Escenario En caso no exista alguna información por mostrar en el reporte de acuerdo a los elementos de página seleccionados. Actor Sistema 1. Muestra un mensaje de error indicando que no existe información. 2. Rectifica los datos ingresados. Caso de uso continúa en el flujo 5. Tabla 2.3.2 Caso de Uso Emitir Reporte de Indicador Financiero ROI Paquete Contabilidad Caso de Uso: Emitir Reporte de Análisis de Saldos de Asientos Actor Primario: Usuario de Contabilidad Descripción Este caso de uso permite emitir el reporte de Análisis de Saldos de Asientos. Pre-condiciones El usuario debe haber accedido al sistema. El usuario se encuentra en la pantalla de Reporte de Análisis de Saldos de Asientos. Los procesos ETL han sido ejecutados. Post-condiciones El reporte de Análisis de Saldos de Asientos ha sido emitido. Puntos de Inclusión Ninguno Puntos de Extensión Ninguno Excepciones No hay datos disponibles. 58 Los datos son inconsistentes. Requerimientos Especiales Ninguno Flujo Básico – Emitir Reporte de Análisis de Saldos de Asientos Escenario Necesidad de emitir y analizar el reporte de Análisis de Saldos de Asientos. Actor Sistema 1. Selecciona Emitir Reporte de Saldos de Asientos. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Entidad  Centro de Costo  Asiento Contable  Año Contable  Periodo Contable Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Débito Soles  Débito Dólares  Crédito Soles  Crédito Dólares Filas:  Cuenta Contable 3. Selecciona un valor de los elementos de página. 4. Refresca la información del reporte de acuerdo a los valores de los elementos de página, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que el usuario quiera visualizar un Reporte de Análisis de Saldos por Asiento. Flujo Alternativo – Modificar Reporte de Análisis de Saldos de Asientos Escenario Necesidad de modificar los valores de los elementos de página del reporte, de manera que se actualice de manera dinámica la información mostrada. Actor Sistema 1. Selecciona Emitir Reporte de Análisis de Saldos de Asientos. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página: 59  Compañía  Sucursal  Entidad  Centro de Costo  Asiento Contable  Año Contable  Periodo Contable Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Débito Soles  Débito Dólares  Crédito Soles  Crédito Dólares Filas:  Cuenta Contable 3. Modifica los valores seleccionados por defecto de los elementos de página. 4. Modifica los datos mostrados en el reporte de manera dinámica de acuerdo a los valores de los elementos de página seleccionado, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que se quiera modificar un Reporte de Análisis de Saldos de Asientos. Flujo Excepcional 1 – No existe información Escenario En caso no exista alguna información por mostrar en el reporte de acuerdo a los elementos de página seleccionados. Actor Sistema 1. Muestra un mensaje de error indicando que no existe información. 2. Rectifica los datos ingresados. Caso de uso continúa en el flujo 5. Tabla 2.3.3 Caso de Uso Emitir Reporte de Análisis de Saldos de Asientos Paquete Comercial Caso de Uso: Emitir Reporte de Ventas Anuales Actor Primario: Usuario de Comercial Descripción Este caso de uso permite emitir el reporte de Ventas Anuales. Pre-condiciones El usuario debe haber accedido al sistema. El usuario se encuentra en la pantalla de Reporte de Ventas Anuales. Los procesos ETL han sido ejecutados. Post-condiciones El reporte de Ventas Anuales ha sido emitido. Puntos de Inclusión Ninguno Puntos de Extensión Ninguno Excepciones No hay datos disponibles. Los datos son inconsistentes. Requerimientos Especiales Ninguno 60 Flujo Básico – Emitir Reporte de Ventas Anuales Escenario Necesidad de emitir y analizar el reporte de Ventas Anuales. Actor Sistema 1. Selecciona Emitir Reporte de Ventas Anuales. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Centro de Costo  Año Al ser un reporte de tipo matricial, se muestran los siguientes datos: Columnas:  Periodo  Monto Soles  Monto Dólares Filas:  Local 3. Selecciona un valor de los elementos de página. 4. Refresca la información del reporte de acuerdo a los valores de los elementos de página, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que el usuario quiera visualizar un Reporte de Ventas Anuales. Flujo Alternativo – Modificar Reporte de Ventas Anuales Escenario Necesidad de modificar los valores de los elementos de página del reporte, de manera que se actualice de manera dinámica la información mostrada. Actor Sistema 1. Selecciona Emitir Reporte de Ventas Anuales. 2. Muestra un reporte de tipo matricial con los siguientes elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información: Elementos de Página:  Compañía  Sucursal  Centro de Costo  Año Al ser un reporte de tipo matricial, se muestran los siguientes datos: 61 Columnas:  Periodo  Monto Soles  Monto Dólares Filas:  Local 3. Modifica los valores seleccionados por defecto de los elementos de página. 4. Modifica los datos mostrados en el reporte de manera dinámica de acuerdo a los valores de los elementos de página seleccionado, validando que exista información. (Ver Flujo Excepcional 1) 5. Se repiten los flujos del 1 al 4 cada vez que se quiera modificar un Reporte de Ventas Anuales. Flujo Excepcional 1 – No existe información Escenario En caso no exista alguna información por mostrar en el reporte de acuerdo a los elementos de página seleccionados. Actor Sistema 1. Muestra un mensaje de error indicando que no existe información. 2. Rectifica los datos ingresados. Caso de uso continúa en el flujo 5. Tabla 2.3.4 Caso de Uso Emitir Reporte de Ventas Anuales 2.3.5. Diagrama de Clases Uno de los artefactos muy importantes en el análisis y diseño es el diagrama de clases, que a continuación se presentan los elaborados para el modelo planteado. Se han incluido solo los más relevantes. En la figura 2.3.6 se presenta el diagrama de clases para el área de Recursos Humanos; en la figura 2.3.7, el diagrama de clases para el área de Finanzas; en la figura 2.3.8, el diagrama de clases para el área de Contabilidad; y en la figura 2.3.9, el diagrama de clases para el área Comercial. 62 Paquete Recursos Humanos Compañía Código Descripción Sucursal Código Descripción Concepto Código Descripción Tipo Proceso Posición Fecha Proceso Código Descripción Trimestre Año Periodo Mes Tipo de Proceso Código Descripción Fecha de Proceso Tipo de Cambio Estado Usuario Tipo de Proceso Provisión Código DescripciónSaldos de Planilla Importe Soles Importe Dólares 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 Trabajador Código Nombre Completo Tipo de Trabajador Estado Civil Sexo Centro de Costo Puesto Grado de Instrucción Dirección Tipo de Remuneración Tipo de Cuenta Distrito Provincia Departamento Fecha de Ingreso Fecha de Nacimiento Fecha de Reingreso Local Fecha de Retiro Tipo de Contrato Area Laboral Estado Permanencia 1..n 1 Figura 2.3.6 Diagrama de Clases Recursos Humanos 63 Paquete Finanzas Compañía Código Descripción Sucursal Código Descripción Tipo de Flujo de Caja Código Descripción Código Financiero Código Descripción Grupo Financiero Grupo Financiero Código Descripción Fecha Proceso Código Descripción Trimestre Año Periodo Mes Entidad Código Descripción Cuenta Bancaria Flujo de Caja Nro. Interno de Documento Flag Débito/Crédito Moneda Importe Soles Importe Dólares Monto Pagado Monto Cobrado 1..n 1 1..n 1 1..n1 1..n 1 1..n 1 1..n 1 1..n 1 Tipo de Documento Código Descripción 1..n 1 Figura 2.3.7 Diagrama de Clases Finanzas Paquete Contabilidad Figura 2.3.8 Diagrama de Clases Contabilidad 64 Paquete Comercial Vendedor Código Nombre Completo Sector Estado Cliente Código Razón Social Razón Social Abreviado Tipo Cliente Tipo Persona Grupo País Zona Línea de Negocio Prioridad Atención Compañía Código Descripción Sucursal Código Descripción Artículo Código Descripción Tipo Grupo Subgrupo Estado Proveedor Flg Origen Fecha Proceso Código Descripción Trimestre Año Periodo Mes Centro de Costo Código Descripción Línea de Negocio Código Descripción Proveedor Código Razón Social Razón Social Abreviado Tipo Persona País RUC Zona Órden de Compra Moneda Importe 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 Tipo de Documento Código Descripción 1..n 1 Factura Moneda Subtotal Descuento Importe 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 1..n 1 Figura 2.3.9 Diagrama de Clases Comercial 2.3.6. Análisis de Viabilidad Identificación de los Usuarios Participantes La descripción e identificación de las entidades y usuarios claves del proyecto a realizar se presentan en la tabla 2.3.5. 65 Descripción Entidades Empresas que brindan servicios o comercializan productos y que cuenten con un ERP como solución de administración operativa de los procesos de negocio. La motivación que da lugar a la solución planteada en el presente proyecto de tesis tiene su origen en la falta de reportes de análisis que permitan explotar la información histórica a través de indicadores de gestión para las áreas de Finanzas, Comercial, Recursos Humanos y Contabilidad del ERP. Usuarios Personal administrativo y ejecutivo, así como también el personal de alta gerencia. El personal usuario del Sistema propuesto podrá realizar las consultas de indicadores de gestión de la manera más eficiente y rápida y apoyarse en esta información para la toma de decisiones. Tabla 2.3.5 Identificación de Entidades y Usuarios Clave Costos de Desarrollo Para mostrar de una forma más clara la estimación de costos que generará el presente proyecto de tesis, es conveniente organizarlos según cada unos de los aspectos que componen el desarrollo de la solución. La tabla 2.3.6 describe cada uno de estos aspectos y sus costos asociados. Costos del Proyecto Rubro Valor Estimado (US$) Equipo de Proyecto - Gerente de Proyecto (30 horas) 1,500 - Jefe de Proyecto (90 horas) 2,700 - Analista BI Senior Comercial (150 horas) 3,000 - Analista BI Senior Finanzas (150 horas) 3,000 - Analista BI Senior Recursos Humanos (150 horas) 3,000 - Analista BI Senior Contabilidad (150 horas) 3,000 - Desarrollador BI Senior Comercial (300 horas) 1,500 - Desarrollador BI Senior Finanzas (300 horas) 1,500 - Desarrollador BI Senior Recursos Humanos (300 horas) 1,500 - Desarrollador BI Senior Comercial (300 horas) 1,500 - DBA (50 horas) 500 Equipamiento 100 Útiles de Oficina 50 Manuales y Documentos varios 50 Adquisición de Licencias (10 Usuarios Nombrados) 10,000 66 Costos del Proyecto Gastos Administrativos 100 TOTAL 33,000 Tabla 2.3.6 Costos estimados asociados al desarrollo del Sistema Requerimientos de Hardware y Software Los requerimientos de hardware y software por parte de las empresas para poder hacer uso de esta solución de Business Intelligence se muestran en las tablas 2.3.7 y 2.3.8. Requerimientos de Hardware Nro. Descripción 1 Se requiere tener un servidor de Base de Datos de mínimo 2 GB de RAM y capacidad de disco duro mínimo de 40 GB con la posibilidad de ampliarse dependiendo de la cantidad de información histórica transaccional. 2 Se requiere tener un servidor de Aplicaciones Web de mínimo 2 GB de RAM y capacidad de disco duro expandible con por lo menos 20 GB. 3 Se requiere contar con una buena estructura de conexión de red con todas las estaciones de trabajo dentro de la empresa. 4 De preferencia se necesita tener los servidores de Aplicaciones Web y de Base de Datos por separado. Tabla 2.3.7 Requerimientos de Hardware Requerimientos de Software Nro. Descripción 1 Se requiere tener instalado el motor de base de datos Oracle 10g en el servidor de Base de Datos. 2 Se requiere tener instalado el Oracle Application Server en el servidor de Aplicaciones Web. 3 Se requiere tener instalada la herramienta de análisis y administración de Datawarehouse Oracle Business Intelligence Discoverer Plus 10g y Oracle Discoverer Administrador 10g en el servidor de Aplicaciones Web. 4 Se requiere tener instalado un browser en las estaciones de trabajo clientes de manera que se pueda acceder por Web a los reportes de análisis del datawarehouse. Tabla 2.3.8 Requerimientos de Software 67 Preselección de Alternativas de Solución Como alternativas de soluciones Business Intelligence para la toma de decisiones podemos encontrar lo siguiente: Software comercial:  En la actualidad existe software comercial que permite analizar la información histórica de la empresa producto de sus sistemas transaccionales en base a soluciones de Business Intelligence. Sin embargo este tipo de software no se encuentra integrado al O7/Solution, lo que genera un mayor esfuerzo en la implantación del software.  El software comercial y su implantación demanda un alto costo en comparación con la solución integrada al ERP que se plantea en el presente proyecto, lo cual impide que su uso sea masivo. Beneficios El sistema brindará una serie de beneficios a las empresas que opten por utilizarlo, ya que contribuirá en el análisis empresarial a nivel económico y estratégico de manera que se puedan tomar mejores decisiones que alteren el flujo del negocio de la empresa. Entre los beneficios que el sistema brindará se pueden encontrar los siguientes:  Se podrá realizar el análisis de la situación actual de la empresa y como ha ido evolucionando a lo largo del tiempo.  Se podrá realizar el análisis de las tendencias en cuanto al flujo de negocio.  Se podrán identificar puntos clave y críticos que afectan en las áreas de Finanzas, Contabilidad, Comercial y de Recursos Humanos de la empresa.  Se podrán visualizar los indicadores de gestión mediante reportes de análisis en diversos periodos de tiempo.  Se podrá sustentar la toma de decisiones en información actualizada, consistente y consolidada que muestra el sistema. 68 Evaluación Final Finalmente, luego de analizar los puntos anteriores se puede deducir que en la actualidad, no todas las entidades empresariales cuentan con una solución integrada que permita realizar el análisis de su información transaccional e histórica. Tomando en cuenta esto, todas las empresas que posean un ERP, una cantidad significativa de información histórica y cuente con los requerimientos de hardware mínimo para la implantación, tienen la posibilidad de adquirir esta solución gerencial. 69 3. Capítulo 3: Diseño 3.1. Arquitectura de la Solución Como parte de la etapa de Elaboración de acuerdo a la metodología utilizada es necesario definir al más alto nivel de detalle la arquitectura técnica del sistema gerencial, la cual se representa desagregada en una serie de vistas como la de casos de uso, vista lógica y vista de despliegue. Estas vistas se encuentran diagramadas utilizando modelos rose, aplicando las especificaciones, técnicas y estándares definidos por UML. 3.1.1. Metas y Restricciones de Arquitectura En la tabla 3.1.1 se presentan las metas y restricciones de la arquitectura de software planteada para llevar a cabo el desarrollo del sistema. Nro. Descripción Meta/Restricción 1 El sistema gerencial estará implementado bajo una arquitectura web multicapas (utilizará 3 capas); la primera está orientada a la Interfaz de Usuario; la segunda, al Servidor de Aplicaciones OAS (Oracle Application Server); y la tercera, al servidor de Base de Datos. 70 2 El sistema tiene la característica de portabilidad, de manera que pueda ser accedido desde cualquier PC que tenga instalado el sistema operativo Windows 2003 o XP y que se encuentre conectada en red con el servidor de aplicaciones. 3 El sistema contará con un motor de base de datos Oracle 10g y con el servidor de aplicaciones Oracle Application Server (OAS). 4 Los reportes de análisis del sistema mostrarán la información real y actualizada de las transacciones históricas de la empresa, de manera que pueda ayudar en la toma de decisiones. 5 Los usuarios accederán al sistema mediante un browser, ingresando a la siguiente ruta: http://IPSERVIDOR:7778/discoverer/plus. Para esto es necesario que el puerto 7778 se encuentre habilitado. 6 El sistema será transparente en cuanto a la información que se haya registrado en el sistema transaccional, para lo cual ejecutará algún proceso de validación de datos inconsistentes o errados. 7 Solo se implementará un módulo de usuarios y no de seguridad, debido a que ésta deberá ser administrada desde Discoverer Administrator. 8 La herramienta a utilizar para el análisis y explotación de la información histórica de cada uno de los datamarts será el Oracle Business Intelligence Discoverer Plus. 9 Es necesario que las PC clientes tengan instalado la librería Java 2 Runtime Enviroment para que puedan acceder al Oracle Discoverer Plus. Tabla 3.1.1 Requerimientos de Software 3.1.2. Descripción de Casos de Uso A continuación en la tabla 3.1.2 se describen los casos de uso de cada una de las áreas a implementar. 71 Recursos Humanos Nro. Caso de Uso Descripción 1 Emitir Reporte de Costo Empresa del Trabajador Este caso de uso permitirá emitir un reporte donde se calcule el costo empresa del trabajador en un periodo de tiempo. Para el cálculo se toman en cuenta los ingresos o remuneraciones del trabajador, los aportes por parte de la empresa y las provisiones de gratificaciones, CTS y vacaciones. Además permitirá realizar un comparativo del año actual con el año anterior y un gráfico lineal donde se visualice la evolución de costos en el año seleccionado. 2 Emitir Reporte de Análisis de Costos de la Empresa Este caso de uso permitirá emitir un reporte con el análisis de costos en base la planilla agrupado por centro de costo. Además permitirá visualizar los centros de costo que generan el 80% del total de costo empresa y un comparativo del año actual con el año anterior. 3 Emitir Reporte de Análisis de Banda Salarial Este caso de uso permitirá emitir un reporte que permite visualizar la zona o franja limitada por un máximo y mínimo en la que se encuadran los salarios de todos los puestos pertenecientes a un mismo nivel de clasificación. 4 Generar Cuadros de Estadística de Personal Este caso de uso permitirá generar cuadros con cálculos estadísticos como la cantidad de trabajadores en la empresa, agrupados por sexo, tipo de trabajador, rango de edades, etc. Todos los análisis permitirán realizar comparativos de los últimos 3, 6 y 9 años con el objetivo de visualizar el movimiento de personal en la empresa. 5 Emitir Reporte de Rotación de Personal Este caso de uso permitirá generar un reporte con la cantidad de trabajadores 72 ingresados y cesados en un periodo de tiempo. Todos los análisis permitirán realizar comparativos de los últimos 3, 6 y 9 años con el objetivo de visualizar el movimiento de personal en la empresa. 6 Emitir Reporte de Datos Calculados por Planilla Este caso de uso permitirá emitir un reporte con los montos de los conceptos calculados, producto de los tipos de procesos de planilla. Se podrán visualizar los importes del periodo seleccionado y de manera acumulada con un comparativo acumulado del año pasado. 7 Emitir Reporte de Análisis de Provisiones Este caso de uso permitirá emitir un reporte con todos los conceptos calculados de los procesos de provisiones de Gratificación, CTS y Vacaciones. 8 Emitir Cuadro de Evolución de Costos Este caso de uso permitirá emitir un reporte donde se podrá visualizar el flujo de los costos de planilla a lo largo del tiempo. Además se podrá dar seguimiento por centro de costo, departamento y área dentro del organigrama de la compañía. 9 Emitir Reporte de Análisis de Horas Extras Este caso de uso permitirá emitir un reporte con los montos calculados de las horas extras registradas de los trabajadores en un periodo de tiempo a nivel de centro de costo. 10 Emitir Reporte de Evolución de Sueldos Este caso de uso permitirá emitir un reporte donde se podrá visualizar los cambios de sueldos de los trabajadores a lo largo del tiempo agrupados por cargo, departamento y área. Además se visualizará el promedio de sueldos por cargo de los últimos 3 años. Finanzas Nro. Caso de Uso Descripción 1 Emitir Reporte de Análisis de Este caso de uso permitirá emitir un reporte 73 Documentos Provisionados de aquellos documentos que cuentan con una promesa de pago y/o de cobro sin embargo hasta el momento no existe la obligación de pago/cobro respectivo. 2 Emitir Reporte de Evolución de Ganancias Este caso de uso permitirá emitir un reporte con la evolución de las utilidades a lo largo del tiempo. 3 Emitir Reporte de Indicador Financiero ROI Este caso de uso permitirá emitir un reporte con el cálculo del Indicador Financiero de Retorno de la Inversión ROI en un periodo de tiempo. El cálculo del ROI es el siguiente: ROI = (Ingresos – Costo) / Costo (Traídos al valor presente) 4 Emitir Reporte de Indicador Financiero EVA Este caso de uso permitirá emitir un reporte con el cálculo del Indicador Financiero de Valor Económico Agregado EVA. El cálculo del EVA es el siguiente: EVA = Utilidad Neta después de Impuestos – Cargas de capital 5 Emitir Reporte de Indicador Financiero ROIC Este caso de uso permitirá emitir un reporte con el cálculo del Indicador Financiero de Retorno de la Inversión del Capital ROIC. El cálculo del ROIC es el siguiente: ROIC = Utilidad Neta después de Impuestos/ (Capital de Trabajo Operativo + Activos Fijos Netos + Otros Activos Netos) 6 Emitir Reporte de Análisis de Gastos e Ingresos de Clientes Este caso de uso permitirá emitir un reporte que muestra los gastos (costos de ventas y 74 gastos directos) e ingresos (ventas) producidos por cada cliente. Contabilidad Nro. Caso de Uso Descripción 1 Emitir Reporte de Análisis de Cuentas Contables Este caso de uso permitirá emitir un reporte de análisis de los montos de las cuentas contables. 2 Emitir Reporte de Detalle de Movimiento Contables Este caso de uso permitirá emitir un reporte de detalle de cada movimiento contable generado a nivel mensual y anual. 3 Emitir Reporte de Análisis de Presupuestos Este caso de uso permitirá emitir un reporte de análisis de los montos de presupuesto ingresado, modificado y ejecutado. Ventas Nro. Caso de Uso Descripción 1 Emitir Reporte de Análisis de Gastos de Compra VS. Ventas Este caso de uso permitirá emitir un reporte de comparación entre los gastos de compra VS. gastos de venta, sin incluir el costo del producto. 2 Emitir Reporte de Gastos Operativos VS. Ventas Este caso de uso permitirá emitir un reporte de comparación entre los gastos operativos de venta VS. las ventas realizadas. 3 Emitir Reporte de Gastos Directos por Cliente Este caso de uso permitirá emitir un reporte de los gastos directos que demanda cada cliente. Además mostrará un cuadro comparativo y un gráfico de participación. 4 Emitir Reporte de Ventas Anuales Este caso de uso permitirá emitir un reporte las ventas realizadas en cada año y el porcentaje de variación con el año pasado. Además permitirá visualizar el cumplimiento de las metas proyectadas. 5 Emitir Reporte de Análisis de Pareto de Ventas y Compras Este caso de uso permitirá emitir un reporte con un análisis de Pareto de las compras y ventas realizadas en un periodo de tiempo. 6 Emitir Reporte de Rentabilidad por Cliente Este caso de uso permitirá emitir un reporte de rentabilidad por cliente en un periodo de 75 tiempo específico. Tabla 3.1.2 Descripción de Casos de Uso 3.1.3. Vista Lógica En esta sección se procederá a describir las clases más importantes, su organización en paquetes de servicio y subsistemas, además de la organización de dichos subsistemas en capas. También describe las relaciones más importantes entre los casos de uso, por ejemplo, los aspectos dinámicos de la arquitectura. Debido a que se trata de un sistema OLAP, no es necesario contar con una capa de Lógica del Negocio, ya que está más orientado al análisis del Negocio. En la figura 3.1.1 se muestran los paquetes de diseño significativos. Interfaz de Usuario Acceso a Base de Datos Datos Web Server Figura 3.1.1 Paquetes de Diseño Significativos Capa del Web Server La capa del Web Server está formada por el servidor Web que es un sistema informático conectado a una red, donde se encuentran las páginas, imágenes, componente, etc. que forman una aplicación web, de manera que se encuentren disponibles para los usuarios que quieran acceder. Este servidor es el que procesa todas las llamadas HTTP Request de los clientes por medio de la interfaz de usuarios y responde enviando HTTP Response a los cliente. Capa Interfaz de Usuario La capa de interfaz de usuario incluye todas las clases que se encargan de intermediar entre el usuario del sistema y la aplicación. Esta capa se encarga de mostrar los elementos GUI entre botones, ventanas, etiquetas, etc. 76 que permitirán al usuario interactuar con el sistema de manera que pueda visualizar, modificar y crear nuevos reportes de análisis. Capa de Acceso a Base de Datos La capa de acceso a base de datos incluye todas las clases que permiten que el sistema interactúe con la base de datos de manera que se pueda obtener la información consolidada de los reportes de análisis. Capa de Datos La capa de datos es la que contiene los datos que serán entregados a la capa de interfaz de usuario para que pueda mostrarse en la aplicación el reporte de análisis e interactúa también con la capa de acceso a base de datos. Diagrama de Base de Datos En las figuras 3.1.2, 3.1.3, 3.1.4 y 3.1.5 se muestran los diagramas de base de datos de cada uno de los datamarts. LK_DMTARTCLO ARTCLO_COD: CHAR(16) ARTLAR_DES: VARCHAR2(255) ARTCOR_DES: VARCHAR(60) TIPART_DES: VARCHAR2(100) GRPART_DES: VARCHAR2(100) SUBGRP_DES: VARCHAR2(100) ESTADO_COD: CHAR(1) PROVED_COD: CHAR(14) NACIMP_DES: VARCHR2(100) MONEDA_DES: CHAR(3) COSUNI_DES: NUMBER LK_DMTCENCOS CENCOS_COD: CHAR(12) CENCOS_DES: VARCHAR2(50) CCOABV_DES: VARCHAR2(30) LK_DMTCLINTE CLINTE_COD: CHAR(14) RAZABV_DES: VARCHAR2(50) RAZLAR_DES: VARCHAR2(80) TIPCLI_DES: VARCHAR2(50) TIPPER_DES: VARCHAR2(30) CLIPAD_COD: CHAR(14) NOPAIS_DES: VARCHAR2(50) NOZONA_DES: VARCHAR2(50) LINNEG_DES: VARCHAR2(50) CALIFI_DES: VARCHAR2(20) LK_DMTCMPNIA CMPNIA_COD: CHAR(3) CMPNIA_DES: VARCHAR2(200) LK_DMTCONPAG CONPAG_COD: VARCHAR2(4) CONPAG_DES: VARCHAR2(100) CONING_DES: VARCHAR2(100) LK_DMTCONVTA CNDVTA_COD: CHAR(3) CNDVTA_DES: VARCHAR2(100) FT_DMTDOCCOM CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) ARTCLO_COD: CHAR(16) PROVED_COD: CHAR(14) FECPRO_COD: VARCHAR2(10) TIPDOC_COD: CHAR(2) CENCOS_COD: CHAR(12) CONPAG_COD: VARCHAR2(4) CNTDAD_DES: NUMBER SUBTOT_DES: NUMBER FT_DMTDOCVTA CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) ARTCLO_COD: CHAR(16) VENDOR_COD: CHAR(9) CLINTE_COD: CHAR(14) FECPRO_COD: VARCHAR2(10) TIPDOC_COD: CHAR(2) CENCOS_COD: CHAR(12) CNDVTA_COD: CHAR(3) CNTDAD_DES: NUMBER DSCTO_DES: NUMBER SUBTOT_DES: NUMBER LK_DMTFECPRO FECPRO_COD: VARCHAR2(10) FECPRO_DES: VARCHAR2(30) FECANO_COD: CHAR(4) FECANO_DES: VARCHAR2(30) FECTRI_COD: CHAR(6) FECTRI_DES: VARCHAR2(30) FECPER_COD: CHAR(6) FECPER_DES: VARCHAR2(30) FECMES_COD: CHAR(2) FECMES_DES: VARCHAR2(30) FECSEM_COD: CHAR(2) FECSEM_DES: VARCHAR2(30) LK_DMTPROVED PROVED_COD: CHAR(14) RAZABV_DES: VARCHAR2(70) RAZLAR_DES: VARCHAR2(100) TIPPER_DES: VARCHAR2(50) NOMPAI_COD: CHAR(3) NOMPAI_DES: VARCHAR2(50) RUCCOD_COD: CHAR(15) NOZONA_DES: VARCHAR2(50) LK_DMTSUCSAL SUCSAL_COD: CHAR(6) SUCSAL_DES: VARCHAR2(200) LK_DMTTIPDOC TIPDOC_COD: CHAR(2) TIPDOC_DES: VARCHAR2(40) LK_DMTVENDOR VENDOR_COD: CHAR(9) VENDOR_DES: VARCHAR2(200) MAETRA_COD: CHAR(14) SECTOR_DES: VARCHAR2(100) 77 Figura 3.1.2 Diagrama de Base de Datos del Datamart Comercial LK_DMTCMPNIA CMPNIA_COD: CHAR(3) CMPNIA_DES: VARCHAR2(200) LK_DMTSUCSAL SUCSAL_COD: CHAR(6) SUCSAL_DES: VARCHAR2(200) LK_DMTFECPRO FECPRO_COD: VARCHAR2(10) FECPRO_DES: VARCHAR2(30) FECANO_COD: CHAR(4) FECANO_DES: VARCHAR2(30) FECTRI_COD: CHAR(6) FECTRI_DES: VARCHAR2(30) FECPER_COD: CHAR(6) FECPER_DES: VARCHAR2(30) FECMES_COD: CHAR(2) FECMES_DES: VARCHAR2(30) FECSEM_COD: CHAR(2) FECSEM_DES: VARCHAR2(30) LK_DMTCONCEP CONCEP_COD: CHAR(14) CONCEP_DES: VARCHAR2(100) POSPLA_DES: NUMBER TIPPRO_COD: CHAR(15) LK_DMTTIPPRO TIPPRO_COD: CHAR(15) TIPPRO_DES: VARCHAR2(100) TIPCAM_DES: NUMBER ESTADO_DES: VARCHAR2(100) USUCOD_DES: VARCHAR2(100) FECPRO_COD: VARCHAR2(10) LK_DMTMAETRA MAETRA_COD: CHAR(14) MAETRA_DES: VARCHAR2(300) TIPTRA_DES: VARCHAR2(100) ESTCIV_DES: VARCHAR2(50) CENCOS_DES: VARCHAR2(100) NOSEXO_DES: VARCHAR2(20) PUESTO_DES: VARCHAR2(100) GRAINS_DES: VARCHAR2(100) DIRECC_DES: VARCHAR2(300) TIPREM_DES: VARCHAR2(100) TIPCTA_DES: VARCHAR2(50) UBIDIS_DES: VARCHAR2(80) UBIPRV_DES: VARCHAR2(80) UBIDEP_DES: VARCHAR2(80) FECINI_DES: DATE FECNAC_DES: DATE FECING_DES: DATE UBICOD_DES: VARCHAR2(80) FECCON_DES: DATE AREALA_DES: VARCHAR2(100) ESTADO_DES: VARCHAR2(30) PERMAN_DES: NUMBER LK_DMTTIPPRV TIPPRV_COD: CHAR(1) TIPPRV_DES: VARCHAR2(50) FT_DMTPLANIL CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) FECPRO_COD: VARCHAR2(10) TIPPRO_COD: CHAR(15) CONCEP_COD: CHAR(14) MAETRA_COD: CHAR(14) IMPMNA_DES: NUMBER IMPMME_DES: NUMBER FT_DMTPROVIS CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) TIPPRV_COD: CHAR(1) FECPRO_COD: VARCHAR2(10) MAETRA_COD: CHAR(14) REMUNE_DES: NUMBER MONTOP_DES: NUMBER GRATIF_DES: NUMBER COMISI_DES: NUMBER HOREXT_DES: NUMBER ASIFAM_DES: NUMBER BONAFP_DES: NUMBER BONPRD_DES: NUMBER BASICO_DES: NUMBER OTRREM_DES: NUMBER BONEMP_DES: NUMBER ALIMEN_DES: NUMBER NUMANO_DES: NUMBER NUMMES_DES: NUMBER NUMDIA_DES: CHAR(18) MESPRV_DES: NUMBER MESAPO_DES: NUMBER TOTAPO_DES: NUMBER TOTHAB_DES: NUMBER Figura 3.1.3 Diagrama de Base de Datos del Datamart de RRHH 78 LK_DMTCMPNIA CMPNIA_COD: CHAR(3) CMPNIA_DES: VARCHAR2(200) LK_DMTSUCSAL SUCSAL_COD: CHAR(6) SUCSAL_DES: VARCHAR2(200) LK_DMTPERCNT PERCNT_COD: CHAR(6) PERCNT_DES: VARCHAR2(30) ANOCNT_COD: CHAR(4) ANOCNT_DES: VARCHAR2(30) LK_DMTCTACON CTACON_COD: CHAR(16) CTACON_DES: VARCHAR2(100) TIPCTA_DES: VARCHAR2(20) LK_DMTCENCOS CENCOS_COD: CHAR(12) CENCOS_DES: VARCHAR2(50) CCOABV_DES: VARCHAR2(30) LK_DMTENTDAD ENTDAD_COD: VARCHAR2(16) ENTDAD_DES: VARCHAR2(100) TIPTRN_COD: CHAR(2) LK_DMTTIPCMP TIPCMP_COD: CHAR(3) TIPCMP_DES: VARCHAR2(100) FT_DMTIMPSAL CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) PERCNT_COD: CHAR(6) CENCOS_COD: CHAR(12) ENTDAD_COD: VARCHAR2(16) TIPCMP_COD: CHAR(3) CTACON_COD: CHAR(16) NROCMP_COD: CHAR(18) NRODOC_COD: VARCHAR2(10) TIPDOC_COD: VARCHAR2(10) MONORI_COD: CHAR(3) IMPMNA_DES: CHAR(18) IMPMNE_DES: CHAR(18) LK_DMTTIPPTO TIPPTO_COD: CHAR(2) TIPPTO_DES: VARCHAR2(100) TIPMOV_DES: VARCHAR2(20) FT_DMTIMPPTO CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) PERCNT_COD: CHAR(6) CTACON_COD: CHAR(16) CENCOS_COD: CHAR(12) TIPCMP_COD: CHAR(3) TIPPTO_COD: CHAR(2) ESTADO_COD: VARCHAR2(20) MONORI_COD: CHAR(3) MONEXT_COD: CHAR(3) FORMNA_DES: NUMBER FORMNE_DES: NUMBER MODMNA_DES: NUMBER MODMNE_DES: NUMBER EJEMNA_DES: NUMBER EJEMNE_DES: NUMBER Figura 3.1.4 Diagrama de Base de Datos del Datamart de Contabilidad LK_DMTCMPNIA CMPNIA_COD: CHAR(3) CMPNIA_DES: VARCHAR2(200) LK_DMTSUCSAL SUCSAL_COD: CHAR(6) SUCSAL_DES: VARCHAR2(200) LK_DMTPERCNT PERCNT_COD: CHAR(6) PERCNT_DES: VARCHAR2(30) ANOCNT_COD: CHAR(4) ANOCNT_DES: VARCHAR2(30) LK_DMTTIPDOC TIPDOC_COD: CHAR(2) TIPDOC_DES: VARCHAR2(40) LK_DMTCODFIN CODFIN_COD: CHAR(6) CODFIN_DES: VARCHAR2(100) LK_DMTGRPFIN GRPFIN_COD: CHAR(4) GRPFIN_DES: VARCHAR2(100) LK_DMTCTABCO CTABCO_COD: CHAR(17) CTABCO_DES: VARCHAR2(100) CTAABV_DES: VARCHAR2(70) BCONOM_DES: VARCHAR2(100) TIPCTA_DES: VARCHAR2(50) MONEDA_DES: CHAR(3) CTACON_DES: VARCHAR2(30) SALDOT_DES: NUMBER ESTADO_DES: VARCHAR2(50) FT_DMTFLJCJA CMPNIA_COD: CHAR(3) SUCSAL_COD: CHAR(6) TIPDOC_COD: CHAR(2) NROINT_COD: CHAR(18) NROEXT_COD: CHAR(18) PERCNT_COD: CHAR(6) MONEDA_COD: CHAR(18) OBSERV_DES: CHAR(18) CODFIN_COD: CHAR(6) CTABCO_COD: CHAR(17) TIPFJA_COD: CHAR(18) TIPMOV_COD: CHAR(18) GRPFIN_COD: CHAR(4) ENTDAD_COD: VARCHAR2(16) TIPPAG_COD: CHAR(18) NRODOC_COD: CHAR(18) IMPMNA_DES: CHAR(18) IMPMNE_DES: CHAR(18) LK_DMTENTDAD ENTDAD_COD: VARCHAR2(16) ENTDAD_DES: VARCHAR2(100) TIPTRN_COD: CHAR(2) Figura 3.1.5 Diagrama de Base de Datos del Datamart de Finanzas Flujo del Proceso de Negocio En la figura 3.1.6 se muestra el flujo del proceso de negocio de la solución, que empieza desde la ejecución de los procesos ETL que extrae, 79 transforma, depura y carga la información desde la base de datos transaccional del ERP O7/Solution y lo almacena en la nueva instancia de base de datos del Datawarehouse BIDTW (Business Intelligence Datawarehouse), en cada uno de los datamarts a partir de los cuales se emitirán los reportes de análisis gerenciales a través de la herramienta Discoverer Plus. Figura 3.1.6 Flujo del Proceso de Negocio 3.1.4. Vista de Despliegue Se describe la vista de despliegue en la figura 3.1.7 que muestra los nodos físicos que conforman la configuración de la plataforma del sistema, además ilustra la relación que existe entre las tareas (provenientes de la vista de proceso) y los nodos físicos a los que corresponden. Procesos ETL Datamart Comercia Datamart Contabilidad Datamart Finanzas Datamart RRHH Instancia BIDTW DW_PROD DW_DICC DW_ODS DW_DISC DW_SUMA DW_LOG Cliente Servidor de Base de Datos Interfaz de Usuario Aplicación de Análisis de Información Datawarehouse Almacenamiento de Datos Este nodo contiene al servidor de base de datos al cual se conecta el usuario por medio de la aplicación y de la cual se analiza la información a través de las hojas de análisis del datawarehouse Este nodo contiene a las PC's de los usuarios que se conectan por medio de la aplicación web Discoverer Plus a la base de datos para obtener la información de sus reportes de análisis gerenciales. << WAN de la empresa >> Control de Acceso Servidor de Aplicaciones (OAS) << WAN de la empresa >> Este nodo contiene a la aplicación Discoverer Plus mediante la cual acceden los clientes por web a cada uno de los datamarts. 80 Figura 3.1.7 Diagrama de Despliegue Cliente Este nodo representa a la PC del usuario que acceda al datamart de las distintas áreas de la empresa, cuya localización puede ser variable siempre que se encuentre conectado por red al servidor y pueda acceder mediante un browser a la aplicación. Servidor de Aplicaciones (OAS) Este nodo contendrá al servidor de aplicaciones OAS (Oracle Application Server) y la herramienta de análisis de los reportes que es el Oracle Business Intelligence Discoverer Plus. Los clientes se conectarán por medio de un browser al Discoverer Plus, de manera que sea este el que interactúe con el servidor de base de datos y pueda extraer la información de cada uno de los indicadores planteados visualizados en los reportes. Servidor de Base de Datos Este nodo contendrá a la base datos que almacenará toda la información histórica producto de la ejecución de los procesos de extracción, transformación y carga desde una base de datos transaccional a una base de datos analítica. 3.1.5. Tamaño y Performance El sistema deberá ser capaz de soportar por lo menos 50 usuarios accediendo a la base de datos al mismo tiempo con un tiempo de consulta no mayor a 20 segundos. Los accesos a la base de datos por medio de los reportes de análisis contarán con todas las técnicas de mejoramiento de performance en cuanto a la base de datos, de manera que el tiempo de respuesta de los reportes de análisis no sea a 2 minutos, independientemente de la complejidad de la consulta. 81 Las estaciones clientes deberán contar al menos con un espacio en disco no menor de 10 GB y 128 MB de memoria RAM. El sistema gerencial permitirá realizar la administración de cada uno de los datamarts a nivel lógico mediante la herramienta Oracle Discoverer Administrator, la cual será utilizada por los encargados del área de sistemas. En caso se requiera realizar un cambio de adecuación de los datamarts se deberán hacer desde el Discoverer Administrator que contiene las dimensiones y variables manejadas en el modelo de datos estrella. 3.1.6. Calidad Las estaciones tendrán instalada una versión de Windows, ya sea XP,o Vista, como sistema operativo cliente. Por otro lado contarán con la aplicación Discoverer Administrator solo las estaciones de los administradores del sistema. El servidor de aplicaciones contará con el Oracle Application Server como administrador de servidor de aplicaciones y la herramienta de análisis Oracle Business Intelligence Discoverer Plus, mediante la cual podrán acceder las estaciones por medio de un browser y la siguiente dirección:  http://IP-APPSERVER:7778/discoverer/plus La herramienta de análisis utilizada facilitará las labores al personal de la Empresa, ya que desarrolla un entorno sencillo e intuitivo que permite familiarizarse con el sistema, además que los usuarios puedan crear reportes de análisis donde la información se irá refrescando de manera dinámica. Debido a la importancia del manejo de información, el sistema estará disponible las 24 horas del día, los 7 días de la semana para que así el personal administrativo pueda acceder a éste cuando lo requiera. 3.1.7. Arquitectura Tecnológica En la figura 3.1.8 se muestra la arquitectura tecnológica utilizada para el acceso al datawarehouse. 82 Figura 3.1.8 Arquitectura Tecnológica 83 3.2. Diseño de Interfaz Gráfica En esta sección de describirá las especificaciones de diseño de interfaz de usuario utilizada por la herramienta de análisis de información Oracle Discoverer Plus, de manera que el usuario pueda interactuar de manera sencilla al datawarehouse. 3.2.1. Lineamientos Generales La Interfaz Gráfica de Usuario (Graphical User Interface - GUI) es el medio por el cual el usuario interactúa con el Sistema y cuenta con las siguientes características:  Interactividad: El usuario no debe esperar mucho tiempo para que su orden sea procesada.  Facilitar las tareas: La interfaz debe facilitar el trabajo del usuario. La GUI no debe interferir con el flujo de trabajo.  Consistencia y Sencillez: La GUI del Sistema debe ser visual, conceptual y lingüísticamente sencilla. Por ello se usarán elementos en su mayoría visuales, pues son de compresión inmediata y están relacionados a analogías del mundo real. Son organizados y su funcionalidad es comprensible.  Toda la interfaz soporta múltiples idiomas.  Eficiencia: Se busca que el sistema minimice el número de pasos necesarios para llevar a cabo una operación que el usuario desee realizar con rapidez. 3.2.2. Detalle de los estándares de interfaz gráfica de la herramienta de análisis En la figura 3.2.1 se muestra el detalle de todos los componentes de interfaz gráfica del área de trabajo del Oracle Discoverer Plus. (Ver Anexo IV) 84 Figura 3.2.1 Componentes del Oracle Discoverer Plus I. Barra de Menú II. Barra de Herramientas III. Panel de Elementos Disponibles: Muestra los Elementos a los cuales el usuario tiene acceso y puede manipular. IV. Lista de Áreas de Negocio: Muestra las Áreas de Negocio a los cuales el usuario tiene acceso. V. Área de Elementos de Página: Muestra los Elementos de página que tienen la funcionalidad de ser filtros al momento de mostrar la información. VI. Título de la hoja de trabajo VII. Panel de Elementos Seleccionados: Muestra los Elementos seleccionados para la creación de la hoja de trabajo. VIII. Pestañas de las hojas de trabajo del libro: Muestra las pestañas correspondientes a las hojas de trabajo contenidas en el libro. IX. Libro de Trabajo y Gráfico. I II III IV V VI VII VIII IX 85 3.2.3. Detalle de los estándares de interfaz gráfica de los reportes de análisis En la figura 3.2.2 se muestran los componentes de diseño de los reportes de análisis de cada uno de los datamarts. Figura 3.2.2 Componentes de los Reportes de Análisis de los Datamarts I. Título: Este componente es donde figura el título del reporte al cual se le podrá concatenar parámetros de manera que el título se forme de manera dinámica. Por ejemplo se podrá tener como título lo siguiente: “Reporte de Ventas Anuales - &COMPANIA - &AÑO”, donde &COMPANIA es reemplazado por el nombre de la compañía seleccionada y &ANO es reemplazado por el año del reporte. II. Columnas Verticales: Este componente es donde figuran todos los elementos de las dimensiones modeladas y formarían el eje y del reporte. Solo para los reportes de tipo matriz se tendrá este componente, ya que también se podrán crear reportes tipo tabulares donde solo se tendría elementos del eje x. III. Jerarquías: Este componente permite ir a un nivel de detalle o a uno más genérico dependiendo de la jerarquía que se haya configurado desde el Oracle Administrador. Por ejemplo se puede tener la siguiente jerarquía como la que se muestra en la figura 3.2.3 con 2 tipos de navegación (bajar o subir un nivel dentro de la jerarquía): I II III IV V VI VII 86 Año Meses Días Figura 3.2.3 Sentidos de Navegación en una Jerarquía IV. Formatos Condicionales: Este componente permite configurar un formato a los datos mostrados dentro del reporte que siguen cierta condición predefinida. Por ejemplo se puede configurar el reporte de manera que se muestren en rojo los montos de las ventas menores a S/.1,000; en amarillo las ventas mayores a S/.1,000 y menores a S/.10,000; y por último en verde las ventas mayores a S/.10,000. V. Lista de Valores: Este componente permite mostrar la lista de valores de todos los elementos de las dimensiones del modelo que se han ubicado en esta sección del reporte. Esto permite que se pueda agregar o eliminar de manera dinámica algún otro elemento de una dimensión y se mostrará su lista de valores para que el usuario seleccione el valor que desee y los datos del reporte se recalculen de manera dinámica. VI. Datos Calculados: Este componente permite mostrar columnas o filas en base a una fórmula de cálculo, entre las cuales se tienen sumatorias, promedios, varianza, etc. VII. Gráfico: Este componente permite mostrar un gráfico que ilustre los datos mostrados en el reporte, ya sea mediante un gráfico de tipo barras, pie, lineal, diagrama de Pareto, etc. 87 4. Capítulo 4: Construcción En el siguiente capítulo se mostrarán las técnicas de implementación del sistema gerencial utilizadas, donde se describirán las tecnologías de información utilizadas, las utilerías o frameworks, patrones o estándares de programación y el plan de pruebas de validación y consistencia de la solución. 4.1. Tecnologías Utilizadas En la tabla 4.1.1 se presentan las diferentes tecnologías, mostradas en la arquitectura tecnológica, que se utiliza en la implementación de la solución y la característica de cada una de ellas. Cada una de las tecnologías descritas cumple un papel importante para la implementación de la solución y se encuentran totalmente relacionadas entre todas, de manera que hay una dependencia entre ellas en cuanto a arquitectura para el buen funcionamiento de la solución. 88 Nro. Tecnología de Información Características 1 Oracle Database 10g Conforma el Motor de Base de Datos en el cual se creará la instancia del datawarehouse llamada BIDWT (Business Intelligence Datawarehouse) que contendrá todos los componentes de los usuarios claves de cada uno de los datamarts. 2 Oracle Application Server 10g Conforma el Servidor de Aplicaciones Oracle, la cual administrará la aplicación web Discoverer Plus. 3 Oracle Business Intelligence Discoverer Plus 10g Conforma un set de herramientas que permite realizar consultas y análisis a través de reportes ad-hoc, los cuales pueden ser publicados vía Web de manera que los usuarios puedan acceder a la información almacenada en la base de datos. 4 Oracle Discoverer Administrator 10g Conforma la aplicación Windows usada por el administrador para crear y mantener las vistas de datos del negocio. Discoverer Administrador (Ver Anexo IV) provee wizards y dialógos para:  Control de acceso a los datos.  Administrar datos sumarizados.  Administrar horarios batch. 5 TOAD Conforma la herramienta de administración de la base de datos, que permite realizar consultas y modificaciones a la instancia de base de datos. Tabla 4.1.1 Tecnologías de Información Utilizadas 89 4.1.1. Frameworks Una de las tecnologías utilizadas para la implementación de la solución gerencial que es el Oracle Business Intelligence Discoverer Plus tiene como requerimiento de software la instalación de un framework de Java que se llama Java Runtime Environment por ser una aplicación Java. Este framework “provee librerías, la Máquina Virtual de Java (Java Virtual Machine) y otros componentes que permiten ejecutar applets y aplicaciones desarrolladas en el lenguaje de programación Java. Además incluye 2 tecnologías de desarrollo: Java Plug-in, que permite que los applets puedan ejecutarse en los navegadores de Internet o browsers más populares; y por otro lado, incluya el Java Web Start, que permite desarrollar aplicaciones standalone sobre la red”. [JAV01]. 4.1.2. Patrones de Programación Los estándares o patrones de programación son importantes, ya que ayudan a reducir costos de mantenimiento del software, debido a que brindan consistencia en el diseño interno del Sistema. Esto tiene como ventaja que el sistema sea bastante comprensible por cualquier persona involucrada en el proyecto y por los que le tengan que dar soporte en un futuro. A continuación se presentan los estándares de programación de base de datos que abarca la nomenclatura de las tablas hasta los procedimientos almacenados utilizados en el proyecto: Nombre de Tablas Los nombres de tablas siguen los siguientes patrones:  Deberán estar en singular.  Sólo deben contener caracteres alfanuméricos y en mayúsculas.  El nombre de las tablas deberá ser de 12 caracteres.  Solo existen 3 tipos de tablas, las auxiliares o utilitarias, las dimensionales y las de variables. Cada una deberá seguir un formato como el que se muestra en la tabla 4.1.2. 90 FORMATO < Prefijo por Tipo >_DMT< Abreviación de la tabla > DESCRIPCION < Prefijo por Tipo >  En caso sea de tipo “dimensional” será “LK”.  En caso sea de tipo “de variables” será “FT”.  En caso sea de tipo “auxiliar” será “UTL”. < Abreviación de la tabla > Será una abreviación de los datos que representan. EJEMPLO LK_DMTCENCOS (Tabla Dimensional de Centro de Costo) FT_DMTPLANIL (Tabla de Variables de Planilla) UTL_DMTETLLOG (Tabla de Log de los procesos ETL) Tabla 4.1.2 Nomenclatura de Tablas Nombre de Campos Los nombres de campos siguen los siguientes patrones:  Deberán estar en singular.  Sólo deben contener caracteres alfanuméricos y en mayúsculas.  El nombre del los campos deberá ser de 12 caracteres.  Solo existen 2 tipos de campos, los representan un código y los que representan una descripción. Cada una deberá seguir un formato como el que se muestra en la tabla 4.1.3: FORMATO < Abreviación de la tabla >_< Prefijo de tipo de campo > DESCRIPCION < Abreviación de la tabla >  Será una abreviación de los datos que representan. < Prefijo de tipo de campo >  En caso represente un código será “COD”.  En caso represente una descripción o un texto será “DES”. EJEMPLO CENCOS_COD (Código del Centro de Costo) Tabla 4.1.3 Nomenclatura de Campos 91 Tipos de Datos Se definirán los siguientes tipos de datos para cada tipo de campo que se tenga en la base de datos. Estos se muestran en la tabla 4.1.4. TIPO DE CAMPO TIPO DE DATO Códigos CHAR Descripciones VARCHAR2 Fecha DATE Montos NUMBER Tabla 4.1.4 Tipos de Datos Procedimientos Almacenados Para los nombres, parámetros y variables de los procedimientos almacenados definirá los siguientes estándares que se muestran en la tabla 4.1.5. NOMBRE DEL PROCEDIMIENTO FORMATO P_ETL_< Abreviación del procedimiento > DESCRIPCION < Abreviación del procedimiento >  Será una abreviación del procedimiento, dependiendo de la funcionalidad del mismo. En caso sea un nombre complejo, se separarán por el carácter “_”. EJEMPLO P_ETL_CARGA_FECHA (Procedimiento que realiza la carga de las fechas) PARÁMETROS DE ENTRADA FORMATO P < Inicial del tipo de dato >_< Abreviación del nombre del parámetro > DESCRIPCION < Inicial del tipo de dato >  En caso sea de tipo NUMBER, será “N”.  En caso sea de tipo VARCHAR2, será “V”.  En caso sea de tipo CHAR, será “C”.  En caso sea de tipo DATE, será “D”. < Abreviación del nombre del parámetro >  Será una abreviación del nombre del parámetro en minúscula. EJEMPLO PC_codcia (Parámetro de tipo VARCHAR2 que representa el código de la compañía) PN_nroper (Parámetro de tipo NUMBER que representa el periodo) PD_fecpro (Parámetro de tipo DATE que representa la fecha de proceso) PV_descon (Parámetro de tipo VARCHAR2 que representa la descripción de un concepto) DECLARACIÓN DE VARIABLES LOCALES 92 FORMATO L < Inicial del tipo de dato >_< Abreviación del nombre de la variable > DESCRIPCION < Inicial del tipo de dato >  En caso sea de tipo NUMBER, será “N”.  En caso sea de tipo VARCHAR2, será “V”.  En caso sea de tipo CURSOR, será “C”.  En caso sea de tipo CHAR, será “H”.  En caso sea de tipo DATE, será “D”. < Abreviación del nombre del parámetro >  Será una abreviación del nombre de la variable en minúscula. EJEMPLO LH_codcia (Variable de tipo VARCHAR2 que representa el código de la compañía) LN_nroper (Variable de tipo NUMBER que representa el periodo) LD_fecpro (Variable de tipo DATE que representa la fecha de proceso) LV_descon (Variable de tipo VARCHAR2 que representa la descripción de un concepto) LC_trabajadores (Variable de tipo CURSOR que representa un cursor con los trabajadores) EJEMPLO DE DECLARACIÓN DEL PROCEDIMIENTO CREATE OR REPLACE PROCEDURE < Nombre de Esquema >.P_ETL_NOMBRE ( PV_param1 VARCHAR2, PD_param2 DATE, PN_param3 NUMBER, PC_param4 CHAR ) IS /****************************************************************************** Nombre: P_ETL_NOMBRE Proposito: REVISIONES: Ver Fecha Autor Descripción --------- ---------- --------------- ------------------------------------ 1.0 15/04/2008 Sergio Mendoza Se creo el procedimiento. ******************************************************************************/ LV_param1 VARCHAR2(100); LD_param2 DATE; LN_param3 NUMBER; LH_param4 CHAR(5); CURSOR LC_param5 IS SELECT * FROM DUAL; BEGIN EXCEPTION END; / Tabla 4.1.5 Estándares para Procedimientos Almacenados Funciones Para los nombres, parámetros y variables de las funciones se definirá los siguientes estándares que se muestran en la tabla 4.1.6. 93 NOMBRE DE LA FUNCION FORMATO F_ETL_< Abreviación de la función > DESCRIPCION < Abreviación de la función >  Será una abreviación de la función, dependiendo de la funcionalidad del mismo. En caso sea un nombre complejo, se separarán por el carácter “_”. EJEMPLO F_ETL_GET_PERIODO (Función que devuelve el periodo de un proceso) PARÁMETROS DE ENTRADA FORMATO P < Inicial del tipo de dato >_< Abreviación del nombre del parámetro > DESCRIPCION < Inicial del tipo de dato >  En caso sea de tipo NUMBER, será “N”.  En caso sea de tipo VARCHAR2, será “V”.  En caso sea de tipo CHAR, será “C”.  En caso sea de tipo DATE, será “D”. < Abreviación del nombre del parámetro >  Será una abreviación del nombre del parámetro en minúscula. EJEMPLO PC_codcia (Parámetro de tipo VARCHAR2 que representa el código de la compañía) PN_nroper (Parámetro de tipo NUMBER que representa el periodo) PD_fecpro (Parámetro de tipo DATE que representa la fecha de proceso) PV_descon (Parámetro de tipo VARCHAR2 que representa la descripción de un concepto) DECLARACIÓN DE VARIABLES LOCALES FORMATO L < Inicial del tipo de dato >_< Abreviación del nombre de la variable > DESCRIPCION < Inicial del tipo de dato >  En caso sea de tipo NUMBER, será “N”.  En caso sea de tipo VARCHAR2, será “V”.  En caso sea de tipo CURSOR, será “C”.  En caso sea de tipo CHAR, será “H”.  En caso sea de tipo DATE, será “D”. < Abreviación del nombre del parámetro >  Será una abreviación del nombre de la variable en minúscula. EJEMPLO LH_codcia (Variable de tipo VARCHAR2 que representa el código de la compañía) LN_nroper (Variable de tipo NUMBER que representa el periodo) LD_fecpro (Variable de tipo DATE que representa la fecha de proceso) LV_descon (Variable de tipo VARCHAR2 que representa la descripción de un concepto) LC_trabajadores (Variable de tipo CURSOR que representa un cursor con los trabajadores) EJEMPLO DE DECLARACIÓN DE LA FUNCIÓN CREATE OR REPLACE FUNCTION < Nombre de Esquema >.F_ETL_NOMBRE ( PV_param1 VARCHAR2, PD_param2 DATE, PN_param3 NUMBER, PC_param4 CHAR ) IS RETURN VARCHAR2 94 /****************************************************************************** Nombre: F_ETL_NOMBRE Proposito: REVISIONES: Ver Fecha Autor Descripción --------- ---------- --------------- ------------------------------------ 1.0 15/04/2008 Sergio Mendoza Se creo el procedimiento. ******************************************************************************/ LV_param1 VARCHAR2(100); LD_param2 DATE; LN_param3 NUMBER; LH_param4 CHAR(5); CURSOR LC_param5 IS SELECT * FROM DUAL; BEGIN EXCEPTION RETURN NULL; END; / Tabla 4.1.6 Estándares para Funciones Paquetes Para los nombres, parámetros y variables de los paquetes se definirá los siguientes estándares que se muestran en la tabla 4.1.7. NOMBRE DEL PAQUETE FORMATO PKG_ETL_< Abreviación de la función > DESCRIPCION < Abreviación de la función >  Será una abreviación de la función, dependiendo de la funcionalidad del mismo. En caso sea un nombre complejo, se separarán por el carácter “_”. EJEMPLO PKG_ETL_CARGA_FT_RRHH (Paquete que realiza la carga de la Fact Table de Recursos Humanos) DECLARACIÓN DE VARIABLES LOCALES FORMATO G < Inicial del tipo de dato >_< Abreviación del nombre de la variable > DESCRIPCION < Inicial del tipo de dato >  En caso sea de tipo NUMBER, será “N”.  En caso sea de tipo VARCHAR2, será “V”.  En caso sea de tipo CURSOR, será “C”.  En caso sea de tipo CHAR, será “H”.  En caso sea de tipo DATE, será “D”. < Abreviación del nombre del parámetro >  Será una abreviación del nombre de la variable en minúscula. EJEMPLO GH_codcia (Variable de tipo VARCHAR2 que representa el código de la compañía) 95 GN_nroper (Variable de tipo NUMBER que representa el periodo) GD_fecpro (Variable de tipo DATE que representa la fecha de proceso) GV_descon (Variable de tipo VARCHAR2 que representa la descripción de un concepto) GC_trabajadores (Variable de tipo CURSOR que representa un cursor con los trabajadores) EJEMPLO DE DECLARACIÓN DE LA ESPECIFICACIÓN CREATE OR REPLACE PACKAGE DW_PROD.PKG_ETL_CARGA_FT IS /****************************************************************************** Nombre: PKG_ETL_CARGA_FT Proposito: REVISIONES: Ver Fecha Autor Descripcion --------- ---------- --------------- ------------------------------------ 1.0 15/04/2008 Sergio Mendoza Se creo el procedimiento. ******************************************************************************/ PROCEDURE P_ETL_PROCEDIMIENTO1( PN_periodo VARCHAR2 ); PROCEDURE P_ETL_PROCEDIMIENTO2( PN_anio VARCHAR2 ); PROCEDURE P_ETL_PROCEDIMIENTO3( PV_periodo VARCHAR2 ); PROCEDURE P_ETL_PROCEDIMIENTO4( PV_anio VARCHAR2); FUNCTION F_ETL_FUNCION1( PV_anio VARCHAR2) RETURN NUMBER; END PKG_ETL_CARGA_FT; / Tabla 4.1.7 Estándares para Paquetes 4.2. Pruebas El proceso de pruebas para el desarrollo de la solución gerencial del proyecto es un esfuerzo para asegurar su calidad y la no existencia de defectos comparados con el diseño del sistema. El plan de pruebas administra el proceso, las estrategias y asigna los roles primordiales en la ejecución de pruebas. El sistema gerencial, como se mencionó, es una herramienta para la buena gestión en la toma de decisiones de cada una de las áreas de negocio principales de una empresa que cuenta con el ERP O7/Solution y cubre los siguientes aspectos: 96  Interfaz gráfica amigable y fácil de usar.  Soporte para almacenamiento en bases de datos.  Seguridad y control de acceso al sistema por parte de los usuarios por medio de la herramienta Oracle Discoverer Administrator.  Carga periódica de los datos históricos por medio de los procesos ETL a la instancia de base de datos BIDTW.  Generación de reportes de análisis gerenciales que ayudan en la toma de decisiones a los gerentes y funcionarios de las empresa. 4.2.1. Estrategia de Pruebas El equipo de aseguramiento de calidad de software investigará los documentos de requerimientos del proyecto para diseñar las especificaciones de diseños de las pruebas, casos y procedimientos específicos. El uso de los documentos de resultados de las pruebas está restringido a los miembros del proyecto y a aquellos a los cuales los líderes del proyecto concedan permiso. 4.2.2. Tipos de Prueba Dentro del Plan de Pruebas se han considerado conveniente realizar 3 tipos de pruebas, que son: pruebas integrales, pruebas de desempeño y estrés y pruebas de regresión. Pruebas Integrales Las pruebas integrales se ejecutan viendo todos los servicios como un todo y reportando fallas de unión. Ambos procesos se ejecutan en uno solo. El objetivo principal de las pruebas de integración y a nivel sistema es de verificar que se cumple con todos los requerimientos especificados del sistema en su versión actual. Pruebas de Desempeño y Estrés Las pruebas de desempeño miden que el sistema cumpla con los estándares de desempeño definidos en el documento de requerimientos de hardware. Las pruebas de estrés lo constituyen sobrecargas al sistema, en 97 diferentes maneras para analizar los tiempos de respuesta ante estas situaciones. Un estrés es un volumen pico de datos en un período corto de tiempo. El objetivo de esta prueba es medir el comportamiento del sistema en situaciones extremas. Pruebas de Regresión Las pruebas de regresión son aquellas pruebas selectivas sobre los reportes de incidentes de pruebas generados. El objetivo es solucionar dichos reportes de incidentes y realizar nuevamente las pruebas. 4.2.3. Catálogo de Pruebas Caso de Uso: Extracción de la Información Identificador 1 Objetivo Lo que se quiere probar es que la extracción de información del ERP O7/Solution para su posterior transformación y carga en la instancia del Datawarehouse BIDTW se realice en su totalidad. Precondición El usuario deberá tener el perfil de Administrador de Base de Datos. Descripción de la prueba 1. Conectarse a la base de datos BIDTW con el usuario DW_ODS. 2. El JOB configurado para ejecutar el proceso ETL realiza la ejecución para el periodo actual. 3. El proceso ETL puebla las tablas de repositorio del esquema DW_ODS con la información de la cual posteriormente se almacenarán las Fact Tables. 4. Se deberá revisar la información de las tablas de monitoreo del esquema DW_LOG donde se da seguimiento a la ejecución del proceso ETL. 5. Se deberá revisar que las todas las tablas del repositorio del esquema DW_ODS se encuentren pobladas con la información del periodo de ejecución. Resultados Esperados Se deberán encontrar todas las tablas del esquema DW_ODS pobladas con la información perteneciente al periodo de ejecución del proceso ETL. Resultado Obtenido La información ha sido extraída de manera satisfactoria. Tabla 4.2.1 Catálogo de Pruebas - Extracción de la Información Caso de Uso: Transformación de la Información Identificador 2 Objetivo Lo que se quiere probar es que la transformación y depuración de la información extraída del ERP O7/Solution para su posterior carga en la instancia 98 del Datawarehouse BIDTW se realice en su totalidad. Precondición El usuario deberá tener el perfil de Administrador de Base de Datos. Descripción de la prueba 1. Conectarse a la base de datos BIDTW con el usuario DW_PROD. 2. El JOB configurado para ejecutar el proceso ETL realiza la ejecución para el periodo actual. 3. El proceso ETL puebla las tablas de repositorio del esquema DW_PROD con la información de la cual posteriormente se almacenarán las Fact Tables. 4. Se deberá verificar dentro de las tablas del Datawarehouse de manera que la información se encuentre registrada de forma consistente con cada uno de los campos. 5. La configuración de cada uno de las dimensiones y variables del cubo debe permanecer igual. Resultados Esperados Se deberán encontrar todas las tablas del esquema DW_ODS pobladas con la información consistente de acuerdo a las características de cada campo de las tablas. Resultado Obtenido La información ha sido transformada de manera satisfactoria. Tabla 4.2.2 Catálogo de Pruebas - Transformación de la Información Caso de Uso: Carga de la Información Identificador 3 Objetivo Lo que se quiere probar es que la carga de la información extraída del ERP O7/Solution en la instancia del Datawarehouse BIDTW se realice en su totalidad. Precondición El usuario deberá tener el perfil de Administrador de Base de Datos. Descripción de la prueba 1. Conectarse a la base de datos BIDTW con el usuario DW_PROD. 2. El JOB configurado para ejecutar el proceso ETL realiza la ejecución para el periodo actual. 3. El proceso ETL puebla las tablas de repositorio del esquema DW_ODS y de los datamarts dentro del esquema DW_PROD. 4. Se deberá verificar dentro de las tablas del Datawarehouse de manera que la información se encuentre registrada de forma consistente con cada uno de los campos. 5. Se deberá probar generar un reporte de cada uno de los datamarts como verificación de la información cargada. Resultados Esperados Se deberán encontrar todas las tablas de los esquemas DW_ODS y DW_PROD pobladas con la información consistente de acuerdo a las características de cada campo de las tablas. Resultado Obtenido La información ha sido cargada de manera satisfactoria. 99 Caso de Uso: Performance Óptimo del Datawarehouse Identificador 4 Objetivo Lo que se quiere probar es que la ejecución del proceso ETL con frecuencia mensual se realice con el menor tiempo de respuesta posible, asegurando la extracción, transformación y carga de la información en la instancia del Datawarehouse BIDTW. Precondición El usuario deberá tener el perfil de Administrador de Base de Datos. Descripción de la prueba 1. Conectarse a la base de datos BIDTW con el usuario DW_PROD. 2. El JOB configurado para ejecutar el proceso ETL realiza la ejecución para el periodo actual. 3. El proceso ETL deberá extraer, transformar, depurar y cargar la información al repositorio y las tablas propias de cada uno de los datamarts. 4. Se deberá verificar la hora de inicio de la ejecución del proceso ETL y la hora fin de manera que se pueda medir el tiempo de respuesta. Resultados Esperados Se deberá ejecutar el proceso ETL con el menor tiempo de respuesta posible por periodo, siendo este no mayor a 20 min. Resultado Obtenido La información ha sido cargada de manera satisfactoria con un tiempo de respuesta menor a 20 minutos por periodo. Tabla 4.2.3 Catálogo de Pruebas - Performance del Datawarehouse Caso de Uso: Tiempo de Respuesta de los Datamarts Identificador 5 Objetivo Lo que se quiere probar es que el tiempo de respuesta de cada consulta que realiza la herramienta de análisis Discoverer Plus al momento de mostrar los reportes tome el menor tiempo de respuesta posible. Precondición El usuario deberá tener el perfil de Usuario Final. Descripción de la prueba 1. Conectarse al Discoverer Plus con el usuario asignado que tenga los permisos correspondientes. 2. Seleccionar un reporte de análisis de cada uno de los datamarts. 3. Abrir el reporte. 4. Medir el tiempo que demora en presentar la información dentro de la estructura del reporte de análisis. Resultados Esperados Se deberá mostrar la información del reporte de análisis en el Discoverer Plus, habiendo tomado un tiempo no mayor a 2 minutos. Resultado Obtenido El reporte de análisis muestra la información en el Discoverer Plus con un tiempo de respuesta menor a 2 minutos. Tabla 4.2.4 Catálogo de Pruebas - Tiempo de Respuesta de los Datamarts 4.2.4. Reporte de Ejecución de Pruebas Caso de Uso Resultado Obtenido 100 Extracción Satisfactoria de la información del ERP O7/Solution En base a consultas de las tablas de repositorio, se pudo verificar que toda la información transaccional necesaria haya sido extraída de manera correcta y en su totalidad. Transformación de la información extraída del ERP O7/Solution En base a consultas de las tablas de repositorio y del modelo de datos, se pudo verificar que la información haya sido almacenada respetando la estructura de cada una de las tablas. De manera que fue transformada de acuerdo al modelo de datos multidimensional de los datamarts. Carga de la información extraída del ERP O7/Solution al esquema BIDTW del Datawareouse En base a consultas de las tablas de repositorio y del modelo de datos, se pudo verificar que la información haya sido almacenada en todas las tablas de cada uno de los datamarts. Performance Óptimo del Datawarehouse Luego de haber probado la ejecución del proceso ETL, se calculó el tiempo de respuesta y se obtuvo como resultado 19 min. Tiempo de Respuesta óptimo en la ejecución de las consultas de los datamarts Luego de haber probado cada uno de los reportes de análisis se calculó el tiempo promedio que tomaba mostrar la información y se obtuvo como resultado 1.8 min. Tabla 4.2.5 Reporte de Ejecución de Pruebas 101 5. Capítulo 5: Observaciones, conclusiones y recomendaciones 5.1. Observaciones En un mundo competitivo, como el actual, es necesario identificar los elementos claves dentro de la empresa que ayudarán a tomar buenas decisiones en base a las estrategias de negocio. Como se vio en los primeros capítulos, las empresas se han dado cuenta del importante activo que representa la información que se tiene en sus sistemas transaccionales como apoyo en las decisiones estratégicas. Para esto es necesario contar con soluciones gerenciales que permitan explotar la información histórica almacenada en los sistemas OLTP, y poder generar indicadores de gestión. 5.2. Conclusiones Como conclusiones del presente proyecto de implementación de una solución gerencial, se tiene lo siguiente:  El análisis a nivel de gestión de las principales áreas de una empresa determina un factor de ventaja en el mercado, debido a que así se pueden identificar los componentes o elementos que 102 hacen que el flujo del área de negocio no sea tan eficaz y eficiente como podría ser.  La manera cómo las empresas aprovechan la información histórica que se tiene en sus sistemas transaccionales determina una ventaja competitiva en el mercado, ya que permite realizar mejores decisiones en base a una información consistente y consolidada.  La elección de indicadores de gestión o KPI’s como fundamentos en la toma de decisiones es una actividad muy delicada, ya que es necesario evaluar cuáles con los más convenientes dependiendo del rubro de la empresa.  Los modelos multidimensionales de cada uno de los datamarts deben ser los más complejos posibles y permitir escalabilidad, debido a que los usuarios siempre podrán tener nuevos requerimientos en cuanto a dimensiones o variables a analizar y la solución debe permitir estos cambios sin tener que realizar demasiado mantenimiento.  Los modelos multidimensionales de cada uno de los datamarts debe ser lo más completa posible y permitir escalabilidad, debido a que los usuarios siempre podrán tener nuevos requerimientos en cuanto a dimensiones o variables a analizar y la solución debe permitir estos cambios sin tener que realizar demasiado mantenimiento.  Es necesario e importante aplicar técnicas de performance a los procesos ETL de soluciones de Inteligencia de Negocio, ya que permitirá al usuario un rápido acceso a los reportes de análisis. 5.3. Recomendaciones y trabajos futuros Como recomendación en la presente solución gerencial desarrollada en el proyecto de tesis se tiene: el contar con buenas políticas de acceso a la información estratégica mostrada en los reportes de análisis. Esto evitará que se mantenga en privado la información gerencial de la empresa, ya que se deberán definir accesos por cada usuario a los reportes de cada uno de los datamarts. Por otro lado es necesario estar actualizado de los indicadores de gestión estratégicos más utilizados en las empresas como factores de decisión, de manera que puedan ser implementados en la solución gerencial. 103 Bibliografía  [ACM01] Association for Computing Machinery, ACM (Julio 2007). Business Intelligence Computing Issues. Association for Computing Machinery. Accesible en URL: http://www.acm.org/ubiquity/views/pf/v8i25_intelligence.pdf.  [BIN01] Business Intelligence News, Business Intelligence News (2006). The Big Three… Now The Big ONE. Business Intelligence News. Accesible en URL: http://www.businessintelligencenews.net/default.asp.  [CIO01] CIO INSIGHT. Technology: Building the Bridge to Tomorrow’s Technologies. The Future of I.T.: What’s on Tap for 2007 and Beyond. Accesible en URL: http://www.cioinsight.com/c/a/Research/The-Future-of-IT- Whats-on-Tap-for-2007-and-Beyond/  [CIO02] CIO INSIGHT. Technology: Building the Bridge to Tomorrow’s Technologies. Slideshow 04/08. Accesible en URL: http://www.cioinsight.com/c/a/Past-News/Technology-Building-the-Bridge-to- Tomorrows-Technologies-%5B1%5D/6/  [CSA01]Consejo Superior de Administración Electrónica, CSAE. Métrica, Versión 3 – Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información. Consejo Superior de Administración Electrónica. Accesible en URL: http://www.csi.map.es/csi/metrica3/introduccion.pdf  [GAR01] Gregory A Garrett (2008, January). COMMERCIAL CONTRACTING BEST PRACTICES. Contract Management, 48(1), 44-51. 16 de Marzo del 2008 de origen ABI/INFORM Global database.  [GOU01] Goutam Kumar. Business Intelligence Computing Issues. 26 de Junio del 2007.  [HEL01] Helmut Klaus, Michael Rosemann, Guy G. Gable. What is ERP? Information Systems Frontiers, Springer Netherlands, 2000, pg. 141. 104  [JUA01] Juan, Tomas, Almudena, Carmen, Pedro, Laura Sanchez. Almacenes de Datos y Bases de Datos XML. 13 de Marzo del 2007.  [KIM01] Kimball, Ralph, Joe Caserta. The data warehouse ETL toolkit: practical techniques for extracting, cleaning, conforming, and delivering data. New York. Wiley Publishing Inc., 2004.  [KIM02] Kimball, Ralph; Ross, Margy. The data warehouse toolkit. Second Edition. New York. Wiley Publishing Inc., 2002, pg. 28  [KOB01] Kobana Abukari, Vijay Job. (2003, March). Business intelligence in action. CMA Management, 77(1), 15: pg. 4. 12 de Marzo del 2008 de origen ABI/INFORM Global database.  [ODS01] Oracle. Data Sheet, Oracle Daily Business Intelligence for Financials 11i. Oracle, Julio del 2004  [PMI01] Project Management Institute – Guía de los Fundamentos de la Dirección de Proyectos (Guía del PMBOK), 3° Edición, 2004.  [RAE01] Real Academia Española, RAE. Vigésima Segunda Edición. Búsqueda de la palabra “información”. Accesible en URL: http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=INFORMACIO  [RAT01] Rational Software Corporation, Rational (2001). Using the Rational Unified Process for Small Projects: Expanding Upon eXtreme Programming. Rational Software Corporation. Accesible en URL: http://www.upedu.org/upedu/references/papers/pdf/TP183_smproj.pdf.  [RIV01] Luis R. Rivera Fernandez, Datawarehousing and Business Intelligence. pg.7.  [SOL01] Salomon, Paul Gray. Business Intelligence. 2003 - Ninth Americas Conference of Information Systems, 2003. 105  [SUN01] Sun Microsystems, SDN. Java Runtime Environment (JRE). Sun Developer Network. Accesible en URL: http://java.sun.com/j2se/desktopjava/jre/.  [UDP01] Universidad de Piura, UDEP (Marzo 2003). El Ebitda está de moda. Oficina de Información de la Universidad de Piura. Accesible en URL: http://www.udep.edu.pe/publicaciones/desdelcampus/art641.html.  [VER01] VERGIU CANTO, Jorge y BENDEZU MEJIA, Christian. Los indicadores financieros y el Valor Económico Agregado (EVA) en la creación de valor. Ind. data. [online]. ene./jun. 2007, vol.10, no.1 [citado 23 Marzo 2008], p.42-47. Accesible en URL: http://www.scielo.org.pe/scielo.php?script=sci_arttext&pid=S1810- 99932007000100007&lng=es&nrm=iso  [MIC01] Microsoft (Noviembre 2006). Cómo determinar los KPI correctos para su empresa. Accesible en URL: http://www.microsoft.com/spain/medianaempresa/businessvalue/businesskpis. mspx