miércoles, 20 de mayo de 2009

PARADIGMA ORIENTADO A OBJETO

La programación Orientada a objetos (POO): La orientación a objetos puede describirse como el conjunto de disciplinas que desarrollan y modelizan software que facilitan la construcción de sistemas complejos a partir de componentes. El atractivo intuitivo de la orientación a objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Estos conceptos y herramientas orientados a objetos son tecnologías que permiten que los problemas del mundo real sean expresados de modo fácil y natural. Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos.

Las ventajas de un lenguaje orientado a objetos son:
 Fomenta la reutilización y extensión del código.
 Permite crear sistemas más complejos.
 Relacionar el sistema al mundo real.
 Facilita la creación de programas visuales.
 Construcción de prototipos.

El modelo Orientado a Objetos
Para entender este modelo vamos a revisar 4 conceptos básicos:

1. Objetos: Entender que es un objeto es la clave para entender cualquier lenguaje orientado a objetos. 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. ¿Que tiene que ver esto con la programación? La programación orientada a objetos trabaja de esta manera. 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.

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.).
Es por esto que podemos decir que la clase es un modelo o prototipo que define las variables y métodos comunes a todos los objetos de cierta clase. También se puede decir que una clase es una plantilla genérica para un conjunto de objetos de similares características.

3. Herencia: La herencia es uno de los conceptos más cruciales en la POO. La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia.

4. Envío de Mensajes: Un objeto es inútil si está aislado. El medio empleado para que un objeto interactúe con otro son los mensajes. Hablando en términos un poco más técnicos, los mensajes son invocaciones a los métodos de los objetos.

Características asociadas al POO
Abstracción: La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento. Por ejemplo, ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc. En los lenguajes de programación orientada a objetos, el concepto de Clase es la representación y el mecanismo por el cual se gestionan las abstracciones.

Encapsulamiento: El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.

Ocultamiento: Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo los detalles que sean necesarios para el resto del sistema.
El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase. Restringir porque habrá cierto comportamiento privado de la Clase que no podrá ser accedido por otras Clases. Y controlar porque daremos ciertos mecanismos para modificar el estado de nuestra Clase y es en estos mecanismos dónde se validarán que algunas condiciones se cumplan.

Lenguajes de Programación Orientado a Objetos
C++, es decir C con conceptos de clases y objetos, también se creo desde sus bases el lenguaje EIFFEL. Luego apareció Java desarrollado por SUN, que hereda conceptos de C++. El lenguaje de desarrollo más extendido para aplicaciones Web, el PHP 5, trae todas las características necesarias para desarrollar software orientado a objetos. Además de otros lenguajes que fueron evolucionando, como el Pascal a Delphi.

Análisis y diseño Orientado a Objetos
Para el desarrollo de software orientado a objetos no basta usar un lenguaje orientado a objetos. También se necesitará realizar un análisis y diseño orientado a objetos.
El modelamiento visual es la clave para realizar el análisis OO, el Lenguaje de Modelamiento Unificado (UML) puso fin a la guerra de metodologías. Este tiene como fin modelar cualquier tipo de sistemas (no solamente de software) usando los conceptos de la orientación a objetos.
El UML consta de todos los elementos y diagramas que permiten modelar los sistemas en base al paradigma orientado a objetos. Los modelos orientados a objetos cuando se construyen en forma correcta, son fáciles de comunicar, cambiar, expandir, validar y verificar. Este modelamiento en UML es flexible al cambio y permite crear componentes plenamente reutilizables.

domingo, 17 de mayo de 2009

EJEMPLO DE SISTEMA DE INFORMACION EJECUTIVA (EIS)






Los directivos de Nestlé analizaron varias empresas de consultoría para llevar adelante el proyecto de mejora de procesos a través de la implementación de una herramienta de Business Intelligence. Finalmente Grupo ASSA fue la empresa elegida por ser la firma que mejor comprendió las necesidades de Nestlé.

El objetivo:
En 1996, Nestlé tenía tres sistemas comerciales, uno para cada línea de negocio. Las líneas de negocio se integraban por Refrigerados, Helados, Alimentos y Bebidas. La Dirección de la empresa necesitaba contar con información al instante para la toma decisiones viendo más claramente la marcha del negocio para detectar oportunidades y posibles desviaciones.

La elección:
En el año 1996, los directivos de Nestlé analizaron varias empresas para llevar adelante el proyecto de mejora de procesos a través de la implementación de una herramienta de Business Intelligence. Finalmente Grupo ASSA fue elegida por ser la firma que mejor comprendió las necesidades de Nestlé. La herramienta elegida por Nestlé fue Comshare Decision (actualmente Extensity MPC) por solidez, flexibilidad y capacidad de operación.

El Proyecto:
En el año 1996 Nestlé y Grupo ASSA comenzaron el proyecto de Business Intelligence para mejorar el proceso de toma de decisiones en la dirección de la empresa.
Se homogeneizaron las modalidades de operaciones y todas las bases de datos que dan soporte a los negocios de la empresa. Se unificaron las estadísticas, la información de ventas, deudas y comparativos, llevándolo a un tablero de comando. Luego se desarrollaron los modelos requeridos para la implementación de la herramienta de Business Warehouse EIS (Executive Information System) con el objetivo de optimizar el proceso de toma de decisión.
Por la envergadura, el proyecto se dividió en etapas:

(1) Modelo de Ventas

(2) Abastecimiento

(3) Rentabilidad de Clientes

(4) Deudores Comerciales

(5) RRHH .

Con este modelo, Nestlé logró que la Dirección dispusiera de mejores herramientas para analizar la marcha del negocio y poder detectar oportunidades y posibles desviaciones al instante.

Los beneficios:
- El modelo implementado es utilizado hoy por la Dirección de Nestlé para conocer el funcionamiento completo del negocio comparando datos de ventas de años anteriores, así como datos presupuestarios.
- Mayor desarrollo y potencia en la toma de decisiones del departamento de ventas al contar con reportes por ventas, por vendedores, por supervisores, por regiones y por canales
- Incorporación de nuevas áreas al modelos de Business Intelligence EIS (Executive Information System) que utilizan y nutren de información al sistema como: RRHH, Marketing y Call Center
- Independencia del usuario para generar sus propios reportes en la herramienta de acuerdo a las vistas que necesite

SISTEMA DE INFORMACIÓN PARA EJECUTIVOS O EIS (EXECUTIVE INFORMATION SYSTEM)

Es un sistema computacional que provee al ejecutivo acceso fácil a la información interna y externa del negocio con el fin de dar seguimiento a los factores críticos de éxito. El objetivo fundamental de los Sistemas de información para ejecutivos es permitir el monitoreo y seguimiento por parte del ejecutivo, de los factores críticos de éxito del negocio. Para un ejecutivo el seguimiento constante y permanente de factores críticos es importante, ya que del buen resultado de éstos depende en gran medida el éxito de la empresa. Para que un EIS tenga éxito es necesario que cumpla con los algunos factores como que sea relevante, un EIS debe dar a los ejecutivos acceso a los datos que son importantes para la organización y que se han identificado como críticos para el éxito de la empresa. Que sea rápido, se necesitan tiempos de respuesta cortos, de lo contrario los ejecutivos dirán que están perdiendo su tiempo. Por lo general un EIS distribuye información sumarizada o agregada, la cual debe proporcionarse mas rápido que cualquier otra aplicación de sistemas.

Como vemos, existen muchas formas de facilitarnos la vida, tanto que existen sistemas que nos ayuden a no arriesgar el todo por el todo en nuestra empresa. Este tipo de decisiones hasta hace algunos años solo era posible si la persona contaba con experiencia y conocimiento real en el área, sin embargo ahora estos sistemas facilitan de tal manera las tareas cotidianas que es cuestión de pedir datos, analizarlos y actuar La gran ventaja de los EIS es que pueden tomar los datos de diferentes fuentes como lo son: Sistemas transaccionales, reportes financieros, información comercial, hasta archivos ASCII y diccionario de datos.La diferencia de los EIS con otros sistemas no sólo es la vistosidad y facilidad de uso, los EIS interpretan y manipulan de forma diferente la información, pues trabajan con forma¬tos de datos no típicos, tales como Data Warehouse5 o Data-Mars.6.

TIPOS DE SISTEMAS DE INFORMACION




miércoles, 1 de abril de 2009

Introduccion a la Inteligencia de Negocios

Inteligencia de Negocios, es una alternativa de gestión de negocios y de tecnología, que permite manejar la información para la toma de decisiones acertadas en todos los niveles de la organización, desde la extracción, depuración y transformación de datos, hasta la explotación y distribución de la información mediante herramientas de fácil uso para los usuarios.

En el ámbito empresarial, las decisiones se toman en alguno de los tres niveles organizacionales:
« Las decisiones estratégicas se centran en la dirección del negocio a largo plazo siendo labor de los ejecutivos de alta gerencia.
« Las decisiones tácticas corresponden a los gerentes de nivel medio y se enfocan en la planeación, análisis y producción de proyectos.
« A nivel operativo los empleados toman decisiones cotidianas que se requieren para convertir los planes en acción.


Las soluciones de Inteligencia de Negocios proporcionan un fácil acceso a los datos críticos dentro de la empresa necesarios para el análisis, así como un medio para integrar los datos corporativos con los procesos de toma de decisión a nivel estratégico y táctico; también permite a la empresa afinar la toma de decisiones cotidiana, asegurando que cada grupo operativo tenga acceso a la información necesaria para contestar preguntas específicas y distribuir dicha información a todos los niveles de la organización.

lunes, 30 de marzo de 2009

Introduccion a los Sistemas de Informacion

Un sistema de información es el sistema de personas, registros de datos y actividades que procesa los datos y la información en cierta organización, incluyendo manuales de procesos o procesos automatizados. El sistema de información basada en computadora son el campo de estudio de las tecnologías de información, de cualquier manera estas difícilmente deberían tratarse como tema aparte del enorme sistema de información que siempre esta relacionado.