Sei sulla pagina 1di 131

Universidad de Matanzas “Camilo Cienfuegos”

Facultad de Informática
Unidad Docente Informática de Cárdenas “José A. Echeverría”

INTERFAZ PARA ANÁLISIS Y EXPLORACIÓN DE DATOS EN


LA PLATAFORMA OL-SOLUTIONS A TRAVÉS DEL MÓDULO
INTELIGENCIA DE NEGOCIOS

Trabajo para optar por el título de Ingeniería de Informática

Autor: Nhat Nguyen Khac

Tutor: DrC. Efraín Sánchez Pérez

MsC. Jesús Rojas Salazar

Consultante: MsC. Yordanka Barrios González

MsC. Oscar Gerike Brandau

Grupo de Investigación @tis, Junio del 2010


Pensamiento
“Ninguna ciencia, en cuanto a ciencia, engaña; el engaño está en quien no sabe.”

-Miguel de Cervantes-

“Ser internacionalista es saldar nuestra propia deuda con la humanidad. Quien no sea capaz
de luchar por otros, no será nunca suficientemente capaz de luchar por sí mismo.”

-Fidel Castro-

2
Declaración de autoría
Yo, Nhat Nguyen Khac, declaro que soy el único autor de este trabajo y autorizo a la
Universidad de Matanzas “Camilo Cienfuegos”, especialmente a la Facultad de Informática y la
Unidad Docente Informática de Cárdenas “José A. Echeverría”, a que hagan el uso que
estimen pertinente de él.

Y para que así conste, firmo la presente a los 20 días del mes de Junio del 2010.

______________ ______________

Nhat Nguyen Khac Firma del Tutor

3
Opinión del Usuario
El Trabajo de Diploma, titulado “Interfaz para análisis y exploración de datos en la
Plataforma OL-Solutions a través del módulo de Inteligencia de Negocios”, fue realizado en la
Unidad Docente Informática de Cárdenas. Esta entidad considera que, en correspondencia con
los objetivos trazados, el trabajo realizado le satisface

Totalmente

Parcialmente en un ____ %

Los resultados de este Trabajo de Diploma le reportan a esta entidad los beneficios
siguientes (cuantificar):

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

________________________________________________________

Y para que así conste, se firma la presente a los ____ días del mes de ________ del año
______

________________________________ ____________

Representante de la entidad Cargo

___________ ___________

4
Resumen
El presente trabajo presenta la propuesta de un conjunto de herramientas de análisis de
datos: Minería de datos, Reportes y OLAP que son los componentes típicos de una aplicación
de Inteligencia de Negocios. Esta herramienta además se integra y forma parte de la
plataforma de Inteligencia de Negocios OL-Solutions desarrollada por la Unidad Docente de
Informática de Cárdenas de la Facultad de Informática de la Universidad de Matanzas y
Académicos y Técnicos de la Universidad BíoBío, Browse y Servicio informático Ol de la
República de Chile.

A partir de estudios realizados sobre las plataformas de Inteligencia de Negocios más


populares a escala mundial y su aplicación en Cuba, se destaca la falta de un sistema que
responda a las necesidades de análisis de datos en las organizaciones cubanas. Con la
búsqueda de recursos disponibles dentro del mundo informático actual, se descubrió una
inmensa posibilidad del uso de los proyectos de código abierto y del lenguaje de programación
Java dentro del área mencionado. Con estas razones, se decidió implementar un módulo de
Inteligencia de Negocios con los componentes: Minería de datos, Gestión de Reportes y
Gestión de Cubos OLAP usando el lenguaje de Programación Java junto con las librerías de
código abierto, integrándola además a la plataforma OL-Solutions como elemento clave de
análisis de datos que ofrecen los demás módulos de dicha plataforma.

La plataforma OL-Solutions con esta herramienta integrada está en proceso de


validación en la empresa cubana Cubaron S.A.

5
Índice
Pensamiento ...............................................................................................................................2

Declaración de autoría ................................................................................................................3

Opinión del Usuario.....................................................................................................................4

Opinión del tutor........................................................................... ¡Error! Marcador no definido.

Resumen ....................................................................................................................................5

Índice ..........................................................................................................................................6

Introducción ................................................................................................................................9

Pregunta Científica. ...............................................................................................................10

Objetivo General. ..................................................................................................................11

Objetivos Específicos. ...........................................................................................................11

Objeto de estudio. .................................................................................................................11

Campo de acción...................................................................................................................11

Capítulos. ..............................................................................................................................11

Capítulo I: Marco teórico-referencial .........................................................................................13

I.1. Introducción .....................................................................................................................13

I.2. Fundamentación teórica ..................................................................................................13

I.2.1. Definiciones fundamentales asociadas al tema de la Investigación ...........................13

I.2.2. La Plataforma Inteligente de Gestión Empresarial OL-Solutions ...............................16

I.2.3. Soluciones de Inteligencia de Negocios más populares ............................................27

I.2.4. La Minería de Datos como el núcleo de los sistemas BI............................................30

I.2.5. El uso de OLAP para análisis multidimensionales .....................................................34


6
I.2.6. Visualización de información a través de los reportes ...............................................38

I.3. Tendencias tecnológicas .................................................................................................40

I.3.1. Software libre ............................................................................................................40

I.3.2. Lenguajes de Programación .....................................................................................42

I.3.3. IDE (Integrated Development Environment – Entorno de Desarrollo Integrado) ........46

I.3.4. Gestores de bases de datos .....................................................................................46

I.3.5. Servidores para JSP .................................................................................................47

I.3.6. Lenguaje de modelación ...........................................................................................49

I.4. Conclusiones ...................................................................................................................54

Capítulo II: Desarrollo de la aplicación ......................................................................................56

II.1. Introducción ....................................................................................................................56

II.2. Desarrollo del módulo de Inteligencia de Negocios ........................................................56

II.2.1. Captura de necesidades ..........................................................................................56

II.2.2. Árbol de Proceso y Descripción de Procesos Unitarios ............................................57

II.2.3. Requisitos no funcionales ........................................................................................66

II.2.4. Diseño de la base de datos ......................................................................................67

II.2.5. Diseño de Diagrama de Clase Web .........................................................................70

II.2.6. Codificación basada en estándares..........................................................................74

II.2.7. Manual de Usuarios .................................................................................................77

II.2.8. Manual Técnico ........................................................................................................77

II.2.9. Ayuda en línea .........................................................................................................77

II.3. Conclusiones del capítulo ...............................................................................................77


7
Capítulo III: Análisis de los resultados.......................................................................................78

III.1. Introducción ...................................................................................................................78

III.2. Estudio de factibilidad ....................................................................................................78

III.2.1. COCOMOII .............................................................................................................78

III.2.2. Análisis de costos y beneficios ................................................................................84

III.3. Resultados prácticos obtenidos en la empresa Cubaron ...............................................85

III.4. Análisis de los aportes científicos que se obtuvieron y los resultados finales que aporta
el trabajo ...............................................................................................................................85

III.5. Conclusiones .................................................................................................................86

Conclusiones ............................................................................................................................87

Recomendaciones ....................................................................................................................88

Referencias bibliográficas .........................................................................................................89

Bibliografías ..............................................................................................................................90

Anexos......................................................................................................................................93

Glosario de términos ...............................................................................................................131

8
Introducción
En el mundo de los negocios, ha sido reiteradamente reivindicado el valor del “sexto
sentido” de los altos ejecutivos de las empresas para fundamentar sus decisiones estratégicas.
Sin embargo, las nuevas, y algunas no tan nuevas características del entorno empresarial bajo
los efectos de globalización de las empresas, de los mercados, de las tecnologías, de los flujos
de capitales y de los productos, ejercen una enorme influencia sobre la competitividad y la
productividad de las organizaciones, presionando con ello a fundamentar cada vez menos las
decisiones en los sentidos, para hacerlo cada día más apoyados en los sistemas de
información y las tecnologías.

Algunos de los más importantes eventos acontecidos en los últimos cincuenta años ha
sido el gran reacomodo de los sistemas políticos en muchos países y por consiguiente de los
modelos económicos que los sustentan, así como las estrategias de integración económica a
nivel mundial. Todos estos acontecimientos afectan enormemente el contexto empresarial
actual e influye directamente en las decisiones que deben tomar los altos directivos: marco
estratégico, desempeño interno versus estándares de la industria o sector, opciones de
abastecimiento y comercialización, entre muchas otras. Es aquí donde se hace indispensable
contar con instrumentos tecnológicos y organizacionales que apoyen dicha toma de decisiones,
posibilitando que ésta se efectúe sobre análisis que sean objetivos y suficientemente
sustentados, más que hacerlo únicamente con base en la intuición.

Como respuesta a estas nuevas condiciones del mercado, ahora con alcance mundial
por la globalización de las economías, se ha destacado una enorme avalancha de teorías,
metodologías, técnicas y modelos, que se unen al gran desarrollo y evolución permanente de la
teleinformática.

De esta manera, las posibilidades que actualmente ofrecen las nuevas tecnologías
asociadas con la información, mediante las cuales hoy es posible acceder al instante a una
ilimitada cantidad de datos, ha generado un nuevo reto: definir cómo incorporar este gran
volumen de información a los procesos de dirección y que permita paralelamente a las
compañías utilizar la información procesada y refinada, cada vez con mayor intensidad, que les
sirva como base para la toma de las mejores decisiones.

9
En torno a la necesidad de aprovechar la enorme cantidad de información disponible y de
las posibilidades que para ello ofrecen las nuevas tecnologías, desde hace medio siglo se está
construyendo el “Bussiness Intelligence” (Inteligencia de Negocios), conocido típicamente por
sus siglas en inglés “BI”, como un concepto que agrupa las metodologías organizacionales y
herramientas tecnológicas que permiten recopilar, organizar, analizar, difundir y usar la
información como soporte para la toma de decisiones empresariales.

Aunque el concepto Inteligencia de Negocios se ha venido incorporando progresivamente


en las organizaciones del ámbito internacional a tales efectos, no parece tan evidente que algo
similar esté ocurriendo en Cuba, esta apreciación se sustenta en la muy escasa literatura
asociada a este tema en el país, a los pocos casos reales de aplicación encontrados y a la
insuficiente difusión tanto de la teoría como de las experiencias empresariales.

En función de lo antes planteado, la Unidad Docente Empresarial @tis ha desarrollado la


Plataforma Inteligente de Gestión Corporativa OL-Solutions, que dispone, en un solo ambiente,
de una amplia funcionalidad para el apoyo de la gestión de las organizaciones, integrando en
ella los procesos claves para la gestión como: Gestión de la Estrategia, Gestión del
Conocimiento, Gestión Colaborativa, Gestión de Capital Humana e Inteligencia de Negocios.

Es por ello que se planteó la siguiente interrogante como problema de investigación:


¿Cómo contribuir a reducir el nivel de incertidumbre en la toma de decisiones en las
organizaciones a partir de los análisis de datos usando la Plataforma OL-Solutions?

Planteándose como base de la investigación la siguiente pregunta:

Pregunta Científica.
¿Construir una interfaz para el análisis y exploración de datos mediante un módulo de
Inteligencia de negocios dentro de la Plataforma OL-Solutions la hará más efectiva en la toma
de decisiones de los directivos?

Conceptualización de términos:

Interfaz de Análisis y Exploración de Datos: Herramienta gráfica que permite la


interacción entre el usuario y las diferentes tecnologías de análisis y exploración de datos que
componen una solución informática.

10
Efectividad: Evaluación del nivel de satisfacción, el aprovechamiento óptimo del
conocimiento generado y reducción de los costos en tiempo en pos de mejorar el proceso de la
toma de decisiones.

Objetivo General.
Desarrollar una interfaz para análisis y exploración de datos en la Plataforma OL-
Solutions a través del módulo de Inteligencia de Negocios.

Objetivos Específicos.
1. Describir las funcionalidades de la Plataforma OL-Solutions.

2. Valorar la funcionalidad del módulo Inteligencia de Negocios en la Plataforma OL-


Solutions.

3. Valorar las soluciones de Inteligencia de Negocios existentes y el uso de las


herramientas de software libre en esta área.

4. Determinar nuevos requerimientos del módulo Inteligencia de Negocios.

5. Desarrollar la interfaz para análisis y exploración de datos en la Plataforma OL-


Solutions a través del módulo Inteligencia de Negocios.

6. Proporcionar la nueva interfaz con el modelo de datos creado en una empresa real.

Objeto de estudio.
La funcionalidad de la Plataforma OL-Solutions.

Campo de acción.
Mejora de la capacidad de la interfaz de la plataforma OL-Solutions para la toma de
decisiones a través de las herramientas de la Inteligencia de Negocios.

Capítulos.
1. Marco teórico-referencial. Este capítulo tiene como objetivo fundamental recopilar la
información referente a las consultas bibliográficas realizadas sobre diferentes aspectos
relacionados al tema de la Inteligencia de Negocios, como son: las funcionalidades de la
plataforma OL-Solutions, el uso de los sistemas Inteligencia de Negocios en las
11
organizaciones a escala mundial y en Cuba particularmente, los fundamentos de la
Inteligencia de Negocios, la Minería de datos, OLAP, Reportes, Almacén de datos y la
capacidad de uso del software libre en las soluciones Inteligencia de Negocios.

2. Desarrollo de la aplicación. Los objetivos esenciales de este capítulo son desarrollar


un módulo de Inteligencia de Negocios para la plataforma OL-Solutions con sus
componentes integrados e integrar este a la misma, para la posterior explotación de la
misma en la Corporación Cuba Ron S.A.

3. Análisis de los Resultados. Su objetivo fundamental es validar la funcionalidad de la


aplicación y su apoyo a la toma de decisiones a partir del uso de diferentes técnicas
desarrolladas sobre datos reales.

Para el desarrollo de este trabajo se utilizaron técnicas, métodos y procedimientos con el


objetivo de obtener información necesaria para la confección del módulo Inteligencia de
Negocios, las mismas se relacionan a continuación:

Métodos teóricos: Histórico – lógicos.

Deductivo – inductivo.

Analítico – sintético.

Métodos empíricos: Consultas de expertos.

12
Capítulo I: Marco teórico-referencial

I.1. Introducción
Los objetivos de este capítulo son abordar diferentes temas para dar una revisión tanto
a las funcionalidades de la Plataforma OL-Solutions como a la situación actual del mundo BI;
repasar los conceptos teóricos de algunos elementos típicos de una solución BI; exponer las
características de las herramientas y tecnologías escogidas para la solución del problema, así
como argumentar la elección de las mismas.

I.2. Fundamentación teórica

I.2.1. Definiciones fundamentales asociadas al tema de la Investigación


Para una mejor comprensión durante el desarrollo del trabajo, a continuación se citará
algunas definiciones de los aspectos relacionados con el tema tratado, empezando por el
núcleo del problema: la información.

Información:

“Es un conjunto de datos significativos y pertinentes que describan sucesos o entidades:

- Datos significativos, para ser significativos, los datos deben constar de símbolos
reconocibles, estar completos y expresar una idea no ambigua.

- Datos pertinentes, decimos que tenemos datos pertinentes (relevantes) cuando pueden
ser utilizados para responder a preguntas propuestas. Sólo los hechos relacionados con
las necesidades de información son pertinentes.” (1)

La información por sí misma no cumple ninguna función sin la existencia de un proceso de


transmisión de ella, labor que realizan los Sistemas de Información.

Sistemas de Información:

“Es el medio por el cual los datos fluyen de una persona o departamento hacia otros y
puede ser cualquier cosa, desde la comunicación interna entre los diferentes componentes de
la organización y líneas telefónicas hasta sistemas de cómputo que generan reportes

13
periódicos para varios usuarios, con el fin de apoyar las actividades de una empresa o
negocio.” (1)

Data Warehouse (Almacén de Datos):

- “Una colección de datos orientados por tema, variables en el tiempo y no volátiles que
se emplea como apoyo a la toma de decisiones estratégicas.” (2)

- “El Data Warehouse recibe los datos del ambiente transaccional. Entiéndase por Data
Warehouse al repositorio de datos corporativos de la organización para ser utilizados
por los niveles directivos y ejecutivos.” (3)

- “Un Data Warehouse o Depósito de Datos es una colección de datos orientados a


temas, integrado, no volátil, de tiempo variante, que se usa para el soporte del proceso
de toma de decisiones gerenciales. El Data Warehouse es siempre un almacén de
datos transformados y separados físicamente de la aplicación donde se encontraron los
datos en el ambiente operacional.” (4)

Basando en los criterios anteriores se puede conceptualizar el Data Warehouse como: Una
depósito de datos orientados por temas, variables en el tiempo y no volátiles que recibe datos
de un ambiente transaccional, transformados y separados físicamente del ambiente
operacional, y que tiene como objetivo servir de soporte a la toma de decisiones.

Un Data Warehouse es un depósito de datos a nivel corporativo, lo que


departamentalmente se denomina DataMart para el mismo objetivo.

DataMart:

- “Un DataMart es un almacén de datos históricos relativos a un departamento de una


organización, así que puede ser simplemente una copia de parte de un Data
Warehouse para uso departamental, que cumplen las mismas características. Tanto el
Data Warehouse como el DataMart son sistemas orientados a la consulta, en los que se
producen procesos de carga de datos (altas) con una frecuencia baja y conocida.” (5)

El Data Warehouse y el DataMart son los primeros pasos que se realizan con el fin de
lograr la construcción de un proceso mucho más completo y potente: Los sistemas de
Inteligencia de Negocios.

14
Inteligencia de Negocio:

“Se puede definir la Inteligencia de Negocios como el conjunto de estrategias y


herramientas enfocadas a la administración y creación de conocimiento mediante el análisis de
datos existentes en una organización o empresa.” (6)

Dentro de los sistemas de Inteligencia de Negocios se encuentran distintas


herramientas y tecnologías tanto para la consolidación de datos como para la extracción y la
visualización de información, una de ellas es la Minería de Datos.

Minería de Datos:

“Minería de datos es un proceso de extraer conocimientos útiles, comprensibles,


previamente desconocidos, desde grandes cantidades de datos almacenados en distintos
formatos.” (7)

Además de la minería de datos, los sistemas de Inteligencia de Negocios actuales


cuentan con las herramientas de visualización de datos multidimensionales, de ahí surge el
concepto de OLAP.

OLAP:

“OLAP es el acrónimo en inglés de procesamiento analítico en línea (On-Line Analytical


Processing). Es un conjunto de tecnologías y aplicaciones de software que permite recoger los
datos de la empresa, almacenarlos e indagar sobre ellos de forma rápida e intuitiva. Se trata de
crear una “capa de negocio” con lenguaje funcional por encima de estructuras complejas de la
Base de Datos. Para ello utiliza estructuras multidimensionales que contienen datos resumidos
de grandes Bases de Datos o Sistemas Transaccionales (OLTP). Se usa en informes de
negocios de ventas, marketing, informes de dirección, minería de datos y áreas similares.” (8)

Aunque el OLAP responde muy bien ante los requerimientos de visualización de datos
de las organizaciones, los sistemas de Inteligencia de Negocios no dejan de usar la
herramienta de visualización tradicional que es el reporte.

15
Reporte:

“El reporte es aquel documento que se utilizará cuando se quiera informar o dar noticia
acerca de una determinada cuestión. Puede emplearse internamente dentro de una empresa,
por ejemplo, entre jefes de área con destino al gerente general para darle una acabada idea del
funcionamiento de cada sector, pero también puede ser usado en un establecimiento
educativo, por los profesores, para dar cuenta de cómo se llevó a cabo una determinada
cuestión, es decir, con esto quiero significar que en muchos ámbitos suele usarse al reporte
para informar sobre los diferentes asuntos de interés.” (9)

En los epígrafes anteriores se abordaron diferentes temas relacionadas al tema tratado,


los siguientes epígrafes se destinan a dar una introducción a la Plataforma OL-Solutions junto
con sus módulos, en especial al módulo de Inteligencia de Negocios y sus funcionalidades.

I.2.2. La Plataforma Inteligente de Gestión Empresarial OL-Solutions

I.2.2.1. Introducción

El ingrediente básico del éxito empresarial en la creciente sociedad del conocimiento es


a largo plazo el acceso, en tiempo y forma, a la información estratégica para su posterior
transformación en pautas para la acción. Todo lo que se haga en el sentido de apoyar este
proceso y posibilitar que el empresario no se sienta solo en la toma de decisiones, siempre ha
de ser bienvenido.

Los cambios que se producen en el entorno de la empresa son significativos, y no


siempre son claras sus posibles repercusiones. Sólo un correcto conocimiento y comprensión
del entorno permite la detección de oportunidades y amenazas.

Una organización que tenga acceso a información estratégica, promueva la


comunicación, donde los gestores mantengan contactos con fuentes externas de información y
sea capaz de transformar esta información en gestión, incrementará exponencialmente sus
posibilidades de obtener innovaciones de éxito. La información ha de considerarse un factor
más de producción de la empresa: debe organizarse su captura, tratamiento y distribución.
Pocas empresas consideran aún la posesión de información estratégica como una inversión de
futuro. Ni aún en el caso de que la consideren, no es fácil decidir qué parte de información

16
accesible es válida, a ello se suma el hecho objetivo de que la información más relevante
puede no estar accesible.

Es precisamente esta búsqueda de información valiosa la que obliga a la vigilancia, ya


que la empresa debe procurarse información útil para la toma de decisiones, tanto de procesos
internos como de la competencia, cliente, tendencias, tecnologías, entre otros. La empresa
debe convertirse en una organización inteligente, no se trata de modificar un sistema concreto
de la empresa, sino de aprender a gestionarla bajo unos parámetros diferentes. Cuando lo
esencial deja de ser el capital y la tecnología y pasa a serlo el personal, es necesario un
cambio fundamental de la manera de gestionar los recursos.

A partir de los principios que sustentan la gestión del conocimiento se crea una nueva
propuesta de esta estructura adaptada al modelo de la Empresa Cubana, validado mediante
reconocidas técnicas y expertos de la empresa. Los pilares de esta estructura están
constituidos por:

Gestión del Capital Intelectual

Gestión del Conocimiento

Gestión Colaborativa

Gestión de la Planificación Estratégica

Gestión de Inteligencia de Negocios

La integración de estos cinco procesos de gestión en una Propuesta de Modelo Inteligente


de Gestión Corporativa basada en la gestión del conocimiento facilita alinear al capital humano
de la empresa en el logro de los objetivos estratégicos.

17
Fig. 1.1: Modelo Inteligente de Gestión Corporativa OL-Solutions

A continuación se realiza una valoración general de cada uno de los procesos mencionados.

I.2.2.2. Gestión de la Estrategia

Fundamentos de la Planificación Estratégica.

La estrategia empresarial explica los objetivos generales de la empresa y los cursos de


acción fundamentales, de acuerdo con los medios actuales y potenciales de la empresa, a fin
de lograr la inserción óptima de ésta en el medio socio-económico.

La planificación lleva implícita la información secundaria y cae en el campo de los


elementos duros (análisis), no obstante, para su conformación requiere del pensamiento y la
abstracción pura que se inserta en el campo de lo blando (síntesis). Implica que los
administrativos piensen a través de sus objetivos y acciones, y con anticipación, que sus
acciones se basen en algún método, plan o lógica más que en una mera suposición.

Proceso Formal de Planeación

El planeamiento estratégico comienza dando respuesta a varias preguntas:

¿Dónde estamos hoy? (Análisis del entorno, interno, competencia)

¿Dónde queremos ir? (Objetivos y Metas a largo plazo)

18
¿Cómo podemos llegar donde queremos ir? (comprender el mercado, la competencia
del negocio y diseñar las estrategias apropiadas)

¿Qué somos capaces de hacer?

¿Qué podemos hacer de lo que se necesita hacer?

¿Si continuamos haciendo lo que ahora estamos haciendo, podremos llegar a donde
queremos?

¿Esto es lo que haremos para lograr lo que queremos?

El objetivo final de la Planificación es encontrar la posición del mercado en la cual la


empresa pueda defenderse mejor de las fuerzas competitivas que influyen sobre ella.

La implementación es importante para lograr el desarrollo sostenido de nuestras entidades


ante los retos que enfrentan para satisfacer las necesidades y exigencias de un mercado cada
vez más competitivo.

La implementación de las estrategias involucra a todas las funciones y personas de la


empresa, pero al ápice estratégico le corresponde evaluar y liderar los tres elementos
esenciales de este proceso: el cambio estratégico, la estructura formal e informal y la cultura.
Por lo antes expuesto se considera que el papel del liderazgo es decisivo en esta fase de la
Dirección Estratégica ya que los resultados positivos o negativos dependen de ello.

Las variables que favorecen la coherencia en la implantación de la estrategia son: el


liderazgo, el ajuste de la estructura a la estrategia definida y la adaptación de la cultura (valores
compartidos, existentes, ideales e instrumentales) a la nueva forma de dirección.

Planificación Estratégica

“Constituye el sistema general para definir los objetivos de una organización,


diagnosticando el estado actual de la misma y previendo los resultados a alcanzar, orientando
la movilización de sus recursos mediante la concentración y armonización de esfuerzos y
recursos en el cumplimiento de un número de objetivos esenciales. Deben tenerse
conocimientos actualizados del entorno y de las potencialidades y debilidades propias de la
organización en función de transformar el estado actual en el deseado.” (12)

19
I.2.2.3. Gestión Colaborativa

Las empresas necesitan herramientas que faciliten la creación de ambientes de trabajo y


gestión basados en colaboración, y promuevan la interacción de los distintos usuarios dentro
de una red estimulante y a la vez centralizada de trabajo. Esta gestión debe incluir:

Herramientas de comunicación electrónica que envían mensajes, archivos, datos o


documentos entre personas y faciliten la compartición de información (colaboración
asíncrona).

Herramientas de colaboración síncrona que facilitan la compartición de información, de


forma interactiva.

Herramientas de gestión colaborativa que faciliten las actividades del grupo


(Groupware).

I.2.2.4. Gestión del Conocimiento

Es la capacidad de una empresa para crear conocimiento nuevo, diseminarlo en la


organización e incorporarlo en productos, servicios y sistemas. Incluye un rango de actividades
que no pueden quedar aisladas y deben integrarse a la estrategia organizativa en el logro de la
misión y visión y de la empresa tales como: Captura, Organización, Recuperación, Publicación,
Distribución, Generación.

El módulo de Gestión del Conocimiento cuenta con diferentes herramientas, tales como:

Chat.

Foro.

Tormenta de Ideas.

Wiki.

Biblioteca de Documentos.

Repositorio.

Glosario.

20
Planificación de Tareas.

Chat: Una de las herramientas que nos brinda la plataforma OL-Solutions es el Chat, el cual
permite la comunicación sincrónica entre los miembros de su empresa para el intercambio de
métodos, experiencia. Por su carácter informal facilita el debate de temas que en otras
circunstancias el personal no es capaz de plantear.

Foro: El Foro es considerado como una reunión para discutir asuntos de interés actual ante un
auditorio que puede intervenir en la discusión. El foro o debate tal y como se le denomina, es
una actividad en donde se intercambian ideas, se lleva a cabo una participación activa de los
usuarios y se produce, en la mayoría de los casos, un aprendizaje activo. Este tipo de actividad
permite que el usuario descubra o exprese sus puntos de vista.

Tormenta de Ideas: La tormenta de ideas es una técnica de grupo para la generación de ideas
nuevas y útiles, que permite, mediante reglas sencillas, aumentar las probabilidades de
innovación y originalidad. Esta herramienta es utilizada en las fases de Identificación y
definición de proyectos, en Diagnóstico y Solución de la causa.

Wiki: Wiki no es más que un sitio web colaborativo que puede ser editado por varios usuarios.
Los usuarios de una wiki pueden así crear, editar, borrar o modificar el contenido de una página
web, de una forma interactiva, fácil y rápida; dichas facilidades hacen de una wiki una
herramienta efectiva para la escritura colaborativa. La tecnología wiki permite que páginas web
alojadas en un servidor público (las páginas wiki) sean escritas de forma colaborativa a través
de un navegador, utilizando una notación sencilla para dar formato, crear enlaces, etc,
conservando un historial de cambios que permite recuperar de manera sencilla cualquier
estado anterior de la página.

Biblioteca de documentos: La biblioteca de documentos es una herramienta de búsqueda,


captura, organización y distribución de la información y el conocimiento. Permite la gestión de
recursos por parte personal en muchos formatos, constituyendo la base principal de consulta
de documentos y ficheros relativos a la empresa.

Repositorio: Un Repositorio, no es más que un depósito o archivo, un sitio centralizado donde


se almacena y mantiene información digital, habitualmente bases de datos o archivos
informáticos.

21
Glosario: Un Glosario, como su nombre lo indica facilita la construcción de un diccionario de
términos propios de su entidad, siendo un primer paso para los mapas de conocimiento
empresarial.

Planificación de tareas: La planificación de tareas permite la asignación y citación de eventos


grupales al personal que se tenga bajo su mando. Las tareas planificadas le llegan por correo
electrónico y eventos en el calendario a los implicados en estas.

I.2.2.5. Centro Virtual de Capacitación Corporativa por Competencias

Es una herramienta informática para la gestión de la formación y desarrollo del capital


humano basada en competencias, que concibe el proceso de capacitación de las
organizaciones, en sus tres etapas fundamentales: Planificación, Ejecución y Control.

Se trata de impulsar a nivel de excelencia las competencias individuales, de acuerdo a


las necesidades operativas, garantizar el desarrollo y administración del potencial de las
personas, "de lo que saben hacer" o podrían hacer.

Capacitar es complementar la educación académica del "empleado" o prepararlo para


emprender trabajos de más responsabilidad. Otras teorías manifiestan que la capacitación es el
conjunto de conocimientos sobre el puesto que se debe desempeñar de manera eficiente y
eficaz. Cuando se trata de mejorar las habilidades manuales o la destreza de los individuos
entramos al campo del adiestramiento, el conjunto capacitación y adiestramiento se conoce con
el nombre de entrenamiento en el trabajo.

Determinación De Necesidades De Capacitación para su programación:

Los principales medios utilizados para la determinación de necesidades de capacitación


son:

1. Evaluación de desempeño: Es posible descubrir a los empleados que vienen


efectuando sus tareas por debajo de un nivel satisfactorio, y qué sectores de la empresa
reclaman una atención inmediata de los responsables del entrenamiento.

2. Observación: Verificar donde haya evidencia de trabajo ineficiente, como excesivo daño
de equipo, atraso con relación al cronograma, número acentuado de problemas
disciplinarios.

22
3. Cuestionarios: Investigaciones mediante cuestionarios y listas de verificación que
pongan en evidencia las necesidades de entrenamiento.

4. Solicitud de supervisores y gerentes: Cuando la necesidad de entrenamiento apunta a


un nivel muy alto, los propios gerentes y supervisores se hacen propensos a solicitar
entrenamiento para su personal.

5. Entrevistas con supervisores y gerentes: Contactos directos con supervisores y


gerentes, con respecto a posibles problemas solucionables mediante entrenamiento,
por lo general se descubren en las entrevistas con los responsables de diversos
sectores.

6. Reuniones interdepartamentales: Discusiones interdepartamentales acerca de asuntos


concernientes a objetivos empresariales, problemas operacionales, planes para
determinados objetivos y otros asuntos administrativos.

7. Examen de empleados: Prueba de conocimiento del trabajo de los empleados que


ejecutan determinadas funciones o tareas.

8. Modificación de trabajo: Siempre que se introduzcan modificaciones totales o parciales


de la rutina de trabajo, se hace necesario el entrenamiento previo de los empleados en
los nuevos métodos y procesos de trabajo.

9. Análisis de cargos: El conocimiento y la definición de lo que se quiere en cuanto a


aptitudes, conocimientos y capacidad, hace que se puedan preparar programas
adecuados de capacitación para desarrollar la capacidad y proveer conocimientos
específicos según las tareas, además de formular planes de capacitación concretos y
económicos y de adaptar métodos didácticos.

Programación de la Capacitación

Una vez que se ha efectuado la determinación de las necesidades se procede a su


programación, que esta sistematizada y fundamentada sobre los siguientes aspectos, que
deben ser analizados durante la determinación:

¿Cuál es la necesidad?

23
¿Dónde fue señalada por primera vez?

¿Ocurre en otra área o en otro sector?

¿Cuál es su causa?

¿Es parte de una necesidad mayor?

¿Cómo resolverla, por separado o combinada con otras?

¿Cuántas personas y cuantos servicios alcanzaran?

¿Cuál es el tiempo disponible para la capacitación?

¿Cuál es el costo probable de la capacitación?

¿Quién va a ejecutar la capacitación?

La determinación de necesidades de capacitación debe suministrar las siguientes


informaciones, para que la programación de la capacitación pueda diseñarse:

¿QUÉ debe enseñarse?

¿QUIÉN debe aprender?

¿CUÁNDO debe enseñarse?

¿DÓNDE debe enseñarse?

¿CÓMO debe enseñarse?

¿QUIÉN debe enseñar?

La programación de la capacitación exige una planeación que incluya lo siguiente:

1. Enfoque de una necesidad específica cada vez.

2. Definición clara del objetivo de la capacitación.

3. División del trabajo a ser desarrollado, en módulos, paquetes o ciclos.

4. Elección de los métodos de capacitación, considerando la tecnología disponible.


24
5. Definición de los recursos necesarios para la implementación de la capacitación, como
tipo de entrenador o instructor, recursos audiovisuales, maquinas, equipos o
herramientas necesarias, materiales, manuales, etc.

6. Definición de la población objetivo, es decir, el personal que va a ser capacitado,


considerando:

a) Número de personas.

b) Disponibilidad de tiempo

c) Grado de habilidad, conocimientos y tipos de actitudes.

d) Características personales de comportamiento.

7. Local donde se efectuara la capacitación, considerando las alternativas en el puesto de


trabajo o fuera del mismo, en la empresa o fuera de ella.

8. Época o periodicidad de la capacitación, considerando el horario más oportuno o la


ocasión más propicia.

9. Cálculo de la relación costo-beneficio del programa.

10. Control y evaluación de los resultados, considerando la verificación de puntos críticos


que requieran ajustes o modificaciones en el programa para mejorar su eficiencia.

Una vez determinada la naturaleza de las habilidades, los conocimientos o


comportamientos terminales deseados como resultado de la capacitación, el siguiente paso es
la elección de las técnicas que van a utilizarse en el programa de capacitación con el fin de
optimizar.

Ejecución de La Capacitación

La ejecución de la Capacitación dependerá principalmente de los siguientes factores:

Adecuación del programa de capacitación a las necesidades de la organización: La


capacitación debe ser la solución de los problemas que dieron origen a las necesidades
diagnosticadas o percibidas.

25
La calidad del material de capacitación presentado: El material de enseñanza debe ser
planeado de manera cuidadosa, con el fin de facilitar la ejecución del entrenamiento. El
material de enseñanza busca concretar la instrucción, objetivándola debidamente,
facilitar la comprensión del aprendiz por la utilización de recursos audiovisuales,
aumentar el rendimiento del entrenamiento y racionalizar la tarea del instructor.

La cooperación de los jefes y dirigentes de la empresa: Es necesario contar con un


espíritu de cooperación del personal y con el apoyo de los dirigentes, ya que todos los
jefes y supervisores deben participar de manera efectiva en la ejecución del programa.
Sabemos que un director ejerce mucha influencia decisiva sobre la vida de un
supervisor y, del mismo modo, éste sobre cada uno de los empleados.

La calidad y preparación de los instructores: Los instructores. Es muy importante el


criterio de selección de los instructores. Éstos deberán reunir ciertas cualidades
personales: facilidad para las relaciones humanas, motivación por la función, raciocinio,
capacidades didácticas, exposición fácil, además del conocimiento de la especialidad.

La calidad de los aprendices: Aparentemente, la calidad de los aprendices influye de


manera sustancial en los resultados del programa de entrenamiento. Tanto que los
mejores resultados se obtienen con una selección adecuada de los aprendices, en
función de la forma y del contenido del programa de los objetivos del entrenamiento
para que se llegue a disponer del personal más adecuado para cada trabajo.

Fig. 1.2: Proceso de Planificación

26
I.2.2.6. Inteligencia de Negocios:

Es el conjunto de estrategias y herramientas enfocadas a la administración y creación de


conocimiento mediante el análisis de datos existentes en una organización o empresa y en el
entorno. Tienen en común las siguientes características:

Accesibilidad a la información. Estas herramientas y técnicas deben garantizar el


acceso de los usuarios a los datos con independencia de su procedencia

Apoyo a la toma de decisiones. Se busca ir más allá en la presentación de la


información, de manera que los usuarios tengan acceso a herramientas de análisis que
les permitan seleccionar y manipular sólo aquellos datos que les interesen.

Orientación al usuario final. Se busca independencia entre los conocimientos técnicos


de los usuarios y su capacidad para utilizar estas herramientas.

El módulo de Inteligencia de Negocios de la Plataforma OL-Solutions está integrado por los


siguientes componentes: Regresión Lineal, Pronóstico, Árbol de decisiones, Agrupamiento,
Asociación, Exploración de Reportes, Exploración de Consultas. Además de no contar con
suficientes algoritmos para el análisis de datos, este módulo no está integrado completamente
a la Plataforma, pues no tiene ningún tipo de relación con los otros módulos mencionados.

Para poder tener una visión clara sobre el mundo BI, se realizó un estudio sobre la
aplicación de las soluciones BI existentes tanto en el ámbito internacional como en el territorio
cubano. El siguiente epígrafe brindará informaciones fundamentales recopiladas durante este
estudio.

I.2.3. Soluciones de Inteligencia de Negocios más populares


Cuando se desarrollan proyectos de Inteligencia de Negocios siempre es un factor
importante el hecho de contar con una “solución” que sea capaz de dar respuestas a los
diferentes procesos a desarrollar dentro del mismo, pues esto brindaría mayor uniformidad e
integración entre cada uno de ellos. Lo que hace más efectiva la implementación de una única
solución que proporcione almacenamiento robusto de datos y funcionalidad analítica de fácil
utilización y administración, como es el caso del conjunto de herramientas que ofrecen algunas
compañías, como Microsoft a través de Microsoft SQL Server, que brindan un paquete para la
implementación integral de este tipo de sistemas.

27
Al igual que el anteriormente mencionado existen otras soluciones tradicionales, que
son muy utilizados a nivel mundial, cuyo prestigio es capaz de intimidar a muchas
organizaciones, y conducirlas erróneamente a la conclusión de que no se puede encontrar una
alternativa gratuita para los productos que estas ofertan. Entre ellas:

Pero en muchos casos estas herramientas tradicionales de BI son costosas, complejas


e incapaces de posibilitar a las organizaciones los beneficios esperados en eficiencia y eficacia.

Por otro lado existen soluciones libres como:

 Bizgres Project: es un conjunto de productos, tanto en hardware como software,


diseñados por las firmas Greenplum, JasperSoft y Kinetic Networks que incluye una
serie de herramientas de análisis de datos e inteligencia de negocios, basados en
PostgreSQL, incluyendo:

Mejoras en el desempeño de indexación de mapas de bits.

Tomcat como servidor de aplicaciones.

Mondrian + Jpivot para OLAP.

Openl como Portal/Framework.”

 Pentaho: como alternativa a las soluciones propietarias, se creó a mediados del año
2005 el proyecto Pentaho, una iniciativa de la comunidad Open Source para
28
proporcionar a las organizaciones las mejores soluciones para sus necesidades de BI.
Pentaho se define a sí mismo como una plataforma de BI “orientada a la solución” y
“centrada en procesos” que incluye todos los principales componentes requeridos para
implementar soluciones basados en procesos.

Aprovechando la riqueza de tecnologías Open Source, y las contribuciones de la


comunidad de desarrolladores de este sector, están en condiciones de innovar mucho
más rápido que los vendedores comerciales. Como resultado, su meta no es solamente
proporcionar una alternativa libre, sino superar todas las ofertas comerciales en
términos de cualidades, funciones y beneficios.

El proyecto Pentaho abarca las siguientes áreas generales de aplicación:

Reportes (JFreeReport, ReportDesigner y Report Design Wizard).

Minería de Datos (Weka).

Análisis (Mondrian y JPivot).

Cuadros de Mando (JFreeChart).

Integración de Datos (Kettle).

La plataforma Pentaho BI integra flujos de trabajo, reglas del negocio, entrega y


notificación de información, scheduling, auditoria, integración de aplicaciones,
navegación del contenido, interfaces de usuario y herramientas de diseño y
administración, con componentes y artefactos de reportes, análisis, cuadros de mando y
minería de datos, además de que al estar basado en Open Source, Pentaho es capaz
de disminuir dramáticamente el costo de propiedad de las soluciones BI, todo esto
ayuda a que sea considerada una plataforma robusta que puede ser escalada.

Con este estudio sobre las soluciones BI encontradas, se pudo observar que los
componentes típicos que todas estas soluciones siempre tienen son: Minería de Datos, OLAP y
Reportes, por eso en los siguientes párrafos se explicará con más detalles sobre cada uno de
esos componentes mencionados.

29
I.2.4. La Minería de Datos como el núcleo de los sistemas BI
Para un experto, o para el responsable de un sistema, normalmente no son los datos en
sí lo más relevante, sino la información que se encierra en sus relaciones, fluctuaciones y
dependencias. Bajo el nombre de minería de datos se engloba todo un conjunto de técnicas
encaminadas a la extracción de conocimiento procesable, implícito en las bases de datos.

“Un proceso típico de minería de datos consta de los siguientes pasos generales:

1. Selección del conjunto de datos, tanto en lo que se refiere a las variables dependientes,
como a las variables objetivo, como posiblemente al muestreo de los registros
disponibles.
2. Análisis general de las propiedades de los datos, en especial los histogramas,
diagramas de dispersión, presencia de valores atípicos y ausencia de datos.
3. Transformación del conjunto de datos de entrada, se realizará de diversas formas en
función del análisis previo, con el objetivo de prepararlo para aplicar las técnicas de
minería de datos que mejor se adapte a los datos y al problema.
4. Seleccionar y aplicar las técnicas de minería de datos, se construye el modelo
predictivo, de clasificación o de segmentación.
5. Evaluar los resultados contrastándolos con un conjunto de datos previamente reservado
para validar la generalidad del modelo. Si el modelo final no supera esta evaluación el
proceso se podría repetir desde el principio o, si el experto lo considera oportuno, a
partir de cualquiera de los pasos anteriores. Esta retroalimentación se podrá repetir
cuantas veces se considere necesario hasta obtener un modelo válido.
6. Una vez valido el modelo, si resulta ser aceptable (proporciona salidas adecuadas y con
márgenes de error admisibles) éste ya está listo para su explotación. Los modelos
obtenidos por técnicas de minería de datos se aplican incorporándolos en los sistemas
de análisis de información de las organizaciones, e incluso, en los sistemas
transaccionales. ” (9)

Tradicionalmente, las técnicas de minería de datos se aplicaban sobre información


contenida en almacenes de datos. De hecho, muchas grandes empresas e instituciones han
creado y alimentan bases de datos especialmente diseñadas para proyectos de minería de
datos en las que centralizan información potencialmente útil de todas sus áreas de negocio. No

30
obstante, actualmente está cobrando una importancia cada vez mayor la minería de datos
desestructurados como información contenida en ficheros de texto, Internet entre otros.

Técnicas de minería de datos:

1. Redes neuronales: Son un paradigma de aprendizaje y procesamiento automático


inspirado en la forma que funciona el sistema nervioso de los animales. Se trata de un
sistema de interconexión de neuronas en una red que colabora para producir un
estímulo de salida.
2. Árboles de decisión: Un árbol de decisión es un modelo de predicción utilizado en el
ámbito de la inteligencia artificial, data una base de datos se construyen estos
diagramas de construcciones lógicas, muy similares a los sistemas de predicción
basados en reglas, que sirven para representar y categorizar una serie de condiciones
que suceden de forma sucesiva, para la resolución de un problema.
3. Modelos estadísticos: Es una expresión simbólica en forma de igualdad o ecuación que
se emplea en todos los diseños experimentales y en la regresión para indicar los
diferentes factores que se modifican la variable de respuesta.
4. Agrupamiento: Es un procedimiento de agrupación de una serie de vectores según
criterios habitualmente de distancia; se tratará de disponer los vectores de entrada de
forma que estén más cercanos aquellos que tengan características comunes.” (9)

Clasificación de las técnicas de Minería de Datos:

Según el objetivo del análisis de los datos, los algoritmos utilizados se clasifican en
supervisados y no supervisados:
Algoritmos supervisados (o predictivos): Predicen un dato (o un conjunto de datos)
desconocido a priori, a partir de otros conocidos.

Algoritmos no supervisados (o del descubrimiento del conocimiento): Se descubren


patrones y tendencia en los datos.

La Minería de Datos ha sufrido transformaciones en los últimos años de acuerdo con los
cambios tecnológicos, de estrategias de marketing, la extensión de los modelos de compra en
línea, entre ellos están:

31
La importancia que han cobrado los datos no estructurados (texto, páginas de Internet,
y otros)

La necesidad de integrar los algoritmos y resultados obtenidos en sistemas


operacionales, portales de Internet.

La exigencia de que los procesos funcionen prácticamente en línea.

Los tiempos de respuesta. El gran volumen de datos que hay que procesar en muchos
casos para obtener un modelo válido es un inconveniente; esto implica grandes
cantidades de tiempo de proceso y hay problemas que requieren una respuesta en
tiempo real.

Los proyectos de Minería de Datos más destacados

 KNIME (o Konstanz Information Miner): es una plataforma de minería de datos que


permite el desarrollo de modelos en un entorno visual. Está construido bajo la
plataforma Eclipse.

Este está desarrollado sobre la plataforma Eclipse y programado, esencialmente, en


java. Está concebido como una herramienta gráfica y dispone de una serie de nodos
(que encapsulan distintos tipos de algoritmos) y flechas (que representan flujos de
datos) que se despliegan y combinan de manera gráfica e interactiva. Los nodos
implementan distintos tipos de acciones que pueden ejecutarse sobre una tabla de
datos:

Manipulación de filas, columnas, etc., como muestreos, transformaciones,


agrupaciones.
Visualización (histogramas).
Creación de modelos estadísticos y de minería de datos, como árboles de
decisión, máquinas de vector soporte, regresiones.
Validación de modelos, como curvas ROC.
Scoring o aplicación de dichos modelos sobre conjuntos nuevos de datos.
Creación de informes a medida gracias a su integración con BIRT.

32
El carácter abierto de la herramienta hace posible su extensión mediante la
creación de nuevos nodos que implementen algoritmos a la medida del usuario.
Además, existe la posibilidad de utilizar de llamar directa y transparentemente a Weka y
o de incorporar de manera sencilla código desarrollado en R o python/jython.

 Orange: es un programa informático para realizar minería de datos y análisis predictivo


desarrollado en la facultad de informática de la Universidad de Ljubljana. Consta de una
serie de componentes desarrollados en C++ que implementan algoritmos de minería de
datos, así como operaciones de preprocesamiento y representación gráfica de datos.
Los componentes de Orange pueden ser manipulados desde programas desarrollados
en Python o a través de un entorno gráfico. Se distribuye bajo licencia GPL.

 RapidMiner (anteriormente, YALE, Yet Another Learning Environment): es un


programa informático para el análisis y minería de datos. Permite el desarrollo de
procesos de análisis de datos mediante el encadenamiento de operadores a través de
un entorno gráfico. Se usa en investigación y en aplicaciones empresariales. La versión
inicial fue desarrollada por el departamento de inteligencia artificial de la Universidad de
Dortmund en 2001. Se distribuye bajo licencia GPL y está hospedado en SourceForge
desde el 2004. RapidMiner proporciona más de 500 operadores orientados al análisis
de datos, incluyendo los necesarios para realizar operaciones de entrada y salida,
preprocesamiento de datos y visualización.
 Statistica: (aunque la marca está registrada como STATISTICA, en mayúsculas): es un
paquete estadístico usado en investigación, minería de datos y en el ámbito
empresarial. Lo creó StatSoft, empresa que lo desarrolla y mantiene. StatSoft nació en
1984 de un acuerdo entre un grupo de profesores universitarios y científicos. Sus
primeros productos fueron los programas PsychoStat-2 y PsychoStat-3. Después
desarrolló Statistical Supplement for Lotus 1-2-3, un complemento para las hojas de
cálculo de Lotus. Finalmente, en 1991, lanzó al mercado la primera versión de
STATISTICA para MS-DOS. El programa consta de varios módulos. El principal de ellos
es el Base, que implementa las técnicas estadísticas más comunes. Éste puede
completarse con otros módulos específicos tales como:

Advanced: técnicas multivariantes y modelos avanzados de regresión lineal y no


lineal
33
QC: técnicas de control de calidad, análisis de procesos (distribuciones no
normales, Gage R&R, Weibull) y diseño experimental
Data Miner: minería de datos, análisis predictivos y redes neurales

El paquete puede ser extendido a través de un interfaz con el lenguaje R. Además, se


pueden modificar y añadir nuevas librerías usando el lenguaje .NET.

 Weka (Waikato Environment for Knowledge Analysis - Entorno para Análisis del
Conocimiento de la Universidad de Waikato): es un conocido software para aprendizaje
automático y minería de datos escrito en Java y desarrollado en la Universidad de
Waikato. WEKA es un software libre distribuido bajo licencia GNU-GPL.

El paquete Weka contiene una colección de herramientas de visualización y algoritmos


para análisis de datos y modelado predictivo, unidos a una interfaz gráfica de usuario
para acceder fácilmente a sus funcionalidades. La versión original de Weka fue un front-
end en TCL/TK para modelar algoritmos implementados en otros lenguajes de
programación, más unas utilidades para preprocesamiento de datos desarrolladas en C.
para hacer experimentos de aprendizaje automático. Esta versión original se diseñó
inicialmente como herramienta para analizar datos procedentes del dominio de la
agricultura, pero la versión más reciente basada en Java (WEKA 3), que empezó a
desarrollarse en 1997, se utiliza en muchas y muy diferentes áreas, en particular con
finalidades docentes y de investigación.

Herramienta de Minería de Datos seleccionada:

Se seleccionó Weka para desarrollar el componente Minería de Datos por sus puntos
fuertes: está disponible libremente bajo la licencia pública general de GNU, es muy portable
porque está completamente implementado en Java y puede correr en casi cualquier plataforma,
contiene una extensa colección de técnicas para preprocesamiento de datos y modelado.

I.2.5. El uso de OLAP para análisis multidimensionales


OLAP es un proceso analítico de datos online que permite al usuario seleccionar y
extraer la información desde diferentes puntos de vista, y que se traduce en un conjunto de
técnicas y unos estándares definidos por organismos de estandarización (OLAP Council,

34
Analytical Solutions Forum) Con el OLAP, un usuario podría analizar sus resultados de las
ventas e ir profundizando en detalle en cada región, canal de venta, equipos de ventas o
vendedores hasta encontrar la información relevante para su toma de decisiones. Este es un
sencillo ejemplo de cómo OLAP permite hacer un análisis correcto y rápido de la información
desde los puntos de vista o "dimensiones" que el usuario desee.

“La razón de usar OLAP para las consultas es la velocidad de respuesta. Una base de
datos relacional almacena entidades en tablas discretas si han sido normalizadas. Esta
estructura es buena en un sistema OLTP pero para las complejas consultas multitabla es
relativamente lenta. Un modelo mejor para búsquedas, aunque peor desde el punto de vista
operativo, es una base de datos multidimensional. La principal característica que potencia a
OLAP, es que es lo más rápido a la hora de ejecutar sentencias SQL de tipo SELECT, en
contraposición con OLTP que es la mejor opción para operaciones de tipo INSERT, UPDATE Y
DELETE. En OLTP lo importante es el registro de los datos, y en OLAP lo importante es el
análisis, esta es la diferencia más general de estos dos tipos.” (9)

Reglas de Codd

La elección de una herramienta que permita realizar estos análisis de la información


será fundamental para que el soporte a la toma de decisiones sea el más adecuado posible.
Últimamente, uno de los métodos utilizados para saber si una herramienta es o no 'OLAP
Compliant' son las reglas de Codd. Dichas reglas quedan definidas como "FASMI" que se
refieren a cinco palabras; Fast Analysis of Shared Multidimensional Information (Análisis rápido
de información multidimensional compartida), que además, son en sí mismas una definición de
lo que es el OLAP.
Fast: La primera regla de Codd se refiere a que el sistema debe ser capaz de responder
de una forma rápida y ágil a la información que le sea solicitada por el usuario, el cual
no deberá esperar más de cinco segundos a la hora de resolver peticiones sencillas y
no más de veinte segundos en las peticiones complejas. Las herramientas deberán,
pues, proveer una amplia variedad de técnicas para cumplir esta regla, tales como
almacenamiento especializado de los datos, pre-cálculos.
Analysis. Significa que el sistema debe poder reflejar cualquier lógica del negocio para
poder responder a las preguntas específicas y necesidades empresariales. Por ejemplo,
deberá permitir generar cálculos 'ad-hoc' sin necesidad de usar una herramienta de

35
programación específica. Esto no implica que forzosamente deba proveer la
herramienta un entorno para conseguirlo, sino que puede proveer la integración con
productos externos, como una hoja de cálculo.
Shared. El sistema deberá proporcionar herramientas que garanticen la
confidencialidad de los datos, seguridad de acceso por perfiles de los usuarios, etc.
Multidimensional. Este es el punto más importante que podría definir como OLAP en sí
mismo. La herramienta deberá proporcionar soporte a cada una de las múltiples
jerarquías que puedan existir dentro de la organización.
Information. Son todos los datos e información derivada de este proceso de análisis, la
cual nos permitirá la toma de decisiones en nuestra organización.
Tipos de OLAP

Podemos definir varios tipos de OLAP, dependiendo de las técnicas que se utilicen a la
hora de obtener los datos, la forma en la que están estructurados, etc. Dentro de estos tipos
podemos encontrar herramientas que permitirán realizar análisis de los datos:
 Herramientas ROLAP (Relational On-line Analytical Process). Son herramientas OLAP
que crean vistas multidimensionales extrayendo los datos de bases de datos SQL
ordinarias, es decir, relacionales. Estas herramientas simulan los datos
multidimensionales usando sofisticadas técnicas de indexación, cachés, metadata, etc.
 Herramientas MOLAP (Multidimensional On-line Analytical Process). Son herramientas
que acceden a datos que no están almacenados en registros de tablas, sino que
almacenan los datos en arrays de varias dimensiones, llamados cubos. Estos cubos
utilizan índices para optimizar el acceso a los datos.
 Herramientas HOLAP (Hybrid On-line Analytical Process). permiten un análisis híbrido
de la información, es decir que une lo mejor de los dos tipos anteriores. El análisis
HOLAP nos ayudará a reducir costes de hardware ya que necesitaremos menos disco
que en las bases de datos relacionales. Además, la respuesta de las consultas sobre
las bases de datos multidimensionales son más rápidas que sobre las relacionales.
Como aspecto negativo, los datos multidimensionales deben ser cargados antes de ser
consultados y refrescados cuando se actualizan los datos de la organización.
Operaciones básicas que se pueden realizar en un cubo OLAP:

Rotar y Rebanar: Se puede cambiar las dimensiones del cubo que está viendo y
obtener una nueva vista de información. Por ejemplo, 'Ventas por producto' puede
36
cambiarse fácilmente a 'Ventas por vendedor'. Rebanar es cambiar el valor de una
dimensión por otro valor, por ejemplo, de las ventas de Enero a las ventas de Febrero.
Rotar es aventar el cubo como si fuera un dado para obtener una nueva cara del cubo.

Taladrar o Drilling: Los datos de las dimensiones se pueden abrir para obtener más
detalle. Una especie de taladro que se hunde más en la información. Si se ve
información geográfica, puede pasar de un continente a un país y luego a una ciudad en
particular. Con esta simple combinación de cosas, se puede abrir la información
generada por un negocio o información corporativa para todo el personal tomador de
decisiones en formas que antes no era posible realizarlo.

OLAP y el Open Source

La utilización de soluciones open-source han aumentado inmensamente en años


recientes, pero en el auge del mercado de análisis extrañamente no ha mantenido el paso.
Existe alguna variedad de productos los cuales pueden ser encontrados buscando en
SourceForge.net. Desafortunadamente, muchos de estos intentos carecen de la calidad
requerida para su aplicación en el mundo de la Inteligencia de Negocios y el análisis. Sin
embargo, si prometen un buen futuro para el open-source en esta área.

Primero que todos en esta lista de productos Open Source para la inteligencia de negocios
se encuentra Mondrian, un servidor OLAP. Surgió en el 2002 y entre sus características se
pueden mencionar que soporta agregaciones, cálculos y categorización de datos provenientes
de bases de datos relacionales, incluyendo Oracle, MySQL, Microsoft SQL Server, IBM DB2,
entre otras. Usa como editor gráfico de modelos OLAP el popular IDE Elipse. También
implementa MDX el lenguaje estándar de consultas OLAP, y trabaja con XML for Analysis al
igual que con la especificación JOLAP. Presenta como interfaz a los usuarios finales otro
proyecto llamado JPivot, el cual es una librería JSP que renderea una tabla OLAP y permite a
los usuarios las navegaciones típicas OLAP (slice, dice, drill down y roll up).

En noviembre del 2005 Pentaho, un proveedor de soluciones Open Source, agregó a


Mondrian a su plataforma BI, convirtiéndose así Mondrian en una ventaja más de la plataforma,
la cual provee reportes, análisis, dashboards, workflow, y data mining. Pentaho está obligado a
brindar soporte para el usuario final de Mondrian y las comunidades de desarrollo, y garantizar
que permanezca como un producto libre. Usuarios que anteriormente fueron forzados a pagar
37
por un producto tradicional de BI ahora tiene la oportunidad poseer una plataforma de análisis
robusta, a un precio muy bajo, utilizando bases de datos relacionales como MySQL junto con
Pentaho OLAP Server.

El motor de OLAP seleccionado

Por todo analizado, sería aconsejable utilizar una herramienta que nos permita realizar
análisis OLAP de todos los tipos y con las diferentes técnicas, lo que quiere decir que no
deberemos centrarnos en un solo tipo de OLAP sino que, dependiendo del análisis que se
desee realizar, utilizar uno u otro.
Otro problema que podemos encontrar a la hora de elegir una herramienta de
explotación es que no existe un único estándar del OLAP (XML for OLAP, Java OLAP, entre
otros.), por lo que habrá que tenerlo en cuenta para que la herramienta seleccionada tenga
acceso a los diferentes estándares.
La elección más adecuada es seleccionar una herramienta que nos permita el manejo de la
mejor parte de cada uno de los tipos y técnicas utilizadas dentro del OLAP. Por ejemplo,
realizar exploraciones dentro de una base de datos multidimensional para analizar los datos de
más alto nivel y que, en un momento dado, también permita descender a nivel de detalle a
información que no se tiene cargada en el cubo, sino que se encuentra en una base de datos
relacional.
A partir de todas las consideraciones realizadas, se seleccionó a Mondrian como servidor
de OLAP para desarrollar el componente OLAP del módulo Inteligencia de Negocios por tener
un motor OLAP libre, potente y tener una inmensa comunidad de usuarios.

I.2.6. Visualización de información a través de los reportes


El reporte es un elemento clave para cualquier aplicación de BI. Generar informes
posibilita a los usuarios observar la marcha de negocios. Los reportes deben incluir ratios
financieros, datos de ventas, informaciones sobre los clientes, cálculos estadísticos, entre
otros. A continuación se lista las herramientas de Reportes más populares que se encuentran
distribuidas bajo licencias de código abierto.

38
I.2.6.1. JasperReport

JasperReport es una herramienta de creación de informes Java libre que tiene la habilidad
de entregar contenido enriquecido al monitor, a la impresora o a ficheros PDF, HTML, XLS,
CSV y XML. Está escrito completamente en Java y puede ser usado en gran variedad de
aplicaciones de Java, incluyendo J2EE o aplicaciones web, para generar contenido dinámico.
Su propósito principal es ayudar a crear documentos de tipo páginas, preparados para imprimir
en una forma simple y flexible. JasperReports se usa comúnmente con iReport, un front-end
gráfico de código abierto para la edición de informes.

I.2.6.2. JFreeReport

JFreeReport es un potente motor de reportes, provee un alto nivel de flexibilidad y un


mínimo requerimiento para el ambiente de ejecución. JFreeReport puede ser integrado en la
mayoría de los programas con poco esfuerzo. El diseño original de esta librería fue para la
necesidad de imprimir los modelos de tablas, dentro de los últimos cuatro años, este diseño ha
sido transformado en un completo generador de reportes.

I.2.6.3. Stimulsoft Reports.Web

Stimulsoft Reports. Web es una herramienta diseñada para crear y mostrar informes
mediante la Web. Puedes crear, mostrar, imprimir y exportar informes desde un navegador
web. Stimulsoft Reports. Web pone a su disposición el ciclo completo del diseño de informes.,
empezando con plantillas de informes y acabando mostrándolos mediante la Web. Además,
todo esto se puede hacer sin cerrar el navegador Web. Stimulsoft Reports. Web es el primer
generador de informes que te permite editar informes directamente en la Web. No es necesario
instalar el .Net Framework, componentes ActiveX o algún plug-in especial la máquina cliente.
Todo lo que necesitas es un navegador Web con Flash Player 9 instalado.

I.2.6.4. Crystal Reports:

Crystal Reports es una aplicación de inteligencia empresarial utilizada para diseñar y


generar informes desde una amplia gama de fuentes de datos (bases de datos). Varias otras
aplicaciones, como Microsoft Visual Studio, incluyen una versión OEM de Crystal Reports como

39
una herramienta de propósito general del informes/reportes. Crystal Reports se convirtió en el
escritor de informes estándar cuando Microsoft lo liberó con Visual Basic.

I.2.6.5. El motor de Reportes seleccionado

Para el desarrollo del módulo de Inteligencia de Negocios se seleccionó JasperReport


por ser un generador muy completo y su rápido soporte técnico a través de la página oficial.

I.3. Tendencias tecnológicas

I.3.1. Software libre


El desarrollo de este trabajo tiene dentro de sus objetivos la palabra clave: libre, como
un lineamiento importante a seguir, se presenta entonces esta sección que permite aclarar los
motivos de nuestra selección.

Hace unos años, incluso en ciertos medio informáticos, el software libre era poco
conocido y valorado, principalmente porque al no perseguir fines comerciales, no había tenido
la publicidad que tiene el software propietario. Hasta hace poco tiempo era imposible para los
usuarios populares usar una computadora moderna sin la instalación de un sistema operativo
propietario, provisto por el fabricante mediante licencias con altas restricciones para su uso. Sin
embargo la situación ha ido cambiando paulatinamente y los prejuicios que alguna vez se
lanzaron en contra del software libre van quedando en el olvido.

¿Qué es el software libre?

Desde el punto de vista técnico-legal, se considera software libre a los programas


licenciados en términos que garantizan a sus usuarios el derecho de ejecutarlos, copiarlos,
distribuirlos, estudiarlos, cambiarlos y mejorarlos. Concretamente, un programa se considera
“libre” si la licencia bajo la cual se lo distribuye otorga al usuario las siguientes libertades:

Ejecutar el programa con cualquier propósito.

Estudiar cómo funcionar el programa y adaptarlo a las necesidades propias.

Poder redistribuir copias del programa y así ayudar a otros.

40
Mejorar el programa y liberar esas mejoras al público para beneficiar a toda la
comunidad.

Esto se opone al software propietario, en el que el usuario sólo adquiere una licencia
limitada de uso. Es decir que, para poder usar el programa, el usuario debe primero aceptar
una serie de condiciones. Probablemente, la más grave de las restricciones es aquella en la
que el usuario acepta que el derecho de mejorar el programa es prerrogativa exclusiva del
autor original. De esta manera, queda prisionero de un proveedor único, el que, a partir de ese
momento, puede dictar precios, plazos, y hasta puede forzar a derogaciones sucesivas o a la
aceptación de condiciones aún más restrictivas que las originales.

El software libre también es un movimiento político internacional de base formado por


personas que están comprometidos en una revolución destinada a evitar el control de la
información por parte de las corporaciones.

La libertad:

Lo realmente importante es la filosofía que hay detrás del concepto del Software Libre. La
palabra “Free” en la frase “Free Software” no se refiere al precio, sino a la libertad.

Una vez que un programa se pone bajo GNU GPL, la libertad es una parte inseparable de
él. Por supuesto, esto es una molestia para las personas de negocios, porque les impide
esconder los códigos, modificarlo y venderlo como programa comercial.

Ventajas del software libre:

Desde punto de vista técnico, el software libre tiene sobre el propietario una enorme
ventaja: al estar disponible el código del programa para su inspección, y al ser el fruto de
muchos programadores colaborando internacionalmente, los programas son revisados por
muchas más personas que las que normalmente supervisan el desarrollo del software
propietario. El resultado es que el software libre por regla es más estable, robusto y seguro que
sus contrapartes propietarias, y que cuando se detectan errores el tiempo de corrección es
habitualmente mucho más corto que el que se espera de las empresas propietarias.

Pero las ventajas más importantes son de otro orden, y surgen del hecho de que en una
empresa una falla de un software puede paralizarla entera. Si esta empre utilizar software libre,
todos estos problemas son solucionables, porque como usuario del sistema tiene la libertad de
41
utilizar el software en cuantas máquinas quiera, de corregir los errores y agregar funcionalidad
al programa usando su propio personal. Con software propietario, en cambio, los errores se
corrigen solamente si el autor los considera importantes de acuerdo a sus propias prioridades,
no las de la empresa, las mejoras sólo pueden ser contratadas al autor original, quien está por
ende en condiciones de dictar precios y plazos.

Además con empleo de software libre se evita la dependencia tecnológica,


fundamentalmente de empresas norteamericanas y de otros países desarrollados, permitiendo
la generación de riquezas y recursos nacionales, que quedarían dentro del país.

Para quienes se dedican a la informática, los beneficios son quizá aun mayores. Por un
lado, disfrutan de todos los beneficios que afectan a los usuarios finales. Por lo demás, el uso
de software libre le provee inmediatamente de una inmensa colección, con lo que el cliente
tiene más dinero disponible para pagarles por sus servicios, y pueden ofrecer estas soluciones
y servicios en un marco de competencia igualitaria.

Las herramientas de Software libre utilizadas:

Weka: Minería de datos.

Mondrian: Servidor de OLAP.

JasperReport: Motor de reportes.

Extjs: Plataforma de javascript.

I.3.2. Lenguajes de Programación


Para desarrollar el módulo de Inteligencia de Negocios, se hizo un análisis de algunos
lenguajes de programación más populares para ver las ventajas que trae cada uno, para
posteriormente seleccionar el lenguaje más apropiado.

I.3.2.1. PHP

PHP es un lenguaje de programación interpretado, diseñado originalmente para la


creación de páginas web dinámicas. Es usado principalmente en interpretación del lado del
servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea

42
de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz
gráfica usando las bibliotecas Qt o GTK+.

Las ventajas de PHP:

Es un lenguaje multiplataforma.
Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a
información almacenada en una Base de Datos.
El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el
servidor el que se encarga de ejecutar el código y enviar su resultado HTML al
navegador. Esto hace que la programación en PHP sea segura y confiable.
Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan
en la actualidad, destaca su conectividad con MySQL y PostgreSQL.
Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados
ext's o extensiones).
Posee una amplia documentación en su página oficial, entre la cual se destaca que
todas las funciones del sistema están explicadas y ejemplificadas en un único archivo
de ayuda.
Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.
Permite aplicar técnicas de programación orientada a objetos.
Biblioteca nativa de funciones sumamente amplia e incluida.
No requiere definición de tipos de variables aunque sus variables se pueden evaluar
también por el tipo que estén manejando en tiempo de ejecución.
Tiene manejo de excepciones (desde PHP5).
Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de
programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna
en particular, el programador puede aplicar en su trabajo cualquier técnica de
programación y/o desarrollo que le permita escribir código ordenado, estructurado y
manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón
de diseño Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y
acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes
independientes (ver más abajo Frameworks en PHP).

43
I.3.2.2. ASP.NET

ASP.NET es un framework para aplicaciones web desarrollado y comercializado por


Microsoft. Es usado por programadores para construir sitios web dinámicos, aplicaciones web y
servicios web XML. Apareció en enero de 2002 con la versión 1.0 del .NET Framework, y es la
tecnología sucesora de la tecnología Active Server Pages (ASP). ASP.NET está construido
sobre el Common Language Runtime, permitiendo a los programadores escribir código
ASP.NET usando cualquier lenguaje admitido por el .NET Framework.

Cualquier persona que está familiarizada con el desarrollo de aplicaciones web sabrá
que el desarrollo web no es una tarea simple. Ya que mientras que un modelo de programación
para aplicaciones de uso común está muy bien establecido y soportado por un gran número de
lenguajes, herramientas de desarrollo, la programación web es una mezcla de varios lenguajes
de etiquetas, un gran uso de lenguajes de script y plataformas de servidor. Por desgracia para
el programador de nivel intermedio, el conocimiento y habilidades que se necesitan para
desarrollar aplicaciones web tienen muy poco en común con las que son necesarias en el
desarrollo tradicional de aplicaciones.

I.3.2.3. Java Server Pages (JSP)

JSP es una tecnología basada en el lenguaje de programación Java, que permite la


implementación de sitios web dinámicos. JSP fue desarrollado por Sun Microsystem con el
objetivo de crear una plataforma para la programación en el lado del servidor, por lo tanto se
puede definir que son páginas que contienen código HTML, script de cliente y un script que se
ejecuta en el servidor, dando como resultado código HTML. Por lo tanto al igual que en ASP al
cargar una página JSP en nuestro navegador, en realidad no estamos cargando la página en
sí, sino el resultado de la ejecución de dicha página.

JSP permite a los desarrolladores producir sitios web de una forma abierta y estándar,
ofreciendo una plataforma robusta para la implementación de aplicaciones Web.

Ventajas fundamentales:

 Multiplataforma.

 Reusabilidad de componentes mediante el uso de Javabeans.

44
 Utilización de un lenguaje orientado a objetos como Java que ofrece grandes
posibilidades.

JSP está implementado bajo la tecnología de Servlet, son esencialmente como las páginas
HTML, solo que permiten la inserción códigos Java mediante delimitadores especiales y usan
la extensión de fichero “jsp”. El código fuente de estas páginas es compilado la primera vez que
se ejecuta dentro de una clase, lográndose con ello una mayor rapidez en las próximas
peticiones al servidor.

Para la petición de una página JSP se requieren los siguientes pasos:

1. El usuario pide una página JSP mediante su navegador.

2. Esta es enviada al servidor Web a través de la red (Internet, Intranet).

3. El servidor reconoce que el fichero que se pide es de extensión jsp por lo tanto se lo
pasa al motor de Servlet (Servlet Engine).

4. Si es la primera vez, éste se analiza, sino se va al paso 7.

5. Se genera un Servlet especial del fichero JSP, todo el HTML requerido es convertido a
instrucciones “println”.

6. El código del Servlet es compilado dentro de una clase.

7. El Servlet es instanciado, llamando a los método Init() y Service().

8. HTML resultante es enviado al cliente a través de la red.

9. Se muestran los resultados en el navegador del cliente.

I.3.2.4. Lenguaje de programación utilizado

Se decidió desarrollar el módulo de Inteligencia de Negocios utilizando Java y JSP como


lenguaje de programación en el lado del servidor por la ventaja que traería al estar utilizando
aplicaciones realizadas en el mismo lenguaje y poder hacer usos de sus librerías y métodos.

45
I.3.3. IDE (Integrated Development Environment – Entorno de Desarrollo
Integrado)
Para optimizar el proceso de desarrollo de la aplicación, se hizo una comparación entre
algunos IDE más populares para Java como: JCreator, jGRASP, Eclipse y Netbeans para
poder seleccionar el editor más eficiente para la programación de Java. Entonces se seleccionó
el Netbeans por todas sus características: multiplataforma, multilenguaje, gratis, tener sistema
de control de versiones, ambiento de trabajo visual, entre otras.

I.3.4. Gestores de bases de datos

I.3.4.1. PostgreSQL

PostgreSQL es un Sistema Manejador de Bases de Datos Objeto-Relacional


(ORDBMS). EL paradigma Orientado a Objetos difiere significativamente del Modelo
Relacional, con PostgreSQL es posible utilizar ambos conceptos con el fin de constriur
aplicaciones mucho más poderosas.

PostgreSQL es un proyecto Open Source, está libremente disponible bajo los términos
de la licencia BSD. Existen versiones comerciales de PostgreSQL que ofrecen soporte en
instalación, configuración y administración. “No hay diferencia práctica entre la versión Open
Source y la versión Comercial de PostgreSQL”, declara el sitio oficial.

Con una gran trayectoria de desarrollo tras él, PostgreSQL es el gestor de bases de datos
de código abierto más avanzado actualmente, ofreciendo control de concurrencia multiversión,
soportando SQL, además de una gran variedad de lenguajes de programación, BDMS Objeto-
Relacional, altamente extensible, integridad referencial, cliente/servidor.

I.3.4.2. MySQL

MySQL: es el sistema gestor de bases de datos “Open Source” más popular. Este
además, es muy rápido, fiable y fácil de usar, surge para manipular bases de datos muy
grandes. MySQL es un sistema multiplataforma de bases de datos relacionales. La parte SQL
de MySQL se basa en el “Structured Query Language”, el lenguaje estándar más común para
acceso a bases de datos.

Una eterna discusión ha sido si MySQL soporta o no las transacciones. Hoy en día
MySQL soporta las transacciones para aquellos usuarios que prefieren usar esta potencialidad.
46
La razón principal del no uso del paradigma de transacciones es que permitió optimizaciones
en la velocidad que de otra forma no hubiesen sido posible. No obstante MySQL ofrece a los
usuarios la posibilidad de decidir entre la velocidad de las operaciones y la posibilidad de usar
transacciones.

MySQL en la gran mayoría de los casos resuelve este problema incluyendo simples
chequeos antes de las actualizaciones o corriendo simples script que chequean las Bases de
Datos de inconsistencias y automáticamente reparan o previenen si ocurre algún error. Usando
el fichero memoria (log) también pueden ser reparadas las tablas sin perder la integridad de los
datos.

I.3.4.3. Gestores de Base de Datos utilizado

Se seleccionó como gestor de base de datos para el módulo de Inteligencia de


Negocios a MySQL como estrategia de estandarización al estar integrado a la plataforma OL-
Solutions.

I.3.5. Servidores para JSP

I.3.5.1 GlassFish

GlassFish es un servidor de aplicaciones desarrollado por Sun Microsystems que


implementa las tecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones
que siguen esta especificación. La versión comercial es denominada Sun GlassFish Enterprise
Server. Es gratuito y de código libre, se distribuye bajo un licenciamiento dual a través de la
licencia CDDL y la GNU GPL.

GlassFish está basado en el código fuente donado por Sun y Oracle Corporation, éste
último proporcionó el módulo de persistencia TopLink. GlassFish tiene como base al servidor
Sun Java System Application Server de Sun Microsystems, un derivado de Apache Tomcat, y
que usa un componente adicional llamado Grizzly que usa Java NIO para escalabilidad y
velocidad.

I.3.5.2. JBoss

JBoss es un servidor de aplicaciones J2EE de código abierto implementado en Java


puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier sistema operativo que lo
47
soporte. Los principales desarrolladores trabajan para una empresa de servicios, JBoss Inc.,
adquirida por Red Hat en Abril del 2006, fundada por Marc Fleury, el creador de la primera
versión de JBoss. El proyecto está apoyado por una red mundial de colaboradores. Los
ingresos de la empresa están basados en un modelo de negocio de servicios. JBoss
implementa todo el paquete de servicios de J2EE.

Las características destacadas de JBoss incluyen:

Producto de licencia de código abierto sin coste adicional.


Cumple los estándares.
Confiable a nivel de empresa
Incrustadle, orientado a arquitectura de servicios.
Flexibilidad consistente
Servicios del middleware para cualquier objeto de Java
Ayuda profesional 24x7 de la fuente
Soporte completo para JMX

I.3.5.3. Tomcat

Tomcat (también llamado Jakarta Tomcat o Apache Tomcat) funciona como un contenedor
de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat
implementa las especificaciones de los servlets y de Java Server Pages de Sun Microsystems.
Fue escrito en Java por lo que funciona en cualquier sistema operativo que tenga instalada la
Máquina Virtual de Java.

Estado de desarrollo: Tomcat es mantenido y desarrollado por miembros de Apache


Software Foundation y voluntarios independientes. Los usuarios disponen de libre acceso a su
código fuente y a su forma binaria en los términos establecidos en la Apache Software License.
Las primeras distribuciones de Tomcat fueron las versiones 3.0.x y las versiones más recientes
son las 6.x.

I.3.5.4. Servidor utilizado

Se utilizó Tomcat como servidor para el módulo de Inteligencia de Negocios debido a su


sencillez en la instalación y configuración. Se configuró Tomcat de manera que se coopere con
Apache donde se encuentra corriendo la plataforma OL-Solutions.
48
I.3.6. Lenguaje de modelación

El desarrollo de software no es sin dudas una tarea fácil. Como resultado a este
problema ha surgido una alternativa desde hace mucho: la Metodología, las cuales imponen un
proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más predecible y
eficiente. Lo hacen desarrollando un proceso detallado con un fuerte énfasis en planificar
inspirado por otras disciplinas de la ingeniería.

Las metodologías ingenieriles han estado presentes durante mucho tiempo. No se han
distinguido precisamente por ser muy exitosas. Aún menos por su popularidad. La crítica más
frecuente a estas metodologías es que son burocráticas. Hay tanto que hacer para seguir la
metodología que el ritmo entero del desarrollo se retarda.

Hoy en día existen numerosas propuestas metodológicas que inciden en distintas


dimensiones del proceso de desarrollo. Un ejemplo de ellas son las propuestas tradicionales
centradas específicamente en el control del proceso. Estas han demostrado ser efectivas y
necesarias en un gran número de proyectos, sobre todo aquellos proyectos de gran tamaño
(respecto a tiempo y recursos).

Sin embargo la experiencia ha demostrado que las metodologías tradicionales no


ofrecen una buena solución para proyectos donde el entorno es volátil y donde los requisitos no
se conocen con exactitud, porque no están pensadas para trabajar con incertidumbre.

Aplicar metodologías tradicionales obliga a forzar al cliente a que tome la mayoría de las
decisiones al principio. Luego el coste de cambio de una decisión tomada puede llegar a ser
muy elevado si aplicamos metodologías tradicionales.

I.3.6.1. UML (Unified Modeling Languaje)

UML (Unified Modeling Languaje) o Lenguaje de Modelación Unificado es un lenguaje


gráfico para especificar, construir, visualizar y documentar las partes o artefactos (información
que se utiliza o produce mediante un proceso de software). Pueden ser artefactos: un modelo,
una descripción que comprende el desarrollo de software que se basen en el enfoque
Orientado a Objetos, utilizándose también en el diseño Web. UML usa procesos de otras

49
metodologías, aprovechando la experiencia de sus creadores, eliminó los componentes que
resultaban de poca utilidad práctica y añadió nuevos elementos.

De forma general las principales características son:


Lenguaje unificado para la modelación de sistemas
Tecnología orientada a objetos
El cliente participa en todas las etapas del proyecto
Corrección de errores viables en todas las etapas
Aplicable para tratar asuntos de escala inherentes a sistemas complejos de misión
crítica, tiempo real y cliente/servidor.

I.3.6.2. Rational Rose

Existen herramientas Case de trabajo visuales como el Analise, el Designe, el Rational


Rose, que permiten realizar el modelado del desarrollo de los proyectos, en la actualidad la
mejor y más utilizada en el mercado mundial es Rational Rose.
Rational Rose es la herramienta de modelación visual que provee el modelado basado
en UML.

La Corporación Rational ofrece la metodología del Proceso Unificado (RUP) para el


desarrollo de los proyectos de software, desde la etapa de Ingeniería de Requerimientos hasta
la de pruebas. Para cada una de estas etapas existe una herramienta de ayuda en la
administración de los proyectos, Rose es la herramienta del Rational para la etapa de análisis y
diseño de sistemas.
Rose es una herramienta con plataforma independiente que ayuda a la comunicación
entre los miembros de equipo, a monitorear el tiempo de desarrollo y a entender el entorno de
los sistemas. Una de las grandes ventajas de Rose es que utiliza la notación estándar en la
arquitectura de software (UML), la cual permite a los arquitectos de software y desarrolladores
visualizar el sistema completo utilizando un lenguaje común, además los diseñadores pueden
modelar sus componentes e interfaces en forma individual y luego unirlos con otros
componentes del proyecto.

I.3.6.3. Proceso Unificado de Racional (RUP)

El Proceso Unificado de Rational es un proceso iterativo. Para los sistemas simples,


parece perfectamente factible definir de forma secuencial el problema completo, diseñar la

50
solución completa, construir el software y, a continuación, hacer pruebas con el producto final.
Sin embargo, dadas la complejidad y sofisticación que demandan los sistemas actuales, este
enfoque lineal al desarrollo de Sistemas no es realista. Un enfoque iterativo propone una
comprensión incremental del problema a través de refinamientos sucesivos y un crecimiento
incremental de una solución efectiva a través de varios ciclos. Como parte del enfoque iterativo
se encuentra la flexibilidad para acomodarse a nuevos requisitos o a cambios tácticos en los
objetivos del negocio. También permite que el proyecto identifique y resuelva los riesgos más
bien pronto que tarde.

Las actividades del Proceso Unificado de Rational destacan en la creación y el


mantenimiento de modelos más que documentos sobre papel. Los modelos (especialmente
aquellos especificados mediante UML) proporcionan representaciones ricas, desde el punto de
vista semántico, del sistema software que se está desarrollando. Estos modelos pueden verse
de muchas formas, y la información representada puede ser capturada instantáneamente y
controlada electrónicamente. La razón subyacente al interés que pone el Proceso Unificado de
Rational en los modelos, antes que en los documentos sobre papel, es minimizar la sobrecarga
asociada con la generación y el mantenimiento de los documentos y maximizar el contenido de
información relevante.

I.3.6.4. Paradigma 3P

Paradigma 3P es una metodología de desarrollo de software nacida al calor de la


experiencia acumulada del grupo de investigación y desarrollo @tis debido a la insuficiente
capacidad de respuesta a los clientes utilizando las metodologías tradicionales.

Principios que sustentan el modelo:

1. Los individuos y sus interacciones son más importantes que los procesos y las
herramientas: El PERSONAL.
2. La comunicación con el cliente evita construir una elegante solución para un problema
equivocado: El PROBLEMA.
3. El software que funciona es más importante que la documentación exhaustiva: El
PROCESO.

Valores del Paradigma 3P:

51
1. Comunicación: Sin comunicación todo proyecto estaría destinado a fracasar, comunicar
no es escribir o hablar muchas palabras sino utilizar solo las palabras necesarias para
trasmitir una idea.
2. Sencillez: Nadie es mejor o peor que los demás miembros del grupo de desarrollo,
todos tienen fortalezas y debilidades, conocerlas hará que las relaciones entre los
miembros del grupo sean mejores en el orden profesional y personal.
3. Retroalimentación: Saber cuándo se debe rehacer algo que no funciona, equivocarse es
de humanos, encarar nuevamente la tarea con emprendimiento y optimismo.
4. Emprendimiento: estar dispuesto siempre a acometer las tareas más complejas,
encararla con esmero y con alegría hará que crezca el prestigio entre los demás
miembros, la convicción y el deseo del triunfo debe prevalecer.
5. Optimismo: Ser realista pero tener siempre el pensamiento orientado hacia el éxito.

Actividades básicas

1. Codificar: es necesario codificar y plasmar las ideas a través del código. En


programación, el código expresa la interpretación del problema, así se puede utilizar el
código para comunicar, para hacer comunes las ideas, y por tanto para aprender y
mejorar.
2. Hacer pruebas: las características del software que no pueden ser demostradas
mediante pruebas simplemente no existen. Las pruebas dan la oportunidad de saber si
lo implementado es lo que en realidad se tenía en mente. Las pruebas indican que el
trabajo funciona, cuando no se puede pensar en ninguna prueba que pudiese originar
un fallo en el sistema, entonces habrá acabado por completo.
3. Escuchar: se menciona en una frase, "Los programadores no lo conocen todo, y sobre
todo muchas cosas que las personas de negocios piensan que son interesantes. Si
ellos pudieran programarse su propio software ¿para qué nos querrían?".Si vamos a
hacer pruebas tenemos que preguntar si lo obtenido es lo deseado, y hay que preguntar
a quien necesita la información. Habrá que escuchar de los clientes cuáles son los
problemas de su negocio, con una escucha activa explicando lo que es fácil y difícil de
obtener, y la realimentación entre ambos que ayuda a todos a entender los problemas.
4. Diseñar: el diseño crea una estructura que organiza la lógica del sistema, un buen
diseño permite que el sistema crezca con cambios en un solo lugar. Los diseños deben

52
de ser sencillos, si alguna parte del sistema es de desarrollo complejo, lo apropiado es
dividirla en varias. Si hay fallos en el diseño o malos diseños, estos deben de ser
corregidos cuanto antes.

Roles del proyecto

1. Cliente
2. Jefe del Proyecto u Organización Temporal
3. Consultor
4. Analista-Programador
5. Programador

Ciclo de vida de desarrollo

I. Definición de Requisitos: Se determina el problema y su enfoque de solución.

II. Especificación Funcional: Se determinan las características de la solución y que es lo


que hay que construir.

Árbol de Procesos y Descripción de Procesos Unitarios.

Requisitos no funcionales.

III. Diseño del Prototipo

Diseño de la Base de Datos.

Diseño de Formularios de Entradas.

Diseño de Reportes de Salida.

Diseño Diagrama de Clase Web.

IV. Desarrollo del Prototipo

Codificación basada en Estándares.

Manual de Usuarios

53
Manual Técnico.

Ayuda en Línea.

V. Prueba del Prototipo.

Caja Negra

Calidad

VI. Si <Prototipo no OK > ir al paso II

VII. Si <Prototipo no es igual al Sistema Deseado> ir al paso I

VIII. Implantación.

Instalar y Verificar el Sistema

Capacitar a los usuarios en el manejo del sistema.

Puesta en Marcha de Explotación

Validación

Mantenimiento

I.3.6.5. Metodología de desarrollo seleccionada

Se decidió seleccionar el paradigma 3P por ser una metodología ágil, orientada a


proyectos en la Web y que agrupa todos valores y características de la Unidad Docente
Informática de Cárdenas en cuanto a sus métodos de desarrollo orientado a los clientes.

I.4. Conclusiones
1. Se analizaron gran variedad de tecnologías de desarrollo Web, cada una con sus
particularidades que las definen como más o menos apropiadas para un determinado
proyecto. Utilizarlas apropiadamente depende de los requisitos que debe cumplir la
aplicación a desarrollar, de los objetivos que persigue, del uso comercial que tendrá así
como de las facilidades que se necesite ofrecer para que el personal que interactúe con

54
dicha aplicación no tenga dificultades en su comprensión, luego de este análisis se han
escogido las más viables para el desarrollo del proyecto.

2. Se puede concluir entonces que existen múltiples herramientas y tecnologías que


facilitan y dan soporte al desarrollo de aplicaciones con las características de las que se
aborda, pero por las ventajas que nos brinda la comunidad de desarrolladores de
software libre y el lenguaje de programación Java se ha decidido desarrollar la
aplicación sobre este entorno, utilizando los paquetes de Open Source mencionados en
los tres componentes y como servidor de base de datos MySQL versión 5.1.

55
Capítulo II: Desarrollo de la aplicación

II.1. Introducción
En este capítulo se plantea fundamentalmente el diseño y la descripción del proceso de
desarrollo de la aplicación; específicamente se presenta la ingeniería de software, así como
diseño, método y técnicas utilizadas en la misma. Antes la situación problémica abordada en el
capítulo anterior, se realiza entonces una descripción del proceso propuesto. Se exponen los
requerimientos funcionales y no funcionales que debe cumplir la aplicación.

II.2. Desarrollo del módulo de Inteligencia de Negocios

II.2.1. Captura de necesidades


 Gestionar categoría:

Insertar categoría

Eliminar categoría

 Gestionar conexión a base de datos:

Crear conexión

Eliminar conexión

 Gestionar Minería de Datos:

Aplicar preprocesamiento

Aplicar algoritmos

 Gestionar reporte:

Crear reporte

Publicar reporte

Mover reporte

Eliminar reporte

Ver reporte

 Gestionar Cubo:
56
Crear Cubo

Publicar Cubo

Mover Cubo

Eliminar Cubo

Ver Cubo

II.2.2. Árbol de Proceso y Descripción de Procesos Unitarios

57
II.2.2.1. Árbol de Proceso
Conexión a la base de Inteligencia de Negocios Categorías
datos
Creación de conexión Creación de Categoría

Eliminación de Eliminación de
conexión Categoría

Minería de Datos OLAP Reporte

Inserción de tabla Explorador de Cubo Explorador de Reporte

Eliminación de tabla Eliminación de Cubos Eliminación de Reporte

Preprocesamiento Publicación de Cubo Publicación de Reporte

Clasificación Reubicación de Cubos Reubicación de Reporte

Árbol de Decisión Creación de Cubo Creación de Reporte

Reglas de
Asociación Iniciación Iniciación

Agrupamiento
Preparación de datos Preparación de datos

Creación de medidas Creación de contenido

Creación de Terminación
dimensiones
Terminación
58
II.2.2.2. Descripción de Procesos Unitarios

Conexión a la base de datos: Creación de conexión

Descripción:

 Entrada:

Nombre

Tipo de Gestor de Bases de datos

Ubicación de la base de datos

Nombre de usuario

Contraseña de usuario

 Reglas de transformación:

Se almacena la conexión y se muestra las conexiones existentes las cuales el


usuario tiene permiso.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

59
Minería de Datos: Preprocesamiento

Descripción:

 Entrada:

Categoría

Tabla

Campo a analizar

Campo de índice

Restricciones

Campos para análisis posteriores

 Reglas de transformación:

Se muestra todos los campos de la tabla seleccionada junto con sus


propiedades.

Cuando un campo es seleccionado se muestra sus estadísticas junto con un


gráfico de dispersión.

En el caso de los campos de tipo nominal, se puede seleccionar un campo de


índice para observar la distribución del campo a analizar con respecto a
diferentes valores del campo de índice.

Cuando se aplica restricciones, se elimina los valores que no satisfacen las


condiciones dadas y se muestra el resultado obtenido.

Se selecciona los campos para análisis posteriores con los algoritmos. Se


guarda los campos seleccionados en la sesión.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

60
Minería de Datos: Árbol de Decisión

Descripción:

 Entrada:

Algoritmo

Variable dependiente

 Reglas de transformación:

Se ejecuta el algoritmo de árbol de decisión seleccionado utilizando los datos


preparados en el paso de Preprocesamiento, la variable dependiente es la
seleccionada, el resto son variables independientes. Se muestra el árbol
obtenido.

 Salida:

Se muestra el árbol obtenido con sus nodos y ramas junto con una leyenda.

Esbozo del diseño E/S:

61
OLAP: Explorador de Cubos

Descripción:

 Entrada:

Categoría

Cubo

 Reglas de transformación:

Se ejecuta el motor OLAP sobre el cubo seleccionado.

 Salida:

Se muestra el cubo con sus dimensiones y medidas.

Opciones: Exportación al formato Exel y pdf, configura la impresión, mostrar y

62
configurar gráfico, intercambiar ejes, configura tabla OLAP, mostrar editor MDX,
abrir navegador OLAP, entre otras.

Esbozo del diseño E/S:

Reporte: Explorador de Reporte

Descripción:

 Entrada:

Categoría

Reporte

Tipo

 Reglas de transformación:

63
Se genera el reporte pedido según el tipo especificado y se conectar a la base
de datos para cargar los datos del reporte.

 Salida:

Se muestra el reporte con el formato seleccionado y según la estructura


predefinida.

Esbozo del diseño E/S:

La descripción del resto de los procesos unitarios se anexó con el objetivo de no sobrecargar
este capítulo:

 Conexión a la base de datos:

Creación de conexión. Anexo_1

Eliminación de conexión. Anexo_2

 Categoría:

Creación de categoría. Anexo_3

Eliminación de categoría. Anexo_4

 Minería de datos:

64
Inserción de tabla. Anexo_5

Eliminación de tabla. Anexo_6

Clasificación. Anexo_7

Reglas de Asociación. Anexo_8

Agrupamiento. Anexo_9

 OLAP

Eliminación de cubos. Anexo_10

Publicación de cubos. Anexo_11

Reubicación de cubos. Anexo_12

 Creación de Cubo

Iniciación. Anexo_13

Preparación de datos. Anexo_14

Creación de medidas. Anexo_15

Creación de dimensiones. Anexo_16

Terminación. Anexo_17

 Reporte

Eliminación de reportes. Anexo_18

Publicación de reporte. Anexo_19

Reubicación de reportes. Anexo_20

 Creación de Reporte

Iniciación. Anexo_21

65
Preparación de datos. Anexo_22

Creación de contenido. Anexo_23

Terminación. Anexo_24

II.2.3. Requisitos no funcionales


Requerimiento de software

Para la implantación del módulo se requiere de:

Un servidor Linux o Windows NT v 4.0 o superior.

Navegador para la web (Molliza, Iceweasel, Epiphany, Opera, Microsoft Internet


Explorer, Nestcape, etc.).

JRE 1.5 o superior.

Servidor Web Apache Tomcat 6.0.18 o superior.

Servidor de base de datos MySQL 5.0.0 0 superior.

Requerimiento de hardware

Para el servidor: Procesador Pentium IV 1.6 GHz o superior, mínimo de 512 Mb de


memoria de RAM, mínimo de 2Gb de capacidad en disco duro.

Estas condiciones están en dependencia del número de usuarios conectados, por lo


que las características descritas son las mínimas.

Para el cliente: Display con resolución mínima de 800x600. Los navegadores Firefox
1.5+, IExplorer 6.0+, Opera 8.0+, Safari 1.0+, con soporte Javascript y Java Applet.

Interfaz de red: Una conexión de 256 Kb/s o superior.

Interfaz externa

El diseño de la interfaz deberá ser agradable y sobre todo lo más profesional posible,
puesto que está dirigida al trabajo de dirección, donde será utilizada tanto por usuarios con una
preparación integral, como por algunos con conocimientos básicos de computación, por lo que
66
además, deberá ser sencilla, aprovechando las facilidades del ambiente web en el que se
desarrollará.

Rendimiento

Según los requisitos anteriormente expuestos el sistema demanda un rápido


procesamiento, se debe garantizar que el tiempo de respuesta del mismo ante las solicitudes
de los usuarios sea el menor posible, para hacerlo más cómodo. Esto está muy ligado a la
capacidad de procesamiento del servidor y es importante destacar que los algoritmos de
Minería de Datos y la visualización de Cubos OLAP requieren de procesadores potentes y
memoria suficiente.

Portabilidad

Una de las ventajas que proporciona el uso de MySQL y JSP en confección del sistema
es la portabilidad, al ser multiplataforma puede correr sobre cualquier sistema operativo que
tenga instalado la Máquina Virtual de Java y el servidor Tomcat sin necesidad de efectuar
cambios significativos.

Ayuda

Se dispone una ayuda para el uso de todos los componentes y en todos los pasos. En
el caso de Minería de Datos, se explicará la funcionalidad de todos los algoritmos usados.

II.2.4. Diseño de la base de datos


El módulo BI utiliza una base de datos transaccional llamada atisbi que contiene 7
tablas: category, database, cube, report, table, alias, user. A continuación se explica el uso de
cada una de las tablas mencionadas.

category: Las categorías se usan para ordenar las tablas, reportes y cubos en diferentes
grupos, esta estrategia facilita el almacenamiento de estos elementos y también su búsqueda.
La tabla category es creada para guardar la información de las categorías con un identificador y
un nombre.

database: El trabajo que realiza un usuario siempre empieza con las base de datos, por eso es
necesario tener una base de datos donde se puede almacena la información de estas para su
posterior uso.
67
id El identificador de la base de datos

id_user El id de usuario. Cada base de datos es añadido por un usuario, y sólo ese
usuario puede tener acceso a él, este campo guarda el id del usuario que
añadió la base de datos.

name El nombre de la base de datos. Cada base de datos está asignada con un
nombre, esto facilita a los usuarios en encontrar las bases de datos que había
añadido.

url La dirección donde se encuentra almacenada la base de datos. Con este


campo se guarda la dirección de la máquina, el puerto que usa el gestor de
base de datos y el nombre de la base de datos.

driver El tipo de gestor de base de datos. El módulo BI trabaja con varios tipos de
gestor de base de datos, este campo especifica el tipo de gestor de base de
datos en el cual la base de datos está almacenada.

user El nombre de usuario. Este nombre de usuario es usado para acceder a la


base de datos.

password La contraseña. Este campo es usado junto con el user para acceder a la base
de datos, para ello el usuario debe tener permisos de acceso a esta base de
datos.

Tabla 2.1: Descripción de la tabla database.

cube: La tabla cube es usada para almacenar la información de los cubos creados por todos los
usuarios.

id El identificador de cada cubo

id_user El id de usuario. Este campo guarda el id del usuario que creó el cubo.

id_category El id de categoría. Este campo almacena el id de la categoría a la que

68
pertenece el cubo.

name El nombre del cubo.

descr La descripción del cubo.

published Es una bandera para saber que si un cubo está publicado o no. Si un cubo
está publicado entonces lo puede ver cualquier usuario, pero si un cubo no
está publicado sólo su creador lo puede ver.

date El día que el cubo fue creado.

Tabla 2.2: La descripción de la tabla cube

Para no extender este capítulo, se decidió adjuntar la descripción de las siguientes tablas en el
anexo.

report: Anexo_25

table: Anexo_26

alias: Anexo_27

user: Anexo_28

69
Fig. 2.1: El diseño de la base de datos atisbi

II.2.5. Diseño de Diagrama de Clase Web


Diagrama de clases: Eliminación de Reportes:

Diagrama de clases: Explorador de OLAP:


70
Diagrama de clases: Preprocesamiento:

71
Diagrama de clases: Clasificación:

72
Para no sobrecargar este capítulo, se decidió adjuntar el resto de los diagrama de clases Web
en el Anexo:

Diagrama de clases: Creación de conexión. Anexo_29

Diagrama de clases: Eliminación de conexión. Anexo_30

Diagrama de clases: Creación de Categoría. Anexo_31

Diagrama de clases: Eliminación de Categoría. Anexo_32

Diagrama de clases: Inserción de tabla. Anexo_33

Diagrama de clases: Eliminación de tabla. Anexo_34

Diagrama de clases: Árbol de decisión. Anexo_35

Diagrama de clases: Reglas de Asociación. Anexo_36

Diagrama de clases: Agrupamiento. Anexo_37

Diagrama de clases: Explorador de Reportes. Anexo_38

73
II.2.6. Codificación basada en estándares
A continuación se hace referencia a fragmentos de código que se han utilizado en la
aplicación y forman parte de los estándares establecidos en la Unidad Docente de Informática
de Cárdenas, para aquellos que desarrollan aplicaciones utilizando Java, JSP, extjs.

¿Cómo se muestra una ventana utilizando extjs?

var win = new Ext.Window({

id: 'mi-id',

title: 'Mi ventana',

width: 300,

height: 300,

html: 'Mi contenido'

});

win.show();

¿Cómo se usa Ajax para cargar datos desde servidor?

Ext.Ajax.request({

url:'jsp/micontenido.jsp',

params:{

id: '1'

},

success:function(o){

Ext.Msg.alert ('Resultado', o.responseText);

74
},

failure:function(){

Ext.Msg.alert('Error', 'No se pudo conectar');

});

¿Cómo se lee los parámetros desde el fichero de configuración?

public static String getHome(){

String res = null;

Properties prs = new Properties();

try{

prs.load(Config.class.getResourceAsStream("config.properties"));

res = prs.getProperty("home");

catch(Exception e){}

return res;

¿Cómo devuelve datos de formato JSON?

public static String getCategoryTreeString(int userId) {

ArrayList<Category> categories = Category.getCategories();

StringBuffer text = new StringBuffer("[");

for (int i = 0; i < categories.size(); i++) {

75
text.append("{text: '" + categories.get(i).getName() + "', id: 'cate-" + categories.get(i).getId() +
"', children:[");

ArrayList<Table> tables = Table.getTables(categories.get(i).getId(), userId);

for (int j = 0; j < tables.size(); j++) {

text.append("{text: '" + tables.get(j).getAlias() + "', id: '" + tables.get(j).getId() + "', leaf:


true}");

if (j < tables.size() - 1) {

text.append(", ");

text.append("]}");

if (i < categories.size() - 1) {

text.append(", ");

text.append("]");

return text.toString();

La salida obtenida del método anterior:

[{text: 'economia', id: 'cate-1', children:[]}, {text: 'financia', id: 'cate-2', children:[]}]

76
II.2.7. Manual de Usuarios
El manual de usuarios de este módulo está incluido en el manual de usuarios de la
Plataforma OL-Solutions, se puede con seguir este manual en el sitio web del grupo @tis.

II.2.8. Manual Técnico


El manual de técnico de este módulo también está incluido en el manual de técnico de
la Plataforma OL-Solutions, se puede con seguir este manual en el sitio web del grupo @tis.

II.2.9. Ayuda en línea


En cada componente de la aplicación, se puede encontrar una opción de ayuda y
soporte. También hay opciones que explican detalladamente las funcionalidades de cada
algoritmo de minería de datos y su uso. Además se cuenta con una ayuda más ampliada en el
sitio web del grupo @tis.

II.3. Conclusiones del capítulo


Con la elaboración de este capítulo ha quedado constituida la propuesta, pues se
comenzó partiendo de la situación, los objetivos, abordando las técnicas y métodos del trabajo,
luego se adentró en aspectos más profundos como: la captura de necesidades, los procesos
unitarios, el diseño de la base de datos, los diagrama de clases web, entre otros temas que
permitieron conformar una solución al problema que se presentó.

77
Capítulo III: Análisis de los resultados

III.1. Introducción
En este capítulo se realiza un análisis detallado de la solución propuesta en cuanto a los
resultados alcanzados y los aportes que se obtuvieron en su desenvolvimiento práctico, se
realiza el estudio de factibilidad y se proponen perspectivas de desarrollo.

III.2. Estudio de factibilidad

III.2.1. COCOMOII
Entradas Externas

Nombre de la Entrada Cantidad de Cantidad de Clasificación


Externa Ficheros Elementos de Datos

Usuarios 1 4 Simple

Categorías 1 2 Simple

Reportes 4 4 Complejo

OLAP 4 4 Complejo

Minería de Datos 3 6 Medio

t_user 1 3 Simple

t_table 1 5 Simple

t_category 1 2 Simple

t_cube 1 7 Simple

t_report 1 7 Simple

t_alias 1 5 Simple

t_database 1 7 Simple

78
Salidas Externas

Nombre de la Salida Cantidad de Cantidad de Clasificación


Externa Ficheros Elementos de Datos

Reportes 3 6 Media

OLAP 3 6 Media

Clasificación 3 6 Media

Árbol de Decisiones 3 6 Media

Reglas de Asociación 3 6 Media

Agrupamiento 3 6 Media

Preprocesamiento 3 7 Media

Ficheros Internos

Nombre de la Entrada Cantidad de Cantidad de Clasificación


Externa Ficheros Elementos de Datos

Alias 1 7 Simple

Categoría 1 3 Simple

Tablas 1 3 Simple

Accesos 1 7 Simple

Mdx 1 6 Simple

Reporte 1 5 Simple

Usuarios 1 7 Simple

79
Puntos de Función desajustados

Elementos Simples X Peso Medios X Peso Complejos X Peso Subtotal


de
puntos
de
función

Ficheros 7 7--- 49 - 10--- - 15--- 49


lógicos
internos

Entradas 9 3--- 27 1 4--- 4 2 6--- 12 43


externas

Salidas - 4--- 7 5--- 35 - 7--- 35


externas

Peticiones - 3--- - 4--- - 6---

Total 127

Características Valor

Puntos de función desajustados 127

Lenguaje Java Javascript SQL

Instrucciones fuentes por puntos de 35% 50% 15%


función
59---44.45 50---63.5 13---19.05

Instrucciones fuentes 2622.55 3175 247.65

Total 6045

80
Los lenguajes que se utilizan son Java, Javascript, SQL. En el caso de Java tiene 59
instrucciones fuente por punto de función, Javascript tiene 50 instrucciones fuente por punto de
función, y SQL tiene 13 instrucciones fuente por punto de función. Java se utiliza
aproximadamente un 35%, Javascript 50% y SQL 15%, y el total de instrucciones fuente es de
6045 (6.045M).

Factores de escala y multiplicadores de esfuerzo

Factores de Valor Justificación


Escala

PREC 3.72 Se cuenta con una experiencia en la elaboración de sistemas para la


web, pero se han incluido aspectos novedosos.

FLEX 2.03 Hay necesidad de que el sistema se ajuste a los requerimientos


preestablecidos, pero con cierta flexibilidad.

RESL 2.83 Se tiene en cuenta las reducciones de riesgo.

TEAM 2.19 La aplicación es desarrollada por sólo un programador.

PMAT 6.24 El programador se encuentra en el nivel 1 (alto) de CMM.

Multiplicadores Valor Justificación


de Esfuerzo

RCPX 0.83 La documentación es la que necesita el proyecto, aunque el


producto es algo complejo.

RUSE 1.0 El código fuente de la aplicación está disponible y puede ser


reutilizado por otras aplicaciones, esta es la ventaja de las
aplicaciones desarrolladas con las capas.

PDIF 1.0 La aplicación es estable.

PREX 0.87 Se presenta cierta domino de las aplicaciones, del lenguaje y las

81
herramientas de trabajo, así como de la Plataforma.

PRES 0.83 Se cuenta con conocimientos de análisis y programación para


desarrollar el sistema.

FCIL 0.87 Se utilizan instrumentos modernos de programación.

SCED 1.14 Hasta ahora se ha seguido la planificación inicial, con pequeños


cambios.

Multiplicadores de Esfuerzo

7
EM= i=1Emi = RCPX*RUSE*PDIF*PERS*PREX*FCIL*SCED

EM=0.83*1.00*1.00*0.87*0.83*0.87*1.14

EM=0.59

Factores de escala

5
SF= i=1=PREC+FLEX+RESL+TEAM+PMAT

SF=3.72+2.03+2.83+2.19+2.24

SF=17.01

Valores de los coeficientes

A = 2.94 B = 0.91 C = 3.67 D = 0.28

E = B+0.01*SF F = D+0.2*(E - B)

E = 0.91*0.01*17.01 F = 0.28+0.2*(1.0801 – 0.91)

E = 1.0801 F = 0.31402

82
Esfuerzo

PM = A*(MF)E * EM

PM = 2.94 * (4.8314)1.0801 * 0.59

PM = 10.51 Hombres/Mes

Tiempo de desarrollo

TDEV = C*(PM)F

TDEV = 3.67*(12.51)0.31402

TDEV = 7.45 meses 8 meses

Cálculo de la cantidad de hombres

CH = PM/TDEV

CH = 10.51/7.45

CH = 1.3 hombres 1 hombres

Costo

Se asume como salario promedio mensual $ 400.00

CHM = CH*Salario Promedio

CHM = 1*400.00

CHM = 400$/mes

Costo = CHM * PM

Costo = $400 * 10.51

Costo = 4204.00
83
Resumen de los costos del proyecto

Cálculo de: Valor

Esfuerzo (PM) 10.51

Tiempo de desarrollo 8 meses

Cantidad de hombres 1

Costo $4204.00

Salario medio $400.00

III.2.2. Análisis de costos y beneficios


El proyecto puede considerarse factible desde el punto de vista económica, partiendo
que el mismo se realiza de modo no presencial, solamente se coordinan encuentros para el
seguimiento del trabajo y la planificación de las tareas. Evitándose así en la mayoría de los
casos, los gastos de alimentación, alojamiento y transportación.

El trabajo apoya a los directivos de las organizaciones en la toma de decisiones,


ofreciendo una interfaz amigable y muchas herramientas de análisis de datos que les permitirán
a los mismos una mayor representación del comportamiento de sus entidades. Esta aplicación
se desarrolla de forma muy económica, por estar implementada completamente con
herramientas libres; o sea tanto las herramientas de desarrollo, las librerías utilizadas como el
sistema operativo donde se implantará el software, son de libre distribución y en la mayoría de
los casos se encuentran gratis en Internet.

A pesar de que se siguió la metodología COCOMOII para el cálculo de los costos del
proyecto, intentando ser lo más fiel posible a la realidad del proceso de desarrollo, se aprecia
una gran distención entre lo real ocurrido y los resultados obtenidos finalmente por esta
metodología. Esta apreciación se sustenta en la poca objetividad de la ponderación del
esfuerzo cuando se codifica siguiendo las técnicas modernas de la Web 2.0; no existe
herramientas para la depuración óptima de Javascript, producto a la des-estandarización de los

84
diferentes navegadores. También que esta metodología está concebida los procesos de
desarrollo profesional y no tiene en cuenta el tiempo de auto-aprendizaje del diplomante.

III.3. Resultados prácticos obtenidos en la empresa Cubaron


Cubaron S.A es una de las Corporaciones más importantes de Cuba, de amplio prestigio
tanto nacional como internacional, la misma constituye una muestra de las entidades cubanas
que presentan necesidades informacionales; y en la que el empleo de las nuevas tecnologías
jugará un papel definitivo como apoyo a la toma de decisiones. Esta empresa y la Unidad
Docente Informática de Cárdenas tienen un vínculo estrecho en los procesos de formación
docente y productiva.

Por tanto, la plataforma OL-Solutions con el módulo BI integrado fue implementada en la


Corporación Cubaron S.A Cárdenas con el objetivo de mejorar la toma de decisiones y como
punto de partida del estudio de factibilidad y de viabilidad del proyecto.

Se hizo un análisis del estado de todos los departamentos de esta corporación y se


determinó diseñar un DataMart en el departamento Economía para empezar el proceso de
exploración de datos. Como resultado de este proceso, se crearon cubos OLAP y Reportes
para diferentes áreas. También se hicieron cursos de Capacitación para los responsables del
sistema informático de la empresa.

La aplicación de estas nuevas herramientas en la empresa ha conseguido un excelente


resultado, facilitando las consultas de datos, los análisis de datos y brindando apoyo a la toma
de las decisiones de los directivos. Los reportes que se han recibido desde esta empresa
aseguran que el sistema responde muy bien ante los requisitos tanto de gestión de información
como de análisis de datos. 1

III.4. Análisis de los aportes científicos que se obtuvieron y los resultados finales
que aporta el trabajo
Con el desarrollo de este trabajo se ha logrado una aplicación de análisis y exploración
de datos que apoya a la toma de decisiones de los usuarios, pues les permite a los directivos
consultar la información que antes permanecía disgregada en las bases de datos, permitiendo

1
Ver aval de la empresa Cubaron S.A Cárdenas

85
que se emplee el tiempo que antes se dedicaba a obtener la información en analizarla, ajustarla
y hacer las tomas de decisiones con alta exactitud.

Se logró una experiencia en el uso de las librerías de código abierto, pues en este
sector existen muchos aportes desde diferentes fuentes. Las librerías libres contribuyen a
disminuir los costos y el tiempo de desarrollo.

III.5. Conclusiones
Con la elaboración de este capítulo se demostró la validez de la propuesta, se analizó la
efectividad de la misma partiendo de los reportes de los clientes, se realizó un estudio de los
costos teniendo en cuenta la particularidades de este proyecto.

86
Conclusiones
En la actualidad, la información constituye un enorme potencial en cualquier ámbito,
convirtiéndose en una fuente de ventaja competitiva y la mejor forma de reducir riesgos en la
toma de decisiones al disminuir la incertidumbre sobre algún aspecto del mercado o de los
procesos de un negocio. En este sentido, y con el desarrollo del trabajo, se puede concluir que:

1. Se desarrolló un estudio sobre las funcionalidades de la Plataforma OL-Solutions que


permitió una mejor comprensión sobre las mismas; donde se detalló todos los aspectos
relativos con cada módulo y su aplicación.

2. Se hizo una revisión sobre el estado del módulo de Inteligencia de Negocios de la


Plataforma OL-Solutions, a través de la cual se destacó la necesidad de desarrollar una
nueva interfaz para el análisis y exploración de datos.

3. Se realizó un estudio sobre la situación actual del mundo BI y sus soluciones más
destacadas; lo que permitió determinar las características y funcionalidades que tendrá
el nuevo módulo.

4. Se desarrolló un nuevo módulo BI para la Plataforma OL-Solutions que mejoró


significativamente los procesos de análisis y exploración de datos; el cual brinda a los
usuarios elementos para disminuir el grado de incertidumbre en las tomas de
decisiones.

5. Se logró una alta satisfacción del cliente de la empresa en la que se implementó el


sistema, obteniendo niveles de eficacia en las tomas de decisiones que se corrobora
con el posterior desenvolvimiento de la empresa en sus índices económicos.

87
Recomendaciones
Para un mejor uso de esta aplicación en las organizaciones se recomienda realizar las
siguientes tareas:

1. Realizar un curso de capacitación en la empresa donde se implementa la Plataforma


OL-Solutions en general y el módulo BI en particular.

2. Construir los DataMart y/o Data Warehouse de la empresa y/o de los departamentos
para tener una mejor fuente de datos antes de aplicar las herramientas desarrolladas.

3. Los usuarios deben tener conocimiento sobre los datos de la entidad donde se realizan
los análisis, de esta manera se garantiza un máximo aprovechamiento de la
información.

Para la continuidad del trabajo, es recomendado que los desarrolladores tengan en cuenta los
siguientes puntos:

1. Añadir más algoritmos de minería de datos y mejorar la salida de los mismos,


especialmente los algoritmos de redes neuronales.

2. También es importante mantener las librerías actualizadas, de forma que se mejore la


funcionalidad de cada componente y anule los errores posibles.

3. Seguir los mismos estándares de programación propuestos por la Unidad Docente


Informática de Cárdenas para la mejor comprensión de los códigos.

88
Referencias bibliográficas
1. Guzman, Jose Tello. Sistemas de información. [En línea] www.josetelloguzman.i-p.com

2. Inmon, 1992.

3. Podmoguilnye, Marcelo Gustavo. Sistemas Integrados de Información para la


Gestión.

4. INEI, Instituto Nacional de Estadística e Informática. Manual de construcción de un


Data Warehouse.

5. Cañete, Patricio. Business Inteligence.

6. Gestopolis. [En línea] www.gestiopolis.com

7. Statebi. Todo el Business Inteligence, en un solo documento. [En línea]


www.stratebi.com

8. TodoBI. Un año de Business Inteligence 05/06. [En línea] www.todobi.com

9. Wikipedia en español. [En línea] http://es.wikipedia.org

10. Dávila, F. La inteligencia de Negocio.

11. Definición ABC. Reporte. [En línea] www.definicionabc.com

12. Grupo @tis. Manual de usuario OL-Solutions.

89
Bibliografías
1. Medina, D. y Barásoain, P., (2005). Inteligencia en Redes de Comunicaciones.

2. Hurtado, F., (2008). Tratamiento de las tecnologías de inteligencia de negocios


(BI) en la estrategia de (TI).

3. García-Martínez, R., Britos, P., Diez, E., et al., (2007). Minería de Datos en
Inteligencia de Negocios.

4. Antunez, I., (2009). La inteligencia de Negocios desde la perspectiva cubana:


retos y tendencias.

5. Giménez, J., (2007). Análisis del estado de Mondrian (OLAP Open Source).

6. López, J. y Herrero J., (2006). Técnicas de Análisis de datos: Aplicaciones


prácticas utilizando Microsoft Excel y Weka.

7. Jeria, V., (2007). Minería Web de uso y perfiles de Usuario: Aplicaciones con
Lógica difusa.

8. http://www.monografias.com/index.shtml

9. http://es.wikipedia.org

10. http://www.crystalsolutions.com.ar

11. http://www.cognos.com

12. http://www.ibm.com/ibm/es/es/

13. http://www.sap.com/index.epx

14. http://www.microstrategy.com/

15. http://www.sun.com/third-party/global/oracle/index.jsp

16. http://extjs.com/

17. http://glassfish.dev.java.net/

90
18. http://msdn.microsoft.com/es-es/

19. http://www.gravitar.biz/

20. http://www.sun.com/

21. http://www.desarrolloweb.com/

22. http://www.eclipse.org/

23. http://www.jcreator.com/

24. http://www.jgrasp.org/index.html

25. http://www.netbeans.org

26. http://www.jboss.org/

27. http://www.knime.org/

28. http://www.ailab.si/orange/

29. http://rapidminer.com/

30. http://www.r-project.org/

31. http://www.spss.com/

32. http://www.statsoft.com/

33. http://www.cs.waikato.ac.nz/ml/weka/

34. http://conocimientolibre.wordpress.com/

35. http://www.pentaho.com/

36. http://programacion.com/

37. http://www.mysql.com/

38. http://www.php.net/

39. http://www.businessobjects.com/products/reporting/crystalreports/default.asp
91
40. http://dynamicreports.sourceforge.net/index.html

41. http://jasperforge.org/projects/jasperreports

42. http://jfreereport.pentaho.org/

43. http://www.jaspersoft.com/analysis

44. http://www.stimulsoft.com/es/Home.aspx

45. http://tomcat.apache.org/

92
Anexos
Anexo_1: Descripción de proceso unitario: Creación de conexión

Conexión a la base de datos: Creación de conexión

Descripción:

 Entrada:

Nombre

Tipo de Gestor de Bases de datos

Ubicación de la base de datos

Nombre de usuario

Contraseña de usuario

 Reglas de transformación:

Se almacena la conexión y se muestra las conexiones existentes las cuales el


usuario tiene permiso.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

93
Anexo_2: Descripción de proceso unitario: Eliminación de conexión

Conexión a la base de datos: Creación de conexión

Descripción:

 Entrada:

Nombre

Tipo de Gestor de Bases de datos

Ubicación de la base de datos

Nombre de usuario

Contraseña de usuario

 Reglas de transformación:

Se almacena la conexión y se muestra las conexiones existentes las cuales el


usuario tiene permiso.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

94
Anexo_3: Descripción de proceso unitario: Creación de categoría

Categorías: Creación de Categoría

Descripción:

 Entrada:

Nombre

 Reglas de transformación:

Almacena en la base de datos y se muestra las categorías existentes.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

95
Anexo_4: Descripción de proceso unitario: Eliminación de categoría

Categorías: Eliminación de Categoría

Descripción:

 Entrada:

Nombre

 Reglas de transformación:

Se elimina la categoría de la base de datos y se muestra las categorías


restantes.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

96
Anexo_5: Descripción de proceso unitario: Inserción de tabla

Minería de Datos: Inserción de tabla

Descripción:

 Entrada:

Base de datos

Tabla y su alias

Categoría

Campos y sus alias

 Reglas de transformación:

Se almacena la tabla seleccionada con sus campos en la base de datos y


muestra la lista de todas las tablas existente dentro de cada categoría.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

97
Anexo_6: Descripción de proceso unitario: Eliminación de tabla

Minería de Datos: Eliminación de tabla

Descripción:

 Entrada:

Categoría

Tabla

 Reglas de transformación:

Se elimina la tabla de la base de datos y muestra la lista de todas las tablas


existente dentro de cada categoría.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

98
Anexo_7: Descripción de proceso unitario: Clasificación

Minería de Datos: Clasificación

Descripción:

 Entrada:

Algoritmo, Variable dependiente

Valores para variables independientes (en caso de pronóstico)

 Reglas de transformación:

Se ejecuta el algoritmo seleccionado utilizando los datos preparados en el paso


de Preprocesamiento, la variable dependiente es la seleccionada, el resto son
variables independientes. Se muestra el resultado obtenido de la salida de
algoritmo aplicado.

En el caso de diagnóstico se calcula el resultado basando en el valor entrado, se


muestra el resultado.

 Salida:

Se muestra resultados al usuario.

Esbozo del diseño E/S:

99
Anexo_8: Descripción de proceso unitario: Reglas de Asociación

Minería de Datos: Reglas de Asociación

Descripción:

 Entrada:

Algoritmo

 Reglas de transformación:

Se ejecuta el algoritmo de Reglas de Asociación seleccionado utilizando los


datos preparados en el paso de Preprocesamiento.

 Salida:

Se muestra una lista de las reglas encontradas.

Esbozo del diseño E/S:

100
Anexo_9: Descripción de proceso unitario: Agrupamiento

Minería de Datos: Agrupamiento

Descripción:

 Entrada:

Algoritmo

Cantidad de grupos

 Reglas de transformación:

Se ejecuta el algoritmo de Agrupamiento seleccionado utilizando los datos


preparados en el paso de Preprocesamiento.

 Salida:

Se muestra el resultado obtenido.

Esbozo del diseño E/S:

101
Anexo_10: Descripción de proceso unitario: Eliminación de cubos

OLAP: Eliminación de Cubos

Descripción:

 Entrada:

Categoría

Cubos

 Reglas de transformación:

Elimina los cubos seleccionados de la bases de datos, también se elimina


físicamente los ficheros de definición de los cubos.

 Salida:

Se muestra los cubos restantes de la categoría seleccionada.

Esbozo del diseño E/S:

102
Anexo_11: Descripción de proceso unitario: Publicación de cubos

OLAP: Publicación de Cubo

Descripción:

 Entrada:

Categoría

Cubo

 Reglas de transformación:

Se ejecuta secuencias SQL para poner el cubo seleccionado al estado publicado


o no publicado.

 Salida:

Se muestra los cubos de la categoría seleccionada junto con sus atributos.

Esbozo del diseño E/S:

103
Anexo_12: Descripción de proceso unitario: Reubicación de cubos

OLAP: Reubicación de Cubo

Descripción:

 Entrada:

Categoría

Categoría destino

Cubos

 Reglas de transformación:

Se ejecuta secuencias SQL para mover los cubos seleccionados a la nueva


categoría, también se mueve físicamente los ficheros de definición de cubo.

 Salida:

Se muestra los cubos restantes de la categoría seleccionada.

Esbozo del diseño E/S:

104
Anexo_13: Descripción de proceso unitario: Iniciación

OLAP: Creación de Cubo: Iniciación

Descripción:

 Entrada:

Nombre

Descripción

Base de datos

 Reglas de transformación:

Se almacena el nombre y la descripción del nuevo cubo.

Se carga los atributos de la base de datos seleccionada: nombre, tipo, ubicación,


usuario, contraseña para el uso posterior.

 Salida:

Se va al próximo paso.

Esbozo del diseño E/S:

105
Anexo_14: Descripción de proceso unitario: Preparación de datos

OLAP: Creación de Cubo: Preparación de datos

Descripción:

 Entrada:

Tablas

Campos

Relaciones

 Reglas de transformación:

Se almacena los campos seleccionados junto con las tablas al que pertenecen.

Se establece las relaciones entre las tablas.

 Salida:

Se muestra las tablas seleccionadas junto con sus campos.

Se muestran las líneas que representan relaciones entre las tablas.

Se va al próximo paso.

Esbozo del diseño E/S:

106
Anexo_15: Descripción de proceso unitario: Creación de medidas

OLAP: Creación de Cubo: Creación de medidas

Descripción:

 Entrada:

Tabla hecho

Medidas

Nombres de medidas

Agregadores

formato

 Reglas de transformación:

Se almacena la tabla de hecho, las medidas junto con sus atributos: nombre,
agregador, formato.

 Salida:

Se muestra las tablas seleccionadas en el paso anterior.

Se muestra las medidas creadas junto con sus campos.

Se va al próximo paso.

Esbozo del diseño E/S:

107
Anexo_16: Descripción de proceso unitario: Creación de dimensiones

OLAP: Creación de Cubo: Creación de dimensiones

Descripción:

 Entrada:

Dimensiones, Niveles, Atributos

 Reglas de transformación:

Se almacena las dimensiones creadas junto con su jerarquía y niveles.

Se puede especificar los atributos de cada elemento.

 Salida:

Se muestra un árbol de dimensiones, jerarquías y niveles.

Se muestra los atributos cuando se selecciona un elemento del árbol


mencionado.

Se va al próximo paso.

Esbozo del diseño E/S:

108
Anexo_17: Descripción de proceso unitario: Terminación

OLAP: Creación de Cubo: Terminación

Descripción:

 Entrada:

Categoría

 Reglas de transformación:

Se guarda la estructura del cubo en el servidor, junto con la conexión de datos.

 Salida:

Se muestra el esquema del cubo en formato de un árbol o formato xml.

Se va la ventana de administración de cubos.

Esbozo del diseño E/S:

109
Anexo_18: Descripción de proceso unitario: Eliminación de reportes

Reporte: Eliminación de Reporte

Descripción:

 Entrada:

Categoría

Reportes

 Reglas de transformación:

Elimina los reportes seleccionados de la bases de datos, también se elimina


físicamente los ficheros de definición de los reportes.

 Salida:

Se muestra los reportes restantes de la categoría seleccionada.

Esbozo del diseño E/S:

110
Anexo_19: Descripción de proceso unitario: Publicación de reporte

Reporte: Publicación de reporte

Descripción:

 Entrada:

Categoría

Reporte

 Reglas de transformación:

Se pone el reporte seleccionado al estado publicado o no publicado.

 Salida:

Se muestra los reportes de la categoría seleccionada junto con sus atributos.

Esbozo del diseño E/S:

111
Anexo_20: Descripción de proceso unitario: Reubicación de reportes

Reporte: Reubicación de Reportes

Descripción:

 Entrada:

Categoría

Categoría destino

Reportes

 Reglas de transformación:

Se ejecuta secuencias SQL para mover los reportes seleccionados a la nueva


categoría, también se mueve físicamente los ficheros de definición de reporte.

 Salida:

Se muestra los reportes restantes de la categoría seleccionada.

Esbozo del diseño E/S:

112
Anexo_21: Descripción de proceso unitario: Iniciación

Reporte: Creación de reporte: Iniciación

Descripción:

 Entrada:

Nombre

Descripción

Base de datos

 Reglas de transformación:

Se almacena el nombre y la descripción del nuevo reporte.

Se carga los atributos de la base de datos seleccionada: nombre, tipo, ubicación,


usuario, contraseña para el uso posterior.

 Salida:

Se va al próximo paso.

Esbozo del diseño E/S:

113
Anexo_22: Descripción de proceso unitario: Preparación de datos

Reporte: Creación de reporte: Preparación de datos

Descripción:

 Entrada:

Tablas

Campos

Relaciones

 Reglas de transformación:

Se almacena los campos seleccionados junto con las tablas al que pertenecen.

Se establece las relaciones entre las tablas.

 Salida:

Se muestra las tablas seleccionadas junto con sus campos.

Se muestran las líneas que representan relaciones entre las tablas.

Se muestra una sentencia SQL correspondiente con el trabajo que se está


haciendo.

Esbozo del diseño E/S:

114
Anexo_23: Descripción de proceso unitario: Creación de contenido

Reporte: Creación de reporte: Creación de contenido

Descripción:

 Entrada:

Grupos

Orden de campos

Atributos

 Reglas de transformación:

Se almacena los grupos seleccionados, los campos no seleccionados serán las


columnas del reporte. Se puede reordena los campos, cambiar sus atributos:
nombre, tipo, agregador.

 Salida:

Se muestra los grupos y otros campos junto con sus atributos.

Se va al siguiente paso.

Esbozo del diseño E/S:

115
Anexo_24: Descripción de proceso unitario: Terminación

Reporte: Creación de reporte: Terminación

Descripción:

 Entrada:

Logotipo

Formato

Categoría

 Reglas de transformación:

Se puede incluir un logotipo para el reporte.

Se puede configurar el formato del reporte como desee.

 Salida:

Se muestra el logotipo seleccionado.

Se muestra los colores de fondo y de letra de cada elemento de reporte.

Se va a la ventana de administración de reportes.

Esbozo del diseño E/S:

116
Anexo_25: La descripción de la tabla report

La tabla report guarda la información de los reportes creados por todos los usuarios.

Id El identificador de cada reporte

id_user El id de usuario. Este campo guarda el id del usuario que creó el reporte.

id_category El id de categoría. Este campo almacena el id de la categoría al que


pertenece el reporte.

Name El nombre del reporte.

Descr La descripción del reporte.

Published Es una bandera para saber que si un reporte está publicado o no. Si un
reporte está publicado entonces lo puede ver cualquier usuario, pero si un
reporte no está publicado sólo su creador lo puede ver.

Date El día que el reporte fue creado.

117
Anexo_26: La descripción de la tabla table

La tabla table guarda la información de las tablas importadas por los usuarios para los trabajos
de la minería de datos. Cada tabla pertenece a una base de datos, una categoría, un usuario, y
cada tabla tiene varios campos para el análisis de datos.

Id El identificador de cada tabla

id_category El id de la categoría a la que pertenece la tabla.

id_database El id de la base de datos a la que pertenece la tabla.

Name El nombre de la tabla.

Alias El alias de la tabla.

118
Anexo_27: La descripción de la tabla alias

La tabla alias es usada para almacenar la información del alias de los campos.

Id El identificador de cada alias

id_table El id de la tabla a la que pertenece este campo.

Field El nombre de este campo.

Alias El alias del campo tratado.

Type El tipo de datos de este campo.

119
Anexo_28: La descripción de la tabla user

El módulo BI está integrado en la Plataforma OL-Solutions, por eso normalmente usa los datos
de usuario de la base de datos moodle. Pero en el caso que se instala este módulo como una
aplicación independiente, entonces se necesita esta tabla user para almacenar la información
de usuario.

Id El identificador de cada usuario.

Nombre El nombre del usuario.

Password La contraseña del usuario.

Type El role del usuario.

120
Anexo_29: Diagrama de clases: Creación de conexión

121
Anexo_30: Diagrama de clases: Eliminación de conexión

122
Anexo_31: Diagrama de clases: Creación de Categoría

123
Anexo_32: Diagrama de clases: Eliminación de Categoría

124
Anexo_33: Diagrama de clases: Inserción de tabla

125
Anexo_34: Diagrama de clases: Eliminación de tabla

126
Anexo_35: Diagrama de clases: Árbol de decisión

127
Anexo_36: Diagrama de clases: Reglas de Asociación

128
Anexo_36: Diagrama de clases: Agrupamiento

129
Anexo_38: Diagrama de clases: Explorador de Reportes

130
Glosario de términos
ASP: Active Server Pages

BI: Business Intelligence (Inteligencia de Negocios)

HOLAP: Hybrid On-line Analytical Process (Proceso Analítico en Línea Híbrido)

IDE: Integrated Development Environment (Entorno de Desarrollo Integrado)

JSP: Java Server Page

MVC: Modelo Vista Controlador

OLAP: On-Line Analytical Processing (Proceso Analítico en Línea)

OLTP: On-Line Transactional Processing

ORDBMS: Object-Relational Data Base Manager System (Sistema Manejador de Bases de


Datos Objeto-Relacional)

MOLAP: Multidimensional On-line Analytical Process (Proceso Analítico en Línea


Multidimensional)

ROLAP: Relational On-line Analytical Process (Proceso Analítico en Línea Relacional)

RUP: Rational Unified Process (Proceso Unificado de Racional)

UDIC: Unidad Docente Informática de Cárdenas

UMCC: Universidad de Matanzas “Camilo Cienfuegos”

UML: Unified Modeling Language (Lenguaje de Modelación Unificado)

XML: Extensible Markup Language (Lenguaje extensible de marcas)

131

Potrebbero piacerti anche