Arquitectura de software para el desarrollo de herramienta Tecnológica de Costos, Presupuestos y Programación de obra

Software Architecture for the Development of a Technological Tool for Costs, Budgets and Work Scheduling

Javier Alfonso Cárdenas-Gutiérrez
Universidad Francisco de Paula Santander, Colombia
Ender José Barrientos-Monsalve
Fundación de Estudios Superiores Comfanorte, Colombia
Leonardo Molina-Salazar
Universidad Francisco de Paula Santander, Colombia

Arquitectura de software para el desarrollo de herramienta Tecnológica de Costos, Presupuestos y Programación de obra

I+D Revista de Investigaciones, vol. 17, núm. 1, pp. 89-100, 2022

Universidad de Investigación y Desarrollo

Recepción: 16 Marzo 2021

Aprobación: 02 Julio 2021

Financiamiento

Fuente: Universidad Francisco de Paula Santander

Beneficiario: Arquitectura de software para el desarrollo de herramienta Tecnológica de Costos, Presupuestos y Programación de obra

Resumen: Los softwares académicos han demostrado ser fuertes herramientas que impulsan los procesos de aprendizaje dentro de todo tipo de instituciones educativas a lo extenso del mundo. Por lo tanto, implementar su uso se vuelve cada vez una tarea más imperativa debido al auge y crecimiento exponencial de la tecnología. El objetivo de este artículo es diseñar una arquitectura de software para la materia “Costos, Presupuestos y Programación de Obra”, del programa de Ingeniería Civil de la Universidad Francisco de Paula Santander (UFPS). La metodología se basa en el desarrollo teórico de las clases teóricas, fundamentando el proceso de manera lógica y evitando contratiempos que en la práctica convencional podrían ocurrir. Los resultados muestran una arquitectura sólida y funcional, que permitirá posteriormente el desarrollo exitoso de un software académico y su mantenimiento. Esta herramienta permitirá el apalancamiento del proceso de aprendizaje de los estudiantes, debido a que incentiva el autoaprendizaje y el interés por la materia.

Palabras clave: arquitectura de software, construcción, desarrollo de software, presupuestos, programación de obra.

Abstract: Academic software has proven to be strong tools that drive learning processes within all types of educational institutions around the world. Therefore, implementing their use is becoming an increasingly imperative task due to the exponential growth of technology. The objective of this work is to design a software architecture for the subject Costs, Budgets and Work Scheduling, of the Civil Engineering program of the Universidad Francisco de Paula Santander. The methodology is based on the theoretical development of the theoretical classes, basing the process in a logical way avoiding setbacks that in conventional practice could occur. The results show a solid and functional architecture, which will later allow the successful development of an academic software and its maintenance. This tool will leverage the learning process of students because it encourages self-learning and interest in the subject.

Keywords: Budgeting, Construction, Site Scheduling, Software Architecture, Software development.

Introducción

Las Tecnologías de la Información y las Comunicaciones (TIC) son un pilar de la economía, del Gobierno, de las relaciones culturales y sociales, las cuales forman de manera integral a las personas. Las TIC influyen en el progreso del desarrollo humano y de la sociedad en general (Vinueza y Córdova, 2019). Estas tecnologías abarcan un entorno de interés para la mayoría de las personas, volviéndose así cada vez más indispensable en la vida de todos (Rodríguez et al., 2019).

A su vez, el proceso de enseñanza debe permitir egresar a un estudiante preparado a las demandas del mundo profesional (Alonso, 2019). Sin embargo, el desarrollo exponencial de la tecnología influye de manera directa en los métodos utilizados dentro de las instituciones de educación superior, ya que las estrategias didácticas quedan obsoletas con el transcurso del tiempo (Cova et al., 2008), obstaculizando los objetivos previstos dentro del proceso de aprendizaje (Hoyos et al., 2021).

Por lo tanto, las aulas de clase y los métodos de enseñanza en general demandan nuevas herramientas pedagógicas que se adapten al desarrollo de la tecnología, y que busquen el aprovechamiento de las ventajas que ofrecen al sector de la educación (Báez-Pérez et al., 2019). Estas tecnologías deben formar profesionales competentes y altamente capacitados que cumplan las exigencias del mundo actual (Alvarado y Finol, 2019).

Un desarrollo idóneo en la educación superior garantiza el desarrollo económico, político y social de un país. Por lo tanto, las estrategias utilizadas por los docentes universitarios deben permitir que el estudiante se desarrolle como una persona más reflexiva, crítica y creativa, con el fin de que pueda proponer y establecer soluciones asertivas y diferentes a todos los problemas personales o profesionales de una manera más competente (Taipe et al., 2020). Así, promover y potencializar este tipo de servicios, que ofrecen las instituciones de educación superior, es una tarea imperativa (Díaz et al., 2016).

Una de estas estrategias puede ser el software educativo, el cual es un conjunto de herramientas computarizadas, diseñadas específicamente para la enseñanza y el aprendizaje de diferentes temáticas dentro de cualquier área del conocimiento (Almaguel et al., 2016), con el propósito de apalancar el proceso de aprendizaje y desarrollar conceptos, habilidades y destrezas de una manera más fácil (Burgos y Velasco, 2018).

En el sector de la construcción se ha presentado un rápido incremento en el desarrollo de obras civiles, permitiendo que los proyectos de construcción sean cada vez más complejos. Esto se debe a las altas exigencias del mercado, estableciendo así una mayor competitividad y unos estándares cada vez más altos. Por lo tanto, el ingeniero civil debe apoyarse en instrumentos que le permitan realizar su trabajo de una manera más eficiente (Salazar, 2017).

En la construcción, la correcta gestión de los costos de un proyecto de construcción es una de las tareas más importantes debido a que se establecen los recursos necesarios para el óptimo desarrollo de las actividades, con el fin de generar productos de calidad que satisfagan las exigencias y las expectativas del cliente (Silva et al., 2018). De ahí que es indispensable tener dentro del material pedagógico herramientas tecnológicas que complementen el proceso de aprendizaje y acerquen al estudiante al entorno profesional.

El objetivo de este trabajo es establecer una arquitectura de software para el manejo de costos, presupuesto y programación de obra, dentro del programa de Ingeniería Civil de la Universidad Francisco de Paula Santander. Tiene como fin actualizar los métodos de enseñanza tradicionales que se implementan hoy día dentro de las aulas de clases. La metodología utilizada consiste en elaborar una secuencia lógica que permita el desarrollo teórico y práctico dentro de una herramienta tecnológica, complementando los conocimientos aprendidos en clase y desarrollando el interés y el autoaprendizaje. Con los resultados obtenidos se podrá desarrollar y mantener un software académico dentro del plan de estudios de Ingeniería Civil, dentro de la materia “Costos Presupuestos y Programación de obra”. Este software es el primer software educativo dentro de este programa y fomentará el uso de este tipo de herramientas, además de impulsar el desarrollo de habilidades, desarrollando profesionales más íntegros y competentes dentro del campo laboral.

Este artículo se enfoca en el diseño de un software para el estudio de costos y presupuestos caracterizado por ser didáctico y flexible para aplicarlo al plan de estudios de la carrera de Ingeniería Civil de la Universidad Francisco de Paula Santander (UFPS). Sin embargo, a nivel profesional se emplean otros programas que para uso educativo requieren de licencias muy costosas como lo son Procore, QuickBooks Desktop Enterprise, CoConstruct, génesis 2.2.5, tablas de Excel personalizadas, entre otros; esto a medida que cada sector tenga una necesidad para el uso de cada uno de ellos. Ante esto y con la gran variedad de programas existentes para el costo y presupuestos de obra, el diseño del presente software se adapta a los escenarios educativos de formación de la carrera de Ingeniería Civil y, con ello, aporta a los procesos de formación de los estudiantes de de la UFPS.

Metodología

La metodología para el desarrollo de esta investigación fue la siguiente:

Desarrollo

Conceptualizaciones

  1. 1. Autoaprendizaje: es el proceso autorregulado de una persona donde toma conciencia de sus propios procesos cognitivos, relacionando las variables cognitivas y emocionales al diseñar y aplicar una estrategia de aprendizaje (Cárcel, 2016).
  2. 2. Análisis de Precios Unitarios (APU): es un modelo matemático que adelanta el resultado, expresado en una moneda, la situación relacionada a una actividad, estudiada y calculada en una unidad de medida dentro del concepto de obra (Benitez y Camargo, 2020).
  3. 3. Calidad educativa: hace referencia a los procesos de formación en las instituciones de educación, que tiene como prioridad el bienestar de los estudiantes, con principios equitativos, relevancia, pertinencia, eficiencia y eficacia para cumplir con las políticas de educación (Marín-González, et al., 2018).
  4. 4. Costos de la construcción: es el valor expresado en una moneda, que deriva de la complejidad de una propuesta de construcción, basado en sus especificaciones técnicas, la tecnología necesaria, la calidad del trabajo y sus garantías.
  5. 5. Costos directos: hace referencia a los costos de los insumos necesarios para la realización de un proyecto (Materiales, Maquinaria, Mano de Obra y Transporte).
  6. 6. Costos indirectos: son aquellos costos que no tiene vínculo directo con la elaboración de un producto servicio; y que, sin embargo, son consumidos durante el proceso (servicios, arriendos, empleados de planta).
  7. 7. Presupuesto: es un estudio económico dirigido a cumplir una meta, se expresa en términos financieros y este se debe cumplir en un tiempo determinado (Jiménez, 2017).
  8. 8. Software: son los diferentes procesos, documentación, reglas y asociación de datos que forman parte de todas las operaciones lógicas dentro de un sistema computarizado (IEEE Std, 1993).
  9. 9. Software educativo: son las herramientas diseñadas dentro de un programa de computador, que sirven para facilitar el proceso de enseñanza –aprendizaje mediante diferentes técnicas– (Almaguel et al., 2016; Niño y Fernández, 2019).
  10. 10. Software de calidad: son las características y el desempeño de un sistema de información dentro del ciclo de vida de un programa computarizado (Callejas-Cuervo et al., 2017).
  11. 11. Tecnologías de la Información y Comunicación: las TIC constituyen a las herramientas que permiten potencializar cualquier tipo de procesos mediante el variado uso de recursos y conocimientos (Pizarro y Cordero, 2013).

Cronología y metodología del desarrollo de costos presupuestos y programación de obra

La cronología implementada dentro del programa de Ingeniería Civil, para la materia de Costos Presupuestos y Programación de obra, parte de la siguiente manera:

La metodología para el desarrollo de este procedimiento generalmente es el siguiente:

Casos de uso y diagrama de secuencia del software

Los casos de uso son los que dan el orden y la importancia a las acciones que requiere el software. Este indica cómo debe ser construido el sistema, convirtiendo en pequeños conjuntos de múltiples pequeños proyectos, que permiten cumplir los objetivos del software de manera más detallada.

Esta arquitectura de software propone ocho casos de uso:

Diagrama de despliegue del software

El diagrama de despliegue mediante el lenguaje técnico unificado (UML) es una vista física que representa los componentes físicos del sistema de información del software. En este diagrama se representan los componentes de hardware denominados dispositivos en los que se va a realizar la implementación de los componentes que vienen del desarrollo del software denominados artefactos y los protocolos o tipos de comunicación que se realizan entre estos para el correcto funcionamiento del sistema de información.

Diagrama de paquetes del software

El diagrama de paquete de UML representará como vista física la jerarquía de directorios del sistema, este nos va a proporcionar una visualización de los paquetes que componen del sistema de información y sus dependencias. El sistema seguirá el patrón de diseño Modelo-Vista-Controlador (MVC) que se describirá más adelante. En este caso los paquetes representan los directorios actuales del sistema y un conjunto de agrupaciones que se especificaran más adelante.

Resultados

Los diferentes casos de uso se pueden observar en la figura 1, donde se resaltan los que hacer parte de las funciones del superusuario y del usuario.

Casos de uso

Casos de uso
Figura 1
Casos de uso
Nota. Elaboración propia.

Diagrama de secuencia

Diagrama de despliegue del software

En la figura 3, se puede observar el diagrama de despliegue del software. Donde el sistema está realizado bajo la arquitectura cliente servidor e implementa el patrón de diseño de Modelo Vista Controlador. El funcionamiento de este modelo de arquitectura se basa en un servidor, en este caso el dispositivo denominado “servidor de aplicaciones – nginx”, contiene los archivos del sistema y los sirve por igual según la disponibilidad del servidor a un número indeterminado de usuarios denominados clientes.

Diagrama de paquetes del software

En la figura 4, se puede observar el diagrama de paquetes, el cual representa la jerarquía de los directorios de paquetes UML. Este proporciona una visualización de los diferentes paquetes que componen el sistema de información y sus dependencias. Este sistema sigue el patrón de diseño Modelo-Vista-Controlador.

  1. 1. El paquete server representa es una agrupación de un conjunto de archivos de configuración que se encuentran en la raíz del sistema la cual consiste de los siguientes archivos: el archivo de inicialización del servidor y los archivos que referencian las versiones de las dependencias de los paquetes de Node modules y Bower components.
  2. 2. Los paquetes Node modules y Bower components representan las librerías externas y sus versiones de las que depende el sistema, poseen una relación de importación con el paquete server ya que usa estas librerías para funcionar correctamente.
  3. 3. El paquete Directorio que contiene el archivo de la conexión con la base de datos, la autentificación de usuarios del sistema tiene una relación de importación con el paquete server, ya que este realiza la invocación de los métodos y objetos dentro de estos archivos para la funcionalidad de algunos métodos.
  4. 4. El paquete views se refiere al directorio que guarda los objetos referentes al front-end y sus componentes, es decir, aquello que será accesible en las terminales del cliente una vez renderizadas las plantillas desde el servidor. Posee una relación de acceso con el paquete server, ya que este realiza invocaciones a las plantillas dentro del subpaquete ejs.
  5. 5. El paquete controller (en conjunto con el paquete modelo) se refiere al directorio donde almacenan los objetos referentes al Back-end. En este se almacenan las funciones que se realizaran antes de procesar los datos a la base de datos, tiene una relación de acceso con el paquete server porque realiza el enrutamiento hacia este cuando se es invocada alguna función desde el front-end. Además, tiene una relación de importación con el paquete modelo porque a través del subpaquete init-models define e invoca los modelos con los que almacenara los objetos en la base de datos.
  6. 6. El paquete modelo se refiere al directorio donde se almacenan la definición de los objetos que se encuentran en la base de datos, es decir las tablas, sus relaciones y sus atributos.

Diagrama de secuencia
Figura 2
Diagrama de secuencia
Nota. Elaboración propia.

Diagrama de despliegue del software
Figura 3
Diagrama de despliegue del software
Nota. Elaboración propia.

Diagrama de Paquetes
Figura 4
Diagrama de Paquetes
Nota. Elaboración propia.

Conclusiones

Se realizó exitosamente esta arquitectura de software académico con base a las necesidades y procedimiento implementados dentro del programa de Ingeniería Civil. Los casos de usos utilizados son consecuentes con las unidades teóricas vistas dentro del contenido curricular del curso. Estos casos de uso permitieron representar de manera más grafica la interacción de todo el sistema en general y los servicios que esta herramienta prestará.

El diagrama de despliegue y el diagrama de paquetes permitirán una correcta distribución de la información del sistema de manera jerárquica, con el fin de que este trabaje en las mejores condiciones, bajo parámetros que permitan su alta productividad y velocidad ante un número indeterminado de usuarios simultáneos.

Esta propuesta, permitirá un desarrollo idóneo y eficaz de este software académico, el cual es indispensable debido a que, dentro del programa de Ingeniería Civil, existe escasez de clases dinámicas con manejo de recursos tecnológicos. Por lo tanto, implementar esta herramienta marcará un antes y un después dentro de la pedagogía impartida en las clases, actualizando su contenido programático y generando mayor interés en las clases. Mantiene la vanguardia ante el desarrollo de la tecnología y forma profesionales más idóneos ante los retos y las exigencias de la sociedad actual.

Asimismo, esta propuesta permitirá a los estudiantes del programa de Ingeniería Civil de la Universidad Francisco de Paula Santander manejar una herramienta tecnológica propia y gratuita, que, a diferencia de otras herramientas mucho más costosas de difícil acceso y compresión, contará con lo que denominamos “caracterizaciones”. Sobre lo último cada uno de los ítems (materiales, mano de obra, maquinaria y transporte), así como sus capítulos y actividades estarán relacionadas a grupos de procesos y grupos de actividades. Esta agrupación de ítems aumentará la productividad y generará un entorno intuitivo –y de poca dificultad–, que permitirá la rápida aprehensión de los procedimientos que conllevan a desarrollar cualquier presupuesto de obra.

Agradecimientos

Universidad Francisco de Paula Santander

Referencias

Almaguel, A., Alvarez, D., Pernía, L. A., Mota, G. J. y Coello, C.(2016). Software educativo para el trabajo con matrices. Revista Digital: Matemática, Educación e Internet, 16(2), 1-12. https://doi.org/10.18845/rdmei.v16i2.2525

Alonso, A. (2019). Software Educativo para la asignatura Introducción a la Ingeniería Civil [trabajo de grado. Facultad de Construcciones Universidad Central “Marta Abreu” de Las Villas, Santa Clara]. https://dspace.uclv.edu.cu/handle/123456789/11672

Alvarado, M. E. y Finol, A. (2019). Diseño de un software para la enseñanza de Inglés Técnico en Ingeniería: enfoque teórico de su elaboración. Revista UCMaule, (57), 39-62. https://doi.org/10.29035/ucmaule.57.39

Báez-Pérez, A. A., Soto-Vergel, Á. J. y Herrera-Rubio, J. E. (2019). Enseñanza de sistemas de radiocomunicaciones terrestres con línea de vista mediante software educativo. Revista Educación En Ingeniería, 14(28), 78-87. https://doi.org/10.26507/rei.v14n28.996

Benítez, C. M. y Camargo Pérez, J. F. (2020). Tipificación y análisis de precios unitarios de estructuras para la aducción de agua en vivienda de suelo rural para el Departamento de Cundinamarca [trabajo de grado. Facultad de Ingeniería, Universidad Distrital Francisco José de Caldas, Bogotá]. https://repository.udistrital.edu.co/bitstream/handle/11349/25575/CamargoPerezJairoFelipe2020.pdf?sequence=1&isAllowed=y

Burgos, B. y Velasco, L. E. (2018). Los recursos informáticos en la calidad del aprendizaje receptivo: Diseño de un entorno Web educativo [trabajo de grado. Facultad de Filosofía, Letras y Ciencias de la Educación, Universidad de Guayaquil, Guayaquil]. http://repositorio.ug.edu.ec/bitstream/redug/35929/1/BFILO-PD-INF1-18-010.pdf

Callejas-Cuervo, M., Alarcón-Aldana, A. C. y Álvarez-Carreño, A. M. (2017). Modelos de calidad del software, un estado del arte. Entramado, 13(1), 236-250. https://doi.org/10.18041/entramado.2017v13n1.25125

Cárcel, F. J. (2016). Desarrollo de habilidades mediante el aprendizaje autónomo. 3C Empresa, Investigación y Pensamiento Crítico, 5(3), 52-60. https://doi.org/10.17993/3cemp.2016.050327.52-60

Cova, Á., Arrieta, X. y Aular, J. (2008). Revisión de modelos para evaluación de software educativos. Télématique. Revista Electrónica de Estudios Telemáticos, 7(1), 94-116. https://www.redalyc.org/articulo.oa?id=78470106

Díaz, J. C., Ucán, J. P., Aguileta, A. y Toscano, A. B. (2016). Asistente escolar para los estudiantes de Ingeniería de Software: una aplicación móvil. ReCIBE. Revista Electrónica de Computación, Informática, Biomédica y Electrónica, 5(3), 1-24. http://40.71.171.92/bitstream/handle/123456789/1020/71-137-1-SM.pdf?sequence=1&isAllowed=y

González, J. X. (2019). Diagrama de flujo y su relación con la vida cotidiana [trabajo de grado. Facultad de Ciencias Empresariales, Universidad Técnica de Machala, Machala]. http://repositorio.utmachala.edu.ec/bitstream/48000/14847/1/E-4389_GONZALEZ ESPINOSA JENNIFFER XIOMARA.pdf

Hoyos, E. A., Acosta, C. A., Arisitzabal, J. H., Mesa, M. J., Trujillo, C. A., Rincón J. A., Gutiérrez, Á. y Pastor, J.. (2021). Influencia de un software educativo en la consolidación del aprendizaje de superficies cuádricas. Tecné, Episteme y Didaxis: TED, (49), 123-142. https://doi.org/10.17227/ted.num49-9574

IEEE Std. (1993). IEEE Software Engineering Standard. Glossary of Software Engineering Terminology, 729-1993. https://doi.org/10.1109/IEEESTD.1990.101064

Jiménez, L. (2017). Presupuestos en la construcción (1a ed.). Paraninfo. https://www.paraninfo.co/catalogo/9788428338035/presupuestos-en-la-construccion

Marín-González, F., Cabas, L. de J., Cabas, L. C. y Paredes-Chacín, A. J. (2018). Formación Integral en Profesionales de la Ingeniería. Análisis en el Plano de la Calidad Educativa. Formación Universitaria, 11(1), 13-24. https://doi.org/10.4067/s0718-50062018000100013

Niño, J. A. y Fernández, F. H. (2019). Una mirada a la enseñanza de conceptos científicos y tecnológicos a través del material didáctico utilizado. Revista Espacios, 40(15), 4. http://www.revistaespacios.com/a19v40n15/a19v40n15p04.pdf

Pizarro, G. y Cordero, D. (2013). Las TIC: Una herramienta tecnológica para el desarrollo de las competencias lingüísticas en estudiantes universitarios de una segunda lengua. Revista Electrónica Educare, 17(3), 277-292. https://www.scielo.sa.cr/scielo.php?script=sci_arttext&pid=S1409-42582013000300013

Rodríguez, W., Pallares, M. R. y Vargas, A. (2019). Experiencia educativa apoyada en TICs para el cálculo de centroides y momentos de inercia de figuras planas de contorno recto. Ponencia presentada en el III Congreso Internacional En Inteligencia Ambiental, Ingeniería de Software y Salud Electrónica y Móvil AmITIC 2019, Pereira. https://core.ac.uk/download/pdf/234021242.pdf

Salazar, M. F. (2017). Impacto económico del uso de BIM en el desarrollo de proyectos de construcción en la ciudad de Manizalez [trabajo de grado. Facultad de Artes, Universidad Nacional de Colombia, Bogotá]. https://repositorio.unal.edu.co/handle/unal/59461

Silva, C. A., Dugarte, J. S. y Majía, A. (2018). Impacto de los costos de calidad en la ejecución de los proyectos de construcción en Colombia. Revista EAN. Escuela de Administración de Negocios. Edición Especial, 33-54. https://doi.org/10.21158/01208160.n0.2018.2017

Taipe, C., Yancachajlla, U. y Flores, H. (2020). Aprendizaje de la dinámica de una partícula a través del software Interactive Physics en estudiantes de ingeniería. Revista Innova Educación, 2(2), 330-346. https://doi.org/10.35622/j.rie.2020.02.007

Vinueza, M. y Córdova, J. (2019). El uso de los programas educativos en el proceso de enseñanza-aprendizaje en ingeniería del software: Una aproximación al estado del arte. Revista Inclusiones, 6(2), 155-177. http://revistainclusiones.org/index.php/inclu/article/view/63

Información adicional

Conflictos de interés: Los autores no declaran ningún tipo de conflicto de interés.

HTML generado a partir de XML-JATS4R por