e-ISSN: 1390-5902
CEDAMAZ, Vol. 13, No. 1, pp. 38–43, Enero–Junio 2023
DOI: 10.54753/cedamaz.v13i1.1933
React: Como librería/framework para el desarrollado la
aplicación web frontend.
ExpressJS: Como framework para el desarrollo del ser-
vidor web o backend.
ORM Sequelize: Como mapeador relacional de objetos
para NodeJS y conexión con la base de datos MySQL.
Railway: Como plataforma utilizada para el alojamiento
gratuito del backend y la base de datos.
Netlify: Como plataforma utilizada para el alojamiento
gratuito del frontend.
RESULTADOS
En este apartado se muestran las fases, actividades y tareas
que se llevaron a cabo para desarrollar la aplicación web, este
trabajo se lo realizó en 3 grandes fases. En la primera fase se
obtuvo el diseño lógico y físico de la aplicación mediante el
desarrollo de la metodología de software ICONIX, en la se-
gunda fase se implementó los diseños aplicados en la primera
fase y se desarrolló la infraestructura del backend y frontend
de la aplicación web, finalmente, en la tercera fase se realizó
pruebas al software para validar la aplicación web.
Fase 1: Diseño lógico y físico de la aplicación
En esta fase se realizó dos tareas, en primer lugar, se ela-
boró el modelo de requerimientos del sistema y, en segundo
lugar, se realizó el modelo lógico y físico de la aplicación
web, ambas tareas corresponden a la primera, segunda y ter-
cera etapa en la ejecución de la metodología de desarrollo de
software ICONIX, los cuales se obtuvo los siguientes resul-
tados.
Luego de la entrevista con el director del proyecto se defi-
nieron 13 requerimientos funcionales (Tabla 1) y 10 requeri-
mientos no funcionales (Tabla 2).
Luego de la definición de requerimientos funcionales y no
funcionales se diseñó el diagrama conceptual del modelo de
domino de negocio (Figura 1), se realizó un prototipo de in-
terfaz de usuario (Figura 2) y el diagrama de casos de uso
(Figura 3).
Fig. 1: Modelo de dominio del negocio
Fase 2: Implementación del diseño de la aplicación
mediante el framework ReactJS y NodeJS
En esta fae se realizó dos tareas, en primer lugar, la codifi-
cación de la aplicación web y el segundo lugar, la documen-
Tabla 1: Requerimientos Funcionales
ID Requisito Descripción
RF01
Visualizar
árboles
El sistema debe permitir al usuario visualizar la ubicación de los
registros de árboles en el aplicativo a través de un mapa web de
Mapbox.
RF02
Mostrar tipos
de mapas base
El sistema debe permitir al usuario cambiar entre diferentes vistas
de mapas base del servidor Mapbox: Satelital y de Calles.
El sistema debe permitir al usuario visualizar dos tipos de reportes:
RF03
Visualizar
reportes
a) Un. reporte preliminar con los detalles mínimos del árbol
seleccionado en el mapa.
b) Un reporte completo para el mismo árbol seleccionado.
c) El sistema debe permitir mostrar el identificador del árbol en un
código QR.
RF04
Filtra
consultas
El sistema debe permitir al usuario filtrar las búsquedas de árboles
por especies, sitio y características, considerada como las variables
más relevantes.
RF05
Autentificar
usuario
El sistema debe permitir a los usuarios registrados ingresar a la
aplicación a través de las credenciales como: nombre de usuario
(email) y contraseña.
RF06
Actualizar
contraseña
El sistema debe permitir al usuario modificar su contraseña desde su
cuenta de usuario y se enviará la contraseña modificada al email.
RF07
Recuperar
contraseña
En caso de olvido de contraseña, el sistema debe ayudar al usuario a
recuperar el acceso a su cuenta, para ello el sistema validará el email
ingresado y se enviará un correo electrónico para el cambio de
contraseña.
RF08
Editar
árboles
El sistema debe permitir al usuario registrado editar las características
de un árbol específico. Para los campos de latitud y longitud, además
de digitar manualmente, se debe contar con la opción de desplazar el
punto de interés a la nueva posición.
RF09
Registrar
árbol
El sistema debe permitir al usuario registrado agregar nuevos árboles
y llegar los campos en un formulario de registro.
RF10
Eliminar
árbol
El sistema debe permitir al usuario Administrador eliminar un árbol del
registro forestal (se espera que la información vinculada con el registro
del árbol no se muestre al usuario final).
RF11
Descargar
reportes
El sistema debe permitir al usuario Administrador descargar el reporte
de uno o varios árboles seleccionados en un archivo CSV.
RF12
Registrar
cuenta
El sistema debe permitir al usuario registrarse para crear una cuenta
en la aplicación web.
RF13
Validar
cuenta
El sistema debe permitir al administrador validar cuenta de usuario
registrado.
Tabla 2: Requerimientos No Funcionales
ID Requisitos Descripción
RNF01 Seguridad
La información manejada por el sistema estará protegida del acceso
no autorizado a través de roles. Un usuario con un rol específico no
podrá realizar acciones que no correspondan al rol asignado.
RNF02 Usabilidad
La aplicación mantendrá una interfaz intuitiva, de fácil uso para el
óptimo manejo del usuario. El tiempo de aprendizaje del sistema por
usuario será menor a 2 horas.
RNF03 Rendimiento o Calidad
La funcionalidad del sistema, informes y consultas que presenten una
complejidad mediana, sus tiempos de respuesta hacia el usuario debe
responder en menos de 7 segundos.
RNF04 Fiabilidad
El sistema debe garantizar la tolerancia a fallos de conexión
proporcionando mensajes informativos y orientados a los usuarios.
RNF05 Persistencia
El sistema debe garantizar la recuperación y guardado de los datos
persistentes utilizados por la aplicación en la base de datos relacional
MySQL.
RNF06 Sincronización
Los datos modificados o agregados en el sistema deben ser actualizados
por todos los usuarios que accedan a ellos en menos de 3 segundos.
FNF07 Disponibilidad
El sistema debe estar activo 24 horas, los 7 días de la semana, los 365
días del año, garantizando toda la funcionalidad del sistema.
RNF08 Mantenibilidad
Será desarrollado de forma modular para mantener una estructura de
código consistente y predecible.
RNF09 Desarrollo
Debe funcionar a través de respuestas consumiendo servicios web
API REST bajo el formato de datos JSON.
RNF10 Interfaz GUI
La interfaz se ejecutará en entornos web, se utilizará un browser
habilitado con el estándar WebGL para el despliegue de gráficos 2D/3D,
como por ejemplo Chrome 96, Edge 96, Firefox 97, Firefox91 (ESR),
iOS Safari 14, Safari 14, o versiones posteriores a las especificadas.
Fig. 2: Prototipo rápido de GUI en Figma.
40