Está en la página 1de 72

UNIVERSIDAD POLITÉCNICA DE PACHUCA

Memoria de Estadía – Sistema Web para la Administración de

Dispositivos IoT

Presentado por:

Jair Efren Ortega Reyes - 2031118722

Jose Evaristo Canales Ensastiga

Otli Zealtiel Hernandez Muñoz

Angel Rodriguez Crespo

Estancia II

Mta. Alicia Ortiz Montes

ZEMPOALA, HIDALGO Diciembre, 2022


UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Sumario
Capitulo 1.........................................................................................................................................6
2.1. Introducción.........................................................................................................................6
Capitulo 2.........................................................................................................................................8
Capítulo 3.........................................................................................................................................9
3.1. Definición del Problema......................................................................................................9
5.1. Objetivo General................................................................................................................11
5.2. Objetivos Específicos.........................................................................................................11
Capitulo 4.......................................................................................................................................12
Estudio de Factibilidad..............................................................................................................12
Económico............................................................................................................................12
Ambiental.............................................................................................................................14
Política..................................................................................................................................15
Técnica.................................................................................................................................15
Fases del Proyecto.....................................................................................................................18
Planeación.............................................................................................................................18
Obtención y Análisis Requerimientos..................................................................................18
Diseño...................................................................................................................................18
Construcción.........................................................................................................................18
Pruebas.................................................................................................................................18
Metodología..............................................................................................................................20
Planificación..............................................................................................................................21
Cronograma de Actividades.................................................................................................21
Obtención de Requisitos...........................................................................................................23
Entrevista..............................................................................................................................23
Observaciones.................................................................................................................24
Documento de Especificación de Requisitos (SRS).................................................................24
Diseño del sistema.....................................................................................................................25
Diseño Arquitectónico..........................................................................................................25
Drivers Arquitectónicos Funcionales..............................................................................25
Drivers Arquitectónicos de Restricciones.......................................................................27
Patrón/Estilo Arquitectónico...........................................................................................27
Patrones de Comportamiento..........................................................................................31
Vistas Arquitectónicas.....................................................................................................33
Diseño Detallado..................................................................................................................37
Diseño de Interfaces.......................................................................................................37
Interfaces.........................................................................................................................39
Construcción.............................................................................................................................44
Implementación de la Base de Datos...................................................................................44
Implementación de React.js..................................................................................................44
Implementación de Node.js..................................................................................................45
Implementación de Express.js..............................................................................................45
Planeación de la construcción con la metodología SCRUM................................................46
Time-boxing....................................................................................................................46
Sprint...............................................................................................................................47

2
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Planificación y Estimación.............................................................................................47
Implementación..............................................................................................................50
Revisión y Retrospectiva................................................................................................51
Gráfico del Quemado → Actualizar.....................................................................................52
Planificación del Proyecto con Jira.....................................................................................53
Asignación de Tareas para el Sprint 1............................................................................53
Sprint 1.................................................................................................................................54
Sprint 2................................................................................................................................56
Sprint 3.................................................................................................................................60
Sprint 4.................................................................................................................................63
Código.......................................................................................................................................65
Pruebas......................................................................................................................................66
Planeación de Pruebas y tecnologías seleccionadas.............................................................66
Log de Pruebas.....................................................................................................................66
Pruebas de Caja Negra..........................................................................................................66
Pruebas de Caja Blanca........................................................................................................66
Capitulo 5.......................................................................................................................................67
Capitulo 6.......................................................................................................................................68
Trabajos a Futuro...........................................................................................................................68
Anexos...........................................................................................................................................69
Anexo A....................................................................................................................................70
Manual de Usuario...............................................................................................................70
Anexo B....................................................................................................................................70
Guiá de Instalación...............................................................................................................70
B1. Configuración de PostgreSQL.................................................................................70
B2. Configuración de React.js........................................................................................70
Anexo C....................................................................................................................................71
Documento dado por la empresa..........................................................................................71
Anexo D....................................................................................................................................71
Especificación de Requisitos de Software (SRS).................................................................71
Anexo E.....................................................................................................................................71
Lista de Siglas, abreviaturas y acrónimos............................................................................71
Bibliografía....................................................................................................................................72
12.1.10. Sprint 3...................................................................................................................74

Índice de figuras
Figura 1: Metodología Scrum........................................................................................................20
Figura 2: Diagrama de Gantt 1.......................................................................................................21
Figura 3: Diagrama de Gantt 2.......................................................................................................22
Figura 4: Arquitectura MVC..........................................................................................................27
Figura 5: Diagrama Cliente/Servidor.............................................................................................30
Figura 6: Diagrama de Componentes Cliente/Servidor.................................................................30

3
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 7: Diagrama Arquitectónico del Sistema............................................................................31


Figura 8: Observer Pattern.............................................................................................................32
Figura 9: Diagrama de Clases........................................................................................................33
Figura 10: Diagrama de Componentes 1.......................................................................................34
Figura 11: Diagrama de Componentes Autenticación...................................................................34
Figura 12: Diagrama de Actividades..............................................................................................35
Figura 13: Diagrama de Despliegue..............................................................................................35
Figura 14: Herramientas Posibles a Implementar..........................................................................36
Figura 15: Pirámide UX.................................................................................................................37
Figura 16: Jerarquía de Contenidos...............................................................................................37
Figura 17: Selección de Tipo de Usuario.......................................................................................38
Figura 18: Login............................................................................................................................39
Figura 19: Página Principal............................................................................................................39
Figura 20: Administración de Usuarios.........................................................................................40
Figura 21: Selección del Tipo de Usuario......................................................................................40
Figura 22: Login............................................................................................................................41
Figura 23: Página Principal............................................................................................................41
Figura 24: Administración de Usuarios.........................................................................................42
Figura 25: Evidencia 1 - Sprint 1 Jira............................................................................................52
Figura 26: Evidencia 2 - Planeación del Sprint 2 en JIRA............................................................55
Figura 27: Reunión (Meet).............................................................................................................57

Índice de tablas
Tabla 1: Costos de Software..........................................................................................................12
Tabla 2: Costos de Personal...........................................................................................................13
Tabla 3: Costos Generales..............................................................................................................13
Tabla 4: Costos de Hardware.........................................................................................................13
Tabla 5: Costo del Proyecto...........................................................................................................14
Tabla 6: Conocimientos Técnicos..................................................................................................15
Tabla 7: Conocimientos Teóricos...................................................................................................16
Tabla 8: Hardware Disponible.......................................................................................................16
Tabla 9: Drivers Arquitectónicos Funcionales...............................................................................26
Tabla 10: Drivers Arquitectónicos de Restricciones......................................................................27
Tabla 11: Tarjeta CRC - Modelo...................................................................................................28
Tabla 12: Tarjeta CRC - Vista.......................................................................................................28
Tabla 13: Tarjeta CRS - Controlador............................................................................................29

4
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

5
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Capitulo 1.
Introducción

2.1. Introducción

El presente documento representara el trabajo realizado por el equipo Los Otlis como

proyecto final de la materia de Estancia II de la carrera de Ingeniería de Software en la

Universidad Politécnica de Pachuca (UPP).

El proyecto a realizar trata de un sistema web específicamente un Dashboard para la

administración de dispositivos IoT instalados en diferentes áreas industriales.

Primero se realizo un anteproyecto donde se plasman puntos importantes a tomar en

cuenta antes de la realización del proyecto los cuales son la problemática, objetivos generales y

específicos, un estudio de factibilidad, las fases de desarrollo de software, selección y

justificación de la metodología y la planificación del proyecto en tiempos y fechas.

Se desarrolla el proyecto siguiendo las fases de desarrollo de software para garantizar un

sistema de software de calidad el cual solo llegara hasta la fase de pruebas debido a los tiempos

con los que contamos para el desarrollo de este proyecto.

Para la fase de requisitos se discutieron las técnicas de recolección y especificación de

requisitos, eligiendo el Documento de Especificación de Requisitos (SRS) siguiendo el estándar

IEEE830, como resultado final el SRS deberá especificar sin ambigüedad todos los requisitos y

restricciones del sistema para poder llevar a cabo las posteriores fases del desarrollo.

6
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Para la fase de diseño que parte desde el SRS y estará conformado por diseño

arquitectónico y detallado describirá la estructura que tendrá el sistema, y como debe

comportarse en su entorno de implementación, de la misma manera se describirán las interfaces

de usuario que conforman dicho sistema.

Durante la fase de construcción se realizara una investigación y selección de las

herramientas a implementar tanto para la gestión de actividades, programación del sistema y

control de versiones. El objetivo es elegir las herramientas más adecuadas para resolver la

arquitectura diseñada.

En la fase de pruebas se seleccionaran herramientas para el seguimiento de errores del

sistema, se planearan y ejecutaran las pruebas para validar que el sistema cumpla con los

requisitos plasmados en el SRS.

Se presentan nuestras conclusiones con respecto al desarrollo de este proyecto.

Al final del presente documento se encuentran los anexos como son los manuales de

instalación, manual de usuario y el SRS.

7
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Capitulo 2.
Marco Contextual

8
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Capítulo 3.
Marco Teórico

3.1. Definición del Problema

La empresa Soluciones JPI visualizan los datos de dispositivos IOT que implementaron en las

empresas para quienes trabajan, pero no pueden acceder a esos datos de manera remota lo cual

hace tedioso la visualización de los mismos.

9
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Estado del Arte

10
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

5.1. Objetivo General

Desarrollar un sistema web que permita visualizar los dato de hasta 6 dispositivos IT,

estos datos deben almacenarse en una Base de Datos y deben mostrarse en un Dashboard con

gráficas en tiempo real y se debe poder exportar los datos en un archivo de texto finalmente el

sitio web debe contar autenticación para permitir el acceso.

5.2. Objetivos Específicos


• Almacenar todos los datos de los dispositivos IOT en una Base de Datos.

• Permite la exportación de datos en un archivo de texto.

• Restringir el acceso al sistema web.

• Visualizar los datos en gráficas y en tiempo real.

11
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Capitulo 4
Desarrollo

Estudio de Factibilidad

Económico

El estudio de la factibilidad económica, ayuda a realizar el análisis costo-beneficio del

sistema, el mismo que permitirá determinar si es factible desarrollar económicamente el

proyecto. En nuestro caso realizaremos el estudio de los costos de implementación de software

además del personal requerido para llevar a cabo nuestra actividad.

Costos de software para la implementación de nuestro proyecto.

Tabla 1: Costos de Software

Cantidad Descripción Producto Costo Unitario Costo Total


Sistema
5 Windows $0 $0
Operativo
Manejador de
5 PostgreSQL $0 $0
Datos
Entorno de Visual Studio
5 $0 $0
desarrollo Code
Sistema de
5 informática para Microsoft Office $1, 299 $6,495
Windows
Sistema de
5 Figma $0 $0
maquetación
Hosting
1 Hosting $43 $43
(HostGator)
Total $6, 538

12
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Costos de Personal

Tabla 2: Costos de Personal

Recurso
Cantidad Salario Mensual Descripción
Humano
Encargado de las fase de
Programador 4 $6,000
construcción
Encargado de dirigir y recopilar los
Analista 1 $8, 000 requerimientos, analizarlos y
proporcional una solución.
Total $14, 000

Costos Generales

Tabla 3: Costos Generales

Costos Generales Descripción Consumo Monto Mensual


Libretas Hojas para Notas 1
Trasporte Ambos viajes 5 $600
Comida Almuerzos - $2000 aprox
Total $2,600 +

Costos de Hardware

Tabla 4: Costos de Hardware

Cantidad Dispositivos Descripción Costos


5 Laptops Laptos de uso persona $0.00
Impresora de
1 Impresora $0.00
inyección de tinta
Dispositivos de uso
5 Telefono Inteligente $0.00
personal
Total $0.00

13
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Costo del sistema propuesto

Tabla 5: Costo del Proyecto

Costos Total
Costo de Software $6, 538
Costo de Personal $14, 000
Costos Generales $2, 600
Costos de Hardware $0.00
Total $23, 138

Ambiental

La Factibilidad Ambiental para este proyecto tiene relación con todos aquellos aspectos

que nos permiten hacer uso eficiente de los recursos, por ejemplo:

• Reducir el consumo de energía Para programar, se recomienda el uso de equipos

reutilizados que estén en buenas condiciones, (No comprar equipos nuevos), y que se

mantengan conectados sólo hasta cuando su batería esté completa. Es vital programar con

luz de día, ojalá al aire libre, se aprovecha mejor la energía y en espacios abiertos hay

menos CO2.

• Mecanismos de transporte y desplazamiento que genera menos CO2 Para evitar el uso de

algún transporte, optamos por realizar consultas con los involucrados en el proyecto, por

medio de video llamadas, usando aplicaciones como Google Meet y Zoom. Esto nos

ayudará a reducir las emisiones de CO2.

14
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Política

La factibilidad política de nuestro proyecto nos permitirá mantener los compromisos ya

establecidos con la empresa que solicita el sistema web, que ninguno de los procesos o

actividades incumplan alguna norma previamente establecida y firmada en el contrato. Nuestra

factibilidad política nos permitirá establecer los derechos que tendremos como autores de la

documentación realizada para el sistema web, la cuál será exclusiva para los desarrolladores por

lo cual quedará prohibida su distribución y reproducción sin nuestro conocimiento. Se van a

adquirir las licencias de los softwares a emplear en el sistema de ser necesario, para evitar

problemas legales de propiedad en un futuro Queda prohibido el plagio de otro sistema con

características similares al solicitado por la empresa.

Técnica

Se realiza el presente estudio de factibilidad desde la parte técnica con el fin de

determinar que todos los miembros que conforman el equipo para la realización de este proyecto

cumplan con las habilidades y conocimientos necesarios para cubrir cada área de este proyecto

de manera óptima.

Dado que nuestro proyecto está dirigido a la web los conocimiento necesarios son:

Tabla 6: Conocimientos Técnicos

Habilidad Angel Otli Ubaldo Jose Efren


HTML ✔ ✔ X ✔ ✔
CSS ✔ ✔ X ✔ ✔
JavaScript ✔ 50/50 ✔ ✔ ✔
CSS
✔ ✔ X ✔ ✔
Framework
Manejo de ✔ ✔ ✔ ✔ ✔

15
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Base de Datos
Figma ✔ ✔ ✔ ✔ ✔
Manejo de
Framework X X X ✔ ✔
FrontEnd

Con respecto a conocimiento más teóricos y para documentación son los siguientes:

Tabla 7: Conocimientos Teóricos

Habilidad Angel Otli Ubaldo Jose Efren


Metodología
50/50 50/50 50/50 50/50 ✔
Scrum
Diseño de
✔ ✔ ✔ ✔ ✔
Base de datos
Maquetación
✔ ✔ ✔ ✔ ✔
de Interfaces
UI/UX ✔ ✔ ✔ ✔ ✔

Características del Hardware disponible actualmente para el desarrollo

Tabla 8: Hardware Disponible

Equipo Elemento Elemento


RAM 8GB
Laptop 1 Disco Duro ITB
Procesador Intel Core i5
RAM 12GB
Laptop 2 Disco Duro 1TB
Procesador AMD Ryzen 3 3300U
RAM 8GB
Laptop 3 Disco Duro 1TB
Procesador AMD Ryzen

16
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Finalmente nuestro sistema web no requiere muchos recursos de hardware para que los

usuarios puedan acceder a él, solo basta con tener acceso a internet y un navegador web

actualizado sin importar el dispositivo.

Una vez analizada la información anterior podemos concluir que se cuenta con el

software y hardware necesario para llevar a cabo este proyecto, de la misma manera se puede

observar que los miembros del equipo están capacitados ya que poseen los conocimientos,

habilidades y experiencia para llevar a cabo cada una de las etapas necesarias de manera

satisfactoria y finalmente no habrá necesidad de que nuestro usuarios tengan que invertir en

hardware para el funcionamiento del sistema web por lo que se concluye que el desarrollo del

sistema web el cual es un Dashboard es técnicamente factible.

17
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Fases del Proyecto

En esta sección describiremos la manera en como dividimos el proyecto:

Planeación

Se definió la problemática, objetivo general y específicos, se desarrollo el estudio de

factibilidad y finalmente se llevo a cabo un calendario de actividades usando el Diagrama de

Gantt.

Obtención y Análisis Requerimientos

Mediante un entrevista diseñada se recaudaron los requisitos que solicitaba el cliente y

con ayuda del SRS y el estandar IEEE830 representaremos dichos requisitos.

Diseño

Con ayuda del SRS realizaremos el diseño arquitectónico donde definiremos el modelo

arquitectónico, patrones arquitectónicos y lo representamos mediante diferentes diagramas de la

misma manera se realizaran las interfaces de usuario con ayuda de Figma.

Construcción

Se construirá el sistema pero primero se identificaran las tecnologías y herramientas a

usar y se hará un planeación siguiendo la metodología scrum.

Pruebas

Finalmente se planificara la manera en como se van a realizar la pruebas, para validar que

se cumplan los requisitos, se implementaran herramientas para facilitar esta fase y se ejecutaran

18
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

las pruebas al mismo tiempo que la etapa de construcción esto para detectar errores desde el

principio.

19
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Metodología

La metodología a implementar para llevar a cabo el desarrollo de este proyecto será

Scrum la cual es una metodología ágil muy popular y es un marco de trabajo para la gestión de

proyectos que permite el trabajo colaborativo y se basa en el aprendizaje continuo en donde el

equipo correspondiente evolucionara a través de la experiencia, consideramos que es importante

experimentar con este tipo de metodologías ágiles dado su popularidad y con esto poder tener las

bases de cómo usarlas en proyectos de software.

Las fases generales que implementaremos de esta metodología ágil son:

• Planificación y Estimación

• Implementación

• Revisión

• Retrospectiva

• Lanzamiento

Figura 1: Metodología Scrum

20
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Planificación

En este capitulo unicamente se encuentra la planificación de las fases que conformaran el

proyecto las cuales ya fueron descritas, se definen las actividades a llevar a cabo en cada fase y

los tiempo a cumplir esta planeación se lleva a cabo usando un diagrama de Gantt el cual se

muestra a continuación

Cronograma de Actividades

Figura 2: Diagrama de Gantt 1

21
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 3: Diagrama de Gantt 2

22
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Obtención de Requisitos

Se realizaron 12 preguntas que consideramos necesarias para poder terminar de entender

las necesidades del cliente y así poder continuar con las siguientes etapas del desarrollo del

sistema web.

Para la obtención de los requerimientos se va a realizar la siguiente entrevista al cliente o

en su defecto a algún Ingeniero que haya sido asignado por el cliente como el más óptimo para

responder a detalle la entrevista.

Entrevista
1. ¿Cuál es la problemática a resolver con este sistema?

2. ¿Defina las tareas de manera breve que debe realizar este sistema web?

3. ¿En qué tiempo requiere el sistema web?

4. ¿Cuál es el presupuesto máximo con el que cuenta para este sistema?

5. ¿Quienes tendrán acceso al sistema?

6. ¿Posee equipo disponible para la ejecución del sistema dentro de la empresa?

7. ¿Tiene algunas preferencias con respecto al diseño?

8. ¿El sistema contará con algún modo de personalización por parte de los usuarios?

9. ¿Cuenta con alguna base de datos?

10. ¿Cuenta con un dominio para subir el sistema web?

11. ¿Requiere que el sistema muestre cambios en tiempo real?

23
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

12. ¿En qué dispositivos usará más este sistema web?

Observaciones.
La entrevista fue realizada al Ingeniero Marco Antonio Rodríguez Crespo persona

encargada de este sistema y que por ende conoce exactamente el funcionamiento de la empresa y

las necesidades a cubrir con el sistema web (Dashboard); la entrevista fue grabada y tuvo la

duración de 9 minutos aproximadamente. Con esta información nosotros consideramos que ya es

lo suficiente para continuar con la especificación de requerimientos usando el IEEE830.

La empresa Soluciones JPI nos proporciono un documento con algunas especificaciones sobre el

sistema que deseaban el cual esta en el (Anexo C)

Documento de Especificación de Requisitos (SRS)

Después de la entrevista con el cliente se analizaron los requerimientos y restricciones del

cliente y en el SRS se definieron 2 puntos principales:

1. Interfaces (Usuario, Hardware, Software)

1. Requisitos Funcionales y Requisitos No Funcionales

Dicho documento esta en el (Anexo D)

24
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Diseño del sistema

En este capitulo se encuentra las especificaciones del diseño del sistema en cual esta

dividió en 2 partes el diseño arquitectónico y el diseño detallado, el desarrollo del diseño parte

desde el SRS realizado anteriormente por ende el SRS debe estar actualizado y bien definido

para hacer con éxito el diseño.

Diseño Arquitectónico

En esta sección se describen los componentes principales y cómo estos se relacionan e

interactúan entre sí, este diseño nos proporciona una abstracción para poder gestionar la

complejidad del sistema, estableciendo una buena comunicación y coordinación entre

componentes.

De la misma manera la arquitectura fue elaborada tomando en cuenta el SRS realizado en

la etapa de requerimientos.

Drivers Arquitectónicos Funcionales.


Definimos los drivers arquitectónicos porque no todos los requerimientos establecidos en

el SRS se usan para el diseño de la arquitectura por lo que se tomaron únicamente aquellos

requerimientos con prioridad alta para la empresa, en donde los requerimientos NO Funcionales

son los de mayor influencia en el diseño arquitectónico.

A continuación se muestra una tabla con los requisitos tomados para la arquitectura y los

criterios por los cuales fueron seleccionados.

25
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE
Tabla 9: Drivers Arquitectónicos Funcionales

ID Criterios de Elección

El visualizar datos de los dispositivos IoT en tiempo real


RF 02 es una de las principales razones de desarrollar este
sistema.

Así como es necesario poder recibir datos de los


RF 03 dispositivos IoT también lo es el mandar comandos a estos
dispositivos.

El almacenamiento de los datos es vital para este sistema,


RF 05
de esa manera podrá contar con un historial de estos.

El objetivo de la empresa es poder visualizar los datos de


los diferentes dispositivos IoT de manera remota y en
RNF 08
tiempo real por ende es importante que el sitio esté
disponible en todo momento.

Los dispositivos IoT y el sitio web debe forzosamente


RNF 04
estar conectados con el protocolo MQTT.

Se requiere que el sistema tenga un buen rendimiento con


RNF 8
un tiempo de respuesta de menos de 3 segundos.

Proteger la información que se está recibiendo y enviando


RNF 9
es muy importante para evitar el robo de los mismos.

El dispositivo debe visualizarse en dispositivos de


RNF 10
escritorio y tablets.

El sistema debe ser fácil de implementar mantenimiento


RNF 11
como correcciones, mejoras o escalabilidad.

26
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Drivers Arquitectónicos de Restricciones.

Tabla 10: Drivers Arquitectónicos de Restricciones

Tipo de
Criterios de Elección
Restricción

De parte del Los dispositivos IoT y el sitio web deben forzosamente estar conectados
Cliente con el protocolo MQTT.

De parte del
La base de datos a implementar debe ser PostgreSQL
Cliente

Patrón/Estilo Arquitectónico.

MVC

El primer patrón arquitectónico que se implementará para este proyecto será el MVC.

El Modelo Vista Controlador es un patrón de arquitectura que separa los datos y la lógica

del negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los

eventos y las comunicaciones.

Figura 4: Arquitectura MVC

Se eligió este patrón arquitectónico por las siguientes razones:

27
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

• Permite tener los componentes separados (interfaces, lógica de negocio, acceso a

datos)

• Permite que el sistema sea escalable si es requerido.

• Se pueden emplear múltiples vistas para un solo modelo sin modificarlo.

• Facilidad para corregir errores.

Tarjetas CRC

Usamos la metodología de Tarjetas CRC para representar los componentes que

conforman el Patrón Arquitectónico MVC, describiendo sus colaboradores y responsabilidades.

Tabla 11: Tarjeta CRC - Modelo

Clase: Modelo Id: 01

Responsabilidades:

• Es el núcleo de funcionalidad de la aplicación.


Colaboradores:
• Este tiene registrado la Vista y Controlador.
• Vista
• Notifica a los diferentes componentes de cambios en
• Controlador
los datos.

• Contendrá mecanismos para acceder a la información

Tabla 12: Tarjeta CRC - Vista

Clase: Vista Id: 02

Responsabilidades: Colaboradores:

• Obtiene datos del Modelo • Modelo

28
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

• Mostrar la información al usuario.


• Controlador
• Renderizar los estados de nuestra aplicación en HTML

Tabla 13: Tarjeta CRS - Controlador

Clase: Controlador Id: 03

Responsabilidades:
Colaboradores:
• Acepta entradas del usuario como eventos.
• Modelo
• Redirecciona solicitudes al modelo o vista. 
• Vista
• Enlazar las vistas y modelos.

Cliente/Servidor

El segundo patrón arquitectónico que se implementará será Cliente-Servidor.

La arquitectura Cliente-Servidor es un estilo arquitectónico distribuido más conocidos el

cual consta de 2 componentes, el proveedor(Servidor) y el consumidor(Cliente) el servidor

brinda servicios, respuestas o recursos al consumidor en esta arquitectura puede existir múltiples

clientes conectados en un solo servidor.

29
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 5: Diagrama Cliente/Servidor

Se eligió este estilo arquitectónico por las siguientes razones:

• Mayor seguridad en el lado del servidor.

• Permite tener la lógica del negocio separada del cliente.

• Permite que varios clientes puedan conectarse en un solo servidor.

Diagrama de Despliegue

Para representar el estilo arquitectónico Cliente-Servidor implementamos el diagrama de

componentes:

Figura 6: Diagrama de Componentes Cliente/Servidor

30
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Diagrama de la Arquitectura.

Una vez definidos los 2 estilos de arquitectura a usar se mostrará una un diagrama de

despliegue de la arquitectura final implementando ambos estilos y cómo es que los diferentes

componentes interactúan entre sí.

Figura 7: Diagrama Arquitectónico del Sistema

Patrones de Comportamiento.

Los patrones de comportamiento nos ayudarán a definir el flujo, relación, comunicación y

asignar responsabilidades a los diferentes componentes que conforman el sistema.

31
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Observer Pattern

Figura 8: Observer Pattern

De una manera sencilla este es un patrón de comportamiento que consiste en

Publisher/Subscribers, por ende cuando hay cambios producidos en algún componente este

notifica a los observadores interesados.

Consideramos necesario implementar este patrón de diseño por las siguientes razones: 

• El sistema debe observar constantemente cualquier cambio en los dispositivos IoT

para mostrarlos en la interfaz.

• El sistema debe observar cuando lleguen datos para almacenarlos en la Base de

Datos.

• Observar cualquier cambio negativo con respecto al status de los dispositivos IoT

y notificar al ingeniero en procesos y al gerente.

32
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Builder.

Este patrón nos permitirá poder optimizar nuestro código dado que implementa una sola

clase la cual retornara un objeto con ciertas características que ha este se le pasen; porque

ejemplo usaremos esto para crear componentes UI en react donde un solo componente lo

podremos usar repetidas veces pero con ciertas características propias de cada componente UI.

Iterator.

State.

Vistas Arquitectónicas.
Para describir las diferentes vistas arquitectónicas se usó el Modelo 4+1 Kruchten, es

cual es un modelo de vistas arquitectónicas diseñado por Philippe Kruchten y que encaja con el

estándar IEEE 1471-2000.

Entonces las vistas arquitectónicas serían las siguientes:

33
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Vista Lógica
En esta vista se describen las funciones que el sistema otorgará a los usuarios finales es

decir lo que el sistema debe hacer para ello se realizó el diagrama de clases:

Diagrama de Clases

Figura 9: Diagrama de Clases

34
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Vista de Despliegue

En esta vista se describe el sistema desde una perspectiva de un desarrollador en donde se

mostrará la forma en cómo está dividido el sistema en sus diferentes componentes, esto se

representa en un diagrama de componentes.

Diagrama de Componentes

Figura 10: Diagrama de Componentes 1

Diagrama de Componente Autenticación

Figura 11: Diagrama de Componentes Autenticación

35
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Vista de Procesos

En esta vista se describen los procesos que hay en el sistema y la manera en cómo se

comunican para ellos se implementa el diagrama de actividad.

Diagrama de Actividades

Figura 12: Diagrama de Actividades

Vista Física

En esta vista se representan todos los componentes físicos del sistema para esto se

implementa el diagrama de despliegue.

Diagrama de Despliegue

Figura 13: Diagrama de Despliegue

36
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Representación gráfica de las posibles herramientas a usar respetando la arquitectura

diseñada, este es un diagrama muy poco específico.

Figura 14: Herramientas Posibles a Implementar

Diseño Detallado
En esta sección se describen los diseños de interfaces y otros aspectos a considerar para la

realización de dichas interfaces.

Diseño de Interfaces.

En esta sección se describe el proceso que se llevó a cabo para elaborar el diseño de las

interfaces que conformarán el sistema.

37
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Primeramente se tomó como referencia la Pirámide UX que está conformada por 4

niveles y el propósito es que nuestro sistema cumpla con esos 4 niveles siendo el nivel Funcional

lo más básico e importante y el nivel superior es cuando el usuario le es Placentero usar el

sistema.

Figura 15: Pirámide UX

Jerarquía de Contenidos

Se realizó un diagrama para representar la estructura de nuestro sistema con respecto a

contenido básicamente es una estructura jerárquica con las diferentes secciones que conformarán

el sistema.

Figura 16: Jerarquía de Contenidos

38
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Interfaces.

Para la realización de los formularios se utilizó Figma con el objetivo de crear una buena

estructura de la información y elementos que tendrá el sistema como imágenes, botones, colores

etc. Y posteriormente realizar los respectivos prototipos.

Wireframes

Primero se realizaron los Wireframes para elegir cómo iba estar conformada la

estructura de las interfaces:

Figura 17: Selección de Tipo de Usuario

39
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 18: Login

Figura 19: Página Principal

40
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 20: Administración de Usuarios

Mockups

Antes de realizar los prototipos de realizaron los mockups que vendrían siendo una

versión más completa de las interfaces.

Figura 21: Selección del Tipo de Usuario

41
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 22: Login

Figura 23: Página Principal

42
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 24: Administración de Usuarios

43
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Construcción
En este capítulo se construye el sistema donde se implementara la metodología
seleccionada en este caso fue Scrum.
Para cada aplicación y tecnología usada en esta etapa se cuenta con una guía de
instalación en el (Anexo B)
Para la construcción de la aplicación se utilizaran las siguientes herramientas:

PostgreSQL

HTML y CSS

JavaScript

React.js

Node.js

Implementación de la Base de Datos


Para gestionar los datos que utiliza el sistema web es indispensable la creación de una
base de datos la cual se basara en el modelo entidad relación realizado en la fase de diseño del
sistema. Para ello se definirá un usuario, nombre de la base de datos y contraseña.
Nombre de la base de datos: dashboardIot
Contraseña de Acceso a la base de datos: 1234
Nombre de usuario de la base de datos: postgresql
Nombre del Archivo SQL: dashboardiot.sql

Implementación de React.js

React.js es una librería utilizada del lado del FrontEnd para la construcción de interfaces

y poder implementar una Single Page Application (SPA) basado en componentes. Los detalles de

instalación se encuentran en la Guía de Instalación, en el Anexo B.2

44
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Implementación de Node.js

Node.js es un entorno en tiempo de ejecución específicamente para el lado del BackEnd y

esta basado en JavaScript, es un entorno controlado por eventos y acepta operaciones I/O (Input,

Output) por lo que es un entorno no bloqueante. Los detalles de instalación se encuentran en la

Guía de Instalación, en el anexo B.3

Implementación de Express.js

Express.js es un framework de lado del BackEnd implementado para Node que permite

organizar nuestra aplicación de una manera más ágil y nos proporciona opciones como el

enrutamiento. Los detalles de instalación se encuentran en la Guía de Instalación, en el anexo B.4

45
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Planeación de la construcción con la metodología SCRUM

Antes de dar inicio con la construcción del sistema primero se llevara a cabo una

planeación de como se estará trabajando con la metodología scrum, donde se definieran

herramientas a usar, las fases de la metodología y otras actividades más que son necesarias para

poder llevar a cabo de manera correcta y productiva esta etapa.

Time-boxing.

Se asignará un bloque de tiempo a cada actividad que conforma nuestra construcción del

software esto con el fin de administrar correctamente el tiempo para ello en la siguiente tabla se

muestra el tiempo que tiene establecido cada actividad a realizar:

Daily Sprint
Sprint Planning Review
Standup Retrospective

2 3 horas - 4 horas por 15 4 horas por cada 4 horas por cada


semanas cada Sprint minutos semana sprint

46
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Sprint

En la siguiente imagen se muestran 3 fases a realizar por cada Sprint las cuales se

desglosan posteriormente:

Planificación y Estimación.

Valoración de Historias de Usuario

Como tal la valoración de historias de usuarios se llevó a cabo en la etapa de requisitos

por todos los miembros del equipo, usando la técnica de “Planning Poker”, los resultados

fueron los siguientes:

Historia de Usuario Puntos

HU.1 100

HU.2 40

HU.3 40

HU.4 20

HU.5 40

HU.6 8

47
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

HU.7 13

HU.8 8

HU.9 13

HU.10 8

HU.11 8

HU.12 5

HU.13 8

HU.14 8

HU.15 8

Total 327

Estimación de Tiempos

Primeramente se estableció que cada Sprint será equivalente a 2 semanas; el equipo

registró la cantidad de puntos que se cumplieron durante la realización del primer prototipo del

sistema de esta manera logramos apreciar que realizamos 56 puntos en 2 semanas.

Estos resultados obtenidos nos ayudarán a poder planificar los sprints, estableciendo

cuantos puntos realizar en cada uno y definir tiempos.

Dado que logramos hacer 56 puntos en 2 semanas podemos obtener una estimación de

cuánto tiempo tomará realizar todo el sistema realizando el siguiente cálculo:

327/56 = 5.8 Sprints * 2 = 11.9 semanas = 2 meses y 3 semanas aproximadamente.

Entonces lo ideal sería lograr hacer 60 puntos por cada Sprint para poder cumplir con la

estimación.

48
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Tomando en cuenta este análisis la fecha que asignamos para terminar este producto es el

10/12/2022

Objetivos del Sprint

Primeramente se analizarán las historias de usuario y se seleccionarán 60 puntos tomando

estas HU se definirá el Objetivo del Sprint.

Identificación de Tareas

Ya una vez tengamos las HU y tengamos bien definido el Objetivo del Sprint pasamos a

identificar las tareas de cada Sprint que deben ser cumplidas; cada tarea deberán tener:

• El requisito o H.U al que aportan.

• Por quién del equipo será realizado

• Descripción detallada

• El estado de dicha tarea (Pendiente, En Progreso, Completa)

• Días del Sprint (1-10)

Para poder llevar esto de una manera óptima se llevará a cabo una charla en equipo antes

de finalizar un Sprint para planificar el siguiente Sprint y sus tareas a cumplir.

49
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Sprint Backlog
El Sprint Backlog es una lista de tareas identificadas por el equipo las cuales deberán ser

completadas en cada sprint para poder implementar esto usaremos una herramienta web llamada

Jira el cual es para la planificación de proyectos.

Las tareas que se definan en este software serán las mismas que se identificaron

anteriormente junto con los atributos mencionados anteriormente.

Implementación.

Aquí se inicia el Sprint en este punto ya todo el Sprint debe estar bien planificado usando

la herramienta Jira y cada miembro del equipo deberá trabajar el las tarea que les fue asignada;

durante esta fase se realizará el Daily Standup:

Daily Standup

Como tal no se planea hacer una reunión todos los días pero si se planea preguntar a cada

miembro y llevar un registro de las siguientes 3 preguntas:

1. ¿Qué ha hecho desde la última reunión?

2. ¿Qué tengo planeado hacer antes de la siguiente reunión?

3. ¿Qué impedimentos u obstáculos estoy enfrentando en la actualidad?

Las herramientas a usar para la comunicación como equipo serán Meet y WhatsApp, los

tiempos ya se definieron anteriormente en Time-boxing.

50
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Herramientas
Todos los avances que tengan que ver con codificación serán registrados con la

herramienta de GitHub. https://github.com/JoseckGD/dashboard-iot

Antes de subir avances a GitHub cada miembro deberá aplicar pruebas unitarias al

módulo que le corresponda esto para mantener el repositorio lo más libre de errores.

Entregable

Al final de cada sprint se debe tener un entregable. El entregable debe incluir todas las

características y funcionalidades definidas en las historias de usuario que se incluyen en el sprint

y deben haber sido evaluadas satisfactoriamente.

Sprint Backlog (Scrumboard)

El Scrumboard se actualiza con regularidad conforme el equipo completa sus tareas y al final de

cada sprint el Scrumboard de reinicia borrando todas las tareas para el inicio de otro sprint; como

se mencionó para darle el seguimiento de tareas se usará JIRA.

Revisión y Retrospectiva.

Aquí se cubre la revisión de los entregables y el trabajo que se ha realizado y se

identifican los puntos negativos como positivos para encontrar formas para mejorar, esto se

divide en 2 procesos:

51
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Revisión del Sprint

La revisión de cada sprint tiene un time-box de 4 horas en donde se revisará el entregable

de cada miembro del equipo, validar con los criterios de aceptación definidas en las HU y dar

una respuesta de aprobación.

Retrospectiva del Sprint

Se analiza el sprint anterior para determinar los procesos que se siguieron, herramientas

empleadas, mecanismos de comunicación etc. principalmente se analiza aquello que salió bien

durante el sprint y lo que no salió bien esto es para poder obtener puntos de mejora para la

planificación del siguiente sprint. Este análisis debe tomar un máximo de 4 horas y deberá ser

documentado.

Gráfico del Quemado → Actualizar

Se decidió realizar una gráfica del quemado para poder representar la productividad del

equipo donde se define la cantidad de sprints y la cantidad de puntos restantes por cada sprint.

El primer Sprint empezó desde el 10-ago-2022

52
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Planificación del Proyecto con Jira

Como mencionamos anteriormente nos decidimos por utilizar Jira para planificar todo

nuestro proyecto, consideramos que es una herramienta fácil de usar y de aprender y aparte viene

optimizado para usar con la metodología Scrum.

Asignación de Tareas para el Sprint 1.

Una vez que creamos nuestro proyecto con Scrum en Jira creamos un Sprint y asignamos

algunas tareas que deberán cumplirse en dicho Sprint, se asignó el tiempo límite, se definió el

objetivo del Scrum y las H.U que se están realizando.

Por cada Tarea se especificó:

• Objetivo

• Descripción

• Quien del Equipo la realizará

• La H.U a la que pertenece

• El estado de la tarea (Pendiente, En Progreso, Completa)

53
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Evidencia:

Figura 25: Evidencia 1 - Sprint 1 Jira

Sprint 1

El primer sprint realizado fue del día 06/Oct/2022 al 16/Sept/2022

Implementación
Reuniones de Scrum
Reunión 1: 14/10/2022
Tipo: Daily Standup
Hora: 7:00pm
Tiempo: 15 minutos
Durante esta corta reunión le pregunté a cada miembro del equipo las siguientes

preguntas:

1. ¿Qué ha hecho desde la última reunión?

2. ¿Qué tengo planeado hacer antes de la siguiente reunión?

3. ¿Qué impedimentos u obstáculos estoy enfrentando en la actualidad?

54
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Después de escuchar las respuestas de cada uno determine que Ubaldo y Jose Evaristo ya

habían concluido sus actividades por lo que se le asignaron nuevas actividades.

Sprint Backlog

Se actualizaron las tareas en la herramienta JIRA después de la Reunión del equipo del

mismo día, para asignarles más trabajo a aquellos que ya habían concluido con sus tareas.

Retrospectiva del Sprint

Reunión 2: 15/10/2022
Tipo: Analizar el Sprint 1
Hora: 01:00pm
Tiempo: 40 minutos

Después de la reunión diaria con el equipo se decidió realizar otra reunión  en el mismo

día para analizar el sprint y determinar nuestra productividad, si se cumplió el objetivo definido

del sprint y aquellos puntos negativos como positivos, llegando a lo siguiente:

Puntos Negativos:

• Nuestra productividad no fue la deseada.

• Miembros del equipo terminaron rápido sus tareas y como no se les asignó más

estuvieron sin trabajar.

• No se cumplió el objetivo del sprint

Puntos Positivos:

• Las tareas estaban bien definidas y fáciles de entender.


55
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

• Los entregables cumplieron con el objetivo definido y fueron funcionales.

• Algunos miembros del equipo terminaron en tiempo y forma sus tareas.

Sprint 2

El segundo sprint consta del día 17/Oct/2022 al 30/Oct/2022

Planeación y Estimación

Reunión 1: 15/10/2022
Tipo: Planificación del siguiente Sprint
Hora:10:00am
Tiempo: 2hrs

Se llevó a cabo esta reunión con todo el equipo para poder definir las nuevas tareas del

script, tomamos en cuenta los puntos obtenidos al analizar el anterior Sprint para mejorar el

futuro sprint.

Los puntos que se tomaron en esta reunión fueron:

• Se asignó y discutió acerca de quién realizará las pruebas unitarias de cada entregable que

ya haya realizado algún otro miembro del equipo a lo que se asignó a Angel y Otli para

dichas tareas.

• Se definió un objetivo para el sprint

• Se crearon nuevas tareas con la herramienta JIRA y se asignó dicha tarea a un miembro

específico del equipo.

• Se definieron las tareas para realizar las pruebas unitarias y como documentarlas.

• Se reasignan aquellas tareas que no se llevaron a cabo en el Sprint anterior.

56
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Figura 26: Evidencia 2 - Planeación del Sprint 2 en JIRA

Implementación
Reuniones de Scrum
Reunión 1
Tipo: Daily Standup
Hora: 7:00pm
Día: 17/oct/2022
Tiempo: 15 minutos

Se realizó la primera reunión del sprint 2 donde:

• Mostré al equipo las actividades del sprint y a quien le correspondía cada tarea.

• Explique cada tarea y verifique que a todos les quedará claro sus actividades.

• Se da inicio al sprint número 2

Reunión 2:
Tipo: Daily Standup
Hora: 7:00pm
Día: 19/oct/2022
57
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Tiempo: 15 minutos

Esta fue la segunda reunión donde

• Cada uno respondió a las siguientes preguntas:

1. ¿Qué ha hecho desde la última reunión?

2. ¿Qué tengo planeado hacer antes de la siguiente reunión?

3. ¿Qué impedimentos u obstáculos estoy enfrentando en la actualidad?

• También se discutió acerca de los entregable los cuales serán subidos a un

servidor de prueba con el fin de que 2 compañeros del equipo realicen pruebas a

dichos entregables en ese servidor.

Reunión 3:
Tipo: Daily Standup
Hora: 6:00pm
Día: 27/oct/2022
Tiempo: 20 minutos

• También se discutió acerca de algunos detalles con respecto a la base de datos y el

servidor de pruebas.

• De la misma manera se reviso el plan de pruebas realizado.

58
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Sprint Backlog

Día: 19/Oct/2022

Con las respuestas de la reunión 2 del sprint se actualizó el Backlog donde algunos

compañeros terminaron sus tareas e iniciaron otra nueva mientras que otros están en progreso

con una de sus tareas asignadas.

Revisión del Sprint


Durante esta reunión se revisaron los entregables de cada miembro y los detalles

encontrados se le comentaba al encargado de cada entregable para su corrección, como tal casi

todos los entregables cumplieron con los objetivos.

Retrospectiva del Sprint


Reunión: 29/10/2022
Tipo: Analizar el Sprint 2
Hora: 05:00pm
Tiempo: 30 minutos

Después de la reunión con el equipo se determinaron lo siguientes puntos:

Puntos Negativos:

• Ninguno

Puntos Positivos:

• Las tareas estaban bien definidas y fáciles de entender.

• Los entregables cumplieron con el objetivo definido y fueron funcionales.

• Todos los miembros del equipo terminaron en tiempo y forma sus tareas.

• Se cumplió el objetivo de este Sprint

59
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Sprint 3

Planeación y Estimación

Reunión 1:
Tipo: Planificación del siguiente Sprint
Hora:10:00am
Tiempo: 1hora

Se asignaron nuevas actividades al Jira:

Implementación
Reuniones de Scrum
Reunión 1
Tipo: Daily Standup
Hora: 6:00pm
Día: 03/11/2022
Tiempo: 10 minutos

Se realizó la primera reunión del sprint 2 donde se hicieron las misma tres preguntas

antes mencionadas, no huvo dudas o obstáculos con respecto a las actividades de cada miembro

del equipo.
60
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Reuniones de Scrum
Reunión 4
Tipo: Daily Standup
Hora: 7:00pm
Día: 10/11/2022
Tiempo: 10 minutos

Se tomaron punto importantes con respecto a la base de datos dada que no esta del todo

bien implementada, se hablaron de las posibles soluciones y se hizo la corrección.

De la misma manera se explico la manera de como hacer la planeación para la etapa de

pruebas y se diseño una plantilla para los casos de prueba.

Figura 27: Reunión (Meet)

61
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Revisión del Sprint


Reunión
Tipo: Daily Standup
Hora: 7:00pm
Día: 12/11/2022
Tiempo: 30 minutos

Se revisaron que los entregables de cada miembro del equipo cumplieran con los
objetivos hubo algunos detalles pero se corrigieron en este mismo Sprint.

Retrospectiva del Sprint

Reunión
Tipo: Daily Standup
Hora: 7:00pm
Día: 14/11/2022
Tiempo: 30 minutos

Después de esta ultima reunión del actual Sprint logramos ver un crecimiento en nuestra
productividad y un 95% de las tareas asignadas fueron completadas.

62
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Sprint 4

Planeación y Estimación

Reunión 1:
Tipo: Planificación del siguiente Sprint
Fecha: 18/11/2022
Hora: 6:00pm
Tiempo: 1hora

Se asignaron nuevas actividades al Jira:

Implementación
Reuniones de Scrum
Reunión 1
Tipo: Daily Standup
Hora: 7:00pm
Día: 21/11/2022
Tiempo: 10 minutos

Se realizó la primera reunión del sprint 4 donde se hicieron las misma tres preguntas

antes mencionadas.

63
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Reuniones de Scrum
Reunión 2
Tipo: Daily Standup
Hora: 7:00pm
Día: 23/11/2022
Tiempo: 10 minutos

Se tomaron puntos con respecto a la etapa de pruebas y la estructura del presente

documento, en este punto las reunión son más breves dado que la carga de trabajo se ha ido

disminuyendo.

Revisión del Sprint


Reunión
Tipo: Daily Standup
Hora: 7:00pm
Día: 01/12/2022
Tiempo: 30 minutos

Se revisaron avances principal la documentación para la etapa de pruebas y el presente


documento (Memoría de Estadía)

Retrospectiva del Sprint

64
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Código

Se presenta partes del código pero dado lo extenso que este esta, se deja el repositorio de GitHub
https://github.com/JoseckGD/dashboard-iot

65
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Pruebas

Planeación de Pruebas y tecnologías seleccionadas

Log de Pruebas

Pruebas de Caja Negra

Pruebas de Caja Blanca

66
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Capitulo 5
Resultados

67
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Capitulo 6

Trabajos a Futuro

68
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Anexos

69
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Anexo A

Manual de Usuario

Anexo B

Guiá de Instalación
En esta guía se encuentran las instrucciones para instalar, configurar y usar las distintas
tecnologías usadas para la construcción del sistema:

B1. Configuración de PostgreSQL.


• Link de Descargar https://www.postgresql.org/download/
• Abrir pgAdmin 4
• Lado izquierdo clic sobre “Servers (1)” y doble clic sobre “PostgreSQL 10”
• Ingresar una contraseña
• Lado izquierdo clic derecho sobre “Databases”, “New Database”
• Ingresar los siguientes datos: Nombre: dashboardIot | Password: 1234

B2. Configuración de React.js.


• Se requiere tener Node.js Instalado
• En consola sobre algun directorio donde se creare el proyecto react ejecutar el
siguiente comando:}
npx create-react-app my-app

• Ahora para arrancar el proyecto:


npm start

70
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Anexo C

Documento dado por la empresa

https://drive.google.com/file/d/1K7gRap38z6MC1k6cCzs5q5LqWNlG0wEz/view?usp=sharing

Anexo D

Especificación de Requisitos de Software (SRS)

https://drive.google.com/file/d/1UfgLQCLWR-sOb4rDIi5ff7SVgadWqe6X/view?usp=sharing

Anexo E

Lista de Siglas, abreviaturas y acrónimos

• SRS – Especificación de Requisitos de Software

71
UNIVERSIDAD POLITÉCNICA DE PACHUCA INGENIERÍA DE SOFTWARE

Bibliografía

Caminiti, G. (2021, 28 septiembre). ¿Qué es React JS y cómo funciona? Coderhouse.

Recuperado 22 de octubre de 2022, de https://www1.coderhouse.com.mx/blog/que-es-react-js?

ss=e891fb0c-f373-487f-9186-e048c6a8f63b

Simões, C. (2021, 27 julio). ¿Qué es Node.js y para qué sirve? Blog ITDO - Agencia de

desarrollo Web, APPs y Marketing en Barcelona. Recuperado 22 de octubre de 2022, de

https://www.itdo.com/blog/que-es-node-js-y-para-que-sirve/

Qué es Express.JS y primeros pasos. (2022, 3 marzo). IfgeekthenNTTdata. Recuperado 22 de

octubre de 2022, de https://ifgeekthen.nttdata.com/es/que-es-expressjs-y-primeros-pasos

72

También podría gustarte