REPÚBLICA DE CUBA MINISTERIO DE EDUCACIÓN SUPERIOR UNIVERSIDAD CENTRAL “MARTA ABREU” DE LAS VILLAS Facultad de Matemática, Física y Computación Ingeniería Informática “Sistema para la Gestión de la Información Productiva en el Puesto de Dirección y Análisis de la Empresa Pecuaria Macún” Autor: Cheyla Nodal Turó Tutor: MsC. Juan Enrique Nodal Hernández Consultante: Ing. Raúl Alejandro Véliz Serrano “Año 53 del Triunfo de la Revolución” Santa Clara 2011 Dictamen El que suscribe , hago constar que el trabajo titulado __ fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de , autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad. Firma del Autor Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada. Firma del Tutor Firma del jefe del Laboratorio Fecha PENSAMIENTO “El problema es que la gente no es perfecta ni mucho menos, hay que perfeccionar los sistemas de control para detectar la primera infracción que se produzca, porque esta es la que conduce a todas las demás…” Che DEDICATORIA A mis padres Marlen y Enrique, por estar a mi lado en los buenos y malos momentos, y por contribuir de manera significativa a que yo pudiera terminar mis estudios. AGRADECIMIENTOS - A mi querida madre Marlen a quien agradezco con mucho amor todos los sacrificios y esfuerzos que ha hecho y hace por mí y mis hermanos. - A mi querido padre Enrique, por su constante preocupación, su gran capacidad para resolver los problemas y su apoyo incondicional. - A mis hermanos Luís David y Carlos Daniel por hacerme tan feliz con sus vidas. - A mi hermano Owen por darme a pesar de la distancia tanta fuerza para continuar adelante y depositar tanta confianza en mí. - A mi querido novio Carlos por su amor y comprensión y también a sus padres Odalys y Ramón quienes me han tratado como a una hija durante todo este tiempo. - A mi tía Baby, mi otra madre. - A mi tío Boly y a mi tía Niurka por su preocupación. - A mis primos que desde lejos me han dado tanto aliento. - A la hermana que hubiera querido tener, Maura, mi mejor amiga. - A mis amigas Liuba y Betty por hacerme más fácil el trabajo con su ayuda. - A mi maravilloso tutor y padre Enrique por su paciencia, por su apoyo incondicional en los momentos más difíciles, sus sabias respuestas y su gran ayuda. - A Raúl, una persona a quien agradezco muchísimo ya que ha sido como mi hada madrina durante todo este tiempo, también a Darien y Andrés que han sido protagonistas de este trabajo. - A Nabel, Misleidy, Elisa y muy especial a mi gran amiga Dayana y demás compañeros de la Universidad por los años que estuvimos juntos. - A todos mis profesores de la UCLV, por recibir de ellos siempre lo mejor. - A todas aquellas personas que de una forma u otra han sido partícipes de este trabajo; y que brindaron su mano amiga en algún momento. A todos ustedes y sin que pierda el menor ápice su significado: Muchas Gracias RESUMEN El Puesto de Dirección y Análisis (PDA) de la Empresa Pecuaria Macún controla y gestiona información mediante indicadores productivos dentro de su objeto social y pone la misma al alcance de diferentes niveles organizacionales, además de analizar el comportamiento de los indicadores de eficiencia para ayudar a la toma de decisiones de la empresa. Para la gestión de la información el PDA carece de una herramienta automatizada, invirtiéndose en el proceso, tiempo y esfuerzo significativo por parte de sus trabajadores y la información que se brinda no es totalmente confiable. Teniendo en cuenta esta necesidad, en el presente trabajo se propone un sistema para la gestión de la información productiva que el PDA debe manejar; aprovechando las potencialidades que brinda la gestión de base de datos utilizando las Tecnologías Web. El sistema posibilitará el mejor funcionamiento de dichos procesos, incorporando mejoras a los mismos. Almacena los datos de forma segura y organiza la información para poder encontrarla rápidamente. Ofrece una serie de reportes que ayudan a estimar y cuantificar la producción y la planificación de la empresa. Igualmente permite, atender eficientemente las peticiones de los usuarios. Todo esto posibilitará la reducción de tiempo y eficiencia en la información a brindar. Se describe la documentación que integra los elementos de análisis, diseño e implementación del sistema propuesto utilizando el Lenguaje Unificado de Modelado (UML). Palabras clave Tecnologías de la Información, Aplicaciones Web, Gestión de Información, Puestos de Dirección, Indicadores Productivos, Ganadería, Cultivos varios, Agricultura. ABSTRACT The Exam and Guideline Place (EGP) of the Cattle Company Macún controls and it negotiates information by means of productive indicators inside its social object and it puts the same one within reach of different organizational levels, besides analyzing the behavior of the indicators of efficiency to help to the taking of decisions of the company. For the administration of the information the EGP lacks an automated tool, being invested in the process, time and significant effort on the part of its workers and the information that you flange is not completely reliable. Keeping in mind this necessity, presently work intends a system for the administration of the productive information that the EGP should manage; the potentialities that it offers the database administration using the Technologies Web taking advantage. The system will facilitate the best operation of this processes, incorporating improvements to the same ones. It stores the data in a sure way and it organizes the information to be able to find it quickly. He/she offers a series of reports that they help to estimate and to quantify the production and the planning of the company. Equally it allows, to assist the petitions of the users efficiently. All this will facilitate the reduction of time and efficiency in the information to toast. The documentation is described that integrates the analysis elements, design and implementation of the proposed system using the Unified Language of Modeling (UML). ÍNDICE INTRODUCCIÓN ...........................................................................................................................1 CAPÍTULO I. LOS SISTEMAS DE GESTIÓN DE LA INFORMACIÓN, TECNOLOGÍAS Y TENDENCIAS ACTUALES...........................................................................................................6 1.1 Introducción. .........................................................................................................................6 1.2 Sistemas de Gestión de la Información.................................................................................6 1.2.1 Características. ..............................................................................................................6 1.2.2 Importancia. ..................................................................................................................7 1.3 Puestos de Dirección y Análisis en Cuba (PDA). .................................................................7 1.4 Descripción del objeto de estudio. ........................................................................................8 1.4.1 Empresa Pecuaria Macún..............................................................................................8 1.4.2 Flujo actual de los procesos y análisis crítico de la ejecución de estos. .......................9 1.5 Sistemas automatizados existentes vinculados a la investigación. .....................................10 1.6 Tendencias y tecnologías actuales. .....................................................................................11 1.6.1 Fundamentación del lenguaje de modelado a utilizar. ................................................11 1.6.2 Fundamentación de lenguajes y tecnologías Web. .....................................................11 1.6.2.1 Arquitectura Cliente/Servidor. ...........................................................................11 1.6.2.2 Arquitectura de N Capas. ...................................................................................12 1.6.2.3 Lenguajes y tecnologías del lado del cliente......................................................15 1.6.2.4 Lenguajes y tecnologías del lado del servidor. ..................................................18 1.6.3 Sistemas Gestores de Bases de Datos (SGBD). ..........................................................19 1.6.4 Herramientas de desarrollo. ........................................................................................20 1.6.5 Fundamentación del lenguaje, gestores de bases de datos y de otros software que serán utilizados. ......................................................................................................................22 1.7 Conclusiones. ......................................................................................................................23 CAPÍTULO II. ANÁLISIS Y DISEÑO DEL SISTEMA..............................................................24 2.1 Introducción. .......................................................................................................................24 2.2 Modelos del negocio. ..........................................................................................................24 2.2.1 Descripción de los procesos de negocio......................................................................24 2.2.2 Modelo de Caso de Usos del negocio. ........................................................................25 2.2.2.1 Actores del negocio............................................................................................26 2.2.2.2 Diagrama de Casos de Uso del Negocio. ...........................................................26 2.2.2.3 Diagramas de actividades del negocio. ..............................................................27 2.3 Sistema para la Gestión de la Información Productiva (SGIP)...........................................27 2.3.1 Descripción de los requisitos funcionales del sistema. ...............................................27 2.3.2 Descripción de los requisitos no funcionales del sistema. ..........................................28 2.3.3 Modelo de casos de uso del sistema............................................................................30 2.3.3.1 Actores del sistema.............................................................................................30 2.3.3.2 Diagramas de Casos de Uso del Sistema. ..........................................................31 2.3.3.3 Descripción de los casos de uso del sistema. .....................................................31 2.3.3.4 Diagramas de colaboración. ...............................................................................34 2.3.3.5 Diagramas de clases del diseño..........................................................................35 2.3.3.6 Diagrama de clases persistentes. ........................................................................37 2.4 Conclusiones. ......................................................................................................................37 CAPÍTULO III. IMPLEMENTACIÓN Y GUÍA PARA EL USO DEL SISTEMA.....................38 3.1 Introducción. .......................................................................................................................38 3.2 Modelo de implementación.................................................................................................38 3.2.1 Diagrama de implementación. ....................................................................................38 3.2.2 Diagrama de despliegue. .............................................................................................39 3.3 Guía para el uso del sistema................................................................................................40 3.4 Conclusiones. ......................................................................................................................51 CONCLUSIONES .........................................................................................................................52 RECOMENDACIONES ................................................................................................................53 REFERENCIAS BIBLIOGRÁFICAS...........................................................................................54 ANEXOS........................................................................................................................................56 ÍNDICE DE FIGURAS Figura 1: Modelo de diseño en tres capas. Figura 2: Diagrama de Casos de Uso del Negocio. Figura 3: Diagrama de Casos de Uso del Sistema. Figura 4: Diagrama de Colaboración para “Insertar Producción”. Figura 5: Diagrama de Colaboración para “Modificar”. Figura 6: Diagrama de Colaboración para “Eliminar Producción”. Figura 7: Diagrama de Clases del Diseño para el caso de uso “Gestionar Producción”. Figura 8: Diagrama de Clases Persistentes. Figura 9: Diagrama de Implementación. Figura 10: Diagrama de Despliegue. Figura 11: Ventana inicial de la Aplicación. Figura 12: Ayuda del Sistema Figura 13: Sección de Reportes Figura 14: Cambiar contraseña Figura 15: Reporte de por ciento de cumplimiento por mes. Figura 16: Datos de un reporte de cumplimiento mensual para imprimir. Figura 17: Opciones del usuario Conciliador. Figura 18: Ventana de la Sección Producción. Figura 19: Ventana “Insertar Producción”. Figura 20: Calendario para el campo fecha. Figura 21: Ventana para “Listar Producción” por fecha. Figura 22: Ventana para modificar los datos de producción de una fecha específica. Figura 23: Ventana para eliminar los datos de producción de una fecha específica. Figura 24: Ventana de trabajo del usuario Analista. Figura 25: Sección de Planificación. Figura 26: Sección de Grupo Figura 27: Sección de Indicadores Productivos Figura 28: Ventana de trabajo del usuario Administrador Figura 29: Ventana para listar usuarios. Figura 30: Ventana para insertar un nuevo usuario Figura 31: Ventana para eliminar un usuario. Figura 32: Ventana de salida un usuario. ÍNDICE DE TABLAS Tabla 1: Actor del negocio Tabla 2: Actores del Sistema Tabla 3: Descripción del CU del Sistema “Autenticar” Tabla 4: Descripción del CU del Sistema “Consultar Ayuda” Tabla 5: Descripción del CU del Sistema “Cambiar Contraseña” Tabla 6: Descripción del CU del Sistema “Solicitar Reportes” Tabla 7: Descripción del CU del Sistema “Administrar Usuarios” Tabla 8: Descripción del CU del Sistema “Gestionar Producción” Introducción. INTRODUCCIÓN El desarrollo de las Tecnologías de la Información y las Comunicaciones (TIC), con sus aplicaciones, ha ido cambiando los paradigmas y estableciendo nuevas respuestas tecnológicas a las demandas del desarrollo (Toledo, 2003). Cuando se hable de las TIC es necesario mencionar la importancia que han alcanzado estas en el mundo empresarial. Hoy se hace cada vez más complejo el tema de la gestión de la información, lo cual constituye un eslabón clave en la organización para responder de manera efectiva y distintiva, al cúmulo creciente de necesidades, deseos y expectativas de los clientes. El auge y progreso de la informática, a nivel de software y hardware ha hecho posible la gestión de la información con mayor profundidad y mejor acabado que, de forma habitual, hubiese sido muy costoso desde el punto de vista humano, debido al manejo de grandes volúmenes de información. Gracias a las TIC se han revolucionado las relaciones de la empresa con su entorno, permitiendo integrar en espacios virtuales todas las actividades necesarias del día a día de la empresa, además de brindar la posibilidad de automatizar los procesos de gestión y control que se lleva a cabo por parte de las mismas brindando un mayor conjunto de información en el menor tiempo posible, confiable y precisa y que ayuda a salvaguardar todos los datos que se gestionen y concilien en los procesos involucrados para dar repuesta a las más disímiles dificultades con el fin de lograr el éxito de la organización. La empresa cubana, inmersa en un nuevo período de cambio, tiene como prioridad significativa el desarrollo de transformaciones profundas en los aspectos organizacionales y funcionales del sistema empresarial, los cuales están dirigidos a propiciar el fomento de "nuevas capacidades empresariales", entiéndase por ello el desarrollo de aquellas que están relacionadas con la introducción de nuevas formas de organización y dirección de la actividad económica y de recursos humanos, lo que incluye también medidas dirigidas a asegurar la calidad de la producción, mejorar las relaciones con los proveedores y los clientes y lograr un mayor aprovechamiento de las reservas potenciales de elevación de la efectividad en el empleo de los recursos (Jiménez, 2006). Con el objetivo de lograr una eficaz productividad, y debido a la gran importancia que posee el manejo de información en las empresas, nuestro país utiliza las herramientas propias de los sistemas de gestión empresarial, que permiten controlar, planificar, organizar y dirigir cada uno de los eslabones de la 1 Introducción. cadena productiva, que es sin dudas un factor decisivo para el logro del triunfo en el mundo empresarial. En Marzo del año 2002 la Empresa Pecuaria Macún (en lo adelante EPM) de Sagua la Grande es autorizada a implantar el Perfeccionamiento Empresarial, siendo una de las primeras en la provincia, destacándose desde sus inicios por una actitud emprendedora que la llevó a ser pioneros en la implementación de nuevos enfoques y técnicas de gestión en el Ministerio de la Agricultura (en lo adelante MINAG). En esta Empresa se han introducido paulatinamente las TIC para el cumplimiento de las principales tareas que en esta tienen lugar. Muchas de las actividades que anteriormente eran realizadas de forma manual, ahora se ven apoyadas o sustituidas por aplicaciones informáticas, pero todavía queda mucho por hacer, un ejemplo de ello es recién creado Puesto de Dirección y Análisis ( en lo adelante PDA). El PDA constituye el Centro de Dirección, Información y Análisis, que mediante la información operativa y estadística en tiempo real, controla las 24 horas del día el flujo de los procesos, los hechos extraordinarios y las situaciones de excepción generando los análisis que faciliten la toma de decisiones a la Dirección del Organismo (MINAG, 2009). La Empresa Pecuaria Macún creó su PDA con el objetivo de garantizar el flujo de información operativa y estadística sobre el comportamiento de indicadores técnicos-productivos de las producciones y servicios fundamentales dentro de su objeto social y ponerla al servicio de todo el MINAG, las Organizaciones Estatales, la dirección del Partido, el Gobierno y otras según lo soliciten. Además de analizar el comportamiento de los indicadores de eficiencia y producción vinculados a sus procesos productivos. Actualmente el PDA cuenta con un sistema semiautomatizado para la gestión de la información, ya que hace uso del correo electrónico para recibir los datos de su interés provenientes de los Centros Gestores de la Información (en lo adelante CGI), una vez recibidos son registrados en varios libros electrónicos creados en Microsoft Excel con un formato apropiado en correspondencia con la información que se debe enviar a los diferentes niveles. Los libros electrónicos originales son vinculados a otros libros que calculan y muestran día a día el comportamiento de los indicadores fundamentales para conformar un Parte Diario de la empresa así como otros Reportes de gran interés operativo. Al finalizar cada mes se realiza una nueva consolidación de la información acumulada en los libros durante ese tiempo para crear el Parte Mensual de la empresa y analizar el cumplimiento del plan durante ese período. 2 Introducción. Luego de un minucioso análisis del sistema actual se constataron un grupo de inconvenientes, detectándose como situación problémica la siguiente: • Errores en la introducción de los datos por falta de validación. • Modificación involuntaria de los libros de trabajo por parte del usuario, cambios de formato y fórmulas, debido fundamentalmente a problemas de protección y seguridad. • Errores de cálculos en la consolidación. • Dificultades que se presentan para la transformación de varios libros electrónicos vinculados ante la demanda de nuevas informaciones. • Retardo en la elaboración de la información. Después de conocer la situación problémica existente en el PDA se identificó el siguiente problema científico: ¿Cómo gestionar, organizar y controlar de manera eficiente la información referente a los principales indicadores que se manejan con respecto a la producción? Se considera como objeto de estudio de la presente investigación los procesos de gestión y control de la producción en el PDA de la mencionada empresa, teniéndose de esta forma como campo de acción la automatización del control y la gestión de la información productiva con el uso de las TIC. La idea a defender en esta investigación es que con el desarrollo de un sistema informático que automatice la gestión de la información productiva, se podrá gestionar, organizar y controlar la información de manera eficiente, ágil y segura, aprovechando los recursos materiales y humanos. Teniendo en cuenta lo anterior, se define como Objetivo General de este trabajo: Desarrollar un sistema informático para perfeccionar la gestión, organización, procesamiento y el control de la información que el PDA de la empresa debe reportar. De este objetivo general se desprenden los siguientes Objetivos Específicos: • Modelar los procesos que se desarrollan en el PDA de la Empresa Pecuaria Macún y que serán objeto de automatización. • Diseñar una base de datos que responda a la realidad del problema de forma consecuente y permita afrontar la complejidad del mismo. 3 Introducción. • Implementar las funcionalidades que permitan al sistema estar a tono con las particularidades de los procesos que intervienen en el PDA de forma que facilite el acceso fácil y eficiente a la información, garantizando su seguridad y confiabilidad. Para dar cumplimiento a estos objetivos se definieron las siguientes tareas: • Estudio de cómo se gestiona y maneja la información en el PDA de la Empresa Pecuaria Macún. • Estudio de las tendencias y tecnologías actuales del campo de la Informática, determinando cuales utilizar en la solución del problema. • Entrevista a directivos y trabajadores de la entidad para conocer con claridad la profundidad y complejidad del problema que se desea automatizar, en aras de organizar e identificar los principales procesos que se desarrollan alrededor del mismo. • Captura de los requisitos funcionales y no funcionales. • Recopilación y consulta de documentos relacionados con la actividad en cuestión. • Determinación de las actividades que serán automatizadas en los procesos que son objeto de investigación. • Documentación de la información referente al análisis y diseño del sistema. • Selección de las herramientas y lenguajes de programación más efectivos que cumplan con las exigencias planteadas. El informe correspondiente al estudio realizado en esta investigación quedó estructurado en 3 capítulos, además de los anexos, referencias bibliográficas y la bibliografía utilizada. Capítulo 1. “Los Sistemas de Gestión de la Información, tecnologías y tendencias actuales”, en este capítulo se describen y caracterizan los Sistemas de Gestión de la Información, se realiza un análisis del objeto de estudio, de los sistemas existentes vinculados a la investigación, así como de las tendencias y tecnologías actuales de forma que se fundamente la tecnología apropiada. Capítulo 2. “Análisis y diseño del sistema”, en este segundo capítulo se realiza una breve descripción del negocio que se desea automatizar, y se tratan aspectos propios del análisis y diseño del sistema que se va a desarrollar. 4 Introducción. Capítulo 3. “Implementación y guía para el uso del sistema”, este último capítulo está destinado a ofrecer la estructura y las colaboraciones entre los distintos elementos del sistema, además brinda una breve guía o manual para el trabajo de los diferentes usuarios en el sistema. 5 . CAPÍTULO I. LOS SISTEMAS DE GESTIÓN DE LA INFORMACIÓN, TECNOLOGÍAS Y TENDENCIAS ACTUALES. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 6 1.1 Introducción. Exponer un estudio realizado a partir del dominio del problema es la esencia de este primer capítulo. Se describen y caracterizan los Sistemas de Gestión de la Información, se desarrolla un análisis de cómo se desenvuelve hoy el control y la gestión de la información productiva en la Empresa Pecuaria Macún y la situación problémica en la que se encuentra inmersa, además se realiza una investigación sobre los sistemas automatizados existentes vinculados a la gestión de la información productiva. Y por último se realiza un estudio sobre las tecnologías, tendencias actuales y herramientas a emplear para dar solución de dicho problema. 1.2 Sistemas de Gestión de la Información. Un Sistema de Gestión de Información (SGI) es un conjunto organizado de personas, datos, actividades, técnicas de trabajo y recursos materiales en general (redes internas, bases de datos). Estos elementos interactúan entre sí para procesar los datos y la información (incluyendo procesos manuales y automáticos) y distribuirla de la manera más adecuada posible en una determinada organización en función de sus objetivos, facilitando el desarrollo de la gestión de la información. La relación entre estos elementos posibilita el proceso de la toma de decisiones ante una determinada situación y la modelación y automatización de los procesos de la entidad (Niebla y Zamora, 2010). 1.2.1 Características. Entre las características más importantes que deben estar presentes en un Sistema de Gestión de Información, se encuentran las siguientes (Vendrell, 2004): Integral: El SGI se aplica a la mayor parte de la organización, como una red global de información interconectada. Complejidad / Utilidad: La información tiende a ser infinita por lo que la selección de la información relevante debe ser fácil y sencilla. Es importante el manejo de datos cada vez más profusos y complejos y la necesaria simplicidad del sistema. Selección: El sistema debe ser capaz de diferenciar entre la información que puede ayudar a tomar decisiones a medio y largo plazo (información estructural) y aquella información de tipo coyuntural que ha de permitir el enfoque de las perspectivas a corto plazo. Análisis: El análisis de datos es la clave de un buen proceso de gestión de la información. El sistema debe de ser capaz de tratar y procesar de forma rápida la información almacenada. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 7 Información On-line: Los modernos sistemas de gestión de la información y las comunicaciones permiten estrechar el tiempo que transcurre entre un hecho y su tratamiento estadístico i/o informativo. Utilidad: Los sistemas y procesos de gestión de la información no sólo han de ser útiles a las unidades coordinadoras sino también a las unidades gestoras. Modularidad: El sistema tiene que estar formado por módulos conectados entre sí pero que permitan un uso independiente. Esto facilita poder ampliar de acuerdo a las necesidades y recursos del momento, mientras que por otra parte, admite que usuarios con requerimientos distintos accedan a diferentes niveles de información. Comunicación: La información debe tratarse de manera fácil para hacerla llegar a los usuarios. 1.2.2 Importancia. Existe un estrecho vínculo entre la gestión de la información y diferentes funciones empresariales como son la generación y la aplicación de estrategias, el establecimiento de políticas, además del desarrollo de una cultura organizacional y social dirigida al uso racional, efectivo y eficiente de la información en función de los objetivos y metas de las empresas en materia de desempeño y de calidad. Los sistemas de información, como parte esencial de la infraestructura para la gestión empresarial, suministran información e impulsan la generación del conocimiento para la búsqueda de soluciones a los problemas que enfrentan las organizaciones (Berberena, 2010). 1.3 Puestos de Dirección y Análisis en Cuba (PDA). En el año 2008 la dirección del MINAG implanta los PDA en las Empresas Agropecuarias a nivel municipal, delegaciones provinciales y las organizaciones estatales nacionales. Esta experiencia se aplicó en la década de los 80 en el MINAZ a través de las llamadas Salas de Análisis o Centros de Gestión en las diferentes empresas azucareras. En aquella etapa el país ya contaba con un grupo de especialistas en informática que ocupaban plazas de Analistas. El sector introduce además de forma masiva computadoras de última generación y aprovechando las condiciones existentes se proyecta el primer software encaminado a solucionar los problemas del momento, en ese entonces predominaban lenguajes de programación que solamente permitían la creación de aplicaciones en modo MsDOS. Los grandes avances que se lograron en el siglo pasado, han incrementado las posibilidades técnicas de manejar enormes volúmenes de información así como su análisis. Al ocurrir esto las empresas se han percatado de la importancia que revisten hoy sus archivos de información y almacenes de datos, hasta Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 8 ahora pocos consultados. Hoy día casi todo es controlado u organizado por algún software diseñado para una tarea específica. Cuba no se encuentra exenta de esta revolución digital que ha influido en la humanidad en los últimos quince años, donde se avanza vertiginosamente a la informatización de los procesos. Por lo tanto podemos afirmar que los Puestos de Dirección en el MINAG surgen en un momento cumbre del desarrollo de la tecnología informática y se espera que sus especialistas estén a tono con las posibilidades que se abren para la empresa cubana, cumpliendo exitosamente con las funciones principales del PDA, informar, analizar y dirigir. 1.4 Descripción del objeto de estudio. El objeto de estudio de esta investigación es el proceso de control y gestión de la producción en la Empresa Pecuaria Macún y para una mejor comprensión de este trabajo es necesario saber con qué objetivos se desempeña esta empresa dentro de la esfera económica del país, y cómo desarrolla en la actualidad dichos procesos. 1.4.1 Empresa Pecuaria Macún. La Empresa Pecuaria Macún, subordinada al Ministerio Nacional de la Agricultura (MINAG), se encuentra ubicada en Céspedes #164, Sagua la Grande, Villa Clara. Tiene sus orígenes en los años 60 con la creación de la granja del pueblo “Pablo de la Torriente Brau”, posteriormente con la creación del Instituto Nacional de Reforma Agraria (INRA) en la región de Sagua La Grande surge la granja Ganadera Macún, constituyéndose como Empresa por la resolución 263 del Ministro de la Agricultura el 15 de diciembre de 1976. La empresa tiene como Objeto social: Producir y comprar a entidades del sistema y a la base productiva viandas, hortaliza, granos, flores, ganado mayor y menor, sus carnes, subproductos y derivados cárnicos y otras producciones agropecuarias de forma mayorista en moneda nacional y divisa. Producir y comercializar, leche de ganado mayor y menor y derivados con destino a la industria láctea así como leche fresca a comercio interno en moneda nacional y de forma minorista a los trabajadores de la entidad que se desempeñe como ordenadores. Producir y comprar a la base productiva para comercializar, cuero curtido y natural. Producir y comercializar, animales de trabajo a Empresas, unidades básicas de forma cooperativa. Brindar servicios técnicos de explotación y manejo del ganado mayor y menor. Brindar servicios de comedor, cafetería y recreación a los trabajadores de la entidad. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 9 Su Misión: MACUN le ofrece a sus clientes proteínas, satisfacción y salud a través de sus producciones agropecuarias con explotación sostenible y una antigua cultura ganadera para complacer sus más exigentes necesidades. Su Visión: Somos emprendedores y mantenemos el liderazgo, a partir de la excelencia en la explotación pecuaria, la protección del medio ambiente, la plena satisfacción del capital, humano y la mejora continua; por lo que ostentamos el Reconocimiento Ambiental Nacional 1.4.2 Flujo actual de los procesos y análisis crítico de la ejecución de estos. El proceso de control y gestión de la producción que se lleva a cabo en el PDA de la Empresa Pecuaria Macún es monitoreado y seguido continuamente en busca de llevar un control exhaustivo de la producción real, recopilando información del comportamiento de indicadores técnicos-productivos que intervienen en el proceso de producción, se toman todos los parámetros involucrados para dar todo un conjunto de reportes que ayudan a estimar y cuantificar los índices de producción. El control y gestión de información sobre la producción se realiza de forma semiautomatizada. El PDA recibe la información primaria que emiten las Unidades Empresariales de Base (UEB) a través de los Centros Gestores de Información (Sagua y Caguagua). Dicha información primaria se registra en varios libros electrónicos creados en Microsoft Excel con un formato apropiado en correspondencia con la información que se debe enviar al PDA. Se emiten mediante el correo electrónico, una vez recibidos por el PDA son vinculados a otros libros que calculan y muestran el comportamiento de los indicadores fundamentales para conformar otros reportes de gran interés operativo. A pesar de que los centros de gestión se encuentran conectados al servidor central de la empresa lo que garantiza la rapidez de la entrada de la información. Todo el proceso suele ser lento, debido al retardo en la elaboración de la información en los centros gestores, además trae consigo muchos inconvenientes como la modificación involuntaria de los libros originales, su formato y fórmulas, debido fundamentalmente a problemas de protección y seguridad, errores en la introducción de datos, errores en la consolidación, errores en los cálculos entre otros. Teniendo en cuenta la necesidad de contar con una aplicación que gestione, organice y controle la información productiva que maneja el PDA para su posterior procesamiento, en el presente trabajo se pone de manifiesto el uso de las nuevas tecnologías de la información para ampliar las posibilidades de consulta y obtención de datos pertinentes a la producción. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 10 1.5 Sistemas automatizados existentes vinculados a la investigación. A raíz del estudio realizado sobre el tema se pudo constatar que a nivel nacional no existe investigación al respecto y que no ha sido desarrollada ninguna aplicación que se ajuste al proceso de producción de la entidad debido a sus características particulares, además se considera que el poco tiempo que lleva aplicada la experiencia de los PDA en el MINAG es otro motivo por el cual no se ha trabajado en tal sentido en nuestro país. Mucha de la información citada en Internet permitió arribar a la conclusión de que ninguno de los casos consultados respondía a las especificidades y requisitos del Sistema de Gestión de la Información productiva en el PDA de la Empresa Pecuaria Macún, ni pudo adaptarse a los requerimientos de esta investigación. En la búsqueda realizada se encontraron dos software internacionales que además de ser propietarios se dedican únicamente a gestionar la producción ganadera. De los nacionales, uno se utiliza en un proceso productivo atípico y el otro se dedica a la gestión de labores agrícolas en la industria azucarera. Las aplicaciones referidas son las siguientes: BOVISOFT: Software para la Administración de Empresas de Ganado Bovino. Es un software en español, diseñado para administrar y gestionar la información técnico-productiva de animales individuales en unidades de producción de bovinos lecheros, de doble propósito y para pie de cría. Así como la información contable- administrativa de una unidad de producción. Huella Software: Software para la gestión productiva de bovinos de carne. El sistema permite ingresar todos los eventos productivos (reproductivos, sanitarios, manejo, económicos y otros) que se realizan en los establecimientos ganaderos para luego evaluar y comparar resultados de los principales indicadores de producción de carne. Este sistema fue desarrollado en conjunto con la Facultad de Ciencias Veterinarias de la Universidad Nacional del Centro de la Provincia de Buenos Aires. PAYCOP: Sistema diseñado para la planificación y control productivo del proceso de fabricación de bujías. LABAGRI: Sistemas diseñado con el uso de bases de datos en FoxPro para el control y gestión de las labores agrícolas en la industria azucarera. Esta aplicación de escritorio utiliza un entorno gráfico poco amigable, que requiere determinada capacitación del usuario, además utiliza un lenguaje que ha caducado y por tanto de poca utilidad. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 11 1.6 Tendencias y tecnologías actuales. 1.6.1 Fundamentación del lenguaje de modelado a utilizar. UML El Lenguaje Unificado de Modelado (UML - Unified Modeling Language) es un lenguaje que permite modelar, construir y documentar los elementos que forman un producto de software que responde a un enfoque orientado a objetos. Este lenguaje fue creado por un grupo de estudiosos de la Ingeniería de Software formado por: Ivar Jacobson, Grady Booch y James Rumbaugh en el año 1995. Desde entonces, se ha convertido en el estándar internacional para definir organizar y visualizar los elementos que configuran la arquitectura de una aplicación orientada a objetos (Ferrá, 2007). ¿Por qué es importante UML? UML está consolidado como el lenguaje estándar en el análisis y diseño de sistemas de cómputo. Mediante el mismo es posible establecer una serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir código. UML posee más características visuales que programáticas, que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fácilmente, estos integrantes siendo los analistas, diseñadores, especialistas de área y desde luego los programadores (2009). 1.6.2 Fundamentación de lenguajes y tecnologías Web. La empresa cuenta con diferentes máquinas conectadas físicamente unas con otras, por lo que es factible que la aplicación se desarrolle en un ambiente Web que permita la interconexión entre las diferentes microcomputadoras, tributando toda la información hacia un servidor de base de datos, el cual también brindaría servicios Web de intercambio de información con el primero e instalación de las interfaces a los diferentes usuarios. Actualmente son varios los lenguajes que se utilizan en la creación de sitios Web, y los servidores que soportan e interpretan a estos también son diversos. 1.6.2.1 Arquitectura Cliente/Servidor. Es un modelo de hardware y software adecuado para el proceso distribuido, en el que la comunicación se establece de uno a varios. Un proceso es un programa en ejecución. Proceso cliente es el que solicita un servicio. Proceso servidor es el capaz de proporcionar un servicio. Un proceso cliente se puede comunicar con varios procesos servidores y un servidor se puede comunicar con varios clientes. Los procesos pueden ejecutarse en la misma máquina o en distintas máquinas comunicadas a través de una red (Encarta, 2006). Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 12 Entre las principales características de la arquitectura Cliente/Servidor, se pueden destacar las siguientes: El servidor presenta a todos sus clientes una interfaz única y bien definida. El cliente no necesita conocer la lógica del servidor, sólo su interfaz externa. El cliente no depende de la ubicación física del servidor, ni del tipo de equipo físico en el que se encuentra, ni de su sistema operativo. Los cambios en el servidor implican pocos o ningún cambio en el cliente. La arquitectura Cliente/Servidor es una infraestructura versátil, modular y basada en mensajes que mejora la portabilidad, la interoperabilidad y la escalabilidad de los sistemas. Una aplicación cliente/servidor típica es un servidor de base de datos al que varios usuarios realizan consultas simultáneamente. Los sistemas distribuidos pueden consistir en diversos servidores que alojen datos, de forma que el cliente no tiene por qué conocer exactamente dónde se encuentran, simplemente hace una petición de servicio, y es el sistema servidor el encargado de localizarlos y proporcionar el resultado de la consulta al usuario que hizo la petición. 1.6.2.2 Arquitectura de N Capas. Distintas arquitecturas de desarrollo han pasado hasta llegar hoy a concebir el denominado desarrollo en capas. Para la mayoría de los usuarios, una aplicación de ‘n’ niveles es algo dividido en distintas partes lógicas. La opción más habitual está formada por una división en tres partes (presentación, lógica de negocio y datos), aunque existen otras posibilidades. Las aplicaciones en ‘n’ niveles surgieron por primera vez como una forma de resolver algunos de los problemas asociados a las aplicaciones cliente/servidor tradicionales (modelo de dos capas), pero con la llegada de la Web, esta arquitectura ha llegado a dominar el nuevo desarrollo (Muñoz, 2004). Este modelo de ´n´ capas consiste en dividir software de gran tamaño en partes más pequeñas, lo cual puede hacer más simples los procesos de generarlo, reutilizarlo y modificarlo. Aunque, algunas veces, los niveles residen físicamente en máquinas diferentes debe enfatizarse en la distribución lógica de los mismos. Los nombres de estos niveles difieren de acuerdo a la fuente, no obstante es bastante extendido el uso de las siguientes referencias en el modelo de 3 capas, el cual constituye el diseño más usado en la actualidad (Muñoz, 2004): Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. Capa de servicios de usuario o presentación. Capa de servicios de negocios. Capa de servicios de datos. El uso de las tres capas es relativo, depende de la tecnología utilizada en la implementación de la arquitectura y la complejidad de la misma. La siguiente figura gráfica el concepto del funcionamiento de esta arquitectura. 13 Figura 1: Modelo de diseño en tres capas. Esta arquitectura permite hacer que tanto la interfaz de usuario, las reglas de negocios y el motor de datos se conviertan en entidades separadas unas de otras, lo importante es mantener bien definidas las interfaces que cada una de estas expongan para comunicarse con la otra. Capa de servicios de usuario o presentación. En una aplicación de N niveles, esta capa reúne todos los aspectos del software que tiene que ver con las interfaces y la interacción con los diferentes tipos de usuarios humanos. Estos aspectos típicamente incluyen el manejo y aspecto de las ventanas, la autentificación de usuarios, el formato de los reportes, menús, gráficos y elementos multimedia en general. Capa de servicios de negocios. Esta capa reúne todos los aspectos del software que automatizan o apoyan los procesos de negocio que llevan a cabo los usuarios. Estos aspectos típicamente incluyen las tareas que forman parte de los procesos, las reglas y restricciones que aplican. La lógica de negocios construida en componentes lógicos personalizados enlaza los ambientes clientes y el nivel de servicios de datos. Esta capa también recibe el nombre de la capa de la Lógica de la Aplicación. Las responsabilidades de esta capa se pueden sintetizar en: Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 14 1. Recibir la entrada del nivel de presentación. 2. Interactuar con los servicios de datos para poder ejecutar las operaciones de negocios que la aplicación automatiza. 3. Enviar el resultado procesado al nivel de presentación. Capa de servicios de datos. Esta capa reúne todos los aspectos del software que tienen que ver con el manejo de los datos persistentes, por lo que también se le denomina la capa de las Bases de Datos. Los principales servicios de esta capa radican en: • Almacenar los datos. • Recuperar los datos. • Mantener los datos. • La integridad de los datos. El modelo de N capas persigue, con su arquitectura, que las aplicaciones maximicen aspectos trascendentes en el desempeño como son: Autonomía: Habilidad de una aplicación para gobernar sus recursos críticos. Confiabilidad: Habilidad de una aplicación para proporcionar resultados exactos. Disponibilidad: Cantidad de tiempo que una aplicación es capaz de dar servicio confiablemente a las peticiones del cliente. Escalabilidad: Meta utópica del crecimiento lineal del rendimiento al agregar recursos adicionales, y es lo que le permite a una aplicación servir desde 10 usuarios, hasta decenas de miles de usuarios, simplemente agregando o quitando recursos como sea necesario para "escalar" la aplicación. Interoperabilidad: Habilidad de una aplicación para acceder a las aplicaciones, los datos o los recursos en otras plataformas. El uso de una arquitectura de N capas permite que la potencia de cálculo recaiga en el servidor. De esta manera, los clientes son cada vez más ligeros y no necesitan ni demasiadas capacidades de cálculo ni un excesivo software instalado, porque la capa de negocio y la de datos se encuentran centralizadas en el servidor. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 15 1.6.2.3 Lenguajes y tecnologías del lado del cliente. Las tecnologías del lado del cliente están insertadas en la página HTML del cliente y son interpretadas y ejecutadas por el navegador. Es decir, su correcta funcionalidad depende del soporte de la versión del navegador a ser utilizado por el usuario visitante. HTML HTML (Hyper Text Markup Language), no es un lenguaje de programación, es un lenguaje de especificación de contenidos para un tipo específico de documentos. Es decir, mediante HTML se puede especificar, usando un conjunto de etiquetas o tags, cómo va a representarse la información en un navegador o browser. Se centra en la representación en la pantalla de la información (Cáceres, 2005). HTML es un lenguaje muy sencillo que permite describir hipertexto, es decir, texto presentado de forma estructurada y agradable, con enlaces (hyperlinks) que conducen a otros documentos o fuentes de información relacionadas, y con inserciones multimedia como gráficos y sonidos (Lemay, 2007). Además el lenguaje HTML, permite a los desarrolladores crear documentos que pueden ser interpretados en ordenadores que tengan diferentes sistemas operativos. El HTML es un lenguaje de marcas. Los lenguajes de marcas no son equivalentes a los lenguajes de programación aunque se definan igualmente como "lenguajes". Son sistemas complejos de descripción de información, normalmente documentos, que se pueden controlar desde cualquier editor ASCII (Shwarte, 2008). CSS Las Hojas de Estilo en Cascada o CSS constituyen un lenguaje sencillo que complementa el de HTML, suponiendo un apoyo fundamental a la hora de diseñar páginas Web, porque permiten una mayor precisión en el ajuste de los elementos de diseño (Briggs, 2006). Esta técnica consiste en separar el diseño del contenido, de manera que las indicaciones para conformar el diseño se agrupan en una hoja de estilo o archivo fuera del contenido del documento de la página HTML. Lo que hace fundamentalmente el código de las hojas de estilos es transformar las etiquetas del lenguaje HTML y conformarlas a las características que se quiera darle; pero también, y esto es lo importante, con este código se pueden crear etiquetas nuevas, que se introducen dentro del documento (Meyer, 2008). Una de las ventajas de las hojas de estilos es que se puede modificar algunas características de todos los documentos de un sitio Web desde un archivo, sin tener que modificarlas en cada uno de los documentos (Owner). Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 16 XML XML es la sigla del inglés eXtensible Markup Language (lenguaje de marcado ampliable o extensible) desarrollado por el World Wide Web Consortium (W3C). Este lenguaje aprovecha las innegables ventajas del HTML y a su vez permite describir el contenido de lo que etiqueta. Además de los lenguajes de marcas que se pueden definir con ayuda de XML, existen también lenguajes basados en XML, que están previstos para el uso general. De esta manera el Consortium (W3C) ofrece algunos lenguajes, con la esperanza de que ellos sean aplicados por una gran cantidad de personas. Se trata de lenguajes con funciones muy diferentes. Existe por ejemplo un formato de archivo de nombre SVG, con su ayuda se pueden crear gráficos vectoriales, o también un lenguaje de nombre MathML para la marcación exacta de fórmulas matemáticas y científicas. Cuando se habla de XML, entonces vemos que no se trata solamente del núcleo de XML, sino también de una basta familia de lenguajes basados en XML - es decir de los derivados de XML (Schengili, 2007). Los fundamentos de XML son muy sencillos. Aunque a primera vista, un documento XML puede parecer similar a HTML, hay una diferencia principal. Un documento XML contiene datos que se autodefinen, exclusivamente. Un documento HTML contiene datos mal definidos, mezclados con elementos de formato. En XML se separa el contenido de la presentación de forma total (Schengili, 2007). JavaScript / DOM En HTML se puede entre otras cosas definir formularios. Tales formularios pueden contener campos de entrada, listas de selección, botones etc. El usuario puede llenar un formulario y enviarlo por la Web. Sin embargo HTML no le permite al proveedor verificar los datos después de que el usuario haya llenado el formulario y antes de que este envíe los datos (Cáceres, 2005). Los lenguajes de Script constituyen programas incluidos en el código HTML y que son interpretados por el navegador. Facilitan una mejor interacción con el usuario y permiten realizar algunas tareas simples en la parte del cliente como son: validación de los datos de los formularios, mensajes de alerta, etc. JavaScript es soportado por los dos navegadores más populares Navigator e Internet Explorer. Esto lo hace muy útil cuando se programa del lado del cliente, ya que permite que su código sea interpretado independientemente del navegador que se tenga. Otra de las ventajas de este lenguaje Script es que puede ser utilizado también en servidores Web, en lo que se conoce como la programación del lado del servidor. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 17 DOM El Modelo de Objetos de Documento o DOM, es la interfaz que permite acceder y manipular, mediante la programación, los contenidos de una página Web (o documento). Proporciona una representación estructurada, orientada a objetos, de los elementos individuales y el contenido de una página, con métodos para recuperar y fijar sus propiedades. Además, proporciona técnicas para agregarlos y eliminarlos, permitiendo crear contenido dinámico. El DOM especifica objetos de documentos HTML, sus relaciones y atributos, generalmente utilizando la sintaxis del punto. Además permite acceder a todos los elementos de una página y a ciertas características específicas del navegador. El DOM proporciona también una interfaz para trabajar con eventos, permitiendo capturar y responder a las acciones del usuario o del navegador. Siendo una especificación del W3C, uno de los objetivos importantes del Modelo de Objetos del Documento es proporcionar una interfaz estándar de programación que pueda utilizarse en una amplia variedad de entornos y aplicaciones. El DOM se ha diseñado para ser utilizado en cualquier lenguaje de programación (Serrano, 2009). AJAX El término AJAX es un acrónimo de Asynchronous JavaScript + XML, que se puede traducir como "JavaScript asíncrono + XML". No es una tecnología en sí mismo. En realidad, se trata de varias tecnologías independientes que se unen de formas nuevas y sorprendentes. Las tecnologías que forman AJAX son: XHTML y CSS, para crear una presentación basada en estándares. DOM, para la interacción y manipulación dinámica de la presentación. XML, XSLT y JSON, para el intercambio y la manipulación de información. XMLHttpRequest, para el intercambio asíncrono de información. JavaScript, para unir todas las demás tecnologías. En las aplicaciones Web tradicionales, las acciones del usuario en la página (pinchar en un botón, seleccionar un valor de una lista, etc.) desencadenan llamadas al servidor. Una vez procesada la petición del usuario, el servidor devuelve una nueva página HTML al navegador del usuario. Esta técnica tradicional para crear aplicaciones Web funciona correctamente, pero no crea una buena sensación al usuario. Al realizar peticiones continuas al servidor, el usuario debe esperar a que se recargue la página con los cambios solicitados. Si la aplicación debe realizar peticiones continuas, su Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 18 uso se convierte en algo molesto. Mientras que AJAX permite mejorar completamente la interacción del usuario con la aplicación, evitando las recargas constantes de la página, ya que el intercambio de información con el servidor se produce en un segundo plano (Pérez, 2008). Es una manera de crear una aplicación que responde a las acciones del usuario sin refrescar la página contra el servidor. 1.6.2.4 Lenguajes y tecnologías del lado del servidor. Pueden o no estar insertadas dentro de la página HTML. A diferencia de las tecnologías del lado del cliente, estas tecnologías no dependen del navegador ya que son interpretadas y ejecutadas por el servidor. PHP PHP acrónimo recursivo de "PHP: Hypertext Preprocessor" (Preprocesador de Hipertexto), es un lenguaje de programación interpretado, con licencia OpenSource. Su interpretación y ejecución se da en el servidor en el cual se encuentra almacenada la página, el cliente solo recibe el resultado de la ejecución. Cuando el cliente hace una petición al servidor para que le envíe una página Web, enriquecida con código PHP, el servidor interpretará las instrucciones mezcladas en el cuerpo de la página y las sustituirá con el resultado de la ejecución antes de enviar el resultado a la computadora del cliente. Permite el uso de las técnicas de Programación Orientada a Objetos. El código PHP se incluye entre etiquetas especiales de comienzo y final que nos permitirán entrar y salir del modo PHP (Ojeda, 2008). PHP tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos tales como UNIX, Linux, Windows y Mac OS X, y puede interactuar con los servidores de Web más populares. Además permite la conexión a numerosas bases de datos de forma nativa tales como: MySQL, Postgres, Oracle, ODBC, IBM DB2, Microsoft SQL Server y SQLite. ASP Active Server Pages, en español Páginas Activas en el Servidor (ASP) es una tecnología del lado servidor de Microsoft para generar páginas Web de forma dinámica, que ha sido comercializada como un anexo a Internet Information Server (IIS). Las páginas pueden ser generadas mezclando código de scripts del lado del servidor (incluyendo acceso a base de datos) con HTML y código del lado del servidor (Cáceres, 2005). La utilidad más practicada de las páginas ASP es la facilidad para conectar con una base de datos y extraer datos de la misma dinámicamente visualizándolos en el navegador. Puede conectarse a gestores Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 19 de Base de datos SQL, Access, Oracle, Sybase, DB2, FoxPro, dBase, Informix o cualquier otro motor que disponga de driver ODBC. Para procesar una página ASP no existe restricción especial en el lado del cliente, por lo que es indiferente la utilización del navegador, Internet Explorer o Netscape Comunicator. Sin embargo, en el lado del servidor, es necesario un servidor Web de Microsoft, debido a que ASP es una tecnología propietaria de Microsoft. Se utiliza el archivo ASP.DLL para interpretar el código, siendo el servidor más extendido Internet Information Server (más conocido como IIS) (Cáceres, 2005). 1.6.3 Sistemas Gestores de Bases de Datos (SGBD). Una Base de Datos es un conjunto de datos interrelacionados, almacenados con carácter más o menos permanente en la computadora, puede ser considerada una colección de datos variables en el tiempo. Un Sistema de Gestión de Base de Datos (SGBD) es el software que permite la utilización y/o la actualización de los datos almacenados en una (o varias) base(s) de datos por uno o varios usuarios desde diferentes puntos de vista y a la vez (Matos, 2001). El objetivo fundamental de un SGBD consiste en suministrar al usuario las herramientas que le permitan manipular, en términos abstractos, los datos, o sea, de forma que no le sea necesario conocer el modo de almacenamiento de los datos en la computadora, ni el método de acceso empleado (Matos, 2001). SQL SQL (Structured Query Language) ó Lenguaje de Consulta Estructurado es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones sobre las mismas. Posibilita lanzar consultas con el fin de recuperar información de interés de una base de datos de una forma sencilla. SQL permite la concesión y denegación de permisos, la implementación de restricciones de integridad y controles de transacción, y la alteración de esquemas. Debido a que es un lenguaje declarativo, especifica qué es lo que se quiere y no como conseguirlo, por lo que una sentencia no establece explícitamente un orden de ejecución (Serrano, 2009). MySQL MySQL es uno de los Sistemas Gestores de bases de Datos más populares desarrolladas bajo la filosofía de código abierto. Las principales virtudes del MySQL son su gran velocidad, robustez y facilidad de uso. Fue desarrollado inicialmente para manejar grandes bases de datos mucho más Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 20 rápidamente que las soluciones existentes y ha sido usado exitosamente por muchos años en ambientes de producción de alta demanda. A través de constante desarrollo, MySQL Server ofrece hoy una rica variedad de funciones. También tiene la opción de protección mediante contraseña, la cual es flexible y segura (García, 2006). SQL Server 2000. Microsoft SQL Server, pertenece a la familia de los sistemas de administración de base de datos, operando en una arquitectura cliente/servidor de gran rendimiento. Puede manejar perfectamente bases de datos de TeraBytes con millones de registros y funciona sin problemas con miles de conexiones simultáneas a los datos . SQL Server permite la creación de procedimientos almacenados, los cuales consisten en instrucciones SQL que se almacenan dentro de una base de datos de SQL Server. Esto agrega una gran practicidad, debido a que permite instrumentar consultas y transacciones muy desarrolladas dentro de los procedimientos almacenados, y después vincularse a ellos mediante la aplicación cliente. Los procedimientos almacenados presentan además otra gran ventaja, se ejecutan más rápido que instrucciones SQL independientes (García, 2006). Postgres SQL PostGreSQL es un sistema de gestión de bases de datos objeto-relacional (ORDBMS). Es una derivación libre (OpenSource), y utiliza el lenguaje SQL92/SQL99. Fue el pionero en muchos de los conceptos existentes en el sistema objeto-relacional actual, incluido, más tarde en otros sistemas de gestión comerciales. PostGreSQL es un sistema objeto-relacional, ya que incluye características de la orientación a objetos, como puede ser la herencia, tipos de datos, funciones, restricciones, disparadores, reglas e integridad transaccional. Es altamente extensible ya que soporta operadores, funciones, métodos de acceso y tipos de datos definidos por el usuario. Tiene soporte SQL e incluye características avanzadas tales como las uniones (joins) SQL92. Soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos. 1.6.4 Herramientas de desarrollo. Macromedia Dreamweaver MX. Es uno de los editores de páginas Web más usados a nivel mundial, de forma profesional. Cuenta con una amplia gama de herramientas que posibilitan la creación de sitios Web desde los más sencillos hasta los más complejos y completos, permitiendo utilizar casi todos los recursos Web. Este editor de HTML que es profesional para el diseño, el código y desarrollo de páginas o sitios Web, permite Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 21 además la edición visual, que no es más que hacer páginas Web muy rápidamente sin la necesidad de escribir código. Ayuda a la creación de páginas Web dinámicas apoyadas en Bases de Datos. Se pueden crear objetos y comandos propios. Permite escribir código script para extender las capacidades de las páginas Web creadas con nuevos comportamientos. Soporta varias tecnologías del servidor entre las que se incluye el PHP que es la designada para implementar el sistema propuesto. Por estas razones se decidió trabajar con esta herramienta. Visual Paradigm Visual Paradigm para UML es una herramienta UML profesional que soporta el ciclo de vida completo del desarrollo de software: análisis y diseño orientados a objetos, construcción, pruebas y despliegue. El software de modelado UML ayuda a una más rápida construcción de aplicaciones de calidad, mejores y a un menor costo. Permite dibujar todos los tipos de diagramas de clases, código inverso, generar código desde diagramas y generar documentación. La herramienta UML CASE también proporciona abundantes tutoriales de UML, demostraciones interactivas de UML y proyectos UML (Paradigm.org, 2011). PHPMyAdmin PHPMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas Web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y está disponible en 50 idiomas. Se encuentra disponible bajo la licencia GPL. Como esta herramienta corre en máquinas con Servidores Web y Soporte de PHP y MySQL, la tecnología utilizada ha ido variando durante su desarrollo. EMS Manager El EMS Gerente de SQL para MySQL es una herramienta de alto rendimiento de desarrollo y de administración del Servidor de Base de datos MySQL. Trabaja con cualquier versión de MySQL que se encuentre de la 3.23 a la 5.06 y apoya todos los últimos rasgos de MySQL incluyendo las vistas, procedimientos almacenados y funciones, InnoDB y teclas extranjeras. Esto ofrece muchas herramientas poderosas para que usuarios con experiencia puedan satisfacer todas sus necesidades. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 22 1.6.5 Fundamentación del lenguaje, gestores de bases de datos y de otros software que serán utilizados. El sitio Web será implementado con tecnología Hypertext Preprocessor (PHP) usando el lenguaje HTML y JavaScript para generar los scripts del lado del cliente. La herramienta para generar el sitio será Macromedia Dreamweaver MX. Esta herramienta desde su aparición se ha convertido en un estándar para los desarrolladores Web, permite a sus usuarios diseñar y crear código para una completa gama de soluciones. La capa de negocio estará a cargo de un servidor Apache y el lenguaje PHP. La capa de datos estará representada por MySQL como sistema gestor de bases de datos relacional. ¿Por qué PHP? • Brinda todas las prestaciones necesarias y requeridas para el desarrollo del sistema propuesto. • Está soportado en la mayoría de las plataformas de Sistemas Operativos. • El PHP no tiene costo oculto, es decir que cuando se adquiere incluye un sinnúmero de bibliotecas que proporcionan el soporte para la mayoría de las aplicaciones Web, por ejemplo e- mail, generación de ficheros PDF y otros. En caso de que no se tengan las bibliotecas, se pueden encontrar gratis en Internet. • Soporta una gran cantidad de bases de datos. • Es el que más conocen los programadores. ¿Por qué MySQL? • Puede trabajar en distintas plataformas y Sistemas Operativos. • Es libre al igual que PHP. • Es altamente compatible con el lenguaje PHP, por el amplio conjunto de comandos definidos para el tratamiento de este. • Aprovecha la potencia de sistemas multiprocesador, gracias a su implementación multihilo. • Soporta gran cantidad de tipos de datos para las columnas. • Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP). • Soporta hasta 32 índices por tabla. Los Sistemas de Gestión de la Información, Tecnologías y Tendencias Actuales. 23 1.7 Conclusiones. Del estudio realizado anteriormente se puede concluir que: Dada la importancia que se le atribuye hoy en día a la gestión de la información en el mundo empresarial, se hace necesaria la aplicación de las nuevas tecnologías, con el fin de perfeccionar este proceso logrando una mayor calidad y eficiencia. Para ello se ha realizado un profundo estudio teórico, capaz de definir las necesidades existentes en el PDA de la Empresa Pecuaria Macún de Sagua la Grande las cuales llevarán consigo a la implementación de un sistema automatizado que se convertirá en una herramienta muy útil para ayudar a realizar la gestión de la información productiva en el centro. Al finalizar este estudio, se definieron además las metodologías a utilizar, así como los lenguajes, tecnologías y sistema gestor de base de datos que arrojan resultados satisfactorios en la obtención de un sistema informático confiable a partir de un buen análisis y diseño. CAPÍTULO II. ANÁLISIS Y DISEÑO DEL SISTEMA. Análisis y Diseño del Sistema. 24 2.1 Introducción. En este capítulo se realiza una breve descripción del negocio que se desea automatizar, pues antes de empezar a desarrollar un sistema es necesario comprender la organización bajo estudio y los procesos que en ella tienen lugar, con el objetivo de lograr una mejor comprensión del problema que se quiere resolver. Pero el objetivo fundamental del capítulo es abordar detalladamente aspectos propios del análisis y diseño de la aplicación que se desea desarrollar como son, la captura de requisitos funcionales y no funcionales, la descripción de los actores y de casos de uso del sistema, así como la definición de las clases persistentes y la creación de diagramas que representen la interacción que se desea que tenga el sistemas una vez implementado. 2.2 Modelos del negocio. 2.2.1 Descripción de los procesos de negocio. El primer paso del modelado del negocio consiste en capturar y definir los procesos de negocio de la organización bajo estudio, tarea crucial que define los límites del proceso de modelado posterior. Como resultado del estudio que se realizó en la organización, fueron identificados los siguientes procesos que serán modelados a continuación: Registro del Plan de Producción Anual. La dirección de la empresa y sus especialistas en el último trimestre del año en curso establecen el cronograma de reuniones para el análisis del plan correspondiente al próximo año, estas actividades se realizan en cada una de las Fincas pertenecientes a las UEB, en ellas se discuten los principales indicadores técnicos productivos y se proyecta el crecimiento o no de los mismos quedando así aprobado el Plan de Producción Anual. El Planificador del PDA registra los valores mensuales de dicho plan por indicadores en un libro electrónico Excel nombrado Planes Macún “Año”.xls así pueden establecer periódicamente una comparación con los datos reales de la producción que van recibiendo día a día desde cada una de las Fincas, el comportamiento de cada uno va quedando plasmado. Este documento también es entregado en formato impreso a cada uno de los Jefes de las UEB involucradas, los especialistas y otros directivos. Control de la Producción. En las UEB se realiza diariamente la captación de datos primarios de las diferentes Fincas en su correspondiente modelo (Ver Anexo No. 1), los jefes en cada una de estas áreas verifican y aprueban la Análisis y Diseño del Sistema. 25 validez de los mismos. Posteriormente estos modelos son llevados al CGI para conformar el consolidado de todas las UEB, este trabajo se realiza transponiendo los datos de cada modelo a un libro electrónico Excel llamado Parte CGS.xls o Parte CGC.xls, (Ver Anexos No. 2 y 3) según corresponda, los archivos se envían por correo electrónico desde los CGI (Sagua y Caguagua) al PDA, donde una vez recibida la información se descarga en la máquina dedicada a procesar la misma, esto se hace en el directorio habilitado, es decir, “C:\Partes\Diario Empresa” en el cual se localiza una carpeta con el nombre del año a que se refiera la información y dentro de esta otras con los nombres de los meses, en estas carpetas se encuentran todos los archivos de trabajo relacionados y además el archivo Consolidado del Parte Diario Empresa.xls. (Ver Anexo No. 4) Este libro se encuentra vinculado a los libros Parte CGS.xls y Parte CGC.xls mediante un grupo de trabajo nombrado Consolidado.xlw, que se ejecuta para actualizar automáticamente la información diaria de la empresa en el libro Consolidado del Parte Diario Empresa.xls. De esta forma es como el PDA controla la información productiva de la empresa. Gestión de la Producción. Una vez consolidada toda la información productiva de la empresa en el libro Consolidado del Parte Diario Empresa.xls, es que se comienza a gestionar la información con el fin de darle diferentes salidas mediante reportes según las solicitudes de los niveles horizontal y vertical, es decir, a nivel Empresarial y Municipal o a nivel Provincial. Este libro también se encuentra vinculado a los libros Principales Indicadores.xls, Partes MACUN.xls y Reportes.xls (Ver Anexos No. 5 y 6) mediante grupos de trabajo que se ejecutan para actualizar automáticamente la información que diariamente el PDA debe reportar a los diferentes niveles y a su vez esos libros se encuentran vinculados a otro que contiene la planificación de la producción del año nombrado Planes Macún “Año”.xls, para obtener el por ciento de cumplimento de la producción con respecto al plan. Ante la demanda de una nueva información el PDA tiene que modificar de forma global los libros electrónicos o crear uno nuevo que contenga la estructura de la información que se desea obtener y además que se vincule al libro Consolidado del Parte Diario Empresa.xls y al libro Planes Macún “Año”.xls para poder extraer de allí la información primaria que se necesita. De esta forma es como el PDA gestiona la información productiva diaria de la empresa. 2.2.2 Modelo de Caso de Usos del negocio. El modelo de Casos de Uso del Negocio es un modelo que describe los procesos de negocio de una empresa en términos de casos de uso y actores del negocio en correspondencia con los procesos del Análisis y Diseño del Sistema. negocio y los clientes, respectivamente. Es decir detalla cómo el negocio es utilizado por sus clientes y socios. 2.2.2.1 Actores del negocio. Un actor del negocio es cualquier individuo, grupo, entidad, organización, máquina o sistema de información externos; con los que el negocio interactúa. Lo que se modela como actor es el rol que se juega cuando se interactúa con el negocio para beneficiarse de sus resultados (Jacobson, 2004a). En consecuencia, se define como actor del negocio investigado el siguiente: Nombre del Actor Justificación PDA El Puesto de Dirección y Análisis es el encargado de registrar la planificación anual de la empresa y de manejar toda la información referente al proceso de control y gestión de la producción diaria, es el principal beneficiado de los procesos del negocio analizado. Tabla 1: Actor del negocio. 2.2.2.2 Diagrama de Casos de Uso del Negocio. Un caso de uso del negocio representa a un proceso de negocio, por lo que se corresponde con una secuencia de acciones que producen un resultado observable para ciertos actores del negocio. Desde la perspectiva de un actor individual, define un flujo de trabajo completo que produce resultados deseables (González, 2005). A partir de los procesos antes descritos se identificaron los siguientes casos de uso: Figura 2: Diagrama de Casos de Uso del Negocio. 26 Análisis y Diseño del Sistema. 27 2.2.2.3 Diagramas de actividades del negocio. El diagrama de actividad es un grafo que contiene los estados en que puede hallarse la actividad a analizar. Cada estado de la actividad representa la ejecución de una sentencia de un procedimiento, o el funcionamiento de una actividad en un flujo de trabajo. En resumen describe un proceso que explora el orden de las actividades que logran los objetivos del negocio (Jacobson, 2004b). • Diagrama de Actividades del CU del Negocio “Registro del Plan de Producción Anual”. (Ver Anexo No. 7) • Diagrama de Actividades del CU del Negocio “Control de la Producción”. (Ver Anexo No. 8) • Diagrama de Actividades del CU del Negocio “Gestión de la Producción”. (Ver Anexo No.9) 2.3 Sistema para la Gestión de la Información Productiva (SGIP). 2.3.1 Descripción de los requisitos funcionales del sistema. Las necesidades de usuarios y clientes para mejorar su trabajo se identifican como requisitos. Aquellos requisitos que responden a: ¿qué debe hacer el sistema? y describen las capacidades que el sistema debe cumplir se conocen como requisitos funcionales. Se prevé que el sistema que se propone tenga las siguientes funcionalidades: 1. Autenticarse. 2. Mostrar ayuda del sistema. 3. Cambiar contraseña. 4. Ofrecer Reportes. 5. Administrar usuarios. 6. Gestionar planificación. 7. Gestionar producción. 8. Gestionar Fincas. 9. Gestionar Unidades Empresariales de Base (UEB). 10. Gestionar Centros Gestores de la Información (CGI). 11. Gestionar Grupos de Indicadores. 12. Gestionar Indicadores. Análisis y Diseño del Sistema. 28 13. Gestionar Unidades de Medidas (UM). 2.3.2 Descripción de los requisitos no funcionales del sistema. Los requisitos no funcionales detallan cualidades, propiedades del sistema; como restricciones del entorno o de la implementación, rendimiento, dependencias de la plataforma, etc. Para el sistema propuesto se han definido los siguientes requisitos no funcionales: • Apariencia o interfaz externa. El sistema (aplicación Web) se desarrollará con una interfaz amigable, sencilla, agradable, legible y de fácil uso para el usuario. Permitirá gestionar la información de la base de datos y se velará porque sea lo más interactiva posible, para realizar consultas a la información existente, teniendo en cuenta las normas de diseño para garantizar una navegabilidad exitosa. • Usabilidad Los usuarios del sistema requerirán de autenticación para ingresar al mismo manejando de esta forma solo la información referente a su área o tarea a desempeñar. Sólo podrá ser utilizado por personas que posean los conocimientos básicos correspondientes a la gestión de la información de los procesos del negocio que fueron objeto de automatización. Aunque tendrán a su disposición una ayuda en línea con los aspectos generales a tener en cuenta para llevar a cabo esta tarea. • Rendimiento El sistema deberá ser rápido ante las solicitudes de los usuarios y en el procesamiento de la información. La eficiencia de la aplicación estará determinada en gran medida por el aprovechamiento de los recursos que se disponen en el modelo Cliente/Servidor, y la velocidad de las consultas a la base de datos. Se realizará la validación de los datos y la manipulación de eventos en el cliente y en el servidor aquellas que por cuestiones de seguridad, o de acceso a los datos lo requieran. Lográndose así un tiempo de respuesta más rápido, una mayor velocidad de procesamiento, y un mayor aprovechamiento de los recursos. • Requerimiento de Soporte Del lado del Servidor: Se requiere una computadora que cuente con un servidor AppServ que es una herramienta OpenSource para Windows que facilita la instalación de Apache, MySQL y PHP en una sola herramienta, esta característica facilita la tarea al usuario ya que se configuran las aplicaciones de forma automática, Análisis y Diseño del Sistema. 29 Apache: es un servidor HTTP multiplataforma, PHP: lenguaje de programación dinámico que utilizan la mayoría de gestores de contenidos más populares. Se integra a la perfección con MySQL y Apache. MySQL: gestor de bases de datos, rápido y seguro, phpMyAdmin: interfaz gráfica de administración para MySQL. Todo lo anterior para una eficiencia óptima, aunque todo el conjunto puede estar en una sola máquina. Del lado del cliente: Por parte del cliente se requiere un navegador que interprete las funciones básicas de JavaScript, con Sistema Operativo Windows para instalar el navegador requerido para interpretar la configuración del sistema. • Portabilidad El producto podrá ser utilizado sobre plataforma Windows. La estandarización del protocolo de TCP/IP y HTTP permite la interacción del lado del cliente para los sistemas operativos más difundidos, entre ellos Windows. No obstante, hay que señalar que la plataforma seleccionada para desarrollar la aplicación fue Microsoft Windows. • Seguridad Teniendo en cuenta que la aplicación almacenará información referente a la producción de la empresa y que esta solamente es de su interés, pues de ella dependerá la toma de decisiones: La información estará protegida contra accesos no autorizados utilizando mecanismos de autenticación y autorización que puedan garantizar el cumplimiento de esto: login, contraseña y nivel de acceso, de manera que cada uno tenga datos de acceso propios. Se usarán mecanismos de encriptación de los datos que por cuestiones de seguridad no deben viajar al servidor en texto claro, como es el caso de las contraseñas. Se guardará encriptada esta información en la base de datos utilizando para ello MD5 como algoritmo de encriptación. Se crearán usuarios con diferentes niveles de acceso al sistema. Se limitarán los permisos de los usuarios que ejecutan sentencias o consultas SQL. No obstante los usuarios accederán de manera rápida y operativa al sistema sin que los requerimientos de seguridad se conviertan en un retardo para ellos. Análisis y Diseño del Sistema. 30 2.3.3 Modelo de casos de uso del sistema. El modelo de casos de uso permite que los desarrolladores del software y los clientes lleguen a un acuerdo sobre los requisitos, es decir, sobre las condiciones y posibilidades que debe cumplir el sistema. Describe lo que hace el sistema para cada tipo de usuario (Jacobson, 2000a). 2.3.3.1 Actores del sistema. Los actores representan terceros fuera del sistema que colaboran con él. Suelen corresponderse con trabajadores y/o actores en un negocio. Actores Justificación Conciliador Este actor requiere autenticación en el sistema y tiene derecho a cambiar su contraseña, a consultar la ayuda, a ver reportes y guardarlos si lo desea y tendrá acceso a la información según el rol que juega en el sistema. Administrador Este actor realiza la inserción o eliminación de los usuarios en el sistema, así como la configuración de los parámetros generales de los mismos y es quien se encarga de otorgar los privilegios según su rol en el sistema. Analista Este actor realiza la mayoría de las actividades del sistema, es el encargado de gestionar la producción, la planificación, los grupos de indicadores, los indicadores, las unidades de medidas (UM), las fincas, las Unidades Empresariales de Base (UEB), y los Centros Gestores de la Información (CGI). Operario Este actor, es el encargado de entrar la producción diaria al sistema. Tabla 2: Actores de sistema. Análisis y Diseño del Sistema. 2.3.3.2 Diagramas de Casos de Uso del Sistema. 31 Fi gura 3: Diagrama de Casos de Uso del Sistema. 2.3.3.3 Descripción de los casos de uso del sistema. A continuación se describen brevemente algunos de los casos de uso que se consideran importantes para el sistema pues resuelven los problemas fundamentales que presenta el sistema actual en el PDA, los demás serán descritos en los Anexos (Ver anexos No. 10, 11, 12, 13, 14, 15 y 16). Análisis y Diseño del Sistema. 32 Caso de Uso Autenticar Actores Conciliador Propósito Posibilitar la autenticación de los usuarios antes de entrar al sistema. Precondiciones Para la correcta realización del caso de uso, el usuario debe estar registrado en la Base de Datos del sistema e introducir correctamente su nombre de usuario y contraseña, de lo contrario no podrá acceder al mismo. Resumen El Caso de Uso se inicia cuando un usuario decide acceder al sistema. Para esto es necesario que cada usuario se autentifique y así podrá acceder a la información según los privilegios que tenga. Esta operación le brinda al sistema una mayor seguridad y una vez realizada concluye el Caso de Uso. Poscondiciones El usuario accede a la información que le corresponde según su nivel privilegios. Tabla 3: Descripción del CU del Sistema “Autenticar”. Caso de Uso Consultar ayuda Actor Conciliador Propósito Facilitar ayuda y soporte técnico ante cualquier interrogante. Precondiciones ------ Resumen El caso de uso inicia cuando un usuario quiere conocer más acerca de las diferentes acciones que puede ejecutar sobre el sistema. El sistema le da la posibilidad de tener acceso a esa información y así concluye el caso de uso. Poscondiciones Se muestra la ayuda. Tabla 4: Descripción del CU del Sistema “Consultar Ayuda”. Caso de Uso Cambiar Contraseña Actor Conciliador Propósito Permitir que un usuario cambie su clave de acceso al sistema. Precondiciones Debe existir información almacenada del Conciliador y este debe estar activo. Análisis y Diseño del Sistema. 33 Resumen El Caso de Uso se inicia cuando un usuario decide cambiar su contraseña. Para esto es necesario que el usuario se encuentre previamente autenticado en el sistema, así podrá realizar el cambio de la misma. Una vez realizada la acción concluye el Caso de Uso. Poscondiciones La contraseña se actualiza en caso de no existir errores. Tabla 5: Descripción del CU del Sistema “Cambiar Contraseña”. Caso de Uso Solicitar Reportes Actor Conciliador Propósito Solicitar la información que se encuentra almacenada en la base de datos del sistema acerca de los procesos de control de la planificación y control de la producción. Precondiciones Para mostrar cualquiera de los reportes solicitados por el Usuario se deben pasar los parámetros requeridos para realizar el filtrado de la información seleccionada. Resumen El Caso de Uso se inicia cuando algún Conciliador solicita al sistema alguna información referente a los procesos antes mencionados para su conciliación y evaluación, o cuando necesita algún dato para cuantificar y llevar un estimado de la producción. Poscondiciones Se visualizan los resultados. Tabla 6: Descripción del CU del Sistema “Solicitar Reportes”. Caso de Uso Administrar Usuarios Actor Administrador Propósito Posibilitar al administrador del sistema, efectuar acciones sobre los usuarios que se encuentren registrados en el mismo. Precondiciones Para la inserción de un nuevo usuario al sistema el administrador debe asignar al mismo, nombre, tipo de usuario, login, contraseña y el centro gestor al que pertenece. Análisis y Diseño del Sistema. 34 Resumen El Caso de Uso se inicia cuando el administrador decide insertar un nuevo usuario al sistema, así como eliminar o modificar uno ya existente. Para la correcta realización del caso de uso el administrador debe tener presente el nivel de acceso a la información que tendrá el usuario dentro del sistema. Una vez efectuada la acción sobre el usuario concluye el caso de uso. Poscondiciones El usuario quedará insertado, modificado o eliminado del sistema. Tabla 7: Descripción del CU del Sistema “Administrar Usuarios”. Caso de Uso Gestionar Producción Actor Operario Propósito Insertar, modificar o eliminar la producción de un día. Precondiciones Para la inserción de una nueva producción al sistema, el Operario debe tener en cuenta que ésta no se encuentre ya en la base de datos del sistema. Para la modificación o eliminación de una producción éste debe encontrarse en el sistema y ser elegido por el Operario para realizar sobre él dichas acciones. Resumen El Caso de Uso se inicia cuando el Operario decide insertar una producción al sistema, así como eliminar o modificar una ya existente, para poder lograrlo debe introducir correctamente los datos que se requieren, de lo contrario no se realizará satisfactoriamente el caso de uso que concluye una vez efectuada la acción. Poscondiciones La producción quedará insertada, modificada o eliminada del sistema. Tabla 8: Descripción del CU del Sistema “Gestionar Producción”. 2.3.3.4 Diagramas de colaboración. Los diagramas de colaboración destacan la organización de los objetos que participan en una interacción ordenados a partir de la topología que muestra el envío de sus mensajes, los cuales representan el nivel de colaboración entre los distintos objetos existentes e indican cuando se requiere generar nuevos objetos para cumplir con las responsabilidades asignadas. Con un escenario representamos el conjunto de eventos que configura el comportamiento de un Caso de Uso por lo que dividimos el caso de uso Gestionar Producción en tres escenarios para una mejor representación de los diagramas de colaboración. Para ver la representación de los diagramas de colaboración de los demás casos de uso consultar los Anexos. (Ver Anexo No. 17) Análisis y Diseño del Sistema. 35 Figura 4. Diagrama de Colaboración para “Insertar Producción” Figura 4: Diagrama de colaboración para modificar producción. Figura 5. Diagrama de Colaboración para “Modificar”. 2.3.3.5 Diagramas de clases del diseño. Figura 6. Diagrama de Colaboración para “Eliminar Producción" Análisis y Diseño del Sistema. Un diagrama de clases es una colección de elementos declaratorios del modelo, como clases, tipos y sus relaciones; conectados unos a otros y a sus contenidos en forma de grafo. Se usa como medio para definir las páginas y sus hipervínculos (Jacobson, 2000b). Haciendo uso de las extensiones de UML para Web y a partir de los casos de uso del sistema que responden al sitio Web dinámico, se modelaron los distintos diagramas de clases Web, a continuación se presenta el del caso de uso Gestionar Producción, para ver el diagrama de los restantes casos de uso consultar los Anexos. (Ver Anexos No. 22, 23, 24, 25, 26 y 27). Figura 7: Diagrama de Clases del Diseño para el caso de uso “Gestionar Producción”. 36 Análisis y Diseño del Sistema. 2.3.3.6 Diagrama de clases persistentes. El diagrama de clases persistentes o del modelo lógico de datos, muestra las clases capaces de mantener su valor en el espacio y en el tiempo. A continuación se muestra el diagrama de clases persistentes que se diseñó para el sistema. Figura 8: Diagrama de Clases Persistentes. 2.4 Conclusiones. En este capítulo se describieron los procesos del negocio que se desarrollan en el PDA, se definieron los requisitos que conducen a futuras funcionalidades, obteniéndose el modelo de casos de uso del sistema y la descripción de los mismos, se desarrollaron los diagramas de colaboración para los diferentes escenarios de los casos de uso y los diagramas de clases Web para el sistema, y además se diseñó la base de datos. 37 CAPÍTULO III. IMPLEMENTACIÓN Y GUÍA PARA EL USO DEL SISTEMA. Implementación y guía para el uso del Sistema.. 38 3.1 Introducción. Este capítulo aborda los aspectos relacionados con la Implementación. Se describe la distribución del sistema en términos de cómo se reparte la funcionalidad entre los nodos de cómputo, es decir cómo se distribuyen los componentes y la dependencia de unos con otros. Para concluir se desarrolla una breve guía o manual para ayudar a los diferentes usuarios del sistemas a trabaja con las funcionalidades que le brinda. 3.2 Modelo de implementación. El modelo de implementación denota la implementación del sistema en términos de componentes y subsistemas de implementación. Describe como se organizan los componentes de acuerdo con los mecanismos de estructuración, y modularización disponibles en el entorno de la implementación y en el lenguaje o lenguajes de programación utilizados, y como dependen los componentes unos de otros (Jacobson, 2000c). A continuación se detallan los diagramas de implementación y de despliegue que describen la correspondencia entre la arquitectura de software y la del sistema; la dependencia entre los nodos físicos en los que funcionará el sistema propuesto, los componentes a construir y su organización. 3.2.1 Diagrama de implementación. El modelo de implementación denota la implementación del sistema en términos de componentes y subsistemas de implementación. Describe como se organizan los componentes de acuerdo con los mecanismos de estructuración, y modularización disponibles en el entorno de la implementación y en el lenguaje o lenguajes de programación utilizados, y como dependen los componentes unos de otros (Jacobson, 2000c). Para corroborar lo expuesto anteriormente se muestra, en la siguiente figura, el diagrama de implementación correspondiente al sistema que se propone. Implementación y guía para el uso del Sistema.. 39 Figura 9. Diagrama de Implementación. 3.2.2 Diagrama de despliegue. El diagrama de despliegue es un modelo de objetos que describe la distribución física del sistema en términos de cómo se distribuye la funcionalidad entre los nodos de cómputo. Es una colección de nodos y arcos; donde cada nodo representa un recurso de cómputo, normalmente un procesador o un dispositivo de hardware similar (Jacobson, 2000c). El siguiente diagrama muestra la configuración de red sobre la cual debería implantarse el sistema propuesto. Figura 10. Diagrama de Despliegue. Implementación y guía para el uso del Sistema.. 40 El sistema a desarrollar, sobre plataforma Web, está estructurado según la arquitectura cliente/servidor de tres capas, de manera que sus componentes se distribuyen en tres capas lógicas, como a continuación se describe: En los nodos del Cliente Web, donde se ubican los componentes Web que podrán se visualizados en los navegadores, residirá la capa de presentación o interfaz. En el nodo Servidor Web, que acoge el servidor de páginas Web, residirá la capa de negocio, de manera que aquí se ubicarán los componentes que manipularán la lógica de negocio y harán peticiones a la base de datos. En el nodo Servidor BD, donde está el servidor de bases de datos y los componentes de acceso a datos, estará la capa de datos. La comunicación entre los nodos se establece a través de dispositivos de red y protocolos TCP/IP y HTTP. 3.3 Guía para el uso del sistema. El sistema cuenta con cuatro tipos de usuarios: usuario conciliador, usuario operario, usuario analista y usuario administrador. Según el rol cada uno puede acceder a diferentes funcionalidades. En la Figura 11 se muestra la imagen de la ventana inicial de la aplicación en la cual el usuario debe introducir sus datos para comenzar a trabajar. Un asterisco (*) a la derecha de cada campo indica que ambos son requeridos. Login de usuario en el sistema, generalmente un nombre corto y único. Contraseña, una combinación de seis o más caracteres alfanuméricos. Haga clic aquí para intentar acceder al sistema. Los datos anteriores deben ser correctos de lo contrario se muestra un mensaje. Puede quitar una entrada de nombre de usuario (login) o contraseña incorrecta haciendo clic en este botón. Mensaje cuando el nombre de usuario es incorrecto. Implementación y guía para el uso del Sistema.. 41 Mensaje cuando la contraseña es incorrecta. Un usuario Conciliador o visitante es aquel que sólo podrá acceder a todos los Reportes del SGIP. En la Figura 12 se muestra la ventana de trabajo y sus 3 zonas principales. Zona 1: A la izquierda de esta zona el botón Reportes abre la ventana de la Sección de Reportes que se muestra en la Figura 13. Ayuda Enlace a la ayuda general del sistema desde cualquier ubicación, es decir, a la zona 3 de la ventana de trabajo. Ver Figura 12. Visitante Enlace que le permite al usuario acceder a sus datos (zona 1) y si lo desea cambiar su contraseña actual (zona 2). Ver Figura 14. Zona 2: Esta es una zona general, visible para todos los usuarios. En ella se muestra una breve descripción de las principales características del SGIP, las herramientas que se utilizaron en su diseño, y las ventajas que obtendrá el Puesto de Dirección y Análisis con su funcionamiento. Zona 3: Ayuda general del sistema con una breve descripción a la derecha de la funcionalidad de cada pestaña según el rol que desempeña el usuario. Dicha descripción constituye un enlace que conduce a una explicación detallada de las ventanas de trabajo y la forma correcta de utilizar sus controles para la gestión de los datos. Cuando se abre la Sección de Reportes (Ver Figura 13) existen 2 zonas. En la zona 1 aparecen varios iconos que representan diferentes tipos de reportes, cuando el usuario ubica el puntero del mouse sobre uno de ellos automáticamente el sistema muestra una pequeña etiqueta refiriendo su contenido, al hacer clic sobre el reporte seleccionado se abre una ventana en la cual debe llenar varios campos que serán utilizados como filtros para realizar la búsqueda de la información. En la zona 2 se brindan más detalles de cada Reporte. Implementación y guía para el uso del Sistema.. 42 Inicio de la Sección de Reportes. Por ciento de cumplimiento, general y por Fincas. Planificación mensual por Fincas. Producción real por U.E.B. Por ciento de cumplimiento por mes de la U.E.B. y sus indicadores. Imprimir Reportes. La ventana que se abre cuando se hace clic sobre el icono se muestra en la Figura 15, desde esta posición el usuario puede utilizar la zona 1 para abandonar el reporte y pasar a otro, o de lo contrario completar los datos que se le piden antes de hacer otra operación. De la misma forma funcionan los demás Reportes que no se explicarán en detalles en la presente guía. Una vez que el usuario introduce los datos solicitados para obtener el Reporte basta con hacer clic en el botón. El usuario también puede cancelar la búsqueda si no tiene seguridad en la información que desea, en ese caso haciendo uso del botón puede quitar los datos que ya están en el formulario. En la Figura 16 se muestra de forma parcial un Reporte de este tipo, como se puede ver en la zona 2 aparecen los resultados y en la zona 1 se muestra el icono de una impresora, lo cual le permite convertir el contenido que se muestra en un documento en formato PDF listo para imprimir. El usuario Operario además de acceder a las opciones del usuario Conciliador puede trabajar con la pestaña de Producción. En la Figura 17 se muestra esta ventana y sus 2 zonas principales. Zona 1: A la izquierda de esta zona el botón Producción abre la ventana de la Sección de Producción que se muestra en la Figura 18. Zona 2: Igual a la Zona 2 en Reportes. Cuando el usuario accede a la Producción tiene varias opciones: Insertar Producción, zona 3. Esta operación permite abrir la ventana que se nuestra en la Figura 19. Listar Producción, zona 2. Esta operación permite abrir la ventana que se nuestra en la Figura 18. Mostrar Producción agrupada por fecha, zona 4. Esta operación permite abrir la ventana que se muestra en la Figura 21. Implementación y guía para el uso del Sistema.. 43 M