DE PAZ DEL DISTRITO JUDICIAL DE AYACUCHO, 2023 Para optar el título profesional de: INGENIERO DE SISTEMAS PRESENTADA POR: Bach. Max AUQUI BAUTISTA ASESOR: Dr. Ing. Efraín Elías PORRAS FLORES AYACUCHO - PERÚ 2024 TESIS: SISTEMA WEB PARA LA GESTIÓN DE RECURSOS EN LOS JUZGADOS UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA FACULTAD DE INGENIERÍA DE MINAS, GEOLOGÍA Y CIVIL ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS DEDICATORIA A Dios, a mi madre y padre, Marina y Teodoro, por su incondicional apoyo y fuerza para seguir adelante. A mis hermanas Paola y Danna, por su constante apoyo. A mis hermanos Renzo y Roque, por su apoyo desinteresado. ii AGRADECIMIENTO A mis padres, por su apoyo incondicional y su confianza en mis sueños. A mi familia, por su amor y apoyo constante. A la Universidad San Cristóbal, por la oportunidad de formarme profesionalmente. A la Corte Superior de Justicia de Ayacucho, por la oportunidad de desarrollarme profesionalmente. A los docentes y mentores, por su guía y apoyo en mi aprendizaje. Al Dr. Ing. Efraín Elías Porras Flores, por su amistad, colaboración y apoyo profesional. A la Ing. Eliane Sammy Joyo Meneses por su apoyo constante durante el desarrollo de la investigación. iii CAPÍTULO I INTRODUCCIÓN 1.1. PLANTEAMIENTO DEL PROBLEMA 13 1.2. FORMULACIÓN DEL PROBLEMA 14 1.2.1. PROBLEMA GENERAL 14 1.2.2. PROBLEMAS ESPECÍFICOS 14 1.3. JUSTIFICACIÓN DE LA INVESTIGACIÓN 14 1.4. LIMITACIONES DE LA INVESTIGACIÓN 14 1.5. OBJETIVOS 14 1.5.1. OBJETIVO GENERAL 14 1.5.2. OBJETIVOS ESPECÍFICOS 14 CAPÍTULO II MARCO TEÓRICO 2.1. ANTECEDENTES DE LA INVESTIGACIÓN 15 2.2. MARCO CONCEPTUAL 15 2.2.1. JUZGADO DE PAZ 15 2.2.2. JUEZ DE PAZ 15 2.2.3. RECURSO HUMANO 16 2.2.4. RECURSOS FINANCIEROS 16 2.2.5. RECURSO MATERIAL 17 2.2.6. RECURSO TECNOLÓGICO 17 2.3. MARCO REFERENCIAL 17 2.3.1. SISTEMA WEB 17 2.3.2. PROGRAMACIÓN EXTREMA (XP) 19 2.3.3. ACTIVIDADES BASICAS DE XP 20 2.3.4. VARIABLES DE CONTROL DE RECURSOS DE XP 20 2.3.5. VALORES DE LA PROGRAMACIÓN EXTREMA 20 2.3.6. PRINCIPIOS BÁSICOS DE XP 20 2.3.7. PRÁCTICAS DE LA PROGRAMACIÓN EXTREMA 21 2.3.8. ROLES EN EL PROCESO DE DESARROLLO DE XP 23 2.3.9. CICLO DE VIDA IDEAL DE UN PROYECTO XP 24 2.3.10. ARTEFACTOS DE LA PROGRAMACIÓN EXTREMA 30 2.3.11. SISTEMA GESTOR DE BASE DE DATOS 34 2.3.12. METODOLOGÍA ÁGIL 35 2.3.13. LENGUAJE DE PROGRAMACIÓN MULTIPARADIGMA 35 2.3.14. ARQUITECTURA DE SOFTWARE 36 CAPÍTULO III MATERIALES Y MÉTODOS 3.1. TIPO Y NIVEL DE LA INVESTIGACIÓN 37 3.1.1. TIPO DE INVESTIGACIÓN 37 3.1.2. NIVEL DE INVESTIGACIÓN 37 3.2. DISEÑO DE LA INVESTIGACIÓN 37 3.3. POBLACIÓN Y MUESTRA 38 3.3.1. POBLACIÓN 38 3.3.2. MUESTRA 38 3.4. VARIABLES 38 3.4.1. DEFINICIÓN CONCEPTUAL DE VARIABLES 38 3.4.2. DEFINICIÓN OPERACIONAL DE VARIABLES 39 3.5. OPERACIONALIZACIÓN DE VARIABLES 39 iv 3.6. TÉCNICAS E INSTRUMENTOS DE INVESTIGACIÓN 41 3.6.1. TÉCNICAS 41 3.6.2. INSTRUMENTOS 41 3.6.3. VALIDEZ DEL INSTRUMENTO 41 3.6.4. CONFIABILIDAD DEL INSTRUMENTO 41 3.7. PROCEDIMIENTO 41 3.7.1. TECNICA DE PROCESAMIENTO DE DATOS 41 3.7.2. HERRAMIENTAS PARA EL PROCESAMIENTO DE DATOS 43 3.7.3. TÉCNICAS DE ANÁLISIS DE DATOS 45 CAPÍTULO IV ANALISIS Y RESULTADOS DE LA INVESTIGACION 4.1. RESULTADOS 46 4.1.1. ARTEFACTOS DEL SOFTWARE APLICANDO EL PROCESO XP 46 4.1.2. INTERFAZ DE USUARIO Y CODIFICACIÓN 82 4.1.3. TARJETAS CLASE RESPONSABILIDAD COLABORACIÓN (CRC) 93 4.2. DISCUSIÓN 135 CAPÍTULO V CONCLUSIONES 5.1. CONCLUSIONES 136 CAPÍTULO VI RECOMENDACIONES 6.1. RECOMENDACIONES 137 6.2. REFERENCIAS BIBLIOGRÁFICAS 138 LISTA DE ABREVIATURAS 140 GLOSARIO 141 ANEXOS 142 v Lista de tablas Tabla 1 Prácticas de programación extrema 22 Tabla 2 Fase de exploración 25 Tabla 3 Fase de planeación 26 Tabla 4 Fase de iteración a la primera versión 26 Tabla 5 Fase de puesta en producción 30 Tabla 6 Plantilla historia de usuario 31 Tabla 7 Plantilla tareas de ingeniería 32 Tabla 8 Plantilla tarjeta CRC 32 Tabla 9 Plantilla pruebas de aceptación 33 Tabla 10 Operacionalizacion de variables 39 Tabla 11 Técnicas de procesamiento de datos 41 Tabla 12 Herramientas para el procesamiento de datos 44 Tabla 13 Historias de Usuario 46 Tabla 14 Plan de Alto Nivel 48 Tabla 15 Historia usuario: administrar usuarios del sistema. 49 Tabla 16 Historia usuario. Administrar Juez de Paz 50 Tabla 17 Historia usuario: Administrar Juzgado de Paz. 51 Tabla 18 Historia usuario. Administrar Recursos Materiales 51 Tabla 19 Historia usuario. Emitir Constancia de Transferencia Posesoria. 52 Tabla 20 Historia usuario. Asignar terna de jueces a juzgado. 53 Tabla 21 Historia usuario. Consultar Juzgados con ternas próximos a vencer 53 Tabla 22 Historia usuario. Iniciar sesión de jueces 54 Tabla 23 Historia usuario. Iniciar sesión de administrador. 55 Tabla 24 Historia usuario. Administrar listado de aranceles. 55 Tabla 25 Historia usuario. Consultar usuarios del sistema. 56 Tabla 26 Historia usuario. Consultar usuarios del sistema. 56 Tabla 27 Historia usuario.Consultar juzgados de paz. 57 Tabla 28 Historia usuario. Consultar recursos materiales 58 Tabla 29 Historia usuario. Consultar juzgados con y sin ternas asignadas. 58 Tabla 30 Historia usuario. Consultar cuadro de aranceles. 59 Tabla 31 Historia usuario. Administrar Recursos Tecnológicos 59 Tabla 32 Plan de versión 60 Tabla 33 Tarea de Ingeniería. Administrar usuarios del sistema. 63 vi Tabla 34 Tarea de ingeniería. Administrar juez de paz. 64 Tabla 35 Tarea de ingeniería. Administrar juzgado de paz. 65 Tabla 36 Tarea de ingeniería. Administrar recursos materiales y tecnológicos. 66 Tabla 37 Tarea de Ingeniería. Emitir constancias de transferencia posesoria. 68 Tabla 38 Tarea de ingeniería. Asignación de terna al juzgado. 68 Tabla 39 Tarea de ingeniería. Consultar Juzgados con ternas próximas a vencer. 69 Tabla 40 Tarea de Ingeniería. Iniciar sesión de jueces. 70 Tabla 41 Tarea de ingeniería. Iniciar sesión de administrador. 71 Tabla 42 Tarea de ingeniería. Administrar cuadro de aranceles. 71 Tabla 43 Tarea de ingeniería. Consultar usuario del sistema. 73 Tabla 44 Tarea de ingeniería. Consulta de jueces de paz. 73 Tabla 45 Tarea de ingeniería. Consultar juzgados de paz. 74 Tabla 46 Tarea de ingeniería. Consultar recursos materiales y tecnológicos. 75 Tabla 47 Tarea de ingeniería. Consultar juzgados con y sin ternas asignadas. 75 Tabla 48 Tarea de ingeniería. Consultar el cuadro de aranceles. 76 Tabla 49 Plan de iteración (primera) 77 Tabla 50 Plan de iteración (segunda) 78 Tabla 51 Plan de interacciones clasificadas en fechas de desarrollo 79 Tabla 52 Casos de prueba de aceptación 80 Tabla 53 Clase de Usuarios. 93 Tabla 54 Clase Juez de paz 94 Tabla 55 Clase Juzgado de paz 94 Tabla 56 Clase Recurso material y tecnológico. 94 Tabla 57 Clase Asignación de ternas 95 Tabla 58 Clase Cuadro de aranceles 95 Tabla 59 Clase Emisión de certificado 95 Tabla 60 Reporte de Pruebas Unitarias. Primera Iteración. 129 Tabla 61 Reporte de pruebas de integración. Primera iteración. 130 Tabla 62 Reporte de pruebas de aceptación. Administrar Usuarios del Sistema. 131 Tabla 63 Reporte de Pruebas de Aceptación: Administrar Juez de Paz. 131 Tabla 64 Reporte de pruebas de aceptación: Administrar Juzgado de Paz. 131 Tabla 65 Reporte de pruebas de aceptación. Administrar Recursos Materiales y Tecnológicos. 132 vii Tabla 66 Reporte de pruebas de aceptación. Emitir constancias de transferencia. 131 Tabla 67 Reporte de pruebas de aceptación. Asignar Terna al Juzgado. 133 Tabla 68 Reporte de pruebas de aceptación. Consultar Juzgados con Ternas Próximos a Vencer. 133 Tabla 69 Reporte de pruebas de aceptación: Administrar Cuadro de Aranceles. 134 viii LISTA DE FIGURAS Figura 1 Esquema básico de una aplicación web 18 Figura 2 Ciclo de entrega en la programación extrema 19 Figura 3 Principios XP 21 Figura 4 Los roles en el proceso de desarrollo de XP 23 Figura 5 Etapas del proceso de desarrollo para un proyecto XP 24 Figura 6 Arquitectura Técnica inicial 48 Figura 7 Arquitectura técnica final. Diagrama de despliegue. 62 Figura 8 Arquitectura técnica final. Diagrama de componentes. 62 Figura 9 Interfaz, Sistema de administración de juzgados de paz 82 Figura 10 Interfaz. Menú principal del sistema 82 Figura 11 Interfaz. Administración de juzgado de paz 83 Figura 12 Interfaz. Registro de juzgado de paz 83 Figura 13 Interfaz. Administración de juez de paz. 84 Figura 14 Interfaz. Registro de juez de paz 84 Figura 15 Interfaz. Administración de cuadro de aranceles 85 Figura 16 Interfaz. Registro de cuadro de aranceles 85 Figura 17 Interfaz. Administración de recursos materiales 86 Figura 18 Interfaz. Registro de recurso material 86 Figura 19 Interfaz. Registro de asignación de jueces de paz 87 Figura 20 Interfaz. Registro asignación de terna 87 Figura 21 Interfaz. Administración de usuario 88 Figura 22 Interfaz. Registro cuenta de usuario. 88 Figura 23 Interfaz. Menú principal del sistema juez de paz 89 Figura 24 Interfaz. Administración de emisión de certificados 89 Figura 25 Interfaz. Modulo emisión de certificados 90 Figura 26 Interfaz. Certificado: Escritura pública de transferencia posesoria de bienes inmuebles 90 Figura 27 Interfaz. Certificado: Escritura pública de bienes muebles no registrables. 91 Figura 28 Interfaz. Administración de usuarios. 91 Figura 29 Interfaz. Actualización de la cuenta de usuario. 92 Figura 30 Interfaz. Administración de recursos tecnologicos 92 Figura 31 Interfaz. Registro de recurso tecnologico 93 ix Figura 32 Código fuente. Conexión a la base de datos (PostgreSQL) 96 Figura 33 Código fuente: usuario controller. 96 Figura 34 Código fuente: usuario model. 99 Figura 35 Código fuente: juez de paz model. 100 Figura 36 Código fuente: juez de paz vista. 101 Figura 37 Código fuente: juzgado de paz controller. 103 Figura 38 Código fuente: juez de paz model. 105 Figura 39 Código Fuente: juez de paz vista. 106 Figura 40 Código Fuente: Recurso Material y Tecnológico Controller. 109 Figura 41 Código Fuente: Recurso Material y Tecnológico Model. 110 Figura 42 Código Fuente. Recurso Material y Tecnológico Vista. 111 Figura 43 Código Fuente: Certificados Emitidos Controller. 113 Figura 44 Código Fuente: Certificados Emitidos Model. 115 Figura 45 Código Fuente: Certificados Emitidos Vista. 116 Figura 46 Código Fuente: Asignar Juez Controller. 118 Figura 47 Codigo Fuente. Asignar Juez Model. 121 Figura 48 Código Fuente: Asignar Juez Vista 123 x RESUMEN La oficina distrital de apoyo a la justicia de paz de Ayacucho (ODAJUP - Ayacucho) tiene 384 juzgados de paz, pero su sistema de información es deficiente. Los datos se registran en hojas de cálculo y libros de actas que no se actualizan de manera oportuna, lo que genera problemas en la gestión de los juzgados de paz. El propósito del estudio es desarrollar una aplicación web para realizar la gestión de recursos en los Juzgados de Paz del Distrito Judicial de Ayacucho, con información del año 2023. El tipo de investigación es; observacional, prospectivo, transversal y descriptiva. Se ha desarrollado la aplicación web mediante la programación extrema, un administrador de base de datos relacional y las pruebas unitarias con Jest, para realizar el registro de; asignación de la terna de jueces a los juzgados de paz, jueces de paz, juzgados de paz, y certificados emitidos. Se ha logrado desarrollar la gestión de recursos humanos mediante la aplicación web como se observa en las tablas 15, 16, 20, 21, 25, 26, 29 y las figuras 13, 14, 19, 20, 21, 22; la gestión de recursos financieros según las tablas 19, 24, 30 y las figuras 15, 16, 23, 24 , 25, 26, 27; la gestión de recursos materiales de acuerdo a las tablas 18, 26 y las figuras 17, 18; la gestión de recursos tecnológicos se observa en las tablas 18, 26 y las figuras 30, 31. La base de datos relacional y el código fuente que permiten almacenar datos de forma organizada, modificarlos según sea necesario y consultarlos de forma eficiente. Palabras claves: Programación extrema, aplicación web, juzgado de paz, jueces de paz. xi ABSTRACT The Ayacucho District Office of Support for Justice of Peace (ODAJUP - Ayacucho) has 384 Justice of Peace courts, but its information system is deficient. Data is recorded in spreadsheets and minutes books that are not updated in a timely manner, which creates problems in the management of the Justice of Peace courts. The purpose of the study is to develop a web application to manage resources in the Justice of Peace Courts of the Judicial District of Ayacucho, with information from the year 2023. The type of research is: observational, prospective, cross-sectional, and descriptive. The web application has been developed using extreme programming, a relational database manager, and unit tests with Jest, to register: assignment of the panel of judges to the Justice of Peace courts, Justice of Peace judges, Justice of Peace courts, and certificates issued. The management of human resources has been achieved through the web application as shown in tables 15, 16, 20, 21, 25, 26, 29 and figures 13, 14, 19, 20, 21, 22; financial resource management according to tables 19, 24, 30 and figures 15, 16, 23, 24, 25, 26, 27; the management of material resources according to tables 18, 26 and figures 17, 18; the management of technological resources is observed in tables 18, 26 and figures 30, 31. Relational database and the source code that allow data to be stored in an organized manner, modified as needed, and queried efficiently. Keywords: Extreme programming, web application, peace court, peace judges. xii 13 CAPÍTULO I INTRODUCCIÓN 1.1. PLANTEAMIENTO DEL PROBLEMA La oficina distrital de apoyo a la justicia de paz de Ayacucho (ODAJUP - AYACUCHO) tiene 384 juzgados de paz dentro de la jurisdicción de Ayacucho, a) esta oficina cuenta con un formato de archivo en Excel, en la cual se registra la información de los juzgados de paz, así como, la terna de jueces de paz y el número de resolución administrativa, fecha de inicio, dirección, observación, fecha de finalización de terna; que al ser hojas de cálculo, solo se registra la información y no generan reportes actualizados, originado que los juzgados de paz, se queden sin juez de paz, b) se cuenta con libro de actas, donde registra los bienes asignados, como mobiliarios y equipo de cómputo, a los juzgados de paz que muchas veces son poco legibles o modificados y no coinciden con la realidad en cada juzgado de paz c) los jueces de paz tienen como una de sus actividades la función notarial por lo que emiten diferentes tipos de certificados que al ser manuales muchas veces no son registrados por la cual genera conflictos cuando asume la nueva terna; además el costo de los certificados está estandarizado y validado por la oficina nacional de justicia de paz (ONAJUP) quienes publican el cuadro de aranceles judiciales anualmente y muchas veces sin embargo los jueces de paz no siempre están al tanto de estas actualizaciones lo que perjudica una de las fuente de ingreso del juzgado de paz. Si los juzgados de paz vienen funcionando como actualmente se encuentran, a) Se incrementa la cantidad de juzgados de paz que se quedan sin terna de jueces y por tanto el centro poblado o comunidad campesina no tienen dónde acudir para que se imparta justicia, lo que puede generar un incremento de casos en los Juzgados de Paz Letrados y demora en la resolución de sus casos; además b) Se tendrían juzgados de paz que se encuentran en situaciones precarias para impartir justicia y cumplir las funciones notariales sin bienes inmuebles ni los recursos tecnológicos debido al desconocimiento del estado situacional actual del juzgado de paz; también c) Se incurre en las especulaciones de los precios de emisión de certificados notariales que afectan a las dos partes al jueces de paz y a los usuarios debido a que no se tiene el cuadro de aranceles actualizados el juez de paz realizará un cobro inferior al precio establecido por la ONAJUP o también un precio superior, lo que generaría que cada vez menos personas quieran asumir ser jueces de paz o que los usuarios realizar quejas por los precios excesivos. El desarrollo de una aplicación web apoyará , a) Que exista una alerta que de aviso con un plazo mínimo de 2 meses que las ternas están próximas de vencer para que la ODAJUP pueda enviar los oficios a los juzgados de paz pidiendo nueva terna de jueces de paz; b) Que se pueda listar los bienes muebles y recursos tecnológicos de cada juzgado de paz para que la ODAJUP realice los trámites de asignación de estos recursos; además c) A que se realicen el registro de los aranceles judiciales la cual tiene que ser actualizado por la responsable de la ODAJUP. 14 1.2. FORMULACIÓN DEL PROBLEMA 1.2.1. Problema General ¿Cómo realizar la gestión de recursos en los juzgados de paz del distrito judicial de Ayacucho, 2023? 1.2.2. Problemas Específicos ¿Cómo realizar la gestión de los recursos: humanos, financieros, materiales y tecnológicos? 1.3. JUSTIFICACIÓN DE LA INVESTIGACIÓN Esta investigación surge de un interés personal de entender el funcionamiento de los juzgados de paz del distrito judicial de Ayacucho y, su relación con la oficina distrital de apoyo a la justicia de paz de Ayacucho, para crear un modelo que pueda ser escalable y/o replicable a nivel nacional de aplicación web. Así mismo, el interés de desarrollar una aplicación web, mediante la exploración, planificación e interacción, para automatizar la gestión de recursos humanos, financieros, materiales y tecnológicos utilizando la metodología ágil XP. Principalmente por apoyar la gestión mediante la automatización de; a) El proceso de asignación de jueces de paz, b) El proceso de emisión de certificados notariales con su respectivo costo según cuadro de aranceles y c) La asignación de recursos materiales y tecnológicos; y así mismo ayudar a la oficina de ODAJUP a la toma de decisiones. 1.4. LIMITACIONES DE LA INVESTIGACIÓN Una limitación importante del sistema es que la mayoría de los juzgados de paz no cuentan con conexión a internet, lo que imposibilita su implementación en todo el distrito judicial, No se realizará la entrevista a todos los jueces de paz para la obtención de información de los certificados notariales debido a la falta de recursos financieros y tiempo, sin embargo, se usará 14 formatos las cuales son estandarizadas por la ONAJUP. 1.5. OBJETIVOS 1.5.1. Objetivo General Desarrollar una aplicación web para la gestión de recursos en los juzgados de paz del distrito judicial de Ayacucho, 2023. 1.5.2. Objetivos Específicos a. Explorar, planificar e iterar la gestión del recurso humano b. Explorar, planificar e iterar la gestión del recurso financiero c. Explorar, planificar e iterar la gestión del recurso material d. Explorar, planificar e iterar la gestión del recurso tecnológico 15 CAPÍTULO II MARCO TEÓRICO 2.1. ANTECEDENTES DE LA INVESTIGACIÓN Flores, A., & Roque, M. (2015), Desarrollo de un sistema de registro único y gestión documentaria de los juzgados de paz del distrito judicial de Puno [Título Profesional], Universidad Nacional del Altiplano en su trabajo de investigación concluye que la implementación del sistema de registro único y gestión documentaria acelerará el tiempo de búsqueda y emisión de documentos en los juzgados de paz del distrito judicial de Puno. Purificación. J. &, Valverde, J (2018), Desarrollo un sistema de información con tecnología web para modernizar la verificación de autenticidad de documentos expedidos por jueces de paz en la zona registral n.º VII sede – Huaraz [Título Profesional], Universidad Nacional Santiago Antúnez de Mayolo facultad de ciencias en su trabajo de investigación concluye que la implementación del sistema de información con tecnología web moderniza la verificación de la formalidad en la verificación de autenticidad de los documentos expedidos por jueces de paz en la zona registral n.º vii sede – Huaraz; evitando así el uso de oficios en papel y la pérdida de los mismos, ello hacía más dificultoso la precalificación de títulos, pero actualmente eso ha mejorado significativamente. 2.2. MARCO CONCEPTUAL 2.2.1. Juzgado de Paz Es un órgano jurisdiccional del poder judicial cuya ubicación jerárquica se encuentra establecida por el artículo 26 de la presente ley orgánica. La elección, atribuciones, deberes, derechos y demás aspectos vinculados a esta institución, son regulados por la ley especial de la materia, (Ley Orgánica del Poder Judicial, 1985, artículo 61). Baltodano, (2021) Afirma que los Juzgados de Paz (anteriormente llamado “Juzgado de Paz no Letrado”) constituyen el menor nivel jerárquico en que se encuentra organizado el Poder Judicial. Interviene como conciliador y contribuye a que las personas resuelvan sus conflictos de modo directo. De no llegar a un acuerdo, el Juez de Paz podría dictar sentencia judicial. Por lo general, el Juez de Paz no requiere ser abogado para ejercer el cargo porque, preferentemente, resuelve de acuerdo al sentido común y en equidad, a fin de restablecer los vínculos vecinales y mantener la paz social. Los jueces de paz son importantes en la comunidad, porque se mantienen como una gran opción para resolver conflictos y para que se sancionen o corrijan diversos actos. (p.7) 2.2.2. Juez de Paz Según la Ley de Justicia de Paz, Ley N° 29824, es un ciudadano reconocido y respetado por su comunidad, es elegido por ésta democráticamente mediante un proceso de elecciones para el que son convocados los pobladores que radican o viven en el área física en la que ejercerá jurisdicción. Por lo general, resuelve los conflictos que son sometidos a su conocimiento mediante la conciliación y también mediante decisiones de carácter 16 jurisdiccional o sentencias, (Ley de Justicia de Paz, Ley N° 29824, artículo 3). El juez de paz es un ciudadano honorable de la localidad. Observa una buena conducta pública, basada en los valores y principios establecidos en la constitución política del Perú. Su recta conducta lo legitima socialmente para exigir el cumplimiento de sus decisiones, sean de carácter dirimente o sancionador, (Ley de Justicia de Paz, 2001, art. VI; Reglamento de la Ley de Justicia de Paz, 2002, art. 24) 2.2.3. Recurso Humano Barquero (2005, p. 12) Afirma que los empleados son el activo más valioso de una empresa, y su gestión es fundamental para su éxito. El elemento humano está presente en todos los aspectos de una empresa, por lo que es esencial que los gerentes y directores tengan en cuenta las necesidades de sus empleados para obtener resultados positivos. Montoya y Boyero (2016, p. 108) afirman que la dirección estratégica de los recursos humanos es fundamental para el éxito de la organización. El propósito fue enfatizar algunas anotaciones relevantes que giran en torno a la representación del valor de los recursos humanos en la organización y su base como elemento básico de dirección estratégica. La metodología fue de revisión documental dónde se abordaron los temas de direccionamiento y trabajo en equipo de los Recursos Humanos como aspectos determinantes en el éxito organizacional. Como resultado, los autores mencionaron que hay posibilidad futura de que una organización dependa no solo de sus capacidades financieras, sino también de su capacidad para producir cambios en la estructura y los procesos. Por lo tanto, concluyen que la organización debe orientarse hacia una visión más ambiciosa de los Recursos Humanos vinculados con la Gestión por Competencias para el éxito organizacional. Dos (2) meses antes de que expire el mandato del juez de paz, la presidencia de la corte superior de justicia oficiará al alcalde distrital, al presidente de la comunidad o al agente municipal del centro poblado menor para que convoque a los vecinos de la localidad a una elección directa y democrática. En las comunidades campesinas y nativas que cuenten con juzgados de paz, las elecciones se llevarán conforme a sus usos y costumbres. Posteriormente cada corte superior de justicia revisará que las personas elegidas cumplan los requisitos establecidos en la presente ley, (Ley de Justicia de Paz, 2001, art. 14). 2.2.4. Recursos Financiero La justicia de paz es gratuita en general, pero el Consejo Ejecutivo del Poder Judicial puede establecer aranceles por diligencias y actividades especiales. Los procesos jurisdiccionales son gratuitos, pero el juez de paz puede cobrar un arancel por actuaciones fuera de su despacho o por funciones notariales. El monto máximo de los aranceles será fijado por el Consejo Ejecutivo, (Ley de Justicia de Paz, 2001, artículo VI). Según el Reglamento de la Ley de Justicia de Paz (2002, art. 24.3), los documentos estandarizados que pueden ser expedidos por el juez de paz son: (a) escritura de transferencia posesoria del bien inmueble; (b) escritura de transferencia de bien mueble no registrable; (c) certificación de firmas; (d) constancia de posesión de bien inmueble; (e) declaración jurada sobre posesión de bien inmueble; (f) constancia de posesión de bien mueble no registrable; (g) declaración jurada sobre posesión de bien mueble no registrable; (h) certificación de apertura de libros; (i) certificación de transcripción de documentos; (j) constancia de actos y decisiones de organizaciones sociales; (k) constancia domiciliaria; (l) 17 constancia de viudez; (m) constancia de abandono de hogar; (n) constancia de separación de cuerpos; (o) constancia de separación de hechos; (p) modelo general de constancia. En este sentido, según Schiff y Schiff (2010), afirma que el rol de la gestión financiera en una entidad – destacando a los encargados – se orienta a enfrentar los desafíos actuales, y los retos consisten en manejar adecuadamente cada elemento de las finanzas, los cuales apoyan el correcto funcionamiento de las operaciones financieras y que procuren la calidad de los servicios. Según La Rosa (2007), el financiamiento del juzgado de paz, el juez de paz trabaja sin recibir sueldo del estado. Tampoco puede cobrar por administrar justicia. Sólo puede realizar cobros por sus funciones notariales y por los gastos que ocasionen las diligencias fuera del juzgado. De acuerdo a las normas el financiamiento debería ser compartido entre los concejos municipales y la comunidad, para brindar los locales de funcionamiento, y el poder judicial que debe proporcionar los útiles como papel, mobiliario, máquina de escribir entre otros. Sin embargo esto sucede con poca frecuencia (ley orgánica del poder judicial, 2012, artículo 63). 2.2.5. Recurso Material Según la Ley N° 29824 (2012, artículo 41), las cortes superiores de justicia están obligadas a proporcionar a los juzgados de paz, identificación o insignias propias del cargo. Las comunidades y las municipalidades de la circunscripción correspondiente deben apoyar la implementación logística del juzgado de paz. Según La Rosa (2007, p. 45), de acuerdo a las normas el financiamiento debería ser compartido entre los concejos municipales y la comunidad, para brindar los locales de funcionamiento, y el poder judicial que debe proporcionar los útiles como papel, mobiliario, máquina de escribir entre otros. Sin embargo esto sucede con poca frecuencia. 2.2.6. Recurso Tecnológico Por otro lado, Quevedo (2009) señaló que el desarrollo tecnológico en las organizaciones está incorporado en la cadena de valor y se realiza de manera sistemática mediante procesos, con el objetivo de cumplir las operaciones que están en la gestión tecnológica. Morin (1992) amalgama las nociones de recursos y tecnología, y propone una definición de recursos tecnológicos como el conjunto de medios materiales e inmateriales que la empresa dispone y/o a los que pudiera acceder para el diseño, fabricación, comercialización de sus productos y/o servicios, uso de la información y la gestión de todas las funciones que contribuyen a la concreción de sus actividades. (p. 12) 2.3. MARCO REFERENCIAL 2.3.1. Sistema Web Pressman, Roger (2014) En su libro "Ingeniería de Software", Pressman define un sistema web como "una aplicación de software que se accede y se usa a través de una red, como Internet o una intranet". Enfatiza en la naturaleza distribuida de los sistemas web, donde los componentes se encuentran alojados en diferentes servidores y se comunican a través de protocolos de red. 18 Larman, Craig (2004) En su libro "Advancing Agile", Larman ofrece una definición más amplia de los sistemas web, considerándolos como "sistemas software que se ejecutan en servidores y se entregan a usuarios finales a través de una variedad de dispositivos, incluyendo navegadores web, teléfonos móviles y dispositivos portátiles". Esta definición abarca la naturaleza multiplataforma de los sistemas web y su capacidad para adaptarse a diferentes interfaces. a. Aplicaciones Web Seoane (2005) Las aplicaciones web son programas que se ejecutan en un navegador web y se dividen en tres capas: cliente, servidor de lógica del negocio y servidor de base de datos. El cliente se encarga de la interfaz de usuario, el servidor de lógica del negocio procesa los datos y el servidor de base de datos almacena los datos. Luján (2001), Las aplicaciones web son aplicaciones cliente-servidor que se ejecutan en un navegador web. El navegador web y el servidor web utilizan un protocolo estandarizado, el HTTP, para comunicarse. Figura 1 Esquema básico de una aplicación web Fuente: (Mora, M 2002). b. Protocolo HTTP El protocolo HTTP es un protocolo cliente-servidor que se utiliza para transferir datos entre un navegador web y un servidor web. El navegador web envía una solicitud al servidor web, que responde con los datos solicitados. (Salavert, 2003, p. 142). El protocolo HTTP es un protocolo de comunicación que se utiliza para transferir datos entre sistemas heterogéneos en Internet. Forma parte de la familia de protocolos TCP/IP, que permite la comunicación entre ordenadores de diferentes tipos y sistemas operativos. (Luján, 2001, p.8). c. Protocolo TCP/IP Acón, Trujillo y Guido (2011) Define el protocolo TCP/IP es un conjunto de protocolos que permite la comunicación entre ordenadores en Internet. Está compuesto por dos protocolos principales: TCP, que garantiza la entrega fiable de datos, e IP, que identifica a los ordenadores y establece las rutas de comunicación. El protocolo TCP/IP es un conjunto de protocolos que permite la comunicación entre 19 ordenadores en Internet. El protocolo IP especifica el formato de los paquetes que se envían y reciben entre los routers y los sistemas terminales. El protocolo TCP garantiza la entrega fiable de los datos. (Mora, 2002). “IP y TCP son protocolos de red que permiten la comunicación entre dos puntos. IP se encarga de la entrega de los datos a la red adecuada, mientras que TCP garantiza que los datos se transmitan de forma fiable, en el orden correcto y sin errores.” (Barceló, 2004, 71). 2.3.2. Programación Extrema (XP) Según Pressman (2010) define es un procedimiento sistemático para el desarrollo de software. Centra en las relaciones entre los empleados y los clientes. Es especialmente útil para empresas que están comenzando o que están pasando por cambios, ya que ayuda a mejorar la comunicación y la colaboración. Se basa en cuatro principios clave trabajo en equipo: enfatiza el trabajo en equipo y la colaboración entre todos los miembros del equipo de desarrollo. Revisión continua: requiere que el equipo de desarrollo reciba comentarios del cliente de manera regular. Refinamiento incremental: divide el desarrollo del software en iteraciones cortas e incrementales. Simplicidad: promueve la simplicidad y la claridad en el diseño del software. La programación extrema, también conocida como XP, es un enfoque de desarrollo de software que se centra en la colaboración, la simplicidad y la calidad. XP se basa en ciclos de retroalimentación rápidos e iteraciones cortas para garantizar que el software sea lo que los clientes necesitan y que se pueda entregar rápidamente. (Kendall & Kendall, 2005, p. 165). Para Sommerville (2005), es una metodología ágil de desarrollo de software que se centra en la comunicación, la colaboración y la retroalimentación continua. Se basa en los siguientes principios: el desarrollo se divide en iteraciones cortas, cada una de las cuales produce una versión funcional del software. El cliente participa activamente en el desarrollo del software, proporcionando retroalimentación regular. Utiliza las siguientes prácticas. Escenarios de usuario: Los requisitos se expresan como escenarios de usuario, que describen lo que el software debe hacer parejas de programación: Los programadores trabajan en parejas para mejorar la comunicación y la colaboración. Pruebas unitarias: Las pruebas se desarrollan antes de escribir el código para garantizar que el software funcione correctamente. Es una metodología adecuada para proyectos de software con requisitos cambiantes o con clientes que tienen un papel activo en el desarrollo. Figura 2 Ciclo de entrega en la programación extrema Fuente: Sommerville (2005). 20 2.3.3. Actividades Básicas de XP Según Kendall, K. E., & Kendall, J. E. (2005), La programación extrema se basa en cuatro actividades básicas: codificar, probar, escuchar y diseñar. El codificar es el proceso de escribir el código fuente del software. Probar es el proceso de verificar que el software cumpla con sus requisitos. Escuchar es el proceso de recopilar información del cliente y otros interesados. Diseñar es el proceso de crear un plan para el software. Estas actividades se realizan en ciclos cortos e iterativos, lo que permite al equipo de desarrollo obtener retroalimentación rápida y ajustar el software según sea necesario. 2.3.4. Variables De Control De Recursos De XP La programación extrema requiere de recursos para realizar sus actividades básicas. Estos recursos pueden ser ajustados para completar el proyecto antes de una fecha límite. Las cuatro variables de control que se pueden ajustar son tiempo, costo, calidad y alcance. Cuando estas variables se incluyen adecuadamente en la planeación, se logra un equilibrio entre los recursos y las actividades necesarias para completar el proyecto. (Kendall, K. E., & Kendall, J. E, p. 170). 2.3.5. Valores de la Programación Extrema Según Kendall, K. E., & Kendall, J. E. (2005), La programación extrema (XP) se basa en cuatro valores: comunicación, simplicidad, retroalimentación y valentía. La comunicación es fundamental, ya que los miembros del equipo deben trabajar juntos para comprender los requisitos del cliente y solucionar problemas. Las prácticas de XP, como la programación en parejas y las pruebas del software, están diseñadas para apoyar estos valores. Un instructor de XP puede ayudar a los equipos si hay problemas de comunicación y para ayudar a resolverlos. a. Comunicación La comunicación es esencial para el éxito de cualquier proyecto de software. Los equipos de XP se comunican de manera efectiva entre sí, con los clientes y con las partes interesadas. b. Simpleza El software debe ser lo más simple posible. Esto facilita su comprensión, mantenimiento y evolución. c. Retroalimentación La retroalimentación debe ser rápida y constante. Esto permite a los equipos de XP identificar y corregir los problemas rápidamente. d. Valentía Los equipos de XP deben ser valientes para tomar riesgos y probar cosas nuevas. Esto les permite aprender y mejorar continuamente. 2.3.6. Principios Básicos De XP De acuerdo con Kendall y Kendall (2005), Los cuatro valores de XP (comunicación, simplicidad, retroalimentación y valentía) se traducen en cinco principios básicos: para guiar al analista de sistemas a través de un proyecto de XP exitoso (Retroalimentación rápida, sencillez, cambios progresivos, aceptación del cambio, trabajo de calidad). 21 Figura 3 Principios XP Fuente: Kendall, K., Kendall, J., 2005 a. La Retroalimentación Rápida Los equipos de XP reciben retroalimentación del cliente de forma regular, lo que les permite ajustar el software según sea necesario. b. Adoptar la Sencillez La programación extrema se basa en la premisa de que la simplicidad es la clave del éxito. Los programadores deben centrarse en soluciones simples que se puedan ampliar más adelante. c. Cambiar Progresivamente La metodología ágil XP se basa en el cambio incremental. Los desarrolladores deben realizar cambios pequeños y graduales al código, el equipo y los requisitos del negocio. Estos cambios se realizan de forma progresiva, incluso después de que el producto se ha liberado. d. Aceptar el Cambio En XP, se acepta el cambio como una oportunidad para mejorar el producto. Para aprovechar el cambio, los equipos de XP deben ser flexibles y adaptables. Esto significa estar dispuestos a cambiar los planes y los procesos según sea necesario. Los equipos de XP también deben ser capaces de seguir adelante. Esto significa mantener el enfoque en el objetivo final, incluso cuando se producen cambios. e. Trabajo de Calidad Los equipos de XP se centran en crear software de alta calidad, que satisfaga las necesidades del cliente y sea fiable. 2.3.7. Prácticas de la Programación Extrema La programación extrema implica varias prácticas, resumidas en la siguiente tabla 1 que se ajustan a los principios de los métodos ágiles: 22 Tabla 1 Prácticas de programación extrema PRINCIPIO O PRÁCTICA DESCRIPCIÓN Planificación incremental Los requisitos del software se documentan en tarjetas de historias, que se priorizan según su importancia y viabilidad. Las historias que se incluirán en una entrega se determinan en función del tiempo disponible y de la prioridad relativa. Los desarrolladores dividen estas historias en tareas de desarrollo más pequeñas y manejables. Entregas pequeñas El desarrollo de software se centra en crear el conjunto mínimo de funcionalidad que proporcione valor al cliente lo antes posible. Las entregas del sistema se realizan con frecuencia, añadiendo funcionalidad a cada entrega. Diseño sencillo Se diseña sólo lo que es necesario para satisfacer las necesidades actuales. Desarrollo previamente probado Se utiliza un sistema de pruebas de unidad automatizado para escribir pruebas para nuevas funcionalidades antes de que éstas se implementen. Refactorización Los desarrolladores deben refactorizar el código de forma continua para mejorar su legibilidad, mantenibilidad y flexibilidad. Programación en parejas Los desarrolladores trabajan en colaboración, revisando y ayudandose mutuamente para garantizar la calidad del código. Propiedad colectiva Los desarrolladores trabajan en todas las áreas del sistema para evitar la especialización y fomentar la propiedad compartida del código. Esto permite que cualquier desarrollador pueda realizar cambios en cualquier parte del sistema. Integración continua El código nuevo se integra en el sistema de forma frecuente para detectar errores lo antes posible. Las pruebas de unidad se ejecutan después de cada integración para garantizar la calidad del código. Ritmo sostenible Las horas extras excesivas no son recomendables, ya que pueden tener un impacto negativo en la calidad del código y la productividad a largo plazo 23 Cliente presente En la programación extrema, el cliente es un miembro activo del equipo de desarrollo. Debe estar disponible a tiempo completo para proporcionar al equipo información sobre los requisitos del sistema y para proporcionar comentarios sobre el progreso del desarrollo. Fuente: Sommerville (2005). 2.3.8. Roles en el Proceso de Desarrollo de XP Según Kendall, K. y Kendall, J. (2005), La programación extrema (XP) es un enfoque flexible para el desarrollo de software que se centra en la colaboración entre los miembros del equipo, la comunicación fluida y la simplicidad. Los proyectos de xp se dividen en ciclos cortos de desarrollo, llamados iteraciones. Al final de cada iteración, se entrega un producto funcional al cliente. Hay siete roles principales: el programador es responsable de escribir el código. El cliente es la persona o el equipo que necesita el software. El probador es responsable de probar el software para asegurarse de que funciona correctamente. El rastreador es responsable de mantener el seguimiento del progreso del proyecto. El entrenador es responsable de ayudar al equipo a aprender y aplicar las prácticas de xp. Consultor: el consultor es un experto en xp que puede proporcionar orientación al equipo. En algunos proyectos, una persona puede desempeñar varios roles. Por ejemplo, un programador también puede ser probador. En xp, el equipo de desarrollo es autosuficiente y se encarga de todo el trabajo necesario para desarrollar y mantener el software. Trabajan juntos en un entorno colaborativo para crear software de alta calidad que satisfaga las necesidades del cliente. Figura 4 Los roles en el proceso de desarrollo de XP Fuente: Kendall, K., Kendall, J., 2005. 24 2.3.9. Ciclo de Vida Ideal de un Proyecto XP Según Kendall, K. y Kendall, J. (2005), Los proyectos de XP se basan en dos conceptos fundamentales: la interactividad y la incrementalidad. Los desarrolladores trabajan en estrecha colaboración con los clientes para comprender sus necesidades y entregarles software que cumpla con sus expectativas. El desarrollo se lleva a cabo en iteraciones cortas, lo que permite a los clientes ver el progreso del proyecto de forma regular y proporcionar comentarios. El proceso de XP se divide en cinco etapas: Exploración, Planificación, Iteraciones a la primera versión, Puesta en producción, Mantenimiento. Figura 5 Etapas del proceso de desarrollo para un proyecto XP Fuente: Kendall, K., Kendall, J., 2005. a. Exploración En la programación extrema es un período de investigación y planificación. Durante esta etapa, el equipo de desarrollo se familiariza con el entorno, el problema a resolver y las tecnologías disponibles. También comienza a construir relaciones con el cliente y a desarrollar una comprensión de las necesidades del cliente. Las tareas principales de la etapa de exploración son: Investigar el entorno: El equipo de desarrollo debe comprender el entorno en el que se implementará el software. Esto incluye comprender los requisitos del negocio, los usuarios del software y las tecnologías disponibles. Construir relaciones con el cliente: El equipo de desarrollo debe establecer una relación sólida con el cliente. Esto ayudará a garantizar que el software satisfaga las necesidades del cliente. Desarrollar un plan de desarrollo: El equipo de desarrollo debe desarrollar un plan de desarrollo que defina el alcance del software, el cronograma y el presupuesto. 25 Tabla 2 Fase de exploración TAREA ARTEFACTO TÉCNICA RESPONSABLES Escribir historias de usuario Historia de usuario Identificar los requisitos funcionales y no funcionales del software. Establecer un orden de prioridad para las partes de la historia. Cliente Probar las tecnologías a utilizar Lista de tecnologías a utilizar Identificar tecnologías viables, evaluar su rendimiento y seleccionar las mejores. Programador Entrenador Establecer arquitectura técnica inicial Arquitectura técnica inicial Definir la estructura y los componentes de la arquitectura técnica. Programador Entrenador Estimar esfuerzo para historia de usuario Plan de alto nivel Analizar la historia de usuario y estimar su esfuerzo de desarrollo. Programador Fuente: Creado por autor b. Planeación (Parker, 2020). En esta etapa, el equipo de desarrollo y el cliente se reúnen para establecer un cronograma para el desarrollo del software. El cronograma se basa en la urgencia de los problemas del cliente y en la información recopilada durante la etapa de exploración. Si las actividades de Si la etapa de exploración proporcionó la información necesaria, esta etapa puede ser corta. Sin embargo, si se necesitan más información o si el cliente tiene requisitos cambiantes, la planeación puede ser más prolongada. A partir de la información citada y de otras fuentes, se presenta un resumen de la siguientetabla, que incluye las tareas, los artefactos, la técnica y los responsables del desarrollo. 26 Tabla 3 Fase de planeación TAREA ARTEFACTO TÉCNICA RESPONSABLES Establecer prioridad de historias de usuario Historias de Usuario por prioridad Clasificar las historias de usuario según su contribución al éxito del negocio. Cliente Estimar esfuerzo para las historias de usuario Estimación de esfuerzo Evaluar el trabajo necesario para completar cada historia de usuario, incluyendo la planificación, el diseño, la implementación y las pruebas. Programador Elaborar el plan de entrega Plan de versión Determinar las fechas de entrega de cada tarea o hito del plan de entrega. Programador Fuente: Creado por autor c. Iteraciones a la Primera Versión Beck, K., Beedle, M. (2001) En la tercera etapa del proceso de desarrollo de XP, el equipo de desarrollo comienza a implementar las historias de usuario. Estas iteraciones, que duran aproximadamente tres semanas, consisten en un proceso iterativo de desarrollo, pruebas y retroalimentación. Durante esta etapa, el equipo de desarrollo también debe desarrollar la arquitectura del sistema y realizar pruebas funcionales del software. Además, es importante revisar las fechas programadas y el trabajo pendiente para asegurarse de que el proyecto está progresando según lo previsto. Al final de cada iteración, el equipo de desarrollo debe celebrar una pequeña ceremonia con el cliente y los desarrolladores para reconocer sus logros. Esta celebración es importante para motivar al equipo y mantener su entusiasmo. A partir de la información citada y de otras fuentes, se presenta un resumen de la siguiente tabla, que incluye las tareas, los artefactos, la técnica y los responsables del desarrollo. Tabla 4 Fase de iteración a la primera versión TAREA ARTEFACTO TÉCNICA RESPONSABLES Definir la arquitectura técnica Arquitectura técnica Alinear la arquitectura técnica con los objetivos del negocio. Considerar las necesidades del negocio al diseñar el sistema. Cliente Programador Entrenador 27 Arquitectura por capas y frameworks Escribir tareas de ingeniería Tarea de ingeniería Convertir las historias de usuario en tareas de ingeniería que cumplan con los requisitos del negocio. Cliente programador Formular el plan de iteraciones Plan de iteración Estimar el tiempo y los recursos necesarios para completar una tarea de ingeniería y asignarlos a un período de desarrollo definido. Programador Asignar a un programador para realizar una tarea de ingeniería. Utilizar el plan de iteraciones en el plan de versión. Incorporar las tareas de ingeniería de la siguiente iteración al plan. Actualizar los criterios de aceptación de las pruebas Actualizar las tareas no concluidas al plan de iteraciones. Actualizar las tareas de ingeniería según el plan de iteraciones. Entrenador Programador Crear pruebas de aceptación Caso de prueba de aceptación En cada iteración, el equipo de desarrollo debe crear pruebas que verifiquen que cada historia de usuario cumple con los requisitos del cliente. Cliente Encargado de pruebas 28 Implementar las interfaces GUI Crear una interfaz gráfica de usuario (GUI) que satisfaga las necesidades de cada historia de usuario, utilizando una herramienta de desarrollo de software. Cliente Programador Escribir tarjetas CRC para cada tarea de ingeniería Tarjeta CRC Elaborar un plan sencillo para la implementación de una actividad que requiere conocimientos y habilidades de ingeniería. Modificar una tarea debido a que la prueba de aceptación no fue exitosa. Delinear las funciones y los roles. Comprender el trabajo en equipo. Determinar las características. Cliente Programador Implementar la base de datos física Base de datos física Desarrollar código usando tarjeta (CRC) y Implementarlo en un sistema de gestión de bases de datos. (DBMS). Programador Implementar código para clases entidad Código fuente Crear el código fuente de forma manual o automática mediante una herramienta basada en tarjetas. CRC. Programador Crear Pruebas unitarias para las clases control Prueba unitaria Se escribe el código de la prueba, se genera un archivo de prueba y se ejecuta la prueba. Programador Implementar código fuente Código fuente Elaborar y llevar a cabo un proyecto de ingeniería. Hacer que el código sea más fácil de entender y mantener. Programador Supervisor 29 Asignar recursos humanos a tareas específicas. Ejecutar pruebas unitarias Reporte de prueba unitaria Ejecutar cada prueba unitaria y realizar los cambios necesarios en el código fuente si la prueba falla. Programador Realizar integración continua Código fuente Agrupar tareas de una historia de usuario puede ayudar a mantener el sistema unido. Programador Ejecutar pruebas de integración para una historia de usuario Reporte pruebas de integración El código de las historias de usuario se integra y prueba de forma continúa para detectar errores lo antes posible. Programador Ejecutar pruebas de aceptación Reporte de pruebas de aceptación Verificar que la última versión de una iteración cumple los requisitos del cliente mediante pruebas de aceptación. Cliente Encargado de pruebas Fuente: Creado por autor d. Puesta en Producción Beck, K., Beedle, M. (2001) La etapa de liberación es la última fase del proceso de desarrollo de XP. En esta etapa, el equipo se centra en completar el producto y ponerlo en producción. La retroalimentación se acelera para garantizar la calidad. Las revisiones semanales y las reuniones diarias ayudan a detectar errores. El producto se libera, pero se puede mejorar con nuevas características. La puesta en producción de un sistema es un hito importante que debe celebrarse para reconocer el esfuerzo del equipo. XP promueve el desarrollo de software divertido y gratificante. Esto ayuda a mantener la motivación del equipo y a garantizar que el producto sea de alta calidad. 30 Tabla 5 Fase de puesta en producción Fuente: Creado por autor. e. Mantenimiento (Beck, 2000, p. 135). El mantenimiento es la etapa final del ciclo de vida del software en la programación extrema. Se trata de un proceso continuo que implica la corrección de errores, la incorporación de nuevas características y la adaptación del sistema a los cambios en los requisitos del cliente.La actitud que se debe tomar en esta etapa es más conservadora que en las etapas anteriores. El objetivo es mantener el sistema funcionando correctamente, no experimentar con nuevas ideas. 2.3.10. Artefactos de la Programación Extrema a. Historias de Usuario Según Beck, K. (2000), Las historias de usuario son una técnica utilizada en XP para especificar los requisitos del software. Se describen en tarjetas de papel y pueden ser requisitos funcionales o no funcionales. Pueden ser modificadas o reemplazadas en cualquier momento. Las historias de usuario deben ser de tamaño manejable y fácil de entender para que los programadores puedan implementarlas en un plazo breve. Según Wake (2000), Las historias de usuario son una forma de describir los requisitos de un sistema de software desde la perspectiva usuario. Son similares a los casos de uso, pero se centran en lo que Usuario registrado quiere hacer, en lugar de cómo lo quiere hacer. Las historias de usuario se utilizan para estimar el tiempo y los esfuerzos necesarios para desarrollar el sistema. También se utilizan para crear pruebas de aceptación, que verifican que el sistema satisfaga las necesidades usuario. Las historias de usuario se escriben en un formato sencillo y fácil de entender, y suelen consistir en tres frases. El cliente debe escribir las historias de usuario, ya que son las personas que mejor conocen sus necesidades. Los cambios en las historias de usuario son bienvenidos, ya que reflejan la evolución de las necesidades usuario. En el desarrollo de software ágil, las historias de usuario son una forma de describir los requisitos del sistema desde la perspectiva usuario. Cada historia de usuario es una descripción breve de una función o característica del sistema. El análisis de las historias de usuario es un proceso continuo que se lleva a cabo a lo largo del desarrollo del software. Este análisis ayuda a garantizar que las historias de usuario sean claras y comprensibles tanto para el cliente como para los desarrolladores. Ron, R., Ann, A., & Chet, C. (2000). TAREA ARTEFACTO TÉCNICA RESPONSABLES Realizar pruebas adicionales Informe sobre pruebas adicionales y de rendimiento Verificar que la última versión de la aplicación funciona correctamente. Cliente 31 Tabla 6 Plantilla historia de usuario HISTORIA DE USUARIO Número: Nombre: Usuario: Modificación de historia Nº: Iteración asignada: Prioridad en negocio: (Alta/Media/Baja) Riesgo en Desarrollo: (Alto/Medio/Bajo) Descripción: Observaciones: Fuente: Priolo, A. (2007) Según Cohn (2004). La descripción de una historia de usuario es un resumen claro y conciso de lo que un usuario final quiere lograr., desde su perspectiva. Se compone de tres partes: El rol usuario ¿Quién es la persona que necesita esta función? La función del sistema: ¿Qué puede hacer el sistema para ayudar al usuario? El valor de negocio: ¿Qué beneficio obtiene Usuario registrado al utilizar la función? una historia de usuario útil debe ser: ● Independiente: Una historia de usuario debe ser independiente de otras historias de usuario. ● Negociable: Las historias de usuario deben ser flexibles y abiertas a la negociación. Esto permite que el equipo de desarrollo y Usuario registrado trabajen juntos para garantizar que las historias de usuario satisfagan las necesidades de todos. ● Valiosa: Las historias de usuario deben proporcionar un valor claro para Usuario registrado y el negocio. Esto ayuda a garantizar que el desarrollo del software sea eficiente y eficaz. ● Estimable: La funcionalidad descrita debe ser lo suficientemente pequeña como para que un desarrollador pueda estimar su tiempo y esfuerzo de implementación. ● Pequeña: Las historias de usuario deben ser pequeñas y fáciles de entender. Esto facilita la comunicación entre el equipo de desarrollo y Usuario registrado. ● Testeable: Las funcionalidades deben ser probadas para garantizar que estén completas y funcionen correctamente. b. Tareas de Ingeniería Según Ron, A., Ann, A., & Chet, C. (2000). Son una herramienta utilizada en el desarrollo de software para describir el trabajo que se debe realizar para completar una historia de usuario. Estas tareas se especifican con una fecha de inicio y fin, el programador 32 responsable de realizarlas y una descripción de lo que se debe hacer. Las tareas de ingeniería son fundamentales para el desarrollo de software ágil, ya que ayudan a garantizar que el trabajo se complete de manera eficiente y eficaz. Ya que permiten planificar y estimar el trabajo de manera precisa. También ayudan a garantizar que el trabajo se complete a tiempo y dentro del presupuesto. Las tareas de ingeniería pueden clasificarse según su objetivo, como diseñar, desarrollar, corregir o mejorar el software. Tabla 7 Plantilla tareas de ingeniería TAREA DE INGENIERÍA Número de tarea: Número de historia de usuario: Nombre de tarea: Tipo de tarea: Puntos estimados: Fecha de inicio: Fecha fin: Programador responsable: Descripción: Fuente: Priolo, 2007. c. Tarjetas CRC Según Castillo, A. (2010). Las tarjetas CRC se utilizan para representar objetos y sus responsabilidades. La clase a la que pertenece el objeto se escribe en la parte superior de la tarjeta. Las responsabilidades u objetivos del objeto se colocan en la columna de la izquierda, y las clases colaboradoras se colocan en la columna de la derecha. Las tarjetas CRC ayudan a los programadores a comprender y comunicar el comportamiento de los objetos, así como a identificar sus dependencias. Tabla 8 Plantilla tarjeta CRC TARJETA CRC Número: Escenario: Nombre CRC: 33 Responsabilidades Colaboradores Atributos Observaciones Fuente: Priolo, A. (2007) d. Pruebas en XP Según Marchesi et al. (2002) La programación extrema (XP) es una metodología ágil de desarrollo de software que se basa en los valores de comunicación, simplicidad, feedback, coraje y respeto. Estos valores se reflejan en los cuatro tipos de pruebas que se utilizan en los proyectos XP: Pruebas unitarias, Pruebas de integración, Pruebas de sistema, Pruebas de aceptación. Pruebas de aceptación Según Marchesi et al. (2002) son pruebas que realizan los clientes para verificar que un sistema cumple con sus requisitos. En el desarrollo ágil, las pruebas de aceptación se basan en las historias de usuario, que describen los requisitos del cliente desde su perspectiva. El cliente especifica los escenarios de prueba que se utilizarán para verificar que cada historia de usuario se ha implementado correctamente. Las pruebas de aceptación se consideran pruebas de caja negra, ya que no requieren conocimiento del código interno del sistema. Se realizan interactuando con el sistema a través de su interfaz de usuario o API. El objetivo de las pruebas de aceptación es garantizar que el sistema sea funcional y cumpla con las expectativas del cliente. Marchesi et al. (2002) señalan que se realizan en cada iteración del desarrollo para verificar la funcionalidad que se implementa en esa iteración. Las pruebas de aceptación se consideran un éxito cuando todas las historias de usuario pasan las pruebas. Los resultados de las pruebas se deben publicar para que todo el equipo esté al tanto de su progreso. Tabla 9 Plantilla pruebas de aceptación PRUEBA DE ACEPTACIÓN Caso de prueba: Número de prueba: Número historia de usuario: Nombre de caso de prueba: Descripción: Condiciones de ejecución: 34 Entradas: Resultados esperados: Evaluación: Fuente: Priolo, A. (2007) Pruebas Unitarias Marchesi et al. (2002) encontraron que las pruebas unitarias son una técnica de prueba de software que se utiliza para garantizar que los módulos individuales de un programa funcionen correctamente. Las pruebas unitarias se centran en el código interno de un programa, lo que significa que tienen acceso al código fuente del módulo que se está probando. Las pruebas unitarias se centran en la validación de pequeñas unidades de funcionalidad, aislando el módulo de las demás partes del sistema. Las pruebas unitarias se suelen escribir utilizando un marco de pruebas, como Jest. Los marcos de pruebas pueden ser útiles para crear pruebas unitarias simples, pero no pueden generar pruebas para todos los casos de uso. La regla 80-20 se aplica a las pruebas unitarias, lo que significa que las pruebas que toman el 80% del tiempo de desarrollo suelen ser las más difíciles de generar. En general, las pruebas unitarias son una herramienta valiosa para garantizar la calidad del software. Pruebas de Rendimiento Las pruebas de rendimiento evalúan el comportamiento de un sistema bajo carga. Pueden ser realizadas por desarrolladores o por el equipo de calidad de software. Los objetivos de las pruebas de rendimiento incluyen: Medir la velocidad y la capacidad de respuesta del sistema. Evaluar cómo el sistema maneja una carga pesada. Identificar los cuellos de botella de rendimiento. Las pruebas de rendimiento proporcionan información valiosa sobre el desempeño del sistema, lo que ayuda a garantizar que el sistema cumpla con los requisitos usuario. (Marchesi et al., 2002). Pruebas Manuales Las pruebas manuales son pruebas de software que se realizan sin la ayuda de herramientas automatizadas que se utiliza para probar la interfaz gráfica de usuario (GUI) de un sistema. Las pruebas manuales suelen realizarse haciendo clic en los elementos de la GUI y verificando que el sistema responde correctamente. Las pruebas manuales pueden ser realizadas por profesionales de la calidad de software o por los usuarios finales. (Marchesi et al., 2002). 2.3.11. Sistema Gestor de Base de Datos Un DBMS es una herramienta que ayuda a los usuarios a organizar y gestionar sus datos. Los DBMS proporcionan una serie de funciones para ayudar a los usuarios a crear, almacenar, acceder y actualizar sus datos. (Mannino, 2007). Es una herramienta que ayuda a las personas a organizar y gestionar grandes cantidades de datos. Una base de datos es una colección de datos relacionados entre sí. El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar datos de una base de datos de forma rápida y segura. (Silberschatz, Galvin, & Gagne, 2006). 35 Un sistema de administración de bases de datos (DBMS) es un software que ayuda a las organizaciones a organizar, gestionar y acceder a los datos de manera eficiente. El DBMS proporciona las siguientes funciones: almacenamiento de datos, acceso a datos, administración de datos. (Silberschatz, Korth, & Sudarshan, 2012, p. 2). 2.3.12. Metodología Ágil Las metodologías de software son guías para crear software de forma efectiva Las metodologías de software se basan en el desarrollo iterativo e incremental, lo que significa que el software se desarrolla en ciclos cortos y repetitivos. En cada ciclo, se recopilan requisitos, se diseña y se implementa una nueva funcionalidad, y se prueba el software. Los requisitos y las soluciones pueden evolucionar durante el proceso de desarrollo, según las necesidades del proyecto. Las metodologías de software pueden ayudar a los equipos de desarrollo a entregar software de alta calidad en tiempo y dentro del presupuesto. (Arreola, 2018). Somerville (2020) afirma los métodos ágiles de desarrollo de software se basan en la entrega de software de forma incremental e iterativa. En lugar de desarrollar todo el software de una sola vez, los métodos ágiles dividen el desarrollo en pequeñas fases, llamadas iteraciones. Cada iteración se centra en la implementación de una pequeña cantidad de características del producto. El desarrollo incremental permite a los equipos de desarrollo entregar software de forma rápida y frecuente al cliente. Esto permite al cliente obtener comentarios tempranos sobre el software y realizar cambios según sea necesario. Los métodos ágiles son adecuados para el desarrollo de software porque los productos de software suelen ser sistemas independientes. Esto significa que las características del producto pueden desarrollarse de forma independiente y en cualquier orden. Además, los equipos de desarrollo de software suelen estar co-ubicados. Esto facilita la comunicación informal entre los miembros del equipo y la colaboración en el desarrollo de las características del producto. 2.3.13. Lenguaje de Programación Multiparadigma Permiten a los programadores combinar diferentes enfoques para resolver problemas. Cada paradigma tiene su propia visión del problema y su propio estilo de programación. Los problemas del mundo real suelen ser complejos y requieren un enfoque multidisciplinario. Por ello, los lenguajes de programación multiparadigma son cada vez más populares. (Hofstedt, 2011). Dice Suehring, S. (2013), JavaScript y Java son dos lenguajes de programación diferentes. JavaScript es un lenguaje de scripting que se ejecuta en el navegador web, mientras que Java es un lenguaje de programación compilado que se puede ejecutar en cualquier plataforma. JavaScript es una implementación de la especificación ECMAScript. ECMAScript es una especificación técnica que define el lenguaje JavaScript. Dice Freeman & Robson (2014) JavaScript es un lenguaje de programación único en el mundo de la programación. A diferencia de otros lenguajes de programación, JavaScript no requiere compilación ni enlace. En lugar de ello, el código JavaScript se escribe directamente en el navegador y se ejecuta de inmediato. Esto hace un que JavaScript sea un lenguaje de programación muy flexible y fácil de usar. 36 2.3.14. Arquitectura de Software Según Garlan y Shaw (1994), la arquitectura de software es el diseño global de un sistema de software. La arquitectura de software va más allá de los algoritmos y estructuras de datos, y se ocupa de cuestiones como: La organización de los componentes del sistema. Las relaciones entre los componentes. Los patrones de comunicación entre los componentes. La arquitectura de software es un nuevo tipo de problema porque requiere un enfoque holístico que considere el sistema en su conjunto. La arquitectura de software es la estructura de un sistema, que define los componentes y las relaciones entre ellos. Los componentes son las partes individuales del sistema, y las relaciones son las interacciones entre ellos. La arquitectura de software proporciona una visión general del sistema, y ayuda a los desarrolladores a comprender cómo funciona y cómo se puede modificar. (Bass, Clemets y Kazman, 2003, p. 11). 37 CAPÍTULO III MATERIALES Y MÉTODOS 3.1. TIPO Y NIVEL DE LA INVESTIGACIÓN 3.1.1. Tipo de Investigación La investigación observacional implica la observación sistemática y detallada de eventos, comportamientos o fenómenos en su entorno natural, sin intervención ni manipulación activa por parte del investigador (Fraenkel & Wallen, 2006). La investigación es observacional porque no se modifica la gestión de recursos ni las variables descriptivas. Solo se observa cómo se comportan estas variables en su estado natural, para levantar los datos que definan los requerimientos de la aplicación web. Según Bastidas (2009), la investigación prospectiva "representa una habilidad para tomar decisiones relevantes que permiten determinar futuros posibles". Se ha recopilado información para definir los requisitos de las historias de usuario relacionadas con la gestión de recurso humano, financiero, material y tecnológico, mediante entrevistas. La investigación transversal se realiza en un solo momento en el tiempo. En este tipo de investigación, los investigadores recopilan datos sobre las variables de interés de una muestra de población, sin manipular el entorno de estudio. (Hernández Sampieri, Fernández Collado, & Baptista Lucio, 2020, p. 265). En el estudio, se realizó la entrevista al responsable de ODAJUP y jueces de paz en un momento único, en relación con el recurso humano, financiero, material y tecnológico, mediante entrevistas en un solo momento. Dankhe, N. (1986), Los estudios descriptivos buscan caracterizar un fenómeno en su estado actual. Para ello, recopilan datos sobre las propiedades o características del fenómeno, como su frecuencia, distribución, intensidad o relación con otras variables. El estudio es descriptivo porque se ha sometido a análisis los requerimientos de información para los jueces de paz. 3.1.2. Nivel de Investigación En el nivel de investigación descriptivo se centra en la descripción de las características de un objeto o fenómeno. Para ello, selecciona las características fundamentales del objeto de estudio y las describe de forma detallada, identificando sus partes, categorías o clases. Así como, desarrollar prototipos (Bernal, 2010). El estudio es descriptivo, ya que se desarrolló un prototipo de aplicación web para comprender mejor el proceso de gestión de recursos, mediante la automatización de las historias de usuario de los Juzgados de Paz del Distrito Judicial de Ayacucho. 3.2. DISEÑO DE LA INVESTIGACIÓN Los diseños de investigación no experimental son aquellos en los que los investigadores no manipulan las variables de interés. En estos diseños, los investigadores observan las variables tal como se presentan en la realidad. (Hernández Sampieri, Fernández Collado, & 38 Baptista Lucio, 2020, p. 265). No se ha manipulado la variable de interés gestión de recursos, entonces la investigación es de nivel descriptivo. El diseño de investigación prospectivo es un tipo de diseño de investigación observacional en el que los investigadores recopilan datos sobre una variable de interés antes de que se produzca un evento o condición. (Hernández Sampieri, Fernández Collado, & Baptista Lucio, 2020, p. 267). El estudio es de diseño prospectivo, porque se ha recopilado datos para las variables descriptivas del presente estudio. El diseño de la investigación transversal es un tipo de diseño de investigación observacional en el que los investigadores recopilan datos sobre una variable de interés en un solo momento en el tiempo. (Hernández Sampieri, Fernández Collado, & Baptista Lucio, 2020, p. 266). El estudio es de diseño transversal porque se ha recopilado datos en un solo momento, mediante entrevistas. 3.3. POBLACIÓN Y MUESTRA 3.3.1. Población "Es el conjunto de todos los individuos o elementos de un universo que tienen una característica común o características comunes” (Hernández, Fernández, & Baptista, 2020, p. 163). La población estuvo compuesta por cinco procesos de recursos humanos, cinco procesos de recursos financieros, tres procesos de recursos materiales, tres procesos de recurso tecnológicos, de los Juzgados de Paz del Distrito Judicial de Ayacucho el año 2023. 3.3.2. Muestra La muestra es un subconjunto de la población que se utiliza para representar a toda la población en el estudio. El muestreo es un proceso estadístico que permite seleccionar un grupo de personas o cosas que representen a una población más grande (Hernández, Fernández, & Baptista, 2020, p. 155). El censo es un procedimiento estadístico que consiste en recopilar información sobre todas las unidades de una población. Es el método más completo para obtener información sobre una población, ya que permite conocer sus características de manera detallada y precisa (Hernández, Fernández, & Baptista, 2020, p. 156). No existe muestra, fue censo, porque se estudió; cinco procesos de recursos humanos, cinco procesos de recursos financieros, tres procesos de recursos materiales, tres procesos de recurso tecnológicos, de los Juzgados de Paz del Distrito Judicial de Ayacucho el año 2023. 3.4. VARIABLES 3.4.1. Definición Conceptual de Variables Variables de Interés Gestión de Recursos: se refiere al proceso de administración, planificación y uso de recursos disponibles en los juzgados de paz. Variables descriptivas Recurso Humano: se refiere a la terna de jueces de paz que se asigna a cada juzgado de paz. Recurso Financiero: se refiere a las tasas y aranceles que se pueden recibir al emitir 39 certificados notariales en los juzgados de paz. Recurso Material: se refiere al mobiliario asignado al juzgado de paz. Recurso Tecnológico: se refiere a los equipos de cómputo asignados al juzgado de paz. 3.4.2. Definición Operacional de Variables Variables descriptivas Recurso humano: Son las ternas de jueces de paz. Recurso financiero: Son documentos aranceles y certificados que tienen costos. Recurso material: Son mobiliarios asignados a los juzgados de paz. Recurso tecnológico: Son equipos de procesamiento de datos asignados a los juzgados de paz. 3.5. OPERACIONALIZACIÓN DE VARIABLES Tabla 10 Operacionalizacion de variables VARIABLE DIMENSIÓN INDICADOR PREGUNTA Gestión de recursos Recurso humano Terna de jueces de paz ¿Qué documento formaliza la designación de jueces de paz? ¿Cómo identifica usted que un juzgado de paz tiene terna de jueces asignadas? ¿Cómo identifica usted que un juzgado de paz no tiene terna de jueces asignadas? ¿Cómo identifica usted que juzgados de paz tienen terna de jueces asignadas próximas a vencer? ¿Con cuánto tiempo de anticipación se debe realizar la convocatoria de una nueva terna jueces de paz? Recurso material Mobiliario de Juzgado de paz ¿Cómo sabe usted con qué mobiliarios cuenta el juzgado de paz? ¿Qué tipo de mobiliario son útiles para el buen funcionamiento del juzgado de paz? 40 ¿Qué características es necesario saber para identificar el bien patrimonial del juzgado de paz? Recurso tecnológico Equipo de procesamiento de datos ¿Cómo sabe usted con qué equipo de procesamiento de datos cuenta el juzgado de paz? ¿Qué tipo de equipo de procesamiento de datos son útiles para el buen funcionamiento del juzgado de paz? ¿Qué características es necesario saber para identificar el equipo de procesamiento de datos del juzgado de paz? Recurso financiero Aranceles y certificados ¿Cómo obtiene el juez de paz los aranceles judiciales? ¿Cómo será el formato predefinido para la emisión de certificados? ¿Cómo verifica qué certificados se emitieron en el juzgado de paz? ¿Qué elementos visuales ayudan al juez de paz a prevenir errores en la emisión de certificados? ¿Cuáles son los formatos más usados para la emisión de certificados? ¿Cómo obtiene los aranceles judiciales para la emisión de certificados? Fuente: Creado por el autor. 41 3.6. TÉCNICAS E INSTRUMENTOS DE INVESTIGACIÓN 3.6.1. Técnicas "La entrevista es una técnica de recolección de datos en la que el investigador establece un diálogo con el entrevistado para obtener información sobre un tema determinado" (Hernández Sampieri et al., 2020, p. 200). Se aplicó la técnica de entrevista al responsable de la Oficina de apoyo a la justicia de paz y personal administrativo usuario de la aplicación web, para obtener información sobre las historias de usuario para automatizarla. 3.6.2. Instrumentos "La entrevista guía para su planificación es un método de investigación que consiste en una conversación entre el entrevistador y el entrevistado, con el fin de obtener información sobre un tema determinado" (Cruz, 2012, p. 11). Se aplicó el instrumento, guía de entrevista, al responsable de la Oficina de apoyo a la justicia de paz y, otra guía de entrevista para el personal administrativo usuario de la aplicación web, para recolectar información necesaria sobre las historias de usuario, para la gestión de los recursos de los Juzgados de paz del distrito judicial de Ayacucho; el instrumento se muestra en el anexo 2. 3.6.3. Validez del Instrumento La validez de un instrumento es la capacidad de medir lo que pretende medir. Se evalúa mediante la suma de la validez de contenido y la validez de criterio. La validez de contenido se refiere a la adecuación de los ítems del instrumento a las variables que se pretenden medir. Se puede evaluar mediante juicio de expertos, que valorarán si los ítems son relevantes, representativos y comprensibles. Hernández, R., Fernández, C., & Baptista, L. (2020) La validez de contenido de un instrumento se evalúa mediante la opinión de expertos en la materia, quienes analizan si las preguntas formuladas abarcan todas las dimensiones de las variables descriptivas recurso humano, recurso financiero, recurso material, recurso tecnológico, se representa los instrumentos en Anexo 3. 3.6.4. Confiabilidad del Instrumento No se determina la confiabilidad del instrumento porque es una guía de entrevista abierta. 3.7. PROCEDIMIENTOS 3.7.1. Técnicas de Procesamiento de Datos El procesamiento de datos es el proceso de convertir los datos brutos en información útil. Se utiliza una variedad de técnicas, como la programación extrema, para organizar, analizar y comprender los datos. (Hernández Sampieri et al. 2020). Tabla 11 Técnicas de procesamiento de datos FASE ARTEFACTO TÉCNICA Fase de exploración historial de usuario Como [Usuario], quiero [Acción], [Resultado] (Regla) - Divide historias grandes en reglas separadas. Arquitectura técnica inicial Configurar la arquitectura técnica desde cero. 42 Plan general Estimar esfuerzo de historia de usuario Planeación Historias de Usuario por prioridad Seleccionar historias de usuario que aporten mayor valor al negocio. Estimación de esfuerzo Estimar esfuerzo (semanas) por historia de usuario, considerando planificación, diseño, implementación y pruebas. Estrategia de lanzamiento Planificar el cronograma del plan de entrega. Fase de iteración la estructura física y lógica de un sistema informático, Actividades de diseño, construcción y mantenimiento de sistemas y estructuras, Plan de trabajo para un ciclo de desarrollo, Pruebas de funcionamiento, GUI, tarjetas CRC, base de datos física, Código que representa clase entidades, pruebas unitarias de codigo, código para tarea de ingeniería, Resultados de la verificación del comportamiento del código, Adaptar arquitectura a negocio Considerar negocio en diseño Organizar sistema por capas Integrar frameworks dividir historias en tareas Especificar tareas con reglas del negocio Calcular esfuerzo por tarea Asignar tareas a programadores Utilizar el plan de versión Actualizar el plan con tareas de ingeniería de la siguiente iteración Corregir errores de pruebas Agregar tareas pendientes Revisar y actualizar la información de las tarjetas de tarea de ingeniería Crear interfaz personalizada para cada usuario Generar código de interfaz con herramienta Simplificar diseño de tareas Rediseñar una tarea debido a que no 43 Pruebas de integración y de aceptación registradas. cumple con los requisitos Determinar quién es responsable de qué Desarrollar trabajo conjunto Describir características de clases Generar script con tarjeta CRC Ejecutar script con base de datos Generar código fuente automáticamente a partir de tarjetas CRC Generar prueba unitaria Desarrollar tareas de ingeniería Mejorar código Asignar tareas a programadores Probar código Corregir errores de código Unir tareas de historia de usuario Actualizar el sistema para obtener las últimas correcciones y mejoras. Integrar a medida que se completan las tareas Comprobar que los componentes funcionan juntos Probar la última versión de un desarrollo Probar la funcionalidad del software Fuente: Creado por el autor. 3.7.2. Herramientas para el Procesamiento de Datos "Las herramientas de procesamiento de datos son software o programas informáticos que automatizan las tareas de procesamiento de datos. Estas tareas pueden incluir la recopilación, el almacenamiento, la limpieza, el análisis y la visualización de datos." (Hernández Sampieri et al., 2020, p. 267). Instrumentos y software para transformar datos en información. 44 Tabla 12 Herramientas para el procesamiento de datos SOFTWARE FABRICANTE SERVICIO CSS 3 Hakon Wium Lie Es un lenguaje de diseño gráfico que permite definir y crear la presentación de un documento estructurado escrito en un lenguaje de marcado. DOCKER Apache License 2.0 Docker es un software que permite empaquetar y ejecutar aplicaciones de forma aislada en contenedores, lo que facilita su despliegue y administración en diferentes sistemas operativos ESLINT Nicholas C. Zakas Un depurador de JavaScript es un programa que ayuda a los desarrolladores a rastrear y solucionar problemas en su código JavaScript. GIT Software Libre Control de versiones diseñado para aplicaciones con gran cantidad de archivos fuente. GITHUB Ruby on Rails El servicio se utiliza principalmente para desarrollar software, pero también se puede utilizar para alojar documentos, sitios web y obras de arte digital. HTML 5 Tim Berners Lee HTML5 es la última versión del lenguaje de marcado básico de la web. Establece dos variantes de sintaxis para HTML. JAVASCRIPT Brendan Eich JavaScript es un lenguaje de programación que se traduce a código máquina en el momento de la ejecución. Esto significa que los programas escritos en JavaScript no necesitan ser compilados para ejecutarse. En cambio, se pueden ejecutar directamente por un intérprete. NODEJS Ryan Dahl Node.js es un entorno de desarrollo para crear aplicaciones web escalables, basado en el lenguaje de programación JavaScript. PRETTIER Open Source Formatea el código de forma estricta y coherente, siguiendo las reglas de estilo de una variedad de lenguajes y formatos. REACT Facebook, Inc. y Jordan Walke Es un conjunto de herramientas y funciones que se pueden utilizar para crear interfaces de usuario en Javascript. VISUAL MIT License Un editor de código fuente es una 45 STUDIO CODE herramienta que permite a los desarrolladores escribir, editar y depurar código informático. Visual Studio Code es un editor de código fuente desarrollado por Microsoft para Windows, Linux y macOS. NPM Isaac Z. Schlueter. NPM es un sistema de gestión de paquetes para Node.js. Permite a los desarrolladores instalar y administrar paquetes de código JavaScript. PostgreSQL Open Source Es un sistema de gestión de bases de datos relacional (SGBDR) de código abierto y gratuito. Fuente: Creado por el autor. 3.7.3. Técnicas de Análisis de Datos Las técnicas de análisis de datos son las herramientas que permiten transformar los datos brutos en información útil. Estas técnicas se utilizan para extraer significado de los datos, identificar patrones y tendencias, y generar conclusiones. (Hernández Sampieri et al., 2020, p. 268). Los datos obtenidos mediante la técnica de entrevista se analizaron y se procesaron mediante la programación extrema, para desarrollar la aplicación web, que apoye la gestión de recursos en los Juzgados de Paz del Distrito Judicial de Ayacucho. 46 CAPÍTULO IV ANÁLISIS Y RESULTADOS DE LA INVESTIGACIÓN 4.1. RESULTADOS 4.1.1. Artefactos del Software Aplicando el Proceso XP a. Fase de Exploración Siguiendo las instrucciones de la tabla 2 En la fase de exploración del proceso XP, descrito en el capítulo II, se recopilan las historias de usuario, se diseña la arquitectura técnica inicial y se crea un plan de alto nivel. Tabla 13 Historias de Usuario Nº HISTORIA DE USUARIO DESCRIPCIÓN 1 Administrar Usuarios del Sistema Usuario registrado Responsable de ODAJUP, registra, lista, actualiza y da de baja a los Usuarios del Sistema. 2 Administrar Juez de Paz Usuario registrado Responsable de ODAJUP, registra, busca, actualizar y habilita o deshabilita al Juez de Paz 3 Administrar Juzgado de Paz Usuario registrado Responsable de ODAJUP, registra, busca, actualiza el Juzgado de Paz. 4 Administrar Recurso Material y Tecnológico Usuario registrado Responsable de ODAJUP registra, lista, actualiza los Recurso Material y Tecnológico 5 Emitir Certificado Escritura pública de Transferencia de bienes inmuebles no registrables. Usuario registrado Juez de Paz lista, selecciona ingresa los datos en el Certificado Escritura pública de Transferencia de bienes inmuebles no registrables. 6 Asignar terna de jueces a juzgado Usuario registrado Responsable de ODAJUP Busca, registra la asigna a los Jueces de paz a los Juzgados. 7 Consultar Juzgados con ternas próximos a vencer Usuario registrado Responsable de ODAJUP puede visualizar los Juzgados de Paz que tienen terna asignada, así como las que no están asignadas. Además puede listar los juzgados que tienen ternas próximas a vencer en un determinado número de días que podrá asignar. 47 8 Iniciar sesión de jueces Usuario registrado Juez de paz inicia sesión con su nombre de usuario y clave con la cual accederá al sistema. 9 Iniciar sesión de administrador Usuario registrado Responsable de ODAJUP inicia sesión con su nombre de usuario y clave con la cual acceder al sistema. 10 Administrar cuadro de aranceles Usuario registrado Responsable de ODAJUP registra, lista, actualiza los aranceles judiciales. 11 Consultar Usuarios del Sistema Usuario registrado Responsable de ODAJUP busca por nombre y/o apellido y visualiza la lista de usuarios del sistema. 12 Consultar Jueces de Paz Usuario registrado Responsable de ODAJUP busca por nombre y/o apellido y visualiza la lista de los Jueces de Paz. 13 Consultar Juzgados de Paz Usuario registrado Responsable de ODAJUP busca por nombre y visualiza la lista de los Juzgados de Paz. 14 Consultar Recursos Materiales y Tecnológicos Usuario registrado Responsable de ODAJUP busca por nombre y/o código patrimonial y visualiza la lista de los Materiales y Tecnológicos. 15 Consultar Juzgados con y sin ternas Asignadas Usuario registrado Responsable de ODAJUP busca por nombre de Juzgado y visualiza la lista de los Juzgados de Paz con o sin ternas asignadas. 16 Consultar Cuadro de Aranceles Usuario registrado Responsable de ODAJUP busca por nombre por concepto y visualiza la lista de aranceles judiciales. Fuente: Creado por el autor. 48 Figura 6 Arquitectura Técnica inicial Fuente: Creado por el autor. Tabla 14 Plan de Alto Nivel No HISTORIA DE USUARIO ESFUERZO (DÍAS) 1 Administrar Usuarios del Sistema 4 2 Administrar Juez de Paz 4 3 Administrar Juzgado de Paz 4 4 Administrar Recursos Materiales y tecnológicos 4 5 Emitir constancias de transferencia Posesoria 5 6 Asignar terna de jueces a juzgado 5 7 consultar Juzgados con ternas próximos a vencer 3 8 Iniciar sesión de jueces 3 9 Iniciar sesión de administrador 3 PostgreSQL API Transferencia de datos Acceso a datos Web Javascript React Frontend Backend Base de datos 49 10 Administrar Cuadro de Aranceles 3 11 Consultar Usuario del Sistema 2 12 Consultar Jueces de Paz 2 13 Consultar Juzgados de Paz 2 14 Consultar Recursos Materiales y Tecnológicos 2 15 Consultar Juzgados con y sin ternas Asignadas 3 16 Consultar Cuadro de Aranceles 2 Fuente: Creado por el autor. b. Fase de Planificación Implementamos la técnica en la fase de planificación, para el proceso XP, según la teoría del capítulo II, sección 2.3.9, tabla 3, obteniendo los artefactos; historias de usuario según su importancia, estimar el esfuerzo necesario para completarlas y establecer un plan para revisarlas (primera iteración). Tabla 15 Historia usuario: administrar usuarios del sistema. Historia de usuario Número: 1 Usuario: Responsable de ODAJUP Nombre de historia: Administrar Usuarios de Sistema Prioridad en negocio: Medio Riesgo en desarrollo: Medio Puntos estimados: 1 iteración asignada: 2 Programador responsable: Max Auqui Bautista Descripción: Usuario registrado Responsable de ODAJUP pulsa un clic en el “modulo de usuario” el sistema automáticamente le muestra la interfaz “administración de usuarios”, y pulsa un clic en la opción “nuevo” el sistema presenta la interfaz de “registrar cuenta de usuario” donde se agrega información como son datos personales y los guarda con el botón “guardar”, el sistema revisa que los campos cumplan con los requisitos y los registra en la base de datos de nuevo registro de usuario acompañando un 50 mensaje de confirmación de registro. Usuario registrado ingresa a la interfaz “administración de usuarios” e ingresa la inicial del nombre o apellido en la barra de búsqueda y el sistema listará los usuarios registrados con esa inicial ingresada, Usuario registrado selecciona un usuario del listado y pulsa un clic en “editar” el sistema le exhibe la interfaz “actualizar cuenta de usuario” con los datos extraídos desde la base de datos donde se podrá modificar todo los campos, actualiza y se puede cambiar el estado del usuario de activado a desactivado. Observaciones: No hay ninguno Fuente: Creado por el autor. Tabla 16 Historia usuario. Administrar Juez de Paz Historia de usuario Número: 2 Usuario: Responsable de ODAJUP Nombre de historia: Administrar Juez de Paz Prioridad en negocio: Alto Riesgo en desarrollo: Alto Puntos estimados: 1 iteración asignada: 2 Programador responsable: Max Auqui Bautista Descripción: Usuario registrado Responsable de ODAJUP pulsa un clic en “módulo juez de paz” usuario registrado pulsa un clic en la opción “nuevo” el sistema presenta la interfaz de “registrar juez de paz” usuario registrado agrega información como son datos personales y los guarda con el botón “guardar”, el sistema revisa que los campos cumplan con los requisitos y los registra en la base de datosde nuevo registro del juez de paz acompañando un mensaje de confirmación de registro. el sistema automáticamente le mostrará la interfaz “administración de juez de paz” en la barra de búsqueda ingresa la inicial del nombre o apellido y el sistema listará los usuarios registrados con esa inicial ingresada, usuario registrado selecciona un usuario del listado y pulsa un clic en “editar” el sistema le exhibe la interfaz“actualizar juez de paz” con los datos extraídos desde la base de datos donde podrá modificar todo los campos, actualiza los datos necesarios, usuario registrado para deshabilitar o habilitar a un juez de paz. Observaciones: No hay ninguno Fuente: Creado por el autor. 51 Tabla 17 Historia usuario: Administrar Juzgado de Paz. Historia de usuario Número: 3 Usuario: Responsable de ODAJUP Nombre de historia: Administrar Juzgado de Paz Prioridad en negocio: Alto Riesgo en desarrollo: Alto Puntos estimados: 1 iteración asignada: 2 Programador responsable: Max Auqui Bautista Descripción: Usuario registrado Responsable de ODAJUP pulsa un clic en “módulo juzgado de paz” usuario registrado pulsa un clic en la opción “nuevo” el sistema presenta la interfaz de “registrar juzgado de paz” usuario registrado agrega información como son datos del juzgado y los guarda con el botón “guardar”, el sistema revisa que los campos cumplan con los requisitos y los registra en la base de datosde nuevo registro del juzgado de paz acompañando un mensaje de confirmación de registro. El sistema le muestra automáticamente la interfaz de “administración de juzgado de paz” en la barra de búsqueda ingresa la inicial del nombre del juzgado y el sistema listará los juzgados registrados con esa inicial ingresada, usuario registrado selecciona un juzgado del listado y pulsa un clic en “editar” el sistema le exhibe la interfaz“actualizar juzgado de paz” con los datos extraídos desde la base de datos donde podrá modificar todo los campos, actualiza los datos necesarios. Observaciones: Ninguna Fuente: Creado por el autor. Tabla 18 Historia usuario. Administrar Recursos Materiales Historia de usuario Número: 4 Usuario: Responsable de ODAJUP Nombre de historia: Administrar Recursos Materiales Prioridad en negocio: Medio Riesgo en desarrollo: Alto Puntos estimados: 1 iteración asignada: 2 Programador responsable: Max Auqui Bautista 52 Descripción: Usuario registrado Responsable de ODAJUP pulsa un clic en “módulo gestión de recursos materiales” y pulsa un clic en la opción “nuevo” el sistema presenta la interfaz de “administración de recursos materiales y tecnológicos” usuario registrado agrega información del juzgado como son datos del bien material y los guarda con el botón “guardar”, el sistema revisa que los campos cumplan con los requisitos y los registra en la base de datos de nuevo registro del recurso material y tecnológico acompañando un mensaje de confirmación de registro. usuario registrado ingresa al “administración de recursos materiales y tecnológicos” en la barra de búsqueda ingresa la inicial del nombre del recurso material y el sistema listará los recursos materiales y tecnológicos que tenga el juzgado registrados con esa inicial ingresada, usuario registrado selecciona un juzgado del listado y pulsa un clic en “editar” el sistema le exhibe la interfaz“ actualizar recurso material y tecnológico” con los datos extraídos desde la base de datos donde podrá modificar todo los campos, actualiza los datos necesarios. Observaciones: Ninguna Fuente: Creado por el autor. Tabla 19 Historia usuario. Emitir Constancia de Transferencia Posesoria. Historia de usuario Número: 5 Usuario: Juez de Paz Nombre de historia: Emitir Constancia de Transferencia Posesoria. Prioridad en negocio: Medio Riesgo en desarrollo: Medio Puntos estimados: 1 iteración asignada: 2 Programador responsable: Max Auqui Bautista Descripción: Usuario registrado Juez de Paz ingresa al “módulo emisión de certificados” y pulsa un clic en la el botón “nuevo” el sistema presenta la interfaz de “módulo emisión de certificado”, donde tendrá que elegir el tipo de certificado a generar, donde tendrá que llenar todo los datos requeridos, una vez concluido usuario registrado pulsa un clic en el botón de “generar certificado” el sistema automáticamente genera el pdf y guarda el archivo en la base de datos, el sistema presenta automáticamente la interfaz de “administración emisión de certificados”. Observaciones: Ninguna Fuente: Creado por el autor. 53 Tabla 20 Historia usuario. Asignar terna de jueces a juzgado. Historia de usuario Número: 6 Usuario: Responsable de ODAJUP Nombre de historia: Asignar terna de jueces a juzgado Prioridad en negocio: Alto Riesgo en desarrollo: Alto Puntos estimados: 1 iteración asignada: 3 Programador responsable: Max Auqui Bautista Descripción: Usuario registrado Responsable de ODAJUP pulsa un clic en “módulo asignación de terna” y pulsa un clic en el botón “nuevo” el sistema presenta la interfaz de “módulo asignación de jueces de paz” usuario registrado agrega información y pulsa un clic en el botón “guardar”, el sistema revisa que los campos cumplan con los requisitos y los registra en la base de datos de nuevo registro de la asignación de la terna acompañando un mensaje de confirmación de registro. Usuario registrado ingresa al “asignación de jueces de paz” en la barra de búsqueda ingresa la inicial del nombre del juzgado y el sistema listará los juzgados de paz y la terna asignada que tenga el juzgado registrado. Observaciones: Ninguna Fuente: Creado por el autor. Tabla 21 Historia usuario. Consultar Juzgados con ternas próximos a vencer Historia de usuario Número: 7 Usuario: Responsable de ODAJUP Nombre de historia: Consultar Juzgados con Ternas próximos a vencer Prioridad en negocio: Alto Riesgo en desarrollo: Alto Puntos estimados: 1 iteración asignada: 2 Programador responsable: Max Auqui Bautista 54 Descripción: Usuario registrado Responsable de ODAJUP pulsa un clic en el “módulo asignación de terna” usuario registrado digita la cantidad de días a vencer la terna y pulsa un clic en el botón “buscar por días por vencer” el sistema te listará los juzgados con sus respectivas ternas, fechas a finalizar, también se puede buscar los juzgados por ternas asignadas y no asignadas. Observaciones: No hay ninguno Fuente: Creado por el autor. Tabla 22 Historia usuario. Iniciar sesión de jueces Historia de usuario Número: 8 Usuario: Juez de Paz Nombre de historia: Iniciar sesión de jueces Prioridad en negocio: Bajo Riesgo en desarrollo: Bajo Puntos estimados: 1 iteración asignada: 1 Programador responsable: Max Auqui Bautista Descripción: Usuario registrado Juez de paz abre el programa: el sistema presenta la página de “inicio de sesión”, usuario registrado accede con su nombre de usuario y clave, el sistema presenta la página principal cuando los datos ingresados son autenticos, si no se proporcionan los datos correctos, el sistema volverá a solicitarlos y mostrará los mensajes de error pertinentes. Observaciones: No hay ninguno Fuente: Creado por el autor. 55 Tabla 23 Historia usuario. Iniciar sesión de administrador. Historia de usuario Número: 9 Usuario: Responsable de ODAJUP Nombre de historia: Iniciar Administrador de Sistema Prioridad en negocio: Bajo Riesgo en desarrollo: Bajo Puntos estimados: 1 iteración asignada: 1 Programador responsable: Max Auqui Bautista Descripci