Está en la página 1de 87

DESARROLLAR UN PROTOTIPO DE UN SISTEMA DE INFORMACIÓN QUE PERMITA

LLEVAR UN REGISTRO DE LOS GASTOS DE PERSONAS NATURALES MEDIANTE


BOTS

MANUELA DIAZ CUNICHE


VICTOR MAURICIO LATRIGLIA DIAZ

UNIVERSIDAD INTERNACIONAL DEL TRÓPICO AMERICANO-UNITRÓPICO


FACULTAD DE INGENIERÍAS

PROGRAMA DE INGENIERÍA DE SISTEMAS


YOPAL

1
2022
DESARROLLAR UN PROTOTIPO DE UN SISTEMA DE INFORMACIÓN QUE PERMITA
LLEVAR UN REGISTRO DE LOS GASTOS DE PERSONAS NATURALES MEDIANTE
BOTS

MANUELA DIAZ CUNICHE


VICTOR MAURICIO LATRIGLIA DIAZ

Proyecto presentado para optar por el título de


INGENIERO DE SISTEMAS

CRISTIAN CAMARGO
Director del proyector

UNIVERSIDAD INTERNACIONAL DEL TRÓPICO AMERICANO-UNITRÓPICO


FACULTAD DE INGENIERÍAS

2
PROGRAMA DE INGENIERÍA DE SISTEMAS
YOPAL

2022

NOTA DE ACEPTACIÓN

Firma del Director del Proyecto

Firma del Jurado

3
Firma del Jurado

Ciudad., Fecha sustentación  

DEDICATORIA

En primer lugar agradezco a Dios por guiarme en mi camino y por permitirme concluir con mi
objetivo por todas sus bendiciones, a mis Padres que han sabido darme su ejemplo de trabajo y
honradez.

4
AGRADECIMIENTOS

Agradezco a las directivas de la UNIVERSIDAD INTERNACIONAL DEL TRÓPICO


AMERICANO-UNITRÓPICO, quienes con su trabajo continuo nos brindan la oportunidad de
estudiar y laborar, por otro lado, a cada uno de los tutores y asesores que me acompañaron en el
proceso les reconozco que sin su apoyo y colaboración éste logro no hubiera sido posible.

5
Contenido
1 INTRODUCCIÓN 12
2 DEFINICIÓN DEL PROBLEMA 13
3 FORMULACIÓN DEL PROBLEMA 15
4 JUSTIFICACIÓN 16
5 OBJETIVOS 17
5.1.1 OBJETIVO GENERAL 17
6  Alcancé 18
7 MARCO REFERENCIAL 20
7.1 ANTECEDENTES 20
7.1.1 Estado del arte La tecnología en la actualidad juega un valor importante en nuestra
sociedad, pues se ha adaptado fácilmente a las necesidades de las personas con el hecho de
ofrecerles miles de funciones al alcance de su mano, ya sea para el ámbito profesional como
en el personal. 20
▪ 7.3.2.1Finanzas personales 25
▪ 7.3.2.2Sistemas 25
▪ 7.3.2.3Presupuesto 25
▪ 7.3.2.4Gasto 26
▪ 7.3.2.5Asistentes virtuales 26
▪ 7.3.2.6Portal web interactivo 26
▪ 7.3.2.7Requerimientos funcionales 27
▪ 7.3.2.8Requerimientos No funcionales 27
▪ 7.3.2.9Computación en la nube 27
1. Marco legal 28
2. MARCO METODOLÓGICO 31
9.1.1 Marco muestral 35
9.1.2 Tamaño de la muestra 35
6
9.1.3 Instrumentos de recoleccion de datos 35
▪ 10.3.1Resultados 38
9.2.1 Requerimientos funcionales 40
▪ REQUERIMIENTO 41
▪ MODULO 41
▪ DESCRIPCION 41
▪ RF5: Crear usuario 41
▪ Gestion de usuarios 41
▪ Permite el crear un usuario mediante la pagina web 41
▪ RF6: Consultar usuario 41
▪ Gestion de usuarios 41
▪ Consulta la informacion del usuario 41
▪ RF7: Actualizar usuario 41
▪ Gestion de usuarios 41
▪ Actualizacion de la informacion de usuario 41
▪ RF8: Borrar usuario 41
▪ Gestion de usuarios 41
▪ Borrar la informacion de usuario 41
▪ 41
9.2.2 Requerimientos no funcionales 42
9.3.1 Análisis y diseño 43
9.4.1 Aplicativo web 63
9.4.2 Interfaz de usuario 64
10 DESARROLLO 66
11 CRONOGRAMA 67
12 PRESUPUESTO 69
13 CONCLUSIONES 70
● Referencias 70
14 BIBLIOGRAFÍA 70

7
LISTA DE TABLAS

Pág.

Tabla 1. Título de la tabla 21

LISTA DE FIGURAS

Figura 1.Programacion XP 24
Figura 2 Programación scrum24

8
LISTA DE CUADROS

pág.

Cuadro 1. Título del cuadro 18


Cuadro 2 Cronograma de actividades 22


LISTA DE ANEXOS

pág.

Anexo A. Nombre del Anexo 28


Anexo B. Nombre del Anexo 28

(Se indican de dos formas: Si son menos de 27 anexos, se listan con las letras del alfabeto, si son
mayores de 27 anexos, se listan con números. Al igual que las anteriores listas, también llevan el
título completo en mayúscula inicial y esta tabla debe ser automática)

9
GLOSARIO

Casos de uso: es un lenguaje de modelado para visualizar, especificar, construir y documentar


partes de un sistema software desde distintos puntos de vista
• Puede usarse con cualquier proceso de desarrollo, a lo largo de todo el ciclo de vida y puede
aplicarse a todos los dominios de aplicación y plataformas de implementación
• También puede usarse en tres áreas, como la ingeniería de negocio y modelado de procesos
gracias a los mecanismos de adaptación/extensión mediante perfiles. [1]
Modulo: Un módulo es un componente de software o parte de un programa que contiene una o
más rutinas. Uno o más módulos desarrollados independientemente forman un programa. Una
aplicación de software de nivel empresarial puede contener varios módulos diferentes, y cada
módulo sirve operaciones comerciales únicas y separadas. Los módulos facilitan el trabajo de un
programador al permitir que el programador se concentre en un solo área de la funcionalidad de
la aplicación de software. Los módulos se incorporan típicamente en el programa (software) a
través de interfaces. [2]
Requerimiento: son las necesidades de los Stakeholders que requiere que el Sistema deba de
cumplir de manera Satisfactoria. Son los que definen las funciones que el sistema será capaz de
realizar, describen las transformaciones que el sistema realiza sobre las entradas para producir
salidas. Es importante que se describa el ¿Qué? y no el ¿Cómo? se deben hacer esas
transformaciones. Estos requerimientos al tiempo que avanza el proyecto de software se
convierten en los algoritmos, la lógica y gran parte del código del sistema. [3]
Prototipo: Es un modelo o representación temprana de un producto o sistema, que se utiliza para
probar y evaluar su funcionamiento y diseño antes de su implementación final. [4]
Sistema de información: Es un conjunto de componentes interconectados que se utilizan para
capturar, almacenar, procesar y distribuir información dentro de una organización. [5]
Automatización: Es el proceso de utilizar tecnología para realizar tareas de manera automática,
sin la intervención humana. [6]
Eficiencia: Se refiere a lograr las metas con la menor cantidad de recursos. Obsérvese que el
punto clave en esta definición es ahorro o reducción de recursos al mínimo. [7]

10
Bots: Son programas informáticos que automatizan tareas específicas en una computadora o en la
web, mediante la simulación de la interacción humana. [8]
Registro de gastos: Es la actividad de capturar y mantener un registro de los gastos realizados por
una persona, organización o empresa. [9]
Personas naturales: Se refiere a individuos que actúan en su propio nombre y no como parte de
una organización o empresa. [10]
Gestión de recursos financieros: Se refiere al proceso de planificación, organización, control y
seguimiento de los recursos financieros de una persona, organización o empresa, con el objetivo
de maximizar su uso y minimizar los riesgos financieros. [11]

11
RESUMEN
Proyecto Esmeralda es un proyecto de desarrollo de software hoy direccionado a la creación de
un chat bot de WhatsApp el cual les permita a los usuarios llevar un registro de sus gastos para
mejorar la gestión financiera de los usuarios, simplificar el proceso de registro y análisis de los
datos y permitir a los usuarios tomar decisiones informadas en cuanto a sus gastos. Este sistema
automatizado permitirá a las personas naturales tener un mejor control sobre sus recursos
financieros, lo que les permitirá tomar decisiones informadas en cuanto a sus gastos. Además, la
automatización de la captura de los datos de los gastos mediante bots reducirá la carga de trabajo
en la gestión financiera y permitirá a los usuarios dedicar más tiempo y energía a otras
actividades importantes.
La primera fase involucró la recolección de requerimientos a través de encuestas, las cuales
permitieron identificar las necesidades y preferencias de los potenciales usuarios; las respuestas
fueron entonces analizadas y se decidió qué el chat bot sería el foco del proyecto, ya que esto le
permitiría al usuario ingresar sus gastos de una manera fácil y rápida para poder ser procesada en
su futuro.
Las etapas de codificación y testeo fueron ejecutadas de manera exitosa y a pesar de algunas
pequeñas dificultades, el sistema fue exitosamente desarrollado. Luego de asegurarse que el chat
bot fuera amigable con los usuarios y proveyese una facilidad de uso aceptable se realizó el
despliegue en Azure, lo que le permitió a los early adopters probar el producto final, y se usó el
feedback recibido por ellos en modificaciones y correcciones necesarias para garantizar una
mayor satisfacción.
Se siguieron prácticas de Extreme Programming (XP) lo que aseguró que se trabajara cerca a los
requerimientos reales del usuario, junto con paradigmas de metodologías ágiles lo que habilitó
una flexibilidad en la aproximación del proyecto durante su ciclo de vida.
En general el proyecto fue exitoso en cumplir sus objetivos y el producto final fue bien recibido
por sus usuarios.

12
Palabras Claves: Gastos, control de gastos, herramienta

ABSTRACT

A specific, important and undeniable fact of the advancement in mobile technology is very
important to highlight that the way of communicating has improved since today there are high-
generation telephones that every day improve their new models of comfortable mobile devices
for our society. , in order to serve a larger purpose like solving problems or making life easier and
better.
Furthermore, it creates innovation by facilitating the invention and production of new services,
products or processes in a business environment, which makes it very useful for people's work
and provides various solutions.
This inspired us to develop a useful cost management tool. Financial planning can often be a
complex subject that few people handle, so it is perceived in the day to day of people. The
mismanagement of money can generate situations of economic stress that flourish not only to the
individual, but also to the productivity of the company and the social level of the country, which
is why it was carried out as a research project.
The expense tracking tool that helps people keep track of their expenses and income, categorize
them correctly and get all kinds of reports and comparisons to see how their money is moving.
A tool that allows you to centralize the information of your expenses, but unlike other
13
alternatives, it does not require you to link your accounts directly. Therefore, it is a very
interesting app for those who are most concerned about their privacy and do not want any
company to know the details of their bank accounts, to know where their money goes and what
they spend it on the most. Also, simply manually entering these expenses will create awareness.

Keywords: Expenses, expense control, tool

1 INTRODUCCIÓN
En la actualidad, la gestión de los recursos financieros es una actividad esencial para las personas
naturales, ya que permite tomar decisiones informadas en cuanto a los gastos y maximizar el uso
de los recursos. Sin embargo, muchas veces el proceso de registro y análisis de los datos de los
gastos resulta tedioso y requiere una gran cantidad de tiempo y esfuerzo, lo que puede afectar la
eficiencia y la precisión de los resultados.
Por ello, en este proyecto se propone el desarrollo de un prototipo de sistema de información
automatizado para la gestión de gastos de personas naturales mediante bots. Este sistema
automatizado permitirá a los usuarios capturar y mantener un registro de sus gastos de manera
eficiente y precisa, lo que les permitirá tomar decisiones informadas en cuanto a sus finanzas.
Además, la automatización de la captura de los datos de los gastos mediante bots reducirá la
carga de trabajo en la gestión financiera y permitirá a los usuarios dedicar más tiempo y energía a
otras actividades importantes.

14
Implementar una herramienta de control de gastos personales se puede hallar patrones, comparar
intervalos de tiempo, medir la rentabilidad y los resultados para tomar decisiones, es decir, de
este modo, uno puede fijarse en qué cosas gasta más e intentar modificar sus hábitos de consumo,
si es que lo necesita. También permite hacer un seguimiento de todos los pagos mensuales, tanto
los que son fijos como los variables, y así poder hacer una estimación aproximada de los gastos
para los siguientes meses
Actualmente existe muchas herramientas que frecen llevar ese descontrol de gastos como apps
móviles, libretas a mano o una simple nota en el celular e ir introduciendo los gastos, etc. Sea
como sea tener controlado los gastos termina olvidándose
Este proyecto sirve como una solución alternativa para que las personas administremos
presupuesto, y así se pueden predecir los próximos problemas. Falta de liquidez para cubrir otras
partidas presupuestarias.
Lo más importante para que un presupuesto personal sea beneficioso para la economía no es
ejecutar el presupuesto, sino actualizarlo mensualmente, semanalmente, incluso diariamente.
2 DEFINICIÓN DEL PROBLEMA

Actualmente pocas personas tienen claro cuánto se están gastando mensualmente, esto puede ser
atribuido a hábitos de consumo y mal uso de herramientas contables que les ayude a administrar
mejor sus gastos, ahorros e inversiones. Actualmente, muchas personas no llevan un registro
detallado de sus gastos, lo que puede dificultar el seguimiento y el control de sus finanzas
personales. Además, los métodos tradicionales de registro de gastos, como las hojas de cálculo o
el papel, pueden ser tediosos e inexactos, y pueden consumir mucho tiempo. Esta falta de control
sobre los gastos personales puede llevar a situaciones de endeudamiento o desequilibrio
financiero, lo que puede tener consecuencias negativas a largo plazo en la vida de las personas.
Además, sin un registro adecuado de los gastos, puede ser difícil identificar patrones de gasto y
áreas donde se pueden realizar ajustes para ahorrar dinero.
El registro de los gastos personales siempre ha sido importante para las personas, pero la falta de
herramientas eficientes para llevar un registro detallado de los gastos ha sido una problemática
constante. Con el auge de la tecnología y el surgimiento de nuevas formas de pago, como las
tarjetas de crédito y las transacciones digitales, la necesidad de una herramienta eficiente para
llevar un registro de los gastos ha aumentado.
El problema afecta a cualquier persona que tenga ingresos y gastos, independientemente de su
edad, género, nivel socioeconómico o país de origen. Sin embargo, puede afectar más a aquellas
personas que tienen dificultades para controlar sus gastos o que tienen ingresos limitados.
En los últimos años, han surgido varias aplicaciones y herramientas en línea para ayudar a las
15
personas a llevar un registro de sus gastos. Algunas de estas aplicaciones utilizan inteligencia
artificial y machine learning para analizar los patrones de gasto y proporcionar recomendaciones
personalizadas para ahorrar dinero. Además, las instituciones financieras también ofrecen
herramientas en línea para ayudar a sus clientes a realizar un seguimiento de sus gastos y
establecer presupuestos. A pesar de estos intentos, aún existe una necesidad de herramientas más
eficientes y accesibles para llevar un registro de los gastos
El Departamento Administrativo Nacional de Estadística (DANE) es la entidad encargada de
recopilar y analizar estadísticas en Colombia. A continuación, se presentan algunas estadísticas
relevantes basadas en datos del DANE sobre el consumo y los gastos de los hogares en
Colombia:
Según la Encuesta Nacional de Presupuestos de los Hogares (ENPH) del DANE, en 2019 el gasto
promedio mensual por hogar en Colombia fue de $3,074,058 pesos. El gasto promedio más alto
se registró en los hogares de la región Caribe, con $3,459,114 pesos al mes.La ENPH del DANE
también muestra que los hogares colombianos gastan en promedio el 56% de sus ingresos en
alimentación, vivienda y transporte. Los gastos en alimentos representan el mayor porcentaje del
gasto, con el 26.4% del gasto total mensual del hogar en 2019. [12]
Según la Encuesta de Calidad de Vida del DANE de 2019, el 48% de la población colombiana
afirma que el ingreso no le alcanza para cubrir sus gastos mensuales. [13]
El análisis estadístico de estas cifras sugiere que los hogares colombianos gastan una parte
significativa de sus ingresos en necesidades básicas, como alimentación, vivienda y transporte.
Además, el análisis sugiere que un porcentaje significativo de la población colombiana tiene
dificultades para cubrir sus gastos mensuales, lo que subraya la importancia de contar con
herramientas eficientes para llevar un registro detallado de los gastos y administrar mejor los
ingresos y los gastos.

16
3 FORMULACIÓN DEL PROBLEMA

¿CÓMO DESARROLLAR UN PROTOTIPO DE SISTEMA DE INFORMACIÓN QUE PERMITA LLEVAR UN


REGISTRO AUTOMATIZADO Y EFICIENTE DE LOS GASTOS DE PERSONAS NATURALES MEDIANTE
BOTS, CON EL FIN DE SIMPLIFICAR Y OPTIMIZAR EL PROCESO DE REGISTRO Y ANÁLISIS DE LOS
DATOS Y ASÍ MEJORAR LA GESTIÓN DE LOS RECURSOS FINANCIEROS DE LAS PERSONAS
NATURALES?

17
4 JUSTIFICACIÓN

Este sistema puede ser de gran utilidad para un amplio público, incluyendo a estudiantes,
trabajadores y cualquier persona interesada en llevar un control detallado de sus gastos
personales. En particular, puede ser de gran utilidad para aquellos que tienen dificultades para
administrar sus ingresos y gastos, y para quienes buscan optimizar su presupuesto y mejorar su
situación financiera.
El prototipo de sistema de información puede ser diseñado para ser fácil de usar y accesible para
todos los usuarios, independientemente de su nivel de conocimiento técnico. Además, el uso de
bots para el registro de gastos es una tecnología innovadora que puede mejorar la eficiencia y
rapidez de este proceso.
Tener en cuenta que diariamente las personas para tomar decisiones oportunas y determinar su
estado financiero, algunos optan por implementar un herramienta digital de control de gastos,
otros prefieren utilizar herramientas rudimentarias que podrían mejorar la situación económica
evitando posibles consecuencias de una inadecuada administración de los ingresos como libros,
cuadernos de gastos o herramientas versátiles que mejoran la situación económica e ayuda de un
amigo o familiar, tal como lo demuestra la encuesta realizada por la empresa Yopaleña CreApps,
donde el 97% de los encuestados están interesados en conocer el estado de sus finanzas. Esto
junto con la consulta sobre el uso de herramientas en la cual un aproximado del 41% están
interesados en usar (o ya usan) una que les permita gestionar sus gastos. [14]
Por esto, usar las redes sociales para enviar un mensaje breve y relevante puede ayudar con la
adopción de costumbres y herramientas de finanzas personales, como la gestión de los saldos de
cuentas, pagos de préstamos, y para promover los comportamientos deseados de ahorro.
18
WhatsApp es el servicio de mensajería instantánea con mayor uso en Colombia, según un estudio
realizado el 23 de septiembre del 2021, a fecha del 2019 el 55% de los usuarios de mensajería
instantánea usaban WhatsApp. [15]
Por esto, WhatsApp representa el medio adecuado para tanto llegar a las personas cómo para que
estas no se sientan ajenas o extrañas ante el uso de herramientas y prácticas de las cuales pueden
no estar acostumbrados.

5 OBJETIVOS

5.1.1 OBJETIVO GENERAL


Desarrollar un prototipo de sistema de información mediante bots que permita a personas
naturales llevar un registro eficiente de sus gastos y así mejorar su control financiero.

5.2 OBJETIVOS ESPECÍFICOS

● Realizar la toma de requerimientos con los Early Adopters para elaborar el documento de

especificaciones técnicas.

● Analizar los requerimientos de los Early Adopters para definir las tareas del sistema del

control de gastos.

● Crear el diseño y arquitectura del sistema basado en los resultados del análisis y codificar

los componentes necesarios para de la herramienta.

19
● Realizar el despliegue en la nube del sistema en ambiente productivo específicamente

para el uso de los Early Adopters.

● Evaluar funcionamiento del sistema y feedback de los usuarios para registrar la

información y evaluar los resultados del proceso de atención al usuario

6  ALCANCÉ

El alcance del presente proyecto será implementar a cabalidad una herramienta de control de
gastos móvil y probar su correcto funcionamiento, contará con una arquitectura de
microservicios o API de funcionamiento.
Los sistemas deben ser accesibles desde internet para que los usuarios puedan consumirlo
desde sus propios dispositivos de internet y que las Apis de Facebook también sean capaces
de llamar los métodos expuestos.
Los costos adheridos al uso de la plataforma no deben superar a los presupuestos definidos
inicialmente y serán asumidos por el equipo durante todo el tiempo de vida del software.
Se pueden usar dominios gratuitos o propietarios, siempre y cuando puedan ser accedidos
desde internet.
La licencia para Microsoft SQL server debe ser provista por el equipo durante el tiempo de
vida del software.
El proyecto fue desplegado en su totalidad en la nube de Azure usando estrategias de
Continuous Integration (CI) provistas desde la plataforma Github con su herramienta de
Github Actions, los diferentes scripts de despliegue fueron escritos en el formato .yaml,
20
adjuntados al repositorio siguiendo la estructura de las Github Actions y se programó para
que se ejecutaran cuando se realizaran acciones “push” en la rama master, de esta manera se
configuraba un despliegue continuo y estandarizado. Cada script tenía configurado su
componente en Azure al cual apuntase y sus tareas eran específicas, lo que redujo el error
humano y aumentó la agilidad en los despliegues significando también menores tiempos de
caída en la plataforma y publicaciones de nuevas sugerencias a una velocidad mayor.

● Se debe tener las siguientes capacidades según sus módulos:


Gestión de gastos:
▪ Funciones: Creación, lectura, actualización y borrado de gastos, debe ser
accedido desde el chat de WhatsApp o la página web, debe tener conexión
con la base de datos y estar alojado en la API Web.
▪ Componentes asociados: WebApp API, WebApp UI, Base de datos SQL

▪ Comunicación con otros módulos: Gestión de usuarios, Gestión de Logs


Gestión de usuarios:
▪ Descripción: Creación, lectura, actualización y borrado de usuarios, para
ser accedido desde la API Web por medio de comunicación directa (No
está expuesto al público). Debe tener conexión con la base de datos y estar
alojado en la API Web.
▪ Componentes asociados: WebApp API, Base de datos SQL

▪ Comunicación con otros módulos: Gestión de Logs


Gestión de logs:
▪ Descripción: Creación, lectura, actualización y borrado de logs, no debe
tener acceso público, pero con conexión con la base de datos y estar
alojado en la API Web.
▪ Componentes asociados: WebApp API, Base de datos SQL

▪ Comunicación con otros módulos: No


Comunicación con WhatsApp API:
▪ Descripción: Recibir mensajes enviados al bot de WhatsApp, para ser
accedido desde la API Web por medio de comunicación directa con las
APIs de Meta (No debe estar expuesto al público). Debe alojarse en la API
Web.
▪ Componentes asociados: WebApp API

21
▪ Comunicación con otros módulos: Gestión de usuarios, Gestión de gastos,
Gestión de Logs

7 MARCO REFERENCIAL
7.1 ANTECEDENTES

7.1.1 Estado del arte La tecnología en la actualidad juega un valor importante


en nuestra sociedad, pues se ha adaptado fácilmente a las necesidades de
las personas con el hecho de ofrecerles miles de funciones al alcance de su
mano, ya sea para el ámbito profesional como en el personal.
Un artículo de información de finanzas personales escrito por la revista semana sobre Cinco
herramientas que sirven para controlar los gastos financieros anota que lograr un control sobre los
gastos personales es uno de los pilares para lograr una buena salud financiera, y aunque en
muchas oportunidades esto parece una misión imposible, existen múltiples herramientas que
pueden hacer que este propósito sea más sencillo de lograr. Tener claridad sobre el presupuesto
personal o familiar y la capacidad para organizarlo, dándole prioridad a las responsabilidades
financieras y legales, es la manera ideal para estar siempre preparado frente a posibles
contingencias y ahorrar para alcanzar una meta que se haya trazado, entre las herramientas están:

● FINTONIC se trata de una app para celular. es española y posiblemente de las


aplicaciones de finanzas personales más conocidas y recomendadas.
Controla el dinero fácilmente desde tu smartphone de manera visual e intuitiva. Fintonic ya lleva
años en el mercado y es la aplicación favorita para ahorrar y controlar las finanzas personales.
Todo un despliegue de tecnología que te permite agrupar gastos, controlar el dinero en tus
diferentes bancos, recibir avisos, etc. En lo que al sector de las finanzas personales se refiere la
app nos facilita el hecho de controlar nuestro dinero de manera fácil y sin costes. [16]
● MONEFY es otra app que permite centralizar todo sobre los gastos, pero a diferencia de
la anterior, no es necesario vincularla con ninguna cuenta bancaria porque cada persona debe ir
introduciendo a mano sus gastos, que se pueden categorizar. Es una aplicación que nos permite
llevar un control de todos los gastos e ingresos de nuestro día a día, pero su principal objetivo es
22
que esos registros puedan hacerse de forma muy sencilla y en apenas unos segundos. tá un poco
limitada. Las categorías de ingresos y gastos no se pueden editar, ni eliminar, ni añadir otras
personalizadas. Esto se puede solucionar comprando la versión Pro, que tiene un precio de 1.
81€.Incluye además protección por contraseña, para que nadie más que nosotros pueda ver
nuestros gastos, y también una útil sincronización con Dropbox, para que todos los cambios y
registros que hagamos en un dispositivo, también se realicen en otros automáticamente. [17]

● WALLET también se pueden agregar las cuentas, diferenciar los gastos por categorías y
ver gráficas para comparar los gastos del mes corriente con períodos anteriores. Además ayuda a
planificar y seguir su presupuesto y gastos de forma flexible, por lo que puede tener el control y
lograr sus objetivos. Planifique y maneje sus finanzas de forma activa, junto a personas en las que
confía, utilizando múltiples monedas, bancos e instituciones financieras. [18]
● AKANA es un servicio totalmente gratuito que ayuda a analizar el estado de la salud
financiera de cada persona. Con base en más de 50 métricas, genera un informe que se recibe a
través del correo electrónico, con estadísticas sobre los gastos y ahorros, además de tips que se
pueden aplicar en el día a día para mejorar el performance y alcanzar el equilibrio perfecto. [19]

● SPENDEE: una de las mejores valoradas en Google Play


Esta app es perfecta para llevar un “diario de gastos”, ya que consiste básicamente en apuntar
cada uno de tus gastos para no dejar que ninguno se escape a tu control. Además, también te
ayudar a definir y alcanzar tus objetivos de ahorro y a gestionar finanzas en común con tus
socios, amigos o familiares.
Pros:
El diseño y la interfaz son realmente cómodos y hacen la navegación muy agradable.
Los gráficos son muy fáciles de entender ¡y hasta bonitos!
La app tiene diferentes divisas para ponértelo más fácil cuando viajas al extranjero.
Disponible en versión web.
Contras:
Puedes usarla de forma gratuita, sin embargo para disfrutar de muchas de sus
funcionalidades necesitas pasarte a los planes de pago Plus y Premium. [20]

● MONEYLOVER: s una aplicación de control de gastos, lo cual significa que puedes


anotar todos tus gastos como compras, facturas o comidas y compararlos con tus ingresos para
23
ver si estás viviendo por encima de tus posibilidades o si estás gastando demasiado dinero en
zapatos, por ejemplo.La principal ventaja de Money Lover con respecto a usar un papel y un
lápiz es que cada operación está asociada a una categoría, de modo que a final de mes no
necesitas usar la calculadora para ver cuánto te has gastado en qué, sino que la aplicación te
muestra un cómodo resumen. [21]

● Easy Home Finance:

Easy Home Finance es una app de introducción manual de datos muy versátil, ya que puede
utilizarse en cualquier país porque la divisa no se fija automáticamente cuando descargas la app.
Pero si lo prefieres, puedes escoger una divisa concreta desde la sección de configuración. Sin
embargo, el idioma se corresponderá con el de tu teléfono.
Pros:
Una interfaz sencilla que proporciona una vista general de todos tus gastos;
Creación de múltiples cuentas;
Ofrece la posibilidad de exportar todos tus datos a Excel;
Clasifica tus gastos por categorías.
Contras:
No tiene subcategorías para personalizar aún más los gastos. [22]
las funciones básicas de agregar, editar, eliminar y replicar el registro, también está disponible la
búsqueda en notas, descripción gráfica de las categorías individuales, lista de categorías,
billeteras (cuentas separadas), tipos de pago (opcional), plantillas recurrentes. Los datos se
almacenan en el teléfono de forma segura y puede hacer una copia de seguridad localmente o en
su Google Drive. [23]

● WALLY: es una herramienta de facturación electrónica y ventas intuitiva y confiable:


tiene un sistema fácil de usar que simplifica la gestión de los negocios y permite tener visibilidad
completa con reportes en tiempo real de productos más vendidos, de cierre de caja,
comprobantes, inventario, clientes frecuentes, ventas por empleado, métodos de pago más
usados, entre otros.¿Qué puedes hacer con Wally? podrá controlar tu negocio todo el tiempo y sin
estar presente en tu local: mira cómo van tus ventas al instante, maneja tu caja más fácil y
cuádrala al toque. Además, emite de forma simple tus facturas electrónicas (entre otros
24
comprobantes), y no te quedes sin stock. Todo desde la nube. [24]

● MONEY MANAGER EXPENSE & BUDGET:


¡La app administrar las finanzas personales sea tan fácil como un pastel! registra fácilmente sus
transacciones financieras personales y comerciales, genere informes de gastos, revise sus datos
financieros diarios, semanales y mensuales y administre sus activos con el rastreador de gastos y
el planificador de presupuestos es una app de control de finanzas muy popular tanto para iPhone
como para Android. Una vez que introduce manualmente todos tus ingresos y gastos, la app
genera informes diarios, semanales y mensuales para que puedas realizar un seguimiento sin
esfuerzo y gestiona los ahorros, seguros, préstamos e inmuebles.Puedes contrastar lo que tenías
planeado con lo que realmente gastas creando gráficas, lo que te ayuda identificar en qué
momento empiezan a peligrar tus objetivos de ahorro para así cambiar tus hábitos y remediarlo.
[25]

● MINT: Es una aplicación de presupuesto muy popular que permite rastrear los gastos,
categorizarlos y establecer metas financieras. También ofrece alertas personalizadas para
ayudarte a mantener un seguimiento de tus gastos y te permite ver un panorama general
de tus finanzas. [26]
● POCKETGUARD: Esta aplicación te ayuda a controlar tus gastos y te ofrece consejos
para ahorrar dinero. También te permite establecer metas financieras y recibir alertas
cuando te acercas a tu límite de gastos. [27]
● YNAB (You Need A Budget): Esta aplicación te ayuda a crear un presupuesto
personalizado y te muestra exactamente cuánto dinero tienes disponible para gastar en
cada categoría. También ofrece herramientas para ayudarte a ahorrar dinero y pagar
deudas. [28]
● GOODBUDGET: Es una aplicación de presupuesto basada en el método de sobres. Te
permite dividir tu dinero en sobres virtuales para cada categoría de gasto y te ayuda a
mantener un seguimiento de tus gastos y a ajustar tu presupuesto en consecuencia. [29]
● AVEAPP:  tener un cochinito en tu celular será una de las alternativas más clásicas
llevadas a tu móvil, la tendrás a tu alcance y podrás depositar allí cada ahorro en dólares,
el cual se descontará semanalmente según el método que elijas. Esta forma de ahorro a
pesar de ser tan conocida resulta ser bastante efectiva si se hace con disciplina. [30]

25
7.1 MARCO TEÓRICO
7.2.1 METODOLOGÍAS AGILES

Las metodologías ágiles son


aquellas que permiten adaptar la
forma de trabajo a las
condiciones del
proyecto, consiguiendo flexibilidad e inmediatez en la respuesta para amoldar el proyecto y su
desarrollo a las circunstancias específicas del entorno. En esencia, las empresas que apuestan por
esta metodología consiguen gestionar sus proyectos de forma flexible, autónoma y eficaz
reduciendo los costes e incrementando su productividad. El enfoque ágil para el desarrollo de
software busca distribuir de forma permanente sistemas de software en funcionamiento diseñados
con iteraciones rápidas.
Sin embargo, la frase "metodología ágil" es engañosa porque implica que el enfoque ágil es la
única forma de abordar el desarrollo de software. La metodología ágil no hace referencia a una
serie de indicaciones sobre qué hacer exactamente durante el desarrollo de software. Se trata más
bien de una forma de pensar en la colaboración y los flujos de trabajo, y define un conjunto de
valores que guían nuestras decisiones con respecto a lo que hacemos y a la manera en que lo
hacemos.
En concreto, las metodologías ágiles de desarrollo de software buscan proporcionar en poco
tiempo pequeñas piezas de software en funcionamiento para aumentar la satisfacción del cliente.
Estas metodologías utilizan enfoques flexibles y el trabajo en equipo para ofrecer mejoras
constantes. Por lo general, el desarrollo ágil de software implica que pequeños equipos auto
organizados de desarrolladores y representantes empresariales se reúnan regularmente en persona
durante el ciclo de vida del desarrollo de software. La metodología ágil favorece un enfoque
sencillo de la documentación de software y acepta los cambios que puedan surgir en las
diferentes etapas del ciclo de vida, en lugar de resistirse a ellos.
Se trata de implementar métodos que facilitan la gestión de equipos en entornos evolutivos y que
ayudan a mejorar la calidad del negocio y los tiempos de acción, fortalecer el compromiso de los
trabajadores y aumentar la productividad. Como vez, todo son resultados positivos tanto para
empresa como para el equipo.
Existen varias formas de trabajar ágilmente, pero todas tienen el mismo objetivo: que se trabaje
de

26
forma flexible, autónoma y eficaz reduciendo los costes e incrementando su productividad.
La función de metodologías ágiles es encontrar formas de trabajar se amolden a las condiciones
de
los proyectos, dar más flexibilidad a los procesos y adaptarlos a las necesidades específicas de
cada
equipo de trabajo. [31]

7.2.2 MARCOS AGILES

Los marcos ágiles para el desarrollo de software (como Scrum, kanban o programación extrema
[XP]) son la base de procesos conocidos de desarrollo de software, como DevOps y la
integración continua/implementación continua (CI/CD).
Scrum es probablemente el marco ágil que más se utiliza en la actualidad. Sin embargo, no es la
única alternativa dentro del mundo ágil y, para ser sinceros, no todos sus aspectos pueden
caracterizarse como ágiles. Este marco de gestión de trabajos se diseñó para equipos pequeños e
interdisciplinarios de entre 5 y 9 personas, los cuales dividen su trabajo en acciones que se
pueden completar en un período de tiempo uniforme denominado "sprint". Los equipos de Scrum
están formados por los miembros, un facilitador y el dueño de un producto. Por lo general, este
marco de trabajo se implementa cuando un proyecto grande se puede dividir en sprints de dos a
cuatro semanas. Además, se centra en ciclos de retroalimentación mediante reuniones donde se
realiza una "retrospectiva" del sprint. Su lema no oficial bien podría ser "analice todo y
adáptese". [32]
Figura 2 Programación scrum

XP es una metodología ágil de desarrollo de software con bases en la comunicación constante y


la retroalimentación. Uno de sus fines principales es el de construir un producto que vaya en línea
con los requerimientos del cliente.
En ese sentido es adaptable a los cambios, generando una rápida respuesta frente a cualquier
inconveniente. Por otro lado, el equipo de trabajo tiene la ventaja de potenciar sus relaciones, ya
que el proceso que de este se desprende es abierto, conjunto y de aprendizaje continuo. [5]
Figura 1.Programacion XP

27
7.2 MARCO CONCEPTUAL

7.3.1 GENERALIDADES
Es en realidad una investigación bibliográfica que habla de las variables que se estudiarán en la
investigación, o de la relación existente entre ellas, descritas en estudios semejantes o previos.
Hace referencia a perspectivas o enfoques teóricos empleados en estudios relacionados, se analiza
su bondad o propiedad. Su pertinencia para el estudio actual, proporciona información del tipo de
sujetos, de la forma de recolección de los datos, de los análisis estadísticos utilizados, de las
dificultades que se pueden encontrar y las maneras de resolverlas. De manera más específica,
conduce al establecimiento de las hipótesis, sugiere formas de análisis, o nuevas perspectivas a
considerar, y al mismo tiempo, ayuda a interpretar los resultados del estudio.
En virtud de lo antes señalado, el marco conceptual de cualquier investigación que se realice en el
campo de la educación médica, deberá desarrollarse a partir de una búsqueda bibliográfica
amplia, profunda y reciente sobre los aspectos que se recomiendan a continuación.
A. La perspectiva teórica de la que se parte para explicar la educación, enseñanza y el aprendizaje
de la temática en cuestión
B. El diseño más adecuado para poner a prueba el efecto del modelo de enseñanza que se
propone, para responder a la pregunta de investigación en cuestión
C. La estrategia más adecuada para llevar a cabo la evaluación del aprendizaje y las variables
relacionadas con el mismo, de acuerdo a los objetivos de la investigación
D. El análisis de los datos que permitirá poner a prueba las hipótesis planteadas
[6]

7.3.2 CONCEPTOS

▪ 7.3.2.1Finanzas personales

El concepto de finanzas personales es uno que lleva siendo usado desde los 80s, el cuál
28
comprende todo el control sobre el uso del dinero personal, tanto los ingresos como los egresos,
pasando por inversiones y deudas. Según Investopedia, las finanzas personales se basan en 3
principios, la priorización, la evaluación y la restricción, exponiendo así en la priorización que las
personas o familias deben siempre priorizar las entradas y salidas de dinero, para saber a cuál se
le debe prestar más atención para seguir recibiendo los ingresos correspondientes, o no perder de
vista los gastos que no tienen ningún tipo de negociación; en la evaluación se determina y genera
un plan a futuro para la realización de inversiones a modo de generar ingresos adicionales y por
último la restricción define el tomar bastante en cuenta la restricción de los diferentes gastos,
precisamente priorizándolos y tomando decisiones que pueda ayudar a reducirlos .

▪ 7.3.2.2Sistemas

“Un sistema es un conjunto de elementos, entidades o componentes que se caracterizan por


ciertos atributos identificables que tienen relación entre sí, y que funcionan para lograr un
objetivo común”. Catacora Fernando (1997). Sistemas y Procedimientos Contables, Caracas,
Venezuela: Editorial Mc Graw Hill.
Es un conjunto de componentes interrelacionados que trabajan juntos para recopilar, procesar,
almacenar y difundir información para apoyar la toma de decisiones. Además, apoyan la
coordinación, control, análisis y visualización de una organización. [8]

▪ 7.3.2.3Presupuesto

Un presupuesto, es una hoja de trabajo, que describe su estilo de vida (o tipo de vida). Un
presupuesto, es para su programa de equilibrio financiero, lo que una dieta es, para su programa
de equilibrio físico.
El objetivo primordial de un presupuesto, es mejorar su situación en un futuro, con un sistema de
gasto disciplinado. [9]

▪ 7.3.2.4Gasto

Los gastos son todas las salidas de dinero, que se producen durante el periodo que abarca el
presupuesto que realiza cualquier miembro de la unidad familiar, este elemento es el que
representa mayor dificultad ya que la mayoría de la población en general expresa desde nuestras
vivencias diarias, que sus gastos son mayores a los ingresos, convirtiéndose en un aspecto clave
para gestionar en el manejo y planeación de estrategias destinadas a mejorar las finanzas
personales.
Aivar Ortiz, a su vez, los clasifica en:
29
Fijos obligatorios: son aquellos imprescindibles para mantener el bienestar y la seguridad de la
unidad familiar. Estos son innegociables e inmodificables, son prioritarios y no se pueden diferir.
Variables necesarias: son aquellos que responden a la suplencia de las necesidades básicas, pero
son susceptibles de modificar haciendo cambios en los hábitos de consumo, negociando con
proveedores u optimizando los recursos.
Variables prescindibles: son los que aportan valor añadido o bienestar, pero que, si es necesario,
se puede prescindir de ellos y seguir teniendo una vida satisfactoria.
Gastos ocasionales: que son puntuales, y generalmente permiten su planeación y la asignación de
recursos, generalmente del ahorro.

▪ 7.3.2.5Asistentes virtuales

Los chatbots brindan un mejor servicio al cliente y con el auge de la app


dichas herramientas pueden ser fusionadas en Plataformas como WhatsApp o Facebook se están
convirtiendo rápidamente en las interfaces predilectas de comunicación para la atención al
consumidor, debido a que millones de usuarios las utilizan. Asimismo, su accesibilidad las ha
transformado en la alternativa más popular, ya que no se tiene que descargar otra aplicación para
acceder a un chat Bot, o completar un formulario de registro [14]

▪ 7.3.2.6Portal web interactivo

Un sitio web interactivo es aquel en el que los usuarios pueden interactuar con los diferentes
elementos del sitio web y tener una experiencia de usuario que no se limita a hacer clic y
desplazarse.
Los sitios web con contenidos interactivos están hechos por diseñadores y desarrolladores cuyo
trabajo principal es ofrecer un sentido de personalización orientado al usuario y un regalo visual a
los visitantes del sitio web. Esto anima a los visitantes a interactuar con los distintos elementos,
lo que aumenta el tráfico y puede ayudar a generar ventas.
Una web interactiva incorpora elementos dinámicos con el fin de alcanzar una serie de objetivos
bien definidos. Debemos mantener una conexión con el usuario a través de contenidos adaptados
a sus necesidades en cada momento. De esta forma, las páginas web dinámicas aportan
coherencia, no permiten que un usuario se sienta perdido cuando navega por el sitio web y lo
acompañan en todo momento por el proceso para alcanzar el objetivo final de conversión. [16]

▪ 7.3.2.7Requerimientos funcionales

Un requisito funcional es una declaración de cómo debe comportarse un sistema. Define lo que el
sistema debe hacer para satisfacer las necesidades o expectativas del usuario. Los requisitos
30
funcionales se pueden considerar como características que el usuario detecta. Son diferentes de
los requisitos no funcionales, que definen cómo debe funcionar internamente el sistema (p. ej.,
rendimiento, seguridad, etc.).
Los requisitos funcionales se componen de dos partes: función y comportamiento. La función es
lo que hace el sistema (por ejemplo, "calcular el impuesto sobre las ventas"). El comportamiento
es cómo lo hace el sistema (p. ej., "El sistema calculará el impuesto sobre las ventas
multiplicando el precio de compra por la tasa impositiva"). [17]

▪ 7.3.2.8Requerimientos No funcionales

Representan características generales y restricciones de la aplicación o sistema que se esté


desarrollando.
Suelen presentar dificultades en su definición dado que su conformidad o no conformidad podría
ser sujeto de libre interpretación, por lo cual es recomendable acompañar su definición con
criterios de aceptación que se puedan medir.
Entre los ejemplos de requerimientos no funcionales presentados, tenemos los referidos a
atributos como la eficiencia, seguridad, dependibilidad y usabilidad del sistema. También
presentamos ejemplos de requerimientos no funcionales organizacionales y externos. [18]

▪ 7.3.2.9Computación en la nube

La computación en la nube es el suministro de servicios tecnológicos como: servidores, análisis


integrales, administración de redes, bases de datos, almacenamiento de información y software a
través de sistemas en internet. Los proveedores de la nube cobran de acuerdo a la naturaleza del
negocio y la particularidad del paquete.
Para concretar una excelente relación con un partner o un proveedor, usted necesitará consejos
que lo conduzcan a una decisión correcta; de esto le hablaremos más adelante, sin embargo,
conozca primero los alcances de la computación en la nube, sus esquemas y clasificación por
servicios. [15]

31
1. MARCO LEGAL
El uso de la información financiera y personal de los usuarios en un sistema de registro de gastos
mediante bots está regulado por diversas leyes y normativas en materia de protección de datos y
privacidad. A continuación, se mencionan algunas de las principales regulaciones que se deben
tener en cuenta:

1. Ley General de Protección de Datos Personales en Posesión de Sujetos Obligados: Esta


ley establece las obligaciones de los sujetos obligados (personas físicas o morales que
recopilan, utilizan y manejan datos personales) en materia de protección de datos
personales. Los usuarios deben ser informados de manera clara y precisa sobre la
finalidad del uso de sus datos personales y deben otorgar su consentimiento expreso para
dicho uso.
2. Ley de Transparencia y Acceso a la Información Pública: Esta ley establece el derecho de
los ciudadanos al acceso a la información pública y regula la gestión de la información
pública por parte de las autoridades.
3. Ley para Regular las Instituciones de Tecnología Financiera: Esta ley regula a las
instituciones de tecnología financiera y establece las obligaciones en materia de
protección de datos y privacidad de los usuarios.
4. Reglamento General de Protección de Datos de la Unión Europea: Esta regulación
establece los principios y obligaciones en materia de protección de datos personales para
todas las empresas que operan en la Unión Europea.

Es importante que el prototipo de sistema de información mediante bots cumpla con todas las
regulaciones y leyes aplicables en materia de protección de datos personales y privacidad de los
usuarios. Esto implica, entre otras cosas, que se debe obtener el consentimiento explícito de los
usuarios para el uso de sus datos personales y garantizar su seguridad y privacidad mediante
medidas de seguridad adecuadas. Además, se deben establecer mecanismos para que los usuarios
puedan ejercer sus derechos de acceso, rectificación, cancelación y oposición sobre sus datos
personales.

Los chatbots están destinados a ofrecer una amplia variedad de servicios tanto a usuarios, como a
las compañías que los utilizan para, entre otras acciones, ofrecer, tramitar y responder de forma
ágil y sencilla a cualquier tipo de petición, reclamación o solicitud promovida por el usuario. Para
ello, necesitarán obtener información de los usuarios con los que interactúen, en aras de dar una
solución óptima a las cuestiones que se les planteen. Los datos recabados por parte del chatbot
pueden ser de muy diversa índole y tipología, conllevando en la gran mayoría de ocasiones que
dichos datos tengan la consideración de datos de carácter personal. En este sentido, se entiende
32
por dato de carácter personal toda información sobre una persona física identificada o
identificable. Bajo esta definición, quedaría encuadrada la información que el usuario le
proporcionase al chat Bot como su nombre, apellidos, documento acreditativo de identidad o
domicilio. Sin embargo, también tiene la consideración de dato de carácter personal la
información relativa a sus intereses, sus gustos, sus datos bancarios o cualesquiera otros datos
que pudieran identificar al usuario. [12]
Ley de Protección de Datos Personales o Ley 1581 de 2012
Reconoce y protege el derecho que tienen todas las personas a conocer, actualizar y rectificar las
informaciones que se hayan recogido sobre ellas en bases de datos o archivos que sean
susceptibles de tratamiento por entidades de naturaleza pública o privada.
Para proteger todos sus datos, cuenta con sistemas de importantes sistemas de seguridad:
Certificado de Seguridad SSL Cloudflare (una de las mejores empresas de certificación en el
mundo). Este certificado garantiza que todos sus datos personales tales como dirección de envío,
los detalles de tarjetas de crédito e historial de pedidos no serán divulgados. Esta tecnología
también impide el acceso a la información por parte de terceros.

Ley 1581 de 2012


se expidió el Régimen General de Protección de Datos Personales, el cual, de conformidad con su
artículo 1°, tiene por objeto “(...) desarrollar el derecho constitucional que tienen todas las
personas a conocer, actualizar y rectificar las informaciones que se hayan recogido sobre ellas en
bases de datos o archivos, y los demás derechos, libertades y garantías constitucionales a que se
refiere el artículo 15 de la Constitución Política; así como el derecho a la información consagrado
en el artículo 20 de la misma.

artículo 3° de la Ley 1581 de 2012 Definiciones


Además de las definiciones establecidas en el artículo 3° de la Ley 1581 de 2012, para los efectos
del presente decreto se entenderá por:
1. Aviso de privacidad: Comunicación verbal o escrita generada por el responsable, dirigida al
Titular para el Tratamiento de sus datos personales, mediante la cual se le informa acerca de la
existencia de las políticas de Tratamiento de información que le serán aplicables, la forma de
acceder a las mismas y las finalidades del Tratamiento que se pretende dar a los datos personales.
2. Dato público: Es el dato que no sea semiprivado, privado o sensible. Son considerados datos
públicos, entre otros, los datos relativos al estado civil de las personas, a su profesión u oficio y a
su calidad de comerciante o de servidor público. Por su naturaleza, los datos públicos pueden

33
estar contenidos, entre otros, en registros públicos, documentos públicos, gacetas y boletines
oficiales y sentencias judiciales debidamente ejecutoriadas que no estén sometidas a reserva.
3. Datos sensibles: Se entiende por datos sensibles aquellos que afectan la intimidad del Titular o
cuyo uso indebido puede generar su discriminación, tales como aquellos que revelen el origen
racial o étnico, la orientación política, las convicciones religiosas o filosóficas, la pertenencia a
sindicatos, organizaciones sociales, de derechos humanos o que promueva intereses de cualquier
partido político o que garanticen los derechos y garantías de partidos políticos de oposición, así
como los datos relativos a la salud, a la vida sexual, y los datos biométricos.
4. Transferencia: La transferencia de datos tiene lugar cuando el responsable y/o Encargado del
Tratamiento de datos personales, ubicado en Colombia, envía la información o los datos
personales a un receptor, que a su vez es Responsable del Tratamiento y se encuentra dentro o
fuera del país.

5. Transmisión: Tratamiento de datos personales que implica la comunicación de los mismos


dentro o fuera del territorio de la República de Colombia cuando tenga por objeto la realización
de un Tratamiento por el Encargado por cuenta del responsable.
Artículo 4°. Recolección de los datos personales.
En desarrollo de los principios de finalidad y libertad, la recolección de datos deberá limitarse a
aquellos datos personales que son pertinentes y adecuados para la finalidad para la cual son
recolectados o requeridos conforme a la normatividad vigente. Salvo en los casos expresamente
previstos en la ley, no se podrán recolectar datos personales sin autorización del Titular.
A solicitud de la Superintendencia de Industria y Comercio, los responsables deberán proveer una
descripción de los procedimientos usados para la recolección, almacenamiento, uso, circulación y
supresión de información, como también la descripción de las finalidades para las cuales la
información es recolectada y una explicación sobre la necesidad de recolectar los datos en cada
caso.
Artículo 6°. De la autorización para el Tratamiento de datos personales sensibles. El Tratamiento
de los datos sensibles a que se refiere el artículo 5° de la Ley 1581 de 2012 está prohibido, a
excepción de los casos expresamente señalados en el artículo 6° de la citada ley.

En el Tratamiento de datos personales sensibles, cuando dicho Tratamiento sea posible conforme
a lo establecido en el artículo 6° de la Ley 1581 de 2012, deberán cumplirse las siguientes
obligaciones:
1. Informar al titular que por tratarse de datos sensibles no está obligado a autorizar su
Tratamiento.
34
2. Informar al titular de forma explícita y previa, además de los requisitos generales de la
autorización para la recolección de cualquier tipo de dato personal, cuáles de los datos que serán
objeto de Tratamiento son sensibles y la finalidad del Tratamiento, así como obtener su
consentimiento expreso.
Artículo 11. Limitaciones temporales al Tratamiento de los datos personales. Los responsables y
Encargados del Tratamiento solo podrán recolectar, almacenar, usar o circular los datos
personales durante el tiempo que sea razonable y necesario, de acuerdo con las finalidades que
justificaron el tratamiento, atendiendo a las disposiciones aplicables a la materia de que se trate y
a los aspectos administrativos, contables, fiscales, jurídicos e históricos de la información. Una
vez cumplida la o las finalidades del tratamiento y sin perjuicio de normas legales que dispongan
lo contrario, el responsable y el Encargado deberán proceder a la supresión de los datos
personales en su posesión. No obstante, lo anterior, los datos personales deberán ser conservados
cuando así se requiera para el cumplimiento de una obligación legal o contractual. [13]

2. MARCO METODOLÓGICO

Scrum:

Scrum es una metodología ágil que se basa en la colaboración, la iteración y la flexibilidad para
el desarrollo de proyectos. Esta metodología se enfoca en la entrega temprana y continua de valor
al cliente. El proceso de Scrum se divide en sprints, que son iteraciones de tiempo fijo en las que
se desarrolla un conjunto de funcionalidades.

Planificación del proyecto:

1. En esta etapa se define el alcance del proyecto y se crean los objetivos específicos y las
historias de usuario para el prototipo del sistema de información. Se establece el product
backlog y se definen los sprints y sus objetivos.

Sprint planning:

2. En esta etapa se define el plan de trabajo para el sprint en curso, se seleccionan las

35
historias de usuario a implementar y se establece un objetivo específico para el sprint.

Daily scrum:

3. Se lleva a cabo una reunión diaria en la que se revisa el progreso del equipo, se discuten
los impedimentos y se establecen planes de acción para avanzar en el sprint.

Revisión del sprint:

4. En esta etapa se presenta el trabajo realizado al cliente y se recibe retroalimentación para


mejorar el prototipo.

Retrospectiva del sprint:

5. En esta etapa se lleva a cabo una revisión interna del sprint, se discuten los procesos y se
establecen mejoras para el siguiente sprint.

XP:

XP (Extreme Programming) es una metodología de desarrollo ágil que se enfoca en la calidad del
software. Esta metodología se basa en la simplicidad, la comunicación y la retroalimentación
constante. XP utiliza una serie de prácticas para mejorar la calidad del código y la productividad
del equipo.

Programación en parejas:

1. Los desarrolladores trabajan en parejas para revisar el código constantemente, mejorar la


calidad del código y compartir conocimientos.

Integración continua:

2. El código se integra y se prueba continuamente, lo que permite detectar errores


tempranamente y asegurar la calidad del software.

Pruebas automatizadas:

3. Las pruebas automatizadas permiten detectar errores de manera eficiente y reducir el


tiempo de prueba.

Diseño simple:

36
4. El diseño del software se mantiene simple para facilitar la comprensión y el
mantenimiento del código.

Refactorización:

5. El código se refactoriza constantemente para mejorar su calidad y facilitar su


mantenimiento.

Cliente presente:

6. El cliente participa activamente en el proceso de desarrollo, lo que permite detectar


errores tempranamente y asegurar que el prototipo cumpla con las expectativas del
cliente.

La metodología basada en Scrum y XP para el desarrollo del prototipo del sistema de


información mediante bots se enfocará en la colaboración, la iteración y la calidad del software.
Se utilizarán prácticas como la planificación del proyecto, la programación en parejas, la
integración continua y las pruebas automatizadas para asegurar la calidad del software y la
entrega temprana de valor al cliente. La participación activa del cliente permitirá recibir
retroalimentación temprana y asegurar que el prototipo cumpla con las expectativas del cliente.

Basados en los requerimientos del proyecto y la cantidad de integrantes, se propone una


metodología soportada en los marcos ágiles; No se puede implementar Scrum debido a la
cantidad de personas involucradas, sin embargo, su capacidad de organizar iteraciones de
manera lógica, la revisión constante de los avances y la capacidad de mutar de acuerdo a las
necesidades en el negocio, se plantea seguir los paradigmas dictados por Scrum
siguiendo“Sprints” de 2 semanas, durante las cuales, el equipo realizará sincronizaciones diarias
donde el director de proyecto (Quien hará las veces de Product Owner) tendrá la posibilidad mas
no la obligación de unirse a ellas; finalizando el “Sprint” se hará la ceremonia de “Review”
donde se evaluarán los avances en conjunto y continuando con la “Planning” se acorda rán las
actividades para el siguiente“Sprint” hasta que culmine el proyecto.
Por el scope final del proyecto, el adherirse a una sola metodología puede ser contra producente
debido a que se requiere la capacidad de mutar los protocolos.
Dependiendo a la necesidad, la filosofía ágil propone precisamente el tener esta capacidad dado a
que sus principios están enfocados a completar y entregar el software(o sus funcionalidades) lo
más pronto posible, priorizando antes que la entrega de cualquier documento (por ejemplo). Sin
embargo, son claros los beneficios de tener una estructura metodológica, es por ello que no son
descartadas al ciento por ciento, sino que son adaptadas a las necesidades actuales y a los

37
requerimientos inherentes al equipo de trabajo.A conntinuacion se mostrara a detalle cada una de
las actividades que se llevo a cabo en el desarrollo del proyecto.
El proyecto tuvo un proceso de desarrollo bien definido que incluyó las siguientes fases:
Planificacion, arquitectura y diseño del esquema de la base de datos, desarrollo de software,
testeo, despliegue y post mortem.

1. Fase de planeación: la Primera fase del proyecto que consiste en establecer la comunicación
continúa con el usuario o cliente, para obtener los requerimientos del sistema y elaborar las
historias de usuario.
Actividad 1: definir los requerimientos
Actividad 2: Elaboracion de la lista de requerimientos
Actividad 3: Aprobacion de los requerimientos
Actividad 4: elaborar las historias de usuario
2. Fase de diseño: Es la siguiente etapa de la metodología xp cuya finalidad es servir de guía para
el inicio a la codificación de el proyecto
Actividad 4: Elaborar modelos, casos de uso.
Actividad 5: Diseño de la base de datos
Actividad 6: Diseño de la arquitectura
3. Fase de codificación y desarrollo: es el inicio de la etapa de la codificación Del proyecto
Actividad 7: desarrollo de la API y la aplicación web
4. Fase de testeo:
Actividad 8: configuración de integración continua
Actividad 10: Pruebas E2E
5. Fase de de Despliegue
Actividad 11: Despliegue en ambiente productivo
6. Fase Postmortem:
Actividad 12: Recepcion de feedback por parte de los usuarios
Actividad 13: Estudio de métricas de uso de plataforma

38
9.1 REALIZAR LA TOMA DE REQUERIMIENTOS CON LOS EARLY ADOPTERS PARA
ELABORAR EL DOCUMENTO DE ESPECIFICACIONES TÉCNICAS

9.1.1 Marco muestral


Personas con capacidad monetaria y con un acceso a dispositivos móviles inteligentes y que
perciben fuentes de ingreso provenientes de un salario para aportar al gasto personal
9.1.2 Tamaño de la muestra
La muestra total fue de 5 personas
9.1.3 Instrumentos de recoleccion de datos

Tiene un tipo de enfoque cuantitativo en el cual se utiliza la recolección de información a través


de un formulario por la plataforma forms office a 53 personas.

39
40
▪ 10.3.1Resultados

41
42
9.2 ANALIZAR LOS REQUERIMIENTOS DE LOS EARLY ADOPTERS PARA DEFINIR
LAS TAREAS DEL SISTEMA DEL CONTROL DE GASTOS.

Mediante técnicas de análisis de requisitos se tiene la capacidad de especificar correctamente las


diversas actividades, funciones y tareas que tendrá un sistema de información, a continuación se
presentarán diversos requisitos y su nomenclatura sera RF para requisites funcionales y NRF
para los reuisitos no funcionales.
9.2.1 Requerimientos funcionales

Tabla 1GESTION DE GASTOS

REQUERIMIENTO MODULO DESCRIPCION


RF1:Consultar los gastos Gestion de gastos Consulta de la informacion de
los gastos registrados el cual
sera accedido por el chat
whatsapp o por la pagina web
RF2:Actualizar los gastos Gestion de gastos Actualizacion de la
informacion de los gastos
registrados el cual sera
accedido por el chat
whatsapp o por la pagina web
RF3:Crear gasto Gestion de gastos Permite el registro de un
gasto mediante el chat
whatsapp
RF4:Borrar gasto Gestion de gastos Permite eliminar el registro
de un gasto por medio de la
pagina web

43
Tabla 2GESTION DE USUARIOS

▪ REQU ▪ MODU ▪ DESC


ERIMI LO RIPCI
ENTO ON

▪ RF5: ▪ Gestion ▪ Permite


Crear de el crear
usuario usuario un
s usuario
median
te la
pagina
web

▪ RF6: ▪ Gestion ▪ Consult


Consult de a la
ar usuario inform
usuario s acion
del
usuario

▪ RF7: ▪ Gestion ▪ Actuali


Actuali de zacion
zar usuario de la
usuario s inform
acion
de
usuario

▪ RF8: ▪ Gestion ▪ Borrar


Borrar de la
usuario usuario inform
s acion
de
usuario

44

Tabla 3GESTION DE LOGS

REQUERIMIENTO MODULO DESCRIPCION


RF9: Crear Logs Gestion de logs Permite el crear logs (no debe
tener acceso público)

9.2.2 Requerimientos no funcionales


REQUERIMIENTO DESCRIPCION
Seguridad Se autentica al usuario lo que
permite verificar los
mensajes que envia los
usuarios correspondan a ellos
mismos, es decir si la
consulta es desde la pagina
web se pueda ver la
informacion de dicho usuario
y se usa un protocolo de
autenticacion el cual utiliza la
informacion recibida desde
whatsapp y codigos otp en el
caso de la web .
Disponiblidad el Sistema esta disponible
siempre y cuando se haga la
solicitus o que el usuario
tenga actividad en el chat de
whatsapp pero si hay un
periodo de espera entre
solicitud mayor de 5 minutos
el sistema entra en
suspension y la siguiente
solicitud demora 15
segundos en volver a activar
el Sistema.
Almacenamiento de la Cuenta con un motor de base
informacion de datos rebusto para el buen
45
funcionamiento del Sistema
Usabiblidad El Sistema es facil de usar
Open-Source El desarrollo de la
herramienta de control de
gastos personales de codigo
abierto ya que se encuentra
alojado en un repositorio y
que esta abieto a todo el
mundo.

9.3 CREACION DEL DISEÑO Y ARQUITECTURA DEL SISTEMA EN FUNCIÓN DE LOS


RESULTADOS DEL ANÁLISIS Y CODIFICACIÓN DE LOS COMPONENTES
NECESARIOS PARA LA HERRAMIENTA

9.3.1 Análisis y diseño


9.3.1.1 Historia de usuario
Debe ser descrita co mo una explicación general e informal de una función de software escrita
desde la perspectiva del usuario final. Su propósito es articular cómo proporcionará una función
de software valor al cliente.
Las historias de usuario del sistema de información que permita llevar un registro de los gastos
de personas naturales mediante bots utiliando la plataforma web y whatsap son las siguientes:

Para la web son:

● General

● Login

● Borrar

● Actualizar

Para Whatsap son:

● Resumen
46
● Crear registro

● Cancelar el proceso actual

A continuación se mostrar las historias de usuario que se utilizaron en las siguientes tablas.

Historias de usuario
Numero:1 Usuario:
Nombre del usuario: General
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:

Historias de usuario
Numero:2 Usuario:
Nombre del usuario:Login
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
47
Descripción:
Observaciones:

Historias de usuario
Numero:3 Usuario:
Nombre del usuario:borrar
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:

Historias de usuario
Numero:4 Usuario:
Nombre del usuario:Actualizar
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:

Historias de usuario
Numero:5 Usuario:

48
Nombre del usuario:Resumen
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:

Historias de usuario
Numero:6 Usuario:
Nombre del usuario:Crear registro
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:

Historias de usuario
Numero:7 Usuario:
Nombre del usuario:Cancelar el proceso
actual
Prioridad de negocio: Riesgo en desarrollo:
(Alta, Media ,Baja) (Alta , Media ,Baja)
Puntos Estimados Iteración asignada
Descripción:
Observaciones:

49
9.3.1.2 Asignación de roles del proyecto.
Figura 1Casos de uso ganeral

Figura 2Casos de uso login

50
Figura 3Caso de uso general para whatsapp

51
9.3.1.3 Arquitectura del sistema
Para el desaroollo de este proyecto se utiliza un diseño orientado a dominio como modelo
de arquitectura,
El desarrollo esta dividido en dos partes whatsapp y la api web.
Del lado del whatsapp el usuario envía un mensaje atraves de whatsapp ese mensaje viaja
a los servidores de los usuarios que es el whatsapp api, porque whatsapp bussines tiene
una cuenta que esta configurada y en el momento que reciba el mensaje lo retransmita a
una api que seria la web api ui y luego el Api management recoge las solicitudes y la
retrasmite al whatsapp api ui lo que hace es empezar a validar el mensaje y que tipo de
mensaje es si es nuevo y se comunica con la base de datos .
Y por ultimo la web API

52
Figura 4Diagrama de componentes-arquitectura

53
Figura 5Diagrama de componentes del proyecto

54
9.3.1.4 Codificacion

o 9.3.1.4.1creacion del
bot
Se inicia configurando el api de whatsapp en la aplicación web de desarrolladores de
Facebook entra en la pestaña de whatsapp en la parte de configuración donde se define a
que url va a enviar las solicitudes, esa url es la que entrega azure que es un controlador y
un método.--pendiente -Y cada vez que se reciba una solicitud en el campo de mensajes

Y como se está manejando en la capa de prueba de whatsapp los mensajes solo se pueden
enviar al número americano y solamente a los números registrados que son 5 por defecto es
importante saber que si se quisiera tener más recipientes o más números tendría que tener
un comercio verificado por Facebook que se muestra en la siguiente figura :

A continuación se mostrara la codificación del Api de Whatsapp y la Web:

55
9.3.1.4.2 codigo de la api de whatsap
A nivel general tenemos 3 carpetas cargadas en Github y que cuenta con una función
activa, esto quiere decir que el código conforme se vaya creando se ira revisando para
evitar bugs con tiempo para reducir significativamente los incidentes de seguridad en el
futuro:

La primera carpeta es el flujo del trabajo workflows donde encontraremos el archivo


main_whatsapp-messages.yml y lo que hace es que compila el código de que este
corriendo todo bien, corre pruebas unitarias, genera los archivos para publicarlo y por
ultimo lo publica.
Este script en detalle lo que hace es que cada vez que se haga un push a la rama main se
empieza a ejecutar todas estas acciones y como esta github las corre automáticamente

# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy


# More GitHub Actions for Azure: https://github.com/Azure/actions

name: Build and deploy ASP.Net Core App to Azure Web App - whatsapp-messages

on:

56
push:
branches:
- main
workflow_dispatch:

jobs:
build:
runs-on: windows-latest

steps:
- uses: actions/checkout@v2

- name: Set up .NET Core


uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'
include-prerelease: true

- name: Build with dotnet


run: dotnet build Web API/Whatsapp-Bot.csproj --configuration Release

- name: Unit testing


run: dotnet test Tests/Tests.csproj

- name: dotnet publish


run: dotnet publish WebAPI/Whatsapp-Bot.csproj -c Release -o $
{{env.DOTNET_ROOT}}/myapp

57
- name: Upload artifact for deployment job
uses: actions/upload-artifact@v2
with:
name: .net-app
path: ${{env.DOTNET_ROOT}}/myapp

deploy:
runs-on: windows-latest
needs: build
environment:
name: 'Production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

steps:
- name: Download artifact from build job
uses: actions/download-artifact@v2
with:
name: .net-app

- name: Deploy to Azure Web App


id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'whatsapp-messages'
slot-name: 'Production'
publish-profile: $
58
{{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_71CD2E02B91048148C236CDDE9E
CC159 }}
package: .

La segunda carpeta llamada Test donde se valida que todo está funcionando a nivel de código
con las pruebas unitarias que coge el código directamente escrito y trabajar sobre él, y cada
archivo que se van generando para el funcionamiento de la api se le genera un archivo de pruebas
unitarias.

La tercera Carpeta es la Web API

59
12.3.1 CODIGO DE LA WEB

Es una web escrita en angular contiene 4 carpetas y el resto son archivos configurados por
angular.

60
En la carpeta src donde encontramos los hilos de interfaces

61
En la carpeta api se tiene los diferentes servicios para comunicarnos con el api y se muestra en la
siguiente figura:

En el archivo de authorization.service.ts están todos los métodos para loguin,lo que hace es un
llamado http con la url base y el slash y a donde se dirige y recibir la respuesta, su función es
recibir y transmitir.
En este método cuando se coloca el número de celular y luego loguin se envía esa solicitud se
pasa al proceso de validación del número del teléfono y si coincide se crea la otp y se envía.

62
En este método se escribe la otp y se envía para validar

y en el archivo de moneyMovementservice.ts se encarga de todo el control de actualización ,el


borrado y de traer los datos ,son servicios que fueron creados automáticamente y se encarga de
hacer la solicitud http del método que sea en este caso del delete luego a la url del api
(/MoneyMovement/Delete) y borrar el dato.

En la carpeta app están todas las vistas

63
La carpeta assets y environments son creadas por angular y la carpeta model están todos los
archivos modelos dentro de la carpeta model esta el archivo moneyMovementResult.ts lo que
haces es que cuando va a retornar lo hace por el array.

y se usan en la app donde esta la información básica para la interfaz por ejemplo la carpeta login
que esta dentro de la carpeta app y están las interfaces de loguin el .html es para lo visual ,el .css
para los estilos,el .spec para las pruebas unitarias y el .ts para el funcionamiento ,estos 4 archivos
funcionan en conjunto para poder ver y utilizar la intefaz de login.

64
En el archivo de variables donde esta la url base donde va a estar la api

65
9.4 REALIZAR EL DESPLIEGUE EN LA NUBE DEL SISTEMA EN AMBIENTE
PRODUCTIVO ESPECÍFICAMENTE PARA EL USO DE LOS EARLY ADOPTERS
9.4.1 Aplicativo web

Figura 6Ventana de Inicio de la aplicación web

66
Figura 7ventana principal de la aplicación web

9.4.2 Interfaz de usuario

Figura 8Pantalla de conversacion

67
9.5 EVALUAR FUNCIONAMIENTO DEL SISTEMA Y FEEDBACK DE LOS USUARIOS
PARA REGISTRAR LA INFORMACIÓN Y EVALUAR LOS RESULTADOS DEL
PROCESO DE ATENCIÓN AL USUARIO

68
10 DESARROLLO
El proyecto tuvo un proceso de desarrollo bien definido que incluyó las siguientes fases:
arquitectura y diseño del esquema de la base de datos, desarrollo de software, testeo, despliegue y
post mortem.
La primera fase del proyecto fue el diseño del esquema de la base de datos y arquitectura.
Durante esta fase coma el equipo de desarrollo trabajo identificando las necesidades primarias
qué fueron definidas para el proyecto y diseñando la arquitectura que satisficiera dichos
requerimientos. Se diseñó también el esquema de la base de datos para asegurar que la data fuera
almacenada en una manera estructurada y eficiente punto hoy esta fase fue crítica para el éxito
del proyecto porque proveyó una ruta clara para que el equipo de desarrollo siguiera.
Una vez la arquitectura y esquema de base de datos fueron definidos se comenzó a construir el
sistema utilizando .Net Core y Angular se priorizó el desarrollo de la API sobre el proyecto web,
ya que se quería asegurar que la API fuese robusta y escalable se siguieron las prácticas de XP
para integración y despliegue continuo asegurando de que el código fuese compilado y testeado
regularmente.
Durante la fase de desarrollo, además, se siguieron varias prácticas de XP incluyendo desarrollo
orientado a pruebas (TDD) e integración continua. El TDD ayudó a escribir código de mejor
calidad al escribir las pruebas primero y luego escribir el código que cumpliese esas pruebas. La
integración continua fue especialmente útil para ayudar a capturar los errores en el proceso de
desarrollo de una manera temprana al compilar y testear el código constantemente.
Luego de que la fase de desarrollo fue completada comenzaron los despliegues. Se utilizaron
pipelines de integración y despliegue continuo, esto ayudó a asegurar que el código fuese
desplegado de manera rápida y consistente, además, al ser automatizado redujo el riesgo del error
humano.
Una vez el sistema fue desplegado los reportes de fallos recibidos fueron atendidos según el
orden de llegada para asegurar un flujo constante de correcciones. Una comunicación constante
se tuvo también con los usuarios para asegurar que estos supieran el estado de la corrección de su
problema.
Durante todo el proceso se siguieron los principios de comunicación, simplicidad, feedback y
coraje qué plantea XP, se mantuvo el diseño y codificación tan simple como fuese posible para
asegurarse de que fuese fácil de entender y mantener. Se mantuvo además un feedback constante
con los usuarios y este fue utilizado para la mejora del sistema. Finalmente, tuvo el coraje de
intentar nuevas cosas y tomar riesgos que asegurara un sistema construido en los más altos
estándares posibles.
En conclusión, el proceso de desarrollo para Proyecto Esmeralda fue bien definido y siguió las
prácticas de desarrollo de software de XP. Fue un proceso exitoso, puesto que al seguir todas

69
estas prácticas y estructuras metodológicas se pudo entregar un sistema de alta calidad que
cumpliese con las necesidades del usuario

11 CRONOGRAMA

• CRONOGRAMA DE ACTIVIDADES
ACTIVIDAD MES 1 MES 2 MES 3 MES 4 MES 5 MES 6 MES 7 MES 8 MES 9 MES 10
MES 11 MES 12
Captura de requerimientos X

Estudio y análisis de requerimientos X X

Diseño de arquitectura del sistema X

Codificación de componentes X X X X

Testeo interno del código X X X

Pruebas unitarias X
Pruebas de E2E X X
Pruebas de performance X

Despliegue en ambiente productivo X

Recepción de feedback por parte de los usuarios


70
X X X
Estudio en métricas de uso de la plataforma
X X

12 PRESUPUESTO

71
13 CONCLUSIONES

Utilizando las Metodologías de desarrollo ágil; scrum y xp se pudo planear la elaboración de una
Herramienta móvil y el portal web, utilizando las faces necesarias de cada una de estas
metodologías.
Finalmente el desarrollo una herramienta móvil y un portal web nos aportó en conocimientos
sobre
En conclusión, se determina que con la introducción de una herramienta para gestionar el
consumo individual se mejorará, ya que nos permite saber cuánto se puede ahorrar en un
momento dado si quitamos o reducimos dinero. Muestre una cosa que se necesita y el dinero que
ha ahorrado cada mes y que incluso los pequeños descuentos pueden sumar grandes ahorros.

72
14 BIBLIOGRAFÍA

[ [En línea]. Available: https://repositorio.grial.eu/bitstream/grial/1155/1/UML%20-


1 %20Casos%20de%20uso.pdf.
]
[ [En línea]. Available: Available: https://es.theastrologypage.com/module..
2
]
[ [En línea]. Available: https://www.northware.mx/blog/tecnicas-efectivas-para-la-toma-de-
3 requerimientos/#:~:text=Los%20Requerimientos%20de%20Software%20son,las
] %20entradas%20para%20producir%20salidas.
[ [En línea]. Available: https://prototip0.com/diseno-de-prototipos/#:~:text=Un%20prototipo
4 %20es%20un%20primer,con%20las%20caracter%C3%ADsticas%20espec%C3%ADficas
] %20planteadas...
[ [En línea]. Available: B3n%20(SI),la%20informaci%C3%B3n%20todos%20los%20d
5 %C3%ADas...
]
[ [En línea]. Available: https://www.redhat.com/es/topics/automation#:~:text=La
6 %20automatizaci%C3%B3n%20consiste%20en%20usar,lleven%20a%20cabo%20tareas
] %20repetitivas..
[ [En línea]. Available: https://mipropiojefe.com/eficiencia-eficacia-y-productividad-en-una-
7 empresa/.
]
[ [En línea]. Available: https://www.automationanywhere.com/la/rpa/software-
8 bots#:~:text=Los%20bots%20de%20software%20son,(o%20piezas)%20de%20c
] %C3%B3digo.
[ [En línea]. Available: ttps://www.siigo.com/blog/contador/que-son-los-registros-contables/..
9
]
[ [En línea]. Available: https://www.ccb.org.co/Preguntas-frecuentes-CCB/Tramites-
1 registrales/Que-diferencias-hay-entre-una-persona-natural-y-una-juridica#:~:text=La
0 %20persona%20natural%20act%C3%BAa%20siempre,las%20personas%20que%20la
73
] %20conforman.
[ [En línea]. Available: https://corposuite.com.mx/2023/02/16/7-claves-para-mejorar-tu-
1 gestion-financiera/..
1
]
[ [En línea]. Available: https://www.dane.gov.co/index.php/estadisticas-por-tema/vivienda-y-
1 servicios-publicos/encuesta-nacional-de-presupuestos-de-los-hogares..
2
]
[ [En línea]. Available:
1 https://www.dane.gov.co/files/investigaciones/boletines/calidad_vida/CV2019-
3 Presentacion-Resultados.pdf..
]
[ [En línea]. Available: https://www.creapps.co/..
1
4
]
[ [En línea]. Available: https://es.statista.com/estadisticas/1232262/porcentaje-usuarios-apps-
1 mensajeria-en-linea-colombia-tipo-aplicacion/ ..
5
]
[ [En línea]. Available: https://www.busconomico.com/post/fintonic-que-es-como-funciona-
1 opiniones.aspx.
6
]
[ [En línea]. Available:
1 https://www.elespanol.com/elandroidelibre/aplicaciones/20140331/monefy-anota-controla-
7 forma-sencilla-gastos-ingresos/20498231_0.html.
]
[ [En línea]. Available: https://play.google.com/store/apps/details?
1 id=com.droid4you.application.wallet&hl=es_CO&gl=US.
8
]
[ [En línea]. Available:
1 https://www.semana.com/finanzas/consumo-inteligente/articulo/cinco-herramientas-que-
9
74
] sirven-para-controlar-los-gastos-financieros/202239/.
[ [En línea]. Available: https://n26.com/es-es/blog/9-apps-para-controlar-tus-gastos.
2
0
]
[ [En línea]. Available: https://www.xatakandroid.com/aplicaciones-android/no-te-pierdas-
2 money-lover-la-aplicacion-definitiva-para-controlar-tus-finanzas.
1
]
[ [En línea]. Available: https://n26.com/es-es/blog/9-apps-para-controlar-tus-gastos.
2
2
]
[ [En línea]. Available: https://play.google.com/store/apps/details?
2 id=vopo.easyhomefinance&hl=es&gl=US.
3
]
[ [En línea]. Available: https://www.busconomico.com/post/fintonic-que-es-como-funciona-
2 opiniones.aspx.
4
]
[ [En línea]. Available: https://www.busconomico.com/post/fintonic-que-es-como-funciona-
2 opiniones.aspx.
5
]
[ [En línea].
2
6
]
[ [En línea]. Available: https://corposuite.com.mx/2023/02/16/7-claves-para-mejorar-tu-
2 gestion-financiera/..
7
]
[ [En línea]. Available:
2 https://www.semana.com/finanzas/consumo-inteligente/articulo/cinco-herramientas-que-
8
75
] sirven-para-controlar-los-gastos-financieros/202239/.

● REFERENCIAS

[ [En línea]. Available: https://repositorio.grial.eu/bitstream/grial/1155/1/UML%20-


1 %20Casos%20de%20uso.pdf.
]

[ [En línea]. Available: https://es.theastrologypage.com/module.


2
]

[ [En línea]. Available: https://www.northware.mx/blog/tecnicas-efectivas-para-la-toma-de-


3 requerimientos/#:~:text=Los%20Requerimientos%20de%20Software%20son,las
] %20entradas%20para%20producir%20salidas..

[ [En línea]. Available: https://prototip0.com/diseno-de-prototipos/#:~:text=Un%20prototipo


4 %20es%20un%20primer,con%20las%20caracter%C3%ADsticas%20espec%C3%ADficas
] %20planteadas..

[ [En línea]. Available:


5 http://fcaenlinea1.unam.mx/anexos/1144/1144_u7_act1#:~:text=Sistemas%20de
76
] %20informaci%C3%B3n%20(SI),la%20informaci%C3%B3n%20todos%20los%20d
%C3%ADas..
[ [En línea]. Available: https://www.redhat.com/es/topics/automation#:~:text=La
6 %20automatizaci%C3%B3n%20consiste%20en%20usar,lleven%20a%20cabo%20tareas
] %20repetitivas..

[ [En línea]. Available: https://mipropiojefe.com/eficiencia-eficacia-y-productividad-en-una-


7 empresa/.
]

[ [En línea]. Available: https://www.automationanywhere.com/la/rpa/software-


8 bots#:~:text=Los%20bots%20de%20software%20son,(o%20piezas)%20de%20c
] %C3%B3digo..

[ [En línea]. Available: https://www.siigo.com/blog/contador/que-son-los-registros-


9 contables/.
]

[ [En línea]. Available: https://www.ccb.org.co/Preguntas-frecuentes-CCB/Tramites-


1 registrales/Que-diferencias-hay-entre-una-persona-natural-y-una-juridica#:~:text=La
0 %20persona%20natural%20act%C3%BAa%20siempre,las%20personas%20que%20la
] %20conforman..

[ [En línea]. Available: https://corposuite.com.mx/2023/02/16/7-claves-para-mejorar-tu-


1 gestion-financiera/.
1
]

[ [En línea]. Available: https://www.dane.gov.co/index.php/estadisticas-por-tema/vivienda-y-


1 servicios-publicos/encuesta-nacional-de-presupuestos-de-los-hogares.
2
]

[ [En línea]. Available:


1 https://www.dane.gov.co/files/investigaciones/boletines/calidad_vida/CV2019-
3 Presentacion-Resultados.pdf.
]
77
[ [En línea]. Available: https://www.creapps.co/.
1
4
]

[ [En línea]. Available: Fuente: https://es.statista.com/estadisticas/1232262/porcentaje-


1 usuarios-apps-mensajeria-en-linea-colombia-tipo-aplicacion/ .
5
]

[ [En línea]. Available: file:///D:/Users/BIBLIOTECAE-2/Downloads/11-Texto%20del


1 %20art%C3%ADculo-10-1-10-20210714%20(1).pdf.
6
]

[ [En línea]. Available: file:///D:/Users/BIBLIOTECAE-2/Downloads/11-Texto%20del


1 %20art%C3%ADculo-10-1-10-20210714%20(1).pdf.
7
]

[ [En línea]. Available: https://www.creapps.co/. [Último acceso: 2022].


1
8
]

78
15 BIBLIOGRAFÍA

[1] Repositorio de GRIAL: Home. https://repositorio.grial.eu/bitstream/grial/1155/1/UML%20-


%20Casos%20de%20uso.pdf (accedido el 29 de octubre de 2022).

[2] "¿Qué es un módulo? - definición de techopedia - Desarrollo 2022". Icy Science.


https://es.theastrologypage.com/module (accedido el 29 de octubre de 2022).

[3]https://www.northware.mx/blog/tecnicas-efectivas-para-la-toma-de-requerimientos/
#:~:text=Los%20Requerimientos%20de%20Software%20son,las%20entradas%20para
%20producir%20salidas. (accedido el 29 de octubre de 2022).

[4]"¿Qué es la metodología ágil?" Red Hat - We make open-source technologies for the
enterprise. https://www.redhat.com/es/devops/what-is-agile-methodology#:~:text=En
%20concreto,%20las%20metodologías%20ágiles,equipo%20para%20ofrecer%20mejoras
%20constantes. (accedido el 29 de octubre de 2022).

[5]"¿Qué es XP y cómo usarlo en el desarrollo de un proyecto? - Consejos y tips". UNIVERSIA


PERU. ORIENTACIÓN PROFESIONAL. CARRERAS PROFESIONALES.
https://orientacion.universia.edu.pe/infodetail/orientacion/consejos/que-es-xp-y-como-usarlo-en-
el-desarrollo-de-un-proyecto-6157.html#:~:text=El%20Extreme%20Programming%20(XP)
%20es,con%20los%20requerimientos%20del%20cliente. (accedido el 29 de octubre de 2022).
79
[6]"Marco conceptual en el proceso de investigación". SciELO - Scientific Electronic Library
Online. https://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S2007-
50572012000300007#:~:text=El%20marco%20teórico%20o%20conceptual,en%20estudios
%20semejantes%20o%20previos. (accedido el 29 de octubre de 2022).

[7]W. Kenton. "Personal Finance". Investopedia.


https://www.investopedia.com/terms/p/personalfinance.asp (accedido el 29 de octubre de 2022).

[8]"¿Qué son los sistemas de información de una empresa?" KIO Networks : Home ES.
https://www.kionetworks.com/blog/data-center/los-sistemas-de-informacion-de-una-empresa
(accedido el 29 de octubre de 2022).

[9]"Presupuesto. Qué es, importancia, elementos, características, tipos, componentes".


gestiopolis. https://www.gestiopolis.com/presupuesto-que-es-importancia-elementos-tipos/
(accedido el 29 de octubre de 2022).

[10]"Vista de Las Finanzas Personales un instrumento de desarrollo socio económico de los


estudiantes de la FAREM-Estelí | Revista Multi-Ensayos". Revista Multi-Ensayos.
https://multiensayos.unan.edu.ni/index.php/multiensayos/article/view/294/331 (accedido el 29 de
octubre de 2022).

[11]Y. Fernández. "19 apps, herramientas y programas para controlar los gastos y tu economía
doméstica". Xataka - Tecnología y gadgets, móviles, informática, electrónica.
https://www.xataka.com/basics/19-apps-herramientas-programas-para-controlar-gastos-tu-
economia-domestica (accedido el 30 de octubre de 2022).

[12]ECIJA | firma de referencia en España en derecho de TMT.


https://ecija.com/wp-content/uploads/2018/10/ECIJA_Chatbot-Chocolate_Paper_Aspectos-
jurídicos-y-de-mercado_Chatbots-compressed.pdf (accedido el 31 de octubre de 2022).

[13]"Decreto 1377 de 2013 - Gestor Normativo". Inicio - Función Pública.


https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php?i=53646 (accedido el 31 de
80
octubre de 2022).

[14] Repositorio INFOTEC: Página de inicio.


https://infotec.repositorioinstitucional.mx/jspui/bitstream/1027/402/1/
INFOTEC_MGITIC_FAGO_27082020.pdf (accedido el 31 de octubre de 2022).

[15]"Computación en la nube: ¿qué es y cuáles son sus alcances?" Blog | Conzultek.


https://blog.conzultek.com/teletrabajo/que-es-computacion-nube-sus-alcances (accedido el 31 de
octubre de 2022).

[16]"¿Qué es un sitio web con contenido interactivo?" Dominios, planes de hosting, servidores
VPS y servidores dedicados - cdmon. https://www.cdmon.com/es/blog/que-es-un-sitio-web-con-
contenido-interactivo (accedido el 31 de octubre de 2022).

[17]"Qué son los Requisitos Funcionales: Ejemplos, Definición, Guía Completa - Visure
Solutions". Visure Solutions. https://visuresolutions.com/es/blog/functional-requirements/
(accedido el 31 de octubre de 2022).

[18]"Requerimientos no funcionales: Ejemplos". La Oficina de Proyectos de Informática.


http://www.pmoinformatica.com/2015/05/requerimientos-no-funcionales-ejemplos.html
(accedido el 31 de octubre de 2022).

[19] "Finanzas Personales - Definición, qué es y concepto | Economipedia". Economipedia.


https://economipedia.com/definiciones/finanzas-personales.html (accedido el 1 de noviembre de
2022).

[20]"Las mejores apps para gestionar tus finanzas personales". N26 The Mobile Bank | Voted
'Best bank in the world 2021'. https://n26.com/es-es/blog/9-apps-para-controlar-tus-gastos
(accedido el 1 de noviembre de 2022).
81
● ANEXOS

Anexo A. Actas de reunión con el director de tesis

Anexo B. Actas de reunión con el cliente o usuarios que manejan la app

Anexo C. Requerimientos del sistema

82
Anexo D. Instalacion
WebAPI:
El proyecto tiene incluido scripts de GitHub Actions, automatizando el compilado, publicación y
despliegue del proyecto API hacia una app service de Azure, es requerido que el nombre del app
service en el archivo de script (/.github/workflows/main_whatsapp-messages.yml) sea igual al
configurado en Azure:

83
Además, el secreto para el perfil de despliegue debe ser configurado apropiadamente en los
secretos del repositorio

Una vez desplegado las siguientes variables de entorno deben ser configuradas en el app service {
"name": "SQL_CONNECTION_STRG",
"value": "{{Cadena de conexión a base de datos en Microsoft SQL server}}",
"slotSetting": false
},
{
"name": "WHATSAPP_BASE_URL",
"value": "https://graph.facebook.com/v12.0/{PHONE_ID}/messages",
"slotSetting": false
},
{
"name": "WHATSAPP_PHONE_ID",
"value": "{{Id de teléfono asignado por WhatsApp}}",
"slotSetting": false
},
{
"name": "WHATSAPP_PHONE_NUMBER",

84
"value": "{{Número de teléfono al cuál se enviarán mensajes de prueba, Ej: 573178693786}}",
"slotSetting": false
},
{
"name": "WHATSAPP_TOKEN",
"value": "Token asignado por WhatsApp al negocio de WhatsApp bussiness",
"slotSetting": false
}

WebApp UI:
El proyecto tiene incluido scripts de GitHub Actions, automatizando el compilado, publicación y
despliegue del proyecto web hacia un Static Web App de Azure, la integración requiere que el
secreto para despliegue esté correctamente diligenciado en el repositorio, el script de despliegue
se encuentra en la ruta /.github/workflows/ azure-static-web-apps-calm-mud-025acc610.yml.

85
Se requiere configurar la variable de entorno BASE_PATH en el archivo /src/variables.ts para
que esta coincida con la URL asignada a la Web API

86
Anexo E. Manual de usuario

87

También podría gustarte