Los sistemas de gestión de información se hacen necesarios en todas las empresas productivas, ya que permiten llevar el control de los datos asociados a la producción de una manera más cómoda y rápida.
En la Empresa de Ingeniería y Proyectos Azucareros (IPROYAZ) de Ciego de Ávila resulta engorroso el control de la información debido a la cantidad de información que estos manejan, provocando que los resultados obtenidos sean propensos a contener errores, debido a esto surge la necesidad de desarrollar un sistema informático que gestione las informaciones obtenidas por estos procesos.
En la Facultad de Ciencias Informáticas de la Universidad de Ciego de Ávila con la colaboración de los trabajadores de esta empresa se ha desarrollado un sistema informático que permite la gestión de la información obtenida en el proceso de producción, el mismo posibilitará confiabilidad y seguridad de los datos, así como, facilidades de trabajo a los usuarios del sistema a través de una interfaz amigable y sencilla. Para la implementación del sistema informático se desarrolló una aplicación Web utilizando como gestor de Base de Datos MySQL v5.6.13, servidor Web Apache 2.2 y como lenguaje de programación PHP v 5.4.17 con el apoyo del entorno de desarrollo integrado NetBeans v8.0, también se utiliza jQuery v2 como biblioteca de JavaScript y Bootstrap v3 como framework de diseño, como metodología de desarrollo de software se utiliza RUP (Rational Unified Process en inglés).
Palabras clave: sistema informático, sistema de gestión de información, aplicación, investigación.
INTRODUCCIÓN
El azúcar evoca dulzura y placer para el paladar. Dota de un sabor especial a los postres, el café de la mañana, la infusión de la noche y un sinfín de recetas más. Pero no sólo se debe tener en cuenta como un ingrediente, sino que el azúcar es un elemento esencial que proporciona la energía que necesita el organismo para afrontar el ritmo diario.
Su desembarco en Europa se produce en el siglo IV antes de Cristo, a raíz de los viajes y conquistas de Alejandro Magno a través de Asia. Más tarde, los griegos la dejan en herencia al Imperio Romano, que la denominará “sal de la India”. Su difusión fue paulatina hacia Oriente, donde fue conocido por los árabes. Éstos lo introducen en las zonas recientemente conquistadas, cultivando la caña de azúcar en Siria, Egipto, Chipre, Rodas y todo el Norte de África. Es precisamente allí, donde los químicos egipcios perfeccionan su procesado y la refinan.
Con el descubrimiento de América, el azúcar viaja de manos de los conquistadores españoles a Santo Domingo, donde se cultiva por primera vez a gran escala, llegando, más tarde, a Cuba y a México. A finales del siglo XVII la producción y el consumo de azúcar de caña se encontraba extendido prácticamente por todo el mundo [1].
La mayoría de los países productores de azúcar tienen como objetivo su propia autosuficiencia. Anualmente se exportan más de 50 millones de toneladas de azúcar en todo el mundo; sólo hay cinco países exportadores de relevancia, y de ellos, sólo Brasil tiene capacidad para aumentar significativamente su producción, ya que dispone de grandes extensiones de terrenos aún por cultivar y cuenta con unas condiciones naturales muy favorables [2].
Desde que se introdujo la caña de azúcar a Cuba, el sector azucarero es sin lugar a dudas de los más importantes de la producción agroindustrial cubana de todos los tiempos. Además de ser una de las principales fuentes de ingreso a la economía del país [3].
Desde el propio inicio del Triunfo de La Revolución, se trazó una estrategia de diversificación de la agricultura, teniendo como uno de los objetivos fundamentales reducir la dependencia mono productiva del azúcar. Sin embargo, por más de treinta años, esta industria ocupó el liderazgo en la estrategia de desarrollo económico de la Revolución [4].
Creada en diciembre de 1964, la empresa nacional del Ministerio del Azúcar (MINAZ), se encarga hoy de la realización de todos los proyectos y estudios integrales para el sector y otros mercados, en más de 23 especialidades de tecnología industrial, agrícola y servicios técnicos. Su carpeta comercial incluye estudios de oportunidad, operacionales y diagnósticos; pre factibilidad y factibilidad, ingeniería básica y de detalle, de geodesia y topografía [5].
La Empresa de Ingeniería y Proyectos Azucareros (IPROYAZ) se caracteriza por brindar servicios de ingeniería, proyectos y consultoría a la agroindustria azucarera diversificada y otros mercados con profesionalidad, eficiencia y calidad. Son líderes en ingeniería, proyectos y consultoría del sector azucarero; brindan un servicio que se distingue por su amplio perfil y precios competitivos. Asumen todas las solicitudes de la agroindustria azucarera y promueven servicios a otros mercados.
En esta empresa se realizan contratos de proyectos con clientes que pasan por los procesos de gestión, planificación y realización de la producción hasta llegar a la entrega al cliente y la retroalimentación. En estos se encuentran involucrados el director, el gerente del Diseño Asistido por Computadora (CAD por sus siglas en inglés), el informático, el económico, los directores de proyectos, los proyectistas, los ingenieros civiles, mecánicos, hidráulicos, eléctricos y los topógrafos.
El trabajo hoy de IPROYAZ se hace de manera muy engorrosa debido a todos los registros que realizan desde la concepción del servicio hasta la finalización, entrega y retroalimentación del mismo, los cuales se realizan mediante documentos ofimáticos de forma manual, lo que traen consigo una carga de trabajo extra al tener que repetir información, también puede haber pérdida de documentos y deterioro de los mismos ya que estos también se guardan en documentos de formato rígido. Esta gran cantidad de volumen de documentación necesita ser muy precisa y detallada, al tener que mantener una mejora continua de su eficacia cumpliendo con las normas vigentes en la empresa con el objetivo de brindar una trazabilidad a toda la documentación que se genera de un servicio, con la calidad, precisión y rapidez que se requiere.
Analizando la situación actual se plantea como problema de investigación: insuficiencias detectadas en el proceso de gestión de la información en la empresa IPROYAZ de Ciego de Ávila.
Entre las causas que originan el problema se encuentran:
- Gran volumen de información.
- Redundancia en la información.
- Poca rapidez en la búsqueda de información concerniente a los servicios.
Se define como objeto de estudio el proceso de gestión de la información de los procesos productivos.
Conocida la situación del problema y todas las desventajas que este provoca, se puede dar solución al problema mediante las TIC ya que es una solución factible a este proceso ya que han ido insertándose en todas las esferas de la sociedad siendo numerosos los resultados obtenidos hasta el momento. Por lo que se propone como objetivo general para solucionar el problema planteado desarrollar un sistema informático para la gestión de la información de la producción en la empresa IPROYAZ, que facilite el manejo de la información y de los servicios que brinda dicha empresa.
Como campo de acción se define: las herramientas informáticas utilizadas en el proceso de gestión de la información en la empresa IPROYAZ de Ciego de Ávila.
Teniendo en cuenta el problema y el objetivo se formula la siguiente hipótesis: Si se desarrolla un sistema informático para la gestión de información de la producción, utilizando base de datos y ambientes de desarrollo de alto nivel, entonces se contribuye a mejorar el control de la información de la producción en la empresa IPROYAZ de Ciego de Ávila.
Por lo que la variable independiente es el sistema informático para la gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila, del cual se entiende como:
Variable dependiente: El perfeccionamiento del proceso de gestión de la información.
Posteriormente se presentan las tareas a desarrollar para darle cumplimiento a la implementación del sistema:
- Determinar los antecedentes históricos del proceso de gestión de información de la producción en la industria azucarera.
- Caracterizar el proceso gestión de información de la producción en la empresa IPROYAZ.
- Valoración actual de las herramientas informáticas que se pueden utilizar para el desarrollo del sistema informático.
- Análisis, diseño y desarrollo de un sistema informático para la gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila.
- Validación del sistema informático para la gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila.
Métodos y técnicas de investigación:
- Método histórico-lógico: para determinar los antecedentes históricos del proceso de gestión de información de las producciones, así como la evolución de este tipo de proceso.
- Método analítico-sintético: para el estudio de la documentación y la confección de la investigación.
- Método inductivo-deductivo: para la caracterización del proceso y a partir de ellas obtener deducciones y conclusiones en la confección del documento y el producto final.
- Método sistémico-estructural-funcional: para el diseño y elaboración de la base de datos con todas sus relaciones, y confeccionar el sistema informático para la gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila.
- Entrevista: orientada a fundamentar el problema existente en la provincia Ciego de Ávila.
Tipo de investigación:
La investigación que se realiza se clasifica como aplicada debido a que lleva la teoría a la práctica, de campo porque se apoya en informaciones que provienen de entrevistas; y longitudinal porque la investigación se desarrolla en el presente pero va a tener repercusión en el futuro.
El aporte práctico lo constituye el sistema informático para la gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila.
Estructura del Trabajo:
El presente documento se encuentra estructurado por tres capítulos que agruparán los contenidos de la siguiente manera:
Capítulo I: Se aborda el estado del tema de investigación, sus antecedentes históricos, conceptuales, referenciales y contextuales del problema, así como las metodologías, lenguajes y herramientas utilizadas para el desarrollo del sistema informático.
Capítulo II: Se abordan las etapas de captura de requisitos, análisis y diseño en el desarrollo del software según la metodología de desarrollo.
Capítulo III: Se incluyen las fases de implementación y prueba del software. Seguido por las conclusiones, recomendaciones, referencias bibliográficas y anexos.
CAPITULO I: PROCESO DE GESTIÓN DE INFORMACIÓN DE LA PRODUCCIÓN EN LA INDUSTRIA AZUCARERA.
En este capítulo se realizara un estudio detallado de los antecedentes históricos, conceptuales, contextuales y referenciales relacionados con el proceso de gestión de información de la producción en la industria azucarera, se analizará la situación actual que se presenta en el proceso de gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila, lo que posibilitará revelar las causas que originan el problema, así como, los métodos y herramientas informáticas para la realización del nuevo sistema informático.
1.1 Antecedentes históricos del proceso de gestión de información de la producción en la industria azucarera.
La caña de azúcar por su dulzor es conocida por el ser humano varios milenios a.C., y según descripciones de viajeros a la India 500 años a.C., los habitantes del Valle del Indo la mascaban para obtener su jugo, no obstante conocían el proceso de torcer la caña, y cuajar el guarapo para hacer azúcar. Cuando se descubrió la tumba de Tutankhamon, se sabe que los egipcios también conocían la caña de azúcar. Partiendo de que la caña de azúcar es originaria de la India (algunos investigadores expresan que es oriunda de Nueva Guinea), de la India pasa a China, y después las tropas de Darío al llegar hasta el Río Indo la llevan a Persia, de donde por medio de Marco Polo se expande por Europa [6].
No fue hasta el segundo viaje de Colón cuando se transportó caña de azúcar en las naves españolas. El primer destino fue La Española, actual isla de Santo Domingo, y de allí se expandió a Puerto Rico, Cuba, Jamaica y, años más tarde, del norte de México hasta Perú. Pero los verdaderos artífices del milagro del azúcar fueron los portugueses con sus plantaciones en Brasil. Esto se debió a las ventajas ofrecidas por la Corona portuguesa para este cultivo y a la mentalidad mercantil de los portugueses. Mientras que la Corona española potenció las explotaciones mineras y la agricultura destinada a satisfacer las necesidades elementales, los portugueses encontraron en el azúcar una fuente de recursos inmejorable para la exportación a Europa [7].
Las regiones líderes en producción de azúcar son Brasil, seguido de India, la Unión Europea y China. Estos cuatro países proporcionan más de la mitad de la producción mundial.
La mayoría de los países productores de azúcar tienen como objetivo su propia autosuficiencia. Anualmente se exportan más de 50 millones de toneladas de azúcar en todo el mundo; sólo hay cinco países exportadores de relevancia, y de ellos, sólo Brasil tiene capacidad para aumentar significativamente su producción, ya que dispone de grandes extensiones de terrenos aún por cultivar y cuenta con unas condiciones naturales muy favorables [2].
Con menos de 200 centrales en 1925, la naciente nación cubana elaboró más de 5 millones de toneladas de azúcar. En ese tiempo la mayoría de los ingenios y las fincas estaban en manos de extranjeros, pero debido a leyes socialistas democráticas que dictaron posteriores gobiernos, ya para finales de la década de 1950, de los 161 centrales trabajando, 131 eran propiedad de cubanos con el 60 % de la producción total.
La agroindustria azucarera tuvo el efecto multiplicador para la economía cubana, particularmente para el sector industrial. A finales de la década de los ochenta y principio de los noventa, esta agroindustria aportaba el 14 % de la producción mercantil del país, por otro lado generaba producciones de la industria mecánica con destino a la agroindustria en un 20 % de dicha industria, de igual forma un 13 % de la industria básica, un 8 % de la industria ligera [6].
En 1980 el Ministerio del Azúcar (MINAZ) toma un carácter agroindustrial, al asimilar las estructuras de la agricultura cañera provenientes del Ministerio de la Agricultura, convirtiéndose en el Ministerio del Azúcar. IPROYAZ integra las estructuras homólogas y toma este mismo carácter. El Instituto adquiere el carácter de empresa denominándose “Empresa de Ingeniería y Proyectos Azucareros” (IPROYAZ).
La experiencia acumulada durante treinta y nueve años como soporte de los programas inversionistas del Azúcar de Cuba (AZCUBA), hace de IPROYAZ una empresa con un elevado dominio de las tecnologías de la Agroindustria Azucarera y sus Derivados, esta se crea en 1976, bajo la Resolución No. 321/76, de fecha 22 de diciembre de 1976, que bajo un esquema de empresa nacional autofinanciada, articula la antigua Dirección de Proyectos con los Grupos Provinciales de Proyectos de Matanzas, Villa Clara, Camagüey y Santiago de Cuba.
El 17 de abril de 2001, por acuerdo No. 5981 del CECM, se aprueba el Expediente de Perfeccionamiento e IPROYAZ se mantiene como una Empresa de alcance nacional con cuatro Unidades Empresariales de Base (UEB) y siete Oficinas Provinciales (OP). En enero del 2011 se realizó un análisis exhaustivo del sistema empresarial del MINAZ y para potenciar la actividad de ingeniería de inversiones en una sola empresa se fusionan a IPROYAZ la Empresa de Gestión Agroindustrial (GESAI) y la Empresa de Gestión y Servicios Azucareros (EGESA).
IPROYAZ desde su fundación en 1964 ha sido el soporte técnico del desarrollo de la Industria Azucarera y sus Derivados. [8].
1.2 Caracterización del proceso de gestión de información en la producción de la industria azucarera.
1.2.1 Conceptos fundamentales.
Desde los tiempos antiguos, la información pasó a ser un recurso importante, al que había que prestarle especial atención, controlar y conservar. En ese entonces la información no era más que dibujos plasmados en piedras, representando estrategias de caza, pesca o recolección. Más adelante fue necesario controlar otros tipos de información como la contabilización de la cantidad de pobladores existentes en la comunidad, estadísticas de los alimentos recogidos o los resultados de sus actividades económicas primitivas.
Durante los últimos años se han multiplicado los estudios tendentes a analizar la información como factor vital para la toma de decisiones en la empresa, clave de la gestión empresarial y eje conceptual sobre el que gravitan los sistemas de información empresariales. Se considera que la información es un recurso que se encuentra al mismo nivel que los recursos financieros, materiales y humanos, que hasta el momento habían constituido los ejes sobre los que había girado la gestión empresarial [9].
La información es un mensaje significativo que se transmite de la fuente a los usuarios, es la expresión material del conocimiento con fines de uso. La información está destinada a resolver determinados problemas. Debe estar, entonces, disponible públicamente y servir para el desarrollo individual y corporativo. Se encuentra presente en todos los niveles de actividad y ramas de la economía, la política y la sociedad. Su utilidad se ubica en función de su aporte al proceso de toma de decisiones, creación de productos y solución de problemas, entre otros aspecto.
El concepto de gestión hace referencia a la acción y al efecto de gestionar o de administrar. Gestionar es realizar diligencias conducentes al logro de un negocio o de un deseo cualquiera. Administrar, por otra parte, consiste en gobernar, dirigir, ordenar, disponer u organizar. El término gestión, por lo tanto, implica al conjunto de trámites que se llevan a cabo para resolver un asunto o concretar un proyecto. La gestión es también la dirección o administración de una empresa o de un negocio [10].
Gestión de la información es un proceso que incluye operaciones como extracción, manipulación, tratamiento, depuración, conservación, acceso y/o colaboración de la información adquirida por una organización a través de diferentes fuentes y que gestiona el acceso y los derechos de los usuarios sobre la misma [11].
Los sistemas informáticos para la gestión de información o sistemas de información como también se les conoce, surgen como sistemas complejos y abiertos que interactúan con otros sistemas y subsistemas como parte de su actuación. Por los años 90, una de las concepciones más defendidas por la gestión de la información fue que las organizaciones son sistemas de información [12].
Producción es el proceso de consumo de la fuerza de trabajo y creación de medios de producción y objetos de uso personal necesarios para la existencia y desarrollo de la sociedad humana. El proceso de producción como actividad humana dirigida a un fin por medio del cual los hombres actúan sobre la naturaleza exterior y la modifican con el fin de adaptarla a sus necesidades, a la vez que modifican su propia naturaleza, constituye una condición natural y eterna de la vida humana [13].
Proceso de producción es un sistema de acciones que se encuentran interrelacionadas de forma dinámica y que se orientan a la transformación de ciertos elementos. De esta manera, los elementos de entrada (conocidos como factores) pasan a ser elementos de salida (productos), tras un proceso en el que se incrementa su valor [14].
1.2.2 Sistemas informáticos que gestionan información en la actualidad.
Un buen sistema de gestión de la información debe ayudar a los supervisores del proyecto a saber qué información necesitan recabar, para tomar diferentes decisiones en distintos momentos. Un sistema informático realiza cuatro actividades básicas: entrada, almacenamiento, procesamiento y salida de información [15].
La informatización de los procesos empresariales es, sin duda, uno de los mayores beneficios que la informática ha propiciado en el ámbito de los negocios. No solo permite agilizar procesos, con el consiguiente ahorro de costes y aumento de la eficiencia, sino que también se convierte en base imprescindible para soportar etapas de crecimiento e incrementar las ventajas competitivas de las empresas. [16]
SIGMAH (Humanitarian Project Management Open Source) es un software libre para la gestión de información de proyectos de ayuda internacional. Es desarrollado mayormente en los países europeos como Alemania, Italia o Francia y en los Estados Unidos de América. Este software efectúa un seguimiento de la progresión de los proyectos y financiaciones. Define, supervisa y cartografía indicadores a distintos niveles. Centraliza los documentos de los proyectos. Mejora la gestión de los calendarios y la anticipación con alertas. SIGMAH tiene la forma de una aplicación Web, es decir, accesible desde cualquier lugar a través de Internet [17].
ProjectWise es un sistema informático desarrollado por Bentley System ubicados en Exton, Pennsylvania, USA, es un sistema de colaboración para equipos de proyectos de ingeniería que se utiliza para ayudar a los equipos a mejorar la calidad, reducir la necesidad de repetir el trabajo y cumplir las fechas de entrega de los proyectos. Está optimizado para la colaboración en tiempo real entre equipos distribuidos, y se puede implantar in situ en la oficina o en línea como solución gestionada alojada [18].
Industrial Plus es un sistema para la gestión de la producción azucarera desarrollado en Cuba, el cual contiene numerosos módulos tanto para la empresa, como la provincia y nación, fundiendo en un todo único toda la información industrial de la zafra. Permite elaborar eficazmente la contabilidad azucarera y el control del tiempo perdido en el menor tiempo posible, con la calidad y confiabilidad requerida, entre otras funcionalidades [19].
APPEM (Automatización del Proceso de Producción Empresarial) es una aplicación informática desarrollada en Cuba, esta aplicación informática constituye un sistema compuesto por varios módulos que permiten: llevar un registro de los contratos realizados y en negociación; controlar las producciones relacionadas con estos contratos hasta su venta; analizar el cumplimiento de los planes de producción; y organizar de manera más efectiva la fuerza de trabajo necesaria [20].
Después de la investigación realizada se ha podido evidenciar que los sistemas informáticos mencionados anteriormente no cumplen con los módulos suficientes para satisfacer las necesidades en la empresa IPROYAZ de Ciego de Ávila ya que ninguno de estos permite gestionar la información obtenida desde el inicio del proceso de producción hasta su finalización y entrega. Además, en la empresa este proceso se hace siguiendo los estándares de las normas ISO y se usan otras particularidades que les permite mantener un control más estricto sobre los mismos. Algunos de estos sistemas mencionados son propietarios, por lo que no permiten la reutilización de código para la implementación de este nuevo sistema.
Actualmente la empresa IPROYAZ no cuenta con un software que cumpla con los requisitos para la gestión de la información obtenida del proceso de producción tales como la gestión de las propuestas de servicios, gestión de las fichas de costos y gestión de los contratos entre otras funcionalidades esenciales para esta empresa, debido a esto se hace necesario el desarrollo de una aplicación informática que cuente con los módulos adecuados para la gestión de la información de dicha empresa.
1.3 Situación actual del proceso de gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila.
La empresa IPROYAZ de Ciego de Ávila se encarga de brindar servicios de ingeniería, proyectos y consultoría a la agroindustria azucarera diversificada y otros mercados con profesionalidad, eficiencia y calidad.
Son líderes en ingeniería, proyectos y consultoría del sector azucarero; brindan un servicio que se distingue por su amplio perfil y precios competitivos, un Sistema de Gestión Integrado, Calidad-Medio Ambiente-Salud y Seguridad del Trabajo basado en las normas NC ISO 9001:2001, NC ISO 14001:2004 y NC 18001:2005.
Asumen todas las solicitudes de la agroindustria azucarera y promueven servicios a otros mercados.
Cuentan con una imagen prestigiosa, su capacidad de aprendizaje es flexible y continua, por lo que el desarrollo del capital humano está garantizado, se emplean de forma efectiva las tecnologías de la información y las comunicaciones [21].
En la actualidad el proceso de gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila se hace de forma manual en documentos ofimáticos. El volumen de la documentación e información es muy amplia y se requiere cada vez que sea más precisa y detallada, para brindar un servicio de calidad, por tanto es necesaria la gestión estratégica de información para la organización de todo el proceso. El empleo de la metodología de trabajo manual, no es precisamente la más apropiada, producto al deterioro y muchas veces pérdida de la información, ni la más ágil manera de llevar a cabo un procedimiento de tan amplia información que requiere la ejecución de una obra.
Por este motivo y con el propósito de contribuir a la eficiencia en la gestión de la información de la producción en la empresa IPROYAZ de Ciego de Ávila surge la necesidad de crear un sistema informático capaz de facilitar un mejor manejo de la información.
1.4 Herramientas y metodologías informáticas para la confección del sistema informático para la gestión de información de la producción en la empresa IPROYAZ de Ciego de Ávila.
1.4.1 Metodología utilizada para el desarrollo del Software.
El Proceso Unificado de Rational (Rational Unified Process en inglés, habitualmente resumido como RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational Software, actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, diseño, implementación y documentación de sistemas orientados a objetos. RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. También se conoce por este nombre al software, también desarrollado por Rational, que incluye información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las necesidades [22].
RUP está dirigido por casos de uso, está centrado en la arquitectura, y es iterativo e incremental. Esta metodología de desarrollo de software es orientada a objetos. Se divide en cinco flujos de trabajo: requisitos, análisis, diseño, implementación y prueba, los cuales tienen lugar durante las cuatro fases. Las fases son [22]:
- Inicio: Se desarrolla una descripción del producto final a partir de una buena idea y se presenta el análisis de negocio para el producto. En esta fase se identifican y priorizan los riesgos más importantes, se planifica en detalle la fase de elaboración, y se estima el proyecto de manera aproximada.
- Elaboración: Se especifican en detalle la mayoría de los casos de uso del producto y se diseña la arquitectura del sistema. Durante esta fase de desarrollo, se realizan los casos de uso más críticos que se identificaron en la fase de comienzo. El resultado de esta fase es una línea base de la arquitectura.
- Construcción: Se crea el producto. En esta fase la línea base de la arquitectura crece hasta convertirse en el sistema completo. La descripción evoluciona hasta convertirse en un producto preparado para ser entregado a la comunidad de usuarios. Al finalizar esta fase, el producto contiene todos los casos de uso que la dirección y el cliente han acordado para el desarrollo de esta versión. Sin embargo, puede que no esté completamente libre de defectos. Muchos de estos defectos se descubrirán y solucionarán durante la fase de transición.
- Transición: Cubre el período durante el cual el producto se convierte en versión beta. Los desarrolladores corrigen los problemas e incorporan algunas de las mejoras sugeridas en una versión general dirigida a la totalidad de la comunidad de usuarios.
1.4.2 Lenguajes de programación.
En el ciclo de desarrollo de un sistema informático uno de los pasos más importantes es la elección de la herramienta de desarrollo adecuada. Esto puede incrementar la calidad del resultado final, así como reducir significativamente el esfuerzo y los costos de desarrollo. Los Ingenieros adoptan un enfoque sistemático para llevar a cabo su trabajo y utilizan las herramientas y técnicas necesarias para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y recursos disponibles [12].
PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo Web y que puede ser incrustado en HTML. Lo que distingue a PHP de scripts del lado del cliente como JavaScript es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá el resultado de ejecutar el script, aunque no se sabrá el código subyacente que era. El servidor Web puede ser configurado incluso para que procese todos los ficheros HTML con PHP, por lo que no hay manera de que los usuarios puedan saber qué se tiene debajo de la manga. Lo mejor de utilizar PHP es su extrema simplicidad para el principiante, pero a su vez ofrece muchas características avanzadas para los programadores profesionales [23].
JavaScript es un lenguaje orientado a objetos. El modelo de objetos de JavaScript está reducido y simplificado, pero incluye los elementos necesarios para que los Scripts puedan acceder a la información de una página y puedan actuar sobre la interfaz del navegador.
Cuando un usuario selecciona un enlace o mueve el puntero sobre una imagen se produce un evento. Mediante JavaScript se pueden desarrollar Scripts que ejecuten acciones en respuesta a estos eventos. En este caso actúa como un lenguaje orientado a eventos [24].
jQuery es una biblioteca de JavaScript, creada inicialmente por John Resig, que permite simplificar la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, desarrollar animaciones y agregar interacción con la técnica AJAX a páginas Web. Fue presentada el 14 de enero de 2006 en el BarCamp NYC. jQuery es la biblioteca de JavaScript más utilizada. jQuery es software libre y de código abierto, posee un doble licenciamiento bajo la Licencia MIT y la Licencia Pública General de GNU v2, permitiendo su uso en proyectos libres y privativos. jQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requerirían de mucho más código, es decir, con las funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio [25].
HTML (HyperText Markup Language en inglés) es el lenguaje de la Web, en donde hipertexto hace referencia a la capacidad del lenguaje para la utilización de los conocidos hipervínculos. Se basa en el uso de etiquetas o marcas, gracias a ellas es posible definir el formato del texto, los distintos elementos que conforman la página, sus propiedades y disposición. Este lenguaje es interpretado por los navegadores, procesado pasados y convertidos en una página Web [24].
CSS (Cascading Style Sheets en inglés) hacen referencia a un lenguaje de hojas de estilos usado para describir la presentación semántica (el aspecto y formato) de un documento escrito en lenguaje de marcas. Su aplicación más común es dar estilo a páginas Webs escritas en lenguaje HTML y XHTML, pero también puede ser aplicado a cualquier tipo de documentos XML, incluyendo SVG y XUL. La información de estilo puede ser adjuntada como un documento separado o en el mismo documento HTML [26].
Bootstrap es un framework que simplifica el proceso de creación de diseños Web combinando CSS y JavaScript desarrollado por Twitter. La mayor ventaja es que podemos crear interfaces que se adapten a los distintos navegadores (responsive design) apoyándonos en un framework potente con numerosos componentes Webs que nos ahorrarán mucho esfuerzo y tiempo [27].
1.4.3 Servidor web.
El servidor HTTP Apache es un servidor Web HTTP de código abierto, para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la noción de sitio virtual. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido. Tiene amplia aceptación en la red: desde 1996, es el servidor HTTP más usado. Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios Web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años [28].
1.4.4 Sistema gestor de base de datos.
MySQL es un sistema de administración de bases de datos (Database Management System, DBMS) para bases de datos relacionales. Así, MySQL no es más que una aplicación que permite gestionar archivos llamados de bases de datos. Existen muchos tipos de bases de datos, desde un simple archivo hasta sistemas relacionales orientados a objetos. MySQL, como base de datos relacional, utiliza múltiples tablas para almacenar y organizar la información. MySQL fue escrito en C y C++ y destaca por su gran adaptación a diferentes entornos de desarrollo, permitiendo su interactuación con los lenguajes de programación más utilizados como PHP, Perl y Java y su integración en distintos sistemas operativos. También es muy destacable, la condición de open source de MySQL, que hace que su utilización sea gratuita e incluso se pueda modificar con total libertad, pudiendo descargar su código fuente. Esto ha favorecido muy positivamente en su desarrollo y continuas actualizaciones, para hacer de MySQL una de las herramientas más utilizadas por los programadores orientados a Internet [29].
1.4.5 Otros programas utilizados para el desarrollo de la aplicación.
Como Entorno de Desarrollo Integrado (IDE por sus siglas en inglés) NetBeans v8.0, que permite al desarrollador mayor organización y facilidades de implementación con el uso de los completamientos de códigos, además que es una herramienta fácil de entender y es usada por un gran número de usuarios [30].
El modelado de la BD se hizo con la herramienta Visual Paradigm v8.0, es una herramienta para desarrollo de aplicaciones utilizando modelado UML ideal para Ingenieros de Software, Analistas de Sistemas y Arquitectos de sistemas que están interesados en construcción de sistemas a gran escala y necesitan confiabilidad y estabilidad en el desarrollo orientado a objetos [31].
Para el tratamiento de imágenes se utilizó el editor de imágenes GIMP v2.8, es un editor gráfico que permite retocar fotografías y componer imágenes vectoriales o de mapa de bits. Cuenta con multitud de opciones que lo colocan casi a la altura de Photoshop, además de ser gratuito. Lo que viene siendo una alternativa libre a la herramienta Photoshop [32].
1.5 Conclusiones del capítulo.
- El desarrollo tecnológico actual ha demostrado la necesidad de la utilización de los sistemas automatizados de gestión de información, los cuales benefician el desarrollo del proceso, mediante la utilización de sistema informático con soporte de base de datos para el almacenamiento de la información.
- El estudio realizado en la empresa IPROYAZ de Ciego de Ávila, permitió detectar las deficiencias con que cuenta el sistema actual.
- A partir del estudio de la bibliografía se evidencio la existencia de otros sistemas los cuales no cumplen con las necesidades de la empresa.
- Se decide trabajar con el NetBeans v8 ya que para trabajar con PHP es uno de los mejores IDE y MySQL como gestor de bases de datos.
CAPITULO II: ANÁLISIS Y DISEÑO DEL SISTEMA.
En el presente capítulo se describe la solución que se propone para darle respuesta al problema planteado. Se realiza una descripción de las herramientas informática para la gestión de información, se realiza una valoración de las características, requisitos funcionales y no funcionales del sistema informático a implementar. Así como la especificación del proceso de desarrollo de la aplicación utilizando la metodología RUP.
2.1 Comprensión del contexto del sistema.
2.1.1 Descripción textual
Actualmente el proceso producción en la empresa IPROYAZ de Ciego de Ávila consta de cuatro procesos que se clasifican como procesos claves que se establecen para garantizar las funciones y gestiones generales de la empresa, se comienza con el proceso de gestión de la producción, se pasa al proceso de planificación de la producción, posteriormente se pasa para el proceso de realización de la producción y se termina con el proceso de entrega al cliente y retroalimentación. Estos procesos crean valor y tienen impacto directo en el cliente y son valorados por ellos, su objetivo no es gestionar otros procesos sino obtener un resultado y la realización del producto. En ellos los elementos de entrada se convierten en salida y estos a su vez son entrada de otro.
Gestión de la producción.
Es en este momento cuando se inicia todo el proceso de producción, al llegar el cliente a la empresa con su idea del proyecto a realizar se le hace una propuesta de servicio, este documento es realizado por la especialista de producción, donde se llena todos los datos necesarios del proyecto propuesto por el cliente, el usuario debe facilitar los documentos necesarios para que se pueda realizar el proyecto en caso de que se acepte la propuesta de servicio en el grupo directivo, en este grupo directivo es donde se analiza a fondo la propuesta y se decide continuar o no con ella en dependencia de la magnitud y profundidad del proyecto mirando los requerimientos del cliente y la capacidad productiva de la entidad con el único fin de satisfacer las necesidades del cliente. De aceptarse la propuesta se procede a la redacción de la tarea técnica del servicio por parte del cliente y que en caso que fuese necesario la oficina pudiese asumirla de conjunto con los inversionistas.
Planificación de la producción.
En esta parte de la producción es cuando se inicia el proyecto como tal, el grupo de análisis (compuesto por todas las especialidades que intervienen en la realización del servicio) se reúne para realizar la documentación de los peligros a enfrentar en este proyecto y con los equipos de protección que se cuenta para la realización del mismo, también deciden cual será la especialidad centro del proyecto y la disponibilidad técnica y normativa así como el orden de entrada de las diferentes especialidades a la hora de la ejecución del servicio, luego se elabora la planificación del servicio con su ficha de costo plan para llegar hasta la creación del contrato en la cual se presenta al cliente para su posterior análisis y firma.
Realización de la producción.
En esta etapa de la producción se crean las actas del proyecto tales como el acta del grupo ejecutor en la cual queda reflejado el progreso del proyecto, que tan ajustados están con la fecha de cumplimiento, entre otras cosas, también se crean otras actas tales como de revisión, de verificación, de validación del diseño y de modificación del diseño. Al terminar esta etapa se crea un acta de conformidad del producto terminado queda plasmado quienes fueron las personas que trabajaron en el proyecto y sus especialidades.
Entrega y retroalimentación.
Esta es la etapa final del proceso de producción donde se entrega al cliente todos los documentos ofimáticos y los planos del proyecto, también se crea una copia para la empresa, la cual se guarda en un archivo para futuros proyectos, también en esta etapa se le hace una encuesta al cliente para tener referencias de calidad del proyecto y su conformidad con él mismo.
2.1.2 Funcionalidades previstas
– | Autenticar usuario. | – | Gestionar propuestas de servicios. |
– | Aprobar o denegar propuestas de servicios. | – | Gestionar la documentación de entrada. |
– | Gestionar trabajadores del servicio. | – | Gestionar índices de peligro. |
– | Gestionar equipos de protección personal. | – | Gestionar acta de inspección inicial. |
– | Gestionar ficha de costo. | – | Gestionar contrato. |
– | Gestionar acta del grupo ejecutor. | – | Gestionar acta de revisión. |
– | Gestionar acta de verificación. | – | Gestionar acta de conformidad del producto terminado. |
– | Gestionar acta de entrega y recepción de documentos del servicio. | – | Gestionar informe final. |
– | Gestionar personal. | – | Gestionar grupos de escalas de salarios. |
– | Gestionar software. | – | Gestionar especialidades |
– | Obtener acta de declaración de los sistemas utilizados. | – | Gestionar el modelo de satisfacción del cliente. |
– | Gestionar usuarios. | – | Cambiar contraseña. |
– | Gestionar datos de la empresa. | – | Generar reportes en PDF. |
2.2 Definir las necesidades y cualidades del sistema a implementar.
Comprender los requisitos de un problema es una de las tareas más importantes y difíciles a las que se enfrenta un ingeniero de software. Un requisito del software es una característica que se debe exhibir por el software desarrollado o adaptado para solucionar un problema particular [33].
2.2.1 Requisitos funcionales (RF).
Los requerimientos funcionales del sistema describen lo que el sistema debe hacer. Éstos dependen del tipo de software que se desarrolle, de los posibles usuarios y del enfoque general tomado por la organización al redactar los requerimientos [34].
- 1 Gestionar propuestas de servicios. (Permite adicionar, eliminar, modificar o mostrar las propuestas de servicios) RF 1.1 Adicionar propuesta de servicios.
RF 1.2 Eliminar propuestas de servicios.
RF 1.3 Modificar propuestas de servicios.
RF 1.4 Mostrar propuestas de servicios.
- 2 Aprobar o denegar propuestas de servicios. (Permite aprobar o denegar propuestas de servicios)
- 3 Gestionar la documentación de entrada. (Permite adicionar, eliminar, modificar y mostrar la documentación de entrada del servicio) RF 3.1 Adicionar documentación de entrada.
RF 3.2 Eliminar documentación de entrada.
RF 3.3 Modificar documentación de entrada.
RF 3.4 Mostrar documentación de entrada.
- 4 Gestionar índices de peligro. (Permite adicionar, eliminar, modificar y mostrar los índices de peligro en el servicio) RF 4.1 Adicionar índices de peligro.
RF 4.2 Eliminar índices de peligro.
RF 4.3 Modificar índices de peligro.
RF 4.4 Mostrar índices de peligro.
- 5 Gestionar equipos de protección personal. (Permite adicionar, eliminar, modificar y mostrar los equipos de protección personal del proyecto) RF 5.1 Adicionar equipos de protección personal.
RF 5.2 Eliminar equipos de protección personal.
RF 5.3 Modificar equipos de protección personal.
RF 5.4 Mostrar equipos de protección personal.
- 6 Gestionar acta de inspección inicial. (Permite adicionar, eliminar, modificar y mostrar las actas de inspección inicial) RF 6.1 Adicionar acta de inspección inicial.
RF 6.2 Eliminar acta de inspección inicial.
RF 6.3 Modificar acta de inspección inicial.
RF 6.4 Mostrar acta de inspección inicial.
- 7 Gestionar ficha de costo. (Permite adicionar, eliminar, modificar y mostrar las fichas de costo del servicio) RF 7.1 Adicionar ficha de costo.
RF 7.2 Eliminar ficha de costo.
RF 7.3 Modificar ficha de costo.
RF 7.4 Mostrar ficha de costo.
- 8 Gestionar contrato. (Permite adicionar, eliminar, modificar y mostrar los contratos del servicio) RF 8.1 Adicionar contrato.
RF 8.2 Eliminar contrato.
RF 8.3 Modificar contrato.
RF 8.4 Mostrar contrato.
- 9 Gestionar acta del grupo ejecutor. (Permite adicionar, eliminar, modificar y mostrar las actas del grupo ejecutor) RF 9.1 Adicionar acta del grupo ejecutor.
RF 9.2 Eliminar acta del grupo ejecutor.
RF 9.3 Modificar acta del grupo ejecutor.
RF 9.4 Mostrar acta del grupo ejecutor.
- 10 Gestionar acta de revisión. (Permite adicionar, eliminar, modificar y mostrar las actas de revisión) RF 10.1 Adicionar acta de revisión.
RF 10.2 Eliminar acta de revisión.
RF 10.3 Modificar acta de revisión.
RF 10.4 Mostrar acta de revisión.
- 11 Gestionar acta de verificación. (Permite adicionar, eliminar, modificar y mostrar las actas de verificación) RF 11.1 Adicionar acta de verificación.
RF 11.2 Eliminar acta de verificación.
RF 11.3 Modificar acta de verificación.
RF 11.4 Mostrar acta de verificación.
- 12 Gestionar acta de conformidad del producto terminado. (Permite adicionar, eliminar, modificar y mostrar las actas de conformidad del producto terminado)
RF 12.1 Adicionar acta de conformidad del producto terminado.
RF 12.2 Eliminar acta de conformidad del producto terminado.
RF 12.3 Modificar acta de conformidad del producto terminado.
RF 12.4 Mostrar acta de conformidad del producto terminado.
- 13 Gestionar acta de entrega y recepción de documentos del servicio. (Permite adicionar, eliminar, modificar y mostrar el acta de entrega y recepción de documentos del servicio)
RF 13.1 Adicionar acta de entrega y recepción de documentos del servicio.
RF 13.2 Eliminar acta de entrega y recepción de documentos del servicio.
RF 13.3 Modificar acta de entrega y recepción de documentos del servicio.
RF 13.4 Mostrar acta de entrega y recepción de documentos del servicio.
- 14 Gestionar informe final. (Permite adicionar, eliminar, modificar y mostrar informes finales)
RF 14.1 Adicionar informe final.
RF 14.2 Eliminar informe final.
RF 14.3 Modificar informe final.
RF 14.4 Mostrar informe final.
- 15 Gestionar personal. (Permite adicionar, eliminar, modificar y mostrar el personal de la empresa) RF 15.1 Adicionar personal.
RF 15.2 Eliminar personal.
RF 15.3 Modificar personal.
RF 15.4 Mostrar personal.
- 16 Gestionar especialidades. (Permite adicionar, eliminar, modificar y mostrar las especialidades del personal de la empresa) RF 16.1 Adicionar especialidades.
RF 16.2 Eliminar especialidades.
RF 16.3 Modificar especialidades.
RF 16.4 Mostrar especialidades.
- 17 Gestionar grupos de escalas de salarios. (Permite adicionar, eliminar, modificar y mostrar los grupos de escalas de los salarios) RF 17.1 Adicionar grupos de escalas de salarios.
RF 17.2 Eliminar grupos de escalas de salarios.
RF 17.3 Modificar grupos de escalas de salarios.
RF 17.4 Mostrar grupos de escalas de salarios.
- 18 Gestionar software. (Permite adicionar, eliminar, modificar y mostrar los software)
RF 18.1 Adicionar software.
RF 18.2 Eliminar software.
RF 18.3 Modificar software.
RF 18.4 Mostrar software.
- 19 Obtener acta de declaración de los sistemas utilizados. (Permite obtener el acta de declaración de los sistemas utilizados)
- 20 Gestionar el modelo de satisfacción del cliente. (Permite adicionar, eliminar, modificar y mostrar el modelo de satisfacción del cliente) RF 20.1 Adicionar modelo de satisfacción del cliente.
RF 20.2 Eliminar modelo de satisfacción del cliente.
RF 20.3 Modificar modelo de satisfacción del cliente.
RF 20.4 Mostrar modelo de satisfacción del cliente.
- 21 Gestionar usuarios. (Permite adicionar, eliminar, modificar y mostrar los usuarios)
RF 21.1 Adicionar usuarios.
RF 21.2 Eliminar usuarios.
RF 21.3 Modificar usuarios.
RF 21.4 Mostrar usuarios.
- 22 Autenticar usuario. (Permite autenticar los usuarios de la aplicación) RF. 23 Cambiar contraseña. (Permite que los usuarios cambien la contraseña)
- 24 Generar reportes en PDF.
- 25 Gestionar datos de la empresa (Permite adicionar, eliminar, modificar y mostrar los datos de la empresa) RF 25.1 Adicionar datos de la empresa.
RF 25.2 Eliminar datos de la empresa.
RF 25.3 Modificar datos de la empresa.
RF 25.4 Mostrar datos de la empresa.
- 26 Gestionar trabajadores del servicio (Permite adicionar, eliminar y mostrar trabajadores del servicio)
RF 26.1 Adicionar trabajadores del servicio.
RF 26.2 Eliminar trabajadores del servicio. RF 26.3 Mostrar trabajadores del servicio.
2.2.2 Requisitos no funcionales (RNF)
Los requerimientos no funcionales, como su nombre sugiere, son aquellos que no se refieren directamente a las funciones específicas que proporciona el sistema, sino a las propiedades emergentes de éste como la fiabilidad, el tiempo de respuesta y la capacidad de almacenamiento. De forma alternativa, definen las restricciones del sistema como la capacidad de los dispositivos de entrada/salida y las representaciones de datos que se utilizan en las interfaces del sistema [29].
RNF 1. Usabilidad
El sistema debe ser fácil de comprender y de utilizar por el usuario, aun cuando este último no tenga experiencia previa con las computadoras.
RNF 2. Disponibilidad
El sistema debe estar disponible siempre que el cliente necesite hacer uso del mismo, para el restablecimiento del sistema ante fallos que puedan ocurrir durante el uso del sistema el cliente debe informar al administrador para lograr restablecer la funcionalidad del mismo.
RNF 3. Rendimiento
La aplicación debe estar concebida para el consumo mínimo de recursos.
RNF 4. Interfaz
La interfaz de la aplicación a desarrollar debe ser sencilla para reducir el tiempo de capacitación de los usuarios. Además, por el uso diario y constante que tendrá el software, la interfaz debe ser agradable y los iconos deben estar en correspondencia con lo que representan.
RNF 5. Portabilidad
Permitirá que el sistema se ejecute sobre la mayor parte de los sistemas operativos más usados por los usuarios.
RNF 6. Soporte.
Una vez terminada la aplicación se debe realizar un grupo de pruebas que permitan verificar su correcto funcionamiento.
RNF 7. Seguridad (SEG)
El usuario debe autenticarse antes de interactuar con el sistema. Se presentarán las interfaces para cada usuario dependiendo del nivel de acceso a la información. La información que se maneje en el sistema estará protegida de acceso no autorizado y divulgación, a partir de los diferentes roles de los usuarios que empleen el sistema, también se cifró la contraseña de los usuarios y se protegió el sistema informático contra inyecciones SQL.
RNF 8. Software
Los requisitos mínimos para que la aplicación trabaje sin ningún percance serán.
- Para las PC clientes:
- Mozilla Firefox 20 o superior (recomendado 28).
- Soporte para formato PDF.
- Para el Servidor:
- Sistemas Operativos: Linux o Windows XP o superior.
- Servidor Web: Apache0 o superior.
- PHP 5 para la interpretación del código fuente.
- MySQL 6.13 como Sistema Gestor de Base de Datos.
RNF 9. Hardware
Los requisitos mínimos para que la aplicación trabaje sin ningún percance serán. o Para las PC clientes:
- Procesador: 1.6 GHz (gigahercio). o superior.
- RAM: 512 MB (megabyte) o superior.
- Disco Duro: 20 GB (gigabyte) o superior. o Para el Servidor:
- Procesador: 1.6 GHz (gigahercio). o superior
- RAM: 1GB o superior
- Disco Duro: 120 GB o superior
2.3 Modelos de casos de usos del sistema
2.3.1 Descripción de actores
En la Tabla 1 se muestran los actores que intervienen en el sistema y su descripción detallada de las funciones que estos tienen en la aplicación.
Tabla 1. Descripción de los actores del sistema
Actores | Descripción |
Administrador | Es el encargado de realizar cualquier modificación sobre el sistema, además administrará a los usuarios que deben acceder. |
Calidad | Esta persona es la que tiene que ver con la gestión del acta inicial. |
Informático | Esta persona genera la declaración de los |
sistemas utilizados y puede gestionar los objetos de obras. | |
Producción | Esta persona es la que tiene que ver con la gestión de todos los servicios de la empresa. |
Economía | Esta persona solo puede gestionar las fichas de costos. |
2.3.2 Diagrama de casos de uso, esbozo y priorización los casos de uso.
Un caso de uso es un fragmento de funcionalidad del sistema que proporciona al usuario un resultado importante. Los casos de uso representan los requisitos funcionales. Todos los casos de uso juntos constituyen el modelo de caso de uso, el cual describe la funcionalidad total del sistema. Los casos de uso permiten guiar el proceso de desarrollo en las etapas de diseño, implementación y prueba [22] (Ver Figura 1).
2.3.3 Casos de usos priorizados
Tabla 2. Casos de uso priorizados
Casos de usos | Operaciones |
Gestionar Usuarios | Adicionar
Eliminar Editar Mostrar |
Gestionar Propuestas de Servicios | |
Gestionar Contratos | |
Gestionar Personal |
2.3.4 Descripción en detalle de los casos de uso del ciclo central de la aplicación
Para entender mejor la funcionalidad relacionada a cada caso de uso se realiza la descripción de cada uno. A continuación se muestra en (Ver Tabla 3) la descripción del caso de uso Gestionar Propuestas de Servicios, y en el (Anexo 2) se explican los demás casos de usos.
Figura 1. Diagrama de caso de usos
Tabla 3. Descripción caso uso gestionar propuesta de servicio.
Caso de uso: | Gestionar propuestas de servicios. |
Actores: | Producción, Administrador. |
Propósito: | Permitir adicionar, eliminar, modificar, y mostrar las propuestas de servicio. |
Resumen: | Este caso de uso da la posibilidad al actor de adicionar, eliminar, modificar, y mostrar las propuestas de servicio. |
Precondiciones: | El actor debe estar autenticado. |
Referencias: | RF1, RF1.1, RF1.2, RF1.3 y RF1.4. |
Prioridad: | Crítico |
Sección: Insertar propuesta de servicio | |
Curso Normal de Eventos: | |
Acción del actor | Respuesta del sistema |
1- El actor selecciona la opción de insertar nueva propuesta de servicio. | 2- El sistema muestra los datos que debe llenar el actor. |
3- El actor introduce los datos en los campos que se muestran y pulsa la opción aceptar. | 4- El sistema verifica que los campos estén llenos.
5- Guarda los datos de la propuesta. |
Curso Alterno de Eventos: | |
4- Emite un mensaje indicando que quedaron campos vacíos. | |
Sección: Modificar propuesta de servicio | |
Acción del actor | Respuesta del sistema |
1- Selecciona la propuesta de servicio a modificar los datos. | 2- Muestra los datos almacenados la propuesta seleccionada. |
3- Modifica los datos deseados. | 4- El sistema verifica que los campos estén llenos.
5- Guarda los datos de la propuesta. |
Curso Alterno de Eventos: | |
4- Emite un mensaje indicando que quedaron campos vacíos. | |
Sección: Eliminar Propuesta de Servicio | |
Acción del actor | Respuesta del sistema |
1- Selecciona la propuesta de servicio que desea eliminar. | 2- El sistema muestra un mensaje si desea eliminar o no la propuesta seleccionada |
3- El usuario selecciona aceptar. | 4- El sistema elimina la propuesta seleccionada.
5- El sistema muestra el listado de propuestas de servicio. |
Curso Alterno | |
3- El usuario selecciona cancelar. | 4- El sistema muestra el listado de propuestas de servicios. |
Sección: Mostrar Propuesta de Servicio | |
1- El usuario selecciona en la tabla la propuesta de servicio de la cual desea ver sus datos y da click. | 2- El sistema muestra los datos de la propuesta de servicio seleccionada. |
2.4 Diseño del sistema
El objetivo principal del análisis es comprender los requisitos del software. En el análisis podemos estructurar los requisitos de manera que nos facilite su comprensión, su preparación, su modificación, y, en general su mantenimiento [22].
2.4.1 Diagrama de clases del diseño
El diagrama de clases constituye el diagrama principal del diseño y análisis para un sistema. En este epígrafe se muestra uno de los diagramas de clases del diseño realizados, para el del caso de uso gestionar propuesta de servicio. En el (Anexo 3) se muestran para los casos de uso gestionar usuario, gestionar contrato y gestionar personal. Estos forman parte de los casos de usos de mayor importancia en el sistema.
Figura 2. Diagrama de clase de diseño gestionar propuesta de servicio.
2.4.2 Diagramas dinámicos UML
Diagramas de secuencia
El diagrama de secuencia indica cómo los eventos causan transiciones de objeto a objeto. Es una versión abreviada del caso de uso. Representa clases clave y eventos que causan que el comportamiento fluya de clase a clase [35]. A continuación se muestra el diagrama de secuencia del caso de uso Gestionar Propuestas de Servicios (Ver Figura 3), en el (Anexo 4) se muestran los demás diagramas de secuencia que pertenecen a los casos de uso de mayor prioridad.
Figura 3. Diagrama de secuencia adicionar propuesta de servicio.
2.4.3 Diseño físico de la base de datos.
En la fase final del desarrollo para la elaboración del sistema, es la puesta en práctica de la base de datos, la cual necesita definir una estructura que le permita almacenar datos, reconocer el contenido y recuperar la información. Esa estructura tiene que ser desarrollada para la necesidad de las aplicaciones que la usaran. En el (Anexo 5) se muestra el diseño de la base de datos.
2.5 Conclusiones parciales
- La realización de este capítulo permitió realizar el análisis y diseño del sistema informático mediante diagramas y descripciones.
- Se hizo referencia a las principales características del negocio actual describiendo cómo se realizan los procesos productivos en la empresa IPROYAZ de Ciego de Ávila.
- Se dieron a conocer los actores que interactuaran con el sistema.
- Se describieron los requisitos funcionales y no funcionales con los que cuenta la aplicación.
CAPÍTULO III. VALIDACIÓN DEL SISTEMA.
Partiendo de los resultados de la fase de elaboración, la fase de construcción tiene como propósito desarrollar un sistema funcional que resuelva las necesidades del cliente. En este capítulo se realizan las pruebas y se aplica la seguridad necesaria así como el tratamiento de errores para comprobar que el software cumpla con los requerimientos previamente enunciados. Además se construyen los prototipos de interfaz de usuario y los diagramas de despliegue y de componente.
3.1 Principios de diseño de la interfaz, de la ayuda, tratamiento de excepciones y seguridad.
3.1.1 Ayuda y manual de usuario
En un sistema informático es de vital importancia para el usuario tanto el manual de usuario como la ayuda que él mismo programa pueda brindar. El manual de usuario es una guía o documento de información técnica que utiliza un lenguaje de fácil interpretación para el usuario y la ayuda es un documento integrado en el software donde se explique paso a paso las tareas que el usuario puede realizar en el sistema informático, con el fin de proporcionar una explicación detallada del manejo y funcionalidad del software en cuestión.
3.1.2 Tratamiento de errores
El tratamiento de errores en un sistema informático es muy necesario para que los usuarios no cometan errores que puedan alterar el flujo de trabajo y tener que modificar o en última instancia eliminar lo que hizo, donde más errores se cometen es en el llenado de los formularios. Cuando un usuario introduce un dato erróneo o deja algún campo vacío el sistema se lo notifica al usuario para que pueda rectificar y no cometer ningún fallo.
En el sistema informático se validan todos los campos que interactúan con la base de datos y los datos que debe introducir el usuario para la obtención de valores que brinda el sistema. Por eso el programador debe pensar en los problemas que pueden ocurrir cuando se llama a un método y definir excepciones para verificar que sea tolerantes a fallos, por ejemplo:
- Dejar campos vacíos.
- Números en vez de letras y viceversa.
- Fechas protegidos contra escritura.
- Reportes confeccionados solo para mostrar.
Para evitar que los campos se dejen vacíos, a cada input se les colocó el atributo required, este atributo funciona cuando se acciona el submit (Botón de Aceptar) y si el campo está vacío se manda una alerta diciendo que rellene el campo, dependiendo en que idioma está el navegador.
Figura 4. Ejemplo dejar campos vacíos.
Para que no se permita escribir en los campos fecha, se utilizó el atributo readonly, que evita que el campo pueda ser editado, a no ser seleccionando la fecha.
Figura 5. Ejemplo fecha de solo lectura.
Para evitar que en los campos que solamente hay que poner número o letras se inserten caracteres que no deben, se creó una función en jQuery que al pulsar una tecla el sistema informático revisa que concuerde con el código ASCII de los números o de las letra dependiendo de lo que se deba insertar en ese momento.
Figura 6. Ejemplo números en vez de letras y viceversa.
3.1.3 Seguridad de la aplicación
La seguridad informática es administrada según los criterios establecidos por el administrador, evitando que usuarios externos y no autorizados puedan acceder a la aplicación informática sin autorización. En el sistema para cumplir con la seguridad requerida por el cliente, la contraseña para acceder al sistema se ha encriptado con el algoritmo MD5 para evitar que se pueda obtener fácilmente la contraseña, también el sistema informático se ha protegido contra inyecciones SQL para que no se pueda alterar por personas que no tengan derecho para modificar los datos que este maneja.
Figura 7. Ejemplo encriptar contraseña.
Figura 8. Ejemplo evitar inyecciones SQL.
3.1.4 Prototipos de la interfaz de usuario
Los prototipos de interfaz de usuario constituyen una muestra de cómo quedaría el producto final. Ayudan a comprender y especificar las interacciones entre actores humanos y el sistema durante la captura de requisitos. No solo nos ayudan a desarrollar una interfaz gráfica mejor, sino también a comprender mejor los casos de uso [22]. En el (Anexo 8) se pueden observar algunas interfaces de usuario.
3.2. Implementación
3.2.1 Diagrama de despliegue.
El Diagrama de Despliegue es un tipo de diagrama del lenguaje unificado de modelado (UML por sus siglas en ingles) que se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes. La mayoría de las veces el modelado de la vista de despliegue implica modelar la topología del hardware sobre el que se ejecuta el sistema. Aunque UML no es un lenguaje de especificación hardware de propósito general, se ha diseñado para modelar muchos de los aspectos hardware de un sistema a un nivel suficiente para que un ingeniero software pueda especificar la plataforma sobre la que se ejecuta el software del sistema [22].
Figura 9. Diagrama de despliegue.
3.2.2 Diagrama de componentes.
Un diagrama de componentes muestra la organización y las dependencias entre un conjunto de componentes. Para todo sistema orientado a objetos se han de construir una serie de diagramas que modelan tanto la parte estática (diagrama de clases), como dinámica (diagramas de secuencia, colaboración, estados y de actividades), pero llegado el momento todo esto se debe materializar en un sistema implementado que utilizará partes ya implementadas de otros sistemas, todo esto es lo que se pretende modelar con los diagramas de componentes [22]. A continuación se muestra el diagrama de componentes del caso de uso Gestionar Propuestas de Servicios (Ver Figura 10), en el (Anexo 6) se puede observar los demás diagramas de componente de los casos de usos priorizados.
Figura 10. Diagrama de componentes gestionar propuestas de servicios
3.3 Pruebas.
Las pruebas constituyen el último flujo de trabajo por donde transita el ciclo de vida del software en el Proceso Unificado de Desarrollo. El objetivo de la prueba es diseñar pruebas que saquen a la luz diferentes clases de errores con la menor cantidad de tiempo y espacio. Las pruebas no aseguran la ausencia de defectos. Para que una prueba tenga éxito se necesita descubrir al menos un error no detectado hasta entonces, demostrando así que existen defectos en la aplicación que se mantuvieron ocultos durante la implementación [22].
Tabla 4. Tipos de pruebas y su soporte.
Tipo de Prueba | Soporte |
Funcionabilidad | Software |
Fiabilidad | Software |
Rendimiento | Conjunto de computadoras |
Soportabilidad | Computadora |
Al software se le efectuó el tipo de prueba de funcionalidad de seguridad, la cual se asegura que al sistema solamente pueda entrar el usuario autenticado y estos a su vez solo puedan manejar la información de su nivel permiso.
También se le efectuó el tipo de prueba de fiabilidad de la estructura, que se asegura que en la Web no se encuentre ningún enlace desconectado y que el contenido deseado sea mostrado con normalidad.
El tipo de prueba de rendimiento de contención se efectuó para probar con cuantos usuarios se podía trabajar sin que la aplicación corriera algún percance.
Se le efectuó también al software la prueba de soportabilidad de configuración, que se encargó de ver que la aplicación informática pudiese ser instalada en cualquier sistema operativo y con un hardware que cumpliera con los requisitos mínimos.
Las pruebas arrojaron un resultado favorable al encontrarse diferentes errores en la aplicación informática, se le realizaron a la aplicación informática 6 iteraciones para determinar las no conformidades. En la primera iteración se encontraron 7 no conformidades, las cuales tenían que ver con enlaces que no llegaban a su destino. En la segunda iteración se encontraron 6 no conformidades que tenían que ver con la seguridad, había usuarios que modificaban datos a los cuales no debían acceder. En la tercera iteración se encontraron 4 no conformidades que tenían que ver con el diseño de la aplicación y con enlaces que no llegaban a su destino. En la quinta iteración se encontraron 9 no conformidades que tenían que ver con validaciones de campos. En la sexta iteración no se encontraron ninguna no conformidad.
Estas pruebas se realizaron en el nivel de prueba del desarrollador mediante la prueba de unidad, que es aplicable a componentes representados en el modelo de implementación para verificar que los flujos de control y de datos están cubiertos, y que ellos funcionen como se espera. La prueba de unidad siempre está orientada al método de caja blanca.
3.3.1 Casos de uso de pruebas
Un caso de prueba describe una forma de probar el sistema, incluyendo la entrada o resultados con la que se ha de probar y las condiciones bajo las que ha de probarse [22]. A continuación se muestra el Caso de prueba Adicionar Propuesta de Servicio (Ver Tabla 5), en el (Anexo 7) se muestran los demás casos de pruebas.
Tabla 5. Caso de prueba Adicionar Propuesta de Servicio.
Caso de prueba: Adicionar propuesta de servicio |
Nombre de la funcionalidad: Adicionar propuesta de servicio. |
Descripción de la prueba: El usuario desea adicionar una nueva propuesta de servicio a la base de datos. |
Entrada: El administrador debe seleccionar el botón de insertar y rellenar los campos de manera correcta.
Nombre del Servicio: Construir Central Creador: Frank Pérez Número: 15462 Fecha: 03/06/2015 Tipo: Interna Categoría: I Código: 54as52 Nombre del cliente: José Carlos Pérez Cargo: Director Entidad: EPICA Dirección de la entidad: Máximo Gómez Teléfono: 212132 Fax: Problema a resolver: Falta de centrales en Venezuela Objetivo del servicio: Construir un central Premisas y datos: Algunos Restricciones y dificultades: No hay Fecha finalización: 23/06/2015 Disponibilidad financiera: Si Efectos deseados si se ejecuta el servicio: Construir un central en Venezuela |
Resultado esperado: Llenado el formulario, introduciendo los datos correctos, el usuario presiona el botón Aceptar para así adicionar una propuesta de servicio nueva en la base de datos. |
Condiciones: No deben quedar campos en blanco o sin seleccionar. |
3.4. Conclusiones parciales
Con el desarrollo del presente capítulo se le realizaron pruebas al sistema informático, se creó el manual de usuario para que el que interactúe con este sistema pueda entender cómo trabajar con el mismo y se llegó a las siguiente conclusiones:
- Con la realización de las pruebas, se garantiza que el software tenga un correcto funcionamiento libre de errores.
- Con un manual de usuario que explique cómo funciona el software le posibilita a aquellos usuarios sin conocimientos previos de computación como poder interactuar con él.
- Un sistema con una buena seguridad permite que no pueda alterar la información un usuario que no esté autenticado o que no tenga los permisos necesarios.
CONCLUSIONES
Con la realización de la investigación se ha llegado a las siguientes conclusiones:
- Se fundamenta el proceso gestión de información en la industria azucarera, donde se evidencia que el uso de las TIC representa una alternativa que puede contribuir a la solución del problema de investigación, ya que facilita y agiliza los procesos de producción.
- Se comprueba mediante el estudio realizado, que los sistemas informáticos mencionados no satisfacen las necesidades requeridas por la empresa IPROYAZ de Ciego de Ávila.
- La utilización de técnicas para la captura de requisitos permitió identificar y especificar los requerimientos funcionales del sistema de forma segura y eficiente, atendiendo a las necesidades del cliente.
- Se realizó la implementación de una aplicación Web que permite agilizar el proceso de producción de la empresa y la obtención de datos mucho más confiables.
- Se le realizaron pruebas al sistema informático las cuales fueron exitosas al encontrar errores de los cuales se habían pasado por alto en la fase de implementación.
RECOMENDACIONES
- Poner en servicio el sistema informático inmediatamente en la empresa IPROYAZ de Ciego de Ávila.
- Seguir dándole mantenimiento al sistema informático e incorporarle nuevas funciones para seguir mejorando la gestión de la información en la empresa IPROYAZ de Ciego de Ávila.
REFERENCIAS BIBLIOGRÁFICAS
- «Orígenes del Azúcar: Azcuba,» [En línea]. Available: http://www.azcuba.cu. [Último acceso: 23 Febrero 2015].
- «El Azúcar en el Mundo: AZUCARERA,» [En línea]. Available: http://www.azucarera.es. [Último acceso: 23 02 2015].
- «Introducción de la caña de azúcar en Cuba y evolución del sector en la Colonia: Azcuba,» [En línea]. Available: http://www.azcuba.cu/?p=824&page=1. [Último acceso: 23 Febrero 2015].
- «Triunfo de la Revolución: Continúa la Agroindustria Azucarera como principal sector de la economía del país: Azcuba,» [En línea]. Available: http://www.azcuba.cu/?p=824&page=3. [Último acceso: 23 Febrero 2015].
- d. l. R. Labrada, «Iproyaz amplía su carpeta de servicios: Opciones,» 7 Enero 2005. [En línea]. Available: http://www.opciones.cu/turismo/2005-01-07/iproyaz-amplia-sucarpeta-de-servicios/.
- «Industria Azucarera Cubana: Ecured,» 2009. [En línea]. Available: http://www.ecured.cu/index.php/Industria_azucarera_cubana.
- «IEDAR: El cultivo en las Américas,» [En línea]. Available: http://www.iedar.es/origen_azucarIII.php. [Último acceso: 02 Marzo 2015].
- «Historia: Iproyaz,» 2014. [En línea]. Available: http://www.iproyaz.azcuba.cu/content/historia.
- Felipe R, «Intranet Empresarial para la Empresa Industrial de Cítricos Ceballos.,» Tesis en Opción al Título de Ingeniero Informático, Ciego de Ávila, 2012.
- Rojas, «Sistema Automatizado para la Gestión de Inventario del Hardware de Repuesto,» Trabajo de Diploma, Ciego de Ávila, 2010.
- A. Quiroga, «Gestión de información, gestión del conocimiento y gestión de la calidad en las organizaciones,» Acimed, 2002.
- Martínez López, SISTEMA DE GESTIÓN DE LA INFORMACIÓN PARA EL DESARROLLO LOCAL., Ciego de Ávila, 2012.
- «Produccion: Ecured,» 2009. [En línea]. Available: http://www.ecured.cu/index.php/Producción.
- «Proceso de producción,» 2009. [En línea]. Available: http://www.ecured.cu/index.php/Proceso_de_producción.
- L. Rabelo, «Sistema Informático para la Gestión de Información de la producción del Carbón Vegetal en la Empresa Agroindustrial “Ceballos”,» Trabajo en opción al título de Ingeniero Informático, Ciego de Ávila, 2014.
- M. Camejo, «Sistema Informático para la gestión de Información en las solicitudes de servicios técnicos de la Empresa Eléctrica de Ciego de Ávila.,» Tesis en Opción al Título de Ingeniero Informático, Ciego de Ávila, 2014.
- «SIGMAH,» [En línea]. Available: http://www.sigmah.org/es/node/68. [Último acceso: 02 Marzo 2015].
- «Direct Industry,» [En línea]. Available: http://www.directindustry.es/prod/bentleysystems-europe-bv/software-gestion-proyecto-colaborativo-28711-278728.html. [Último acceso: 23 marzo 2015].
- «Datazucar,» [En línea]. Available: http://www.datazucar.cu/?p=679. [Último acceso: 02 Marzo 2015].
- S. I. y. Diseño, «APPEM: Manual de Usuario,» La Habana, 2014
- Gómez Hernández, L. González Alfonso, O. Benitez Peñaroche y D. A. Núñez Ramona, «MANUAL DE GESTION DE COMUNICACIÓN INSTITUCIONAL, 2011
- Jacobson, G. Booch y J. Rumbaugh, El proceso unificado de desarrollo de software., vol. 7, Addison Wesley Reading, 2000.
- «PHP,» [En línea]. Available: http://php.net/manual/es/intro-whatis.php. [Último acceso: 2015].
- Málaga, Manual de HTML y JavaScript, 2008.
- «jQuery,» [En línea]. Available: http://jquery.com. [Último acceso: 2015].
- «CSS,» 2015. [En línea]. Available: http://es.html.net/tutorials/css/lesson1.php.
- «Genbeta Dev,» [En línea]. Available: http://www.genbetadev.com/frameworks/bootstrap. [Último acceso: 2015].
- «The Apache Software Foundation,» [En línea]. Available: http://www.apache.org/. [Último acceso: 2015].
- «MySQL,» [En línea]. Available: http://mysql.com. [Último acceso: 2015].
- «NetBeans IDE 8.0,» [En línea]. Available: http://www.netbeans.org. [Último acceso: 2 Marzo 2015].
- «Visual Paradigm para UM,» [En línea]. Available: http://www.software.com.ar/visual-paradigm-para-uml.html.. [Último acceso: 2 Marzo 2015].
- «Softonic. Editor de imágenes potente y gratuito.,» [En línea]. Available: http://www.the-gimp.softonic.com/. [Último acceso: 2 Marzo 2015].
- IEEE, Guide to the Software Engineering Body of Knowledge, Los Alamitos, California: IEEE Computer Society, 2004.
- Sommerville, Ingeniería del software, Madrid: Madrid, 2005.
- S. Pressman, Ingeniería de software. Un enfoque práctico. Sexta edición, New York: McGraw-Hill, 2007.
- «Direct Industry,» [En línea]. Available: http://www.directindustry.es/prod/rittal/software-gestion-infraestructuras-centrosdatos-5066-1243581.html. [Último acceso: 23 Marzo 2015].