Está en la página 1de 12

Universidad de San Carlos de Guatemala Facultad de Ingeniera Escuela de Ciencias y Sistemas Introduccin a la Computacin y Programacin 2 Primer Semestre, 2013

Grupo R
El jueves de la semana pasada Juan Chacn, CFO de Grupo R, se encontraba en su oficina generando los estados financieros corporativos del grupo, esta actividad era necesaria debido a que todos los viernes primeros de mes la junta directiva del grupo se reuna para revisar, monitorear y definir acciones con respecto a los resultados financieros obtenidos. Como era de costumbre el Lic. Chacn iniciaba todos los jueves previos al primer viernes del mes a colectar toda la informacin necesaria para poder generar los diferentes documentos financieros. El Lic. Chacn comenta que esta actividad era una actividad bastante sencilla a inicios de los aos 2,000 cuando el grupo contaba solamente con la empresa Distribuidora de Recargas S.A, posteriormente el grupo comenz a crecer comprando y desarrollando tres empresas ms: Mega Banana, Don Cndido, y Sper Cambio, cada una de las cuales contaba con un rea contable, operativa, administrativa y comercial. Aquella tarde de jueves el Lic. Chacn pudo notar que en los ltimos 6 meses la consolidacin de la informacin era cada vez ms complicada, extensa y cada vez la probabilidad que fuera exacta era ms baja, en esta ocasin en especfico eran las 15:00 horas y an no haban generado ni un solo documento financiero situacin que definitivamente era preocupante ya que de esta informacin dependa el rumbo financiero de la empresa, as como tambin la toma de decisiones correctas que afectaran a corto y a mediano plazo a todo el grupo. Cabe mencionar que hace algunos aos el Lic. Chacn, recibi algunos cursos sobre pginas WEB, Blogs, Animacin de Flash, los cuales le permitieron adquirir algunas competencias que lo ayudaban a identificar que algo estaba pasando con el flujo de Informacin, y comenz a cuestionarse: Por qu la informacin no est lista cuando se necesita? Por qu es necesario generar la informacin s esta se genera en todos los puntos de venta de la empresa? Qu pasa con las herramientas de IT (Tecnologa de Informacin por sus siglas en ingls) de la empresa, que no proveen esa informacin? Esa misma tarde el Lic. Chacn contact a Lic. Carlo Magno CTO del grupo a una reunin. Carlo y Juan platicaron durante varias horas, periodo en el cul surgieron varios tpicos y conversaciones de inters, y al finalizar la conversacin Carlo coment a Juan: la empresa cuenta con 5 ERP1, un ERP de uso corporativo y uno para cada empresa. Juan coment que cada ERP era diferente, cada uno fue desarrollado en tecnologas diferentes, bases de datos diferentes y administrados con DBMS diferentes, etc. Tambin coment que cada empresa utilizaba un sistema Web que era utilizado en los diferentes puntos de venta, estas aplicaciones Web alimentan el ERP de su empresa en lnea para que la informacin est disponible siempre para propsitos financieros, administrativos, operativos, comerciales, etc. Mientras ms explicaciones brindaba Carlo a Juan, este ltimo se preocupaba cada vez ms. Por ltimo Carlo coment a Juan: La
1

ERP: Sistemas de Planificacin Empresarial cuyo objetivo es gestionar la informacin para sistematizar y automatizar, procesos y prcticas de un negocio.

situacin principal es: Tenemos 5 fuentes de informacin, 4 de ellas alimentan a un principal que es el ERP Corporativo y lo hacen por medio un proceso manual (un usuario de cada empresa, descarga la informacin del ERP de la empresa y la sube al ERP Corporativo) y es por eso que la informacin no est fluyendo a la velocidad que se necesita. Juan se preocup y pregunto a Carlo Por qu se hizo de esa forma? Por qu no se centraliz todo en una sola base de datos?, Carlo coment que esto se haba hecho as, porque las empresas Mega Banana, Don Cndido, y Sper Cambio fueron empresas adquiridas por el grupo, cada una de estas ya contaba con su ERP, y en aquel tiempo se necesitaba iniciar los ms rpido posible por tal razn se decidi que la integracin en una sola base de datos sera en una segunda fase, fase cuyo objetivo era la integracin de todos los sistemas de las empresas. Segunda fase que jams se ha llevado a cabo debido a las distintas prioridades de la empresa. Por ltimo Juan bromeo con Carlo utilizando la expresin Houston weve a problem! Juan le expres a Carlo: necesito informacin en lnea y en tiempo real esta informacin es de suma importancia para el grupo, para tomar decisiones certeras y adecuadas. Necesito la informacin este en lnea y en tiempo real lo ms pronto posible, de hecho a ms tardar al siguiente mes. Estamos planeando convertirnos en una empresa pblica en el siguiente trimestre, razn por la cual la certeza de informacin que la empresa pueda proveer es un requisito indispensable para cumplir con dicho objetivo. Maana estar platicando con el CEO para verificar como podemos apoyarte, esto es prioritario. Carlo saba que el reto era grande, la cantidad de actividades a realizar eran considerable, el tiempo no era su mejor amigo y el grupo se encontraba a cortos pasos de buscar nuevos horizontes, las nicas preguntas que rondaban en la mente de Carlo eran: Cmo consolido la informacin del grupo en un base de datos? Cmo hago accesible la informacin del grupo en tiempo real? Me dar tiempo en un mes?, etc.

Las Herramientas de IT
Grupo R contaba con 5 ERP, cada ERP brindaba funcionalidades diferentes y muy especficas para cada empresa. La estrategia de uso para cada ERP era sencilla: Aprovechar al mximo toda funcionalidad del ERP, si alguno de ellos no posea las funcionalidades necesarias se desarrollaba un sistema y/o los mdulos necesarios para que estos se integraran con el ERP a nivel de datos. Grupo R contaba con dos ERP tipo cliente/servidor y 3 ERP tipo web, todos con bases de datos diferentes y DBMS similares (Vase Anexo 1). Por otra parte Grupo R tambin contaba con 4 sistemas WEB, cada uno de ellos totalmente integrados con el ERP de su empresa a nivel de datos; esto significa que cada dato que se almacena en las bases de datos de los aplicativos se replica en tiempo real a cada una de las bases de datos del ERP de cada empresa (Vase Anexo 2 y Anexo 3). Cabe mencionar que Grupo R contaba con ms de 1200 puntos de venta 2, que funcionaban en un horario de 07:00 a 20:00 donde el 60 % de los puntos de venta utilizaban PDV, el 20% de los puntos de venta utilizaba PDV Online, el 10% utilizaba RestOS y el otro 10% utilizaba Exchange. De esta forma cada punto de venta registraba las ventas de los productos de cada empresa. Debido a que cada empresa de Grupo R se dedicaba a negocios diferentes jams existi la necesidad de
2

Punto de Venta: Trmino utilizado por Grupo R para nombrar a una ubicacin fsica posible de localizar geogrficamente en el cual se realizaba la venta de los productos de cada empresa.

colocar dos herramientas de empresas diferentes en el mismo punto venta, ventaja que permiti facilitar la operatividad y dinmica del negocio en cada punto de venta ya que a los vendedores se le haca mucho ms fcil utilizar solamente un sistema.

Consolidacin de la Informacin
Todas las maanas un empleado del departamento de contabilidad de cada empresa dedicaba 30 a 45 minutos realizando las siguientes actividades. 1. 2. 3. 4. 5. 6. Buscando la informacin de los productos y/o servicios vendidos el da anterior Depurando la informacin encontrada Exportando la informacin a un archivo Modificando el archivo para que este pudiera ser utilizado por el sistema Dynamico. Cargado el archivo al sistema Dynamico Verificando que los datos se hayan cargado correctamente.

En algunas ocasiones estos seis pasos lograban completarse muy rpidamente, especialmente en los sistemas TROMBIT, EXACT y ASPIX, situacin totalmente diferente en el sistema ROSPEL que de alguna forma siempre presentaba algn tipo de inconveniente al usuario final el cual imposibilitaba que la informacin pudiera ser cargado a Dynamico en tiempo y forma. Al momento de concluir las actividades el empleado de contabilidad informaba va correo electrnico al auxiliar de contabilidad corporativa que la informacin ya estaba cargada en Dynamico. El auxiliar de contabilidad corporativa esperaba la notificacin de las cuatro empresas para proceder con el anlisis corporativo diario. Mara Solrzano, auxiliar corporativo comenta: La informacin nunca llega a tiempo, generalmente son las 11 de la maana y an no he recibido nada, en el mejor de los casos la informacin me llega en el da, es muy comn que la informacin este cargada en Dynamico despus de 48 horas, de hecho tengo casos registrados en los cuales la informacin ha llegado con un periodo de retraso de 10 das, No podemos seguir as!

El Gran Reto
Carlo saba que tena que actuar muy rpidamente, responder con agilidad y brindar resultados lo ms pronto posible. Realiz varios anlisis a los ERP y sistemas existentes, los procesos de consolidacin de datos, las bases de datos existentes, con los cuales defini que el problema que deba resolver era: Cmo hago para trasladar los datos en las bases de datos de TROMBIT, EXACT, ASPIX, y ROSPEL hacia DYNAMICO en lnea? Dentro del marco de anlisis de las bases de datos existentes pudo observar que: 1. Las bases de datos de los sistemas TROMBIT Y EXACT poseen las siguientes caractersticas a. Todos los datos de los registros de las tablas principales se encontraban encriptados, as como tambin los procedimientos almacenados que agregaban y/o extraan informacin. b. Solamente se tena acceso a los datos necesarios a travs de tablas resumen, no normalizadas. (Ver Anexo 4 y Anexo 5) c. No se posea documentacin sobre cmo descifrar los registros y/o procedimientos almacenados.

2. Las bases de datos de los sistemas ASPIX y ROSPEL poseen las siguientes caractersticas a. Bases de datos normalizada b. Poca documentacin de las tablas y campos (Ver Anexo 6) c. Facilidad para extraer los datos 3. Todas las bases de datos estaban protegidas por el fabricante, es decir, s alguna tabla era manipulada en definicin, estructura y/o eventos la empresa perda el contrato de soporte y la garanta de software El anlisis de las bases de datos permiti comprender a Carlo que lo que necesitaba era una solucin para extraer los datos de las bases de datos, almacenarlos en una base de datos temporal y luego trasladar los datos obtenidos y centralizados a la base de datos de Dynamico. A esta solucin la llam INTEGRATOR y tiene como objetivo Trasladar los datos de los ERPs de las Empresas al ERP Corporativo. INTEGRATOR deba contar con las siguientes caractersticas: 1. Monitorear todas las bases de datos de los ERP cada 5 minutos 2. Trasladar la informacin de las bases de datos de los ERP locales a una base de datos Centralizada 3. Verificar y validar que toda informacin trasladada a la base de datos centralizada haya sido traslada correctamente 4. Trasladar la informacin de la base de datos centralizada a la base de Datos de Dynamico. 5. Contar con una aplicacin de tipo Web: a. Segura, protegida por usuario y contrasea. b. Consulta de Histrico de Traslado de Informacin: i. De las bases de datos locales de ERP hacia la base de datos de INTEGRATOR ii. De la base de datos de INTEGRATOR a la base de datos de Dynamico. c. Reporte de Histrico de Traslado de Informacin i. De las bases de datos locales de ERP hacia la base de datos de INTEGRATOR ii. De la base de datos de INTEGRATOR a la base de datos de Dynamico. d. Alerte i. Si la informacin ha o no ha sido trasladada correctamente: 1. De las bases de datos locales de ERP hacia la base de datos de INTEGRATOR 2. De la base de datos de INTEGRATOR a la base de datos de Dynamico. e. Permita manejar excepciones i. S algn traslado de informacin falla en cualquier punto INTEGRATOR deber poder eliminar ese traslado de informacin para proceder a iniciar uno nuevo. Esto ser realizado por nicamente por el usuario y no de forma automtica f. Generar el estado de resultados para el equipo corporativo (Anexo 7)

Sobre el Proyecto
Carlo decidi contratar a un Ingeniero de Software para analizar los requerimientos de software, as como tambin disear el software, desarrollar, probar e implementar el software. Para ello Carlo

decidi realizar el proyecto en tres fases, a continuacin la descripcin de entregables de la primera fase: 1. Requerimientos del Sistema a. Panorama General b. Clientes c. Metas d. Funciones del Sistema e. Atributos del Sistema 2. Anlisis del Sistema Orientado a Objetos a. Diagrama de Casos de Uso b. Especificacin de Casos de Uso a Alto Nivel c. Especificacin de Casos de Uso Escenciales (Todos) d. Modelo Conceptual 3. Glosario 4. Arquitectura General Preliminar de la Solucin 5. Diagramas Entidad Relacin Documentados 6. Planificacin de Proyecto Utilizando Microsoft Project basada en la metodologa iterativa incremental y casos de uso.

Valor del Proyecto: 05 (cinco) Puntos. Fecha de Entrega: Martes, 12 de marzo de 2013

Anexos
Anexo 1: ERP de Grupo R
Empresa Distribuidora de Recargas S.A Mega Banana S.A Don Candido S.A Super Cambio Grupo R ERP Trombis Exact Aspix Rospel Dynamico Arquitectura Cliente / Servidor Cliente / Servidor WEB WEB WEB Tecnologa .NET 1.1 Java 1.3 ASP 3.0 ASP 3.0 .NET 4.0 DBMS SQL Server 2008 R2 SQL SQL SQL SQL Server Server Server Server 2008 2008 2008 2008 R2 R2 R2 R2

Los ERP Trombis, Exact, Aspix, Rospel y Dynamico, son sistemas de planeacin de recursos empresariales que permite la gestin de informacin para sistematizar y automatizar varios procesos, actividades y prcticas del negocio. Cada uno de estos ERP son sistemas que contienen mdulos tales como: produccin, ventas, compras, contabilidad, inventarios, pedidos, pagos, nminas, etc. Generalmente los ERP son sistemas que son utilizados de forma administrativa, y no como sistemas de contacto y/o atencin directa al cliente.

Anexo 2: Sistemas de Grupo R


Empresa Distribuidora de Cargas S.A Mega Banana S.A Don Candido S.A Super Cambio Grupo R Sistema PDV PDV Online RestOS Exchange Arquitectura WEB WEB WEB WEB Tecnologa ASP ASP ASP.NET 2.0 ASP.NET 2.0 DBMS SQL Server 2000 MySQL SQL Server 2000 SQL Server 2000

PDV, PDV Online, Rest OS, y Exchange, son herramientas WEB, desarrolladas por cada empresa, para poder realizar las diferentes ventas de los diferentes productos y servicios. Cada empresa tiene un cajero y/o vendedor asignado en su punto de venta el cual accede desde su computadora al sitio respectivo. Desde all realiza la venta del producto y/o servicio para que luego esta informacin viaje al ERP de cada empresa.

Anexo 3: ERP y Sistemas de Grupo R


Empresa Distribuidora de Cargas S.A Mega Banana S.A Don Candido S.A Super Cambio Grupo R ERP Trombis Exact Aspix Rospel Dynamico Sistemas PDV PDV Online RestOS Exchange PDV Mtodo de Integracin COM + WEB Services WEB Services Archivos

Anexo 4: Base de Datos de TROMBIS


tbl_resumen_ventas
PK

tbl_resumen_costosOperativosVariables
PK

idResumenVentas

idResumenCostoOperativoVariable

datosCliente resumenVenta detalleVenta

resumenCostosOperativosVariables detalleCostosOperativosVariables

tbl_resumen_costosOperativosFijos
PK

tbl_resumen_otrosConceptos
PK

idResumenCostoOperativoFijo

idResumenOtrosConceptos

resumenCostoOperativosFijo detalleCostoOperativoFijo

resumenOtrosConceptos detalleOtrosConceptos

Ilustracin 1 Modelo de Datos de Base de Datos Trombis

Tabla: tbl_resumen_ventas Contiene la informacin de todas las ventas registradas. Campo Tipo de Dato Descripcin idResumenVentas Int AutoIncrement datosCliente Varchar(500) Contiene la informacin de la persona a la cual se realiz una venta. Es un texto estructurado de la siguiente forma: [Nombre del Cliente]|[direccin]|[NIT] Ejemplo Luis Fernando Salazar|4ta. Calle 20-25 Z. 7|C.F resumenVenta Varchar(500) Contiene la informacin de la venta realizada. Es un texto con el siguiente formato: [FechaVenta(ddmmyyyy)]|[total] Ejemplo: 12022012|275.00 DetalleVenta Text Contiene el detalle de la venta realizada. Es un texto estructurado de la siguiente forma: [NombreProducto]|[Cantidad]|[PrecioProducto]|[SubTotal] Ejemplo: Recarga Q25.00|1|25.00|25.00 Recarga Q50.00|1|50.00|50.00 Recarga Q100.00|2|100.00|200.00 Anotaciones: Es posible que este campo contenga varias lneas.

tbl_resumen_costosOperativosVariables: Contiene el listado de todos los costos operativos variables de la empresa. Campo Tipo de Dato Descripcin idResumenCostoOperativoVariabl Int AutoIncrement es resumenCostosOperativosVariabl Varchar(500) Contiene el resumen de los costos es operativos variables que fueron pagados por la empresa. Es un texto con el siguiente formato: [Fecha(ddmmyyyy)]|CostoOperativo]|[total] Ejemplo: 20122013|COMISION DE VENTAS|1.50 detalleCostosOperativosVariables Text Contiene el detalle de los costos operativos variables que fueron pagados por la empresa. Es un texto con el siguiente formato [DescripcinCosto]|[Cantidad]|[Valor]|[Sub Total] Ejemplo: COMISION RECARGA|1|0.25|0.25 COMISION RECARGA|1|1.00|1.00 COMISION RECARGA|1|0.25|0.25 Anotaciones: Es posible que este campo posea varias lneas.

tbl_resumen_costosOperativosFijos: Contiene el listado de todos los costos operativos Campo Tipo de Dato idResumenCostoOperativoFijo Int resumenCostoOperativoFijo Varchar(500)

detalleCostoOperativoFijo

Text

fijos de la empresa. Descripcin AutoIncrement Contiene el resumen de los costos operativos fijos que fueron pagados por la empresa. Es un texto con el siguiente formato: [Fecha(ddmmyyyy)]|CostoOperativo]|[total] Ejemplo: 20122013|NOMINA ADMINISTRATIVA|200.00 Contiene el detalle de los costos operativos variables que fueron pagados por la empresa. Es un texto con el siguiente formato [DescripcionCosto]|[Cantidad]|[Valor]|[SubTo tal] Ejemplo: PAGO SALARIO 1|1|100.00|100.00 PAGO SALARIO 2|1|50.01|50.01 PAGO SALARIO 3|1|49.99|49.99 Anotaciones: Es posible que este campo posea varias lneas.

tbl_resumen_otrosConceptos: Contiene la informacin de otros conceptos cancelados por la empresa. Campo Tipo de Dato Descripcin idResumenOtrosConceptos Int AutoIncrement resumenOtrosConceptos Varchar(500) Contiene el resumen otros conceptos pagados por la empresa. Es un texto con el siguiente formato: [Fecha(ddmmyyyy)]|DEPRECIACION|INTERE SES|IMPUESTOS]|[total] Ejemplo: 20122013|DEPRECIACION|200.00 20122013|INTERESES|200.00 20122013|IMPUESTOS|200.00 Anotaciones: Este campo contiene solamente un registro. Arriba se muestran 3 para ejemplificar los tres tipos valores que pueden estar en el campo. detalleOtrosConceptos Text Contiene el detalle de otros conceptos pagados por la empresa. Es un texto con el siguiente formato [DescripcionConcepto]|[Cantidad]|[Valor]|[Su bTotal] Ejemplo: PAGO DE IUSI|1|100.00|100.00 PAGO DE ISR|1|100.00|100.00 Anotaciones: Es posible que este campo posea varias lneas.

Anexo 5: Base de Datos EXACT


historico_transacciones
PK

idHistoricoTransacciones

fecha descripcin

Ilustracin 2 Modelo de Datos de Base de Datos EXACT

Historico_transacciones Contiene el registro de todas las transacciones realizadas Campo Tipo de Dato Descripcin idHistoricoTransacciones Int AutoIncrement Fecha Datetime Contiene la fecha en la cual fue realizada la

Descripcin

Text

transaccin Contiene un XML que detalla la transaccin

El campo descripcin, puede contener un XML con el siguiente formato:


<?xml version="1.0" encoding="UTF-8" ?> <TipoTransaccion> <!-A continuacin se listan los valores que puede tener este campo: VENTA|COSTO_OPERATIVO|COSTO_FIJO|PAGO_INTERESES|PAGO_IMPUESTOS|DEPRECIACION Solamente puede tener 1 valor. No puede ser nulo. ---> </TipoTransaccion> <datosCliente> <!-- Los datos de cliente estarn disponibles s existe una venta ---> <nombre><!- Nombre Completo ---></nombre> <direccion><!-- Direccin ---></direccion> <nit><!-- NIT o C/F---></nit> </datosCliente> <resumenTransaccion> <totalTransaccion><!-- Suma de Sub Total---></totalTransaccion> <numeroRegistros><!-- Cantidad de Registros en Detalle Transaccin ---></numeroRegistros > </resumenTransaccion> <detalleTransaccion> <registro> <cantidad><!-- Nmero cuantificador de descripcin ---></cantidad> <descripicion><!-- Descripcin---></descripcin> <valor><!-- Valor de Descriipcin---></valor> <subtotal><!-- Nmero x Valor---></subtotal> </registro> </detalleTransaccion>

Anexo 6: Base de Datos ASPIX y ROSPEL

Observaciones Generales al Modelo de Datos 1. Las tablas Venta y DetalleVenta contienen la informacin de todas ventas realizadas por la empresa 2. Las tablas Gastos y DetalleGastos contienen la informacin de todos los costos operativos (variables y fijos) realizados por la empresa 3. Las tablas OtrosGastos y DetallesOtrosGastos contienen la informacin de los rubros como Impuestos, Intereses, Depreciacin

Anexo 7: Estado de Resultados Grupo R


Ventas Netas Costos Operativos Variables Utilidad Bruta Costos Operativos Fijos sin Depreciacin Utilidad antes de Intereses, Impuestos, depreciacin y amortizacin (UAIIDA) Depreciacin Utilidad de Operacin Neta (NOI) Intereses Utilidades antes de Impuestos (UAI) Impuestos (40%) Utilidad Neta Q -Q Q -Q Q -Q Q -Q Q -Q Q 2011 1,500.00 1,230.00 270.00 90.00 180.00 50.00 130.00 40.00 90.00 36.00 54.00