1. UNIVERSIDAD AUSTRAL DE CHILE
FACULTAD DE CS. ECONÓMICAS Y ADMINISTRATIVAS
ESCUELA INGENIERÍA COMERCIAL
INSTITUTO DE ADMINISTRACIÓN
SISTEMAS DE INFORMACION EMPRESARIAL
Tarea N° 3
Mario Borgeaud
Rodrigo Hoffmann
Pablo Trommer
CRISTIAN SALAZAR
VALDIVIA, 01 de Diciembre de 2010.
2. • Business Inteligence
El término inteligencia empresarial se refiere al uso de datos en
una empresa para facilitar la toma de decisiones. Abarca la
comprensión del funcionamiento actual de la empresa, bien como la
anticipación de acontecimientos futuros, con el objetivo de ofrecer
conocimientos para respaldar las decisiones empresariales. Las
herramientas de inteligencia se basan en la utilización de un sistema
de información de inteligencia que se forma con distintos datos
extraídos de los datos de producción, con información relacionada con
la empresa o sus ámbitos y con datos económicos. Mediante las
herramientas y técnicas ELT (extraer, cargar y transformar), o
actualmente ETL (extraer, transformar y cargar) se extraen los datos
de distintas fuentes, se depuran y preparan (homogeneización de los
datos) para luego cargarlos en un almacén de datos. La vida o el
periodo de éxito de un software de inteligencia de negocios
dependerá únicamente del nivel de éxito del cual haga en beneficio
de la empresa que lo usa, si esta empresa es capaz de incrementar
su nivel financiero, administrativo y sus decisiones mejoran el
accionar de la empresa, la inteligencia de negocios usada estará
presente por mucho tiempo, de lo contrario será sustituido por otro
que aporte mejores resultados y más precisos. Por último, las
herramientas de inteligencia analítica posibilitan el modelado de las
representaciones con base en consultas para crear un cuadro de
mando integral que sirve de base para la presentación de informes.
Características
Este conjunto de herramientas y metodologías tienen en común las
siguientes características:
• Accesibilidad a la información. Los datos son la fuente principal
de este concepto. Lo primero que deben garantizar este tipo de
herramientas y técnicas será el acceso de los usuarios a los
datos con independencia de la procedencia de estos.
• Apoyo en 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.
Inteligencia de Empresas
3. La Inteligencia de Empresas es el concepto más amplio del uso
de la inteligencia en las organizaciones. Desde distintas perspectivas,
la inteligencia de empresas ha ido emergiendo a partir de la
contribución de muchas áreas del conocimiento: market intelligence
(inteligencia de mercados), competitive intelligence (Inteligencia
Competitiva), business intelligence (inteligencia empresarial). Este
concepto ha sido muy utilizado en el mundo de la tecnología con
distintos significados como inteligencia de negocios, strategic
foresight (Inteligencia Estratégica), corporate intelligence
(Inteligencia Corporativa), vigilancia tecnológica, prospectiva
tecnológica, etc.
◦ ERPs. Sistemas de gestión empresarial
Es indudable que el ambiente competitivo en el que se vive en el
ámbito empresarial actualmente, requiere de promover los procesos
y actividades de negocio que generan las ventajas competitivas de las
compañías ante sus más fuertes competidores.
Por esto, desde hace ya varios años, se ha dado mayor importancia a
las Tecnologías de Información y su alineación con las estrategias del
negocio para mejorar sus procesos clave de negocio. Prueba de ello,
es el incremento tan sustancial de adquisiciones de paquetes de
software empresariales tales como el ERP ( Enterprise Resource
Planning), con el cual los directivos de las compañías esperan tener
integradas todas las áreas o departamentos de la compañía que
apoyan para la generación de sus productos y servicios. Hoy más que
nunca las empresas requieren de herramientas que les proporcionen
control y centralización de su información, esto con el fin tomar las
mejores decisiones para sus procesos y estrategias de negocios. Los
ERP son una solución robusta para aquellas empresas que buscan una
solución universal a la centralización de su información. La
implementación de un sistema de ERP por lo general es larga y
compleja, ya que implica rediseñar los esquemas de trabajo. Su
implementación es de alto riesgo, ya que envuelve complejidad,
tamaño, altos costos, un equipo considerable de desarrollo, además
de inversión de tiempo. En la mayoría de las empresas, se requiere
remplazar la infraestructura existente, lo que implica inversión de
capital adicional, especialización y hasta la posibilidad de parar el
negocio temporalmente para la implementación: por otra parte es
importante señalar que el grado de experiencia de los proveedores es
un factor importante para el buen funcionamiento del sistema. Los
sistemas de gestión empresarial (en inglés ERP, acrónimo de
Enterprise Resource Planning) son sistemas de gestión de información
que integran y automatizan muchas de las prácticas de negocio
asociadas con los aspectos operativos o productivos de una empresa,
eliminando complejas conexiones entre sistemas de distintos
proveedores. Este tipo de sistemas suele presentar una arquitectura
modular, donde cada módulo gestiona las funciones de un área
4. empresarial diferente, como pueden ser: nóminas, finanzas, gestión
de proyectos, sistema de gestión geográfica, contabilidad, logística,
stock, pedidos. Estas áreas de la empresa realizan funciones
diferentes pero se interrelacionan entre sí compartiendo información.
Es importante resaltar que los sistemas ERP, son integrales, es decir,
una agrupación de todos los módulos que los componen, y que
agrupan a su vez todos los procesos de gestión de la empresa.
Gracias a la adaptabilidad de este tipo de sistemas, una empresa
puede configurar su ERP para que se adapte a sus procesos de
negocio. La personalización de este tipo de sistemas, junto con su
modularidad y capacidad de integración de procesos, permite como
veremos en un capítulo posterior una gestión completa de las
operaciones empresariales.
◦ Proceso ETL
ETL - este termino viene de ingles de las siglas Extract-Transform-
Load que significan Extraer, Transformar y Cargar y se refiere a los
datos en una empresa. ETL es el proceso que organiza el flujo de los
datos entre diferentes sistemas en una organización y aporta los
métodos y herramientas necesarias para mover datos desde múltiples
fuentes a un almacén de datos, reformatearlos, limpiarlos y cargarlos
en otra base de datos, data mart ó bodega de datos. ETL forma parte
de la Inteligencia Empresarial (Business Intelligence), también
llamado “Gestión de los Datos” (Data Management). La idea es que
una aplicación ETL lea los datos primarios de unas bases de datos de
sistemas principales, realice transformación, validación, el proceso
cualitativo, filtración y al final escriba datos en el almacén y en este
momento los datos son disponibles para analizar por los usuarios.
5. Las más populares herramientas y aplicaciones ETL del mercado
• IBM Websphere DataStage (anteriormente Ascential DataStage
y Ardent DataStage)
• Pentaho Data Integration (Kettle ETL) - Una herramienta Open
Source Business Intelligence
• SAS ETL Studio
• Oracle Warehouse Builder
• Informática PowerCenter
• Cognos Decisionstream
• Ab Initio
• BusinessObjects Data Integrator (BODI)
• Microsoft SQL Server Integration Services (SSIS)
o Interfase Web
Estas interfaces se crearon en un principio en modo comandos, pero
su utilidad práctica era limitada, ya que no eran aptas para usuarios
normales que no poseían conocimientos avanzados de informática.
Fue necesario entonces crear interfaces basadas en iconos y menús,
accesibles por medio del ratón, surgiendo los entornos de ventanas,
como Windows o MAC, que empezaron a utilizar interfaces gráficas de
usuario, verdaderas protagonistas del mundo informático actual.
Estamos tan acostumbrados a las interfaces gráficas que se puede
afirmar que si desaparecieran la gran mayoría del los usuarios de
aplicaciones informáticas quedarían anulados. Tanto es así que
sistemas operativos y programas que antes funcionaban casi
exclusivamente en modo de comandos han tenido que actualizarse y
ofrecer a los usuarios interfaces gráficas equivalentes para no
quedarse olvidados por el público general. Así estaban las cosas
cuando se produjo un fenómeno sorprendente, llamado a
revolucionar la comunicación entre seres humanos: Internet y la
WWW. Con la aparición de la web se hizo posible que cualquier
persona pudiera ofrecer información particularizada a los demás y
encontrar documentos interactivos sobre cualquier tema,
relacionados unos con otros mediante enlaces que permitían saltar de
página en página alrededor del mundo. Las páginas web supusieron
la aparición de las interfaces web, interfaces gráficas de usuario con
unos elementos comunes de presentación y navegación que pronto se
convirtieron en estándares de facto. Este tipo de interfaces deben
servir de intermediarias entre unos usuarios genéricos, no
acostumbrados generalmente al uso de aplicaciones informáticas, y
unos sistemas de información y procesos transaccionales que corren
por debajo, debiendo posibilitar la localización de la información
deseada, el entendimiento claro de las funcionalidades ofrecidas, la
6. realización práctica de tareas específicas por parte de los usuarios y
la navegación intuitiva por las diferentes páginas que forman el sitio
web. Buscando una homogeneidad entre los millones de páginas web
que existen actualmente en Internet, el diseño de las mismas ha
evolucionado con el tiempo hacia un esquema general perfectamente
definido, ofreciendo unas interfaces bien definidas, con un conjunto
de componentes gráficos y funcionales similares que hacen posible
que sea cual sea el usuario que accede a un sitio web cualquiera la
comunicación entre ellos sea posible y efectiva.
◦ Interfase Cliente-Servidor
En los primeros tiempos de la computación cliente-servidor, cada
aplicación tenía su propio programa cliente que servía como interfaz
de usuario que tenía que ser instalado por separado en cada
ordenador personal de cada usuario. El cliente realizaba peticiones a
otro programa -el servidor- que le daba respuesta. Una mejora en el
servidor, como parte de la aplicación, requería normalmente una
mejora de los clientes instalados en cada ordenador personal,
añadiendo un coste de soporte técnico y disminuyendo la
productividad. A diferencia de lo anterior, las aplicaciones web
generan dinámicamente una serie de páginas en un formato
estándar, como HTML o XHTML, soportados por los navegadores web
comunes. Se utilizan lenguajes interpretados en el lado del cliente,
directamente o a través de plugins tales como Java Script, Java,
Flash, etc., para añadir elementos dinámicos a la interfaz de usuario.
Generalmente cada página web en particular se envía al cliente como
un documento estático, pero la secuencia de páginas ofrece al usuario
una experiencia interactiva. Durante la sesión, el navegador web
interpreta y muestra en pantalla las páginas, actuando como cliente
para cualquier aplicación web. Una estrategia que está emergiendo
para las empresas proveedoras de software consiste en proveer
acceso vía web al software. Para aplicaciones previamente
distribuidas, como las aplicaciones de escritorio, se puede optar por
desarrollar una aplicación totalmente nueva o simplemente por
adaptar la aplicación para ser usada con una interfaz web. Estos
últimos programas permiten al usuario pagar una cuota mensual o
anual para usar la aplicación, sin necesidad de instalarla en el
ordenador del usuario. A esta estrategia de uso se la denomina
Software como servicio y a las compañías desarrolladoras se les
denomina Proveedores de Aplicaciones de Servicio (ASP por sus siglas
en inglés), un modelo de negocio que está atrayendo la atención de
la industria del software.
Ventajas
Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de
descargar ni instalar ningún programa.
7. No hay problemas de compatibilidad: Basta tener un navegador
actualizado para poder utilizarlas.
No ocupan espacio en nuestro disco duro.
Actualizaciones inmediatas: Como el software lo gestiona el propio
desarrollador, cuando nos conéctanos estamos usando siempre la
última versión que haya lanzado.
Consumo de recursos bajo: Dado que toda (o gran parte) de la
aplicación no se encuentra en nuestro ordenador, muchas de las
tareas que realiza el software no consumen recursos nuestros porque
se realizan desde otro ordenador.
Multiplataforma: Se pueden usar desde cualquier sistema operativo
porque sólo es necesario tener un navegador.
Portables: Es independiente del ordenador donde se utilice (un PC de
sobremesa, un portátil...) porque se accede a través de una página
web (sólo es necesario disponer de acceso a Internet). La reciente
tendencia al acceso a las aplicaciones web a través de teléfonos
móviles requiere sin embargo un diseño específico de los ficheros CSS
para no dificultar el acceso de estos usuarios.
La disponibilidad suele ser alta porque el servicio se ofrece desde
múltiples localizaciones para asegurar la continuidad del mismo.
Los virus no dañan los datos porque éstos están guardados en el
servidor de la aplicación.
Colaboración: Gracias a que el acceso al servicio se realiza desde una
única ubicación es sencillo el acceso y compartición de datos por
parte de varios usuarios. Tiene mucho sentido, por ejemplo, en
aplicaciones online de calendarios u oficina.
Los navegadores ofrecen cada vez más y mejores funcionalidades
para crear aplicaciones web ricas (RIAs).
◦ Modelos de Datos
ER (Entidad Relación)
Un diagrama o modelo entidad-relación (a veces denominado por su
siglas, E-R "Entity relationship", o, "DER" Diagrama de Entidad
Relación) es una herramienta para el modelado de datos de un
sistema de información. Estos modelos expresan entidades relevantes
para un sistema de información así como sus interrelaciones y
propiedades.
8. El Modelo Entidad-Relación.
1. Se elabora el diagrama (o diagramas) entidad-relación.
2. Se completa el modelo con listas de atributos y una descripción
de otras restricciones que no se pueden reflejar en el diagrama.
Dado lo rudimentario de esta técnica se necesita cierto entrenamiento
y experiencia para lograr buenos modelos de datos.
El modelado de datos no acaba con el uso de esta técnica. Son
necesarias otras técnicas para lograr un modelo directamente
implementable en una base de datos. Brevemente:
• Transformación de relaciones múltiples en binarias.
• Normalización de una base de datos de relaciones (algunas
relaciones pueden transformarse en atributos y viceversa).
• Conversión en tablas
El modelo entidad-relación se basa en los conceptos descritos a
continuación para representar un modelo de la vida real.
Entidad
Representa una “cosa” u "objeto" del mundo real con existencia
independiente, es decir, se diferencia unívocamente de cualquier otro
objeto o cosa, incluso siendo del mismo tipo, o una misma entidad.
Algunos Ejemplos:
• Una persona. (Se diferencia de cualquier otra persona, incluso
siendo gemelos).
• Un automóvil. (Aunque sean de la misma marca, el mismo
modelo,..., tendrán atributos diferentes, por ejemplo, el
número de bastidor).
• Una casa (Aunque sea exactamente igual a otra, aún se
diferenciará en su dirección).
9. Una entidad puede ser un objeto con existencia física como: una
persona, un animal, una casa, etc. (entidad concreta), o un objeto
con existencia conceptual como: un puesto de trabajo, una
asignatura de clases, un nombre, etc. (entidad abstracta).
Una entidad está descrita y se representa por sus características o
atributos. Por ejemplo, la entidad Persona puede llevar consigo las
características: Nombre, Apellido, Género, Estatura, Peso, Fecha de
nacimiento, etc...
Atributos
Los atributos son las propiedades que describen a cada entidad en un
conjunto de entidades. Un conjunto de entidades dentro de una
entidad, tiene valores específicos asignados para cada uno de sus
atributos, de esta forma, es posible su identificación unívoca.
Restricciones
Son reglas que deben mantener los datos almacenados en la base de
datos. No se deben de quebrantar a menos que tenga otra relación
de una tabla de uno a muchos.
Correspondencia de cardinalidades
Dado un conjunto de relaciones en el que participan dos o más
conjuntos de entidades, la correspondencia de cardinalidad indica el
número de entidades con las que puede estar relacionada una
entidad dada. Dado un conjunto de relaciones binarias y los conjuntos
de entidades A y B, la correspondencia de cardinalidades puede ser:
• Uno a Uno: Una entidad de A se relaciona únicamente con una
entidad en B y viceversa.
• Uno a varios: Una entidad en A se relaciona con cero o muchas
entidades en B. Pero una entidad en B se relaciona con una
única entidad en A.
• Varios a Uno: Una entidad en A se relaciona exclusivamente
con una entidad en B. Pero una entidad en B se puede
relacionar con 0 o muchas entidades en A.
• Varios a Varios: Una entidad en A se puede relacionar con 0 o
muchas entidades en B y viceversa.
10. Restricciones de participación
Dado un conjunto de relaciones R en el cual participa un conjunto de
entidades A, dicha participación puede ser de dos tipos:
• Total: Cuando cada entidad en A participa en al menos una
relación de R.
• Parcial: Cuando al menos una entidad en A NO participa en
alguna relación de R.
Diagrama entidad-relación
Anteriormente detallamos los conceptos relacionados al modelo ER,
en esta sección profundizaremos en como representarlos
gráficamente. Cabe destacar que para todo proceso de modelado,
siempre hay que tener en claro los conceptos, estos nos brindan
conocimiento necesario y además fundamentan nuestro modelo al
momento de presentarlo a terceros. Formalmente, los diagramas ER
son un lenguaje gráfico para describir conceptos. Informalmente, son
simples dibujos o gráficos que describen información que trata un
sistema de información y el software que lo automatiza.
Entidad
Las entidades son el fundamento del modelo entidad relación.
Podemos adoptar como definición de entidad cualquier cosa o parte
del mundo que es distinguible del resto. Por ejemplo, en un sistema
bancario, las personas y las cuentas bancarias se podrían interpretar
como entidades. Las entidades pueden representar entes concretos,
como una persona o un avión, o abstractas, como por ejemplo un
préstamo o una reserva
Atributo
Se representan mediante un círculo o elipse etiquetado mediante un
nombre en su interior. Cuando un atributo es identificativo de la
entidad se suele subrayar dicha etiqueta.
Relaciones
Se representa mediante un rombo etiquetado en su interior con un
verbo. Este rombo se debe unir mediante líneas con las entidades
(rectángulos) que relaciona. Por motivos de legibilidad, los atributos
no suelen representarse en un diagrama entidad-relación, sino que se
describen textualmente en otros documentos adjuntos.
11. UML (Lenguaje de Modelado Unificado)
Antes de UML 1.x
Después de que la Rational Software Corporation contratara a James
Rumbaugh de General Electric en 1994, la compañía se convirtió en la
fuente de los dos esquemas de modelado orientado a objetos más
populares de la época: el OMT (Object-modeling technique) de
Rumbaugh, que era mejor para análisis orientado a objetos, y el
Método Booch de Grady Booch, que era mejor para el diseño
orientado a objetos. Poco después se les unió´Ivar Jacobson, el
creador del método de ingeniería de software orientado a objetos.
Jacobson se unió a Rational en 1995, después de que su compañía
Objectory AB fuera comprada por Rational. Los tres metodologistas
eran conocidos como los Tres Amigos, porque se sabia de sus
constantes argumentos sobre las prácticas metodológicas. En 1996
Rational concluyó que la abundancia de lenguajes de modelado
estaba alentando la adopción de la tecnología de objetos, y para
orientarse hacia un método unificado, encargaron a los Tres Amigos
que desarrollaran un Lenguaje Unificado de Modelado abierto. Se
consultó con representantes de compañías competidoras en el área
de la tecnologíá de objetos durante la OOPSLA '96; eligieron cajas
para representar clases en lugar de la notación de Booch que
utilizaba simbolos de nubes. Bajo la dirección técnica de los Tres
Amigos fue organizado un consorcio internacional llamado UML
Partners en 1996 para completar las especificaciones del Lenguaje
Unificado de Modelado (UML), y para proponerlo como una respuesta
al OMG RFP. El borrador de la especificación UML 1.0 de UML Partners
fue propuesto a la OMG en enero de 1997. Durante el mismo mesla
UML Partners formo una Fuerza de Tarea Semántica, encabezada por
Cris Kobryn y administrada por Ed Eykholt, para finalizar las
semánticas de la especificación y para integrarla con otros esfuerzos
de estandarización. El resultado de este trabajo, el UML 1.1, fue
presentado ante la OMG en agosto de 1997 y adoptado por la OMG
en noviembre de 1997.
UML 1.x
Como notación de modelado, la influencia de la OMT domina UML
(por ejemplo el uso de rectángulos para clases y objetos). Aunque se
quitó la notación de "nubes" de Booch, si se adoptó la capacida de
Booch para especificar detalles de diseño en los niveles inferiores. La
notación de Casos de Uso del Objectory y la notación de componentes
de Booch fueron integrados al resto de la notación, pero la
integración semántica era relativamente débil en UML 1.1, y no se
arregló realmente hasta la revisión mayor de UML 2.0. Conceptos de
muchos otros métodos OO fueron integrados superficialmente en UML
con el propósito de hacerlo compatible con todos los métodos OO.
12. Además el grupo tomó en cuenta muchos otros métodos de la época,
con el objetivo de asegurar amplia cobertura en el dominio de los
sistemas en tiempo real. Como resultado, UML es útil en una variedad
de problemas de ingeniería, desde procesos sencillos y aplicaciones
de un sólo usuario a sistemas concurrentes y distribuidos. Lenguaje
Unificado de Modelado (LUM o UML, por sus siglas en inglés, Unified
Modeling Language) es el lenguaje de modelado de sistemas de
software más conocido y utilizado en la actualidad; está respaldado
por el OMG (Object Management Group). Es un lenguaje gráfico para
visualizar, especificar, construir y documentar un sistema. UML ofrece
un estándar para describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales como procesos de negocio y
funciones del sistema, y aspectos concretos como expresiones de
lenguajes de programación, esquemas de bases de datos y
componentes reutilizables. Es importante resaltar que UML es un
"lenguaje de modelado" para especificar o para describir métodos o
procesos. Se utiliza para definir un sistema, para detallar los
artefactos en el sistema y para documentar y construir. En otras
palabras, es el lenguaje en el que está descrito el modelo.
Se puede aplicar en el desarrollo de software entregando gran
variedad de formas para dar soporte a una metodología de desarrollo
de software (tal como el Proceso Unificado Racional o RUP), pero no
especifica en sí mismo qué metodología o proceso usar. UML no
puede compararse con la programación estructurada, pues UML
significa Lenguaje Unificado de Modelado, no es programación, solo
se diagrama la realidad de una utilización en un requerimiento.
Mientras que, programación estructurada, es una forma de
programar como lo es la orientación a objetos, sin embargo, la
programación orientada a objetos viene siendo un complemento
perfecto de UML, pero no por eso se toma UML sólo para lenguajes
orientados a objetos. UML cuenta con varios tipos de diagramas, los
cuales muestran diferentes aspectos de las entidades representadas.
Diagramas
13. Jerarquía de los diagramas UML 2.0, mostrados como un diagrama de
clases
En UML 2.0 hay 13 tipos diferentes de diagramas. Para
comprenderlos de manera concreta, a veces es útil categorizarlos
jerárquicamente, como se muestra en la figura de la derecha. Los
Diagramas de Estructura enfatizan en los elementos que deben existir
en el sistema modelado:
• Diagrama de clases
• Diagrama de componentes
• Diagrama de objetos
• Diagrama de estructura compuesta (UML 2.0)
• Diagrama de despliegue
• Diagrama de paquetes
Los Diagramas de Comportamiento enfatizan en lo que debe suceder
en el sistema modelado:
• Diagrama de actividades
• Diagrama de casos de uso
• Diagrama de estados
Los Diagramas de Interacción son un subtipo de diagramas de
comportamiento, que enfatiza sobre el flujo de control y de datos
entre los elementos del sistema modelado:
• Diagrama de secuencia
• Diagrama de comunicación, que es una versión
simplificada del Diagrama de colaboración (UML 1.x)
• Diagrama de tiempos (UML 2.0)
14. • Diagrama global de interacciones o Diagrama de vista de
interacción (UML 2.0)
OO (Orientado a Objetos)
1. Objetos
Entender que es un objeto es la clave para entender cualquier
lenguaje orientado a objetos. Existen muchas definiciones que se le
ha dado al Objeto. Primero empecemos entendiendo que es un
objeto del mundo real. Un objeto del mundo real es cualquier cosa
que vemos a nuestro alrededor. Digamos que para leer este artículo
lo hacemos a través del monitor y una computadora, ambos son
objetos, al igual que nuestro teléfono celular, un árbol o un
automóvil. Analicemos un poco más a un objeto del mundo real,
como la computadora. No necesitamos ser expertos en hardware
para saber que una computadora está compuesta internamente por
varios componentes: la tarjeta madre, el chip del procesador, un
disco duro, una tarjeta de video, y otras partes más. El trabajo en
conjunto de todos estos componentes hace operar a una
computadora. Internamente, cada uno de estos componentes puede
ser sumamente complicado y puede ser fabricado por diversas
compañías con diversos métodos de diseño. Pero nosotros no
necesitamos saber cómo trabajan cada uno de estos componentes,
como saber que hace cada uno de los chips de la tarjeta madre, o
cómo funciona internamente el procesador. Cada componente es una
unidad autónoma, y todo lo que necesitamos saber de adentro es
cómo interactúan entre sí los componentes, saber por ejemplo si el
procesador y las memorias son compatibles con la tarjeta madre, o
conocer donde se coloca la tarjeta de video. Cuando conocemos
como interaccionan los componentes entre sí, podremos armar
fácilmente una computadora. ¿Que tiene que ver esto con la
programación? La programación orientada a objetos trabaja de esta
manera. Todo el programa está construido en base a diferentes
componentes (Objetos), cada uno tiene un rol específico en el
programa y todos los componentes pueden comunicarse entre ellos
de formas predefinidas. Todo objeto del mundo real tiene 2
componentes: características y comportamiento.
Por ejemplo, los automóviles tienen características (marca, modelo,
color, velocidad máxima, etc.) y comportamiento (frenar, acelerar,
retroceder, llenar combustible, cambiar llantas, etc.).
Los Objetos de Software, al igual que los objetos del mundo real,
también tienen características y comportamientos. Un objeto de
software mantiene sus características en una o más "variables", e
implementa su comportamiento con "métodos". Un método es una
función o subrutina asociada a un objeto.
15. 2. Las Clases
En el mundo real, normalmente tenemos muchos objetos del mismo
tipo. Por ejemplo, nuestro teléfono celular es sólo uno de los miles
que hay en el mundo. Si hablamos en términos de la programación
orientada a objetos, podemos decir que nuestro objeto celular es una
instancia de una clase conocida como "celular". Los celulares tienen
características (marca, modelo, sistema operativo, pantalla, teclado,
etc.) y comportamientos (hacer y recibir llamadas, enviar mensajes
multimedia, transmisión de datos, etc.).
Cuando se fabrican los celulares, los fabricantes aprovechan el hecho
de que los celulares comparten esas características comunes y
construyen modelos o plantillas comunes, para que a partir de esas
se puedan crear muchos equipos celulares del mismo modelo. A ese
modelo o plantilla le llamamos CLASE, y a los equipos que sacamos a
partir de ella la llamamos OBJETOS.
Esto mismo se aplica a los objetos de software, se puede tener
muchos objetos del mismo tipo y mismas características.
Definición teórica: La clase es un modelo o prototipo que define las
variables y métodos comunes a todos los objetos de cierta clase.
16. También se puede decir que una clase es una plantilla genérica para
un conjunto de objetos de similares características.
Por otro lado, una instancia de una clase es otra forma de llamar a
un objeto. En realidad no existe diferencia entre un objeto y una
instancia. Sólo que el objeto es un término más general, pero los
objetos y las instancias son ambas representación de una clase.
Definición Teórica: Una instancia es un objeto de una clase en
particular.
◦ Describir cada etapa del diseño de un DW.
Los objetivos fundamentales de un Data WareHouse son:
Hace que la información de la organización sea accesible: los
contenidos del Data WareHouse son entendibles y navegables, y el
acceso a ellos son caracterizado por el rápido desempeño. Estos
requerimientos no tienen fronteras y tampoco limites fijos. Cuando
hablamos de entendible significa, que los niveles de la información
sean correctos y obvios. Y Navegables significa el reconocer el
destino en la pantalla y llegar a donde queramos con solo un clic.
Rápido desempeño significa, cero tiempo de espera. Todo lo demás
es un compromiso y por consiguiente algo que queremos mejorar.
Hacer que la información de la organización sea consistente: la
información de una parte de la organización puede hacerse coincidir
con la información de la otra parte de la organización. Si dos medidas
de la organización tienen el mismo nombre, entonces deben significar
la misma cosa. Y a la inversa, si dos medidas no significan la misma
cosa, entonces son etiquetados diferentes. Información consistente
significa, información de alta calidad. Significa que toda la
información es contabilizada y completada. Todo lo demás es un
compromiso y por consiguiente algo que queremos mejorar.
Es información adaptable y elástica: el Data WareHouse esta
diseñado para cambios continuos. Cuando se le hacen nuevas
preguntas al Data WareHouse, los datos existentes y las tecnologías
no cambian ni se corrompen. Cuando se agregan datos nuevos al
Data WareHouse, los datos existentes y las tecnologías tampoco
cambian ni se corrompen. El diseño de Data Marts separados que
hacen al Data WareHouse, deben ser distribuidos e incrementados.
Todo lo demás es un compromiso y por consiguiente algo que
queremos mejorar.
Es un segurobaluarte que protege los valores de la información: el
Data WareHouse no solamente controla el acceso efectivo a los datos,
si no que da a los dueños de la información gran visibilidad en el uso
y abusos de los datos, aún después de haber dejado el Data
WareHouse. Todo lo demás es un compromiso y por consiguiente algo
que queremos mejorar.
En el contexto de la Informática, un almacén de datos (del inglés
data warehouse) es una colección de datos orientadas a un dominio,
17. integrado, no volátil y varía en el tiempo que ayuda a la toma de
decisiones de la empresa u organización.
Generalmente, dos ideas básicas dirigen la creación de un almacén de
los datos:
Integración de los datos de bases de datos distribuidas y
diferentemente estructuradas, que facilita una descripción global y un
análisis comprensivo en el almacén de los datos.
Separación de los datos usados en operaciones diarias de los datos
usados en el almacén de los datos para los propósitos de la
divulgación, de la ayuda en la toma de decisiones, para el análisis y
para controlar.
Periodicámente, se importan los datos de sistemas del planeamiento
del recurso de la empresa (ERP) y de otros sistemas de software
relacionados al negocio en el almacén de los datos para la
transformación posterior. Es práctica común normalizar los datos
antes de combinarlos en el almacén de datos, esta fase se suele
realizar con una herramienta extracción, transformación y carga
(ETL). Dicha aplicación lee los datos primarios (a menudo bases de
datos OLTP de un negocio), realiza el proceso cualitativo o la filtración
(incluyendo, si se juzga necesario, desnormalización) y escribe en el
almacén.
Función de un Almacén de Datos.
Un Almacén de Datos debe entregar la información correcta a la
gente indicada en el momento adecuado en el formato correcto. El
Almacén de Datos da respuesta a las necesidades de usuarios
conocedores, utilizando Sistemas de ayuda en la decisión (DSS),
Sistemas de información ejecutiva (EIS) o herramientas para hacer
consulta o informes. Los usuarios finales fácilmente pueden hacer
consultas sobre sus Almacenes de Datos sin tocar o afectar la
operación del sistema.
El ambiente de un Data Warehouse queda definido por la suma de los
diferentes DataMarts integrados, no sólo a nivel físico sino también a
nivel lógico.
Cubos De Información (DataMarts)
Un DataMart es una vista lógica de los datos en bruto de sus datos
provistos por el sistema de operaciones/finanzas hacia el
Datawarehouse con la adición de nuevas dimensiones o información
18. calculada. Se les llama DataMart, porque representan un conjunto de
datos relacionados con un tema en particular como Ventas,
Operaciones, Recursos Humanos, etc, y están a disposición de los
"clientes" a quienes les pueden interesar. Esta información puede
accesarse por el Ejecutivo (Dueño) mediante "Tablas Dinámicas" de
MS-Excel o programas personalizados. Las Tablas Dinámicas le
permiten manipular las vistas (cruces, filtrados, organización) de la
información con mucha facilidad. Los cubos de información
(DataMarts) se producen con mucha rapidez. A ellos se les aplican las
reglas de seguridad de acceso necesarias La información estratégica
está clasificada en: Dimensiones y Variables. El análisis está basado
en las dimensiones y por lo tanto es llamado: Análisis
multidimensional. Llevando estos conceptos a un DW: Un Data
Warehouse es una colección de datos que está formada por
Dimensiones y Variables, entendiendo como Dimensiones a aquellos
elementos que participan en el análisis y Variables a los valores que
se desean analizar.
Dimensiones
Son atributos relativos a las variables. Son las perspectivas de
análisis de las variables. (Forman parte de la Dimension Table – Tabla
de Dimensiones)
Variables
También llamadas “indicadores de gestión”, son los datos que están
siendo analizados. Forman parte de la Fact Table (Tabla de Hecho.)
Más formalmente, las variables representan algún aspecto
cuantificable o medible de los objetos o eventos a analizar.
Normalmente, las variables son representadas por valores detallados
y numéricos para cada instancia del objeto o evento medido. En
forma contraria, las dimensiones son atributos relativos a la
variables, y son utilizadas para ordenar, agrupar o abreviar los
valores de las mismas. Las dimensiones poseen una granularidad
menor, tomando como valores un conjunto de elementos menor que
el de las variables.
• Elementos que integran un DW(Data Warehouse).
Metadata
Uno de los componentes más importantes de la arquitectura de un
DW es el Metadata. Es definido comúnmente como "datos acerca de
los datos", en el sentido de que se trata de datos que describen cuál
es la estructura de los datos y cómo se relacionan. El Metadata
documenta exactamente, entre otras cosas, qué tablas existen para
19. esa aplicación, qué columnas posee cada una de las tablas y qué tipo
de datos se pueden almacenar. Los datos son de interés para el
usuario final, el Metadata es de interés para los programas que tienen
que manejar estos datos. Sin embargo, el rol que cumple el Metadata
en un ambiente de DW es muy diferente al rol que cumple en los
ambientes operacionales. En un ambiente de DW el Metadata juega
un papel fundamental.
Middleware
La función del Middleware es la de asegurar la conectividad entre
todos los componentes de la arquitectura de un DW. El Middleware
puede verse como una capa API, en base a la cual los programadores
pueden desarrollar aplicaciones que trabajen en diferentes ambientes
sin preocuparse de los protocolos de red y comunicaciones en que se
correrán. De esta manera se ofrece una mejor relación
costo/rendimiento que pasa por el desarrollo de aplicaciones más
complejas, en menos tiempo.
API
Application Programmer Interface. Interfaz de Programación de
Aplicación. Lenguaje y formato de mensaje utilizados por un
programa para activar e interactuar con las funciones de otro
programa o de un equipo físico. Asegura la conectividad entre todos
los componentes de una infraestructura informática. Es la estructura
para enlazar todas las aplicaciones en forma integrada.
Mecanismos de Extracción
Otro de los componentes de la arquitectura de un DW son los
sistemas OLAP. Estos tipos de sistemas están orientados a la
realización de análisis estratégicos de la información contenida en un
DW de una manera ad-hoc. Los análisis estratégicos requieren de una
visión dinámica y multidimensional de la información diferente a la
que se encuentra en los sistemas OLTP. Este tipo de análisis esta
orientado a procesar grandes volúmenes de datos de forma de poder
medir la evolución del negocio a través del tiempo, mediante la
confección de comparaciones, el estudio de indicadores, desviaciones,
etc. Esto requiere la posibilidad de realizar análisis Top Down, es
decir que estos sistemas deben poseer el dinamismo necesario para
permitir la reformulación de la consulta realizada de acuerdo al
análisis de los resultados obtenidos en una primera instancia.
Mecanismos de Carga
Existen dos formas básicas de desarrollar esta tarea, las que se
explican a continuación.
20. Acumulación Simple
La acumulación simple es, sin duda, la más sencilla y común, y
consiste en realizar una sumarización o resumen de todas las
transacciones comprendidas en el período de tiempo seleccionado y
transportar el resultado como una única transacción hacia el DW.
Rolling
El proceso de Rolling por su parte, se aplica en los casos en que se
opta por mantener varios niveles de granularidad. Para ello se
almacena información resumida a distintos niveles, correspondientes
a distintas agrupaciones de la unidad de tiempo.
Diseño de un Data Warehouse
Para construir un Data Warehouse se necesitan herramientas para
ayudar a la migración y a la transformación de los datos hacia la
bodega de datos. Ya construido, se requieren medios para manejar
grandes volúmenes de información. Dependiendo de la estructura
interna de los datos de la Bodega y especialmente del tipo de
consultas a realizar, se diseña la arquitectura de la Bodega de datos.
Con este criterio los datos deben ser repartidos entre numerosos
Data Marts. Para abordar un proyecto de Data Warehouse (Bodega de
Datos) es necesario hacer el levantamiento de algunos temas
generales de la Organización, los cuales se analizarán en la siguiente
tabla:
Ambiente Actual
Cualquier solución propuesta de Data Warehouse debe estar muy
orientada por las necesidades del negocio y debe ser compatible con
la arquitectura técnica existente y planeada de la compañía.
Ambiente De Negocios
Es indispensable tener el conocimiento exacto sobre el tipo de
negocios de la Organización y el soporte que representa la
información dentro de todo su proceso de toma de decisiones.
Ambiente Técnico
Se debe incluir tanto el aspecto de ambiente hardware: mainframes,
servidores, redes, así como aplicaciones y herramientas. Se dará
énfasis a los Sistemas de Soporte en la Decisión, si existen en la
actualidad, cómo operan, etc. Expectativas De Los Usuarios Un
proyecto de Bodega de Datos no es un proyecto tecnológico, es una
21. forma de Vida de las Organizaciones y como tal, tiene que contar con
el apoyo de todos los usuarios y su convencimiento sobre su bondad.
Etapas de Desarrollo
Con el conocimiento previo, ya se entra en el desarrollo de una
Estrategia Conceptual para la construcción de un DW.
Ambiente de Negocios
Es indispensable tener el conocimiento exacto sobre el tipo de
negocios de la organización y el soporte que representa la
información dentro de todo su proceso de toma de decisiones.
Prototipo
Un prototipo es un esfuerzo designado a simular tanto como sea
posible el producto que será entregado a los usuarios.
Piloto
El piloto de la Bodega de Datos, simplemente es el primero de
muchos esfuerzos iterativos que se harán para llegar a la
construcción de una Bodega de Datos.
Prueba del concepto tecnológico
Es un paso opcional que se puede necesitar para determinar si la
arquitectura especificada del DW funcionará finalmente como se
espera.