FACUL TAO DE INGENIERIA SISTEMA DE ADMINISTRACIÓN DE DONACIONES PARA ONG Y ENTIDADES DE SERVICIO (SAO) TRABAJO DE GRADUACIÓN PARA OPTAR AL GRADO DE INGENIERO EN CIENCIAS DE LA COMPUTACIÓN PRESENTADO POR: CARLOS EDUARDO MARINERO TOBAR ISAAC ALVAREZ ABRIL DE 2002 SOYAPANGO EL SALVADOR UNIVERSIDAD DON BOSCO RECTOR ING. FEDERICO MIGUEL HUGUET RIVERA SECRETARIO GENERAL LIC. MARIO OLMOS DECANO DE LA FACULTAD DE INGENIERÍA ING. CARLOS BRAN ASESOR DEL TRABAJO DE GRADUACIÓN ING. JOSÉ ALBERTO DÁVILA ESCOBAR JURADO EVALUADOR ING. MELVIN CARIAS LIC. FIDIAS ALFARO UNIVERSIDAD DON SOSCO FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN JURADO EVALUADOR DEL TRABAJO DE GRADUACIÓN SISTEMA DE ADMINISTRACIÓN DE DONACIONES PARA ONG Y ENTIDADES DE SERVICIO (SAD) JURADO JURADO ING. JOSÉ AL ERTO DÁVILA ESCOBAR ASESOR Agradecimientos A Dios Todopoderoso por permitirme cumplir con éxito el presente proyecto. Gracias por sostenerme Jesús. A mi madre María Nieves por brindarme su apoyo incondicional en todo tiempo. Gracias por tus oraciones, eres la fuente de mi inspiración. A mi hermano José Luis por confiar siempre en mí, eres la persona que más mérito tiene en este triunfo. Este logro lo dedico a tí y siempre te estaré infinitamente agradecido. Gracias Wilfredo, Blanca Reina y Francisco Javier por su confianza y hermandad. Gracias abuelita Rosa por tus oraciones. Bendiciones a todos. A Carlos Eduardo por ser un gran compañero y amigo, juntos somos un gran equipo. Que Dios te bendiga siempre, Mi agradecimiento a Richar Nilson, José Alfredo y Alex por su amistad y compañerismo. A todos mis amigos y amigas por haber aportado consejos valiosos y oportunos. Dios les bendiga a todos. Dedico éste trabajo a todas las personas que tienen grandes ideales y muchas limitantes para realizarlos, pues queda demostrado en éste proyecto que con la ayuda del creador se alcanzan todas las metas. "He peleado la buena batalla, he acabado la carrera, he guardado la fe". 2ª Timoteo 4:7 Isaac Álvarez. Agradecimientos En primer lugar y sobre todas las cosas agradezco a Dios y a la Virgen Maria por todas las bendiciones otorgadas para lograr este triunfo. Agradezco a mi madre Rosa Ermelinda y mi hermana Susy por todo su amor, apoyo y todas sus oraciones que tanto me ayudaron. Gracias a mis abuelos y a todos mis tíos por todo su amor y apoyo incondicional. A mi compañero de tesis Isaac por su amistad y compañerismo. Gracias a todos mis amigos y compañeros de la Universidad. Dedico este logro, especialmente a la memoria de mi padre Eduardo (QDDG). Carlos Eduardo Marinero Tobar. Agradecimientos del Equipo Agradecemos en primer lugar a Dios todopoderoso por ayudarnos a culminar con éxito este proyecto. Además damos un agradecimiento muy especial a nuestras familias. Este triunfo lo dedicamos a todos y cada uno de ustedes. Bendiciones a todos. Nuestra gratitud a los jurados lng. Melvin Carías y Lic. Fidias Alfaro por sus aportes académicos y la disponibilidad de tiempo mostrada en las defensas del proyecto. Que Dios les bendiga siempre. Gracias a nuestro asesor lng. Alberto Dávila por su ayuda profesional. Te agradecemos amigo. Isaac Alvarez Carlos Eduardo Marinero Tobar ÍNDICE Página Introducción Capitulo I Tema del Proyecto 1 1. 1 Antecedentes 1 1.2 Definición del Tema 2 1.3 Objetivos 2 1.3.1 Ojetivos General 2 1.3.2Objetivos Específicos 2 1.4 Alcances y Limitaciones 3 1.4.1Alcances 3 1.4.2 Limitaciones 3 1.5 Justificación 4 Capitulo 11 Marco Conceptual 5 2.1 Arquitectura Cliente Servidor 5 2.1.1 El Cliente 7 2. 1.2 El Servidor 9 2.1.3 Topología de Red Recomendada 10 2.2 Modelo de Base de Datos Utilizado en SAO 13 2.3 Descripción del Modelo Relacional de Base de Datos 15 Capitulo 111 Metodología del Sistema 20 3.1 Ciclo de Vida de Desarrollo de Sistemas 20 3.2 Métodos de Investigación 21 Capitulo IV Investigación Preliminar 22 4.1 Marco Contextual 22 4.2 Identificación de Problemas 26 4.3 Oportunidades de Mejoras 27 Capitulo V Determinación de los Requerimientos de Información 28 5.1 Situación Actual 28 5.2 Procesos de la Situación Actual 31 Capitulo VI Análisis de las Necesidades del Sistema 35 6.1 Diagrama de Flujo de Datos 35 Capitulo VII Diseño del Sistema Recomendado 37 7.1 Diagrama de Contexto 37 7 .2 Diagrama de Nivel O 38 7.3 Diagrama de Nivel 1 39 7.4 Plataforma de Software a Utilizar 40 7.4.1 Herramienta de Desarrollo Microsoft Visual Basic 6.0 40 7.4.2 Base de Datos SQL Server 2000 42 7.4.3 Componente TrueDBGrid 5.0 Pro 51 7.4.4 Componente Crystal Report 52 7.4.5 Power Designer 52 7.5 Tecnología Utilizada para la conexión de la Base de Datos con la Aplicación de Software en SAO 53 7.6 Costos del Proyecto 57 Capitulo VIII Conclusiones y Anexos 59 8.1 Conclusiones 59 8.2 Recomendaciones 60 8.3 Glosario 61 8.4 Bibliografía 65 Anexos 66 Anexo I Elementos Utilizados en la Investigación SAO 67 Anexo II Manual de Referencia 75 Anexo 111 Manual de Usuario 81 Anexo IV Manual del Programador 104 INTRODUCCIÓN En el país existen en _promedio unas ciento noventa y cinco ONG o entidades de servicio legalmente establecidas, encargándose de recibir y distribuir las donaciones provenientes del exterior e interior del territorio nacional. Una de estas entidades es Visión Mundial, una organización internacional sin fines de lucro (ONG) que cuenta con una dependencia en este país denominada Visión Mundial El Salvador. El trabajo que se presenta a continuación tiene como propósito dar a conocer los aspectos principales del tema de investigación "Sistema de Administración de Donaciones (SAO)". El contenido del presente documento esta compuesto por los siguientes apartados: • Los objetivos del proyecto, los cuales son los propósitos a lograr. • Antecedentes de otros sistemas de administración de donaciones en las ONG. • Los alcances, las limitaciones y la justificación del proyecto. • Marco conceptual, donde se abordan los elementos que enmarcan la investigación. • Ciclo de vida de sistemas de informática, método estructurado utilizado para generar la solución informática propuesta. • Como anexos se presentan los manuales de referencia, usuarios y programadores. 1 CAPITULO 1 TEMA DEL PROYECTO 1.1 Antecedentes del tema Las ONG (Organizaciones sin fines lucrativos) y entidades de servicio están laborando en el país desde hace varias décadas. Su trabajo se orienta al desarrollo comunitario y con atención especial a las personas de extrema pobreza, que son el sector más vulnerable de la sociedad. "Visión Mundial El Salvador", es una de esas organizaciones sin fines de lucro, que inició sus labores en 1975. En estos tiempos tan cambiantes, de forma ideal, es importante que toda entidad, incluso las ONG tengan acceso a información que sea confiable, oportuna y que permita tomar las mejores y más apropiadas decisiones, y eso solo se puede lograr con un sistema de computación que sea confiable, robusto y se apegue a las necesidades de cada organización. Sin embargo en la practica es todo lo contrario, con la investigación realizada se pudo constatar que son muy pocas las ONG que usan sistemas informáticos, incluso se llega al extremo de no contar con una sola computadora. Esto indica que los antecedentes del tema "Sistema de Administración de Donaciones" en El Salvador son desconocidos, por lo cual se concluye que el actual proyecto cuenta con la característica de novedad, tomando más aún en consideración, el concepto de diseño del sistema denominado SAO. 2 1.2 Definición del Tema El tema del proyecto de tesis es: "SISTEMA DE ADMINISTRACIÓN DE DONACIONES (SAO)". 1.3 Objetivos 1.3.1 Objetivo general Diseñar un sistema automatizado de administración de donaciones que optimice el uso de los recursos humanos, materiales, económicos y tecnológicos, involucrados en los procesos de recepción y entrega de donaciones. 1.3.2 Objetivos específicos • Proveer un sistema de administración de donaciones a las ONG o entidades de servicio. • Desarrollar un sistema que facilite la administración de la recepción - entrega de donaciones. • Proveer de una estructura cliente - servidor para SAO. • Establecer un control de acceso a los usuarios del sistema. • Proporcionar información para la efectiva toma de decisión. 1.4 Alcances y limitaciones 1.4.1 Alcances 3 • El sistema se implementará en una entidad de servicio u ONG, utilizará una base de datos relacional y funcionará bajo la estructura de módulos. • Diseñar y programar una aplicación de software fácil de operar a través de procesos sencillos definidos para una ONG o entidad de servicio de El Salvador. • El sistema funcionará en arquitectura cliente - servidor con una interfaz gráfica de usuario en ambiente Windows, conectados a través de una red de área local. • Política de seguridad para acceder a SAO, a través de dominio de red, usuario válido y contraseña efectiva. • Proporcionar consultas de información y reportes con datos estadísticos de forma fácil, precisa y oportuna. 1.4.2 Limitaciones • El sistema no se podrá implementar en otros sistemas operativos, tales como, Unix, OS/2, Linux o ambiente Macintosh. • El sistema no trabajará en tecnología de Internet. • La investigación se enfoca en la ONG "Visión Mundial El Salvador". • Dentro de la interfaz de usuario (Front-End), el sistema no cuenta con una opción que permita realizar respaldos de la base de datos. 4 1.5 Justificación A pesar de la experiencia acumulada y del avance evidente de El Salvador en la prevención, la preparación y la respuesta ante los desastres, hay aspectos que requieren de mayor esfuerzo para optimizar el acceso de la población afectada a la asistencia humanitaria, mediante un sustancial mejoramiento en la capacidad logística de las organizaciones responsables de esta asistencia. Uno de los aspectos que constituye una pesadilla recurrente en cada nueva catástrofe, es el manejo logístico de los suministros destinados a paliar las necesidades de los damnificados, ya provengan estos materiales de la solidaridad internacional, de las donaciones locales e incluso de las provisiones adquiridas por las propias organizaciones a cargo. La rápida saturación de los puntos de acceso de los suministros y la carencia de un sistema de informática que facilite la administración de la recepción, almacenamiento y entrega de provisiones, permite que muchos de los productos donados se deterioren o se desperdicien por una manipulación inadecuada o porque no pueden ser distribuidos a tiempo. El Sistema de Administración de Donaciones (SAO) es una herramienta que propone soluciones para el manejo eficiente de la información sobre los suministros, esto para contribuir a un mayor aprovechamiento de estos costosos recursos en beneficio de las personas afectadas por los eventos desastrosos, que con frecuencia afectan el vulnerable territorio de El Salvador. Además, proporcionará credibilidad en el manejo de las donaciones de cara a los donantes y entidades garantes de las ONG. Así como, un mayor beneficio para las personas que reciben las donaciones. 5 CAPITULO 11 MARCO CONCEPTUAL 2.1 Arquitectura Cliente - Servidor En el sentido más estricto, el término cliente - servidor describe un sistema en el que una máquina cliente solicita a una segunda máquina llamada servidor que ejecute una tarea específica. El cliente suele ser una computadora personal común conectada a una LAN (Red de Área Local), y el servidor es, por lo general, una máquina anfitriona, como un servidor de archivos, o una macrocomputadora o computadora de rango medio. El programa cliente cumple dos funciones distintas: por un lado gestiona la comunicación con el servidor, solicita un servicio y recibe los datos enviados por aquél. Por otro, maneja la interfaz con el usuario: presenta los datos en el formato adecuado y brinda las herramientas y comandos necesarios para que el usuario pueda utilizar las prestaciones del servidor de forma sencilla. El programa servidor en cambio, básicamente sólo tiene que encargarse de transmitir la información de forma eficiente. No tiene que atender al usuario. De esta forma un mismo servidor puede atender a varios clientes al mismo tiempo. La ventaja de esta arquitectura es que los requerimientos de hardware no son tan exigentes, aunque si es conveniente poseer del lado del servidor un equipo robusto. solicita información despliega resultados Cliente lee archivo + procesa + envia resultados Servidor Figura 1: Diagrama esquemático de la arquitectura cliente - servidor 6 Definiciones de arquitectura cliente - servidor • Cualquier combinación de sistemas que pueden colaborar entre sí para dar a los usuarios toda la información que ellos necesiten sin que tengan que saber donde esta ubicada. • Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro. • Es un procesamiento de datos de índole colaborativo entre dos o más computadoras conectadas a una red. • El término cliente - servidor es originalmente aplicado a la arquitectura de software que describe el procesamiento entre dos o más programas: una aplicación y un servicio soportante. Evolución de la arquitectura cliente - servidor • La era de la computadora central Desde sus inicios el modelo de administración de datos a través de computadoras se basó en el uso de terminales remotas, que se conectaban de manera directa a una computadora central. Dicha computadora central se encargaba de prestar servicios caracterizados por que cada servicio se prestaba solo a un grupo exclusivo de usuarios. • La era de las computadoras dedicadas Esta es la era en la que cada servicio empleaba su propia computadora que permitía que los usuarios de ese servicio se conectaran directamente. Esto es consecuencia de la aparición de computadoras pequeñas, de fácil uso, más baratas y más poderosas de las convencionales. • La era de la conexión libre Hace más de diez años que las computadoras de escritorio aparecieron de manera masiva. 7 Esto permitió que parte apreciable de la carga de trabajo de cómputo tanto en el ámbito de cálculo como en el ámbito de la presentación se lleven a cabo desde el escritorio del usuario. En muchos de los casos el usuario obtiene la información que necesita de alguna computadora de servicio. Estas computadoras de escritorio se conectan a las computadoras de servicio empleando software que permite la emulación de algún tipo de terminal. En otros de los casos se les transfiere la información haciendo uso de recursos magnéticos. • La era de la arquitectura cliente - servidor En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente, produce una demanda de información a cualquiera de las computadoras que proporcionan información, conocidas como servidores; estos últimos responden a la demanda del cliente que la produjo. Los clientes y los servidores pueden estar conectados a una red local o una red amplia, como la que se puede implementar en una empresa o a una red mundial como lo es la Internet. Bajo este modelo cada usuario tiene la libertad de obtener la información que requiera en un momento dado proveniente de una o varias fuentes locales o distantes y de procesarla como según le convenga. Los distintos servidores también pueden intercambiar información dentro de esta arquitectura. 2.1.1 El cliente Aplicación que se encarga de formar una solicitud válida para enviarla al servidor. Existe una variedad de sistemas operativos clientes, dentro de los cuales los mas conocidos y usados son: • Microsoft Windows 95 • Microsoft Windows 98 • Microsoft Windows 2000 Professional 8 Microsoft Windows 95 La primera versión de Windows 95 aparece en agosto de 1995. Este era un sistema operativo preparado para trabajar en red, hasta el punto que contaba con multitud de herramientas que le permitían integrarse tanto en una LAN(Red de Área Local) como en una WAN(Red de Área Amplia), orientado en este caso a Internet, utilizando diferentes protocolos (IPX/SPX, NETBEUI, TCP/IP) y soportando gran cantidad de adaptadores de red local ó WAN sobre diferentes medios (Ethernet, ArcNet, Token Ring). Actualmente se trata de un sistema operativo utilizado sobre todo para actuar como cliente en diferentes redes con Servidores Windows 2000 Server o Windows NT 4.0. Microsoft Windows 98 Windows 98 es un sistema operativo de 32 bits que soporta hardware plug and play (reconocimiento automático de controladores de hardware), es de alto desempeño, robustez y total compatibilidad con Microsoft Windows 95. Además tiene un kernel (parte medular del sistema operativo) basado en 32 bits, y soporta tareas múltiples. Microsoft Windows 98 también es un sistema operativo que esta preparado para trabajar en red debido a que soporta una gran variedad de medios, tales como: Ethernet, ArcNet, Token Ring y un buen número de protocolos, dentro de los cuales se mencionan: IPX/SPX, NETBEUI y TCP/IP. Microsoft Windows 2000 Professional Microsoft Windows 2000 Professional es la versión de Windows más manejable, fiable y segura. La compatibilidad con hardware mejorado y la compatibilidad con software incrementado, facilitan aún más el uso de Microsoft Windows 2000. 9 Las mejoras en la conexión a redes, la impresión y el almacenamiento ayudan a encontrar recursos rápidamente y a trabajar con mayor eficacia. Microsoft Windows 2000 Professional incluye cientos de nuevos controladores de impresoras, módems y otros componentes de hardware con los que la instalación y configuración son más fáciles y eficientes. Para una asignación del espacio de disco más eficaz, Windows 2000 admite ahora el sistema de archivos 32 de tabla de asignación de archivos (FAT, File Allocation Table). El sistema de archivos NTFS incluye muchas mejoras de rendimiento y nuevas características como cuotas de disco. Microsoft Windows 2000 es compatible con muchas más aplicaciones que nunca y continúa admitiendo software de versiones anteriores de Microsoft Windows, así como hardware más antiguo. 2.1.2 El servidor Aplicación que se encarga de procesar la petición que recibe del cliente. Una vez procesada la solicitud, se envía al cliente, quién la procesa a fin de mostrarla en un formato comprensible para el usuario. Existe una gran variedad de sistemas operativos de red que se instalan y configuran en las máquinas servidores, dentro de los cuales podemos mencionar: • Microsoft Windows 2000 Server. • Microsoft Windows NT Server 4.0 • Novell Netware • Unix • Linux. Microsoft Windows 2000 Server es el sistema operativo de red recomendado a utilizar como plataforma para SAO. 10 Microsoft Windows 2000 Server Microsoft Windows 2000 Server incluye mejoras para los servicios de red, aplicaciones y Web. Suministra una mayor confiabilidad y escalabilidad, reduce los costos de computación mediante unos servicios de administración eficaces y flexibles, y proporciona una base óptima para ejecutar aplicaciones empresariales. Uno de los cambios más notables en la familia de servidores de Microsoft Windows 2000 es el uso del Active Directory. Active Directory es el servicio de directorio para Microsoft Windows 2000 Server, almacena información acerca de objetos de la red y facilita la búsqueda y utilización de esa información por parte de usuarios y administradores. El servicio de directorio Active Directory utiliza un almacén de datos estructurado como base de una organización lógica jerárquica de la información del directorio. La seguridad está integrada en Active Directory mediante la autenticación del inicio de sesión y el control de accesos a los objetos del directorio. Ventajas del Active Directory: • Seguridad de la información • Administración basada en directivas • Capacidad de ampliación • Escalabilidad • Replicación de la información • Integración con DNS (Sistema de Nombres de Dominio) • lnteroperabilidad con otros servicios de directorio 2.1.3 Topología de red recomendada La topología se refiere a la forma en que están interconectados los distintos equipos (nodos) de una red. Un nodo es un dispositivo activo conectado a la red, como un ordenador o una impresora. Un nodo también puede ser dispositivo o equipo de la red como un concentrador, conmutador o un enrutador. Los tipos de topologías más usados son: 11 • Topología de Anillo Tipo de LAN en la que los ordenadores o nodos están enlazados formando un círculo a través de un mismo cable (Ver Figura 2). Las señales circulan en un solo sentido por el círculo, regenerándose en cada nodo. En la práctica, la mayoría de las topologías lógicas en anillo son en realidad una topología física en estrella. Figura 2: Esquema de la topología de red en anillo • Topología de Bus Una topología de bus consiste en que los nodos se unen en serie con cada nodo conectado a un cable largo o bus, formando un único segmento (Ver Figura 3). A diferencia del anillo, el bus es pasivo, no se produce regeneración de las señales en cada nodo. Una rotura en cualquier parte del cable causará, normalmente, que el segmento entero pase a ser inoperable hasta que la rotura sea reparada. Como ejemplos de topología de bus se tiene: 1 0BASE-2 y 10BASE-5. Figura 3: Diagrama de la topología de red de bus 12 • Topología en Estrella Es la topología de red que se recomienda para implementar el Sistema de Administración de Donaciones. Lo más usual en ésta topología es que en un extremo del segmento se sitúe un nodo y en el otro extremo se termine en una situación central con un concentrador (Ver Figura 4). La principal ventaja de este tipo de red es la fiabilidad, dado que si uno de los segmentos tiene una rotura, afectará sólo al nodo conectado en él. Otros usuarios de los ordenadores de la red continuarán operando como si ese segmento no existiera. Tecnologías como 10BASE-T Ethernet y Fast Ethernet son ejemplos de esta topología. Figura 4: Esquema de la topología de red en estrella Componentes de la topología de red en estrella • Servidor: este ejecuta el sistema operativo de red y ofrece los servicios de red a las estaciones de trabajo. • Estaciones de trabajo: es conocido también como cliente y es el que realiza las peticiones al Servidor. • Tarjetas de interfaz de red (NIC): toda computadora que se conecta a una red necesita de una tarjeta de interfaz de red que soporte un esquema de red específico, como Ethernet. El cable de red se conectará a la parte trasera de la tarjeta. 13 • Sistema de cableado: el sistema de la red esta constituido por el cable utilizado para conectar entre sí el servidor y las estaciones de trabajo. • Recursos periféricos y compartidos: entre los recursos compartidos se incluyen los dispositivos de almacenamiento ligados al servidor, las unidades de discos ópticos, las impresoras y el resto de equipos que puedan ser utilizados por cualquiera en la red. 2.2 Modelo de base de datos utilizado en SAD El modelo de base de datos que se utiliza para SAO es el Modelo Relacional. Las bases de datos relacionales son el tipo de bases de datos actualmente más difundido. Los motivos de este éxito son fundamentalmente dos: • Ofrecen sistemas simples y eficaces para representar y manipular los datos. • Se basan en un modelo, el relacional, con sólidas bases teóricas. El modelo relacional fue propuesto originariamente por E. F. Codd en un ya famoso artículo del año 1970. Gracias a su coherencia y facilidad de uso, el modelo se ha convertido desde los años ochenta en el más usado para la producción de DBMS (Sistemas de Administración de Bases de Datos). La estructura fundamental del modelo relacional es precisamente esa, relación, es decir una tabla bidimensional constituida por líneas (registros) y columnas (atributos). Las relaciones representan las entidades que se consideran interesantes en la base de datos. El modelo relacional esta conformado por los siguientes objetos: • Entidades Son objetos concretos o abstractos que presentan interés para el sistema y sobre los que se recoge información que será representada en un sistema de bases de datos. Por ejemplo, Donación, Proveedores, Donantes, entre otros. • Atributos Es una unidad básica e indivisible de información acerca de una entidad o una relación. Por ejemplo la entidad Proveedor tendrá los atributos Nombre, Dirección y Teléfono. • Tablas Es la forma de estructurar los datos en filas o registros y columnas o atributos. Por ejemplo, DonacionDetalle y CompraDetalle. • Relación Es la asociación que se efectúa entre entidades. Por ejemplo la relación entre las entidades Donación y Donantes. • Tablas relacionales Son tablas que cumplen los siguientes requisitos: • Cada fila debe ser única, es decir no pueden existir filas duplicadas. • Cada columna debe ser única. • Los valores de las columnas deben pertenecer al dominio de cada atributo. • Debe tener un solo tipo de fila, cuyo formato está definido por el esquema de la tabla o la relación. • El valor de la columna para cada fila debe ser único. • No puede contener columnas duplicadas. • Claves 14 En una tabla relacional a veces es necesario poder determinar un registro concreto, lo cual es posible mediante la clave. Se debe elegir la clave entre los atributos, de forma que no puedan existir valores duplicados (la clave puede contener uno o más atributos). 15 2.3 Descripción del modelo relacional de base de datos El diseño de bases de datos relacionales Uno de los retos en el diseño de la base de datos es el de obtener una estructura estable y lógica tal que: 1. El sistema de base de datos no sufra de anomalías de almacenamiento. 2. El modelo lógico pueda modificarse fácilmente para admitir nuevos requerimientos. Una base de datos implantada sobre un modelo bien diseñado tiene mayor esperanza de vida aun en un ambiente dinámico, que una base de datos con un diseño pobre. En promedio, una base de datos experimenta una reorganización general cada seis años, dependiendo de lo dinámico de los requerimientos de los usuarios. Una base de datos bien diseñada tendrá un buen desempeño aunque aumente su tamaño, y será lo suficientemente flexible para incorporar nuevos requerimientos o características adicionales. Por otro lado, existen diversos riesgos en el diseño de las bases de datos relacionales que afectan la funcionalidad de la misma, y estos generalmente son la redundancia de información y la inconsistencia de datos. Normalización de bases de datos La normalización es el proceso de simplificar la relación entre los campos de un registro. Por medio de la normalización un conjunto de datos en un registro se reemplaza por varios registros que son más simples y predecibles y, por lo tanto, más manejables. La normalización se lleva a cabo por cuatro razones: • Estructurar los datos de forma que se puedan representar las relaciones pertinentes entre los datos. • Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de consultas y reportes. 16 • Simplificar el mantenimiento de los datos actualizándolos, insertándolos y borrándolos. • Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas aplicaciones. En términos más sencillos la normalización trata de simplificar el diseño de una base de datos, esto a través de la búsqueda de la mejor estructuración que pueda utilizarse con las entidades involucradas en ella. Pasos de la normalización de bases de datos: 1. Descomponer todos los grupos de datos en registros bidimensionales. 2. Eliminar todas las relaciones en la que los datos no dependan completamente de la llave primaria del registro. 3. Eliminar todas las relaciones que contengan dependencias transitivas. La teoría de normalización tiene como fundamento el concepto de formas normales; se dice que una relación está en una determinada forma normal si satisface un conjunto de restricciones. Formas normales de bases de datos: Son las técnicas para prevenir las anomalías en las tablas. Dependiendo de su estructura, una tabla puede estar en primera forma normal, segunda forma normal o en cualquier otra. Relación entre las formas normales: ...,_.-~----Primera f onn a nonn al (1 FN) ------8 e gunda fonn a normal (2 FN) Ter e era fonn a normal (3 FN) --·Forma nonn al de Boye e-C oo d (BC N F) Cuarta forma normal ( 4F N) ~.Quinta forma nonn al ( 5FN) Figura 5: Diagrama esquemático de la normalización de bases de datos. 17 Primera forma normal de base de datos (1FN) • Primera Forma: Una relación "R" se encuentra en 1 FN si y solo sí por cada renglón columna contiene valores atómicos. Abreviada como 1 FN, se considera que una relación se encuentra en la primera forma normal cuando cumple lo siguiente: 1. Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos como valores, es decir, contienen un solo valor por cada celda. 2. Todos los ingresos en cualquier columna (atributo) deben ser del mismo tipo. 3. Cada columna debe tener un nombre único, el orden de las columnas en la tabla no es importante. 4. Dos filas o renglones de una misma tabla no deben ser idénticas, aunque el orden de las filas no es importante. Por lo general la mayoría de las relaciones cumplen con estas características, así que podemos decir que la mayoría de las relaciones se encuentran en la primera forma normal. Segunda forma normal de base de datos (2FN) • Definición formal: Una relación "R" está en 2FN si y solo si está en 1 FN y los atributos no primos dependen funcionalmente de la llave primaria. Una relación se encuentra en segunda forma normal, cuando cumple con las reglas de la primera forma normal y todos sus atributos que no son claves (llaves) dependen por completo de la clave. De acuerdo con está definición, cada tabla que tiene un atributo único como clave, esta en segunda forma normal. Tercera forma normal de base de datos (3FN) • Definición formal: 18 Una relación "R" está en 3FN si y solo si esta en 2FN y todos sus atributos no primos dependen no transitivamente de la llave primaria. Consiste en eliminar la dependencia transitiva que queda en una segunda forma normal, en pocas palabras una relación esta en tercera forma normal si está en segunda forma normal y no existen dependencias transitivas entre los atributos, nos referimos a dependencias transitivas cuando existe más de una forma de llegar a referenciar a un atributo de una relación. Forma normal de Boyce Codd (FNBC) • Definición formal: Una relación "R" esta en FNBC si y solo si cada determinante es una llave candidato. Denominada por sus siglas en ingles como BCNF; Una tabla se considera en esta forma si y sólo sí cada determinante o atributo es una llave candidato. Cuarta forma normal de base de datos (4FN) • Definición formal: Un esquema de relaciones "R" está en 4FN con respecto a un conjunto "D" de dependencias funcionales y de valores múltiples entre sí, para todas las dependencias de valores múltiples en "D" de la forma X77Y, donde X+R y Y+R, se cumple por lo menos una de estas condiciones: • X77Y (esto se lee "X" multidetermina a "Y") es una dependencia de valores múltiples trivial. • "X" es una superllave del esquema "R". 19 Existe una dependencia de valores múltiples cuando una afinidad tiene por lo menos tres atributos, dos de los cuales poseen valores múltiples y sus valores dependen solo del tercer atributo, en otras palabras en la afinidad "R" (A, B, C) existe una dependencia de valores múltiples si "A" determina valores múltiples de "B", "A" determina valores múltiples de "C", y "B" y "C" son independientes entre sí. Para eliminar la redundancia de los datos, se deben eliminar las dependencias de valores múltiples. Esto se logra construyendo dos tablas, donde cada una almacena datos para solamente uno de los atributos de valores múltiples. Quinta forma normal de base de datos (5FN) • Definición formal: Un esquema de relaciones "R" está en 5FN con respecto a un conjunto "D" de dependencias funcionales, de valores múltiples y de producto, si para todas las dependencias de productos en "D" se cumple por lo menos una de estas condiciones: • (R1, R2, R3, ... Rn) es una dependencia de producto trivial. • Toda "Ri" es una superllave de "R". La quinta forma normal se refiere a dependencias que son extrañas. Tiene que ver con tablas que pueden dividirse en subtablas, pero que no pueden reconstruirse. 20 CAPITULO 111 METODOLOGÍA DEL SISTEMA 3.1 Ciclo de vida del desarrollo de sistemas El Ciclo de vida del desarrollo de sistemas consta de las siguientes etapas: • Investigación Preliminar: en esta etapa se llevará a cabo un estudio de la situación actual, que conduzca a diagnosticar el problema y la factibilidad del mismo. Identificando debilidades y fortalezas en el manejo de las operaciones derivadas de los controles en los procesos de las donaciones. • Determinación de Requerimientos: se utilizaran las técnicas de recopilación de datos (entrevistas, cuestionarios, observaciones) que nos permitan obtener la información necesaria para incluir las características y requerimientos del nuevo sistema. • Diseño: esta etapa tiene como objeto lograr la integración de los requerimientos del nuevo sistema, modelado con diagramas de flujo de datos (DFD). • Desarrollo de Sistema: en esta etapa se convierte el diseño en la solución propuesta por medio de su codificación, la herramienta de programación a utilizar dependerá del análisis y diseño previamente realizado. • Prueba de Sistema: Realización de la prueba piloto del sistema con el fin de asegurar que lo programado funciona correctamente y esta libre de errores. 21 • Implementación y Evaluación: Se instalará la nueva aplicación y los métodos del mantenimiento de la misma con el objeto que cumpla con las necesidades demandadas por los usuarios. 3.2 Métodos de Investigación Técnicas de Investigación • Entrevista con los encargados de la gerencia administrativa y área operativa del departamento de logística de la ONG "Visión Mundial El Salvador". Para identificar objetivos, opiniones, sentimientos y procedimientos informales en los entrevistados. • Recopilación de información a través de diferentes medios de comunicación, prensa escrita, revistas, libros e Internet y aportes personales. Instrumentos de la Investigación • Encuesta a las personas que laboran en las ONG y entidades de servicios del área metropolitana del departamento de San Salvador. Para obtener requerimientos de los futuros usuarios. • La observación y exploración de campo: para conocer el contexto organizacional. • Consultas a personas con conocimiento de la funcionabilidad de las entidades sin fines de lucro. 22 CAPITULO IV INVESTIGACIÓN PRELIMINAR 4.1 Marco contextual En El Salvador existen actualmente en promedio unas 195 fundaciones sin fines de lucro inscritas legalmente 1, quienes desarrollan una labor social y humanitaria loable, aunque unas con mayor eficiencia y eficacia que otras. La investigación del presente proyecto se realizó tomando como parámetro especifico a "Visión Mundial El Salvador". A continuación se describen los aspectos más relevantes de dicha Fundación: Ámbito de trabaio de Visión Mundial El Salvador (VMEL>2 Visión Mundial es un Organismo Privado de Desarrollo que ejecuta proyectos orientados al Desarrollo Transformador Sostenible en los catorce departamentos del país. • Desarrollo Transformador Sostenible (DTS): Fomenta un proceso de habilitación que permite a las personas descubrir dentro de sí mismas sus potencialidades y recursos en sus comunidades con el fin de lograr sus objetivos. La meta principal es el fortalecimiento de las capacidades locales con un enfoque integral que atiende las necesidades físicas, intelectuales y espirituales, que impulsen un desarrollo estable y sostenible. 1 Consejo Coordinador de Instituciones Privadas de Promoción Humana de El Salvador (CIPHES). 2 Estatutos de Visión Mundial El Salvador (VMEL) 23 • Programas de Desarrollo de Area (PDA): VMEL ha establecido 26 Programas de Desarrollo de Área (PDA) en el país, beneficiando a más de doscientos mil habitantes en las áreas de la salud, educación, desarrollo económico, espiritual, emergencia y rehabilitación y promoción de la justicia. Los PDA son una estrategia para alcanzar los objetivos del Desarrollo Transformador Sostenible, es decir, para desencadenar procesos de transformación humana, social, económica y política basada en valores cristianos y centrada en un mayor protagonismo de los pobres. • Desarrollo de la Niñez en el marco de la Familia: Los niños y niñas merecen especial atención entendiendo que son parte de la unidad básica de la sociedad, que es la familia porque: • Son los más vulnerables entre los pobres. • Son el futuro de cada comunidad y del país. El impacto del trabajo de DTS en los PDA se visualiza en: • Comunidades: Preparadas y organizadas para la gestión del desarrollo local, a través de Asociaciones de Desarrollo con personería jurídica propia, capaces de generar y levantar fondos, gerenciar, concretar alianzas con otras ONG, el gobierno y otros entes promotores del desarrollo. • Liderazgo local: Capacitado en gestión del desarrollo y formado con base en principios y valores éticos y espirituales, siendo buen testimonio para construir el Reino de Dios en la tierra. • Familias Patrocinadas Atendidas en sus necesidades básicas, sociales, espirituales y organizativas a través de programas y proyectos de salud, educación, desarrollo económico, formación espiritual y defensa de causas. 24 Areas de acción de Visión Mundial El Salvador (VMEL) Visión Mundial El Salvador contribuye al desarrollo sostenible del país a través de programas que promueven el desarrollo humano integral: • Salud: Este programa se orienta hacia la prevención, aplicando la estrategia de Atención Primaria de Salud (APS), a fin de que las comunidades con las que trabaja VMEL se apropien del control de su propia salud. La estrategia de la APS va acompañada de la Atención Integral de las Enfermedades Prevalecientes en la Infancia (AIEPI). • Educación: Se inicia con la población en edad preescolar, a través de los centros de educación preescolar no formal (CEPENF). Asimismo fomenta la educación primaria, asegurando que las niñas y niños de las comunidades la concluyan. En la medida que la población patrocinada avanza en la edad, se facilita la educación no formal con énfasis en oficios y formación de microempresas familiares. Este programa también desarrolla proyectos de capacitación para el trabajo, alfabetización, prevención y conservación ambiental a un nivel no formal con adultos. • Desarrollo Económico: A través de este programa ·se fortalecen los procesos de capacitación y formación empresarial para conformar unidades productivas de tipo social en la búsqueda de mayores niveles de ingresos y fuentes de empleo. Este esfuerzo se coordina con el Consejo Coordinador de Instituciones Privadas de Promoción Humana de El Salvador (CIPHES) como instancia que brinda apoyo financiero y asistencia técnica a microempresas y agricultores que funcionan en el área de influencia de los proyectos de VMEL. También se concretan alianzas con instituciones y ONG para fortalecer acciones en el área de Desarrollo Económico, con fines de sostenibilidad económica. 25 • Emergencia y Rehabilitación: Brinda auxilio en situaciones de emergencia y ejecuta proyectos de rehabilitación integral en las comunidades que opera. La misión de Visión Mundial El Salvador (VMEL) Visión Mundial El Salvador (VMEL) forma parte de la Confraternidad de Visión Mundial Internacional, la que fue fundada en 1950 por el Doctor Bob Pierce para ayudar a los niños huérfanos de Corea. Desde entonces ha ampliado sus objetivos y extendido sus operaciones en aproximadamente 100 países. En El Salvador comenzó a operar en 1975 como urgente respuesta a las necesidades causadas por el inminente conflicto armado, brindando apoyo directo a los afectados. Se estableció como Oficina Nacional en 1979, obteniendo luego su Personería Jurídica mediante la resolución No. 15 de la Dirección General del Registro del 6 de noviembre de 1980 y modificada en 1999. Los valores de Visión Mundial El Salvador • Personas Cristianas • Están Comprometidos con los Pobres • Valoran a las Personas • Son Mayordomos • Son Socios 26 4.2 Identificación de problemas De acuerdo con la información brindada en la ONG "Visión Mundial El Salvador" 3 los procedimientos que actualmente se realizan para manejo de las donaciones son manuales; es decir que dicha Fundación no cuenta con un sistema Informático adecuado a sus necesidades operativas actuales en los siguientes aspectos: • Catalogo de Proveedores • Catalogo de Donantes • Catalogo de Beneficiarios • Historial de recepción - entrega de donaciones • Estadísticas de existencias de donaciones en bodegas • Control del procesamiento de la información en tiempo real Un registro automatizado que contribuya a determinar la procedencia de las donaciones. • Un registro de la ayuda que se entrega. • Una bitácora de las donaciones recibidas en "Visión Mundial El Salvador". • Presentar reportes estadísticos actualizados del proceso de recepción - entrega de donaciones, tales como: entrada y entrega de donaciones, consolidado de las donaciones recibidas y entregadas por rango de fecha. En el departamento de sistemas informáticos de la ONG se verificó la existencia de una red que se extiende por todos los departamentos de la Fundación, también llamada red de área local. Poseen la arquitectura de red cliente - servidor, la cual permite mantener centralizada la información, cuentan con un servidor de base de datos y algunas aplicaciones de software que son accesadas por las diferentes computadoras clientes que están conectadas en la red. 3 Jefe del departamento de logística de la ONG. 27 Los sistemas computarizados que operan actualmente en "Visión Mundial El Salvador" son los siguientes: • Sistema para el manejo de recursos humanos, es decir la administración de la planilla de empleados. • Sistema para la administración de los recursos financieros y presupuesto de la ONG. • Mensajería interna y externa configurado con la aplicación de software Lotus Notes Server 5. 4.3 Oportunidades de mejoras Entre las oportunidades de mejora para el actual procedimiento de recepción y entrega de donaciones, se tiene que la ONG debe contar con un sistema informático fácil de usar y que cumpla con las funciones siguientes: • Automatice los procesos que se realizan para el control de la recepción, almacenamiento y entrega de donaciones. • Confiabilidad y seguridad en el procesamiento de la información, a través del control de usuarios válidos. • Facilidad de operación del sistema para la elaboración de consultas oportunas y la generación de reportes estadísticos. Además, el sistema propuesto debe permitir la integración y centralización de los datos a través del servidor de base de datos; así como también la ínterconectividad entre los diferentes dispositivos de la red local. Debido a lo anterior es que se plantea el desarrollo del sistema en una arquitectura de red de tipo cliente - servidor, donde el servidor administra los recursos (base de datos, aplicaciones, seguridad). Y el cliente solicita los servicios, así como los accesos definidos y permitidos. CAPITULO V DETERMINACIÓN INFORMACIÓN 5.1 Situación Actual DE LOS 28 REQUERIMIENTOS DE Actualmente la ONG "Visión Mundial El Salvador" realiza los procesos de recepción de donaciones de forma manual, esto dificulta la eficacia en la toma de decisiones y no permite procesar la cantidad y calidad de información en el momento oportuno. En el Departamento de Logística se administra la información referente a las donaciones, en formularios y reportes escritos en papel (archivos físicos). También, se ha determinado que parte del problema actual es que los departamentos o unidades de la ONG no pueden tener acceso inmediato y continuo a la información generada en la Jefatura de Logística, debido a que los datos son archivados en papel, haciéndolos difícil de consultar, permitiendo así una significativa retraso para obtener los reportes estadísticos requeridos. Hardware v software actual En la ONG "Visión Mundial El Salvador" se dispone de una red local con topología de estrella, la cual interconecta a 25 computadoras personales y otros dispositivos de red, tales como: impresor, concentrador (hub) y enrutador (router), esto de acuerdo a la persona que ostenta el cargo de programador analista de la mencionada ONG. Por lo tanto, el Sistema de Administración de Donaciones (SAO) propuesto funcionará en los departamentos de Logística y Sistemas, los cuales cuentan con el siguiente equipo informático: Departamento de Logística de la ONG: 3 PCs Procesador Pentium Mmx Disco Duro 1.96 Gb 32 MB RAM Kit Miltimedia Tarjeta de Red Ethernet 10/100 Mouse Serial Teclado Genérico Tabla 1 .. 1.~ Microsoft Office Professional 97 Funcional lntenet Explorer 5.0 Microsoft Windows 98 Segunda Edición 29 Fuente: Analista Programador de la ONG "Visión Mundial El Salvador'' Departamento de Sistemas de la ONG: 3PCs Procesador Pentium 11 Disco Duro 4.3 Gb 64 MB RAM Teclado Genérico Mouse PS/2 CD ROM Tar"eta de Red Ethernet 10/100 Pentium MMX 166 Disco Duro 3.2 Gb 32 Mben RAM CD ROM Tarjeta de Red Ethernet 10/100 Teclado Genérico Mouse Seriales Tabla 2 Microsoft Windows 2000 Server Funcional Browser Internet Explorer 5.0 Microsoft Office Professional 97 SQL 2000 Server Microsoft Office Professional 97 Funcional Browser Internet Explorer 5.0 Microsoft Windows 98 Segunda Edición Fuente: Analista Programador de la ONG "Visión Mundial El Salvador" * Un Servidor es el utilizado como controlador de dominio principal y el otro es ocupado como respaldo ante cualquier falla del primero. Requerimientos mínimos para implementar SAO en el servidor Procesador Pentium 11 Disco Duro 4 Gb Memoria 64 MB RAM arjeta de Red Ethernet 101100 Mouse eclado Genérico Microsoft Windows 2000 Server Microsoft SQL 2000 Server Tabla 3 Requerimientos mínimos para las PC's Clientes de SAO ': fl·, '!:11: ,, ,, .. ~ "~ , , Procesador Pentium 166 Mhz Disco Duro 2 Gb 32 MB RAM arjeta de Red Ethernet 10/100 Mouse eclado Genérico Server Licencia Windows 2000 Server Licencia SQL Server 2000 Total Tabla 4 Fuente: PC World Alio 7 Numero 3 Marzo 2002. 571 2,000 1,500 US$4585,71 30 31 5.2 Procesos de la Situación Actual Diagrama de proceso actual para Recepción y Almacenamiento de Donaciones Entrega de Ayuda Con su respectivo Amparo con Documentos Donación Dpto. Logística(ONG) Registro y detalle Manual de Donaciones Registro Manual Registro de Dinero Bodegas Figura 6 Formato utilizado para la Recepción de Donaciones Visión Mundial Donativo de Externos Donación: Fecha: 32 ---------------- ------- Artículo Cantidades Bodeaa Recibido por: Autorizado: Figura 7 33 Formato utilizado para la Entrega de Donaciones Visión Mundial Donativo de Visión Mundial entregado a: No. De familias beneficiadas: --Proyecto: ________ _ Artículo Cantidades Entregado por logística: Recibido por: Recibido en proyecto por: Gerente: --------- Junta local: ·----- Figura 8 Diagrama de procesa actual para entrega de ayuda Solicitantes de Ayuda Bodegas 1]:macenam~ntn Proveedores Disponibilidad Figura 9 Consulta Registro y Detalle Manual de Donaciones Registro de Dinero 34 35 CAPITULO VI ANÁLISIS DE LAS NECESIDADES DEL SISTEMA 6.1 Diagrama de Flujo de Datos imbología: Entidad : Archivo Manual e= -----••: Flujo de Información Donantes Proveedores Datos Datos Donación Compra Solicitantes De Ayuda Solicitud Departamento Verifica ., , ~ ' Logística Existencia .... Artículos .... Al Donados o Y Donación Monetaria Entrega ~ ' Disponibilidad Bodegas Figura 10 36 Descripción de las entidades • Solicitantes de ayuda (Beneficiarios): son todas las personas, comunidades o instituciones que solicitan ayuda. • Departamento de Logística: unidad de la ONG encargada de la recepción de las solicitudes de los beneficiarios, además debe verificar la existencia de donaciones, evaluar la necesidad de realizar compras a los proveedores o la no disponibilidad de lo solicitado. • Bodega: lugar físico donde se almacena o guarda la mercadería a donar. • Proveedores: son las empresas que nos proporcionan los bienes que no se disponen en las bodegas. • Donantes: son todas aquellas personas naturales o jurídicas que proporcionan bienes materiales y económicos a la ONG. El diagrama de flujo de datos anterior, muestra claramente que la Organización Visión Mundial, actualmente no cuenta con un sistema automatizado, lo que significa que todos los procesos involucrados en la recepción, almacenamiento y entrega de ayuda son realizados manualmente, en ese sentido las dificultades que se tienen son sensibles, y se pueden mencionar por ejemplo las siguientes: • Falta de información confiable. • Falta de un Registro de los proveedores • Ausencia de un Registro de Donantes • Falta de control de lo que se posee en las bodegas • No existe una clasificación de los suministros donados como por ejemplo: Medicamentos, Vestimenta, Alimentos y Bebidas CAPITULO VII DISEÑO DEL SISTEMA RECOMENDADO 7 .1 Diagrama de contexto Simbología: º:Entidad ---1111li.•: Flujo de Datos Donantes Datos de Donación ~ : Almacenamiento. bd :Proceso Solicitantes de Ayuda Datos de Petición ~, Proveedores Datos de compra de artículos í ' Figura 11 .... ... ..... .... ,~,., ~• . ' riP n:itnc, Almacén de Datos Actualización De información de Donaciones SAD Sistema de Administración de Donaciones ... ..... ... ..... Niveles de Inventario Emisión de Reportes Para toma de Decisiones Depto. Logística Bodegas 37 7.2 Diagrama de Nivel O : Entidad : Almacenamiento e= ----•• :Flujo de Información ~:Prorero Donantes Al Dpto. Logistica Proceso Registra Registro de Ayuda Monetaria Sistema De Administración de Donaciones egistra A2 Registro de Donaciones y Detalle de sus Productos ~ , / Almacenamiento c.a.n Bodegas De Productos Sistema ~ ..... De Administración de Donaciones \... Figura 12 38 39 7 .3 Diagrama de Nivel 1 : Entidad : Almacenamiento o== : Flujo de Datos : Proceso bd Requisición , ' Consulta .... ... SAD Solicitantes .... .... de Ayuda Depto. Sistema Logística -De .4 ~ Administración .4 l de Donaciones '- / Entrega No Disponiblt i ~onsulta r ' ..... ... SAD .... Bodegas .... Registro de Donaciones y Descarga de Disponible A; Detalle de sus Productos Inventario En Bodegas En Existencia. '- / J l , ' ~ r SAO Ali Registro de Ayuda Cargar al monetaria Inventario '- _,, Existen Fondos ~ , r ' SAD Proceso de ... Compra Proveedores .... No hay ayuda Disponible Figura 13 40 7 .4 Plataforma de software a utilizar 7.4.1 Herramienta de Desarrollo: Microsoft Visual Basic 6.0 Visual Basic es el lenguaje de programación más sencillo que permite crear aplicaciones para Windows. Visual, este término hace referencia a que no todo lo que se realice tiene porqué estar relacionado con programar o con código. La mayoría de aplicaciones Windows, así como otros programas, emplean una interfaz gráfica de usuario (GUI), consistente en una o más pantallas llenas de objetos, menús, botones, líneas y cuadros de edición. La programación orientada a objetos y manejada por eventos es perfecta para el desarrollo de aplicaciones Windows. Visual Basic proporciona un ambiente de desarrollo donde el trabajo con objetos y eventos llega a ser un proceso directo, y lo más importante, bien estructurado. Programación con clases en entorno de Visual Basic Los objetos de Visual Basic se crean a partir de clases; así, un objeto se dice que es una instancia de una clase. La clase define las interfaces de un objeto, si el objeto es público y en qué circunstancias se puede crear. Las descripciones de las clases se almacenan en bibliotecas de tipos y se pueden ver con examinadores de objetos. Los objetos están encapsulados; es decir, contienen su propio código y sus propios datos, lo cual facilita su mantenimiento más que los métodos de escritura de código tradicionales. Los objetos de Visual Basic además tienen propiedades, métodos y eventos. Las propiedades son los datos que describen un objeto. Los métodos son lo que puede hacer con el objeto. Los eventos son tareas que realiza el objeto; puede escribir código para que se ejecute cuando se produzca un determinado evento. 41 • Agregar propiedades a una clase La forma más sencilla de definir las propiedades de una clase es agregar variables públicas al módulo de clase. Es muy fácil, tanto como crear los datos privados de una clase; simplemente declare una variable Prívate y sólo será accesible desde el código del módulo de clase. • Agregar métodos a una clase Los métodos de una clase son como los procedimientos Sub o Function públicos que suele declarar. Como los procedimientos Sub y Function son públicos de forma predeterminada, ni siquiera tiene que especificar explícitamente la palabra clave Public al crear un método. Características principales de Microsoft Visual Basic 6. O 1) Se enfoca en la productividad y rendimiento • Permite el desarrollo rápido de aplicaciones con componentes. • Facilita la elaboración de aplicaciones más rápidas. • Es posible optimizar la velocidad y el tamaño de las aplicaciones. • Es posible realizar la conexión de aplicaciones y componentes sin necesidad de seguir una administración de conexión manual. 2) Permite crear fácilmente aplicaciones de bases de datos • Es posible desarrollar rápidamente diferentes formatos con muchos datos. • Permite la creación de componentes de acceso de datos reutilizables donde automáticamente se aprovecha la unión de datos. • Facilita la elaboración de aplicaciones cliente/servidor que trabajen con bases de datos, ya sea que estén conectadas a LAN (Red de Área Local) 42 7.4.2 Base de Datos: Microsoft SQL Server 2000 SQL Server es un sistema administrador para bases de datos relacionales basadas en la arquitectura cliente - servidor (RDBMS) que usa Transact-SQL para mandar peticiones entre un cliente y el SQL Server. El hecho que sea cliente - servidor implica que SQL se ha diseñado para almacenar datos en un lugar central conocido como Servidor y distribuirlos hacia otros sistemas llamados Clientes. SQL Server usa la arquitectura cliente - servidor para separar la carga de trabajo en tareas que corran en computadoras tipo servidor y tareas que corran en computadoras tipo cliente. SQL Server administra bases de datos y distribuye los recursos disponibles del servidor (tales como memoria, operaciones de disco) entre las múltiples peticiones. Diagrama esquemático de la arquitectura cliente - servidor Cliente Figura 14 ~eiafroneI Derebase Management 9ystem Fuente de Información: Sitio Web http://www.microsoft.com/sql/techinfo/productdoc/2000/ Características principales de Microsoft SQL Server 2000 1. Facilidad de instalación, distribución y utilización 43 Muchas de las bases de datos que son capaces de mantener todas las necesidades de procesamiento de una empresa o cualquier otra institución, son complejas y difíciles de administrar. Microsoft® SOL Server 2000™ incluye muchas herramientas y características que simplifican las capacidades para instalar, distribuir, administrar y utilizar bases de datos. 1. 1 Auto administración dinámica La versión 2000 de SOL Server se vuelve a configurar automática y dinámicamente mientras se ejecuta. Si se realiza más trabajo en SOL Server, puede adquirir recursos adicionales dinámicamente, como, por ejemplo, más memoria. A medida que la carga de trabajo disminuye, SOL Server libera recursos para devolverlos al sistema. Si se inician otras aplicaciones en el servidor, SQL Server detecta las asignaciones adicionales de memoria virtual y reduce su utilización de memoria virtual para reducir la sobrecarga de paginación. SOL Server también puede aumentar o disminuir automáticamente el tamaño de una base de datos cuando se insertan o eliminan datos. 1. 2 Conjunto completo de herramientas administrativas SQL Server ofrece diferentes herramientas para administrar los sistemas: • El Administrador corporativo de SOL Server es un complemento de Microsoft Management Console (MMC). • El Agente SQL Server permite la definición y programación de tareas que se ejecutan periódicamente o en la forma programada. También permite alertar a los administradores cuando ocurren ciertas condiciones de advertencia y puede incluso programarse para efectuar una acción correctora. 44 • El Analizador de SQL Server ofrece a los administradores una herramienta sofisticada para supervisar y analizar las transferencias de red hacia y desde un servidor que ejecuta SQL Server. También analiza sucesos de los servidores, como la adquisición de bloqueos. • El Monitor de rendimiento de SQL Server integra los contadores de SQL Server en el Monitor de rendimiento de Windows 2000, lo que permite supervisar y ver gráficamente el rendimiento de SQL Server con la misma herramienta que se utiliza para supervisar los servidores • El Asistente para optimización de índices puede analizar cómo una instrucción o grupo de instrucciones SQL utilizan los índices existentes en un conjunto de tablas. 2. Escalabilidad El mismo motor de base de datos de Microsoft® SQL Server™ funciona en Microsoft Windows 95 y 98, Microsoft Windows NT® Workstation, Windows NT Server y Windows 2000 Server. El motor de la base de datos es un servidor robusto que puede administrar bases de datos del tamaño de terabytes a las que tienen acceso miles de usuarios. Al mismo tiempo, cuando se ejecuta con su configuración predeterminada, SQL Server dispone de características tales como la optimización automática y dinámica que le permite funcionar de forma efectiva tanto en equipos portátiles como de sobremesa, sin molestar a los usuarios con tareas administrativas. 3. Almacenamiento Microsoft SQL Server presenta varios componentes que mejoran la capacidad de crear almacenes de datos que responden de forma efectiva a las necesidades del proceso del soporte de ayuda a la toma de decisiones. 4. Integración del Sistema Microsoft® SOL Server™ se integra con otros productos y entornos Microsoft. 45 4. 1 Seguridad integrada con la seguridad de Windows 2000 SQL Server permite que se utilicen cuentas de dominio y de usuario de Windows 2000 Server como identificadores de inicio de sesión de SQL Server. Esto se conoce como la autenticación de Windows. Los usuarios son validados por Windows 2000 cuando se conectan a la red. Cuando se establece una conexión a SQL Server, el software cliente de SQL Server pide una conexión de confianza, que sólo se puede conceder si los usuarios han sido validados por Windows 2000. De esta forma, SQL Server no tiene que validar al usuario por separado. Los usuarios no tienen que tener inicios de sesión y contraseñas separadas para cada sistema SQL Server al que se conectan. 4.2 Integración del correo SQL Server puede enviar y recibir correo electrónico y paginas de Microsoft Exchange o de otros servidores de correo compatibles con MAPI. Esto permite a los procedimientos almacenados o desencadenadores de SQL Server enviar correo electrónico. Los sucesos y alertas de SQL Server se pueden establecer para que envíen correo electrónico o mensajes a un localizador automáticamente a los administradores del servidor en el caso de que se produzcan problemas graves o pendientes de resolver. SQL Server también puede aceptar correo electrónico que contenga una instrucción SQL. SQL Server ejecutará la instrucción y enviará el resultado utilizando un correo electrónico de respuesta, con una lista CC: opcional. Modelo cliente - servidor utilizado por SAD 1. Inicios de Sesión En la mayor parte de los casos, una aplicación sólo necesita dos datos para conectarse a Microsoft® SQL Server™: • El nombre de red del servidor que ejecuta SQL Server • El identificador (Id.) de inicio de sesión 46 Los identificadores de inicio de sesión son los identificadores de cuenta que controlan el acceso a la base de datos Vision sobre la cual esta montada el Sistema de Administración de Donaciones (SAO). No se establecerá la conexión a menos que se haya comprobado que el identificador de inicio de sesión especificado es válido. A la comprobación del inicio de sesión se le llama autenticación. Hay dos tipos de autenticación en SQL Server, cada una de ellas tiene una clase distinta de identificador de inicio de sesión: • Autenticación de SQL Server Un miembro Administrador del servidor especifica primero en SQL Server todas las cuentas y contraseñas de inicio de sesión válidas. Estas cuentas no están relacionadas con la cuenta de Microsoft Windows®2000 Server o la cuenta de red. Al conectar con SQL Server, tiene que suministrar el inicio de sesión de SQL Server y la contraseña. Queda identificado en SQL Server por el inicio de sesión de SQL Server. • Autenticación de Windows Igual el administrador tiene que especificar primero en SQL Server todas las cuentas de usuario o de grupo de Microsoft Windows 2000® que se pueden conectar a SQL Server. Cuando se utiliza la autenticación de Windows, no hay que especificar el identificador de inicio de sesión, ni la contraseña, para conectar con SQL Server. El acceso a SQL Server está controlado por la cuenta de usuario o de grupo de Windows 2000 Server, que se autentica cuando se inicia la sesión en el sistema operativo Windows del cliente. Al establecer la conexión, el software de cliente de SQL Server solicita a SQL Server una conexión de confianza de Windows 2000 Server. Windows2000 Server no abrirá una conexión de confianza a menos que el cliente haya iniciado la sesión correctamente con una cuenta. 47 El método de autentificación utilizado en SAO es el de autentificación con Windows. • Modo mixto Si un usuario suministra el Id. de inicio de sesión al conectar con SQL Server, quedan autenticados mediante la autenticación de SQL Server. Si no suministran el Id. de inicio de sesión de SQL Server, quedan autenticados mediante Windows. 2. Componentes del Cliente Los usuarios no tienen acceso a Microsoft® SQL Server™ directamente; en lugar de ello, utilizaran una aplicación diseñada para tener acceso a los datos de SQL Server que en este caso es SAO. Las aplicaciones tienen acceso a SQL Server a través de una interfaz de programación de aplicación (API) de la base de datos. SQL Server proporciona soporte nativo para dos grandes clases de API de bases de datos: • OLEDB SQL Server incluye un proveedor OLE DB nativo. El proveedor acepta aplicaciones que utilicen OLE DB u otras API que utilicen OLE DB, como ActiveX Data Objects (ADO). A través del proveedor nativo, SQL Server también acepta objetos o componentes que utilicen OLE DB, como ActiveX, ADO o aplicaciones Windows DNA. • ODBC SQL Server incluye un controlador ODBC nativo (ver figura 15). El controlador acepta aplicaciones o componentes que utilicen ODBC, u otras API que utilicen ODBC, como DAO, ROO y las clases de bases de datos de Microsoft Foundation Classes (MFC). 48 Diagrama del procedimiento ejecutado en el componente cliente utilizando ODBC Equipo cliente - - - - - - - - - -- - - - -- - - - -- - - - - -, Aplicación Aplicación Aplicaciones de Aplicación de OLE DB ODBC biblioteca de BD SQL incrustado Pr011eedor Controlador DLL de biblio- DLL de biblio- OLE DB ODBC tecas de BD de tecas de BD de de SQL Server de SQL Sen1er SQL Server SQL Server Biblioteca de red de el iente ·------------------------------ ----------------------------' Red SQL Server ' 1 ------------------- Figura 15: Componente cliente ODBC 3. Componente de Comunicación Microsoft® SQL Server™ acepta un método de comunicación entre la aplicación cliente y el servidor, esto es para cuando la aplicación está en un cliente separado (computador aparte), se utiliza un IPC (lnterProcess Communication) de red para comunicar con SQL Server. Los IPC tienen dos componentes: • Interfaz de programación de aplicaciones (API) Una API es la definición del conjunto de funciones invocadas desde cualquier software que utilice el IPC. 49 • Protocolo El protocolo define el formato de la información enviada entre cualquiera de los dos componentes que se comunican a través del IPC. En el caso de los IPC de red, el protocolo define el formato de los paquetes enviados entre los dos equipos que utilizan el IPC. Esquema de los diferentes componentes de comunicación Equipo diente ' ' --;.,;,~;,.~;ó~ ---- OLEDB · Pro yeedor OLE ' DB para SQLSer. Biblioteca de red canalizaciones con nombre de cliente --------~ ------ Equipo servidor Red NWLink ' ' - - ;.,;~i~;c~¡; - - - ODBC Controlador ODBC SQL Ser, Biblioteca de red , __ ~u~~i~~f~~~I~ _ ~e Red NetBEUI Biblioteca de red multiprotocolo de serYidor SerYicios abiertos de datos SQLSerYer ;;,i:_:~i~~;s- ~: - - biblioteca de BD ' ; DLL de biblio, : de BD SQL Ser, ·~~--L---~ : Biblioteca de red • de sockets TCRo'IP : de cliente ' ------- -------- Red TCP/IP Biblioteca de red de sockets "TI:P/IP de serYidor ·------------------------------------------------------------------ Figura 16: Componentes de comunicación en SQL 2000 Server 4. Componente Servidor Además de las bibliotecas de red del servidor, Microsoft® SQL Server™ tiene varios componentes de servidor (servicios) importantes: • Servicios abiertos de datos • SQL Server (servicio MSSQLServer) • Agente SQL Server (servicio SQLServerAgent) • Servicio Microsoft Search 50 • Coordinador de transacciones distribuidas de Microsoft (servicio MS DTC) Cuando SQL Server se ejecuta en Microsoft Windows 2000 Server, el Agente SQL Server y MS DTC se implementan como servicios de Windows. En Microsoft Windows® 95 y 98, los componentes del servidor no están implementados como servicios porque el sistema operativo no acepta servicios. Los componentes del servidor se pueden detener e iniciar de varias maneras: • Windows 2000 Server puede iniciar los servicios automáticamente al iniciar el sistema operativo. • Utilice el Administrador de control de los servicios de SQL Server para iniciar o terminar el servicio. • Utilice el Administrador corporativo de SQL para iniciar o terminar el servicio. Principales criterios que determinan la utilización de SQL Server 2000 y Windows 2000 Server. • Son productos robustos y estables. • La ONG "Visión Mundial El Salvador" posee licencia de dichos productos, otorgados mediante una donación por parte de Microsoft de El Salvador. • Son productos propietarios de Microsoft, un proveedor cuya solvencia y estabilidad es de lo mejor en la actualidad, y que es capaz de dar soporte en tiempo real. 51 Principales criterios que determinan el uso de Visual Basic 6. O El sistema de administración de donaciones (SAO) debe ser una solución integral por lo que se ha realizado su desarrollo basado en clases. Lo que significa que el sistema se puede modificar y no se vería afectada en lo absoluto la productividad, esto por el concepto de encapsulamiento de los objetos. Se ha escogido Visual Basic como plataforma de desarrollo porque es un lenguaje que permite generar e implementar clases de manera fácil y robusta, además Visual Basic 6.0 es la versión que mejor hace uso de las clases de objetos. 7.4.3 Componente True DBGrid 5.0 Pro True DBGrid es un componente active X diseñado para trabajar con Visual Basic versiones 4.0, 5.0 y 6.0 y fue desarrollado por la empresa Apex Software Corporation. True DBGrid es una actualización del control DBGRID incluida en Visual Basic. Se ha decidido utilizar este componente porque hace más amigable el trato entre el sistema y el usuario final ya que les facilita editar, agregar, y borrar datos todo dentro de una misma celda del grid (registro estructurado de datos en celdas) y además porque presenta las siguientes características: • Compatibilidad: True DBGrid 5.0 soporta todas las características del Microsoft Data Bound Control (DBGRID). • Actualización fácil de datos: los registros se pueden cambiar en el grid y automáticamente son actualizados en la Base de Datos. • Maneja bases de datos de cualquier tamaño. • Trabaja con todos los formatos de bases de datos soportados por Visual Basic 6.0 52 7.4.4 Componente Crystal Report B.O Crystal Report® es un software desarrollado por la empresa Seagate. Se decidió usar este programa en el proyecto SAO porque permite acoplar los reportes a las exigencias de los usuarios y además facilita el análisis de la información. También es el más reconocido entre los programas de escritura de informes para Windows®, posee la mayor facilidad de empleo, flexibilidad y poderosa tecnología de reportes en la actual versión 8. Los informes cristalinos de Seagate están disponibles en tres ediciones Estándar, Profesional y Desarrollador para resolver las diversas necesidades de los usuarios de negocios, de los profesionales de tecnología y de los desarrolladores del negocio. 7.4.5 Power Designer 6.0 Power Designer es una poderosa herramienta para el diseño de bases de datos que permite: • Modelar un sistema de información usando diagramas de entidad - relación, esto también es conocido como CDM (Conceptual Data Model). • Generar el correspondiente Phisical Data Model (PDM) para un sistema administrador de base de datos como SQL Server, esto a partir del CDM. • Generar un script para la creación de base de datos en SQL Server. Simbología estándar utilizada para el diseño de base de datos del proyecto SAO (Sistema de Administración de Donaciones): D : Entidad o Tabla ----• : Indica la relación de tabla padre a hija 53 7 .5 Tecnología utilizada para la conexión de la base de datos con la aplicación de software en SAO La tecnología de conexión utilizada en el proyecto es RDO (Remote Data Objects) debido a que es la herramienta recomendada para acceder a SQL Server remotamente. A continuación se muestra la interfaz (RDO) para acceder a la base de datos Vision, que funciona en SQL 2000 Server, desde la aplicación cliente que esta desarrollada en Visual Basic 6.0: Aplicación de Visual Basic (GUI SAO) Control Remate Data ROO Administrador de Controladores de ODBC Controlador ODBC de SQL Server SQL Server 2000 (Vision) Figura 17 54 El modelo de objetos RDO incluye varios objetos, propiedades y métodos diseñados específicamente para funcionar con procedimientos almacenados y sus argumentos, parámetros de entrada y salida, y valores de estado de retorno. Hay diez objetos en el modelo de objetos de RDO, como se describe en la lista siguiente. • Objeto rdoEngine El objeto base de RDO. Este objeto se crea automáticamente la primera vez que tiene acceso a RDO en su aplicación. • Objeto rdoError Controla todos los errores y mensajes de ODBC generados por RDO. Este objeto se crea automáticamente. • Objeto rdoEnvironment Define un conjunto lógico de conexiones y de alcance de transacciones para un nombre de usuario determinado. Este objeto contiene conexiones abiertas y asignadas (pero sin abrir), proporciona mecanismos para transacciones simultáneas y define un contexto de seguridad para operaciones en la base de datos. Este objeto se crea automáticamente. • Objeto rdoConnection Representa una conexión abierta con un origen de datos remoto o una conexión asignada que aún no se ha abierto. • Objeto rdoQuery Una instrucción de consulta SQL con cero o más parámetros. • Objeto rdoColumn Representa una columna de datos, que incluye el tipo de datos y las propiedades comunes. • Objeto rdoParameter Representa un parámetro asociado a un objeto rdoQuery. Los parámetros de consulta pueden ser de entrada, de salida o ambos. • Objeto rdoResultset Un conjunto de filas devueltas de una consulta. • Objeto rdoTable Representa la definición de base de datos almacenada de una tabla o vista. 55 • Objeto rdoPreparedStatement El objeto rdoPreparedStatement contiene una instrucción SQL preparada y una colección de objetos rdoParameter. El objeto rdoPreparedStatement es obsoleto (aunque aún se admite). RDO es una manera popular de generar un acceso a datos eficaz a bases de datos relacionales ODBC. Con RDO, puede crear conjuntos de resultados sencillos sin cursor, o con cursores de proceso por lotes más complejos o con cursores de cliente. Puede limitar el número de filas devueltas y supervisar todos los mensajes y errores generados por el origen de datos remoto sin comprometer la ejecución de la consulta. Una de las características más importantes de RDO es la capacidad de administrar consultas y procedimientos almacenados que devuelven múltiples conjunto de resultados. Esta característica se utiliza normalmente cuando hay que cargar múltiples controles (como cuadros combinados) con datos de múltiples tablas. Esta característica elimina el procesamiento redundante y la sobrecarga de tráfico de red debido a usar muchas consultas independientes. La mayoría de los métodos de RDO se pueden ejecutar de forma síncrona, asíncrona o mediante el uso de procedimientos de evento para notificar al código cuándo se han completado las operaciones o cuándo están a punto de ejecutarse. Con las operaciones asíncronas y los procedimientos de eventos, su aplicación puede realizar otros trabajos mientras se ejecutan consultas de larga duración. Una aplicación basada en RDO utiliza las operaciones siguientes para tener acceso a un origen de datos: • Establecer el controlador de entorno Identifica la ubicación de la memoria para datos globales e información de estado para las conexiones definidas. 56 • Abrir la conexión Especifica la cadena de conexión con información como el nombre del origen de datos, la identificación del usuario, la contraseña, la base de datos predeterminada, el nombre de red del servidor origen de datos y el nombre del controlador del origen de datos. • Abrir el conjunto de resultados Ejecuta una consulta y crea un conjunto de resultados. • Utilizar el conjunto de resultados El conjunto de resultados se encuentra ahora disponible para su aplicación. En función del tipo de cursor, puede examinar y modificar los datos del elemento en el servidor o en el cliente. • Cerrar la conexión Cancela la conexión con el origen de datos. • Liberar el controlador de entorno Cancela los datos globales y libera toda la memoria asociada. Con RDO puede crear código independiente de la base de datos que se adapte automáticamente a varias bases de datos de ODBC. Remote Data Objects (RDO) está diseñado específicamente para tener acceso a orígenes de datos relacionales remotos y facilita el uso de ODBC sin código de aplicación complejo. RDO es un medio principal de tener acceso a bases de datos de SQL Server o a cualquier base de datos relacional expuesta con un controlador ODBC. Las características generales de RDO son: • Simplicidad (en comparación con la API de ODBC). • Alto rendimiento con los orígenes de datos ODBC remotos. • Control de cursores mediante programación.· • Cursores complejos, incluyendo cursores de proceso por lotes. 57 • Capacidad de devolver múltiples conjuntos de resultados a partir de una única consulta. • Ejecución de consultas síncrona, asíncrona o controlada por eventos. • Objetos reutilizables con propiedades modificables. • Capacidad de exponer controladores ODBC subyacentes (para aquellas funciones que no controla ROO). • Detección de errores excelente. 7 .6 Costos del Proyecto • COSTOS DIRECTOS Desarrollo y Documentación Programadores del Software Implementación del Sistema Programadores Tabla 6 2 4,000 3 24,000 2 4,000 1 8,000 Total de Costos Directos----------------- é56,000 = US$6,400 • COSTOS INDIRECTOS - Carga Social (AFP, ISSS) = Sub Total Costos Directos *14.25% = ~56,000*(0.1425)= ,t 7,980 /SSS = 7. 5% y AFP = 6. 75% 58 - Servicios Básicos (Agua, luz, Teléfono) = Subtotal Costos Directos*12% = ~56,000*0.12 = ~6,720 12% Valor Estimado de consumo de servicios básicos - Otros Gastos, Papelería, Imprevistos= Subtotal Costos Directos*10% = ~56,000*0.1 O = ~5,600 10% Valor Estimado de otros gastos Total de Costos Indirectos= ~7,980 + ~6,720 + ~5,600 = é20300 = US$2,320 Total de Costos = Costos Directos + Costos Indirectos = ~56,000 + ~20,300 e Total de Costos = 1176,300 = US$8,720 59 CAPITULO VIII CONCLUSIONES, RECOMENDACIONES Y ANEXOS 8.1 Conclusiones • Para el desarrollo de SAO se ha cimentado la investigación en la ONG "Visión Mundial El Salvador"; sin embargo cabe mencionar que es posible adaptarlo a cualquier otra ONG o entidad de servicio que realice procesos similares. • Los procesos que se realizan actualmente para el manejo de las donaciones en la mayoría de ONG y entidades de servicio son ejecutados de forma manual, permitiendo un descontrol de la información y esto genera una significativa ineficiencia en la canalización de las ayudas. • El modelo de clases generado con la herramienta de desarrollo Microsoft Visual Basic 6.0 permite que el sistema sea modificado y adaptado a necesidades futuras en la ONG. • Básicamente el único requisito para continuar desarrollando en SAO es conocer la programación de procedimientos almacenados en SQL Server, ya que el modelo de objetos de Visual Basic esta estructurado para minimizar los cambios en la parte del cliente (Front-End). • La información generada por el sistema mediante los reportes impresos y consultas en pantalla, permitirá a los ejecutivos y mandos medios de la ONG tomar decisiones oportunas que contribuyan a la consecución de objetivos. 60 8.2 Recomendaciones • Implementar una infraestructura de red que proporcione confiabilidad en la transferencia de datos entre el equipo servidor y el cliente. • Utilizar la aplicación SAO como una herramienta útil para la administración efectiva de la información. • Creación de nuevos perfiles de usuarios para un mayor control de los accesos al sistema de administración de donaciones. 61 8.3 Glosario A • Análisis de Sistemas: Busca estudiar sistemáticamente la entrada y flujo de datos, el proceso de transformación y almacenamiento de los mismos, y la salida de la información dentro del contexto de una organización o entidad. Además permite recopilar e interpretar los hechos, diagnosticar los problemas y utilizar estos hechos a fin de hacer mejoras. B • Base de datos: Es una colección integrada de datos. Una base de datos bien diseñada debe minimizar la cantidad de información redundante. La base de datos es el componente estructural clave en el diseño de sistemas de información. Es la principal fuerza de integración del sistema de información de una organización. Debe lograrse un buen ajuste entre las necesidades de procesamiento y de toma de decisiones de la organización y la estructura y composición de la base de datos. e • Cuestionario: es un formulario impreso utilizado para obtener respuestas sobre el problema en estudio. Facilita la recolección de la información ya que el cuestionario es llenado por otra persona a través de la encuesta. • Cliente: son PC's conectadas a la red a través de las cuales se puede acceder a los recursos compartidos en dicha red, como por ejemplo: discos, impresores, archivos, etc. Un cliente es el encargado de establecer una comunicación con el servidor para solicitar servicios y puede poseer los siguientes periféricos: una NIC (Tarjeta de Interfase 62 de Red), un monitor, un teclado, un ratón y un CPU (Unidad de Procesamiento Central D • Decisión: determinación, resolución que se toma o sé dá en una cosa ante la que existen dos o más alternativas. • Diseño: dibujo, planeación, bosquejo o arreglo de muchos elementos separados en un todo viable y unificado. El diseño es un arte orientado en forma creativa. • Diseño de Sistemas: es el proceso de planeación del nuevo sistema dentro de la empresa para reemplazar el existente, de lo contrario se presenta como una nueva alternativa. • Diagrama de Flujo: Representación Lógica y esquemática del flujo de la información en un sistema o subsistema E • Entrevista: Es la comunicación interpersonal establecida entre el investigador y el sujeto de estudio, con el fin de obtener respuestas verbales a las interrogantes sobre el tema propuesto. Esta técnica permite captar información abundante y básica sobre el problema; y orienta estrategias para aplicar otras técnicas de recopilación de datos. • Estudio: se refiere a la investigación intrínseca de un proceso, es decir, el informe del estado actual. 63 • Información: datos que han sido procesados en forma inteligente. La información se añade a una representación y dice al receptor algo que no le era conocido antes. La información debe ser oportuna, exacta y completa. La información reduce la incertidumbre. • Integrar: complementar un todo con cada una de las partes que le faltan. M • Modelo conceptual: imagen del mundo real que deseamos plasmar en la base de datos, compuesta por los elementos necesarios para definir todo lo que deseamos incluir en ella. o • Observación: es el registro visual de lo que ocurre en una situación real clasificando los acontecimientos pertinentes de acuerdo a un esquema previsto y según el problema que se estudia. R • Red: es una serie de computadoras y otros dispositivos conectados por cables entre sí, esta conexión les permite comunicarse entre ellos y compartir información y recursos. Las redes varían en tamaño; pueden reducirse a una oficina o extenderse globalmente. Una red conectada en un área limitada se conoce como Red de Área Loca (LAN). Una LAN esta contenida a menudo en una sola ubicación. Una Red de Área Extensa (WAN) es un grupo de dispositivos, o varias LAN conectadas en un área geográficamente mayor. 64 s • Servidor: es un computador que proporciona servicios a las estaciones de trabajo de la red tales como: almacenamiento en discos, acceso a las impresoras, unidades para respaldo de archivos, acceso a otras redes o computadores centrales, etc. Además en el servidor es donde reside el NOS (Sistema Operativo de Red) el cual es el corazón de la arquitectura cliente - servidor. • Sistema: una entidad organizada que se caracteriza por una frontera que la separa de otras. Un sistema puede estar compuesto por otros sistemas o componentes e interactuar con su medio exterior a través de dispositivos de entrada y salida. • Sistema de información: un sistema (basado en computadora) que procesa datos en una forma que puede ser utilizada por el receptor con miras a la toma de decisiones. 65 8.4 Bibliografía Referencias Bibliográficas: • Tom Sheldom, Enciclopedia LAN TIMES de Redes (Networking), 1ª. Ed. ES, McGraw- Hill, México 1997. • Andrew S. Tanenbaum, Computer Networks, 2ª. Ed., Prentice-Hall. México 1997. • Kendall & Kendall, Diseño de Base de Datos, 2ª Edición , McGraw - Hill. • Wolliam R. Vaughm, Programación de SQL Con Visual Basic, 1Ed., McGraw - Hill. • MSDN (Microsoft Developer Network) Library Visual Studio 6.0. Fuentes de Información: http:// • www.geocities.com/SiliconValley/8195/noscs.html • www.microsoft.com • www.lawebdelprogramador.com • www.vbip.com • www.pcwla.com 66 ANEXOS 67 ANEXO 1 ELEMENTOS UTILIZADOS EN LA INVESTIGACIÓN DEL PROYECTO SAO 68 ELEMENTOS UTILIZADOS EN LA INVESTIGACIÓN DEL PROYECTO SAO GUÍA DE LA ENCUESTA Con la presente encuesta se pretende obtener su opinión sobre el uso de sistemas informáticos para el manejo de las donaciones en las organizaciones sin fines de lucro: Cargo: ________________________ _ 1)¿Cuentan con computadoras personales? Si LJ NoLJ 2) ¿ Posee la ONG algún sistema informático? Si LJ NoLJ 3) ¿Qué sistema utiliza la ONG para el proceso de recepción - entrega de donaciones? Informático O Hoja de cálculo D Manual D 4) ¿ Cuál es su opinión de este sistema? Excelente D Muy Bueno D Bueno D Regular D 5) ¿Cuál es la razón por la cual la ONG no posee un sistema de informática de administración de donaciones? Falta de recursos económicos § Falta de recurso humano capacitado No se tiene necesidad de un sistema Desconoce D 6) ¿Conoce algún sistema de computación que permita la administración de donaciones y que esté funcionando en alguna institución sin fines de lucro de El Salvador? Sí D No D Cual? 69 7)¿Qué beneficios considera que se obtienen con el uso de sistemas automatizados de administración de donaciones, en las organizaciones sin fines de lucro? Mayor trabajo efectivo Aumenta tiempo de respuesta Información confiable Ningún beneficio 70 GUÍA DE LA ENTREVISTA Tema: Sistema de administración de donaciones para una ONG o entidad de servicio 1. ¿Considera que los sistemas informáticos son muy complicados de utilizar? Sí D No O Porque? 2. ¿Cuál es el procedimiento para realizar las compras de los insumos y artículos que serán donados? 3. ¿Cómo es el proceso de selección de los beneficiarios de la ayuda? 4. ¿Es fácil o dificil controlar las donaciones? ¿Porqué? 5. ¿Qué tipo de reportes utiliza actualmente?, ¿A que departamentos envía reportes? 6. ¿Qué tipo de reportes considera que le serian de mayor utilidad para el manejo de la información de las donaciones, y que no posee actualmente? 71 CONCLUSIONES SOBRE LA ENCUESTA La encuesta fue realizada en 1 O ONG que operan en el país, seleccionadas al azar dentro de un directorio elaborado por la organización PNUD. El número de personas encuestadas fueron 15 en total. 1)¿Cuentan con computadoras personales? 2) ¿ Posee la ONG algún sistema informático? 1~1 87% 13% ícsTl ~ 72 3) ¿ Qué Sistema utiliza la ONG para el proceso de recepción - entrega de donaciones? Informático o Hoja Calculo 2 Manual 13 87% 4) ¿ Cuál es su opinión de este sistema? Excelente o Muy Bueno o Bueno 3 Regular 12 0% 13% o Informatice • Hoja Calculo o Manual El Excelente •Muy Bueno O Bueno O Regular 73 5) ¿Cuál es la razón por la cual la ONG no posee un sistema de informática de administración de donaciones? Falta de recursos económicos 6 Falta de RRHH capacitado 6 No se tiene necesidad 1 Desconoce 2 13% El Falta de R. Economico 8Falta de RRHH Capacitado a No se tiene necesidad a Desconoce j ~-------------------- --- ____ _J 6) ¿Conoce algún sistema de computación que permita la administración de donaciones y que este funcionando en alguna institución sin fines de lucro de El Salvador? 1~1 93% 7% liisil ~ 74 7. ¿Qué beneficios considera que se obtienen con el uso de sistemas automatizados de administración de donaciones, en las organizaciones sin fines de lucro? umenta tiempo de res uesta Información confiable Nin ún beneficio 2 6 6 1 7% 13% 40% m Mayor Trabajo efectivo •Aumenta Tiempo de Respuesta a Información Confiable a Ningun beneficio L_ ____ ____.J 75 ANEXO 11 MANUAL DE REFERENCIA 76 DISEÑO DE BASE DE DATOS: Vision Sad.EfectivoDetalle Donante char/8} FechaGrabacion datetime Descripcion varchar(S0) Cantidad numeric(12, ) Saldo numeric(12, ) Sad.TipoDonante TipoDonante charl5\ Nombre varchar(6 ) upd(C): del(C) [O,n] Sad.Pais Sad.TipoProveedor TipoProveedor::pk> charl8l Nombre varchar(6 , ) upd(Cl: del(C) [0,nJ Sad.Proveedor FechaRecibido datetime FechaSalida datetime C); del( Sad.Donante Pais char(3l d(C): Donante charl8\ ci: iiel( Nombre varchar(6 ) Proveedor char(Sl TipoProveedor char(8) Pais char(3) UsuarioGrabacion numeric(5) TipoDonante char(5) Pais char(3) Sad.Donacion Donacion char/8) [O,nJ -- Donante char(8) d(Cl: del(Cl Descripcion varchar(8 , ) FechaSalida datetime Fecha Recibido datetime Nombre varchar(6 ) Direccion varchar(8 ) TelefonoCasa char(8) TelefonoOficina char(8) Extension character( ) Celular char(8) UsuarioGrabacion numeric(5 -- Sad.DonacionDetalle 10,n] upd(C): del(C) - Donacion charl8l FechaGrabacion datetime Donante char(8) Producto char(8) Tipo Unidad char(2) Nombre Direccion TelefonoCasa TelefonoOficina Extension Celular Sad.TipoProducto TipoProducto charl2l Descripcion varchar(8I ) Sad.Producto Producto charl8l varchar(6 varchar(8 char(8) char(8) char(6) char(S) Bodega char(5) Beneficiario char(8) - [O,nJ Nombre varchar(6 ) -up_d_(C-):-de-l(_C_) __ ----1--iTipoProducto char(2) ): del(R) Descripcion varchar(8 , ) Peso char(5) Cantidad numeric(9 Fecha Vencimiento datetime Sad.Bodega FechaEntrega datetime ~10,nJ Estado char(1) upd( UsuarioGrabacion numeric(5 1 1 [O,,n] R);del(R) Bodega charl5\ Nombre varchar(6 ) Direccion varchar(8 ) upd(R): del(R) 1 [O,n] [O n] [O,n] 1 upd(R)· del(R) upd(C), del(C) upd(~J;n1el(R) .-,c..:.....: _____ ...1._ __ _j_~U~d(R)· del(R) Sad.CompraDetalle Compra charl8\ Sad.UnidadMedida FechaGrabacion datetime TipoUnidad char/2} -- - [O,nJ Proveedor char(8) Nombre varchar(6m) upd( R): del(Rl Bodega char(5) Producto char(8) • TipoUnidad char(2) Sad.Beneficiario Beneficiario char(Sl TipoBeneficiario char(5) Beneficiario char(8) Descripcion varchar(80) Cantidad numeric fO,n] ¡o,nJ-- Valor numeric(12, Nombre varchar(6 f 1 Direccion varchar(8 P) upd(R): del(R) Peso char(5) Telefono Extension 1 [O,n] 1 upd(C): del(C) char(8) char(6) Sad.TipoBeneficiario TipoBeneficiario charl5l Nombre varchar(611 PrecioUnitario numeric(12, FechaVencimiento datetime Fecha Entrega datetime Estado char(1) UsuarioGrabacion numeric(5) 10.nl upd(C): del(C) Sad.Compra Compra char{8l Proveedor char(8) Descripcion varchar(8 ) FechaCompra datetime 77 DESCRIPCIÓN DE LAS TABLAS DE LA BASE DE DATOS Tabla: Donación: controla la entrada de ayuda a la ONG, mediante el manejo de fechas. Además en esta tabla se almacena la descripción que el Usuario desee colocar a la Donación que recibe. Descri ción FechaSalida Permite conocer la Fecha en que se recibió la FechaRecibido donación Datetime Permite conocer al usuario que guardo los datos de 1 UsuarioGrabacion donación Numeric 5 Tabla: EfectivoDetalle: almacena información importante referente a la donación Monetaria que se recibe en la ONG. Donante FechaGrabacion Descri ción Comentario de la donación en efectivo Cantidad de dinero en colones salvadoreños de la Cantidad donación Numeric 12,2 Saldo Cantidad e uivalente en dólares de la donación Numeric 12,2 Fecha en que se recibe la donación, es ingresada po FechaRecibido el usuario Datetime Fecha en que es entregada la donación, es asignada FechaSalida automáticamente or el sistema Datetime Código que identifica al usuario que realiza la UsuarioGrabacion ransacción, es a re ado or el sistema Char 2 Tabla: Donante: Registra los datos generales de la entidad o persona natural que proporciona la ayuda a la ONG. Celular Primaria 78 Tabla: TipoDonante: Permite identificar si el donante es: persona natural, Empresa Privada, Institución de Gobierno, ONG, Comunidades, Gobierno de países amigos. Nombre Tabla: País: Almacena el Registro de los países. {~~:~~)Ki~~=.' . Cam os:· Pais Nombre Tabla:TipoProveedor: Registra si las compras de artículos se hacen a un proveedor local o es extranjero. lmacena si el Proveedor es local o extran·ero Tabla: Proveedor: Contiene los datos generales de los proveedores. Cam~:r:ti\ Proveedor Determina al Proveedor Pals donde se ubica el Proveedor Nombre descri tivo del Proveedor Dirección del Proveedor Guarda el Teléfono de residencia Guarda el Teléfono de Oficina Extensión lmacena la extensión si el teléfono no es directo Celular Contiene el teléfono Celular Proveedor o Contacto .it>i?: uave Primaria Primaria Foránea 79 Tabla: DonacionDeta/le: contiene el detalle de los producto que vienen en la donación, almacenando también su unidad, el Peso, el Precio Unitario, etc. Donación F echaGrabacion Donante Unidad de Peso Códi o de la Bode a donde se uarda el Producto Beneficiario Descri ción Peso Cantidad de Peso Cantidad Cantidad de un Determinado Producto Fecha Vencimiento Datetime FechaEntre a Datetime Estado Estado de Producto Char 1 UsuarioGrabacion Usuario ue uarda los datos Numeric 5 Tabla: UnidadMedia: Contiene el registro de las diferentes unidades de medidas Nombre Descri ción de la Unidad de Medida Tabla.Producto: Registra los diferentes productos que pueden formar parte de una donación, esto con el objeto de contar con un catalogo de productos. Producto Nombre i oProducto Tabla:TipoProducto: Clasifica los productos en tipo, por ejemplo: Alimentos, Articulas de primera necesidad, Artículos de limpieza, Ropa y Medicinas. Primaria Foránea Foránea Foránea Foránea Primaria Foránea Tabla: TipoBeneficiario: Registra si la ayuda se entrega a una persona, una comunidad o alguna otra organización. 80 Tabla: Beneficiario: Almacena los datos generales de los que recibirán la ayuda. Nombre descri tivo de Beneficiarios Dirección de Beneficiario eléfono de Beneficiario Extensión si el Teléfono no es Directo Tabla: Bodega: Registra los datos generales de las distintas bodegas con que cuenta la ONG. Bode a Nombre Dirección Primaria 81 ANEXO 111 MANUAL DE USUARIO 82 MANUAL DE USUARIO Capitulo 1: Ingreso al sistema Al iniciar una sesión de trabajo con el sistema, aparecerá la ventana de fuente de datos, debe utilizar la base de datos que hace referencia la aplicación SAO (Sistema de Administración de Donaciones). Por defecto aparece la base de datos Vision. Figura 1 A continuación, se le solicita ingrese la ONG o Entidad de Servicio que utilizará el sistema. Por omisión se despliega VisionMundial. Figura 2 Y finalmente, se mostrará la ventana de aplicación, ahí se elige el modulo a utilizar, puede ser Administración o Donaciones. · 1 8Ceptar 83 Figura 3 Capitulo 2: Diseño del menú principal de SAD A lo largo de una jornada de trabajo el usuario encontrará una serie de iconos y/o botones que le permite realizar las diferentes operaciones en la aplicación. A continuación, se describe el menú principal que el usuario encontrará cuando trabaje en el sistema SAD. Figura 4 Componentes del menú principal: 2. 1 Menú desplegable Archivo: contiene las opciones de utilería del sistema, como imprimir, abrir un reporte, cambiar de aplicaciones, modificar la fuente de datos, entrar a una ONG, ver la configuración del sistema, visualizar las colecciones, establecer las opciones de ingreso y salir de SAO. Edición: muestra todas los operaciones que se pueden realizar con los registros en ejecución, como cortar, copiar, pegar, nuevo, borrar, cambiar y restaurar. 84 Ver: permite visualizar la barra de herramienta y la de estado en la aplicación. Consultas: permite consultar los datos del sistema y se despliega dependiendo de los derechos del usuario activo en SAO. Datos: son todos los mantenimientos a las tablas maestras de la base de datos de la aplicación, se activa según los derechos del usuario. Procesos: se ubican todos los procesos de SAO, como Donaciones, Entregas y Devoluciones. Estos se visualizan según los derechos otorgados al usuario. Reportes: despliega los diferentes reportes del sistema, todos los reportes son diseñados con la herramienta de software Cristal Report. También son activados según los derechos del usuario activo. Ventana: sirve para mostrar en cascada, horizontal o vertical las diferentes formas activas en el sistema. Ayuda: muestra temas de ayuda para un mejor manejo del sistema, además presenta los datos principales del proyecto. 2.2Descripción de los iconos que conforman la barra de herramientas en el menú principal E~j Imprimir: este botón le permite imprimir el formulario activo. Cortar: sirve para cambiar el objeto seleccionado de una posición actual a otra. 85 Copiar: realiza una copia del objeto previamente seleccionado. Pegar: este botón sirve para ubicar en la posición actual un objeto previamente cortado o copiado. ,~,i Nuevo: se utiliza en la adición de un nuevo registro en el formulario activo. :~i Borrar: al dar clic en este botón se borra el objeto seleccionado. -~ Cambiar: se activa cuando se digita o cambia texto sobre un formulario en ejecución. Restaurar: sirve para deshacer el último cambio realizado en la forma activa de la aplicación. 2.3 La barra de estado, se ubica en la posición inferior de la ventana, proporciona información descriptiva de los procesos en ejecución de SAO. Capitulo 3: Entorno del usuario Administrador Es el perfil de usuario principal, ya que tiene todos los derechos del sistema, en principio tiene acceso a los dos módulos o aplicaciones de