PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Coordinación de tecnologías de la Información y Diseño
DESARROLLO DE APLICACIÓN WEB PARA EL ANÁLISIS DE COSTOS UNITARIOS EN LA CONSTRUCCIÓN DE LA EMPRESA EACUS S.A.S TRABAJO DE TITULACIÓN Previo a la obtención del título de Ingeniero de Sistemas y Computación
Línea de investigación: Tecnologías de la información y la comunicación
Autoría: Calderón Camacho Steven David Ontaneda Culqui Adrián Alejandro Dirección: Ulloa Meneses Luis Javier, Mg.
Santo Domingo – Ecuador Marzo, 2022
PONTIFICIA UNIVERSIDAD CATÓLICA DEL ECUADOR SEDE SANTO DOMINGO Coordinación de tecnologías de la Información y Diseño HOJA DE APROBACIÓN DESARROLLO DE APLICACIÓN WEB PARA EL ANÁLISIS DE COSTOS UNITARIOS EN LA CONSTRUCCIÓN DE LA EMPRESA EACUS S.A.S Línea de investigación: Tecnologías de la información y la comunicación
Autoría: Calderón Camacho Steven David Ontaneda Culqui Adrián Alejandro
Revisado por:
Ulloa Meneses Luis Javier, Mg. DIRECTOR DEL TRABAJO DE TITULACIÓN
________________________
Orozco Iguasnia Fausto Ernesto, Mg. CALIFICADOR
________________________
Córdova Gálvez Rodolfo Sirilo, Mg. CALIFICADOR
________________________
Carrasco Ramírez Franklin Andrés, Mg. COORDINADOR
________________________
Santo Domingo – Ecuador Marzo, 2022
3
DECLARACIÓN DE AUTENTICIDAD Y RESPONSABILIDAD Nosotros, Calderón Camacho Steven David, portador de la cédula de ciudadanía 2300580889, y Ontaneda Culqui Adrián Alejandro, portador de la cédula de ciudadanía 2300545239, declaramos que los resultados obtenidos en la investigación que presentamos como informe final, previo a la obtención del Grado de Ingeniero de Sistemas y Computación son absolutamente originales, auténticos y personales. En tal virtud, declaramos que el contenido, las conclusiones y los efectos legales y académicos que se desprenden del trabajo propuesto de investigación y luego de la redacción de este documento son y serán de nuestra sola y exclusiva responsabilidad legal y académica. Igualmente, declaramos que todo resultado académico que se desprenda de esta investigación y que se difunda tendrá como filiación la Pontificia Universidad Católica del Ecuador Sede Santo Domingo, reconociendo en las autorías al director del Trabajo de Titulación y demás profesores que amerita.
________________________ Calderón Camacho Steven David C.C. 2300580889
________________________ Ontaneda Culqui Adrián Alejandro C.C. 230054523
4
INFORME DE TRABAJO DE TITULACIÓN ESCRITO DE GRADO Cano de la Cruz Yullio, Mg. Dirección de Investigación y Postgrados Pontificia Universidad Católica del Ecuador Sede Santo Domingo De mi consideración,
Por medio del presente informe en calidad de director del Trabajo de Titulación del Grado de Ingenieria de Sistemas y Computación titulado: DESARROLLO DE APLICACIÓN WEB PARA EL ANÁLISIS DE COSTOS UNITARIOS EN LA CONSTRUCCIÓN DE LA EMPRESA EACUS S.A.S, realizado por el estudiante: añadir Calderón Camacho Steven David con cédula de ciudadanía 2300580889 y Ontaneda Culqui Adrián Alejandro con cédula de ciudadanía 2300545239, previo a la obtención del título de Ingeniero de Sistemas y Computación, informo que el presente Trabajo de Titulación escrito se encuentra finalizado conforme a la guía y al formato de la Sede vigente.
Santo Domingo, 08/03/2022. Atentamente,
Ulloa Meneses Luis Javier, Mg. Profesor Titular Auxiliar I
5
RESUMEN Los primeros pasos en una obra es analizar su viabilidad a través de un presupuesto según el acuerdo No. 039-cg-2009 emitido por la contraloría General del Estado así mismo en su norma 408-12 dicta que una obra deberá ser administrada por actividad y sus componentes siendo así necesario un análisis de costos unitarios. Para facilitar el desarrollo de presupuestos en la empresa EACUS S.A.S se implementó una aplicación web. A través de un enfoque mixto se analizó las encuestas aplicadas a los clientes que se capacitaron en la empresa y a la entrevista realizada a los miembros de la misma. Se hizo uso de la metodología de desarrollo Scrum lo cual permitió una planificación a través de fases con tiempos flexibles y llevar a cabo buenas prácticas en la realización del software. En el frontend se usó el conjunto de herramientas HTML5, la biblioteca Bootstrap que facilitó la creación de componentes, mientras que en el back-end se usó el entorno de ejecución Node.js integrando dependencias a través de Node Package Manager destacando Express.js, EJS, Bcryptjs y Passport. Además del sistema gestor base de datos MySQL. Durante el análisis correspondiente se determinó que el programa utilizado por la empresa EACUS S.A.S carece de portabilidad por ser un software de escritorio, además de, una curva de aprendizaje alta causando inconformidades y retrasos innecesarios. Finalmente se concluyó que las herramientas y marco de desarrollo usados determinaron la correcta ejecución en los tiempos establecidos para la realización de la aplicación web solucionando la problemática encontrada.
Palabras clave: aplicación informática, contabilidad de costes, presupuesto.
6
ABSTRACT The first step in work is to analyze its feasibility through a budget according to the agreement No. 039-cg-2009 given by the General Controller of the State, as in its norm 40812 dictates that work must be managed by its activity and components being thus necessary analysis of unit costs. In order to facilitate the development of budgets in the company EACUS S.A.S. a web application was implemented. Through a mixed approach, the surveys applied to the customers who were capacitated in the company, and the interviews conducted with its members were analyzed. The Scrum development methodology was used, which allowed planning through phases with flexible times and carrying out good practices in the realization of the software. In the front-end was used the HTML5 toolset, as well as the Bootstrap library that facilitated the creation of components, while in the back-end was employed the runtime system Node.js integrating dependencies through the Node Package Manager notable among them Express.js, EJS, Bcryptjs, and Passport. Besides the MySQL database management system. During the corresponding analysis, it was determined that the program used by the company EACUS S.A.S lacks portability because it is a desktop software, in addition to a high learning curve causing disagreements and unnecessary delays. Finally, it was concluded that the tools and development framework used determined the correct execution in the established times for the implementation of the web application, solving the problem found.
Keywords: computer applications, cost accounting, budgets
7
ÍNDICE DE CONTENIDOS 1.
INTRODUCCIÓN ............................................................................................... 10 Antecedentes ..................................................................................................... 10 Planteamiento y delimitación del problema ....................................................... 11 Preguntas de investigación ................................................................................ 12 Justificación ........................................................................................................ 13 Objetivos de investigación ................................................................................. 13
1.5.1.
Objetivo general ................................................................................................. 13
1.5.2.
Objetivos específicos ......................................................................................... 14
2.
REVISIÓN LITERARIA ...................................................................................... 15 Desarrollo de presupuestos en proyectos de construcción .............................. 15
2.1.1.
Presupuesto ....................................................................................................... 15
2.1.2.
Presupuestos detallados de una obra ............................................................... 15
2.1.3.
Costos unitarios.................................................................................................. 16
2.1.4.
Análisis de costos unitarios (ACU) .................................................................... 16
2.1.5.
Costos ................................................................................................................ 16
2.1.6.
Costos directos................................................................................................... 17
2.1.7.
Mano de obra ..................................................................................................... 17
2.1.8.
Maquinaria y equipo ........................................................................................... 17
2.1.9.
Materiales ........................................................................................................... 18
2.1.10.
Costos indirectos ................................................................................................ 18 Herramientas de Desarrollo de Software .......................................................... 19
2.2.1.
HTML .................................................................................................................. 19
2.2.2.
HTML5 ................................................................................................................ 19
2.2.3.
CSS .................................................................................................................... 19
2.2.4.
JavaScript ........................................................................................................... 20
2.2.5.
Node.js ............................................................................................................... 20
8 2.2.6.
Frameworks para Aplicaciones Node.js ............................................................ 20
2.2.7.
Express.js ........................................................................................................... 21
2.2.8.
Nodemon ............................................................................................................ 21
2.2.9.
Modelo vista controlador (MVC) ........................................................................ 21
2.2.10.
Sistema de base de datos ................................................................................. 22
2.2.11.
Abstracción de datos.......................................................................................... 22
2.2.12.
Sistema gestor de bases de datos (SGBD)....................................................... 22
2.2.13.
Sistema gestor de bases de datos relacionales (SGBD SQL).......................... 22
2.2.14.
MySQL................................................................................................................ 23
2.2.15.
MariaDB.............................................................................................................. 23
2.2.16.
SQLite................................................................................................................. 23
2.2.17.
PostgreSQL ........................................................................................................ 23 Metodología de desarrollo software................................................................... 24
2.3.1.
Metodología de Scrum ....................................................................................... 24
2.3.2.
Roles de Scrum .................................................................................................. 24
2.3.3.
Eventos Scrum ................................................................................................... 25
2.3.4.
Artefactos del Scrum .......................................................................................... 26
2.3.5.
Metodología Extreme Programming (XP) .......................................................... 26
2.3.6.
Valores de Extreme Programming (XP) ............................................................ 27
2.3.7.
Prácticas de Extreme Programming (XP) .......................................................... 27
3.
MÉTODOLOGÍA ................................................................................................ 30 Enfoque y tipo de investigación ......................................................................... 30 Técnicas e instrumentos de investigación ......................................................... 31 Técnicas de análisis de datos ............................................................................ 31
4.
RESULTADOS................................................................................................... 32 Desarrollo de presupuestos en proyectos de construcción .............................. 32
4.1.1.
Resultados de las encuestas ............................................................................. 32
4.1.2.
Resultados de la entrevista dirigido a los miembros de la empresa ................. 34
9 Herramientas de desarrollo de software ............................................................ 36 4.2.1.
Base de datos .................................................................................................... 36
4.2.2.
Tecnología de back-end .................................................................................... 37
4.2.3.
Metodología de desarrollo ágil ........................................................................... 38 Resultados del producto según la metodología de desarrollo Scrum .............. 39
4.3.1.
Fase 1. Modelo e implementación de la base de datos .................................... 39
4.3.2.
Fase 2. Autenticación y registro ........................................................................ 40
4.3.3.
Fase 3. Repositorio ............................................................................................ 41
4.3.4.
Fase 4. Presupuesto .......................................................................................... 42
4.3.5.
Fase 5. Valor agregado ecuatoriano (VAE)....................................................... 43
5.
DISCUSIÓN ....................................................................................................... 45
6.
CONCLUSIONES Y RECOMENDACIONES .................................................... 48
7.
REFERENCIAS.................................................................................................. 50
8.
ANEXOS ............................................................................................................ 56
10
1. INTRODUCCIÓN Como resultado de la globalización y el acrecentado ritmo laboral, se ha vuelto necesario el buscar herramientas flexibles e intuitivas que reduzcan la carga laboral. Con el constante avance de las tecnologías de la información y la comunicación (TIC) se han creado diversas herramientas capaces de cubrir estas necesidades. Entre estas herramientas se han destacado las aplicaciones web debido a que aprovechan la conexión a internet para proporcionar un servicio independiente del lugar, dispositivo y sistema operativo desde el que se desea acceder. El análisis de costos unitarios (ACU) consiste en clasificar los elementos necesarios para desarrollar un trabajo considerando los sobrecostos. Los elementos antedichos están conformados por los costos directos, es decir, materiales, mano de obra, maquinaria y equipo. Por otro lado, los sobrecostos son los "costos indirectos, el financiamiento, la utilidad y los cargos adicionales" (M. Rodríguez & López, 2019). Antecedentes En Chile, (Molina Vera, 2020) en su trabajo de titulación usando la metodología investigación-acción, diseña una aplicación web que implementa su interfaz y servidor por medio de Google Apps Scripts; y usa Google Sheets para su base de datos y capa de presentación. Dicha aplicación tiene como objetivo simplificar la forma en la que se generan presupuestos usando Análisis de Precios Unitarios 1 (APU) y otros documentos económicos en la ONG “Vivienda Local”, como resultado se logró obtener de manera eficiente los documentos propuestos, a través de una aplicación sencilla de usar y permitiendo la
1
Los términos Análisis de Costos Unitarios (ACU) y Análisis de Precios Unitarios (APU) son equivalentes. A pesar de que, en contabilidad, precio y costo son esencialmente diferentes; Se utilizan de manera indistinta al momento de describir esta técnica para desarrollar presupuestos. Al realizar una cita, se usará el termino elegido por sus autores.
11 colaboración entre varios usuarios por medio de internet usando la capacidad propia de Google para compartir archivos en línea. Vásquez Herrera (2021) en su investigación desarrolla el software A.P.U FACIL.EC con el fin de realizar precios unitarios, especificaciones técnicas y presupuestos en la construcción. A través de una metodología por fases, selecciono las herramientas Matlab y Microsoft Access y encuesto a 40 estudiantes de los últimos semestres de Ingeniería Civil de la Universidad Técnica de Ambato. Se determinó que la mayoría de personas hacen uso de Excel, no existe un programa en el Ecuador que tenga especificaciones técnicas de cada rubro, además de que las personas se demoran mucho en la elaboración de presupuestos debido a las enormes cantidades de información que deben recopilar. Jaramillo Sangurima y Jacome Galarza (2018) mediante la investigación-acción desarrollaron un software para elaborar presupuestos de construcción, llevado a cabo en un edificio de la CEDECON, Quito. En el desarrollo se realizaron dos versiones del software basado en Visual Basic. Como resultado se obtuvo el software “Obras”, una aplicación de escritorio, que, a pesar de tener las limitaciones inherentes de este tipo de software, se adapta a las preferencias del usuario y se apega a la normativa legal del Ecuador. Planteamiento y delimitación del problema De acuerdo el informe CHAOS de Standish Group se observa que de las empresas un 19% fallaron, 50% cambiaron y tan solo un 31% tuvieron éxito y entre las principales causas del fracaso está el deficiente uso de las herramientas tecnológicas o directamente la ausencia de estas (Forteza Usieto, 2017). La empresa EACUS S.A.S ubicada en Quito, se dedica a la elaboración de presupuestos y asesoría de ingeniería para proyectos de construcción. Dentro del desarrollo de presupuestos por el método de análisis de costos unitarios, hacen uso de programas de escritorios para facilitar esta tarea sin embargo al limitarse a una sola plataforma y carecer
12 de portabilidad, además de una interfaz clara e intuitiva, son softwares ineficientes para realizar el trabajo. Entre los diversos problemas a solucionar podemos destacar que debido a que son poco intuitivos poseen una alta curva de aprendizaje, además de no tener características que faciliten la comunicación y el trabajo en equipo, lo que lleva a tener que movilizar gran volumen de datos por fuera de la aplicación aumentando los riesgos de pérdida o robo de información y generando retrasos innecesarios debido a este proceso. Además, se ha observado que pocos programas cubren los requisitos legales del país. Actualmente, estos mismos inconvenientes pueden verse reflejados en todas las personas que se dediquen al desarrollo de ACU 's en Ecuador y en aquellas que, todavía aprendiendo estos procesos, se ven limitados por la alta curva de aprendizaje. Por lo tanto, se requiere un software que solucione estas problemáticas mencionadas, dirigido a los miembros de la empresa EACUS S.A.S y a las personas que se capaciten en ella. Preguntas de investigación ¿Cómo facilitar el servicio de desarrollo de presupuestos para proyectos de construcción de la empresa EACUS S.A.S Cía. Ltda. en la ciudad de Quito? Problema que se subdivide a través de estas preguntas: ¿Cómo se realiza actualmente el servicio de desarrollo de presupuestos para proyectos de construcción de la empresa EACUS S.A.S Cía. Ltda.? ¿Qué metodología de desarrollo ágil, recursos y herramientas son útiles para la elaboración de la propuesta de intervención? ¿Cómo solventar las necesidades en el análisis de costos unitarios de la empresa EACUS S.A.S por medio de software?
13 Justificación Según lo afirman el Acuerdo No. 039-cg-2009 emitido por la Contraloría General del Estado, en su norma 408-01, dicta que, un proyecto consta de dos etapas. En la primera, se analiza la viabilidad del proyecto y se calcula un presupuesto, en la segunda, se ejecuta el proyecto por contrato o administración directa. En caso de iniciar el proceso de contratación, la decisión se tomará en base de los presupuestos ofrecidos por cada empresa. Por consiguiente, la realización de presupuestos de manera eficaz y precisa es de gran interés para las constructoras (Contraloría General del Estado [CGE], 2019). Adicionalmente, en el acuerdo ya mencionado, en su norma 408-12 determina que una obra deberá ser administrada dividiéndose por actividades, definiendo los insumos necesarios por actividad y sus componentes, es decir, para cualquier proyecto de esta índole es necesario un análisis de costos unitarios y por lo tanto un software capaz de manejar toda esta información (CGE, 2019). En el 2021, la Secretaría Nacional de Planificación en el documento “Plan de Creación de Oportunidades 2021-2025” en el Eje Social, Objetivo 7, política 7.2 plantea: “Promover la modernización y eficiencia del modelo educativo por medio de la innovación y el uso de herramientas tecnológicas” (Secretaría Nacional de Planificación, 2021, p. 69). Alineados con esta política, esperamos con este proyecto impulsar el acceso a la información, herramientas y normativas, así como fomentar y facilitar la capacitación de ingenieros de costos en la creación de presupuestos y análisis de costos unitarios. Objetivos de investigación 1.5.1. Objetivo general Implementar una aplicación web para facilitar el servicio de desarrollo de presupuestos para proyectos de construcción de la empresa EACUS S.A.S en la ciudad de Quito.
14 1.5.2. Objetivos específicos
Determinar los procesos que se llevan a cabo para la capacitación y servicio de desarrollo de presupuestos para proyectos de construcción de la empresa EACUS S.A.S en la ciudad de Quito.
Seleccionar la metodología de desarrollo, infraestructura tanto de hardware como software y herramientas adecuadas para elaborar la propuesta de intervención.
Desarrollar una aplicación web para facilitar el análisis de costos unitarios de la empresa EACUS S.A.S.
15
2. REVISIÓN LITERARIA Desarrollo de presupuestos en proyectos de construcción 2.1.1. Presupuesto Sé describe los presupuestos como el hecho de estimar una tarea de una empresa a través de sus requerimientos, necesidades, objetivos y los resultados dentro de un determinado tiempo (Burbano Ruiz, 2005). Los presupuestos son la abstracción de las acciones de una empresa de una manera contable en función de sus objetivos que permite la toma de decisiones, controlar y delegar funciones (Gómez Rondón, 2001). Los presupuestos en la construcción se basan en estimaciones que por lo general se realizan antes de la ejecución de la obra, teniendo que las exactitudes de la estimación con respecto a la realidad dependan de la magnitud de información que se disponga obteniendo así una relación proporcional de mayor información será mayor la complejidad de elaborar un presupuesto y mayor será la precisión del mismo (Pallares Vacca, 2014). 2.1.2. Presupuestos detallados de una obra Es representar en una plantilla todas las tareas a realizarse en una obra de manera tal que estén ordenadas, desglosadas y cotizadas en base al proyecto. Es importante que la manera en que estén ordenadas concuerde de manera cronológica. Es necesario acotar que la manera en que se desglosen las tareas será en rubros con sus respectivos ítems, aquí interviene la experticia del encargado de categorizar para poder determinar de manera correcta las particularidades de cada rubro (Arboleda López & Serna Gutiérrez, 2019). Las tareas se conforman por insumos, mano de obra y equipo por lo cual existe una gran variedad de combinación de estos elementos en una tarea siendo obligatorio, cotizaciones diferentes. La exactitud con que se obtengan los costos será un factor determinante para ganar la licitación de precios (Arboleda López & Serna Gutiérrez, 2019).
16 La correcta forma de presentar esta información hace más fácil la lectura del presupuesto por lo tanto el control de la obra cuando esté en ejecución siendo una parte fundamental para conseguir el certificado de trabajo mensual es la manera que se evidencia los trabajos realizados, el contratista envía esta certificación a su jefe que luego entrara en un proceso de facturación y por consiguiente de pago. Este proceso es se da a menudo en el área de la construcción (Arboleda López & Serna Gutiérrez, 2019). 2.1.3. Costos unitarios Son aquellos costos que denotan en dinero el valor propio de un producto tomando en cuenta los costos del proceso para llegar aquel producto intervienen materiales, mano de obra, tarifas … Se suele dar costos unitarios erróneos ya puede ser causado por sobreprecios en los productos o por no considerar ciertos elementos esto tiene varios riesgos hasta el punto de ser rechazada cierta oferta para evitar esto se debe realizar técnicas de análisis (Gómez Guzmán, 2018, p. 384). 2.1.4. Análisis de costos unitarios (ACU) Son realizados con el fin de encontrar el precio que se obtendrá por llevar a cabo una unidad de trabajo. Los ACU se hacen el momento que se obtiene el costo unitario de un componente, estos se constituyen principalmente de una identificación del articulo donde se especifica nombre, unidad de medida y cantidad, aparte están los costos directos, costos indirectos y costos totales que vendría ser la suma de los dos costos ya mencionados (Arboleda López & Serna Gutiérrez, 2019). Es parte esencial para la elaboración de presupuestos aquí se relaciona los costos con la unidad de trabajo de cada labor que pertenece al presupuesto, permite visualizar los costos y gastos de cada elemento (Pérez Pinilla, 2020). 2.1.5. Costos Costos tiene dos conceptos, el primero corresponde al total de esfuerzo y recursos invertidos para realizar una tarea en concreto, el segundo hace referencia al sacrificio, renuncia que se da por obtener algo a cambio (Reveles López, 2017).
17 El primer concepto se usa para representar todos los factores que intervienen en la producción de algo, el segundo simplemente a los resultados de una elección (Reveles López, 2017). 2.1.6. Costos directos Son todos aquellos costos que intervienen de manera directa en la obra sin ellos es imposible realizarla. Estos elementos serán categorizados de manera coherente en fases en cada fase intervienen componentes que se han dividido de la siguiente forma: mano de obra directa, materiales, equipos, combustibles y reclutadores. Los componentes a su vez contarán de elementos estos tendrán asignadas unidades de medida y costos unitarios (Macchia, 2011). 2.1.7. Mano de obra El personal que se dedique enteramente a la producción o extracción de algún recurso se lo considera como mano de obra, en empresas comerciales esta definición corresponde a sueldos. La mano de obra directa deberá cumplir con los requisitos de ser identificable, cuantificable y representativo aquella que no cumpla con estos, se consideraran como mano de obra indirecta. Además, la mano de obra en el ámbito contable deberá contar con sueldos, prestaciones, aportaciones y contribuciones (Reveles López, 2017, p. 95). 2.1.8. Maquinaria y equipo Son los componentes que intervienen en la ejecución de la obra se pueden caracterizan porque ayudan a reducir el trabajo, acelerar los resultados, remplazar altas cantidades de trabajo manual. Estos se podrían catalogar como maquinarias de rendimiento, preparación y medios auxiliares. Otro aspecto a considerar es que el alquiler o compra de estas maquinarias deberán usarse de tal manera que sean beneficioso para la empresa y no perjudique a los costos, es decir sacar el máximo provecho de uso de las máquinas sin dejar de lado el cuidado de las mismas (Armesto et al., 2015).
18 Son aquellos costos necesarios para adquirir, ejecutar y mantener todas las herramientas, maquinas que intervienen en el desarrollo de una obra, el costo se evalúa por lo general en función en días de trabajo u horarios. Interviene dos grandes gastos que son los fijos y variables, los fijos son todos aquellos relacionados a la adquisición y mantenimiento de la maquinaria, los variables son los que se dan en el uso del mismo como combustible, aceites…(CAPECO, 2003). 2.1.9. Materiales Son los insumos que se transforma en un servicio o producto, muchas veces es confundido por materia prima, esta no necesariamente deberá ser así, ya puede venir procesada. Cuando se puede definir de manera sencilla el precio y visualizar el material en el producto final es considerado material directo cuando no es así es indirecto (López, 2017). Es importante determinar el costo de los materiales que influyen en la obra esto se lo conoce como precio de aplicación del material, para establecer el precio se toma en cuenta los factores de tipo de material, calidad, cantidad y el rendimiento que este tenga sin tomar en cuenta los costos de financiación. En el trabajo de construcciones es raro, pero existen casos donde el material no se compra de manera externa si no se elaborara dentro de la misma empresa (Armesto et al., 2015, p. 21). 2.1.10.
Costos indirectos
Son aquellos costes que intervienen en la elaboración de un producto, pero que afectan a un conjunto de los mismos por lo tanto al no poder determinar de manera solitaria se lo subdivide en toda la elaboración, a modo que se obtienen primero los costos directos y el sobrante conforman el costo indirecto. Los costos indirectos deberán ser desglosados a unos objetivos de costos planteados con anterioridad, aquí interviene la pericia de la persona encargada en poder encajar estos costos en sus respectivos objetivos, estos objetivos por lo general son gastos generales de fabricación, gastos de ventas y los gastos corporativos y los generales de administración. Se deberá en tomar en cuenta los costos
19 que se dan en la producción como también los costos por inactividad de algún elemento (Gómez Guzmán, 2018). Herramientas de Desarrollo de Software 2.2.1. HTML HTML significa lenguaje de marcado de hipertexto de sus siglas en inglés (HyperText Markup Language) es un lenguaje que nos permite dar un modelo, orden y estructura a la información para que esta pueda ser presentada en un navegador de una manera más visual y no solo como una hoja de texto plana y sencilla. No es considerado un lenguaje de programación pues no tiene características como “variables, ciclos, tipos de datos y otras propiedades exclusivas de los lenguajes” (Luján Castillo, 2016, p. 3). 2.2.2. HTML5 Es por así decir la quinta versión del clásico HTML esta nueva versión trae consigo dos sintaxis HTML y XHTML siendo esta ultima un lenguaje de etiquetados más extenso y especifico permitiendo así al desarrollador web poder optar por tener más control de la presentación de la información con XHTML o trabajar de una forma más practica con HTML , además cuenta con algunas mejoras notables como son: la incorporación de un estándar para interpretar los errores, implementar multimedia y la integración de los lenguajes CSS3 y JavaScript (Gutiérrez, 2016). 2.2.3. CSS CSS son hojas de estilo en cascada de sus siglas en inglés (Cascading Style Sheets) son hojas que se aplican sobre la estructura HTML lo cual logra mejorar el aspecto visual gracias a que se puede personalizar los elementos que contiene HTML añadiendo y cambiando propiedades como “el color, el tamaño, la posición” (p.91). Se lo denomina en cascada ya que se aplican los estilos de acuerdo al orden en el que se presenten. La gran mayoría de desarrolladores web trabajan en conjunto HTML y CSS para sus páginas web (Luján Castillo, 2016).
20 2.2.4. JavaScript Es un lenguaje de programación usado mayormente en lado del cliente se puede usar el paradigma de programación orientado objetos pues está desarrollado/acoplado bajo este paradigma sin embargo no busca que se implemente la encapsulación o la programación estructurada, su esencia tiene un parecido a lenguajes como C, C++ y Java, pero tiene como característica diferenciadora de los demás lenguajes es que no se necesita definir el tipo de dato basta con definir una nueva variable (Mariano, 2017). 2.2.5. Node.js Desarrollado por Google usando el motor V8, es un entorno de ejecución multiplataforma de código abierto usado para desarrollar aplicaciones web en el lado del servidor. Está basado en el lenguaje JavaScript extendido por varias librerías de C (Nordeen, 2020). Utiliza una arquitectura orientada a eventos, lo que hace a Node.js una herramienta asíncrona, la cual fue diseñada para servidores con alto grado de concurrencia, por lo cual es capaz de responder manera rápida y eficiente a un alto número de consultas. Permite el agregar dependencias fácilmente por medio de Node Package Manager (NPM) usando la consola del sistema operativo(Puciarelli, 2020). 2.2.6. Frameworks para Aplicaciones Node.js Cuando se desarrolla una aplicación o programa, rara vez se empieza desde cero, lo normal es aprovechar el trabajo previo realizado por otros desarrolladores como base o herramientas que faciliten el desarrollo, una de estas herramientas son los frameworks. También llamados marcos de trabajo, los frameworks proporcionan un entorno de trabajo apropiado para desarrollar la aplicación. De una manera similar, Cíceri (2018), lo define como “Un conjunto de estructuras y componentes de software predefinidos e interconectados que sirven de base para la organización y el desarrollo de sistemas con propósitos generales” (p.14).
21 2.2.7. Express.js Es un framework para implementar tareas indispensables para el desarrollo web utilizando librerías y módulos tanto de la comunidad como propios. Además de proporcionar un modelo vista-controlador lo que permite manejar las rutas y sus consultas. Entre sus características se destaca la simplificación en el proceso de conexión con las bases de datos tales MySQL, MongoDB, PostgreSQL, Redis, etc, y el poseer su propio motor de plantillas (Mardan, 2014). 2.2.8. Nodemon Es un módulo que facilita el desarrollo a pesar de no estar relacionada con el testeo o la depuración de manera directa. Nodemon monitorea el directorio donde se encuentra la aplicación y en caso de que ocurra un cambio en los archivos, reinicia la aplicación de manera automática integrando así estos nuevos cambios al proyecto evitando tener que hacer ese proceso manualmente (Powers, 2012). 2.2.9. Modelo vista controlador (MVC) Es un patrón que facilita el desarrollo, mantenimiento y la reutilización del código, consta de tres capas: Modelo es el encargado de manejar los datos aquí se comunica con la base de datos, es la responsable de actualizar, pedir y mostrar los datos, por lo general usa librerías que permitan ejecutar sentencias encapsuladas de SQL, manteniendo así los datos de manera independiente del modelo lo cual a futuro permitirá el fácil mantenimiento (Alonso Aranda, 2019). Vista es la encargada de representar la interfaz al usuario, pedir datos al modelo, mostrar datos y mantener actualizado los datos disminuyendo así que tener que mandar actualizarse desde el modelo (Alonso Aranda, 2019).
22 Controlador es el que se encarga de la comunicación entre la vista y el modelo, como su nombre lo dice controlar las peticiones donde él determina hacia dónde dirigir, esta capa no maneja los datos ni las interfaces gráficas (Alonso Aranda, 2019). 2.2.10.
Sistema de base de datos
El sistema de base de datos sirve para almacenar una gran cantidad de datos y que estos estén relacionados entre sí para así facilitar su acceso, carga y manejo por parte de los usuarios a través de programas. “Uno de los propósitos principales de un sistema de bases de datos es proporcionar a los usuarios una visión abstracta de los datos” (Silberschatz et al., 2002, p. 3). 2.2.11.
Abstracción de datos
No todos los usuarios que utilizan la base de datos necesitan entender como está conformada, por lo cual solo se muestra lo que le interesa a cada usuario. Esto se logra a través de tres niveles de abstracción: el nivel físico describe el cómo se guardan los datos, el nivel lógico describe cuales datos se utilizan y las relaciones entre estos por último el nivel de vistas muestra una porción de la base de datos especificas a las necesidades del usuario ocultando la complejidad del cómo, cuáles y las relaciones que existen en toda la base de datos, puede existir varias vistas en una base de datos (Silberschatz et al., 2002). 2.2.12.
Sistema gestor de bases de datos (SGBD)
Es un software extenso conformado por módulos que tienen varias funcionalidades estas permiten desarrollar la base de datos, realizar las consultas, guardar los datos y aparte muchas funciones más con el fin de velar por la seguridad, acceso, optimización y fiabilidad de la base de datos (Elmasri & Navathe, 2007). 2.2.13.
Sistema gestor de bases de datos relacionales (SGBD SQL)
Las bases de datos relacionales son aquellas donde los datos se organizan en tablas las cuales están relacionadas con otras tablas de forma lógica llevando un control/restricción de la relación con el fin de optimizar la información y evitar datos inconsistentes o repetidos (Axmark & Widenius, 2021).
23 2.2.14.
MySQL
Es un software para el sistema de administración de base de datos relacionales muy reconocido que pertenece a Oracle es de código abierto también cuenta con licencia comercial, tiene una arquitectura cliente/servidor permitiendo a varios programas clientes acceder a esta, tiene varias funcionalidades en línea gracias por el aporte entre los usuarios y el equipo de MySQL. (Axmark & Widenius, 2021). 2.2.15.
MariaDB
Software que busco remplazar a MySQL fundado por los desarrolladores de MySQL es de código abierto totalmente, sin fines de lucro patrocinado por algunas organizaciones como Microsoft, IBM, Alibaba Cloud entre otras, es un software para el manejo de bases de datos relacionales es transportable a MySQL es decir se puede transferir los archivos de un software a otro sin necesidad de conversión a excepción de algunas versiones (MariaDB Foundation, s. f.). 2.2.16.
SQLite
Es un software gratuito con código abierto para el manejo de bases de datos relacionales particularmente con una arquitectura sin servidor lo que le permite acceder directamente a la base de datos SQL, es autosuficiente con un solo archivo que contiene sus bibliotecas no importa librerías externas, la base de datos se guarda en un solo archivo que a su vez es multiplataforma por estas cualidades es la base de datos probablemente más usada a nivel mundial implementada en varios dispositivos electrónicos y programas ya sean celulares, computadoras, televisores entre otros(SQLite, s. f.). 2.2.17.
PostgreSQL
Es una herramienta gratuita de código abierto para la administración de base de datos relacionales orientado a objetos contienen funcionalidades extras al lenguaje SQL para facilitar el manejo de base de datos complejas y extensas, está disponible para varios sistemas operativos y garantizan la atomicidad, consistencia, aislamiento, durabilidad (ACID) de la base de datos (PostgreSQL, s. f.).
24 Metodología de desarrollo software 2.3.1. Metodología de Scrum Scrum tiene como base el empirismo que define que el conocimiento se adquiere a través de la experiencia y también se basa en el pensamiento de Lean donde se concentra en lo esencial dejando a un lado actividades que no agregan valor al producto llamado también como desperdicios. Scrum es un marco que tiene un proceso cíclico que va incrementando con el fin de predecir riesgos y de esta manera poder controlarlos, se emplean un conjunto de personas que cumplen con los requisitos para el trabajo o en su defecto puedan obtenerlos (Schwaber & Sutherland, 2020). 2.3.2. Roles de Scrum Se definen tres roles en el equipo Scrum y no puede haber más roles ni menos, ya que afecta la lógica de Scrum, estos equipos deberán ser totalmente sostenibles es decir no necesitan ser gestionados por otro ente ni ayuda de otros para realizar sus funciones porque deberán contar con el conocimiento necesario que demanda el proyecto. Los tres roles de Scrum son el product owner, scrum master y los developers (Turley & Rad, 2019). El Product Owner es una persona relacionada con el negocio que conocerá las necesidades del producto y será la encargada de definir las funcionalidades en un listado conocido como Product Backlog que deberá ser actualizado de acuerdo a la retroalimentación que el Product Owner reciba de los clientes, es estrictamente necesario que el Product Owner sea una sola persona además de que no es necesario que tenga algún conocimiento técnico, pero si lo tiene es de ayuda (Turley & Rad, 2019). El Scrum Master es la persona encargada de hacer cumplir al equipo de trabajo los lineamientos de Scrum, deberá ser un auténtico líder que apoye al equipo facilitando la información que se necesite eliminando los obstáculos que se presenten, influir al equipo en no retrasarse de acorde a los tiempos, ayudará al Product Owner a un correcto
25 establecimiento del backlog y al equipo en general resolviendo las dudas en la implementación del Scrum (Schwaber & Sutherland, 2020). Los desarrolladores son el equipo encargado de finalizar uno a uno los elementos del backlog producido por el Product Owner, serán capaces medir su propio esfuerzo y el tiempo para llevar adelante la tarea. No existe alguna jerarquía dentro de este equipo, todos los miembros están en el mismo nivel donde se destaca la cooperación con el fin de cumplir el objetivo del proyecto y aunque se asigne una tarea a un miembro, la responsabilidad de esta recae en todo el equipo (Turley & Rad, 2019). 2.3.3. Eventos Scrum Según Rad y Turley (2019) en Scrum se configuran los siguientes cinco eventos a lo largo de Scrum:
Sprint: El desarrollo de un proyecto con Scrum se realiza a través de Sprints que son un contenedor donde se definen 4 eventos más donde se realiza el desarrollo cumpliendo con los elementos del Backlog y se modifica el mismo según las circunstancias.
Planificación del sprint: Es el comienzo del sprint es donde se evalúa, selecciona y asignan los elementos del Backlog a desarrollar con el equipo.
Scrum Diario: Una vez finalizada la planificación del sprint, en el transcurso del mismo, los desarrolladores se reúnen diariamente para gestionar el trabajo realizado y el futuro a realizar, estas reuniones deberán ser breves, para evitar entorpecer el ritmo de trabajo, por lo cual tendrán un tiempo máximo de 15 minutos.
Revisión del Sprint: Antes de acabar el sprint, se muestra el avance de desarrollo al cliente donde el equipo recibe el feedback.
Retrospectiva del Sprint: Una vez finalizada la revisión del sprint, los desarrolladores tienen una reunión donde analizan el sprint que está a punto de finalizar y definen que aspectos mejorarán para el siguiente sprint.
26 2.3.4. Artefactos del Scrum Según Schwaber y Sutherland (2020) los artefactos sirven para dar visibilidad al equipo Scrum sobre el desarrollo del producto de la manera más realista posible para determinar una decisión que disminuya los riegos.
Product Backlog: Es una lista de cosas que necesita el producto, esta lista esta ordenada de tal manera que se encuentre en los primeros puestos las cosas de mayor necesidad, para los desarrolladores esta lista es su única fuente de trabajo, se designaran estas tareas en el evento de planificación del sprint (Schwaber & Sutherland, 2020).
Sprint Backlog: Es una representación visual del trabajo pendiente durante el sprint los desarrolladores actualizaran este artefacto de acorde vayan avanzando, tendrá que ser lo suficientemente detallada para poder ser analizada en los Scrum diarios (Schwaber & Sutherland, 2020).
Incremento: Es una pequeña parte del producto final, estos se desarrollarán a lo largo del sprint deberán ser analizados a fondo en búsqueda de errores luego serán implementados o unidos a los demás incrementos, por lo general estos serán entregados en el evento de revisión del sprint, pero se pueden ser entregados antes a las partes interesadas sin tener que ser un limitante la revisión del sprint para adquirir valor (Schwaber & Sutherland, 2020).
2.3.5. Metodología Extreme Programming (XP) Es un conjunto de buenas prácticas que permiten a los desarrolladores entregar software de calidad de manera rápida y con la flexibilidad necesaria para adaptarse a los posibles cambios. Está diseñado para ser usado en equipos de desarrollo pequeños, con un tamaño entre 2 a 12 personas pero puede llegar a ser usado en proyectos de mayor tamaño, si se divide en módulos para mantener pequeños los equipos de trabajo (Laínez Fuentes, 2015).
27 2.3.6. Valores de Extreme Programming (XP) Los valores en XP describen los criterios para considerar como exitoso el proyecto, los cuales se describirán a continuación: De acuerdo con Laínez Fuentes (2015) los valores en XP describen los criterios para considerar como exitoso el proyecto, los cuales se describirán a continuación:
El primero de esos valores es la Comunicación, ya que en él se cimientan el resto. Este valor implica una comunicación directa entre el equipo de desarrollo y con el cliente en cada etapa del proyecto.
La Simplicidad especifica que, al momento de desarrollar una funcionalidad, debemos centrarnos solamente en solventar los problemas actuales, pues el intentar adelantarse y solucionar problemas futuros no siempre dará los resultados deseados y puede ser una pérdida de esfuerzo y tiempo.
Durante todo el desarrollo se presentará otro valor, la Retroalimentación, este valor describe como el cliente debe tener la capacidad de revaluar sus necesidades y con ello cambiar los requisitos del software.
El Coraje hace referencia a tener confianza en que las prácticas y valores propios de esta metodología son capaces de llevarnos a un desarrollo exitoso.
El Respeto es un valor esencial en todo ambiente laboral, en XP este valor significa que el equipo de desarrollo respeta el conocimiento de las reglas del negocio y sus necesidades que posee el cliente y el cliente a su vez, respeta el conocimiento y las decisiones del equipo sobre cómo se desarrollará el software.
2.3.7. Prácticas de Extreme Programming (XP)
De acuerdo a Bahit (2011) en XP existen 12 prácticas para una correcta implementación de su metodología:
28
Las reuniones con el cliente deben ser cara a cara, esto se hace con el objetivo de solucionar dudas y establecer prioridades rápidamente.
El equipo no debe sobrecargarse de trabajo, ya que esto puede trabajar más de 40 horas semanales puede ser contraproducente.
La utilización de metáforas puede facilitar la comunicación entre miembros del equipo y del cliente.
Mantener el diseño simple ayuda a que pueda ser comprendido y re factorizado con facilidad.
La refactorización consiste en modificar módulos sin que esto modifique el comportamiento externo del software.
La programación en pares, como su nombre sugiere, significa que dos programadores tomen roles para crear un solo fragmento de código.
Las entregas cortas permiten al cliente asimilar los cambios entre cada versión y ayuda a tener una mejor retroalimentación.
Las pruebas deben incluir pruebas unitarias, de aceptación y de integración.
El código debe estar estandarizado para poder ser legible de manera rápida por otros desarrolladores.
El código debe ser de propiedad colectiva, es decir, todos los miembros del equipo de desarrollo deben ser tener un conocimiento básico de cómo funciona cada módulo. Evitando así, que existan fragmentos de código que solo sea capaz de comprender un solo desarrollador.
La integración continua intenta añadir constantemente el nuevo código desarrollado al proyecto, para eso es necesario realizar pruebas de integración con el fin de evitar que el nuevo código corrompa el proyecto.
29
Realizar reuniones al inicio de cada iteración o jornada laboral, dichas reuniones pueden incluir, estimación de esfuerzo, revisiones del trabajo realizado y asignación de nuevas tareas.
30
3. MÉTODOLOGÍA Enfoque y tipo de investigación En el presente trabajo de titulación se usa un enfoque mixto es decir una combinación del enfoque cuantitativo con el enfoque cualitativo, cuantitativo debido a que se utilizó la estadística para delimitar las dificultades al desarrollar análisis de costos unitarios (ACU) del público objetivo y cualitativo, ya que mediante entrevistas a los miembros de la empresa se pretende obtener los distintos requerimientos y necesidades para desarrollar la aplicación web. Los métodos mixtos es un “conjunto procesos sistemáticos, empíricos y críticos de investigación e implican la recolección y el análisis de datos cuantitativos y cualitativos” (p. 46) con el fin de abarcar de manera más totalitaria el estudio (Sampieri y Mendoza, 2008, como se citó en Sampieri et al., 2010). Así mismo para la realización de la propuesta se usa un diseño no experimental. Además, el tipo de investigación es aplicada debido a que se busca a partir de los inconvenientes que presenta la empresa EACUS S.A.S en la labor de realizar análisis de costos unitarios mejorar este proceso a través de la creación de un producto de software. La investigación aplicada parte desde la investigación básica hacia un cambio práctico, produce de los datos aplicaciones directas en la sociedad impulsando la productividad (Lozada, 2014). Una encuesta es una serie de preguntas realizadas a un grupo de personas que posee ciertas características relevantes para el problema de investigación (Briones, 2002) Una entrevista semiestructurada es una conversación en la cual un entrevistador, realiza una serie de preguntas a la otra persona. Estas preguntas tienen el objetivo de obtener una información específica, sin embargo, debido a su carácter semiestructurado, las preguntas están abiertas a reformulación, con el fin de posibilitar profundizar en un tema ser necesario (Guillén & Alicia, 1991).
31 Hernández señala que “si la población es menor a cincuenta (50) individuos, la población es igual a la muestra” (Castro Márquez, 2003, p. 69). Entonces dado que la población es finita y es menor a 50 la muestra será igual a la población. Técnicas e instrumentos de investigación Para la recogida de datos se aplicó la encuesta mediante el cuestionario mixto dirigido a las personas que tomaron el curso de “Análisis de precios unitarios y elaboración de presupuestos en infraestructura”, se establece preguntas abiertas y cerradas para determinar los inconvenientes al desarrollar ACU’s. Por otra parte, se aplicaron entrevistas semiestructuradas al resto de la población que son los miembros de la empresa donde se recogerán los requisitos y orientación de usuario final necesaria para desarrollar la aplicación. Técnicas de análisis de datos En el cuestionario mixto, las preguntas cerradas se analizaron por medio de la estadística descriptiva para poder representarlos y describirlos más profundamente con el uso de herramientas gráficas y tablas. En las preguntas abiertas, al igual que la entrevista, se aplicó un análisis subjetivo al tratarse de datos cualitativos. Se usó el software web Google Forms para facilitar la recogida de datos de igual forma para el análisis de datos sin requerir herramientas externas mediante gráficas pastel y gráficas de barras principalmente.
32
4. RESULTADOS Desarrollo de presupuestos en proyectos de construcción 4.1.1. Resultados de las encuestas Las encuestas (tabla 1) se aplicaron a los estudiantes del curso de “Desarrollo de APU’s y elaboración de Presupuestos” impartidos por la empresa EACUS S.A.S en el mes de julio de 2021. Tabla 1. Resultados de la encuesta realizada a los estudiantes PREGUNTA Pregunta 1: ¿Ha utilizado programas con anterioridad para el desarrollo de ACU’s? Pregunta 1.1: De haber respondido afirmativamente la pregunta anterior, especifique cuales.
Pregunta 2: ¿Qué nivel de dificultad presentaron los programas utilizados en la capacitación?
RESULTADO GRÁFICO ESTADÍSTICO Figura 1. Utilización de programas para el desarrollo de ACU’s
Figura 2. Programas para realizar ACU’s
Figura 3. Dificultad de los programas usados en la capacitación
ANÁLISIS DE RESULTADOS A partir de los datos recopilados de la figura 2, la mayoría de estudiantes no ha utilizado programas para el desarrollo de ACU’s y de la figura 2 podemos concluir que incluso aquellos que afirman si haberlos utilizado, el 60% utilizaba Excel, por lo cual, se establece que el porcentaje de personas que no ha utilizado programas dedicados es de un 87.48%
De acuerdo a la información presentada en la figura 3, se observa que el grupo mayoritario considera difícil el uso del programa, seguido de cerca por el grupo que considera que la dificultad es adecuada y un grupo minoritario encuentra fácil de usar. Se establece que la mayoría de los estudiantes consideran que el uso del programa tiene una dificultad media-alta.
33 Pregunta 3: ¿Qué tan intuitivo le pareció la distribución de iconos y funcionalidades dentro del programa utilizado en la capacitación?
Figura 4. Nivel de intuitividad de los iconos y funcionalidades dentro del programa
Pregunta 4: ¿Cómo le pareció el manejo de los datos dentro del programa utilizado en la capacitación?
Figura 5. Nivel de dificultad sobre el manejo de datos dentro del programa
Pregunta 5: ¿Cómo le pareció la presentación general (visualización de las tablas, rubros, materiales, opciones …) dentro de los programas utilizados? Pregunta 6: ¿Considera que este programa facilita el trabajo en equipo para la elaboración de presupuestos?
Figura 6. Apreciación de la presentación visual de los programas
Figura 7. Facilidad de trabajo colaborativo en el programa usado
En la figura 4 se visualiza que la mayoría de los estudiantes consideran que la distribución de los iconos y funcionalidades en el programa es difícil de intuir por otra parte un 18.8% determinan que es fácil. De esto podemos concluir que es necesario una mejor distribución de los iconos y funcionalidades para mejorar la experiencia de usuario. En base a la información representada en la figura 5, se observa que la minoría de estudiantes considera muy fácil el manejo de datos dentro de la aplicación, por otra parte, del resto de los estudiantes la mitad cree que tiene una dificultad elevada y la otra mitad una dificultad normal. Por consiguiente, se determina que, aunque el manejo dentro del programa no sea dificultoso puede mejorar. De acuerdo a la información representada en la figura 6, se visualiza que el porcentaje de estudiantes que tiene una opinión negativa acerca de la presentación es ligeramente mayor a aquellos que les guste la presentación o les es indiferente por lo tanto se concluye que es necesario mejorar la presentación de los elementos. En base a la información representada en la figura 7, se observa que un porcentaje cercano a la mitad de los estudiantes considera complicado el manejo de la información y un porcentaje similar, lo considera normal. De esta forma podemos concluir que Se considera que, aunque existe un alto porcentaje que considera difícil el trabajo colaborativo aún es posible de realizar.
34
Pregunta 7: ¿Considera usted que falta alguna funcionalidad en los programas utilizados?
Figura 8. Ausencia de funcionalidades en los programas
De acuerdo a los datos de la figura 8, cerca de la tercera parte de los estudiantes consideran que hace faltan funcionalidades dentro del programa sin embargo la mayoría considera que el programa es completo. Se determina que el programa no le hace falta ninguna funcionalidad fundamental.
4.1.2. Resultados de la entrevista dirigido a los miembros de la empresa Las entrevistas fueron aplicadas a los miembros de la empresa EACUS S.A.S donde se recogió información acerca sobre el proceso actual, situaciones legales y funcionalidades básicas para la realización de ACU’s Pregunta 1: ¿Cómo realiza usted el análisis de costos unitarios actualmente?
Respuesta Integrante 1: Usando proexcel
Respuesta Integrante 2: Con el programa proexcel
Respuesta Integrante 3: Lo realizo con la metodología de costos dada por el Ingeniero Suárez Salazar, con el software pro Excel
Análisis: La totalidad de los entrevistados usan el software pro Excel para realizar ACU’s debido a que es el programa que más se ajusta a sus necesidades. Pregunta 2: ¿Considera que una aplicación web es capaz de satisfacer las necesidades actuales en el ámbito de creación de análisis de costos unitarios ACU’s?
Respuesta Integrante 1: Sería algo útil para evitar andar a cargar siempre mi computadora con el programa
Respuesta Integrante 2: SI es necesaria
35
Respuesta Integrante 3: Si que nos ayude con información actualizándose mes a mes
Análisis: Los entrevistados consideran que una aplicación web tiene la capacidad para cumplir con los requerimientos que conlleva la elaboración de ACU’s Pregunta 3: ¿Qué normativas legales son necesarias para la correcta realización de ACU en el Ecuador?
Respuesta Integrante 1: La ley orgánica de contratación pública
Respuesta Integrante 2: No tiene normativa vigente en Ecuador solo la LOSCEP
Respuesta Integrante 3: No existe normativa, pero tenemos la LOSCP
Análisis: Se determina que no existe una normativa específica para el ACU’s en el Ecuador, pero se alinea a las diferentes leyes de servicio y contratación pública. Pregunta 4: ¿Cuáles son los requisitos mínimos necesarios para el desarrollo de ACU?
Respuesta Integrante 1: Cumplir los parámetros indicados en la ley orgánica como salario mínimo de mano de obra dado por la contraloría general del estado
Respuesta Integrante 2: Tener un conocimiento básico de rendimientos de actividades y equipos
Respuesta Integrante 3: Que tenga rubros y presupuesto de ahí no existe normativa alguna, pero tener lo comúnmente establecido EQUIPO MANO DE OBRA TRANSPORTE Y MATERIALES
Análisis: No existe ninguna normativa de cómo debe realizarse los ACU’s, pero lo fundamental es el manejo de rendimientos, actividades y equipos.
36 Pregunta 5: ¿Qué funcionalidades adicionales considera usted que ayudarían en el desarrollo de ACU?
Respuesta Integrante 1: una base de datos actualizada que este en constante mantenimiento por sectores, formatos de presupuestos tipo
Respuesta Integrante 2: Que sea online que se comunique con obra y que esté al alcance de todos. Considero que sea también un programa descargable por lo que hay zonas que no poseen internet
Respuesta Integrante 3: Que se pueda realizar confecciones entre más usuarios del producto
Análisis: Las funcionalidades dadas por los entrevistados se pueden resumir en mantenimiento, portabilidad y el trabajo colaborativo que son compatibles con el desarrollo de una aplicación Web. Herramientas de desarrollo de software 4.2.1. Base de datos Tabla 2. Comparación entre las bases de datos SQL y NoSQL NoSQL
SQL
Tipo de dato no definido
Tipo de dato definido
No tiene atomicidad
Operaciones atómicas
Escalabilidad horizontal
Escalabilidad vertical
Mayor velocidad de escritura y lectura
Menor velocidad de escritura y lectura
Redundancia de datos
Consistencia de datos
Menor comunidad
Mayor comunidad
Nota. Adaptado de Mendoza, E. (2017). ¿Cómo saber si necesitas una Base de Datos NoSQL? Recuperado de: https://medium.com/@eugeniomendoza/cómo-saber-si-necesitasuna-base-de-datos-nosql-b6cfd5bb7d9b De acuerdo a los datos obtenidos de la tabla 2 se optó por la base de datos SQL debido a que las reglas del negocio al tratar con información de costos se exige una alta cantidad de relaciones entre datos e integridad de datos por lo cual se elige SQL por su
37 rigidez, atomicidad y consistencia a pesar de que NoSQL tenga mayor velocidad de escritura y lectura la integridad de los datos en este proyecto es lo primordial. Tabla 3. Comparación entre las bases de datos relacionales SGBD Licencia
MySQL GNU GPL v2 / Licencia Comercial
PostgreSQL Free Open Source
MariaDB GNU GPL v2
Rendimiento
Mejor en proyectos que requieren transacciones sencillas
Óptimo para sistemas de datos grandes, consultas complejas
Preguntas de Stack Overflow Soporte para JSON
532 mil
89,3 mil
Mejor en proyectos que requieren transacciones sencillas. Usa los mismos motores 11,1 mil
Permite datos JSON
Permite datos JSON y otras funciones NoSQL
Permite datos JSON
Sintaxis
Lenguaje de consultas Lenguaje de consultas Lenguaje de consultas flexibles estrictas flexibles Nota. Adaptado de varias fuentes (Peterson, R (2020). PostgreSQL vs MySQL: What is the Difference? Recuperado de: https://www.guru99.com/postgresql-vs-mysql-difference.html ; IONOS (2020). MariaDB vs. MySQL Recuperado de: https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/mariadb-vs-mysql/) Según lo expresado en la tabla 3 se eligió como sistema gestor de base de datos para la aplicación a MySQL considerando que, aunque PostgreSQL es más robusto, por el nivel de complejidad de las consultas, MySQL y MariaDB trabajan mejor con la cantidad de datos y tipos de consultas que requiere el Software. Comparando estos dos últimos sistemas, finalmente, se seleccionó MySQL debido a que el resto de herramientas y librerías utilizadas, poseen compatibilidad directa con este sistema gestor y posee una comunidad más grande. 4.2.2. Tecnología de back-end Tabla 4.Ventajas y desventajas de Node JS y PHP Tecnología de back-end
NODE JS
PHP Apto para trabajos intensivos a la CPU
Ventajas
Contiene a JavaScript tanto del front-end como en el back-end Alta escalabilidad por ser asíncrona Alta flexibilidad no está sujeto a arquitecturas, se puede usar NPM
Mayor portabilidad Baja complejidad en la codificación
38 Tiene un solo subproceso no recomendado para trabajos Se apega un enfoque tradicional fuertes en CPU Desventajas A pesar de tener un amplio Implementación más complicada repositorio, muchos módulos no para SPA (Single Page se han probado lo suficiente o Application) son inestables Nota. Adaptado de Gor, C. (2020). Node.js vs PHP: Which one has potential? Recuperado de: https://www.esparkinfo.com/node-js-vs-php.html Tras analizar la tabla 4 se escogió Node.js debido a que nos permite hacer uso del mismo lenguaje tanto en el front-end como en el back-end facilitando el desarrollo. A pesar de contar con un solo subproceso, los requerimientos de la aplicación web no implican un trabajo intensivo de la CPU. 4.2.3. Metodología de desarrollo ágil Tabla 5. Comparativa entre SCRUM y XP SCRUM
XP
Tiempo
Iteraciones de 2 a 4 semanas
Iteraciones de menor tiempo
Proceso
Herramientas no definidas, lo
Herramientas definidas dentro
define el scrum master
del marco
Durante el sprint no es
Se permiten cambios durante
recomendable hacer cambios
la iteración
El cliente define el orden de
Desarrolla de acuerdo a la
desarrollo y el equipo cuanto
orden del cliente
Cambios
Orden
realizar en cada iteración Retroalimentación
Por lo general se realiza al
Se recomienda
final de cada sprint
retroalimentación durante la iteración
Nota. Adaptado de C. Rodríguez & Dorado, R. (2015). ¿Por qué implementar Scrum? Revista Ontare, 3(1), 125–144. Recuperado de: https://doi.org/10.21158/23823399.v3.n1.2015.1253 De acuerdo a la información presentada en la tabla 5 elegimos la metodología de desarrollo Scrum debido a que nos permite integrar al cliente en el desarrollo por medio de procesos definidos y regulares, lo cual fue necesario para una correcta implementación de la lógica del negocio y una administración del proyecto más sólida.
39 Resultados del producto según la metodología de desarrollo Scrum 4.3.1. Fase 1. Modelo e implementación de la base de datos Modelo Entidad-Relación: Lo primero que hicimos fue diseñar el modelo entidadrelación con el fin de tener una visión general de todas las entidades y objetos con los que vamos a trabajar. Una vez hecho este esquema escribimos los scripts que definen a la base de datos y, por último, por medio de la observación y análisis añadimos los triggers y procedimientos necesarios para el funcionamiento del sistema. A pesar de la preparación realizada hasta este punto, algunos de los aspectos fueron cambiando durante el desarrollo de la aplicación. Figura 9. Modelo Entidad-Relación.
40 4.3.2. Fase 2. Autenticación y registro Registro: Para la creación de la vista de registro, se realizó el modelado, posteriormente lo implementamos con HTML5 y Bootstrap. Además del diseño básico se añadieron controles para el formato de los datos y por medio de la librería Bcryptjs, se cifro la contraseña en la base de datos. Figura 10. Interfaz de registro de usuario.
Autenticación: Se realizó la interfaz, autenticamos los usuarios y realizamos el manejo de sesiones mediante el middleware Passport, en caso de éxito se le permite el ingreso, donde se le redirigirá a la página de inicio de la aplicación, en caso de fallo se presenta un mensaje de contraseña o usuario incorrecto. Figura 11. Interfaz de iniciar sesión
41 4.3.3. Fase 3. Repositorio Creación y edición de repositorio: Con el uso de componentes de Bootstrap se realizó la tabla, ventanas modales, botones y el menú lateral de la página (figura 12). Donde se destaca la funcionalidad de compartir repositorio (figura 13), el cual cuenta con dos opciones: Editar, donde el nuevo usuario obtiene acceso al repositorio compartido y Copiar, donde el usuario obtiene una copia del repositorio compartido, pero no acceso al repositorio original. Figura 12. Interfaz de repositorio
Figura 13. Opción compartir repositorio
42 Componentes y rubros: Los repositorios constan de componentes y rubros donde se procedió a realizar un menú (figura 14) en el cual se puede acceder a cualquier de estos dos apartados, siendo en el apartado de componentes posible la creación, edición y eliminación de un componente en sus distintas categorías: Equipo, mano de obra, materiales y transporte. En el apartado de rubros aparte crear, editar y eliminar se permite añadir componentes a un rubro ya sean estos componentes del mismo repositorio o tomando de otros repositorios. Figura 14. Menú repositorios.
4.3.4. Fase 4. Presupuesto De la misma manera de las demás interfaces de la aplicación web se hizo uso de componentes de Bootstrap con personalización del estilo al acuerdo a la aplicación mediante CSS. Se realizó las funcionalidades de agregar presupuesto y acceder a él. Una vez dentro del presupuesto tenemos 3 formas de agregar entradas, capitulo que sirve para categorizar los rubros, rubro vacío son aquellos rubros que no contienen componentes y la última forma (figura 15) donde podemos elegir como base un rubro desde un repositorio y añadir, editar o eliminar componentes ya sea de manera individual arrastrando componente por componente o arrastrando el rubro entero.
43 Figura 15. Interfaz creación, edición de un rubro de un presupuesto
Figura 16. Método para soltar un elemento del repositorio sobre el rubro
Para facilitar la creación de rubros el usuario puede seleccionar un repositorio que tenga acceso, donde puede visualizar componentes o rubros y arrastrarlos al nuevo rubro donde se agregaran, en caso de arrastrar un rubro se agregaran todos los componentes de este rubro tal y como se visualiza en la figura 16. 4.3.5. Fase 5. Valor agregado ecuatoriano (VAE) En esta vista podemos observar, los elementos pertenecientes al Clasificador Central de Productos (CPC), los rubros y componentes pertenecientes al presupuesto. Posteriormente, el usuario será capaz de asignar un elemento del CPC a los componentes,
44 así como elegir un porcentaje de VAE, utilizando los botones NP (No producido = 0%), ND (No determinado =40%) y EP (Enteramente Producido = 100%). El VAE porcentual de los rubros se calculará en base al de los componentes que posea y su incidencia en el costo total del rubro, de manera similar, el VAE general del presupuesto dependerá de los rubros y su costo total. Figura 15. Interfaz de asignación de CPC y VAE
45
5. DISCUSIÓN En base al estudio realizado sobre ACU’s en la empresa EACUS S.A.S, la metodología, las herramientas usadas para desarrollar el producto y el análisis de la información obtenida a través de la recolección de datos de distintos medios se establecen los siguientes aspectos. De acuerdo al grupo de estudiantes del curso “Desarrollo de APU’s y elaboración de Presupuestos” en el mes de julio se logró conocer, su experiencia previa en el tema y los programas más comúnmente utilizados para la realización de ACU’s, donde destacó un desconocimiento de programas especializados y la preferencia por Excel, resultados similares a los obtenidos por Vásquez Herrera (2021) donde se determinó que las mayorías de personas usan Excel. Teniendo una opinión de conformidad y aprendizaje en promedio negativa por lo cual se demostró que es necesario de una herramienta interactiva. Por medio de las entrevistas realizadas a los miembros de la empresa EACUS S.A.S. determinamos los procesos utilizados actualmente y los requerimientos necesarios para la realización de ACU’s en Ecuador, destacando principalmente el Valor Agrado Ecuatoriano (VAE) y la necesidad de exportar los ACU’s realizados al formato xlsx, perteneciente a Microsoft Excel. Además, que la portabilidad y el trabajo colaborativo son factores que aportan al desarrollo de ACU’s, coincide con el trabajo de Vásquez Herrera (2021) que expresa que la elaboración de presupuestos es demorosa por las grandes cantidades de información que el usuario debe recopilar, por lo tanto, el trabajo colaborativo ayudara a reducir esta carga laboral. De acuerdo a las necesidades de la aplicación web y los requerimientos recogidos de las encuestas se optó por una metodología de desarrollo ágil. Se escogió SCRUM debido a que su estructura facilita el levantamiento de requerimientos por medio historias de usuario, crea metas medibles a corto y largo plazo a través del sprint backlog, la
46 retroalimentación nos permitió conocer con mayor profundidad las expectativas del cliente y gracias a la naturaleza flexible de esta metodología, adaptarnos a los cambios solicitados y desarrollar funcionalidades que no fueron planeadas originalmente, como es el caso de los códigos correspondientes al Clasificador Central de Productos (CPC). Debido al tipo de software, se usó como arquitectura la modelo vista controlador porque nos permite separar el desarrollo y lógica en distintas capas, lo cual, aunque agrega complejidad al sistema y aumenta considerablemente el número de archivos con los cuales trabajar, por otro lado, facilitó el mantenimiento y reutilización de código concordando con Alonso Aranda (2019). Dado que el sistema desarrollado es una aplicación web se usó el conjunto de herramientas HTML5 (HTML, CSS y Javascript) además se usó la biblioteca Bootstrap que facilito la creación de componentes. Por otra parte, se usó el sistema de gestor de base de datos MySQL donde se desarrolló una base de datos relacional que nos permitió definir un conjunto de reglas y restricciones que exige el proceso realización de ACU’s, dando una mayor consistencia de datos y evitando la redundancia, concordando con Axmark y Widenius (2021). Para el desarrollo de este software se usó únicamente herramientas libres, al contario del caso de Vásquez Herrera (2021), el cual utilizo Matlab y Microsoft Access, necesarias para cada usuario de su aplicación, lo que encarece y dificulta el uso de dicho software. Para establecer la comunicación entre la base de datos y la interfaz de usuario se usó el entorno de ejecución Node.js debido a que nos permite desarrollar soluciones altamente escalables, además de poder agregar dependencias a través del Node Package Manager aunque se debe ser cuidadoso al agregar paquetes debido a que algunos podrían estar obsoletos o tener vulnerabilidades de seguridad, sin embargo, esto no representa un gran inconveniente debido a que NPM notificará estos problemas por medio del terminal de comandos y su función de auditoria corregirá el problema de ser posible.
47 Entre los paquetes que utilizamos en este proyecto tenemos el framework Express.js que facilito la conexión con la base de datos SQL, EJS que proporciono la capacidad de crear plantillas HTML por medio JavaScript lo que facilito el desarrollo de las vistas y la visualización de la información consultada de la base de datos, Bcryptjs y Passport, los cuales encriptan la contraseña ingresada por el usuario para realizar una autenticación y registro de más seguros.
48
6. CONCLUSIONES Y RECOMENDACIONES
La elección de las herramientas de desarrollo es un punto crucial ya que, determina el ritmo y el modo de trabajo, en ese aspecto, el entorno de ejecución Node.js ayudó a simplificar los tiempos de trabajo gracias a la gran variedad de dependencias de las que dispone, además al considerar que se basa en el lenguaje JavaScript facilitó el desarrollo al tener que trabajar con el mismo lenguaje tanto del lado de la vista como del lado de servidor.
Las técnicas de recolección de datos tales como la entrevista y la encuesta han demostrado ser de gran de utilidad para obtener la percepción actual del personal de la empresa EACUS S.A.S y estudiantes del curso impartido por la misma empresa, acerca de las herramientas para desarrollar ACU’s en el Ecuador, lo que definió los aspectos a mejorar para el desarrollo de la aplicación.
El uso de una metodología de desarrollo ágil como SCRUM es necesario para establecer una correcta distribución del tiempo durante el desarrollo. De manera análoga el levantamiento de requisitos, al mismo tiempo que evita funcionalidades innecesarias, facilita el trabajo en equipo, gracias a que permite dividir las tareas entre los miembros del equipo de desarrollo e incluye al cliente y al product owner al desarrollo.
El uso de software o herramientas con licencias comerciales pueden ser de gran ayuda sin embargo para el desarrollo de este trabajo de titulación se usó únicamente herramientas libres que las cuales fueron capaces de cumplir las necesidades del usuario, lo cual denota que este tipo de herramientas son más que suficientes para el desarrollo de una aplicación web de este tipo, aunque de todas maneras para tener la aplicación en funcionamiento será necesario pagar por el dominio y el host. En base a las conclusiones realizadas anteriormente se plantean las siguientes
recomendaciones de este trabajo de titulación:
49
Al momento de escoger las herramientas de trabajo es de gran utilidad el realizar una comparativa a fondo de las cualidades de las herramientas principales, enfocándose en que se requiere para el desarrollo, que ofrece la herramienta y cuáles son sus limitaciones y ventajas ante otras posibles opciones.
Otro factor importante a considerar es el tamaño de la comunidad de dichas herramientas, ya que facilitará la resolución de problemas particulares en caso de que la documentación oficial no sea suficiente. En estas ocasiones, una amplia comunidad de desarrolladores puede ayudar a resolver estos contratiempos.
En este trabajo de titulación a través de entrevistas y encuestas se analizó la situación actual del Ecuador en el desarrollo de ACU’s sin embargo la población para las encuestas fue limitada, se recomienda una población más amplia puede dar una visión más cercana a la realidad lo que permitiría capturar una mayor cantidad de requerimientos que pudieron pasar desapercibidos.
Cuando trabajamos con metodologías ágiles, es importante definir el alcance real del proyecto y la estimación del esfuerzo requerido para cumplir con las tareas de desarrollo, una estimación demasiado optimista podría generar retrasos en el cumplimiento del cronograma. Es mejor realizar estimaciones realistas y cargar cada ciclo de trabajo con un número adecuado de tareas.
Es importante revisar detenidamente las licencias de las herramientas para evitar infringir las condiciones de uso inadvertidamente lo que podría llevar a cambiar las herramientas generando retrasos o costos adicionales.
50
7. REFERENCIAS Alonso Aranda, C. (2019). MODELO-VISTA-CONTROLADOR. LENGUAJE UML [Tesis de Maestría, Universidad de Jaén]. http://tauja.ujaen.es/jspui/handle/10953.1/11437 Arboleda López, S. A., & Serna Gutiérrez, E. (2019). Presupuesto y programación de obras. Conceptos básicos. Instituto Tecnológico Metropolitano – ITM. Armesto, A. M., Delgadino, F. A., Reina Alvarellos, J. G., Arranz, P., & Bracamonte, R. E. (2015).
Precio
y
costo
de
las
construcciones.
Editorial
Brujas.
https://www.digitaliapublishing.com/a/39611/precio-y-costo-de-las-construcciones Axmark, D., & Widenius, M. (2021). MySQL :: MySQL 8.0 Reference Manual. MySQL. https://dev.mysql.com/doc/refman/8.0/en/ Bahit,
E.
(2011).
Scrum
y
eXtreme
Programming
para
Programadores.
http://umh2818.edu.umh.es/wp-content/uploads/sites/884/2016/02/Scrum-y-eXtremProgramming-para-programadores.pdf Briones, G. (2002). Metodología de la investigación cuantitativa en las ciencias sociales. ARFO
Editores
e
Impresores
Ltda.
https://metodoinvestigacion.files.wordpress.com/2008/02/metodologia-de-lainvestigacion-guillermo-briones.pdf Burbano Ruiz, J. E. (2005). Presupuestos: Enfoque de gestión, planeación y control de recursos. McGraw-Hill. CAPECO, C. P. de la C. (2003). Costos y Presupuestos en la Construcción (8a ed). https://civilyedaro.files.wordpress.com/2014/08/costos_y_presupuestos_en_edificaci on_-_capeco_r.pdf
51 Castro Márquez, F. (2003). El proyecto de investigación y su esquema de elaboración (2a ed). Editorial Uyapar. https://isbn.cloud/9789806629004/proyecto-de-investigacion-y-suesquema-de-elaboracion/ Cíceri, M. (2018). Introducción a Laravel: Aplicaciones robustas y a gran escala. RedUsers. Contraloría General del Estado [CGE]. (2019). Normas de control interno de la controloria general
del
estado.
https://www.oas.org/juridico/PDFs/mesicic5_ecu_ane_cge_12_nor_con_int_400_cge .pdf Elmasri, R., & Navathe, S. B. (2007). Fundamentos de sistemas de bases de datos (J. M. Díaz Martín, Trad.; 5 a ed). Pearson Educación. Forteza Usieto, A. (2017). Análisis de las causas de desviación en el presupuesto en los grandes y megaproyectos de construcción pública en España [Tesis de Maestría, Universidad Politécnica de Valéncia]. Repositorio Institucional - Universidad Politécnica de Valéncia. https://riunet.upv.es/handle/10251/88606 Gómez Guzmán, J. C. (2018). La determinación del precio de los contratos públicos con base en el coste. Wolters Kluwer España. Gómez Rondón, F. (2001). Presupuesto (Teoría y Practica Integrada). Ediciones Fragor. Gor, C. (2020, marzo 24). Node.js vs PHP: Which one has potential? ESparkbiz. https://www.esparkinfo.com/blog/node-js-vs-php.html Guillén, A., & Alicia, M. (1991). La fiabilidad en la entrevista: La entrevista semi estructurada y
estructurada,
un
recurso
https://doi.org/10.22201/iibi.0187358xp.1991.10.3793
de
la
encuesta.
52 Gutiérrez, R. T. (2016). El surgimiento de HTML5; un nuevo paradigma en los estándares Web. Teknokultura. Revista de Cultura Digital y Movimientos Sociales, 13(1), 169-192. https://doi.org/10.5209/rev_TK.2016.v13.n1.52152 IONOS.
(2020).
MariaDB
vs.
MySQL.
Digital
Guide
IONOS.
https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/mariadb-vs-mysql/ Jaramillo Sangurima, W. E., & Jacome Galarza, L. R. (2018). Método “investigación – acción” aplicado al desarrollo de software de presupuestos y programación de obras. INNOVA Research Journal, 3(1), 1-9. https://doi.org/10.33890/innova.v3.n1.2018.313 Laínez Fuentes, J. R. (2015). Desarrollo de Software ÁGIL: Extreme Programming y Scrum (2a ed). IT Campus Academy. Lozada, J. (2014). Investigación Aplicada: Definición, Propiedad Intelectual e Industria. CienciAmérica, 3(1), 34-39. Luján Castillo, J. D. (2016). HTML5, CSS y Javascript: Crea tu web y apps con el estándar de desarrollo. Alfaomega. Macchia, J. L. (2011). Cómputos, costos y presupuestos (3a ed). Editorial Nobuko. http://biblioteca.unach.edu.ec/opac_css/index.php?lvl=notice_display&id=5652 Mardan, A. (2014). Pro Express.js: Master Express.js: The Node.js Framework For Your Web Development. Apress. MariaDB Foundation. (s. f.). About MariaDB Server. MariaDB. Recuperado 11 de abril de 2021, de https://mariadb.org/about/ Mariano, C. L. (2017). Benchmarking JavaScript Frameworks [Tesis de Maestría, Dublin Institute of Technology]. https://doi.org/10.21427/D72890
53 Mendoza, E. (2017). ¿Cómo saber si necesitas una Base de Datos NoSQL? Medium. https://medium.com/@eugeniomendoza/c%C3%B3mo-saber-si-necesitas-una-basede-datos-nosql-b6cfd5bb7d9b Molina Vera, V. (2020). Desarrollo de una aplicación web que apoye el proceso de confección de los documentos técnicos y económicos para programa de autoconstrucción colaborativa de la ong vivienda local [Tesis de Ingeniería, Viña del Mar]. Repositorio Institucional - Universidad Viña del Mar. Nordeen, A. (2020). Learn NodeJS in 24 Hours: Complete Node JS Guide with Examples. Guru99. Pallares Vacca, G. K. (2014). Definición de un procedimiento para la estimación de presupuestos de obra utilizando la herramienta Microsoft Excel [Tesis de Ingeniería, Universidad Francisco de Paula Santander Ocaña]. Repositorio Insititucional Universidad
Francisco
de
Paula
Santander.
http://repositorio.ufpso.edu.co/jspui/handle/123456789/2069 Pérez Pinilla, J. D. (2020). Análisis de precios unitarios de construcciones tradicionales en tapia pisada en Boyacá y Santander [Trabajo de especialización]. Repositorio Insititucional
-
Universidad
Distrital
Franciso
José
de
Caldas.
http://repository.udistrital.edu.co/handle/11349/25532 Peterson, R. (2020, abril 15). PostgreSQL vs MySQL: What is the Difference? https://www.guru99.com/postgresql-vs-mysql-difference.html PostgreSQL. (s. f.). PostgreSQL: The World’s Most Advanced Open Source Relational Database.
PostgreSQL.
Recuperado
10
https://www.postgresql.org/ Powers, S. (2012). Learning Node. O’Reilly Media, Inc.
de
noviembre
de
2021,
de
54 Puciarelli, L. (2020). Node JS - Vol. 1: Instalación - Arquitectura - node y npm. RedUsers. Reveles López, R. (2017). Análisis de los elementos del costo. Instituto Mexicano de Contadores
Públicos.
https://www.worldcat.org/title/analisis-de-los-elementos-del-
costo/oclc/1027167170 Rodríguez, C., & Dorado, R. (2015). ¿Por qué implementar Scrum? Revista Ontare, 3(1), 125144. https://doi.org/10.21158/23823399.v3.n1.2015.1253 Rodríguez, M., & López, A. (2019). Buena práctica en análisis de precios unitarios. Revista Mexicana de la Construcción, 16-21, 16-21. Sampieri, R. H., Collado, C. F., & Lucio, P. B. (2010). Metodología de la investigación. Mc Graw Hill. http://repositorio.uasb.edu.bo/handle/54000/1210 Schwaber,
K.,
&
Sutherland,
J.
(2020).
La
Guía
de
Scrum.
Scrum
Guides.
https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Spanish-LatinSouth-American.pdf Secretaría Nacional de Planificación. (2021). Plan de Creación de Oportunidades 2021-2025. https://observatorioplanificacion.cepal.org/sites/default/files/plan/files/Plan-deCreaci%C3%B3n-de-Oportunidades-2021-2025-Aprobado_compressed.pdf Silberschatz, A., Korth, H. F., & Sudarshan, S. (2002). Fundamentos de Bases de Datos (4a ed). McGraw Hill. SQLite. (s. f.). PostgreSQL: About. SQLite. Recuperado 12 de noviembre de 2021, de https://www.postgresql.org/about/ Turley, F., & Rad, N. K. (2019). Los Fundamentos de Agile Scrum (1a ed). Van Haren Publishing.
55 Vásquez Herrera, V. A. (2021). Desarrollo de un software programado en Matlab con una base de datos, que permita generar precios unitarios, presupuestos, reajuste, cronograma valorado de trabajo y las especificaciones técnicas de cada rubro [Tesis de Ingeniería, Universidad Técnica de Ambato]. Repositorio Universidad Técnica de Ambato.
56
8. ANEXOS Anexo 1. Carta de intención dirigida a la empresa EACUS
57 Anexo 2. Carta de Impacto
58
Anexo 3. Cronograma de ejecución 2021 N°
Actividades
Estado
Producto Mínimo Viable I = 8° nivel
Mayo Épica 1 Épica 2 Épica 3 Épica 4 Épica 5 Épica 5.1 Épica 5.2 Épica 5.3 Épica 6 Épica 6.1 Épica 6.2 Épica 6.3 Épica 6.4 Épica 6.5 Épica 6.6 Épica 7 Épica 8
Desarrollo de la propuesta Ejecución del Proyecto Revisión Literaria Metodología de la Investigación Resultados Del primer objetivo especifico Del segundo objetivo especifico Del tercer objetivo especifico Desarrollo del software a través de la metodología SCRUM Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6 Conclusiones y Recomendaciones Informe Final del Trabajo de Titulación de Grado
Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho Hecho
Junio
MESES Julio Agosto
Producto Mínimo Viable II = 9° nivel Noviembre
Diciembre
59 Anexo 4. Tabla de recursos Recursos
Cantidad
Valor unitario
Valor total
GASTOS Humano Programador
2
1200
2400
1
4
4
2 2
850 35
1700 70
12
35
420
Costos Operacionales (materiales) Resma de Papel Inversiones (tecnológicas) Computadora Audífono Gestión(mes) Internet Subtotal Imprevistos 5% Total
2194 109,7 2303,7
INGRESOS Fuente de ingresos Recursos propios IECE
2403,7
TOTAL
2403,7
60 Anexo 5. Encuesta dirigida a los estudiantes del curso de capacitación “Análisis de precios unitarios y elaboración de presupuestos en infraestructura” 1. ¿Ha utilizado programas con anterioridad para el desarrollo de ACUS? ¿Cuáles? Si No De haber respondido afirmativamente la pregunta anterior, especifique. _________________________________________________ 2. ¿Qué nivel de dificultad presentaron los programas utilizados en la capacitación? ●
Muy difícil
●
Difícil
●
Normal
●
Fácil
●
Muy fácil
3. ¿Qué tan intuitivo le pareció la distribución de iconos dentro de los programas? ●
Muy difícil
●
Difícil
●
Normal
●
Fácil
●
Muy fácil
4. ¿Cómo le pareció el manejo de la información dentro de los programas utilizados? ●
Muy difícil
●
Difícil
61 ●
Normal
●
Muy fácil
5. ¿Cómo le pareció la presentación general (visualización de las tablas, rubros, materiales, opciones …) dentro de los programas utilizados? ●
Me gusta muchísimo
●
Me gusta mucho
●
Me es indiferente
●
Me gusta poco
●
No me gusta nada
6. ¿Considera fácil el trabajo en equipo con los programas utilizados? ●
Muy difícil
●
Difícil
●
Normal
●
Fácil
●
Muy fácil
7. ¿Considera usted que falta alguna funcionalidad en los programas utilizados?
Si
No
62 Anexo 6. Entrevista dirigida a los miembros de la empresa EACUS S.A.S 1. ¿Cómo realiza los análisis de costos unitarios actualmente? _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ ___
2. ¿Considera que una aplicación web es capaz de satisfacer las necesidades actuales en el ámbito de creación de análisis de costos unitarios ACU’s? _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ ___
3. ¿Qué normativas legales son necesarias para la correcta realización de ACU en el Ecuador? _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ ___
4. ¿Cuáles son los requisitos mínimos necesarios para el desarrollo de ACU? _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ ___
5. ¿Qué funcionalidades adicionales considera usted que ayudarían en el desarrollo de ACU? _________________________________________________________________ _________________________________________________________________ _________________________________________________________________ ___
63 Anexo 7. Historias de Usuario
64
65
66
67
68
1
69
70
71
72
73 Anexo 8. Product Backlog
PRODUCT BACKLOG
N°
HISTORIA
PRIORIDAD DE NEGOCIO
RIESGO EN DESARROLLO
ESTIMACIÓN
1
Registro de Usuario
Alta
Bajo
15
2
Login de Usuario
Alta
Medio
13
3
Crear Repositorios
Medio
Bajo
8
4
Editar Repositorios
Bajo
Bajo
5
5
Compartir Repositorio
Alta
Alto
5
6
Crear Componente
Medio
Medio
7
7
Editar Componente
Bajo
Bajo
4
8
Eliminar Componente
Bajo
Bajo
4
8
Crear Rubro
Alta
Bajo
8
9
Editar Rubro
Bajo
Bajo
9
Alta
Medio
13
Medio
Medio
5
10 11
Añadir Componente a un Rubro Eliminar un componente de un Rubro
12
Crear Presupuestos
Medio
Bajo
5
13 16
Editar Presupuestos Eliminar Presupuesto Añadir Rubro a Presupuesto Eliminar rubro de un presupuesto
Bajo Bajo
Bajo Bajo
11 5
Alta
Alto
11
Medio
Medio
5
14 15 16
Asignar un elemento CPC a un componente
Bajo
Bajo
5
17
Asignar un valor de VAE a un componente
Medio
Alto
9
74 Anexo 9. MANUAL DE USUARIO
ACU-EASY versión 1.0.0 Una guía detallada para el manejo de la aplicación, realizada bajo el estándar IEE 1063-2001
Calderón Steven – Ontaneda Adrián Autores
MANUAL DE USUARIO Versión 1.0.0 5 de marzo del 2020
75
TABLA DE CONTENIDO 1.
INTRODUCCIÓN ...................................................................................................... 78
2.
INFORMACION PARA EL USO DE LA DOCUMENTACION ................................ 78
3.
CONCEPTO DE OPERACIONES ............................................................................ 78
4.
PROCEDIMIENTOS ................................................................................................. 79
4.1
INFORMACIÓN PARA EL USO GENERAL DEL SOFTWARE ............ 79
4.1.1
Página de inicio ................................................................................... 79
4.1.2
Registro ............................................................................................... 79
4.1.3
Iniciar Sesión ....................................................................................... 80
4.1.4
Página de Inicio ................................................................................... 81
4.1.5
Botones ............................................................................................... 82
4.1.6
Tablas.................................................................................................. 83
4.1.7
Repositorios ......................................................................................... 84
4.1.8
Presupuesto ........................................................................................ 88
4.2
Información para los procedimientos y tutoriales ................................. 89
4.2.1
Crear rubro en un presupuesto ............................................................ 89
4.2.2
Asignar VAE ........................................................................................ 95
4.2.3
Exportar presupuesto a Microsoft Excel............................................... 98
5.
LOS MENSAJES DE ERROR Y RESOLUCIÓN DE PROBLEMAS .................... 100
76
TABLA DE ILUSTRACIONES Ilustración 1: Página de Inicio ..................................................................................79 Ilustración 2: Pagina de Registro .............................................................................80 Ilustración 3: Pagina de Iniciar Sesión .....................................................................81 Ilustración 4: Página de inicio ..................................................................................82 Ilustración 5:Botón Añadir ........................................................................................82 Ilustración 6: Menú...................................................................................................83 Ilustración 7: Ventana Compartir ..............................................................................83 Ilustración 8: Modelo de Tabla .................................................................................84 Ilustración 9: Pagina repositorios .............................................................................84 Ilustración 10: Pagina detalle repositorio..................................................................85 Ilustración 11: Pagina componentes ........................................................................86 Ilustración 12: Pagina rubros ...................................................................................87 Ilustración 13: Pagina detalle rubro repositorio ........................................................87 Ilustración 14: Pagina presupuestos ........................................................................88 Ilustración 15: Detalle presupuesto ..........................................................................89 Ilustración 16: Agregar rubro presupuesto ...............................................................90 Ilustración 17: Formulario Añadir Componente ........................................................91 Ilustración 18: Componente agregado .....................................................................91 Ilustración 19:Seleccionar componentes de repositorio ...........................................92 Ilustración 20: Formulario al arrastrar un componente .............................................93 Ilustración 21: Componente agregado desde repositorio a rubro .............................93 Ilustración 22: Mostrar los rubros del repositorio ......................................................94 Ilustración 23: Visualizar rubro seleccionado ...........................................................94 Ilustración 24: Componentes agregado desde un rubro ...........................................95 Ilustración 25: Activar VAE en un presupuesto ........................................................96
77
Ilustración 26: Clasificación del CPC seleccionado ..................................................96 Ilustración 27: Asignar CPC a un componente .........................................................97 Ilustración 28: Asignación de VAE a un componente ...............................................97 Ilustración 29: Cambios en el rubro por la aplicación del VAE .................................98 Ilustración 30: Botón Exportar ..................................................................................99 Ilustración 31: Formulario Datos para Exportar ........................................................99 Ilustración 32: Pagina Exportar ................................................................................99 Ilustración 33: Presupuesto Exportado en Excel ....................................................100 Ilustración 34: Mensajes de error en la aplicación ..................................................100
78
1.INTRODUCCIÓN Este documento está dirigido a los usuarios finales, son todas aquellas personas que tengan el fin de realizar un presupuesto por el método de análisis de costos unitarios, destacando la capacidad de colaborar con los demás usuarios. Este manual tratara como crear, editar y compartir presupuestos y repositorios, así como asignar un código CPC y un valor de VAE a cada componente, además de exportar toda esta información a EXCEL, con el fin de enseñar y abarcar todas las dudas en el uso de esta aplicación web.
2.INFORMACION PARA EL USO DE LA DOCUMENTACION Este documento está basado bajo los estándares IEEE 1063-2001 Se presenta primero la información luego las imágenes, los procedimientos están divididos en dos: los aspectos generales que abarcan actividades rutinarias para no tener que ser redundantes en la información en las operaciones más complejas.
3. CONCEPTO DE OPERACIONES Aquí se detallará en breves rasgos la funcionalidad general del software. ACU-EASY tiene dos módulos principales:
Repositorios: Es una biblioteca de componentes, rubros y sus relaciones.
Presupuestos: Son un conjunto de rubros en distintas cantidades, los cuales describen un proyecto de construcción
Estos módulos funcionan de manera independiente, sin embargo, se puede usar los repositorios como base para crear presupuestos de una manera más rápida.
79
Además de que cada módulo puede ser compartido a otro usuario con el fin de trabajar colaborativamente.
4.PROCEDIMIENTOS 4.1 INFORMACIÓN PARA EL USO GENERAL DEL SOFTWARE Se presentarán instrucciones para actividades rutinarias del software desde el acceso al sistema hasta las operaciones de introducir, guardar, editar y eliminar información. 4.1.1 Página de inicio Esta página se muestra al ingresar a la aplicación, está compuesto por los apartados de ayuda, contáctenos, sobre nosotros y los botones de iniciar sesión y registrarse. Ilustración 1: Página de Inicio
4.1.2 Registro
Para registrarse haga click en registro, le aparecerá una nueva página con un formulario
80
Llena los campos mostrados, aquellos marcados con un asterisco son opcionales
El correo electrónico deberá ser único por usuario Ilustración 2: Pagina de Registro
4.1.3 Iniciar Sesión
Para iniciar sesión haga click en el botón iniciar sesión, le aparecerá una nueva página con un formulario
Ingrese el correo electrónico y contraseña correspondiente, si los datos son correctos se re direccionara a la página de inicio, caso contrario se mostrará una alerta.
81 Ilustración 3: Pagina de Iniciar Sesión
4.1.4 Página de Inicio Al iniciar sesión se mostrará la aplicación ACU-EASY, la primera vista será de la página de inicio donde se muestra información relacionada al usuario La aplicación consta de una barra superior donde se puede dirigir a la página de inicio y cerrar sesión además de una barra lateral donde se encontrará el menú de la aplicación que consta de cuenta, presupuesto y rubro.
82 Ilustración 4: Página de inicio
4.1.5 Botones La siguiente serie de botones aparece varias veces dentro de la aplicación, se describirá la funcionalidad de cada uno Botón de Añadir: Sirve para agregar un nuevo elemento dentro del contexto actual Ilustración 5:Botón Añadir
Menú: Está compuesto por una combinación de los siguientes 4 elementos:
El botón amarillo permite acceder a una vista más detallada del documento.
El botón verde mostrará una ventana donde se podrá modificar los datos del elemento.
El botón azul mostrará la ventana compartir.
El botón rojo elimina el elemento seleccionado.
83 Ilustración 6: Menú
Ventana compartir: A partir del correo electrónico de un usuario registrado se podrá compartir un elemento de dos maneras, "editar" en la cual ambos usuarios tienen acceso a un mismo elemento, y "copiar" que le otorga al segundo usuario su propia copia del elemento, independiente del original. Ilustración 7: Ventana Compartir
4.1.6 Tablas La información dentro de la aplicación se presenta por general en tablas donde cada tabla tiene funcionalidades de:
Ordenar: Haciendo click en cada cabecera de la tabla ordena de manera ascendente o descendente la información.
Buscar: Filtra la tabla de acuerdo al texto ingresado
Filas mostrar: Permite las filas a mostrar por tabla
Paginar: Ubicado en la esquina inferior derecha, para avanzar o retroceder páginas.
84 Ilustración 8: Modelo de Tabla
4.1.7 Repositorios Los repositorios cumplen la función de catálogos de datos para los rubros y componentes. En esta vista, se obtendrá una lista de los repositorios pertenecientes al usuario en sesión. Cada repositorio tiene opciones de agregar, abrir, editar, compartir y eliminar. Nota: Los repositorios que empiezan con “(Presupuesto)” son repositorios creados automáticamente tras haber creado un presupuesto. Cualquier alteración dentro de este repositorio afectara al presupuesto asociado. Ilustración 9: Pagina repositorios
85
Abrir Repositorio Al hacer click en abrir un repositorio, se mostrará una página donde se podrá acceder a los componentes o rubros de este. Ilustración 10: Pagina detalle repositorio
Componentes: Al acceder a componentes se mostrará todos los componentes pertenecientes al repositorio. Se puede agregar, editar y eliminar componentes en sus distintas categorías (equipo, mano de obra, materiales, transporte).
⚠︎ Advertencia: Al eliminar un componente perteneciente a un rubro se eliminará de dichos rubros. Antes de eliminar se mostrará los rubros relacionados si no desea eliminar aplaste el botón cancelar.
86 Ilustración 11: Pagina componentes
Rubros: Al acceder a rubros se mostrará todos los rubros pertenecientes al repositorio. Se puede agregar, abrir editar y eliminar rubros. Al dar click en la opción de abrir se re direccionará a la página detalle rubro, especificada en la ilustración 12.
⚠︎ Advertencia: Al eliminar un rubro que este dentro de un repositorio de tipo “(Presupuesto)” se eliminara este rubro del presupuesto. Se mostrará una alerta antes de eliminar si no desea eliminar presione cancelar.
87 Ilustración 12: Pagina rubros
Detalle rubro repositorio: Tras haber abierto un rubro se presentará esta página donde se podrá ver los componentes relacionados con el rubro seleccionado y añadirlos a partir de los repositorios a los que el usuario tenga acceso o creando uno completamente nuevo. Adicionalmente, también se puede crear un rubro utilizando uno ya existente como modelo. Se detalla más estas acciones en el apartado 4.2.1 Ilustración 13: Pagina detalle rubro repositorio
88
4.1.8 Presupuesto De click en el botón presupuestos en el menú ubicado en la barra derecha de la aplicación. Se abrirá esta página que muestra una lista de los presupuestos a los que tiene acceso el usuario en sesión. Se puede agregar, editar, eliminar y compartir presupuestos. Ilustración 14: Pagina presupuestos
Abrir presupuesto Al hacer click en abrir un presupuesto, se mostrará una página con la información de este presupuesto. Se puede agregar, editar, eliminar filas. Existe 3 formas de agregar filas:
89
Botón Capitulo: Agrega un capitulo con el fin de clasificar los rubros en categorías
Botón Rubro Vacío: Agrega una especie de rubro que no tiene componentes ni relaciones.
Botón Agregar: Permite agregar un rubro completo a través de la página agregar rubro-presupuesto más detalle en el literal X.X.X
Ilustración 15: Detalle presupuesto
4.2 Información para los procedimientos y tutoriales 4.2.1 Crear rubro en un presupuesto Se detallará el procedimiento completo para crear un rubro desde un presupuesto incluyendo la creación de componentes, se asume que ya se ha creado un presupuesto en este caso “PRESUPUESTO CASA P2” y de manera opcional tener repositorios. Nota: Este procedimiento es similar para crear rubro en un repositorio solo que se omite los pasos 1-5.
90
Crear Rubro 1. Una vez presionado el botón añadir ubicado al lado del nombre del presupuesto en la ilustración 15, se mostrará la página agregar rubro presupuesto. 2. Ingresar código, nombre de rubro, unidad y cantidad. En código y en cantidad solo se aceptan números. Al escribir en unidad se mostrará un listado de sugerencia de unidades, puede escoger una o poner una totalmente nueva. 3. Click en guardar, botón azul 4. Le aparecerá una alerta “rubro guardado” presione “ok” Ilustración 16: Agregar rubro presupuesto
5.- Se habilitarán los demás componentes de la interfaz. Para agregar componentes se puede realizar de tres maneras distintas, agregando un componente desde cero, copiando un componente desde repositorio y copiando un rubro de un repositorio. Agregar componente desde cero: 1. Presione el botón añadir (botón verde).
91
2. Se abrirá el formulario Añadir Componente (ilustración 17): 3. Seleccione la categoría, llene el código de componente, descripción, unidad, cantidad y precio unitario. En código, cantidad y precio unitario solo se admiten números, en precio unitario puede poner decimales. 4. Presione el botón Agregar, se mostrará una alerta de éxito y se agregara en la ventana de la izquierda (Ilustración 19) Ilustración 17: Formulario Añadir Componente
Ilustración 18: Componente agregado
Copiando un componente desde repositorio 1. Haga click en la barra de búsqueda de repositorio, le aparecerá una lista con repositorios a los que tiene acceso, puede ir escribiendo para ir filtrando.
92
2. Seleccione un repositorio 3. Haga click en ver, seleccione componentes, se le mostrara todos los componentes de este repositorio 4. Elija en cualquier pestaña (equipo, material, mano de obra, transporte) un componente, selecciónelo y arrastre a la ventana de rubros (parte izquierda). 5. Se desplegará el formulario donde puede editar a su gusto lo que se va a agregar, por ejemplo, la cantidad. 6. Si se ha guardado le mostrara la pestaña donde se ha guardado Ilustración 19:Seleccionar componentes de repositorio
93
Ilustración 20: Formulario al arrastrar un componente
Ilustración 21: Componente agregado desde repositorio a rubro
⚠︎ Advertencia: si ya se ha agregado este componente le aparecerá un mensaje de advertencia, si no se ha agregado el componente, pero ya existe un componente con el mismo código le aparecerá un mensaje de advertencia en este punto se sugiere cambiar el código de componente (ilustración 20) para poder agregarlo al rubro actual. Copiando un rubro desde repositorio
94
1. Haga click en la barra de búsqueda de repositorio, le aparecerá una lista con repositorios a los que tiene acceso, puede ir escribiendo para ir filtrando. 2. Seleccione un repositorio 3. Haga click en ver, seleccione rubros, se le mostrara todos los rubros de este repositorio 4. Haciendo click en ver, se desplegará una ventana emergente donde podrá ver los componentes de este rubro. 5. Seleccione un rubro y arrástrelo a la venta de rubros 6. Se copiarán todos los componentes de este rubro si no hay conflictos. ⚠︎ Advertencia: Los componentes repetidos no se agregarán a este rubro, se mostrará una alerta donde se visualizará los componentes que no se han podido agregar Ilustración 22: Mostrar los rubros del repositorio
Ilustración 23: Visualizar rubro seleccionado
95 Ilustración 24: Componentes agregado desde un rubro
4.2.2 Asignar VAE En este procedimiento se asignará el Valor Agregado Ecuatoriano (VAE) y los códigos del Clasificador Central de Productos(CPC) a los componentes. Se necesita un presupuesto con rubros y sus componentes para realizar este proceso. 1. En la página de presupuesto, edite un presupuesto activando la opción de VAE (ilustración 25) 2. Haga click en la opción abrir, se dirigirá a la página detalle del presupuesto. 3. Haga click en el botón VAE, esto abrirá una nueva ventana conformada por 3 secciones: CPC, componentes y rubros. 4. Use la barra de búsqueda superior para encontrar un CPC apropiado, puede buscar ya sea por código o descripción. 5. De manera opcional con el botón información puede revisar la clasificación del CPC seleccionado (ilustración 26) 6. Seleccione el CPC deseado y el componente objetivo, después haga click en el botón "Aplicar CPC" (ilustración 27) 7. Asignar un valor de VAE a cada componente usando los botones "NP"= 0 , "ND"= 40, "EP"= 100. (ilustración 28) Tomando en cuenta que NP es Elemento No Producido en el País, ND es Elemento No Definido y EP es Elemento Enteramente Producido.
96
8. Haga click en la sección Rubros, puede verificar como afecto la aplicación del VAE en los rubros que contienen esos componentes. (ilustración 29) Ilustración 25: Activar VAE en un presupuesto
Ilustración 26: Clasificación del CPC seleccionado
97 Ilustración 27: Asignar CPC a un componente
Ilustración 28: Asignación de VAE a un componente
98 Ilustración 29: Cambios en el rubro por la aplicación del VAE
4.2.3 Exportar presupuesto a Microsoft Excel 1. En la página detalle de presupuesto haga click en el botón "Exportar" (ilustración 30) 2. Se abrirá el formulario “Datos para Exportar”, llene todos los datos y de click en “Siguiente” (ilustración 31). Estos datos serán los representados en el documento exportado 3. Revise las tablas presentadas, estos valores serán los representados en el documento exportado 4. Haga click en el botón "Excel" ubicado en la esquina inferior derecha (ilustración 32), guarde el documento 5. Visualice el documento Exportado (ilustración 33) Nota: Si la opción VAE dentro del presupuesto se encuentra activada, se mostrarán columnas adicionales con dicha información en las tablas que representan rubros.
99 Ilustración 30: Botón Exportar
Ilustración 31: Formulario Datos para Exportar
Ilustración 32: Pagina Exportar
100 Ilustración 33: Presupuesto Exportado en Excel
5. LOS MENSAJES DE ERROR Y RESOLUCIÓN DE PROBLEMAS En esta sección se presentarán los mensajes de error más comunes que se pueden dar dentro de la aplicación, existen muchos más mensajes de errores, pero son lo bastante explícitos y claros para ser entendidos por el usuario. Ilustración 34: Mensajes de error en la aplicación
Mensaje Datos incorrectos
Acceso denegado
No se puede compartir usted mismo con el permiso de editar
Descripción Sucede cuando se llena un formulario con datos no aceptados, esto puede ser poner letras en campos que solo aceptan números, poner demasiado texto. En si llenar con datos incorrectos. Ocurre cuando desea abrir un elemento al que no tiene acceso, estos elementos pueden ser un repositorio, presupuesto, rubro … Sucede cuando se quiere compartir con permiso de editar ya sea un repositorio o un presupuesto al propio
Solución Llenar con los datos adecuados
Si considera que es un elemento que es de su propiedad y es un error del software, puede contactarse con la empresa donde se verificara esta información. Comparta el elemento con el permiso de copiar, así creara una copia de este elemento
101
Correo no encontrado
Error contacte con la empresa
usuario que los creo. No se puede realizar esta acción. Aparece cuando se comparte un elemento y no se encuentra el correo del usuario a compartir. El correo deberá ser de un usuario registrado en la aplicación. Esto es un error de la propia aplicación.
donde puede modificarlo a su gusto. Revise que el correo este bien escrito. Si persiste el problema quiere decir que el usuario no está registrado o se registró con otro correo.
Por favor contáctese con la empresa o en su defecto con los desarrolladores del software Calderón: sdcalderonc@pucesd.edu.ec, Ontaneda: aaontanedac@pucesd.edu.ec. Donde se procederá a revisar y corregir el error lo más pronto posible
102 Anexo 10. Manual técnico
ACU-EASY versión 1.0.0 Una guía detallada para administración del software
la
Calderón Steven – Ontaneda Adrián
MANUAL TÉCNICO Versión 1.0.0 5 de marzo del 2020
Autores
103
TABLA DE CONTENIDO
1.
INTRODUCCIÓN .................................................................................................... 104
2.
OBJETIVO .............................................................................................................. 104
3.
REQUISITOS MÍNIMOS DEL SISTEMA ............................................................... 104
3.1
REQUISITOS DEL SERVIDOR ......................................................... 104
3.2
REQUISITOS DE LA BASE DE DATOS............................................ 104
4.
HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO ................................. 104
4.1
HTML5 .............................................................................................. 104
4.2
NODE.JS ........................................................................................... 105
4.3
EXPRESS ......................................................................................... 105
4.4
VISUAL STUDIO CODE ......................... ¡Error! Marcador no definido.
4.5
MySQL .............................................................................................. 106
5.
HERRAMIENTAS UTILIZADAS PARA EL DESPLIEGUE ................................... 106
5.1
AMAZON LIGHTSAIL ........................................................................ 106
5.2
AMAZON RDS .................................................................................. 106
6.
MODELO ENTIDAD-RELACIÓN ........................................................................... 107
7.
DICCIONARIO DE DATOS .................................................................................... 107
8.
BIBLIOGRAFÍA ...................................................................................................... 111
104
1.INTRODUCCIÓN En este documento está dirigido al personal técnico que administre el sistema, se abarcaran los temas desde las herramientas utilizadas, las relaciones de la base de datos, así como su diccionario de datos y los requerimientos mínimos para el despliegue de la aplicación. Todo esto, con el fin de ilustrar las pautas lógicas que se han llevado a cabo para realizar el sistema para su posterior mantenimiento.
2. OBJETIVO ● Dar a conocer la estructura y funcionamiento de la aplicación web ACU EASY a las personas que administren el aspecto técnico.
3. REQUISITOS MÍNIMOS DEL SISTEMA 3.1 REQUISITOS DEL SERVIDOR
Memoria 512 MB
Procesador de 1 núcleo (Virtual)
Disco SSD de 20 GB (Mínimo Contratable)
1 TB de transferencia
3.2 REQUISITOS DE LA BASE DE DATOS
Memoria 1024 MB
Procesador de 1 núcleo 3.3 Ghz (Virtual)
4. HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO 4.1 HTML5
105
Esta es la quinta versión del HTML, esta nueva versión tiene la sintaxis de HTML y XHTML, siendo este último un lenguaje de marcado extensible y más específico, lo que permite a los desarrolladores web elegir obtener más control XHTML para presentar información o de la manera tradicional con HTML que ha tenido mejoras significativas como: un estándar de interpretación de errores, múltiples implementaciones integradas de CSS3 y el lenguaje JavaScript (Gutiérrez, 2016). 4.2 NODE.JS Desarrollado por Google utilizando el motor V8, es un entorno operativo multiplataforma de código abierto que se utiliza para desarrollar aplicaciones web del lado del servidor. Se basa en el lenguaje JavaScript que ha sido ampliado por varias bibliotecas (Nordeen, 2020). Usa una arquitectura basada en eventos, lo cual convierte a Node js con la capacidad de resolver de manera asíncrona, ideal para altos números de consultas. Además, permite agregar dependencias fácilmente a través de Node Package Manager (NPM) (Puciarelli, 2020). 4.4 EXPRESS Es un marco de trabajo o también conocido como framework de Node js que facilita las tareas del desarrollo web, a través de varios módulos además de que estructura el desarrollo en el modelo vista-controlador. Entre sus características resalta el proceso de conexión simplificado con bases de datos como MySQL, MongoDB, PostgreSQL, Redis … Además de que posee su propio motor de plantillas (Mardan, 2014).
106
4.5 MySQL Es un software dedicado a la administración de base de datos relacionales o SQL, perteneciente a Oracle. Tiene una licencia comercial sin embargo también es de código abierto que ha dado lugar a una gran comunidad de usuarios que ha aportado funcionalidades en línea. “Su conectividad, velocidad y seguridad hacen que MySQL Server sea muy adecuado para acceder a bases de datos en Internet” (Axmark & Widenius, 2021).
5. HERRAMIENTAS UTILIZADAS PARA EL DESPLIEGUE 5.1 AMAZON LIGHTSAIL Perteneciente a Amazon Web Services, permite al usuario desplegar una aplicación web en un servidor virtual de manera sencilla empleando recursos en la nube. Además de permitir la integración con el resto de servicios ofrecidos por Amazon. 5.2 AMAZON RDS Perteneciente a Amazon Web Services, permite al usuario crear y administrar bases de datos relacionales en la nube. Ofrece 6 motores de bases de datos: Amazon Aurora, PostgreSQL, MySQL, MariaDB y SQL Server. Fácilmente integrables con el resto de servicios ofrecidos por Amazon.
107
6.MODELO ENTIDAD-RELACIÓN
7. DICCIONARIO DE DATOS Nombre Descripción Campo
tbl_usuario Describe los usuarios registrados en la aplicación web Tipo Descripción Detalle
Nullab le -
id_usuario
INT
Identificador del usuario
nombre_usuario
VARCHAR (45) VARCHAR (45) VARCHAR (255)
Nombre del Usuario
Clave Primaria, Autoincremental -
Correo del Usuario
-
-
Contraseña del Usuario
-
-
user_mail contrasenia
-
108 ocupacion asociacion
VARCHAR (45) VARCHAR (100)
Ocupación de Usuario
-
X
Asociación del Usuario
-
X
Nombre Descripción Campo
tbl_repositorio Describe los repositorios creados en la aplicación web Tipo Descripción Detalle
id_repositorio
INT
nombre_repositorio
VARCHAR (45) INT
factor_de_redondeo
Nombre Descripción Campo id_usuario
id_repositorio
nivel_permiso
Nombre Descripción Campo id_presupuesto id_repositorio nombre_presupuesto porcentaje_indirecto valor_presupuesto
Identificador del Repositorio Nombre del Repositorio
Clave Primaria, Autoincremental -
Usado al presentar datos
default: 2
Nullab le X
tbl_usuario_has_repositorio Describe a que repositorios tienen acceso los usuarios Tipo Descripción Detalle Nullab le INT Identificador del usuario Clave Primaria Foránea Compuesta INT identificador del repositorio Clave Primaria Foránea Compuesta ENUM Indica el nivel de acceso -
tbl_presupuesto Describe los presupuestos creados en la aplicación web Tipo Descripción Detalle Nullab le INT Identificador del Clave Primaria, presupuesto AutoIncremental INT Identificador del Clave Foránea repositorio VARCHAR Nombre del presupuesto (45) DOUBLE Valor de porcentaje default: 0 X indirecto DOUBLE Valor total del default: 0 X presupuesto
109 vae_porcentual
DOUBLE
fecha_creacion
DATETIME
Valor Agregado Ecuatoriano Fecha de Creación
fecha_actualizacion
DATETIME
Fecha de Ultimo Cambio
vae_state
TINYINT
Indica si utiliza VAE
Nombre Descripción Campo id_usuario
id_presupuesto
default: 0
X
default: CURRENT_TIMES TAMP default: CURRENT_TIMES TAMP default: 0
X
X
tbl_usuario_has_presupuesto Describe a que presupuestos tienen acceso los usuarios Tipo Descripción Detalle Nullab le INT Identificador del usuario Clave Primaria Foránea Compuesta INT identificador del Clave Primaria presupuesto Foránea Compuesta
Nombre Descripción Campo
Tipo
tbl_rubro Describe los rubros de un repositorio Descripción Detalle
codigo_rubro
INT
Identificador del Rubro
descripcion_rubro unidad_rubro
Descripción del Rubro Sistema de medida usado
costo_directo porcentaje_indirecto
INT VARCHAR (20) DOUBLE DOUBLE
valor_ofertado
DOUBLE
vae_porcentual
DOUBLE
id_repositorio
INT
Nombre Descripción
X
Costo de los componentes Valor de porcentaje indirecto Valor después del costo ind. Valor Agregado Ecuatoriano Identificador del Repositorio
Clave Primaria Compuesta default: u
Nullab le X
default: 0 default: 0
X X
default: 0
X
default: 0
X
Clave Primaria Compuesta
-
tbl_codigo_cpc Describe los códigos del Clasificador Central de Productos
110 Campo
Tipo
Descripción
Detalle
nivel codigo_cpc
INT VARCHAR (10) VARCHAR (255)
Nivel de Descripción Identificador del CPC
Clave Primaria
Nullab le -
Descripción del CPC
-
-
descripcion_cpc
Nombre Descripción Campo
Tipo
codigo_comp
INT
categoria
ENUM
descripcion_comp
costo_unit vae_porcentual
VARCHAR (100) VARCHAR (10) VARCHAR (20) DOUBLE DOUBLE
id_repositorio
INT
Nombre Descripción Campo
tbl_rubro_has_componente Describe las relaciones entre componentes y rubros Tipo Descripción Detalle
codigo_rubro
INT
Identificador del rubro
codigo_comp
INT
Clasificación del componente
cantidad_comp costo_unit
DOUBLE DOUBLE
id_repositorio
INT
Cantidad del componente Costo al momento de crear Identificador del repositorio
Nombre Descripción Campo
tbl_rubro_has_componente Describe las relaciones entre componentes y rubros Tipo Descripción Detalle
codigo_cpc unidad_comp
tbl_componente Describe los componentes de un repositorio Descripción Detalle Identificador del componente Clasificación del componente Descripción del componente Código del CPC
Clave Primaria
Nullab le -
-
-
-
-
-
X
Sistema de medida usado
default: u
X
Costo unitario Valor Agregado Ecuatoriano Identificador del Repositorio
default: 0 default: 40
X X
Clave Foránea
-
Clave Primaria Foránea Compuesta Clave Primaria Foránea Compuesta default: 1 default: 0 Clave Foránea
Nullab le -
-
X X -
Nullab le
111 posicion
INT
id_presupuesto
INT
codigo_rubro categoria descripcion_entrada
INT ENUM VARCHAR (45) VARCHAR (10) DOUBLE DOUBLE
unidad_entrada cantidad precio_unit_entrada
Posición al presentar datos Identificador del presupuesto Identificador del rubro Clasificación de la entrada Descripción de la entrada
-
-
Clave Foránea
-
Clave Foránea -
X -
Sistema de medida usado
default: u
X
Cantidad del Rubro Precio Unitario Entrada
default: 1 default: 0
X X
8. BIBLIOGRAFÍA Amazon.
(2020
de
Julio
de
29).
Amazon
Web
Services.
Obtenido
de
https://aws.amazon.com Axmark, D., & Widenius, M. (08 de 01 de 2021). Manual de referencia de MySQL 8.0. Obtenido de MySQL: https://dev.mysql.com/doc/refman/8.0/en/ Gutiérrez, R. T. (2016). El surgimiento de HTML5: Un nuevo paradigma en los estándares
Web.
Revista
Tecnokultura,
13,
169-192.doi:
http://dx.doi.org/10.5209/rev_TK.2016.v13.n1.52152 Mardan, A. (2014 ). Pro Express.js: Master Express.js: The Node.js Framework For Your Web. Apress. Nordeen, A. (2020 ). Learn NodeJS in 24 Hours: Complete Node JS Guide with Examples. Guru99. Puciarelli, L. (2020). Node JS Vol. 1: Instalación - Arquitectura - node y npm. RedUsers.