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.
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

Recepción: 16 Marzo 2021
Aprobación: 02 Julio 2021
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.
La metodología para el desarrollo de esta investigación fue la siguiente:
Conceptualizaciones.
Cronología y metodología del desarrollo de costos presupuestos y programación de obra.
Casos de uso y diagrama de flujo del software.
Diagrama de despliegue del software.
Diagrama de paquetes del software.
Conceptualizaciones
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:
El proyecto parte de un pliego de condiciones y se establece una Estructura de División del Trabajo (EDT).
Se calculan las cantidades que serán necesarias para cada actividad.
Se establece una lista de materiales.
Se establece una lista de maquinarias.
Se establece una lista de rendimientos de mano de obra.
Se realizan los APU.
Se calculan el valor directo del proyecto.
Se establecen los valores de los costos indirectos.
Se calcula el valor total del proyecto.
Se realiza la programación de obra.
La metodología para el desarrollo de este procedimiento generalmente es el siguiente:
Casi siempre existe ya una EDT establecida inicialmente, la cual está ligada a todos los aspectos técnicos. Pese a que exista debe revisarse que estén contemplados todos los aspectos del proyecto, identificando cuales son las actividades que deben realizarse, para poder establecer un presupuesto y una programación lo más detallados posible.
Después de haber creado la EDT con las actividades que se ejecutaran, se procede a realizar la medición de cada uno de los ítems dentro del presupuesto, de manera automática o manual según sea el caso, para tener las mediciones lo más exactas posibles con respecto a lo que se ejecutará dentro del proyecto. A partir de aquí, el desarrollo de un presupuesto puede desarrollarse de diferentes maneras. Sin embargo, para que exista un procedimiento lógico se propone que no existen listas de precios, de maquinaria y mano de obra.
En este punto es indispensable tener conocimientos teóricos o prácticos acerca de los procesos constructivos, debido a que se debe tener en cuenta qué tipo de materiales, maquinaria o equipos son los más idóneos para realizar las diferentes tareas.
Los materiales deben establecerse dentro de una lista, basados en la lista de actividades que se estableció dentro de la EDT. Este será un proceso tedioso la primera vez, pero después se podrán utilizar estos ítems para otros proyectos.
Este proceso debe realizarse para la maquinaria, los equipos, la mano de obra y el transporte.
Posteriormente a tener estas bases de datos, se deben crear los diferentes APU considerando los diferentes elementos que requiere una actividad para ejecutarse de manera correcta. Por lo tanto, la persona que realice esta tarea debe tener un poco de experiencia en este aspecto.
Al realizar este procedimiento para cada una de las actividades, solo hace falta multiplicar el valor del APU por la cantidad de unidades que tiene dicha actividad. De esta manera, se sumarían todos los ítems del presupuesto y se establecería el costo directo del proyecto.
Posteriormente se debe determinar el costo indirecto del proyecto, el cual puede llegar a ser hasta de un 30 % del costo total; sin embargo, cada uno de sus componentes deberá justificarse.
El valor total del presupuesto se calcula sumando los costos directos e indirectos calculados anteriormente.
El último paso es establecer la programación de obra, la cual se estimará según el tipo de programación realizada en el programa de Ingeniería Civil. Se utiliza el método de la ruta crítica y es la metodología que se implementará dentro de este 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:
Registro e inicio de sesión.
Gestión de presupuestos.
Gestión de caracterizaciones.
Gestión de ítems.
Gestión de salarios.
Gestión de APU.
Lista de compras.
Gestión de la programación.
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.
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.
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.
Registro e inicio de sesión: en este caso de uso, se realizará el procedimiento de registrarse mediante las credenciales establecidas, posteriormente el usuario podrá iniciar sesión y poder acceder a todos los servicios del sistema.
Gestión de presupuestos: este caso de uso se encarga de la gestión de los diferentes presupuestos que el usuario puede crear, editar o eliminar. En este caso de uso se pueden agregar, editar o eliminar, capítulos, actividades y calcular los valores monetarios de un proyecto.
Gestión de caracterizaciones: las caracterizaciones serán uno de los aspectos más importantes de esta herramienta debido a que dividirá todos los elementos del sistema en grupos de procesos y grupos de actividades, todo esto con el fin de que la creación de los APU, sea más eficaz mediante el uso de filtros.
Gestión de ítems: este caso de uso se encargará de agregar, editar o eliminar, los diferentes ítems del presupuesto, tales como, materiales, mano de obra, maquinaria y transporte.
Gestión de salarios: en este caso de uso, el usuario podrá agregar los salarios que necesite para su personal. Sin embargo, solo el superusuario podrá actualizar los precios del salario mínimo legal vigente, así como sus diferentes condicionales para el cálculo de las prestaciones sociales.
Gestión de APU: dentro de este caso de uso, se podrán identificar los ítems que se utilizarán dentro de cada actividad y gracias a la caracterización de estos, su realización será mucho más rápida.
Listado de compras: este caso de uso permitirá al usuario ver los diferentes materiales y sus cantidades para saber la cantidad de material que debe comprar, así como las maquinarias a alquilar y la mano de obra que necesita a lo largo de todo el proyecto.
Gestión de la programación: aquí se realizará toda la programación del proyecto mediante el método de la ruta crítica, adicional a esto, el software permitirá vincular los trabajadores a las diferentes actividades e identificará quienes se encuentran indispuestos. Será una programación dinámica y se podrá actualizar en el desarrollo del proyecto.

Este diagrama de secuencia, que se muestra en la figura 2, enseña de manera detallada el proceso general para la creación de un presupuesto y su respectiva programación, así como para la creación, edición o eliminación de los APU.
De manera que inicialmente el usuario debe registrarse e iniciar sesión. Luego le permite seleccionar los presupuestos guardados, para editar o crear uno nuevo. El usuario puede agregar, capítulos y crear actividades. Una vez creadas las actividades se le permite al usuario editar, crear o eliminar los APU seleccionando los diferentes ítems que a este lo conforman. Todo esto atiende a su respectiva caracterización de grupos de procesos y grupos de actividades, esto permitirá una mayor eficacia y productividad al momento de desarrollar el presupuesto. Una vez creado todo el presupuesto, el usuario tendrá la opción de realizar su programación de obra, la cual relacionará a las personas que llevarán a cabo cada una de las actividades.
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.
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.



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.
Conflictos de interés: Los autores no declaran ningún tipo de conflicto de interés.
Universidad Francisco de Paula Santander



