Está en la página 1de 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

También podría gustarte