19.04.2015 Views

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

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

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

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

<strong>El</strong> <strong>software</strong> <strong>libre</strong> <strong>como</strong> <strong>herramienta</strong> <strong>para</strong> <strong>el</strong><br />

<strong><strong>de</strong>sarrollo</strong> <strong>de</strong> <strong>sistemas</strong> <strong>de</strong> información<br />

(Experiencia <strong>de</strong> una práctica empresarial en Caracol S.A.)<br />

Mauro Callejas Cuervo y Julián Gerardo D<strong>el</strong>gado Becerra 1<br />

Resumen<br />

<strong>El</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> la práctica empresarial representa la investigación realizada<br />

sobre <strong>herramienta</strong>s <strong>de</strong> <strong>software</strong> <strong>libre</strong> <strong>para</strong> <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> <strong>sistemas</strong> <strong>de</strong><br />

información y un aporte significativo al proceso <strong>de</strong> control <strong>de</strong> inventarios<br />

llevado a cabo por <strong>el</strong> Área <strong>de</strong> Servicios Generales <strong>de</strong> Caracol S.A. A través <strong>de</strong><br />

la implementación <strong>de</strong> una <strong>herramienta</strong> informática guiada por la metodología<br />

estructurada simplificada (MES), con una arquitectura cliente/servidor, se<br />

ofrece una solución a los requerimientos planteados por la Dirección <strong>de</strong><br />

Compras, puesto que ha permitido conocer los activos fijos que tiene la<br />

Compañía a niv<strong>el</strong> nacional, <strong>de</strong> manera que exista mayor control sobre los<br />

recursos asignados a cada ciudad.<br />

Se contó con <strong>el</strong> factor humano necesario <strong>como</strong>: <strong>de</strong>sarrollador principal <strong>de</strong> la<br />

práctica, personal con conocimiento <strong>de</strong> los procesos <strong>de</strong> Inventario e<br />

infraestructura <strong>de</strong> la red, Ingenieros <strong>de</strong> Sistemas <strong>de</strong> Caracol S.A., que<br />

permiten garantizar la coherencia en los nuevos procesos, métodos y<br />

<strong>herramienta</strong>s <strong>de</strong>sarrolladas y la integración <strong>de</strong> las mismas a la compañía.<br />

Por otra parte, se dio a conocer entre los Estudiantes <strong>de</strong> Ingeniería <strong>de</strong><br />

Sistemas <strong>de</strong> la Universidad Pedagógica y Tecnológica <strong>de</strong> Colombia, que<br />

existen varias alternativas al <strong>de</strong>sarrollar un sistema <strong>de</strong> información, una <strong>de</strong><br />

<strong>el</strong>las es utilizar <strong>herramienta</strong>s <strong>libre</strong>s, las cuales son iguales o mejores en <strong>el</strong><br />

momento <strong>de</strong> llevar a cabo un proyecto.<br />

Introducción<br />

Caracol S.A. al ser una empresa lí<strong>de</strong>r a niv<strong>el</strong> nacional e internacional,<br />

<strong>de</strong>sarrollando sus activida<strong>de</strong>s y comprometiendo sus esfuerzos en las<br />

mejores prácticas con sus clientes, la sociedad y por supuesto sus<br />

empleados.<br />

En <strong>el</strong> momento que surge <strong>el</strong> requerimiento <strong>de</strong> optimizar <strong>el</strong> proceso <strong>de</strong> control<br />

<strong>de</strong> inventarios en <strong>el</strong> área <strong>de</strong> compras, utilizando <strong>herramienta</strong>s <strong>de</strong> <strong>software</strong><br />

<strong>libre</strong> en <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> e implementación, se ha ofrecido la solución <strong>de</strong> un<br />

sistema informático que mejora alguna <strong>de</strong> las tareas <strong>de</strong> esta área.<br />

1 Universidad Pedagógica y Tecnológica <strong>de</strong> Colombia, Facultad <strong>de</strong> Ingeniería, Escu<strong>el</strong>a <strong>de</strong> Sistemas y<br />

Computación, Tunja – Boyacá. E-mail: maurocallejas@yahoo.com – julycerebro@spymac.com<br />

VENTANA INFORMÁTICA No. 12 – Universidad <strong>de</strong> Manizales, enero – junio / 2005 – pp 239-254


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

Por otra parte, aprovechando la investigación realizada sobre <strong>herramienta</strong>s<br />

<strong>de</strong> <strong>software</strong> <strong>libre</strong> que se utilizaron en esta práctica, se diseña un manual<br />

<strong>de</strong>scriptivo con toda la información pertinente, <strong>el</strong> cual esta a disposición <strong>de</strong><br />

los estudiantes y profesores <strong>de</strong> la Escu<strong>el</strong>a <strong>de</strong> Sistemas <strong>de</strong> la Universidad<br />

Pedagógica y Tecnológica <strong>de</strong> Colombia.<br />

En busca d<strong>el</strong> buen funcionamiento <strong>de</strong> la infraestructura radial, en la<br />

compañía se implementa un seguimiento a la red <strong>de</strong> datos, con <strong>el</strong> fin <strong>de</strong><br />

i<strong>de</strong>ntificar <strong>de</strong>bilida<strong>de</strong>s y amenazas que puedan existir en cuanto a<br />

infraestructura <strong>de</strong> hardware y <strong>software</strong> <strong>para</strong> administración <strong>de</strong> la misma.<br />

Mediante la metodología <strong>de</strong> Ingeniería <strong>de</strong> Software MES, se <strong>de</strong>sarrollan los<br />

pasos necesarios <strong>para</strong> <strong>el</strong> análisis, diseño e implementación d<strong>el</strong> proyecto.<br />

Esta metodología basada en <strong>el</strong> ciclo <strong>de</strong> vida <strong>de</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> <strong>sistemas</strong>, está<br />

acor<strong>de</strong> a la programación estructurada utilizada en <strong>el</strong> presente proyecto.<br />

Antece<strong>de</strong>ntes<br />

I<strong>de</strong>ntificación d<strong>el</strong> problema <strong>de</strong> investigación<br />

Dentro <strong>de</strong> una empresa gran<strong>de</strong>, mediana o pequeña, <strong>el</strong> manejo que se le dé<br />

a la información es muy importante, por tal razón no es recomendable<br />

hacerlo manualmente, sin embargo existen compañías que lo hacen,<br />

presentándose perdida <strong>de</strong> información y lentitud en los procesos. Por esto<br />

han surgido cada vez más en <strong>el</strong> mercado, soluciones informáticas<br />

conformadas por diferentes módulos, uno <strong>de</strong> éstos es <strong>el</strong> que administran <strong>el</strong><br />

proceso <strong>de</strong> control <strong>de</strong> inventarios.<br />

Debido a la creación <strong>de</strong> <strong>herramienta</strong>s <strong>libre</strong>s <strong>para</strong> <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> <strong>sistemas</strong> <strong>de</strong><br />

información, gran parte <strong>de</strong> las empresas están optando por utilizarlas, <strong>de</strong><br />

esta forma optimizan los procesos a menor precio. Sin embargo, entre los<br />

analistas y diseñadores <strong>de</strong> <strong>software</strong>, algunas no son muy conocidas, por tal<br />

razón tienen que estar documentándose y a la vanguardia <strong>de</strong> la tecnología.<br />

Para la creación y administración <strong>de</strong> una red <strong>de</strong> datos, existe gran variedad<br />

en <strong>el</strong> mercado <strong>de</strong> <strong>software</strong> y dispositivos <strong>de</strong> hardware <strong>para</strong> cumplir esta<br />

tarea, <strong>de</strong> tal manera que se <strong>de</strong>be tener en cuenta <strong>el</strong> tamaño <strong>de</strong> la empresa<br />

en cuanto a equipos activos, servidores, impresoras y clientes.<br />

Descripción<br />

Dentro <strong>de</strong> los procesos d<strong>el</strong> área <strong>de</strong> compras <strong>de</strong> Caracol S.A., uno <strong>de</strong> los más<br />

importantes es <strong>el</strong> <strong>de</strong> control <strong>de</strong> inventarios, iniciando con <strong>el</strong> requerimiento<br />

2


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

<strong>de</strong>s<strong>de</strong> un área <strong>de</strong> la compañía o <strong>de</strong> la misma necesidad d<strong>el</strong> área <strong>de</strong><br />

compras, pasando por valoraciones y evaluaciones propias d<strong>el</strong> proceso con<br />

la recolección y control <strong>de</strong> los documentos generados, hasta culminar con la<br />

i<strong>de</strong>ntificación <strong>de</strong> la asignación <strong>de</strong> <strong>el</strong>ementos y productos.<br />

Cuando se presenta la solicitud <strong>de</strong> un producto por parte <strong>de</strong> un área <strong>de</strong> la<br />

empresa, <strong>el</strong> analista d<strong>el</strong> área <strong>de</strong> compras en primer lugar busca en <strong>el</strong><br />

almacén, es <strong>de</strong>cir si se encuentra <strong>de</strong>ntro d<strong>el</strong> stock, en caso <strong>de</strong> existir, <strong>de</strong><br />

acuerdo a políticas <strong>de</strong> la compañía se asigna <strong>como</strong> activo y entra a hacer<br />

parte d<strong>el</strong> inventario <strong>de</strong> <strong>el</strong> área solicitante. En caso <strong>de</strong> que no exista se realiza<br />

<strong>el</strong> proceso <strong>de</strong> adquisición con los diferentes proveedores por medio <strong>de</strong><br />

licitaciones o compras directas.<br />

Hasta <strong>el</strong> momento Caracol S.A. no ha incursionado en <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong><br />

aplicaciones con <strong>herramienta</strong>s <strong>libre</strong>s, por lo tanto, al crear un manual con<br />

toda la información obtenida en la investigación que se realiza y la<br />

experiencia adquirida sobre este tema, brinda la oportunidad a los<br />

estudiantes y profesores <strong>de</strong> la Escu<strong>el</strong>a <strong>de</strong> Sistemas, conocer otras<br />

alternativas iguales o tal vez más eficientes en <strong>el</strong> momento <strong>de</strong> llevar a cabo<br />

<strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> un sistema.<br />

Objetivos<br />

General<br />

Analizar, Diseñar e Implementar un sistema <strong>de</strong> información utilizando<br />

<strong>herramienta</strong>s <strong>libre</strong>s (linux, kylix, firebird), <strong>para</strong> <strong>el</strong> manejo y control <strong>de</strong><br />

inventarios <strong>de</strong> las se<strong>de</strong>s <strong>de</strong> Caracol S.A. a niv<strong>el</strong> nacional; así <strong>como</strong> la<br />

creación <strong>de</strong> un manual <strong>de</strong>scriptivo <strong>de</strong> las <strong>herramienta</strong>s utilizadas en <strong>el</strong><br />

<strong><strong>de</strong>sarrollo</strong> <strong>de</strong> la aplicación, <strong>el</strong> cual esté disponible <strong>como</strong> material <strong>de</strong> consulta<br />

<strong>para</strong> profesores y estudiantes <strong>de</strong> la Escu<strong>el</strong>a <strong>de</strong> Sistemas <strong>de</strong> la Universidad<br />

Pedagógica y Tecnológica <strong>de</strong> Colombia y la optimización <strong>de</strong> la red <strong>de</strong> datos<br />

<strong>para</strong> las diferentes <strong>de</strong>pen<strong>de</strong>ncias <strong>de</strong> Caracol S.A., a través <strong>de</strong> la<br />

actualización permanente <strong>de</strong> la información concerniente a la localización y<br />

ubicación <strong>de</strong> cada uno <strong>de</strong> los componentes <strong>de</strong> la red documentados en un<br />

manual y medio magnético.<br />

Específicos<br />

• Establecer los requisitos y <strong>de</strong>terminar las especificaciones <strong>para</strong> la<br />

creación <strong>de</strong> un nuevo sistema <strong>de</strong> control <strong>de</strong> inventarios.<br />

• I<strong>de</strong>ntificar <strong>el</strong> alcance d<strong>el</strong> proceso, etapas y áreas <strong>de</strong> la empresa que<br />

intervienen.<br />

• Analizar <strong>el</strong> flujo <strong>de</strong> información que se lleva en cada etapa d<strong>el</strong> proceso<br />

<strong>para</strong> <strong>el</strong> manejo y control d<strong>el</strong> inventario.<br />

• Analizar, proponer y optimizar <strong>el</strong> proceso <strong>de</strong> control <strong>de</strong> inventario.<br />

3


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

• Diseñar los mod<strong>el</strong>os y diagramas que propone la metodología MES.<br />

• Diseñar un sistema <strong>de</strong> información que optimice los procesos que se<br />

llevan a cabo en un inventario.<br />

• Evaluar <strong>el</strong> diseño d<strong>el</strong> sistema <strong>de</strong> información <strong>de</strong> inventarios.<br />

• Implementar un sistema <strong>de</strong> información <strong>para</strong> inventarios.<br />

• Familiarizar al cliente con <strong>el</strong> nuevo sistema, a través d<strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> un<br />

plan <strong>de</strong> capacitación.<br />

• <strong>El</strong>aborar documentación o manuales claros y precisos que sirvan <strong>como</strong><br />

guía y soporte <strong>para</strong> los usuarios <strong>de</strong> los productos a implementar,<br />

incluyendo la información correspondiente a las <strong>herramienta</strong>s <strong>de</strong> uso <strong>libre</strong><br />

que se utilizaron.<br />

• Investigar y clasificar las causas e inconvenientes por las cuales se<br />

presentan fallas en la red.<br />

Metodología<br />

Toda actividad <strong>de</strong>be estar basada en una metodología y en principio,<br />

cualquier metodología es mejor que ninguna; Cualquier centro <strong>de</strong> <strong><strong>de</strong>sarrollo</strong><br />

pue<strong>de</strong> montar su metodología, aunque esta alternativa implica disponer d<strong>el</strong><br />

tiempo necesario <strong>para</strong> <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> la nueva metodología; por lo tanto, lo<br />

más práctico es seguir los métodos que ya han <strong>de</strong>mostrado su vali<strong>de</strong>z y son<br />

<strong>de</strong> aplicación universal.<br />

Todo proceso <strong>de</strong> <strong>de</strong>senvolvimiento <strong>de</strong> <strong>software</strong> usando metodología<br />

Estructurada simplificada está basado en la i<strong>de</strong>ntificación <strong>de</strong> los eventos a<br />

los que <strong>el</strong> sistema <strong>de</strong>be respon<strong>de</strong>r.<br />

La secuencia metodológica es la siguiente:<br />

• Definir la lista <strong>de</strong> eventos<br />

Desarrollar una lista <strong>de</strong> requerimientos en lenguaje natural.<br />

• Producir un diagrama <strong>de</strong> contexto<br />

Mod<strong>el</strong>ar la r<strong>el</strong>ación d<strong>el</strong> sistema con <strong>el</strong> contexto, <strong>de</strong>terminando cuales son<br />

las áreas <strong>de</strong> la empresa que participarán d<strong>el</strong> sistema <strong>como</strong> fuentes <strong>de</strong><br />

información.<br />

A continuación se dará <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> d<strong>el</strong> contenido <strong>de</strong> este trabajo <strong>de</strong><br />

investigación.<br />

4


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

Contenido<br />

Figura 1. Diagrama <strong>de</strong> Contexto Área <strong>de</strong> Servicios Generales (Compras)<br />

Figura 2. DFD Plan Anual <strong>de</strong> Compras<br />

5


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

Figura 3. DFD <strong>El</strong>ementos Entrada Almacén <strong>de</strong> Suministros<br />

Figura 4. DFD <strong>El</strong>ementos Salida Almacén <strong>de</strong> Suministros<br />

6


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

• Definir <strong>el</strong> mod<strong>el</strong>o <strong>de</strong> comportamiento<br />

Utilizamos <strong>el</strong> DFD <strong>como</strong> <strong>herramienta</strong> mod<strong>el</strong>adora <strong>de</strong> la transformación <strong>de</strong><br />

las entradas en salidas.<br />

• Definir <strong>el</strong> mod<strong>el</strong>o <strong>de</strong> datos<br />

Mod<strong>el</strong>ar la r<strong>el</strong>ación <strong>de</strong> los repositorios <strong>de</strong> datos con la técnica d<strong>el</strong> Mod<strong>el</strong>o<br />

R<strong>el</strong>acional <strong>de</strong> Datos.<br />

Figura 5. Mod<strong>el</strong>o R<strong>el</strong>acional <strong>de</strong> Datos Lógico<br />

• Crear <strong>el</strong> mod<strong>el</strong>o <strong>de</strong> implementación d<strong>el</strong> usuario<br />

Definir los módulos d<strong>el</strong> sistema. En esta etapa son <strong>de</strong>cididos los procesos<br />

a ser automatizados; se somete a la evaluación d<strong>el</strong> usuario cada proceso<br />

d<strong>el</strong> mod<strong>el</strong>o comportamental.<br />

• Definir los requisitos <strong>de</strong> implementación<br />

Mientras son <strong>de</strong>finidos los procesos a ser informatizados, se <strong>de</strong>be discutir<br />

y documentar los requisitos <strong>de</strong> implementación <strong>de</strong> esos procesos y d<strong>el</strong><br />

sistema <strong>de</strong> <strong>software</strong> <strong>como</strong> un todo: Desempeño, restricciones <strong>de</strong> costos,<br />

restricciones operacionales, consi<strong>de</strong>raciones sobre seguridad y auditoría,<br />

tecnología a ser empleada, modificaciones en procedimientos manuales y<br />

en otros <strong>sistemas</strong> informatizadas ya existentes.<br />

7


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

Herramientas <strong>de</strong> implementación<br />

<strong>El</strong> producto se <strong>de</strong>sarrolla sobre una arquitectura cliente/servidor utilizando<br />

<strong>herramienta</strong>s <strong>de</strong> <strong>software</strong> <strong>libre</strong> <strong>como</strong> sistema operativo Linux (RedHat 9.0),<br />

<strong>para</strong> la codificación Kylix 3 Open Edition, con motor <strong>de</strong> base <strong>de</strong> datos<br />

FirebirdSQL v1.5 y administrador <strong>de</strong> la base <strong>de</strong> datos IBManager v3.7. Para<br />

<strong>el</strong> diseño lógico y físico d<strong>el</strong> RDM se utilizo PowerDesigner v6.1<br />

Las <strong>herramienta</strong>s mencionadas anteriormente <strong>como</strong> todas otras tienen sus<br />

ventajas y <strong>de</strong>sventajas. Luego <strong>de</strong> una investigación y com<strong>para</strong>ción profunda<br />

<strong>de</strong> estas <strong>herramienta</strong>s con las convencionales (windows, d<strong>el</strong>phi, interbase,<br />

postgresql, entre otras), se llega a la conclusión que <strong>para</strong> la empresa son<br />

fácilmente accesibles y que cumplen los requisitos <strong>para</strong> <strong>el</strong> manejo <strong>de</strong> la<br />

información que requiere <strong>el</strong> usuario.<br />

Se utiliza la Intranet <strong>para</strong> la transferencia <strong>de</strong> los archivos que se crean en<br />

cada una <strong>de</strong> las ciuda<strong>de</strong>s, con la información <strong>de</strong> los <strong>el</strong>ementos y activos fijos<br />

que poseen.<br />

Arquitectura <strong>de</strong> implementación<br />

La implementación <strong>de</strong> este sistema se realizó a través <strong>de</strong> los siguientes<br />

componentes físicos:<br />

Computador Cliente. En este computador se ejecuta la interfaz d<strong>el</strong> cliente<br />

<strong>de</strong>s<strong>de</strong> <strong>el</strong> cual se acce<strong>de</strong> al Servidor <strong>de</strong> aplicación.<br />

Servidor <strong>de</strong> Aplicación. En este servidor aplicación residirán los<br />

componentes que implementan la lógica y los datos. Este es <strong>el</strong> servidor<br />

principal don<strong>de</strong> residirá la mayor funcionalidad d<strong>el</strong> sistema.<br />

Servidor Base <strong>de</strong> Datos. En este servidor <strong>de</strong> datos residirá <strong>el</strong> motor <strong>de</strong> base<br />

<strong>de</strong> datos r<strong>el</strong>acional que se encargará <strong>de</strong> la persistencia <strong>de</strong> los datos d<strong>el</strong><br />

sistema <strong>de</strong> Información.<br />

<strong>El</strong> usuario interactuará con <strong>el</strong> Servidor <strong>de</strong> aplicación a través d<strong>el</strong> cliente<br />

resi<strong>de</strong>nte en su computador. Una vez conectado con <strong>el</strong> servidor, <strong>el</strong> usuario<br />

dispone <strong>de</strong> la interfaz <strong>para</strong> ingresar y/o consultar datos al sistema.<br />

• <strong>El</strong>aborar diagramas <strong>de</strong> estructura<br />

Para cada proceso a ser automatizado, será creado un diagrama <strong>de</strong><br />

estructura. Las funciones <strong>de</strong> los diagramas son <strong>de</strong>rivadas <strong>de</strong> los flujos <strong>de</strong><br />

datos que entran y que salen <strong>de</strong> los proceso, y <strong>de</strong> las transformaciones<br />

que generan los datos <strong>de</strong> salida a partir <strong>de</strong> los datos <strong>de</strong> entrada.<br />

8


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

• Integrar los diagramas <strong>de</strong> estructura<br />

Los diagramas <strong>de</strong> estructura <strong>de</strong>ben ser integrados en programas, <strong>el</strong><br />

agrupamiento <strong>de</strong> funciones pue<strong>de</strong> ser hecho por proximidad temporal <strong>de</strong><br />

utilización, rutinas On-Line, mensual, anual, etc., o por cualquier otro tipo<br />

<strong>de</strong> afinidad, <strong>como</strong> por ejemplo, en <strong>el</strong> caso <strong>de</strong> <strong>sistemas</strong> distribuido, <strong>el</strong><br />

agrupamiento es hecho conforme al procesador en que serán ejecutadas<br />

las funciones. La estructura d<strong>el</strong> <strong>software</strong> es completada, incorporándose a<br />

él módulos <strong>de</strong> apoyo operacional, <strong>como</strong>: módulos <strong>de</strong> implementación <strong>de</strong><br />

backups, módulos <strong>de</strong> control, módulos <strong>para</strong> la creación y restauración <strong>de</strong><br />

índices, módulos <strong>para</strong> alteración <strong>de</strong> parámetros <strong>de</strong> operaciones, etc.<br />

estos módulos serán incorporados al Diagrama <strong>de</strong> estructura, don<strong>de</strong> <strong>el</strong><br />

acceso a <strong>el</strong>los fuese mas conveniente<br />

• Proyectar la interfaz con <strong>el</strong> usuario<br />

La parte mas importante y mas compleja <strong>de</strong> la interfaz con <strong>el</strong> usuario será<br />

<strong>de</strong>sarrollada a partir <strong>de</strong> los flujos <strong>de</strong> datos <strong>de</strong> entrada y <strong>de</strong> salida <strong>de</strong> los<br />

procesos a ser automatizados. Una única interfaz pue<strong>de</strong> ser generada<br />

<strong>para</strong> aten<strong>de</strong>r varios flujos simultáneamente. Las interfaces necesarias a<br />

los módulos que implementan menús <strong>de</strong> s<strong>el</strong>ección y a los módulos <strong>de</strong><br />

apoyo operacional complementaran <strong>el</strong> proyecto <strong>de</strong> la interfaz con <strong>el</strong><br />

usuario.<br />

• Proyectar la base <strong>de</strong> datos física<br />

Definir las características físicas <strong>de</strong> cada dato, <strong>como</strong> <strong>el</strong> tipo <strong>el</strong> dominio; la<br />

organización <strong>de</strong> cada archivo, <strong>como</strong> la <strong>de</strong>finición <strong>de</strong> las llaves principales,<br />

índices, etc.<br />

Figura 6. Mod<strong>el</strong>o R<strong>el</strong>acional <strong>de</strong> Datos Físico<br />

9


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

• Especificar los módulos<br />

La especificación <strong>de</strong> los módulos, través <strong>de</strong> pseudo código flujogramas u<br />

otros.<br />

Herramientas <strong>de</strong> <strong>software</strong> <strong>libre</strong><br />

Resultados<br />

Para cualquier <strong>de</strong>sarrollador <strong>de</strong> <strong>software</strong>, la <strong>el</strong>ección <strong>de</strong> las <strong>herramienta</strong>s<br />

a<strong>de</strong>cuadas es un tema muy d<strong>el</strong>icado e importante, pues <strong>para</strong> lograr un<br />

<strong><strong>de</strong>sarrollo</strong> <strong>de</strong> calidad requerimos <strong>de</strong> <strong>herramienta</strong>s <strong>de</strong> gran calidad, eficiencia,<br />

facilidad <strong>de</strong> uso y po<strong>de</strong>r.<br />

Afortunadamente <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> programas y <strong>sistemas</strong> <strong>de</strong> información no se<br />

limita a la utilización <strong>de</strong> lenguajes <strong>de</strong> programación <strong>de</strong> uso general, sino que<br />

existen otras <strong>herramienta</strong>s y aplicaciones <strong>de</strong> <strong>software</strong> necesarias <strong>para</strong> esto,<br />

que nos ayudan <strong>de</strong>s<strong>de</strong> la concepción, análisis y diseño <strong>de</strong> un <strong>software</strong> hasta<br />

la implantación d<strong>el</strong> mismo.<br />

Para <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> d<strong>el</strong> sistema <strong>de</strong> información y teniendo en cuenta que la<br />

Compañía no iba a invertir gran<strong>de</strong>s cantida<strong>de</strong>s <strong>de</strong> dinero en <strong>el</strong> proyecto, fue<br />

necesario indagar las diferentes <strong>herramienta</strong>s <strong>de</strong> <strong>software</strong> <strong>libre</strong> que<br />

existen en <strong>el</strong> mercado, con <strong>el</strong> fin i<strong>de</strong>ntificar cuales eran las mas indicadas<br />

<strong>para</strong> utilizar.<br />

Parte <strong>de</strong> los resultados <strong>de</strong> investigación hallados se inclinaron hacia <strong>el</strong><br />

sistema operativo Linux (RedHat 9.0), <strong>para</strong> la codificación Kylix 3 Open<br />

Edition, base <strong>de</strong> datos FirebirdSQL v1.5 y administrador <strong>de</strong> la base <strong>de</strong><br />

datos IBManager v3.7. Los cuales poseen las siguientes potencialida<strong>de</strong>s:<br />

• Linux<br />

Linux es una implementación d<strong>el</strong> sistema operativo UNIX (uno más <strong>de</strong> entre<br />

los numerosos clónicos d<strong>el</strong> histórico Unix), pero con la originalidad <strong>de</strong> ser<br />

gratuito y a la vez muy potente, que sale muy bien <strong>para</strong>do al com<strong>para</strong>rlo con<br />

las versiones comerciales <strong>para</strong> <strong>sistemas</strong> <strong>de</strong> mayor envergadura y por tanto<br />

teóricamente superiores. Comenzó <strong>como</strong> proyecto personal d<strong>el</strong> -entonces<br />

estudiante- Linus Torvalds, quien tomó <strong>como</strong> punto <strong>de</strong> partida otro viejo<br />

conocido, <strong>el</strong> Minix <strong>de</strong> Andy. S. Tanenbaum (profesor <strong>de</strong> <strong>sistemas</strong> operativos<br />

que creó su propio sistema operativo Unix en PCs XT <strong>para</strong> usarlo en su<br />

docencia). Actualmente Linus lo sigue <strong>de</strong>sarrollando, pero a estas alturas <strong>el</strong><br />

principal autor es la red Internet, <strong>de</strong>s<strong>de</strong> don<strong>de</strong> una gigantesca familia <strong>de</strong><br />

programadores y usuarios aportan diariamente su tiempo aumentando sus<br />

prestaciones y dando información y soporte técnico mútuo. La versión<br />

10


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

original comenzó <strong>para</strong> PCs compatibles (Int<strong>el</strong> 386 y superiores), existiendo<br />

también en <strong><strong>de</strong>sarrollo</strong> versiones <strong>para</strong> prácticamente todo tipo <strong>de</strong> plataformas:<br />

PowerPC, Sparc, Alpha, Mips, entre otras.<br />

• FirebirdSQL<br />

La creación <strong>de</strong> un buen <strong>software</strong> es producto <strong>de</strong> un buen análisis y diseño,<br />

un programador experimentado y <strong>el</strong> uso <strong>de</strong> <strong>herramienta</strong>s confiables y<br />

eficientes. Por eso la <strong>el</strong>ección <strong>de</strong> una base <strong>de</strong> datos es un punto crucial <strong>para</strong><br />

crear buenos <strong><strong>de</strong>sarrollo</strong>s <strong>de</strong> <strong>software</strong> administrativo.<br />

Para cualquier <strong>de</strong>sarrollador <strong>de</strong> <strong>software</strong>, la <strong>el</strong>ección <strong>de</strong> las <strong>herramienta</strong>s<br />

a<strong>de</strong>cuadas es un tema muy d<strong>el</strong>icado e importante, pues <strong>para</strong> lograr un<br />

<strong><strong>de</strong>sarrollo</strong> <strong>de</strong> calidad se requiere <strong>de</strong> <strong>herramienta</strong>s <strong>de</strong> gran calidad, eficiencia,<br />

facilidad <strong>de</strong> uso y po<strong>de</strong>r.<br />

Afortunadamente <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> programas y <strong>sistemas</strong> <strong>de</strong> información no se<br />

limita al uso <strong>de</strong> lenguajes <strong>de</strong> programación <strong>de</strong> uso general, sino que existen<br />

otras <strong>herramienta</strong>s y aplicaciones <strong>de</strong> <strong>software</strong> necesarias <strong>para</strong> esto, que<br />

ayudan <strong>de</strong>s<strong>de</strong> la concepción, análisis y diseño <strong>de</strong> un <strong>software</strong> hasta la<br />

implantación d<strong>el</strong> mismo.<br />

Firebird es un <strong><strong>de</strong>sarrollo</strong> <strong>de</strong>rivado <strong>de</strong> InterBase 6.0 (Fig. 7) que está apoyado<br />

por un grupo <strong>de</strong> <strong>de</strong>sarrolladores <strong>de</strong> todo <strong>el</strong> mundo <strong>para</strong> garantizar la<br />

continuidad <strong>de</strong> la base <strong>de</strong> datos bajo <strong>el</strong> esquema <strong>de</strong> código abierto y sin<br />

pago <strong>de</strong> licencias. Debido a que es <strong>de</strong>rivado d<strong>el</strong> código <strong>de</strong> InterBase 6.0,<br />

tiene las mismas características que IB6, aunque <strong>de</strong> ahora en ad<strong>el</strong>ante irán<br />

teniendo diferencias <strong>de</strong>bido a que son dos <strong><strong>de</strong>sarrollo</strong>s in<strong>de</strong>pendientes.<br />

11


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

Figura 7. Descen<strong>de</strong>ncia FirebirdSQL<br />

• IBManager<br />

EMS InterBase & Firebird Manager es una <strong>herramienta</strong> po<strong>de</strong>rosa y efectiva<br />

<strong>para</strong> la administración <strong>de</strong> las bases <strong>de</strong> datos InterBase y Firebird. Permite<br />

editar todos los objetos <strong>de</strong> la base <strong>de</strong> datos, buscar en los metadatos, extraer<br />

los metadatos, imprimir metadatos, importar datos y exportar datos hasta en<br />

12 formatos <strong>de</strong> archivos. IB Manager también incluye un <strong>de</strong>purador <strong>de</strong><br />

procedimientos almacenados, editor SQL, constructor visual <strong>de</strong> consultas<br />

(Visual Query Buil<strong>de</strong>r), administrador <strong>de</strong> permisos <strong>de</strong> usuarios (Grant<br />

Manager), administrador <strong>de</strong> usuarios, editor/visor <strong>de</strong> campos BLOB<br />

(binarios), procesador <strong>de</strong> scripts SQL, soporte a adiciones <strong>de</strong> otras<br />

compañías (plug-ins) y muchas más características.<br />

IBManager mantiene un registo <strong>de</strong> las bases <strong>de</strong> datos que utilizamos,<br />

mediante <strong>el</strong> DB Explorer. Para agregar una base <strong>de</strong> datos existente en <strong>el</strong> DB<br />

Explorer, ejecutamos la instrucción Register Database, la cual abre un<br />

cuadro <strong>de</strong> diálogo don<strong>de</strong> se ponen todas las características <strong>de</strong> la base <strong>de</strong><br />

datos, <strong>como</strong> <strong>el</strong> nombre d<strong>el</strong> servidor -en caso <strong>de</strong> que sea un servidor remoto-,<br />

<strong>el</strong> archivo <strong>de</strong> la base <strong>de</strong> datos, la clave d<strong>el</strong> usuario, su contraseña y <strong>el</strong> rol que<br />

está usando <strong>el</strong> usuario.<br />

12


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

• Kylix<br />

Se trata d<strong>el</strong> primer ambiente nativo <strong>de</strong> Desarrollo Rápido <strong>de</strong> Aplicaciones<br />

(RAD). Combina un ambiente visual intuitivo, optimizado mediante un<br />

compilador nativo, un <strong>de</strong>purador interactivo y un conjunto <strong>de</strong> componentes<br />

que permite a los analistas y programadores <strong>de</strong> <strong>software</strong> liberar aplicaciones<br />

basadas en Linux <strong>para</strong> ambientes <strong>de</strong> escritorio, Web y bases <strong>de</strong> datos.<br />

Todo esto <strong>de</strong>semboca en que cualquier <strong>de</strong>sarrollador <strong>de</strong> Borland D<strong>el</strong>phi o<br />

Microsoft Visual Basic pue<strong>de</strong> ser capaz, mediante Kylix, <strong>de</strong> trasladar sus<br />

habilida<strong>de</strong>s, conocimientos y aplicaciones a la plataforma Linux.<br />

Contando con tiempos rápidos <strong>de</strong> compilación, 4.000.000 líneas por minuto,<br />

las aplicaciones correrán inmediatamente con la misma v<strong>el</strong>ocidad <strong>de</strong> las<br />

aplicaciones C/C++.<br />

La técnica drag & drop (arrastrar y soltar) está completamente soportada, lo<br />

cual facilita la tarea a los programadores.<br />

Kylix está disponible en tres versiones: Server Dev<strong>el</strong>oper, <strong>para</strong> programación<br />

en Apache Web; Desktop Dev<strong>el</strong>oper, <strong>para</strong> <strong>de</strong>sarrolladores <strong>de</strong> aplicaciones; y<br />

Open Edition, <strong>para</strong> crear programas con código abierto.<br />

Debido a que Kylix y D<strong>el</strong>phi comparten una <strong>libre</strong>ría <strong>de</strong> componentes común,<br />

<strong>el</strong> código fuente <strong>de</strong>sarrollado con Kylix pue<strong>de</strong> ser recompilado en D<strong>el</strong>phi (y<br />

viceversa), permitiendo unas más eficientes implementaciones <strong>de</strong> plataforma<br />

cruzada <strong>para</strong> compañías comprometidas con <strong><strong>de</strong>sarrollo</strong>s en Linux y<br />

Windows.<br />

Descripción <strong>de</strong> la aplicación<br />

<strong>El</strong> sistema <strong>de</strong>sarrollado consta <strong>de</strong> una interfaz gráfica <strong>de</strong> usuario con un<br />

soporte <strong>de</strong> Base <strong>de</strong> datos, que permiten presentar una solución óptima al<br />

proceso <strong>de</strong> manejo y control <strong>de</strong> inventarios.<br />

Se trata <strong>de</strong> una aplicación con estructura cliente/servidor, utilizando la<br />

interfaz <strong>de</strong>sarrollada en Kylix, IBManager y FirebirdSQL, tecnologías que en<br />

su conjunto y siendo <strong>herramienta</strong>s <strong>de</strong> <strong>software</strong> <strong>libre</strong>, proveen soluciones<br />

óptimas <strong>para</strong> requerimientos <strong>de</strong> este tipo.<br />

Cuando se realiza <strong>el</strong> proceso <strong>de</strong> inventarios, la información es recolectada<br />

por la terminal portátil lectora <strong>de</strong> código <strong>de</strong> barras Dolphin 7200, <strong>para</strong> la cual,<br />

fue necesario <strong>de</strong>sarrollar aplicaciones que permitieran captar la información<br />

suficiente en cada lugar don<strong>de</strong> la Compañía esta presente a niv<strong>el</strong> nacional.<br />

13


- Universidad <strong>de</strong> Manizales, enero – junio / 2005<br />

La aplicación se ha segmentado en 3 funcionalida<strong>de</strong>s:<br />

La primera correspon<strong>de</strong> a la Administración d<strong>el</strong> sistema, don<strong>de</strong> únicamente<br />

<strong>el</strong> administrador <strong>de</strong> la base <strong>de</strong> datos tiene acceso, se encarga <strong>de</strong> insertar,<br />

<strong>el</strong>iminar, actualizar los usuarios d<strong>el</strong> sistema; verificar las transacciones que<br />

se realiza en <strong>el</strong> sistema, permitiéndole consultar y auditar la información<br />

necesaria. (Fig. 8)<br />

Figura 8. Administración d<strong>el</strong> sistema<br />

La segunda correspon<strong>de</strong> al Almacén <strong>de</strong> Suministros, don<strong>de</strong> se encuentra <strong>el</strong><br />

proceso <strong>de</strong> entrada y salida <strong>de</strong> <strong>el</strong>ementos d<strong>el</strong> almacén, se controla <strong>el</strong> stock<br />

mínimo, <strong>de</strong>scripción <strong>de</strong>tallada <strong>de</strong> cada artículo, estado en que se encuentra<br />

<strong>de</strong>ntro d<strong>el</strong> inventario. (Fig. 9)<br />

Figura 9. Almacén <strong>de</strong> suministros<br />

14


CENTRO DE INVESTIGACIONES Y DESARROLLO – FACULTAD DE INGENIERÍA<br />

Y la tercera correspon<strong>de</strong> al Inventario, la cual provee al Analista y Jefe <strong>de</strong><br />

compras toda la información necesaria <strong>para</strong> administrar los activos fijos y<br />

<strong>el</strong>ementos almacenados en bo<strong>de</strong>ga. (Fig. 10)<br />

Figura 10. Reporte <strong>de</strong> Inventario<br />

Conclusiones<br />

• <strong>El</strong> <strong><strong>de</strong>sarrollo</strong> y puesta en producción <strong>de</strong> la <strong>herramienta</strong> constituyo un<br />

espacio <strong>de</strong> aprendizaje por: la confrontación <strong>de</strong> la práctica con la teoría, la<br />

capacidad <strong>de</strong> toma <strong>de</strong> <strong>de</strong>cisiones, la agilidad en la solución <strong>de</strong><br />

problemas, <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> la autonomía, entre otros.<br />

• <strong>El</strong> contar con personal altamente calificado en <strong>el</strong> área <strong>de</strong> Sistemas y<br />

Técnica en Caracol S.A. contribuyó notoriamente al <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> un<br />

trabajo orientado, cooperado y retroalimentado.<br />

• La infraestructura tecnológica disponible <strong>para</strong> <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> d<strong>el</strong> sistema <strong>de</strong><br />

información permitió obtener conocimientos técnicos alcanzados por<br />

medio <strong>de</strong> la investigación y <strong>el</strong> autoaprendizaje sobre las distintas<br />

plataformas involucradas.<br />

• Las r<strong>el</strong>aciones interpersonales <strong>de</strong>ntro <strong>de</strong> la compañía con los superiores,<br />

los usuarios y <strong>el</strong> personal <strong>de</strong> apoyo, contribuyeron <strong>para</strong> construir un<br />

espacio armónico en manejo <strong>de</strong> r<strong>el</strong>aciones humanas, consolidación <strong>de</strong><br />

valores y <strong>de</strong> integración.<br />

• <strong>El</strong> uso <strong>de</strong> <strong>herramienta</strong>s <strong>de</strong> <strong>software</strong> <strong>libre</strong> <strong>para</strong> <strong>el</strong> <strong><strong>de</strong>sarrollo</strong> <strong>de</strong> <strong>sistemas</strong> <strong>de</strong><br />

información si es posible en Colombia, solo hace falta buscar <strong>el</strong><br />

convencimiento a la comunidad <strong>de</strong> la capacidad <strong>de</strong> cada una <strong>de</strong> <strong>el</strong>las y<br />

solo se hará a través <strong>de</strong> la divulgación y publicidad que se alcance en<br />

eventos <strong>de</strong> gran importancia y cubrimiento <strong>como</strong> es <strong>el</strong> “XIV Congreso<br />

Nacional <strong>de</strong> Estudiantes <strong>de</strong> Ingeniería <strong>de</strong> Sistemas y IV Congreso<br />

Internacional <strong>de</strong> Software Libre GNU/Linux”.<br />

15

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!