Ciencia & Futuro 

V. 13. No. 3 septiembre-noviembre 2023

ISSN 2306-823X

Recibido: 12 mayo 2023/ Aceptado: 8 agosto 2023.

 

Aplicación Web para la gestión de contratos en la Empresa de Ingeniería y Proyectos del Níquel

Web application for contract management in the Nickel Engineering and Projects Company

Deysi Teresa Suris Batista dsuris@serconi.moa.minem.cu

Empresa de Computación, Comunicación y Electrónica (Serconi). Cuba

Harold Vázquez López hvazquez@mecanica.ismm.edu.cu

Andier Samiñón Durán asaminond@mecanica.ismm.edu.cu

 Liz Mariam Suris Batista lmsuris@ismm.edu.cu

Universidad de Moa

 

Resumen: Se implementó una Aplicación Web para la gestión de contratos en la Empresa de Ingeniería y Proyectos del Níquel (Ceproníquel) de Moa. Para la implementación del sistema se empleó el paquete Xampp formado por el servidor web Apache y como gestor de Base de Datos se empleó MySQL. Se utilizaron las herramientas CASE (DBDesigner) y Visual Paradigm. La interfaz visual se desarrolló con el CMS (Content Management System) Drupal empleando como lenguajes de programación PHP, HTML y JavaScript. Como resultado de la investigación se obtuvo un producto que cumple con los requisitos planteados por el cliente proporcionando una ejecución más rápida y eficiente del proceso y permite mayor confiabilidad y rapidez en la obtención de las informaciones asociadas a los contratos.

Palabras claves: aplicación informática; gestión de contratos; gestión de información; lenguaje de programación

Abstract: A Web Application was implemented for contract management in the Nickel Engineering and Projects Company (Ceproníquel) of Moa. For the implementation of the system, the Xampp package formed by the Apache web server was used and MySQL was used as the Database manager. The CASE (DBDesigner) and Visual Paradigm tools were used. The visual interface was developed with the Drupal CMS (Content Management System) using PHP, HTML and JavaScript as programming languages. As a result of the research, a product was obtained that meets the requirements set by the client, providing a faster and more efficient execution of the process and allowing greater reliability and speed in obtaining the information associated with the contracts.

Keywords: computer application; contract management; information management; programming language

Introducción

La Empresa de Ingeniería y Proyectos del Níquel (Ceproníquel) se constituyó el 15 de octubre de 1985 con un personal altamente calificado y de una vasta experiencia en la industria del níquel. Es una institución dedicada al suministro de servicios técnicos de ingeniería, diseño, consultoría y gestión de proyectos que pretende ser una empresa líder en el desarrollo y gestión de proyectos en la industria minero-metalúrgica, al proporcionar un desarrollo sustentable que garantiza la salud y la seguridad del personal y otras partes interesadas.

La informatización y automatización en esta empresa está orientada a procesar la información mediante las tecnologías informáticas para contribuir a la toma de decisiones, buscando la correcta ejecución de todos los sistemas implementados. Para ello se usan herramientas tales como: plataforma de software para el diseño, sitio web, correo electrónico, mensajería instantánea, programas contables y de recursos humanos, así como el uso y desarrollo de sistemas y softwares propios.

Luego de analizar los sistemas de contrato de la empresa se pudo constatar que los mismos son propietarios por lo cual dificulta la reutilización del código. Los modelos utilizados por estos sistemas son diferentes a los que necesita CEPRONIQUEL. Estas razones inducen a la necesidad de implementar una aplicación web que pueda dar solución a la problemática, garantizando eficiencia y seguridad de las informaciones referentes a los contratos.

Los sistemas informáticos son herramientas útiles para desarrollar los procesos de contratación (Challenge & Lamoth, 2022; García, 2022). En la empresa CEPRONÍQUEL de Moa se utilizan documentos de Microsoft Excel como herramienta para desarrollar el control de la ejecución de contratos, en los cuales se registra gran cantidad de datos que no están normalizados y en ocasiones se incurre en pérdida de información.

La gestión de estas informaciones ocupa un gran intervalo de tiempo y es una de las razones por las que los reportes de los contratos no son terminados en la fecha establecida. Los directivos de la empresa necesitan tomar decisiones que no pueden esperar y la implementación de una base de datos que garantice disponibilidad en la obtención de las informaciones es una tarea fundamental.

El Departamento de Mercado de CEPRONÍQUEL tiene entre sus responsabilidades controlar toda la información asociada a la ejecución de contratos. Esta tarea es elaborada en documentos de Microsoft Excel en los cuales se registra cierta cantidad de datos para la ejecución de los contratos. En un mismo año puede haber disímiles contratos correspondientes a varias divisiones. Las divisiones comprenden cierta cantidad de grupos que a su vez los conforman diversas áreas. Todo este proceso contiene un considerable volumen de cálculos que son elaborados para obtener un reporte.

Este trabajo propone una aplicación web para el control de la ejecución de contratos en la Empresa de Ingeniería y Proyectos del Níquel que responda a las necesidades de la entidad.

Metodología

Se utilizó un servidor XAMPP.  XAMPP es un servidor independiente multiplataforma, de software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está liberado bajo la licencia GNU y actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas. Actualmente XAMPP está disponible para Microsoft Windows, GNU/Linux, Solaris y MacOS X (Zepeda, 2014).

HTML es el lenguaje con el que se define el contenido de las páginas web. Se trata de un conjunto de etiquetas que sirven para definir el texto y otros elementos que compondrán una página web, como imágenes, listas, vídeos. El HTML es un lenguaje de marcación de elementos para la creación de documentos hipertexto, muy fácil de aprender, lo que permite que cualquier persona, aunque no haya programado en la vida, pueda enfrentarse a la tarea de crear una web. El HTML no es más que una serie de etiquetas que se utilizan para definir el contenido del documento y algún estilo básico (Álvarez, 2001).

El lenguaje de programación PHP es de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico (Bautista-Villegas, 2022). Fue uno de los primeros lenguajes de programación del lado del servidor que se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser usada en aplicaciones gráficas independientes. Puede ser usado en la mayoría de los servidores web al igual que en casi todos los sistemas operativos y plataformas sin ningún costo (ICTEA, 2023).

Javascript es un lenguaje de programación utilizado para crear pequeños programas encargados de realizar acciones dentro del ámbito de una página web. Con Javascript es posible crear efectos especiales en las páginas y definir interactividades con el usuario. El navegador del cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el único, con que cuenta este lenguaje es el propio navegador. Javascript es el siguiente paso, después del HTML, que puede dar un programador de la web que decida mejorar sus páginas y la potencia de sus proyectos. Javascript permite ejecutar instrucciones como respuesta a las acciones del usuario, con lo que se puede crear páginas interactivas con programas como calculadoras, agendas, o tablas de cálculo (Álvarez & Gutiérrez, 2016).

Entre sus funcionalidades se encuentran:

- Generación de gráficas y tablas

- Creación de modelos UML

- Capacidad de diseñar UX

- Generar historias de usuario (Edutools Tec,2021)

Drupal es un sistema de gestión de contenidos multipropósito, modular, libre y con una amplia capacidad de personalización. Permite publicar archivos, imágenes, artículos, al igual que crear y administrar todo tipo de contenidos como votaciones, encuestas, foros, entre otros. Drupal es uno de los CMS más completos para grandes portales corporativos, además se trata de una plataforma flexible y facilmente integrable con otras soluciones de negocio. Drupal es una plataforma muy práctica para administración pública, grandes empresas y proyectos potentes que necesiten una plataforma robusta, segura y estable. Drupal es el CMS más seguro y más estable del momento. Reduce al máximo las amenazas cibernéticas, la infección por virus informáticos y el spam. También están disponibles actualizaciones de seguridad de Drupal y copias de seguridad (Jiménez, 2021).

Arquitectura del software

El Software desarrollado está implementado con una Arquitectura cliente/servidor. Esta arquitectura cliente servidor tiene dos partes claramente diferenciadas, por un lado, la parte del servidor y por otro la parte de cliente o grupo de clientes donde lo habitual es que un servidor sea una máquina bastante potente con un hardware y software específico que actúa de depósito de datos y funcione como un sistema gestor de base de datos o aplicaciones. En esta arquitectura el cliente suele ser estaciones de trabajo que solicitan varios servicios al servidor, mientras que un servidor es una máquina que actúa como depósito de datos y funciona como un sistema gestor de base de datos, este se encarga de dar la respuesta demandada por el cliente (Schiaffarino, 2019).

Drupal estructura los contenidos en una serie de elementos básicos: nodos, módulos, menús y bloques.

Para el diseño de la Base de datos se empleó la herramienta DBDesigner. DBDesigner es una excelente herramienta open-source para diseñar, modelar, crear y mantener una base de datos desde un único entorno de trabajo. Entre sus funcionalidades: Permite confeccionar una base de datos en una interfaz intuitiva y fácil de utilizar, donde se tiene una representación visual de las tablas y relaciones que figuran en el proyecto. Puede conectarse directamente a una base de datos de backend y construir una base de datos allí a partir del diseño. Puede importar a partir de Bases de Datos existentes. Puede guardar el proyecto en su formato original (XML) para mantener toda la información. Debido a su arquitectura, DBDesigner es facilmente extensible para trabajar con varios servidores de base de datos (Hillar, 2007).

Metodología de desarrollo: Proceso Unificado de Desarrollo (RUP)

El Proceso Unificado Racional (RUP) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos (Cajamara & Zuñiga, 2022).

El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización. El proceso deberá adaptarse a las características propias del proyecto u organización. El tamaño del mismo, así como su tipo o las regulaciones que lo condicionen, influyen en su diseño específico. También se deberá tener en cuenta el alcance del proyecto. El ciclo de vida RUP es una implementación del desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-ordenadas, organiza las tareas en fases e iteraciones (Guerrero, 2022).

Resultados y discusión

RUP (Rational Unified Process) fue la metodología de desarrollo que guio el proceso, en las fases de inicio, elaboración, construcción y transición.

Requisitos funcionales del sistema

1.   Autenticar Usuario

2.   Gestionar Usuario

2.1. Insertar Usuario

2.2. Modificar Usuario

2.3. Eliminar Usuario

3. Gestionar contrato

3.1. Insertar contrato

3.2. Modificar contrato

3.3. Eliminar contrato

4. Mostrar reporte

Los requisitos no funcionales del sistema se muestran en la Tabla 1. La Figura 1 muestra la pantalla principal de la aplicación.

Tabla 1. Requisitos no funcionales del sistema

Usabilidad

RNF1

La aplicación debe presentar una interfaz amigable y de fácil acceso

RNF2

El sistema debe proporcionar opciones para los usuarios según los roles

Restricciones de diseño o implementación

RNF3

Se utilizará como lenguaje de programación Php

Apariencia o Interfaz externa

RNF4

La aplicación debe implementarse en el CMS Drupal empleando el tema Marinelli

Disponibilidad

RNF5

La aplicación estará disponible las 24 horas del día

Fiabilidad

RNF6

Sólo podrán acceder a la Base de Datos los usuarios autenticados

Requerimientos de software

RNF7

En el servidor debe estar instalado el paquete tecnológico XAMPP (Apache, MySQL y PHP) y el CMS Drupal

RNF8

En las máquinas clientes debe estar instalado el Mozilla Firefox o cualquier otro navegador Web

Figura 1. Pantalla principal de la aplicación.

En cuanto a la visualización de los reportes se puede observar en la Figura 2 la generación de un reporte correspondiente al año 2016.

Figura 2. Reporte de los contratos del año 2016.

Para actualizar un contrato se pueden ver las opciones en la Figura 3. En la Figura 4 se puede observar la pantalla para eliminar un contrato.

Figura 3. Pantalla para visualizar los Datos: Actualizar contrato.

Figura 4. Pantalla para visualizar los Datos: Eliminar contrato.

Estudio de factibilidad

La factibilidad económica del proyecto se determinó mediante la técnica de análisis costo-beneficio.

Para determinar el costo económico del proyecto se utilizó el procedimiento para elaborar una ficha de costo de un producto.

Beneficios:

- Disminución de tiempo y esfuerzo invertido en el proceso de gestión de los contratos.

- Los cálculos para la impresión de los reportes son desarrollados por el sistema, evitándose errores humanos.

- Garantía de seguridad de la información, así como la confiabilidad y disponibilidad de los datos.

- Ahorro de tiempo en la búsqueda de informaciones sobre los contratos.

- Respuesta inmediata en el proceso de generación de reportes para la toma de decisiones.

Se realizó una prueba determinando el tiempo ahorrado con la implementación del sistema (dependiendo de la cantidad de contratos), arrojando los resultados que se observan en la Figura 5.

Figura 5. Comparación de la solución actual y con el sistema.

El costo de ejecución del proyecto mediante la ficha de costo, arrojó como resultado $ 00,00 CUC y $ 500,00 CUP, por un periodo de 4 meses y 3 semanas. El costo del sistema es inferior al costo de un software similar al desarrollado, demostrando la factibilidad económica del proyecto.

Se dio cumplimiento al objetivo planteado ya que el desarrollo de una Aplicación Web para la gestión de contratos en la empresa CEPRONIQUEL, aportará significantes beneficios. Las herramientas, lenguajes y tecnologías empleadas agilizaron el progreso de la investigación. La metodología de investigación utilizada propició el estudio y análisis minucioso de todos los elementos que forman parte del trabajo. Se pudo obtener una aplicación informática con opciones similares a los sistemas que antecedieron la investigación, teniendo en cuenta los modelos de trabajo de la empresa CEPRONÍQUEL.

Conclusiones

Se realizó el análisis, diseño e implementación de una aplicación informática capaz de gestionar las informaciones referentes a la ejecución de contratos en un menor tiempo, proporcionando eficiencia, confiabilidad e integridad de los datos.

Se implementa una aplicación de fácil acceso capaz de generar reportes que procesan el cálculo de presupuestos de forma rápida y eficiente.

Se construye un sistema que mejora y automatiza el trabajo a los distintos usuarios.

Posibilita a los usuarios que accedan a la aplicación estar informados sobre el proceso. Los directivos de la Empresa de Ingeniería y Proyectos del Níquel (Ceproníquel) pueden obtener información actualizada para la toma de decisiones.

Referencias bibliográficas

Álvarez, M. A. & Gutiérrez, M. (2016). Manual de Javascript. https://blogsaverroes.juntadeandalucia.es/plataformaeiv/files/2016/09/manual-javascript.pdf.

Álvarez, M. A. (2001). ¿Qué es HTML? https://desarrolloweb.com/articulos/que-es-html.html.

Bautista-Villegas, E. (2022). Metodologías ágiles XP y Scrum,empleadaspara el desarrollo de páginas web, bajo MVC, con lenguaje PHP y framework Laravel. Revista Amazonía Digital, 1(1), 1-7. http://evistas.unamad.edu.pe/index.php/rad/article/view/168.

Cajamara, L.E. & Zuñiga, M. Á. (2022). Gestión de requerimientos en proyectos de desarrollo de software bajo la metodología de Proceso Racional Unificado. Caso: cooperativa de Ahorro y Crédito Jardín Azuayo. Polo del Conocimiento, 7(4), 1470-1501.https://www.polodelconocieminto.com/ojs/index.php/es/article/view/3902.

Challenge, I. & Lamoth, L. (2022). Las TICs y la gestión de contratación económica. Desarrollo sustentable, negocios, emprendimiento y educación, 4(38), 47-58. https://doi.org/10.51896/rilcods.

Días, Y., Lamoth L. & Hernández, R. (2012). Sistema para Gestión de Contratos Económicos en Zona Oriente Norte de ECASA. Ciencias Holguín. http://www.ciencias.holguin.cu/index.php/cienciasholguin/article/viewFile/667/539

EdutoolsTec. (2021). Visual Paradigm. https://edutools.tec.mx/es/portafolio/tecnologias/visual-paradigm.

García, M. J. (2022). Tecnologías digitales para el control de la contratación pública. Auditoría pública: revista de los órganos Autónomos de Control Externo, 79, 88-101. https://dialnet.unirioja.es/servlet/articulo?codigo=8487460.

Guerrero, N. (2022). ¿Qué es el proceso unificado de Rational (RUP)?  https://www.programaenlinea.net/proceso-unificado-rational-rup/.

Hillar, G. C. (2007). DBDesigner 4: Excelente diseño de modelos de datos open-source. Mundo Linux: Sólo programadores Linux, (95), 22-31. https://dialnet.unirioja.es/servlet/articulo?codigo=2248522.

ICTEA. (2023). ¿Qué es el lenguaje de programación PHP? https://www.ictea.com/cs/index.php?rp=/knowledgebase/8663/iQue-es-el-lenguaje-de-programacion-PHP.html.

Jiménez, M. (2021). ¿Qué es Drupal? Conoce sus características, ventajas y opiniones. https://www.hiberus.com/crecemos-contigo/que-es-drupal/#:~:text=Drupal%20es%20un%20sistema%20de,encuestas%2C%20foros%2C%20entre%20otros. 

Schiaffarino, A. (2019). Modelo cliente servidor. https://blog.infranetworking.com/modelo-cliente-servidor/.

Zepeda, R. (2014). ¿Para que sirve XAMPP?  http://blogdelinformatico-reizer.blogspot.com/2015/11/que-es-xampp.html.