You are on page 1of 15

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

El software libre como herramienta para el desarrollo de sistemas de informacin


(Experiencia de una prctica empresarial en Caracol S.A.)
Mauro Callejas Cuervo y Julin Gerardo Delgado Becerra1

Resumen
El desarrollo de la prctica empresarial representa la investigacin realizada sobre herramientas de software libre para el desarrollo de sistemas de informacin y un aporte significativo al proceso de control de inventarios llevado a cabo por el rea de Servicios Generales de Caracol S.A. A travs de la implementacin de una herramienta informtica guiada por la metodologa estructurada simplificada (MES), con una arquitectura cliente/servidor, se ofrece una solucin a los requerimientos planteados por la Direccin de Compras, puesto que ha permitido conocer los activos fijos que tiene la Compaa a nivel nacional, de manera que exista mayor control sobre los recursos asignados a cada ciudad. Se cont con el factor humano necesario como: desarrollador principal de la prctica, personal con conocimiento de los procesos de Inventario e infraestructura de la red, Ingenieros de Sistemas de Caracol S.A., que permiten garantizar la coherencia en los nuevos procesos, mtodos y herramientas desarrolladas y la integracin de las mismas a la compaa. Por otra parte, se dio a conocer entre los Estudiantes de Ingeniera de Sistemas de la Universidad Pedaggica y Tecnolgica de Colombia, que existen varias alternativas al desarrollar un sistema de informacin, una de ellas es utilizar herramientas libres, las cuales son iguales o mejores en el momento de llevar a cabo un proyecto.

Introduccin
Caracol S.A. al ser una empresa lder a nivel nacional e internacional, desarrollando sus actividades y comprometiendo sus esfuerzos en las mejores prcticas con sus clientes, la sociedad y por supuesto sus empleados. En el momento que surge el requerimiento de optimizar el proceso de control de inventarios en el rea de compras, utilizando herramientas de software libre en el desarrollo e implementacin, se ha ofrecido la solucin de un sistema informtico que mejora alguna de las tareas de esta rea.
1

Universidad Pedaggica y Tecnolgica de Colombia, Facultad de Ingeniera, Escuela de Sistemas y Computacin, Tunja Boyac. E-mail: maurocallejas@yahoo.com julycerebro@spymac.com

VENTANA INFORMTICA No. 12 Universidad de Manizales, enero junio / 2005 pp 239-254

- Universidad de Manizales, enero junio / 2005

Por otra parte, aprovechando la investigacin realizada sobre herramientas de software libre que se utilizaron en esta prctica, se disea un manual descriptivo con toda la informacin pertinente, el cual esta a disposicin de los estudiantes y profesores de la Escuela de Sistemas de la Universidad Pedaggica y Tecnolgica de Colombia. En busca del buen funcionamiento de la infraestructura radial, en la compaa se implementa un seguimiento a la red de datos, con el fin de identificar debilidades y amenazas que puedan existir en cuanto a infraestructura de hardware y software para administracin de la misma. Mediante la metodologa de Ingeniera de Software MES, se desarrollan los pasos necesarios para el anlisis, diseo e implementacin del proyecto. Esta metodologa basada en el ciclo de vida de desarrollo de sistemas, est acorde a la programacin estructurada utilizada en el presente proyecto.

Identificacin del problema de investigacin


Antecedentes Dentro de una empresa grande, mediana o pequea, el manejo que se le d a la informacin es muy importante, por tal razn no es recomendable hacerlo manualmente, sin embargo existen compaas que lo hacen, presentndose perdida de informacin y lentitud en los procesos. Por esto han surgido cada vez ms en el mercado, soluciones informticas conformadas por diferentes mdulos, uno de stos es el que administran el proceso de control de inventarios. Debido a la creacin de herramientas libres para el desarrollo de sistemas de informacin, gran parte de las empresas estn optando por utilizarlas, de esta forma optimizan los procesos a menor precio. Sin embargo, entre los analistas y diseadores de software, algunas no son muy conocidas, por tal razn tienen que estar documentndose y a la vanguardia de la tecnologa. Para la creacin y administracin de una red de datos, existe gran variedad en el mercado de software y dispositivos de hardware para cumplir esta tarea, de tal manera que se debe tener en cuenta el tamao de la empresa en cuanto a equipos activos, servidores, impresoras y clientes. Descripcin Dentro de los procesos del rea de compras de Caracol S.A., uno de los ms importantes es el de control de inventarios, iniciando con el requerimiento 2

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

desde un rea de la compaa o de la misma necesidad del rea de compras, pasando por valoraciones y evaluaciones propias del proceso con la recoleccin y control de los documentos generados, hasta culminar con la identificacin de la asignacin de elementos y productos. Cuando se presenta la solicitud de un producto por parte de un rea de la empresa, el analista del rea de compras en primer lugar busca en el almacn, es decir si se encuentra dentro del stock, en caso de existir, de acuerdo a polticas de la compaa se asigna como activo y entra a hacer parte del inventario de el rea solicitante. En caso de que no exista se realiza el proceso de adquisicin con los diferentes proveedores por medio de licitaciones o compras directas. Hasta el momento Caracol S.A. no ha incursionado en el desarrollo de aplicaciones con herramientas libres, por lo tanto, al crear un manual con toda la informacin obtenida en la investigacin que se realiza y la experiencia adquirida sobre este tema, brinda la oportunidad a los estudiantes y profesores de la Escuela de Sistemas, conocer otras alternativas iguales o tal vez ms eficientes en el momento de llevar a cabo el desarrollo de un sistema.

Objetivos
General Analizar, Disear e Implementar un sistema de informacin utilizando herramientas libres (linux, kylix, firebird), para el manejo y control de inventarios de las sedes de Caracol S.A. a nivel nacional; as como la creacin de un manual descriptivo de las herramientas utilizadas en el desarrollo de la aplicacin, el cual est disponible como material de consulta para profesores y estudiantes de la Escuela de Sistemas de la Universidad Pedaggica y Tecnolgica de Colombia y la optimizacin de la red de datos para las diferentes dependencias de Caracol S.A., a travs de la actualizacin permanente de la informacin concerniente a la localizacin y ubicacin de cada uno de los componentes de la red documentados en un manual y medio magntico. Especficos Establecer los requisitos y determinar las especificaciones para la creacin de un nuevo sistema de control de inventarios. Identificar el alcance del proceso, etapas y reas de la empresa que intervienen. Analizar el flujo de informacin que se lleva en cada etapa del proceso para el manejo y control del inventario. Analizar, proponer y optimizar el proceso de control de inventario. 3

- Universidad de Manizales, enero junio / 2005

Disear los modelos y diagramas que propone la metodologa MES. Disear un sistema de informacin que optimice los procesos que se llevan a cabo en un inventario. Evaluar el diseo del sistema de informacin de inventarios. Implementar un sistema de informacin para inventarios. Familiarizar al cliente con el nuevo sistema, a travs del desarrollo de un plan de capacitacin. Elaborar documentacin o manuales claros y precisos que sirvan como gua y soporte para los usuarios de los productos a implementar, incluyendo la informacin correspondiente a las herramientas de uso libre que se utilizaron. Investigar y clasificar las causas e inconvenientes por las cuales se presentan fallas en la red.

Metodologa
Toda actividad debe estar basada en una metodologa y en principio, cualquier metodologa es mejor que ninguna; Cualquier centro de desarrollo puede montar su metodologa, aunque esta alternativa implica disponer del tiempo necesario para el desarrollo de la nueva metodologa; por lo tanto, lo ms prctico es seguir los mtodos que ya han demostrado su validez y son de aplicacin universal. Todo proceso de desenvolvimiento de software usando metodologa Estructurada simplificada est basado en la identificacin de los eventos a los que el sistema debe responder. La secuencia metodolgica es la siguiente: Definir la lista de eventos Desarrollar una lista de requerimientos en lenguaje natural.

Producir un diagrama de contexto Modelar la relacin del sistema con el contexto, determinando cuales son las reas de la empresa que participarn del sistema como fuentes de informacin.

A continuacin se dar el desarrollo del contenido de este trabajo de investigacin.

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

Contenido

Figura 1. Diagrama de Contexto rea de Servicios Generales (Compras)

Figura 2. DFD Plan Anual de Compras

- Universidad de Manizales, enero junio / 2005

Figura 3. DFD Elementos Entrada Almacn de Suministros

Figura 4. DFD Elementos Salida Almacn de Suministros

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

Definir el modelo de comportamiento Utilizamos el DFD como herramienta modeladora de la transformacin de las entradas en salidas. Definir el modelo de datos Modelar la relacin de los repositorios de datos con la tcnica del Modelo Relacional de Datos.

Figura 5. Modelo Relacional de Datos Lgico

Crear el modelo de implementacin del usuario Definir los mdulos del sistema. En esta etapa son decididos los procesos a ser automatizados; se somete a la evaluacin del usuario cada proceso del modelo comportamental. Definir los requisitos de implementacin Mientras son definidos los procesos a ser informatizados, se debe discutir y documentar los requisitos de implementacin de esos procesos y del sistema de software como un todo: Desempeo, restricciones de costos, restricciones operacionales, consideraciones sobre seguridad y auditora, tecnologa a ser empleada, modificaciones en procedimientos manuales y en otros sistemas informatizadas ya existentes.

- Universidad de Manizales, enero junio / 2005

Herramientas de implementacin
El producto se desarrolla sobre una arquitectura cliente/servidor utilizando herramientas de software libre como sistema operativo Linux (RedHat 9.0), para la codificacin Kylix 3 Open Edition, con motor de base de datos FirebirdSQL v1.5 y administrador de la base de datos IBManager v3.7. Para el diseo lgico y fsico del RDM se utilizo PowerDesigner v6.1 Las herramientas mencionadas anteriormente como todas otras tienen sus ventajas y desventajas. Luego de una investigacin y comparacin profunda de estas herramientas con las convencionales (windows, delphi, interbase, postgresql, entre otras), se llega a la conclusin que para la empresa son fcilmente accesibles y que cumplen los requisitos para el manejo de la informacin que requiere el usuario. Se utiliza la Intranet para la transferencia de los archivos que se crean en cada una de las ciudades, con la informacin de los elementos y activos fijos que poseen.

Arquitectura de implementacin
La implementacin de este sistema se realiz a travs de los siguientes componentes fsicos: Computador Cliente. En este computador se ejecuta la interfaz del cliente desde el cual se accede al Servidor de aplicacin. Servidor de Aplicacin. En este servidor aplicacin residirn los componentes que implementan la lgica y los datos. Este es el servidor principal donde residir la mayor funcionalidad del sistema. Servidor Base de Datos. En este servidor de datos residir el motor de base de datos relacional que se encargar de la persistencia de los datos del sistema de Informacin. El usuario interactuar con el Servidor de aplicacin a travs del cliente residente en su computador. Una vez conectado con el servidor, el usuario dispone de la interfaz para ingresar y/o consultar datos al sistema.

Elaborar diagramas de estructura Para cada proceso a ser automatizado, ser creado un diagrama de estructura. Las funciones de los diagramas son derivadas de los flujos de datos que entran y que salen de los proceso, y de las transformaciones que generan los datos de salida a partir de los datos de entrada. 8

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

Integrar los diagramas de estructura Los diagramas de estructura deben ser integrados en programas, el agrupamiento de funciones puede ser hecho por proximidad temporal de utilizacin, rutinas On-Line, mensual, anual, etc., o por cualquier otro tipo de afinidad, como por ejemplo, en el caso de sistemas distribuido, el agrupamiento es hecho conforme al procesador en que sern ejecutadas las funciones. La estructura del software es completada, incorporndose a l mdulos de apoyo operacional, como: mdulos de implementacin de backups, mdulos de control, mdulos para la creacin y restauracin de ndices, mdulos para alteracin de parmetros de operaciones, etc. estos mdulos sern incorporados al Diagrama de estructura, donde el acceso a ellos fuese mas conveniente Proyectar la interfaz con el usuario La parte mas importante y mas compleja de la interfaz con el usuario ser desarrollada a partir de los flujos de datos de entrada y de salida de los procesos a ser automatizados. Una nica interfaz puede ser generada para atender varios flujos simultneamente. Las interfaces necesarias a los mdulos que implementan mens de seleccin y a los mdulos de apoyo operacional complementaran el proyecto de la interfaz con el usuario. Proyectar la base de datos fsica Definir las caractersticas fsicas de cada dato, como el tipo el dominio; la organizacin de cada archivo, como la definicin de las llaves principales, ndices, etc.

Figura 6. Modelo Relacional de Datos Fsico

- Universidad de Manizales, enero junio / 2005

Especificar los mdulos La especificacin de los mdulos, travs de pseudo cdigo flujogramas u otros.

Resultados
Herramientas de software libre Para cualquier desarrollador de software, la eleccin de las herramientas adecuadas es un tema muy delicado e importante, pues para lograr un desarrollo de calidad requerimos de herramientas de gran calidad, eficiencia, facilidad de uso y poder. Afortunadamente el desarrollo de programas y sistemas de informacin no se limita a la utilizacin de lenguajes de programacin de uso general, sino que existen otras herramientas y aplicaciones de software necesarias para esto, que nos ayudan desde la concepcin, anlisis y diseo de un software hasta la implantacin del mismo. Para el desarrollo del sistema de informacin y teniendo en cuenta que la Compaa no iba a invertir grandes cantidades de dinero en el proyecto, fue necesario indagar las diferentes herramientas de software libre que existen en el mercado, con el fin identificar cuales eran las mas indicadas para utilizar. Parte de los resultados de investigacin hallados se inclinaron hacia el sistema operativo Linux (RedHat 9.0), para la codificacin Kylix 3 Open Edition, base de datos FirebirdSQL v1.5 y administrador de la base de datos IBManager v3.7. Los cuales poseen las siguientes potencialidades:

Linux

Linux es una implementacin del sistema operativo UNIX (uno ms de entre los numerosos clnicos del histrico Unix), pero con la originalidad de ser gratuito y a la vez muy potente, que sale muy bien parado al compararlo con las versiones comerciales para sistemas de mayor envergadura y por tanto tericamente superiores. Comenz como proyecto personal del -entonces estudiante- Linus Torvalds, quien tom como punto de partida otro viejo conocido, el Minix de Andy. S. Tanenbaum (profesor de sistemas operativos que cre su propio sistema operativo Unix en PCs XT para usarlo en su docencia). Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde una gigantesca familia de programadores y usuarios aportan diariamente su tiempo aumentando sus prestaciones y dando informacin y soporte tcnico mtuo. La versin 10

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

original comenz para PCs compatibles (Intel 386 y superiores), existiendo tambin en desarrollo versiones para prcticamente todo tipo de plataformas: PowerPC, Sparc, Alpha, Mips, entre otras.

FirebirdSQL

La creacin de un buen software es producto de un buen anlisis y diseo, un programador experimentado y el uso de herramientas confiables y eficientes. Por eso la eleccin de una base de datos es un punto crucial para crear buenos desarrollos de software administrativo. Para cualquier desarrollador de software, la eleccin de las herramientas adecuadas es un tema muy delicado e importante, pues para lograr un desarrollo de calidad se requiere de herramientas de gran calidad, eficiencia, facilidad de uso y poder. Afortunadamente el desarrollo de programas y sistemas de informacin no se limita al uso de lenguajes de programacin de uso general, sino que existen otras herramientas y aplicaciones de software necesarias para esto, que ayudan desde la concepcin, anlisis y diseo de un software hasta la implantacin del mismo. Firebird es un desarrollo derivado de InterBase 6.0 (Fig. 7) que est apoyado por un grupo de desarrolladores de todo el mundo para garantizar la continuidad de la base de datos bajo el esquema de cdigo abierto y sin pago de licencias. Debido a que es derivado del cdigo de InterBase 6.0, tiene las mismas caractersticas que IB6, aunque de ahora en adelante irn teniendo diferencias debido a que son dos desarrollos independientes.

11

- Universidad de Manizales, enero junio / 2005

Figura 7. Descendencia FirebirdSQL

IBManager

EMS InterBase & Firebird Manager es una herramienta poderosa y efectiva para la administracin de las bases de datos InterBase y Firebird. Permite editar todos los objetos de la base de datos, buscar en los metadatos, extraer los metadatos, imprimir metadatos, importar datos y exportar datos hasta en 12 formatos de archivos. IB Manager tambin incluye un depurador de procedimientos almacenados, editor SQL, constructor visual de consultas (Visual Query Builder), administrador de permisos de usuarios (Grant Manager), administrador de usuarios, editor/visor de campos BLOB (binarios), procesador de scripts SQL, soporte a adiciones de otras compaas (plug-ins) y muchas ms caractersticas. IBManager mantiene un registo de las bases de datos que utilizamos, mediante el DB Explorer. Para agregar una base de datos existente en el DB Explorer, ejecutamos la instruccin Register Database, la cual abre un cuadro de dilogo donde se ponen todas las caractersticas de la base de datos, como el nombre del servidor -en caso de que sea un servidor remoto-, el archivo de la base de datos, la clave del usuario, su contrasea y el rol que est usando el usuario.

12

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

Kylix

Se trata del primer ambiente nativo de Desarrollo Rpido de Aplicaciones (RAD). Combina un ambiente visual intuitivo, optimizado mediante un compilador nativo, un depurador interactivo y un conjunto de componentes que permite a los analistas y programadores de software liberar aplicaciones basadas en Linux para ambientes de escritorio, Web y bases de datos. Todo esto desemboca en que cualquier desarrollador de Borland Delphi o Microsoft Visual Basic puede ser capaz, mediante Kylix, de trasladar sus habilidades, conocimientos y aplicaciones a la plataforma Linux. Contando con tiempos rpidos de compilacin, 4.000.000 lneas por minuto, las aplicaciones corrern inmediatamente con la misma velocidad de las aplicaciones C/C++. La tcnica drag & drop (arrastrar y soltar) est completamente soportada, lo cual facilita la tarea a los programadores. Kylix est disponible en tres versiones: Server Developer, para programacin en Apache Web; Desktop Developer, para desarrolladores de aplicaciones; y Open Edition, para crear programas con cdigo abierto. Debido a que Kylix y Delphi comparten una librera de componentes comn, el cdigo fuente desarrollado con Kylix puede ser recompilado en Delphi (y viceversa), permitiendo unas ms eficientes implementaciones de plataforma cruzada para compaas comprometidas con desarrollos en Linux y Windows.

Descripcin de la aplicacin
El sistema desarrollado consta de una interfaz grfica de usuario con un soporte de Base de datos, que permiten presentar una solucin ptima al proceso de manejo y control de inventarios. Se trata de una aplicacin con estructura cliente/servidor, utilizando la interfaz desarrollada en Kylix, IBManager y FirebirdSQL, tecnologas que en su conjunto y siendo herramientas de software libre, proveen soluciones ptimas para requerimientos de este tipo. Cuando se realiza el proceso de inventarios, la informacin es recolectada por la terminal porttil lectora de cdigo de barras Dolphin 7200, para la cual, fue necesario desarrollar aplicaciones que permitieran captar la informacin suficiente en cada lugar donde la Compaa esta presente a nivel nacional. 13

- Universidad de Manizales, enero junio / 2005

La aplicacin se ha segmentado en 3 funcionalidades: La primera corresponde a la Administracin del sistema, donde nicamente el administrador de la base de datos tiene acceso, se encarga de insertar, eliminar, actualizar los usuarios del sistema; verificar las transacciones que se realiza en el sistema, permitindole consultar y auditar la informacin necesaria. (Fig. 8)

Figura 8. Administracin del sistema La segunda corresponde al Almacn de Suministros, donde se encuentra el proceso de entrada y salida de elementos del almacn, se controla el stock mnimo, descripcin detallada de cada artculo, estado en que se encuentra dentro del inventario. (Fig. 9)

Figura 9. Almacn de suministros 14

CENTRO DE INVESTIGACIONES Y DESARROLLO FACULTAD DE INGENIERA

Y la tercera corresponde al Inventario, la cual provee al Analista y Jefe de compras toda la informacin necesaria para administrar los activos fijos y elementos almacenados en bodega. (Fig. 10)

Figura 10. Reporte de Inventario

Conclusiones
El desarrollo y puesta en produccin de la herramienta constituyo un espacio de aprendizaje por: la confrontacin de la prctica con la teora, la capacidad de toma de decisiones, la agilidad en la solucin de problemas, el desarrollo de la autonoma, entre otros. El contar con personal altamente calificado en el rea de Sistemas y Tcnica en Caracol S.A. contribuy notoriamente al desarrollo de un trabajo orientado, cooperado y retroalimentado. La infraestructura tecnolgica disponible para el desarrollo del sistema de informacin permiti obtener conocimientos tcnicos alcanzados por medio de la investigacin y el autoaprendizaje sobre las distintas plataformas involucradas. Las relaciones interpersonales dentro de la compaa con los superiores, los usuarios y el personal de apoyo, contribuyeron para construir un espacio armnico en manejo de relaciones humanas, consolidacin de valores y de integracin. El uso de herramientas de software libre para el desarrollo de sistemas de informacin si es posible en Colombia, solo hace falta buscar el convencimiento a la comunidad de la capacidad de cada una de ellas y solo se har a travs de la divulgacin y publicidad que se alcance en eventos de gran importancia y cubrimiento como es el XIV Congreso Nacional de Estudiantes de Ingeniera de Sistemas y IV Congreso Internacional de Software Libre GNU/Linux.

15

You might also like