• No se han encontrado resultados

Desarrollo de un sistema para brindar servicios informáticos en Quito : Desarrollo de un Backend.

N/A
N/A
Protected

Academic year: 2023

Share "Desarrollo de un sistema para brindar servicios informáticos en Quito : Desarrollo de un Backend."

Copied!
96
0
0

Texto completo

Certifico que este trabajo de integración curricular fue desarrollado por Manuel Josué Auqui Sánchez bajo mi supervisión. Con todo mi cariño y gratitud les dedico este proyecto de integración curricular a ustedes, a mis docentes ya la Politécnica Nacional. Con el fin de ayudar al público en general en este proyecto de integración curricular, se presenta el desarrollo de un backend denominado “Tecnony” que brinda una serie de endpoints para crear servicios técnicos especializados en computación a través del front end y estos servicios pueden ser contratados por los ciudadanos a través de una aplicación móvil

Objetivo general

Objetivos específicos

Alcance

El backend realiza la implementación de varios puntos finales dedicados a la visualización de comentarios, sugerencias y calificaciones de los técnicos. El backend implementa un punto final dedicado para el registro de usuarios con un perfil técnico. El backend implementa un endpoint dedicado a la visualización de comentarios, sugerencias y valoraciones de los servicios.

El backend implementa un punto final dedicado de inicio de sesión, cierre de sesión y recuperación de contraseña. El backend implementa un punto final dedicado para comentarios, sugerencias y calificaciones de servicios.

TABLA I: Asignación de Roles.
TABLA I: Asignación de Roles.

Marco teórico

Metodología de desarrollo

Por ello, en la TABLA III se muestra una historia de usuario para el componente actual y la información completa se detalla en el ANEXO II. Por ello, la TABLA IV muestra una parte de este artefacto y la información completa se detalla en el ANEXO II. Por ello, la TABLA V muestra una parte de este artefacto y la información completa se detalla en el ANEXO II.

Diseño de la arquitectura

Este artefacto especifica las tareas realizadas durante el desarrollo de software. Además, las tareas realizadas durante un Sprint se especifican en orden de complejidad y prioridad, lo cual se define en el Product Backlog. Controller: participa como mediador entre la capa de vista y la capa de modelo, además controla las interacciones y filtra la información de acuerdo a lo que el usuario solicita.

Herramientas de desarrollo

Alwaysdata es una plataforma que permite desplegar bases de datos MySQL en la nube, además de otros servicios similares [25]. Cloudinary es una plataforma para alojar archivos multimedia en la nube y admite el acceso síncrono a la información [27]. Apache jmeter Es una plataforma para implementar pruebas de carga, rendimiento y estrés a recursos API Rest [29].

TABLA VII: librerías.
TABLA VII: librerías.

Sprint 0. Configuración del ambiente de desarrollo

El componente backend da acceso al usuario con perfil técnico al módulo de gestión de servicios, para lo cual dispone de varios puntos finales que permiten al técnico crear, visualizar, actualizar y eliminar servicios. El componente backend le brinda al usuario con perfil técnico varios puntos finales que le permiten ver comentarios, sugerencias y calificaciones de los servicios que ha brindado. El componente backend le da al usuario con perfil de cliente acceso al módulo de servicio, para lo cual dispone de varios puntos finales que permiten al cliente ver los servicios que ofrecen los usuarios con perfil técnico.

Fig. 2: Usuario Administrador.
Fig. 2: Usuario Administrador.

Sprint 1. Perfil administrador – implementación de endpoints

Además, el punto final de inicio de sesión solo permite que los usuarios con perfiles de administrador y técnico que soliciten un correo electrónico y una contraseña ingresen a los módulos asignados como se muestra en la Fig. Mientras que el extremo de recuperación de contraseña solicita que se envíe el correo electrónico del usuario. de un correo electrónico para restablecer la contraseña, como se muestra en la fig. Finalmente, el punto final de cierre de sesión permite al usuario cerrar sesión en el sistema en cualquier momento, como se ve en la Fig.

11 muestra el código ejecutado para una prueba unitaria aplicada al punto final de inicio de sesión, junto con los resultados que se muestran en la FIG. El backend realiza la implementación de varios puntos finales destinados a la modificación del perfil de usuario, destinados a todos los usuarios de este proyecto. En este sentido, existe un punto final para la visualización de solicitudes de afiliación de técnicos, como se muestra en la Fig.

El siguiente punto final admite la visualización de la solicitud de un técnico seleccionado, como se muestra en la Fig. Y el último extremo soporta la aceptación o rechazo de la solicitud de afiliación del técnico seleccionado, y el mismo extremo permite escribir una observación para avisar al técnico si la solicitud de afiliación ha sido rechazada, como en la Fig. En este sentido, existe un punto final para la visualización de todos los técnicos, como en la Fig.

25 muestra el código ejecutado para una prueba unitaria aplicada al punto final de visualización de comentarios para un técnico seleccionado, junto con los resultados que se ven en la FIG.

Fig. 8: Login para administrador y técnico.
Fig. 8: Login para administrador y técnico.

Sprint 2. Perfil técnico – implementación de endpoints

En este sentido, el endpoint de registro de usuarios permite el ingreso de datos personales que son validados para la creación de un nuevo usuario técnico en el backend, como se muestra en la Fig. el punto final para el registro de usuarios técnicos, junto con los resultados que se muestran en la Fig. En este sentido, existe un punto final para la visualización de los servicios generados por el técnico, como se muestra en la Fig.

El siguiente punto final permite la creación de un nuevo servicio ingresando un título, una descripción y una imagen, como se muestra en la Fig. 36 muestra el código ejecutado a partir de la prueba unitaria aplicada al endpoint para la visualización de los servicios generados, junto con los resultados mostrados en la Fig. El siguiente extremo le permite ver la información detallada de una solicitud de contrato seleccionada, junto con la información personal del cliente que la realizó, como se ve en la Fig.

Y el último extremo permite que se apruebe la solicitud de contrato, como se muestra en la Fig. 41 muestra el código ejecutado a partir de la prueba unitaria aplicada al endpoint de aprobación del contrato, junto con los resultados observados en la Fig. En ese sentido, el endpoint soporta la visualización de comentarios, sugerencias y valoraciones generadas por los formularios de satisfacción completados por los clientes, como se muestra en la Fig.

44 muestra el código ejecutado para la prueba unitaria utilizada para el punto final de visualización de comentarios, junto con los resultados que se muestran en la FIG.

Fig. 27: Registro de usuario técnico.
Fig. 27: Registro de usuario técnico.

Sprint 3. Perfil cliente – implementación de endpoints

En este sentido, el punto final admite la visualización de servicios proporcionados por usuarios técnicos, como se muestra en la Fig. 53 muestra el código realizado por la prueba unitaria aplicada a la visualización del punto final de servicios, junto con los resultados observados en la Fig. En este sentido, el terminal permite ingresar datos para contratar un servicio de su elección, como se muestra en la Fig.

56 muestra el código derivado de la prueba unitaria utilizada para el extremo de contratación del servicio, junto con los resultados que se pueden ver en la figura. El siguiente punto final permite actualizar los datos de solicitud de contrato como se muestra en la figura. Y el Último extremo le permite cancelar o volver a habilitar la solicitud de contrato, y el extremo también le permite cancelar la solicitud hasta que los técnicos la manejen como se muestra en la imagen.

62 muestra el código derivado de una prueba unitaria utilizada en un punto final para ver las solicitudes de contratación, junto con los resultados que se muestran en la figura. La funcionalidad de cada uno de los puntos finales mencionados se detalla en el ANEXO III. En este sentido, el endpoint permite comentar, sugerir y calificar la atención del contrato a través del formulario de satisfacción como se muestra en la figura.

65 muestra el código creado a partir de una prueba unitaria aplicada al punto final que comenta, sugiere y califica un servicio, junto con los resultados que se ven en la FIG.

Fig. 46: Inicio de sesión para clientes.
Fig. 46: Inicio de sesión para clientes.

Sprint 4. Ejecución de pruebas para el componente backend

Una vez completadas las pruebas unitarias, se lograron resultados satisfactorios para las 14 API restantes implementadas en los 13 puntos finales principales, con un tiempo de respuesta de 60,47 segundos. Este tipo de testing radica en probar el funcionamiento del software en diferentes entornos como dispositivos, sistemas operativos, navegadores, entre otros. Además, el objetivo de estas pruebas es minimizar aquellos pequeños factores que pueden causar errores de ejecución en los diferentes entornos en los que se ejecuta el software [21].

La TABLA VIII muestra los clientes HTTP que se utilizaron para probar la compatibilidad de las API creadas por el backend. Finalmente, el ANEXO II presenta los resultados completos de todas las pruebas de compatibilidad que se han aplicado. Una vez realizadas las pruebas de compatibilidad, se han obtenido resultados satisfactorios al consumir las APIs a través de clientes HTTP, recibiendo respuestas similares al momento de ejecutar las solicitudes.

Resultados de la prueba de carga de back-end La prueba de carga es una técnica utilizada para evaluar el comportamiento de un sistema, como una API REST, bajo una carga de trabajo simulada. Esta carga de trabajo puede ser generada por una gran cantidad de solicitudes simultáneas o por una gran cantidad de datos para procesar. El objetivo es determinar el rendimiento del sistema en condiciones normales y extremas y detectar cuellos de botella o problemas.

Al finalizar la ejecución de las pruebas de carga, se lograron resultados satisfactorios para las API implementadas en los 13 endpoints principales, con un rendimiento de carga promedio de 2,5 segundos al ejecutar de 50 a 100 solicitudes.

Fig. 67: Test de aceptación de solicitud de afiliación.
Fig. 67: Test de aceptación de solicitud de afiliación.

Sprint 5. Despliegue del backend a un ambiente de producción

La funcionalidad de cada uno de los puntos finales enumerados anteriormente se detalla aquí. En este sentido, existe un punto final para visualizar las solicitudes de contratos de los usuarios clientes, como se muestra en la Fig.

Fig. 15: Test de modificar perfil de usuario.
Fig. 15: Test de modificar perfil de usuario.

Después de la fase de recopilación de requisitos, continuamos con la creación de historias de usuarios para el backend. El backend debe verificar que el técnico se haya registrado previamente para que pueda realizar una solicitud de membresía. El backend debe verificar los comentarios, sugerencias y valoraciones realizadas por los clientes que han sido atendidos por el técnico.

El backend debe demostrar que no es necesario que un cliente inicie sesión para poder ver los servicios que se ofrecen. El backend debe verificar que el cliente haya iniciado sesión antes de poder realizar una solicitud de trabajo. Diseño e implementación de endpoints de inicio, cierre de sesión y cambio de contraseña.

Diseño e implementación de puntos finales para solicitar la afiliación, a través de un formulario de datos personales y laborales.

Figure

Fig. 1: Patrón arquitectónico.
Fig. 5: Entidades de la Base de datos.
Fig. 7: Definición de módulos para los usuarios.
Fig. 8: Login para administrador y técnico.
+7

Referencias

Documento similar

Así mismo la proporción de usuarias con antecedentes de riesgo reproductivo es mayor en las que tienen retiro temprano de implante subdérmico (El 24 % de los casos y solo el 6 %