Subido por Cachita Personal

Documento de tesis Amiley Quintana García

Anuncio
Universidad Tecnológica de La Habana “José Antonio Echeverría”
Facultad de Ingeniería Informática.
Filial de Ciencias Técnicas de 10 de Octubre.
SISTEMA PARA EL CONTROL FÍSICO DE ACTIVOS FIJO
TANGIBLES
Trabajo de diploma para optar por el título de Ingeniería en Informática
Autor:
Amiley Quintana García
amileyquintana98@gmail.com
Tutor(es):
Leosbel Castro Portuondo
SITRANS
leosbel@sitrans.transnet.cu
Alain Zardoya Hernández
SITRANS
zardoya95@gmail.com
La Habana, Cuba
Mayo, 2024
Agradecimientos
Primeramente, agradecer a mis padres, por siempre darme el sostén en todo
momento para cumplir mis sueños y los ánimos para salir adelante antes las
adversidades. A mi mamá por confiar en mi y presionarme para ser una mejor
persona, más fuerte y capaz y a mi papá, que me tenía amenazada con una
guataca y tierra para arar (jajaja). A mi familia en general, por estar conmigo en
todo momento.
A Alain Gonzáles y su familia, por siempre creer en mí.
Muchas personas, me han tenido que soportar durante mi proceso en la
universidad, a todos gracias por los momentos que pasamos juntos.
Especialmente a:
Alain Zardoya, es poco tiempo que nos conocemos, pero fue fundamental para
mi conocerte, gracias por las horas tolerándome y ayudarme a cumplir esta
ardua tarea. A Leosbel Castro, mi tutor, por el tiempo dedicado a la tesis.
A mis amistades, Dayi, la cual la capte para que fuera mi “amiguita” y ha sido mi
amiga
y
confidente
desde
ese
momento
siempre
ayudándome
y
aconsejándome. Ariel Mondelo y Elio gracias por ayudarme en todo momento y
siempre mostrar esa pasión por la programación que les sale por lo poros.
Además, Laura, Tony y Sander, agradecida de conocerlos y compartir cada
sábado con ustedes. Sin ustedes hubiera sido todo diferente.
A los profesores de la Facultad y la filial.
Agradecer a SITRANS y su equipo, principalmente a mi jefe Damián. Además, a
CALISOFT, aprendí mucho de ustedes y me siento muy orgullosa y agradecida.
A todas aquellas personas que pasaron por mi vida y me enseñaron algo,
muchas gracias también.
Pero principalmente a mi bebecita, mi Cami, sin ella si no hubiera sido posible de
esta manera. Gracias a ella cada sacrificio ha valido realmente la pena. Te amo.
Infinitas gracias a todos.
Dedicada completamente a Camila González Quintana, mi niña linda.
Resumen
El Control Interno es el plan mediante el cual una organización establece
principios, métodos y procedimientos que buscan proteger los recursos de la
entidad, además de prevenir y detectar fraudes y errores dentro de los diferentes
procesos desarrollados en la empresa, en torno al cumplimiento de los objetivos
planteados para determinado tiempo. El Control Interno en Cuba tiene como
objetivos:
•
Evitar y prevenir riesgos de pérdidas o consecuencias negativas.
•
Facilita el acceso a la disponibilidad de información para poder realizar
una buena rendición de cuentas.
•
Busca cumplir con las normas, leyes y reglamentos ya que promueven el
respeto de ellas.
En las entidades estatales, se establece controles internos, siendo uno de estos
el control contable y el control de Activos Fijos Tangibles (AFT). Estos
comprenden bienes físicos como edificios, maquinaria y equipos, esenciales
para las organizaciones.
Actualmente, los sistemas contables solo garantizan el control de AFT en la
contabilidad, no llegan a realizar un control físico o real de los mismos. Por tal
motivo surge la idea de implementar un sistema para el control físico de Activos
Fijos Tangibles.
El control eficaz de activos fijos tangibles es esencial para el éxito empresarial, y
el control adecuado de estos activos se vuelve crucial para la toma de
decisiones informadas. La implementación de un sistema para el control, no solo
simplifica este proceso, sino que también optimiza la gestión, contribuyendo así
al rendimiento y la sostenibilidad a largo plazo de la organización.
Palabras claves: Sistema de control de Activos Fijos Tangibles, Control de
Activos Fijos Tangibles, Control interno.
Summary
Internal Control is the plan through which an organization establishes principles,
methods, and procedures aimed at protecting the entity's resources, as well as
preventing and detecting fraud and errors within the various processes carried
out in the company, in line with achieving the objectives set for a specific period.
In Cuba, Internal Control has the following objectives:
•
To avoid and prevent risks of losses or negative consequences.
•
To facilitate access to information availability for proper accountability.
•
To seek compliance with norms, laws, and regulations as they promote
respect for them.
In state entities, internal controls are established, one of which is accounting
control and the control of Tangible Fixed Assets (TFA). These include physical
assets such as buildings, machinery, and equipment, which are essential for
organizations.
Currently, accounting systems only ensure the control of TFA within accounting,
but they do not perform a physical or actual control of them. For this reason, the
idea arises to implement a system for the physical control of Tangible Fixed
Assets.
Effective control of tangible fixed assets is essential for business success, and
proper control of these assets becomes crucial for making informed decisions.
Implementing a system for control not only simplifies this process but also
optimizes management, thus contributing to the organization's long-term
performance and sustainability.
Keywords: Tangible Fixed Assets Control System, Tangible Fixed Assets
Control, Internal control.
Índice
INTRODUCCIÓN. ....................................................................................................................................... 1
CAPÍTULO 1 FUNDAMENTOS TEÓRICOS. ......................................................................................... 8
1.1
INTRODUCCIÓN. ................................................................................................................................ 8
1.2
OBJETIVOS ESTRATÉGICOS DE LA ORGANIZACIÓN............................................................................. 8
1.3
DESCRIPCIÓN DE LOS PROCESOS QUE SE EJECUTAN EN EL CAMPO DE ACCIÓN. .................................. 8
1.3.1 Control físico de AFT ................................................................................................................ 8
1.3.2 Control contable de AFT........................................................................................................... 9
1.3.3 Solicitud de Movimiento de AFT ............................................................................................... 9
1.4
ANÁLISIS CRÍTICO DE LA EJECUCIÓN ACTUAL DE LOS PROCESOS......................................................10
1.4.1 Control físico de AFT ...............................................................................................................10
1.4.2 Control contable de AFT..........................................................................................................11
1.4.3 Solicitud de Movimiento de AFT ..............................................................................................11
1.5
PROCESOS OBJETO DE INFORMATIZACIÓN. .......................................................................................11
1.6
SISTEMAS AUTOMATIZADOS EXISTENTES VINCULADOS AL CAMPO DE ACCIÓN. ...............................12
1.6.1 Sistemas Internacionales..........................................................................................................12
1.6.2 Sistemas nacionales. ................................................................................................................15
1.7
TENDENCIAS Y TECNOLOGÍAS ACTUALES.........................................................................................15
1.7.1 Metodología de Desarrollo de software...................................................................................15
1.7.2 Lenguajes de programación .....................................................................................................19
1.7.3 Framework ...............................................................................................................................21
1.7.4 Lenguaje de programación del lado del servidor ....................................................................26
1.7.5 Tipo de aplicación ....................................................................................................................30
1.7.6 Herramienta de planificación de proyectos ágiles ...................................................................32
1.7.1 Sistemas Gestores de Bases de Datos ......................................................................................33
1.7.2 Sistema para el control de versiones........................................................................................36
1.8
ANÁLISIS CRÍTICO DE LAS FUENTES Y BIBLIOGRAFÍAS UTILIZADAS (ESTADO DEL ARTE). ................38
1.9
CONCLUSIONES. ...............................................................................................................................39
CAPÍTULO 2 ESPECIFICACIONES DE FUNCIONALIDAD. ............................................................40
2.1
INTRODUCCIÓN. ...............................................................................................................................40
2.2
DEFINICIÓN DE INTERESADOS. .........................................................................................................40
2.3
DEFINICIÓN DE TEMAS. ....................................................................................................................41
2.4
PILA DE PRODUCTO. .........................................................................................................................42
2.4.1 Seguridad .................................................................................................................................42
2.4.2 Nomencladores. .......................................................................................................................44
2.4.3 Comunicación ..........................................................................................................................45
2.4.4 Notificaciones, reportes y alertas ............................................................................................46
2.4.5 Control de AFT ........................................................................................................................48
2.5
TIPOS DE PRUEBAS EJECUTADAS Y JUSTIFICACIÓN DE LA SELECCIÓN. ..............................................53
2.6
DISEÑO DE LOS CASOS DE PRUEBAS UNITARIAS (SELECCIÓN)...........................................................53
2.6.1 Validaciones .............................................................................................................................54
2.6.2 Modelos ....................................................................................................................................54
2.6.3 Widget ......................................................................................................................................55
2.6.4 Resultados de las pruebas ........................................................................................................56
2.7
REQUISITOS NO FUNCIONALES. ........................................................................................................57
2.8
CONCLUSIONES. ...............................................................................................................................58
CAPÍTULO 3 DESCRIPCIÓN DE LA SOLUCIÓN PROPUESTA. .....................................................60
3.1
INTRODUCCIÓN. ...............................................................................................................................60
3.2
DIAGRAMA DE CLASES DEL DISEÑO. ................................................................................................60
3.2.1 Seguridad .................................................................................................................................61
3.2.2 Nomencladores ........................................................................................................................61
3.2.3 Comunicación ..........................................................................................................................61
3.2.4 Notificaciones, reporte y alertas ..............................................................................................62
3.2.5 Control de AFT ........................................................................................................................62
3.3
DISEÑO DE LA BASE DE DATOS. ........................................................................................................63
3.3.1 Modelo lógico de datos. ...........................................................................................................64
3.3.2 Modelo físico de datos. ............................................................................................................65
3.4
PRINCIPIOS DE DISEÑO. ....................................................................................................................66
3.4.1 Patrón de diseño Bloc. .............................................................................................................66
3.4.2 Interface de usuario .................................................................................................................67
3.4.3 Logotipo del sistema ................................................................................................................68
3.4.4 Formato de salida de los reportes. ..........................................................................................68
3.4.5 Ayuda. ......................................................................................................................................68
3.5
TRATAMIENTO DE ERRORES. ............................................................................................................68
3.6
DIAGRAMA DE DESPLIEGUE. ............................................................................................................70
3.7
FACTIBILIDAD DE LA SOLUCIÓN PROPUESTA. ...................................................................................71
3.7.1 Beneficios tangibles e intangibles. ...........................................................................................71
3.7.2 Análisis de costos y beneficios. ................................................................................................72
3.8
CONCLUSIONES. ...............................................................................................................................72
CONCLUSIONES .......................................................................................................................................73
RECOMENDACIONES .............................................................................................................................74
REFERENCIAS BIBLIOGRÁFICAS .......................................................................................................75
GLOSARIO DE SIGLAS Y TÉRMINOS ................................................................................................79
Índice de tablas
Tabla 1 Comparación entre metodologías ágiles .................................................................. 18
Tabla 2 Comparación entre Dart y JavaScript [15] ............................................................... 21
Tabla 3 Herramientas para la gestión de proyectos con metodologías ágiles ................ 33
Tabla 4 Comparativa entre SGBD. [31] .................................................................................. 36
Tabla 5 Definición de interesados ............................................................................................ 41
Tabla 6 Definición de temas...................................................................................................... 42
Tabla 7 Historia de usuario Tema Seguridad ......................................................................... 44
Tabla 8 Historia de usuario Tema Nomencladores ............................................................... 45
Tabla 9 Historia de usuario Tema Comunicación.................................................................. 46
Tabla 10 Historia de usuario Tema Notificaciones, reportes y alertas ............................... 48
Tabla 11 Historia de usuario Tema Control de AFT .............................................................. 53
Tabla 12 Análisis de costos y beneficios ................................................................................ 72
Índice de figuras
Figura 1 Comparación entre Flutter, React Native y Ionic [18] ........................................... 24
Figura 2 Comparación entre React Native, Flutter y Xamarin. [19] .................................... 25
Figura 3 Esquema de arquitectura Node.js ............................................................................ 26
Figura 4 Comparación de Node.js y Python ........................................................................... 29
Figura 5 Comparación entre Node.js con PHP [22] .............................................................. 30
Figura 6 Comparación entre GitHub y GitLab. ....................................................................... 38
Figura 7 Pruebas de validación ................................................................................................ 54
Figura 8 Pruebas unitarias a Modelos ..................................................................................... 55
Figura 9 Prueba a Widget.......................................................................................................... 56
Figura 10 Resultados de las pruebas unitarias...................................................................... 57
Figura 11 Diagramas de diseño Tema Seguridad ................................................................. 61
Figura 12 Diagrama de clases de diseño Tema Nomencladores ....................................... 61
Figura 13 Diagrama de clase de diseño Tema Comunicación ............................................ 62
Figura 14 Diagrama de clase de diseño Tema Notificaciones, reportes y alertas ........... 62
Figura 15 Diagrama de clase de diseño Tema Control de AFT .......................................... 63
Figura 16 Patrón Bloc ................................................................................................................ 67
Figura 17 Logotipo SCAFT........................................................................................................ 68
Figura 18 Tratamiento de errores ............................................................................................ 69
Figura 19 Tratamiento de errores ............................................................................................ 70
Figura 20 Diagrama de despliegue .......................................................................................... 71
Introducción.
El control interno es el proceso integrado a las operaciones con un enfoque de
mejoramiento continuo, extendido a todas las actividades inherentes a la
gestión, efectuado por la dirección y el resto del personal; se implementa
mediante un sistema integrado de normas y procedimientos, que contribuyen a
evaluar la eficiencia de la misma en cuanto a su organización. De ahí su gran
importancia en la prevención de los riesgos internos y externos, en el cuidado de
los activos y los intereses de la empresa; proporcionando una seguridad
razonable al logro de los objetivos institucionales y una adecuada rendición de
cuenta [1].
El sistema de control interno ha definido estos componentes como parte de su
evaluación en una Entidad [2].
1. Ambiente de control.
2. Evaluación de riesgos.
3. Actividades de control.
4. Información y comunicación.
5. Supervisión.
El Sistema de Control Interno practicado en Cuba considera el Ambiente de
Control como su componente base, pretendiendo lograr un compromiso de la
alta dirección y la participación del resto de los trabajadores en la preservación
de los recursos.
En la Resolución 60/2011 de la Contraloría General de la de la República en su
Capítulo IV, artículo 18, se define su carácter integrador, exigiendo a las
organizaciones que tienen implementados sistemas de gestión que integren
estos al Sistema de Control Interno. En este sentido, las organizaciones
cubanas, se proyectan en implementar sistemas de gestión, fundamentalmente
normalizados, que constituyen un marco propicio para la integración. Tal es el
caso del Sistema de Gestión de la Calidad, a partir de los requisitos de la norma
cubana NC ISO 9001:2015, que cumplen con las fases del ciclo Deming
(Planificar, Hacer, Verificar y Actuar), de igual forma que otras normas del mismo
período, como la de seguridad y salud y medio ambiente. En el año 2018,
1
además se publica la NC ISO 31000, sobre las directrices para la gestión de
riesgos, que, aunque no es de obligatorio cumplimiento, constituye una guía
para
alinear
aspectos
que
sustentan
el
desarrollo
de
los
procesos
organizacionales [3].
Actualmente, las entidades cubanas diseñan sus propios procedimientos de
Control Interno, en correspondencia con lo que por la presente se dispone.
Como parte de este, se realizan los controles en la contabilidad, entre ellos el
control de activos fijos, para el cual se establece que se debe elaborar el Plan de
Chequeo Físico anual de los activos fijos tangibles y se aprueba por el jefe de la
entidad. Se debe hacer los chequeos físicos periódicos, según el plan de
chequeo elaborado, bajo la supervisión de personas no responsabilizadas con el
cuidado y control de estos medios [4].
Además, existe un procedimiento práctico que se aplica en todo el Sector
Estatal, el cual indica que el proceso de control de los recursos materiales debe
de realizarse al 100% una vez al año y al 10% mensual [5].
En Cuba, se hace de vital importancia el cuidado y preservación de los activos
fijos tangibles. Estos medios requieren de un control a partir de un sistema de
modelos que reflejan su destino y uso según lo establecido en la resolución
60/2011 (República, 1 de marzo de 2011) de la Contraloría General de la
República, acerca del control interno de todos los recursos materiales y
financieros. Por ello el examen de estos medios se debe realizar de forma
minuciosa y detallada [6].
La situación problemática se basa en los márgenes de errores existentes en el
actual proceso de aplicación de las normas de control interno y contables del
Ministerio de Finanzas y Precios (MFP) establecidos, utilizando cualquier
Sistemas de Gestión Contables Financieros (SGC) Certificado existente en el
país. Para ello, el presente trabajo tomará como objeto de estudio a los
procedimientos de control interno establecidos en la Empresa SITRANS, la cual
a su vez es proveedora del Sistema Gestión Contable Suite Condor, certificado
por el Ministerio de la Informática y las Comunicaciones, MINCOM.
2
El sistema les facilita a los usuarios imprimir el modelo SC-1-09 Hoja de
Inventario Físico de Activos Fijos Tangibles establecido para los chequeos
físicos. Los especialistas utilizan este reporte para actualizar las ubicaciones y/o
determinar los faltantes o sobrantes, si es el caso. En el sistema el usuario utiliza
la opción Reflejar el Chequeo Efectuado para reflejar todas las incidencias
detectadas en este proceso de control, auxiliándose en el modelo SC-1-09 Hoja
de Inventario Físico. Y luego realizan la impresión de las existencias de los AFT
en el Modelo SC-1-07 Control de Activos Fijos.
Las acciones de control internos tienen un carácter operativo y toman como
referencia la correcta actualización del Modelo SC-1-07 para validar la ejecución
del procedimiento de Control de Activos Fijos Tangibles. En este modelo se
detalla la relación actualizada de los AFT de un área determinada, firmada por el
Responsable de área, el Especialista de gestión económica, responsable del
control de AFT y el Director Económico de la Entidad. El proceso de
actualización evidencia un gasto de recursos cuando dicha área es afectada por
algún tipo de movimiento de AFT.
Se detalla la situación problemática a continuación:
•
Si bien existe un sistema para la gestión de los activos fijos, el trabajo en
este sentido sigue siendo poco eficiente para su puesta en práctica según las
normativas para el control vigentes en la institución. Esto está dado,
principalmente, por la lectura de los números de inventario, los cuales son
identificados y señalados con marcadores y/o pegatinas por lo que se dificulta la
lectura en su contrastación con los listados impresos desde el sistema Condor.
Esto puede ocasionar errores humanos, lo que conllevaría en muchos casos, a
desencadenar errores contables e iniciar los procesos y expedientes de
investigación a que den lugar.
•
Los especialistas utilizan el modelo de inventario de AFT para comprobar
que la relación de los AFT existente en el listado entregado por economía, se
encuentren realmente en el lugar de procedencia e ir marcando que ya fue
revisado. El tiempo dedicado a este proceso de revisión de incidencias tiende a
3
ser elevado ya que está en dependencia de las condiciones del área, ubicación
del AFT y las cantidades de activos a revisar.
•
En el SGC el usuario utiliza la opción Reflejar el Chequeo Efectuado para
reflejar todas las incidencias detectadas en este proceso de control a un área
determinada. Esta opción en el sistema solo permite registrar los faltantes
existentes en el área. En caso de detectar algún sobrante, no tienen forma de
saber si dicho AFT fue declarado como faltante en otro control que se ha
realizado. Lo que provocaría que, a la hora de buscar este activo, resulta muy
engorroso, ya que se tendría que buscar área por área del centro para
encontrarlo.
•
Los chequeos son impresos y almacenados, debido a que el sistema, no
se permite guardar un histórico de las acciones de control realizadas en la
entidad. Esto provoca que los volúmenes de documentos sean elevados y se
deterioren con el tiempo.
De la situación problemática planteada anteriormente obtenemos como
Problema a resolver el siguiente: ¿Cómo optimizar el proceso de control físico
de los Activos Fijos Tangibles?
En el objeto de estudio, en el escenario Cliente/Usuario el estudio de la
Resolución 60/2011 de la Contraloría General de la República, acerca del control
interno de todos los recursos materiales y financieros y aplicando lo establecido
en la instrucción general 203/88 y Resolución 268/2018 del Ministerio de
Finanzas y Precios, sobre el Procedimiento de Control Interno. En el escenario
Informático, el estudio de la Ingeniería de software, lenguajes de programación y
bases de datos.
Como campo de acción, el estudio de Procedimientos para el control físico de
los Activos Fijos Tangibles en las Entidades Estatales Cubanas y en el escenario
informático, - Metodologías y tecnologías para el desarrollo de software.
4
Por lo tanto, se presenta como Objetivo General de la investigación:
Desarrollar e Implementar una herramienta informática para el control físico de
Activos Fijos Tangibles.
Para dar cumplimiento al objetico general se describen los Objetivos Específicos
y Tareas de Investigación, los cuales se detallan a continuación:
Objetivos Específicos
1. Analizar el proceso de control interno en las entidades estatales.
2. Modelar el negocio.
3. Diseñar e implementar sistema informático para el control de AFT.
4. Diseñar e implementar la aplicación móvil para la lectura y registro de los
controles de AFT.
5. Implementar pruebas al sistema.
1. Tareas de investigación
1. Estudio de los procesos y procedimientos que intervienen en el
control que se realiza a los AFT.
2. Revisión de las bibliografías sobre estudios realizados sobre
mejoras a los controles de AFT.
3. Entrevistas con los implicados en el negocio.
4. Estudio de las tecnologías de desarrollo actuales, teniendo en
cuenta los requerimientos del cliente.
5. Definición de los interesados, las historias de usuarios y escenarios.
6. Identificar reglas de negocio.
7. Identificación de elementos de la base de datos.
8. Identificación
e
implementación
de
patrones
de
diseño
y
mecanismos de diseño para obtención de una mayor calidad en el
desarrollo del sistema.
9. Implementación de las historias de usuario de uso del sistema.
10. Implementación de los requisitos no funcionales del sistema.
5
11. Revisar la literatura existente sobre aplicaciones móviles para
lectura y registro de controles de AFT.
12. Diseñar la interfaz de usuario de la aplicación móvil.
13. Desarrollar la aplicación móvil según los requisitos establecidos.
14. Implementar medidas de seguridad para proteger la información
registrada.
15. Diseño de casos de pruebas.
16. Realización de pruebas en el sistema.
17. Revisión de no conformidades que se detecten en el sistema.
18. Realizar ajustes y mejoras dada la detección de no conformidades,
y la retroalimentación de los usuarios piloto.
19. Evaluar la usabilidad de la aplicación mediante pruebas piloto.
•
Actualidad y necesidad del trabajo.
El desarrollo e implementación de una herramienta para el control de AFT aporta
varios beneficios prácticos para la gestión empresarial. A continuación, se
mencionan:
•
Acceso instantáneo y actualizado: Permite a los usuarios realizar un
seguimiento en tiempo real de los activos fijos. Ya no es necesario
depender de registros manuales; la información se actualiza directamente
desde la base de datos contable, proporcionando datos precisos y
actualizados en todo momento.
•
Mayor control y visibilidad: Los responsables pueden acceder a informes
detallados, realizar auditorías eficientes y tomar decisiones informadas
basadas en datos precisos, lo que resulta en una mayor visibilidad y
transparencia en la gestión de activos.
•
Eficiencia operativa: Con la capacidad de realizar inventarios y
seguimientos de activos de manera ágil y eficiente, las empresas
experimentan una mejora notable en sus operaciones diarias.
6
En resumen, la implementación de un sistema para el control físico de activos
fijos tangibles, no solo mejora la eficiencia operativa, sino que también optimiza
la toma de decisiones estratégicas al proporcionar información precisa y
actualizada en tiempo real. Esta solución integral marca el camino hacia un
control de activos fijos más inteligente y proactiva, impulsando el éxito a largo
plazo de cualquier empresa.
El documento está estructurado en tres capítulos, incluyendo una breve
introducción, las referencias bibliográficas utilizadas durante la investigación y
conclusiones pertinentes.
Capítulo 1. Fundamentos teóricos: Se centra en la descripción de los
procesos que intervienen en el control de AFT, así como el análisis crítico de los
mismos. Para esto, se toma como referencia a la empresa SITRANS. Además,
se detallan las tecnologías a utilizar para el desarrollo de la solución propuesta.
Capítulo 2. Especificaciones de funcionalidad: Aborda el proceso de
definición de requisitos funcionales del sistema, siguiendo pautas de SCRUM.
Se definieron los interesados y temas del sistema y con la ayuda de los mismos
de detallaron las historias de usuarios, además se plantean los requisitos no
funcionales. Como parte de las validaciones y funcionamiento de los métodos se
plasman las pruebas unitarias realizadas en el sistema.
Capítulo 3. Descripción de la solución propuesta: Presenta la solución
técnica para el proyecto, comenzando con una introducción del capítulo. Luego,
se presenta el diseño mediante un diagrama de clases y el diseño de la base de
datos, mediante los modelos lógicos y físicos. Se discuten los principios de
diseño, como la interfaz de usuario, el formato de salida de los reportes y la
ayuda. Además, se aborda el tratamiento de errores, el diagrama de despliegue
y las posibles medidas de calidad. También se examina la factibilidad de la
solución propuesta, incluyendo beneficios tangibles e intangibles, análisis de
costos y beneficios. Finalmente, se presentan conclusiones basadas en el
contenido del capítulo.
7
Capítulo 1 Fundamentos teóricos.
1.1 Introducción.
En el capítulo se abordarán aspectos fundamentales de la entidad que se toma
como caso de estudio, SITRANS. Para esto se analizará los procesos del
negocio relacionados con el control de los activos fijos tangibles. Además, se
investigan los sistemas informáticos existentes, descripción de las tecnologías y
marcos de trabajo empleados en el desarrollo de la solución propuesta.
1.2 Objetivos estratégicos de la organización.
SITRANS, es una empresa que brinda servicios informativos e informáticos,
encargada al desarrollo de software con calidad. Comercializa materiales,
equipos y muebles de oficina, ofreciendo servicios de instalación y montaje de
los mismos. Además, se encarga de la comercialización de accesorios y útiles
para empresas.
Misión: Brindar servicios de Tecnologías de Información y Comunicación (TIC),
así como de Ofimática, que satisfagan las necesidades y expectativas de los
clientes,
con
alta
profesionalidad,
personalizados
y
con
eficiencia,
distinguiéndolos por el valor agregado que brinda y la mejora continua.
Visión: Líder en el campo de la comercialización y los servicios TIC, con una
filosofía de calidad y una reconocida responsabilidad social, que se manifiesta
en el comportamiento de los trabajadores acogidos a los valores empresariales:
profesionalidad, trabajo.
1.3 Descripción de los procesos que se ejecutan en el campo de
acción.
1.3.1 Control físico de AFT
El Director Económico de la Empresa elabora el Plan de Chequeo Físico anual
de los activos fijos tangibles, y se aprueba por el Director General. Los chequeos
se deben efectuar de manera periódica y sistemática del 10 % de los bienes, de
8
manera que al finalizar el ejercicio económico se encuentren inventariados al
100%, dejando constancia en acta. Por tanto, cuando corresponde, se revisa
control de AFT. El especialista económico, le notifica por vía telefónica o correo
electrónico a los responsables de áreas, que se les realizará el control.
Posteriormente, se dirige al Sistema Contable Financiero e imprime el modelo
SC-1-09 Hoja de Inventario Físico de Activos Fijos Tangibles. El Especialista
económico y el Responsable de área se dirigen al lugar del control y junto con la
hoja de inventarios del área, revisan uno a uno la existencia de los AFT. Se
comprueba la contrastación entre el número de inventarios del activo fijo con el
que está en la hoja de inventario, además se comprueba que coincidan las
descripciones. Se anota en el listado la existencia de los AFT y concluida la
revisión se determinan faltantes o sobrantes. De igual forma, se realiza el conteo
físico de estos medios cuando se sustituye al responsable de un área, o en
situaciones excepcionales que lo requieran, dejando constancia de la
comprobación realizada, con vistas a la fijación de la responsabilidad material.
1.3.2 Control contable de AFT
El Especialista económico, se dirige al SGC y utiliza la opción Reflejar el
Chequeo Efectuado para reflejar todas las incidencias detectadas en este
proceso de control físico, auxiliándose para ello del Modelo SC-1-09 Hoja de
inventario Físico. Con esta acción se actualiza el Modelo SC-1-07 Control de
Activos Fijos, luego se imprime y lo firman el Responsable de área y el
Especialista económico, y lo aprueba el Director económico. En caso de existir
faltantes o sobrantes en el área que fue controlada, se debe elaborar los
expedientes correspondientes, contabilizarse estos correctamente y aplicarse en
el caso de faltantes la responsabilidad material, de acuerdo con lo regulado por
el Decreto Ley 249 de la Responsabilidad Material.
1.3.3 Solicitud de Movimiento de AFT
9
El proceso inicia cuando el Responsable del área decide realizar un traslado de
uno o varios AFT del área a la que pertenece “origen” para otra área “destino”.
Para esto solicita en la Dirección de Economía el Modelo SC-01- Movimiento
AFT y lo llena de forma manual con los datos necesarios de los activos (No.
Inventario, Descripción), además el área de origen, el área de destino, nombres
completos del que realiza la solicitud y del que lo recibe. Una vez completada la
información en el modelo se procede a la firma de los mismos y es entregado a
economía para que se procese el movimiento.
1.4 Análisis crítico de la ejecución actual de los procesos.
1.4.1 Control físico de AFT
El control físico de los AFT de un área se realiza apoyándose de la hoja de
inventarios de esa área y se comprueba la contrastación con los AFT que están
en el área, este proceso resulta ineficiente debido a que se comprueba uno a
uno los medios revisando el número de inventario del listado contra el número
que tiene el medio como marca. Como esta comprobación es visual está
propensa a errores humanos lo que conllevaría a errores en la contabilidad. El
proceso demora en dependencia de la cantidad de AFT del área, en ocasiones
horas, lo que implica que se pierda determinado tiempo que puede ser empleado
en cuestiones de la productividad de la entidad. Los listados impresos son
llevados a la contabilidad y se obtiene como resultado el Modelo SC-1-07
Control de Activos Fijos, este es firmado y almacenado, esto provoca que se
guarden grandes volúmenes de información y el gasto de recursos, además que
este gran volumen dificulta la trazabilidad de operaciones y por tanto no
contempla un historial de los controles realizados. Cuando se detectan faltantes
resulta engorroso conocer donde se encuentra el AFT o si fue detectado como
sobrante en otra área.
10
1.4.2 Control contable de AFT
En el control contable el usuario refleja este control en el sistema contable, y
luego se obtiene el Modelo SC-1-07, este proceso se realiza de forma manual
por lo que está sujeto a errores humanos, debido a que el usuario debe insertar
los AFT que se encontraron en el área y para ello se guía de un documento que
fue previamente marcado por una persona, él debe confiar plenamente en lo que
se evidencia ahí, y si hay errores esto desencadena errores en la contabilidad y
pueden iniciarse expedientes para iniciar las investigaciones. En el SGC una vez
se introduzca el último control realizado a un área no es posible revisar los
anteriores, por lo que no se tiene un historial de las operaciones y chequeos
realizados a un área determinada. También, mensualmente es posible realizar
hasta un 10 % del control de AFT, por tanto, si se revisan siempre los mismos,
no hay forma de conocer si hay algún faltante hasta tanto no se hace el conteo
del 100 % anual.
1.4.3 Solicitud de Movimiento de AFT
El Modelo de Solicitud de Movimiento de AFT, es llenado manualmente, lo cual
significaría gastos de recursos. Además, está propenso a errores en los
movimientos contables, esto afectaría grandemente a la contabilidad de la
entidad.
1.5 Procesos objeto de informatización.
Después de analizar las principales deficiencias detectadas en el análisis crítico
de la ejecución actual de los procesos, se pretende optimizar los mismos,
haciéndolos más ágiles y eficientes, sin violar las leyes que rige el Control de
Interno, dictada por el Ministerio de Finanzas y Precios del país.
Como parte de este análisis se pretende informatizar:
•
Control físico de AFT.
11
•
Solicitud de Movimiento de AFT
1.6 Sistemas automatizados existentes vinculados al campo de
acción.
Durante la investigación en la bibliografía consultada se realiza un estudio de los
sistemas informáticos existes para el control físico de AFT, entre están los
siguientes:
1.6.1 Sistemas Internacionales.
Software de activos fijos de Giitic. Colombia. [7]
Software para administrar los Activos Fijos. Cuenta con las siguientes opciones:
Consolidar la información relevante de los AFT y controlar de manera eficiente la
trazabilidad y ciclo de vida de los activos. Permite identificar el responsable del
activo, visualizar historial de asignación y generar códigos de barras para q sean
impresos en diferentes formatos. Genera informes de los componentes y
depreciación, consultar el historial de movimientos de AFT y llevar una
trazabilidad. Desde el dispositivo móvil, se pueden gestionar los AFT, escanear
los códigos de barras y tomar fotografías del estado de los bienes. Programación
de mantenimientos que se le deban hacer a los medios. Entre otras funciones.
Precio entre los 51-88 USD (3 a 10 personas).
Sistema de Control de Activos Fijos de la Empresa SMS CONSULTING S.A.
SMSCON. [8]
Escanea los códigos de barra de los productos con la cámara del móvil y detalla
la cantidad que hay de cada uno. Genera actas de inventario, entrega y
recepción para que todo tipo de movimiento sea documentado.
12 mejores softwares para el control de AFT e inventarios según empresa
mexicana. [9]
Software
Beneficios
12
Optimización del ciclo de vida de los activos
Mejora de la eficiencia operativa
Gestión de inventario y repuestos
Análisis y reportes avanzados
IMB máximo
Integración con otros sistemas empresariales
Gestión de Riesgos y Confiabilidad de Activos
Apoyo a Estrategias de Sostenibilidad y Responsabilidad
Social Empresarial (RSE)
SAP Asset
Análisis y Reportes Avanzados
Management
Mejora de la Eficiencia
Planificación de Mantenimiento Proactiva
Rastreo Preciso de Activos
Integración con Otros Sistemas Empresariales
Gestión de Flotas y Activos Móviles
Oracle Asset Tracking
Mejora de la Productividad del Personal
Depreciación financiera
Cambios masivos mediante Qr
Funcionamiento desde cualquier dispositivo con cámara
Software de activo fijo
Seguridad máxima
SAAF
Control de resguardos Cargas y actualizaciones masivas
Rastreo de Activos
Gestión de Reservas y Alquiler de Activos
Automatización de Procesos
Acceso Móvil y en Línea
EZOfficeInventory
Reportes Avanzados
Gestión de Contratos y Garantías
Automatización
Gestión de Riesgos y Confiabilidad de Activos
Acceso Móvil y en Línea
Asset Panda
Optimización del Uso de Activos
13
Programación y Seguimiento de Mantenimiento
Rastreo de Activos
Generación de Informes y Análisis
UpKeep
Automatización de algunos procesos
Integración con Otros Sistemas Empresariales
Acceso Móvil y en Línea
Análisis Rastreo de cada uno de los activos
Fiix
Identificación y mitigación de riesgos
Acceso desde un móvil o en línea
Gestión de Proveedores y Contratos
Cumplimiento Normativo y Seguridad
Reportes específicos
Accruent
Rastreo de Activos
Acceso en la Nube y Móvil
Adaptabilidad y Personalización
Gestión de Riesgos y Conformidad
Gestión de Inventario y Almacén
Microsoft Dynamics 365
Gestión de Cadenas de Suministro
Planificación de Mantenimiento Proactiva
Gestión de Inventarios
Análisis de tus activos
Integración con otros sistemas empresariales
AssetWare
Acceso doble
Rastreo preciso de activos
Seguimiento de Auditorías y Auditorías de Activos
Acceso Móvil y en Línea
Gestión de Inventarios Regulaciones y estándares de
Wasp AssetCloud
seguridad
14
Como resumen y consultando las páginas oficiales de estos sistemas, se
evidenció que son de pago, algunos dan una licencia de prueba, pero
posteriormente hay que pagar. Además, solo hacen una gestión de los mismos y
controlan de forma contable, pero no realizan un control físico del AFT. Los
sistemas internacionales no se ajustan a las normativas de control interno de
Cuba.
1.6.2 Sistemas nacionales.
En la bibliografía consultada no se encontraron sistemas nacionales con las
características necesarias para dar solución a la problemática planteada.
1.7 Tendencias y tecnologías actuales.
Actualmente y con el desarrollo cada vez más incrementado de las tecnologías
para el desarrollo de sistemas informáticos se hace muy complejo encontrar la
más adecuada y esto va relacionado además a que encontramos ventajas y
desventajas. Por tal motivo se debe seleccionar las tecnologías adecuadas a las
necesidades para una mejor solución.
1.7.1 Metodología de Desarrollo de software
1.7.1.1 Metodologías ágiles. Scrum
Scrum es una metodología ágil de desarrollo de proyectos. Aunque surgió como
modelo para el desarrollo de productos tecnológicos, también se emplea en
entornos que trabajan con requisitos inestables y que requieren rapidez y
flexibilidad; situaciones frecuentes en el desarrollo de determinados sistemas de
software. Actualmente es el marco de trabajo ágil más popular en la comunidad
de desarrolladores que han abrazado los principios del Manifiesto Ágil. Scrum
emplea un enfoque iterativo e incremental para optimizar la predictibilidad y el
control del riesgo [10]. Esta teoría se basa en la transparencia, inspección y
adaptación. La transparencia, garantiza la visibilidad en el proceso de aquellos
sucesos que pueden afectar el resultado; la inspección, que ayuda a detectar
variaciones indeseables en el proceso; y la adaptación, que realiza los ajustes
15
pertinentes para minimizar el impacto de las mismas. Los equipos Scrum son
autogestionados esto permite elegir la forma de trabajo mejor y no dependen de
lineamientos de personas que no pertenecen al equipo o no conocen del
contexto; son multifuncionales porque los integrantes del equipo tienen todos los
conocimientos necesarios para llevar a cabo las tareas; y trabajan en
iteraciones, lo que permite entregar en cada iteración parte del producto y se
crea nuevas funcionalidades o modifica las que el dueño del producto requiera
[11].
La selección de la metodología ágil se fundamenta en la obtención de
respuestas rápidas y eficaces ante los cambios, de manera iterativa y breve.
Este enfoque busca flexibilizar el desarrollo del proyecto para agregar valor
desde el inicio, mediante una evolución continua del producto, con un fuerte
énfasis en la satisfacción del usuario. Por esta razón, se llevó a cabo un análisis
de metodologías ágiles que cumplen con este criterio, tales como Scrum, XP
(eXtreme Programming), Dynamic Systems Development Method (DSDM) y
Kanban.
A continuación, se muestra una tabla comparativa de las principales
metodologías agiles [12][13]:
16
Metodologías
Descripción
SCRUM
Es un proceso marco de
trabajo
o
Fases
framework
usado en equipos que
trabajan
en
•
Planeación
del
Sprint.
•
proyectos
complejos
Características
•
•
En Scrum se trabaja con roles.
•
El equipo tiene la autoridad
a que la entrega de valor es
Se realizan Sprint regulares de
muy frecuente.
Refinamiento
del
•
Retrospectiva
Planificación.
trabajo
el
•
Diseño.
aprendizaje continuo y el
•
Codificación.
•
Pruebas.
•
•
duración limitada.
•
•
buen clima de trabajo
•
requisitos.
Se centra en potenciar el
equipo,
usar el producto rápidamente.
Scrum.
del
Sprint.
en
El cliente puede comenzar a
necesaria para cumplir con los
Sprint.
XP
•
Reunión del equipo
Backlog Revisión del
•
Ventajas
•
•
Los
equipos
suelen
•
Menos
probabilidad
de
errores, porque se muestran
ser
pequeños de 5 a 9 personas
al
cada uno
frecuentemente.
cliente
los
avances
El equipo de trabajo es el
•
Programación organizada.
principal factor de éxito del
•
Errores mínimos
proyecto.
•
Solución de errores lógicos
Funciona por encima de la
buena documentación.
Lanzamiento
Se agiliza el proceso, debido
del equipo.
•
Forma de trabajo flexible.
Comunicación entre el cliente y
el equipo.
Dynamic
Modelo de procesos para
Systems
el desarrollo de sistemas
Development
de software provee un
•
Estudio
de
la
viabilidad
•
Estudio
de
la
•
Panificación flexible y abierta.
•
Sujeta a cambios
•
Trabajo en equipo.
•
Calidad y rapidez
•
Poder tomar decisiones si algo
•
Disminución
no está bien para su máxima
del
costo
proyecto y/o producto.
17
de
Method
framework
(DSDM)
desarrollo.
para
el
empresa.
•
optimización.
Iteración del modelo
•
Optimización de ideas.
•
Desarrollo iterativo.
•
No se establece un periodo
•
Rendimiento.
determinado.
•
Colaboración
•
Trabajo en equipo.
•
Flexibilidad.
funcional.
•
Diseño e iteración de
la estructura.
KANBAN
Nació para aplicarse a los
•
Implementación.
•
Definición del flujo de
procesos de fabricación y
con el tiempo se convirtió
en
territorio
trabajo del proyecto.
•
reclamado
Visualización de las
•
fases del ciclo de
por los desarrolladores de
producción.
software.
Priorización
Reduce
desarrollo
•
los
tiempos
de
Calidad.
del
trabajo
•
Control de flujo.
Tabla 1 Comparación entre metodologías ágiles
18
1.7.2 Lenguajes de programación
1.7.2.1 Dart
Dart, es un lenguaje de programación que surgió en 2011, de código abierto y
desarrollado por Google, con el objetivo de permitir a los desarrolladores utilizar
un lenguaje orientado a objetos y con análisis estático de tipo. Desde la primera
versión estable en 2011, Dart ha cambiado bastante, tanto en el lenguaje en sí
como en sus objetivos principales. Con la versión 2.0, el sistema de tipo de Dart
pasó de opcional a estático, y desde su llegada, Flutter se ha convertido en el
principal objetivo del lenguaje.
A diferencia de muchos lenguajes, Dart se diseñó con el objetivo de hacer el
proceso de desarrollo lo más cómodo y rápido posible para los desarrolladores.
Por eso, viene con un conjunto bastante extenso de herramientas integrado,
como su propio gestor de paquetes, varios compiladores/transpiladores, un
analizador y formateador. Además, la máquina virtual de Dart y la compilación
Just-in-Time hacen que los cambios realizados en el código se puedan ejecutar
inmediatamente.
Una vez en producción, el código se puede compilar en lenguaje nativo, por lo
que no es necesario un entorno especial para ejecutar. En caso de que se haga
desarrollo web, Dart se transpila a JavaScript.
En cuanto a la sintaxis, la de Dart es muy similar a lenguajes como JavaScript,
Java y C ++. Además, Dart consta de un gran apoyo para la asincronía, y
trabajar con generadores e iterables es extremadamente sencillo [14].
Funciones
Dart
Facilidad de uso
Dart tiene una sintaxis y un JavaScript es fácil de usar,
estilo
JavaScript
de
codificación tiene
varios
marcos
y
similares a los de Java, por bibliotecas
disponibles
en
lo que los desarrolladores línea
permite
los
y
a
19
con experiencia en OOPS desarrolladores reutilizar el
pueden utilizarlo fácilmente
código existente para crear
aplicaciones más rápido.
Productividad
Dart y Flutter tienen una Es más fácil de aprender
comunidad más pequeña, para
así
como
los
nuevos
varias desarrolladores porque es
comunidades en línea. A un lenguaje de programación
pesar
de
la
documentación,
excelente dinámico,
liviano
muchos simple.
desarrolladores
y
más
Aumenta
la
productividad
de
los
experimentados todavía no desarrolladores
saben cómo entender Dart.
al
proporcionar varios marcos
de JavaScript y miles de
paquetes
web
fácilmente
disponibles.
Tipo de seguridad Es más seguro para los No
es
un
tipos que JavaScript porque escritura
permite
la
prototipos
creación
tanto
lenguaje
segura
de
porque
de admite tanto la escritura pato
flexibles como la dinámica.
como sólidos.
Curva
aprendizaje
de El lenguaje de programación Para
Dart
puede
desafío
resultar
los
principiantes,
un JavaScript no es un lenguaje
para
los fácil
de
aprender,
pero
principiantes porque no es conocer los fundamentos de
un
lenguaje
de la programación hace que
programación muy utilizado. JavaScript sea sencillo.
Hay muy pocos cursos o
libros de programación de
Dart disponibles en línea.
Velocidad
Dart puede compilarse tanto JavaScript es un lenguaje
JIT
como
AOT,
lo
que interpretado,
por
lo
que
20
permite crear aplicaciones puede parecer más ligero y
de diferentes formas. Dart rápido que otros lenguajes
es mucho más rápido que de programación. Es más
JavaScript.
rápido que Java y otros
lenguajes compilados.
Web y móvil
Dart podría utilizarse para JavaScript se puede utilizar
desarrollar aplicaciones web en
y móviles.
el
desarrollo
de
aplicaciones web y móviles
con varios marcos.
Tabla 2 Comparación entre Dart y JavaScript [15]
1.7.3
Framework
1.7.3.1 Flutter
Flutter es un marco de código abierto desarrollado y compatible con Google. Los
desarrolladores de front-end y pila completa utilizan Flutter para crear una
interfaz de usuario (IU) de aplicación para varias plataformas con un único
código base.
Cuando Flutter se lanzó, en 2018, era compatible principalmente con el
desarrollo de aplicaciones móviles. Ahora, Flutter es compatible con el desarrollo
de aplicaciones en seis plataformas: iOS, Android, web, Windows, MacOS y
Linux.
Las ventajas de Flutter. [16][17]
Estas son algunas de las formas en las que Flutter destaca como marco de
desarrollo multiplataforma:
•
Rendimiento casi nativo. Flutter utiliza el lenguaje de programación Dart
y se compila en código máquina. Los dispositivos host entienden este
código, lo que garantiza un rendimiento rápido y eficaz.
21
•
Rendimiento rápido, consistente y personalizable. En lugar de
depender de herramientas de renderización específicas de la plataforma,
Flutter utiliza la biblioteca gráfica de código abierto Skia de Google para
renderizar la interfaz de usuario. Esto proporciona a los usuarios visuales
consistentes sin importar la plataforma que utilicen para acceder a una
aplicación.
•
Herramientas para desarrolladores. El objetivo de Google es que
Flutter sea fácil de usar. Con herramientas como la recarga en caliente,
los desarrolladores pueden previsualizar el aspecto de los cambios de
código sin perder el estado. Otras herramientas, como el inspector
de widgets, facilitan la visualización y la resolución de problemas con los
diseños de la interfaz de usuario.
•
Desarrollo
multiplataforma:
Con
un
único
código
base,
los
desarrolladores pueden crear aplicaciones que se ejecutan sin problemas
en dispositivos Android y iOS. Permitiendo que no haya que desarrollar
aplicaciones separadas desde cero.
•
Recarga en caliente: Los desarrolladores pueden realizar cambios en su
código y ver instantáneamente los resultados en tiempo real sin reiniciar
toda la aplicación. Esto no solo acelera el proceso de desarrollo, también
promueve un flujo de trabajo de desarrollo más eficiente y ágil.
•
Diseños impresionantes de UI/UX: Flutter permite a los desarrolladores
crear interfaces de usuario visualmente atractivas. Con una amplia
colección de widgets personalizables, los desarrolladores tienen la
flexibilidad de construir diseños hermosos y perfectos al píxel. Además,
admite un conjunto completo de APIs de movimiento, lo que facilita la
incorporación de animaciones fluidas y transiciones intrincadas en la
aplicación.
Desventajas de Flutter [17]
22
1. Bibliotecas y documentación limitada: Cuenta con una comunidad
relativamente pequeña a pesar de su rápido crecimiento. Esto dificulta
que a la hora de buscar funciones o soluciones específicas.
2. Tamaño de aplicación grande: Las aplicaciones de Flutter compiladas
pueden tener un tamaño de archivo mayor en comparación con sus
contrapartes nativas. Esto se debe principalmente a la inclusión del motor
de Flutter, que se convierte en parte del paquete de la aplicación.
3. Curva de aprendizaje más pronunciada: La curva de aprendizaje puede
ser más pronunciada para los desarrolladores que son nuevos en Dart, lo
que resulta en un proceso de incorporación más largo.
4. APIs nativas limitadas: Flutter depende de su propio conjunto de
widgets y APIs específicos de la plataforma, lo que significa que puede
que no proporcione el mismo nivel de integración con todas las
funcionalidades nativas. En algunos casos, los desarrolladores pueden
enfrentar limitaciones al acceder a funcionalidades o APIs de dispositivos
específicos que aún no son compatibles con Flutter.
23
Figura 1 Comparación entre Flutter, React Native y Ionic [18]
24
Figura 2 Comparación entre React Native, Flutter y Xamarin. [19]
25
1.7.4 Lenguaje de programación del lado del servidor
1.7.4.1 JavaScript
JavaScript es un lenguaje de programación que los desarrolladores utilizan para
hacer páginas web interactivas. Desde actualizar fuentes de redes sociales a
mostrar animaciones y mapas interactivos, las funciones de JavaScript pueden
mejorar la experiencia del usuario de un sitio web. Como lenguaje de scripting
del lado del servidor, se trata de una de las principales tecnologías de la World
Wide Web.
Una función de JavaScript del lado del servidor puede acceder a la base de
datos, realizar diferentes operaciones lógicas y responder a varios eventos
desencadenados por el sistema operativo del servidor. La ventaja principal del
scripting del lado del servidor es que admite un alto nivel de personalización de
la respuesta del sitio web según sus requisitos, sus derechos de acceso y las
solicitudes de información provenientes del sitio web [20]
Figura 3 Esquema de arquitectura Node.js
Ventajas de JavaScript [20].
26
1.
Velocidad: JavaScript tiende a ser muy rápido porque a menudo se
ejecuta inmediatamente en el navegador. Entonces mientras no requiera
recursos externos, JavaScript no tiene permitido retrasarse por llamados
del servidor backend.
2.
Simplicidad: La sintaxis de JavaScript está inspirada por Java y es
relativamente sencillo de aprender comparado a otros lenguajes de
programación populares como C++.
3.
Popularidad: JavaScript esta por todas partes de la web, y con la llegada
de Node.js, se ha incrementado su uso en backend. Hay incontables
recursos para aprender JavaScript. Tanto StackOverflow como GitHub
muestran un creciente número de proyectos que usan JavaScript, y la
popularidad que ha alcanzado en los recientes años se espera que siga
creciendo.
4.
Compatibilidad: A diferencia de PHP u otros lenguajes scripting,
JavaScript puede ser usado en cualquier página web. JavaScript puede
ser usado en diferentes tipos de aplicaciones gracias al soporte en otros
lenguajes como Pearl y PHP.
5.
Server Load: JavaScript es client-side, entonces esto reduce la demanda
de servidores en general, y las aplicaciones sencillas puede que no
necesiten el servidor del todo.
6.
Versatilidad: Hay muchos métodos para usar JavaScript mediante
servidores Node.js. Si tú estas en bootstrap Node.js con Express, puedes
usar un documento database como MongoDB, y usar JavaScript en el
frontend para clientes. Es posible desarrollar una aplicación completa de
JavaScript desde principio a fin solo usando JavaScript.
1.7.4.1.1 Node js
Nodejs es un entorno de tiempo de ejecución de código abierto y multiplataforma
que permite ejecutar código JavaScript fuera de un navegador web. Es decir,
Nodejs permite ejecutar JavaScript en el servidor.
27
Además, es especialmente adecuado para aplicaciones web en tiempo real y de
alto rendimiento, como servidores de aplicaciones, API REST, servicios de chat,
juegos en línea, entre otros.
Ventajas de Nodejs
•
Eficiencia y escalabilidad: Utiliza un modelo de operaciones de
entrada/salida sin bloqueo y basado en eventos, lo que permite manejar
una alta concurrencia y un gran número de solicitudes simultáneas de
manera eficiente. Esto lo hace ideal para aplicaciones web en tiempo real
y de alto rendimiento.
•
Amplio ecosistema de módulos: Cuenta con un gran repositorio de
paquetes y módulos disponibles a través de npm. Esto facilita la
reutilización de código y acelera el desarrollo de aplicaciones, ya que no
es necesario crear todo desde cero.
•
Comunidad activa: Hay una gran cantidad de recursos, documentación y
soporte disponibles en línea. Además, hay una amplia variedad de
herramientas y frameworks construidos sobre Node.js que pueden facilitar
el desarrollo de aplicaciones web. [21]
1.7.4.1.2 Comparación con Python
28
Figura 4 Comparación de Node.js y Python
1.7.4.1.3 Comparación con PHP
29
Figura 5 Comparación entre Node.js con PHP [22]
1.7.5 Tipo de aplicación
1.7.5.1 Aplicación móvil
Una aplicación móvil, conocida también como app móvil, se define como un tipo
de software diseñado para operar en dispositivos móviles, tales como teléfonos
inteligentes o tabletas. Aunque generalmente cuentan con funcionalidades
limitadas, estas aplicaciones ofrecen a los usuarios servicios y experiencias de
alta calidad.
A diferencia de las aplicaciones diseñadas para computadoras de escritorio, las
aplicaciones móviles se distancian de los sistemas integrados. Cada aplicación
móvil proporciona una funcionalidad específica y aislada. En sus inicios, debido
a las limitaciones de hardware de los primeros dispositivos móviles, estas
aplicaciones evitaban la multifuncionalidad. Sin embargo, con el avance
tecnológico, los dispositivos móviles actuales son mucho más sofisticados y las
aplicaciones móviles continúan siendo funcionales.
En la actualidad, las empresas consideran incluir una aplicación móvil entre sus
opciones de atención al cliente, ya que son accesibles para la mayoría de los
30
usuarios, quienes suelen poseer un teléfono inteligente capaz de instalar
aplicaciones que les faciliten acceder a diversos servicios. Estas aplicaciones
móviles se centran en funciones específicas, maximizando su utilidad. Además,
su alto nivel de personalización permite a los usuarios adaptarse fácilmente e
incorporarlas en sus rutinas diarias. Otra ventaja importante es su disponibilidad
constante, ya que los usuarios pueden acceder a los servicios o consultar
información a través de sus teléfonos en cualquier momento del día, incluso
cuando la empresa no esté abierta al público. [23]
1.7.5.2 Sistema Web
Las aplicaciones web son aplicaciones de software que se comportan de manera
similar a las aplicaciones móviles nativas y funcionan en dispositivos móviles.
Sin embargo, existen diferencias significativas entre las aplicaciones nativas y
las aplicaciones web. Para empezar, las aplicaciones web utilizan navegadores
para ejecutarse y, por lo general, están escritas en CSS, HTML5 o JavaScript.
Dichas aplicaciones redirigen al usuario a la URL y luego les ofrecen la opción
de instalar la aplicación. Simplemente crean un marcador en su página. Por eso
requieren una memoria mínima del dispositivo.
Dado que todas las bases de datos personales se guardarán en el servidor, los
usuarios solo pueden usar la aplicación si tienen una conexión a Internet. Este
es el principal inconveniente de las aplicaciones web: siempre requieren una
buena conexión a Internet. De lo contrario, corre el riesgo de ofrecer una
Experiencia de Usuario (Ux) insatisfactoria.
Además, los desarrolladores no tienen tantas API que funcionen, a excepción de
las funciones más populares, como la geolocalización. El rendimiento también
estará vinculado al trabajo del navegador y la conexión de red.[24]
31
1.7.6 Herramienta de planificación de proyectos ágiles
1.7.6.1 Kanboard
Kanboard es un software de gestión de proyectos gratuito y de código abierto.
Es una aplicación web sencilla que no cuenta con una interfaz elegante, se
centra en la simplicidad y minimalismo. Cuenta con una visión general y clara de
sus tareas por lo que de manera fácil se puede conocer el estado actual de un
proyecto, es fácil de entender y no se requiere capacitación. Admite la gestión
de las listas de tareas e historias de usuario, crear y gestionar iteraciones y
obtener
gráficos
de
avance.
Además,
permite
añadir
miembros
y
administradores del proyecto con más privilegios. Tiene una búsqueda y filtrado
de tareas y usuarios. [25]
Herramientas
IceScrum
Características
Basado en Scrum y Kanban. Propone opciones de operación,
consulta y estimación de historias de usuario. Permite añadir
historias de usuario a la pila de producto, dividir el tiempo en
Sprints y mover estas historias de la pila de producto a cada
uno de los Sprint. Posee la técnica de Planning Poker para la
estimación y paneles virtuales.[26]
ScrumDo
Es capaz de respaldar cualquier proceso de gestión, desde las
metodologías tradicionales de gestión de proyectos hasta los
marcos ágiles modernos como Scrum, Kanban y otros. Se
enfoca
principalmente
en
ayudar
a
los
equipos
y
organizaciones en la transición de estos enfoques a aquellos
que enfatizan marcos más empíricos.[27]
32
Tabla 3 Herramientas para la gestión de proyectos con metodologías ágiles
1.7.1 Sistemas Gestores de Bases de Datos
Un sistema de gestión de bases de datos se encarga de gestionar los datos, el
motor que permite a los usuarios acceder a los datos dentro de la base de datos,
y lo que se conoce como el esquema de la base de datos, la estructura
organizacional de una base de datos. En su conjunto, un SGBD ofrece
seguridad y garantiza la integridad de los datos, pero algunos sistemas incluso
se utilizan para ofrecer reversiones automatizadas y actividades de reinicio,
registro y auditoría dentro de una base de datos. [28]
1.7.1.1 MySQL
MySQL es un sistema gestor de bases de datos (SGBD, DBMS por sus siglas en
inglés) muy conocido y ampliamente usado por su simplicidad y notable
rendimiento. Aunque carece de algunas características avanzadas disponibles
en otros SGBD del mercado, es una opción atractiva tanto para aplicaciones
comerciales, como de entretenimiento precisamente por su facilidad de uso y
tiempo reducido de puesta en marcha. Esto y su libre distribución en internet
bajo licencia GPL le otorgan como beneficios adicionales contar con un alto
grado de estabilidad y un rápido desarrollo. MySQL es compatible con Windows,
Mac OS X, Linux, BSD, UNIX, z / OS, Symbian, AmigaOS. Sin embargo, las
diferencias con cualquier otra plataforma son prácticamente nulas. [29]
MySQL es uno de los sistemas de gestión de bases de datos relacionales más
populares y ampliamente utilizados en el mundo del desarrollo web. Desde su
lanzamiento en 1995, ha demostrado ser una herramienta confiable y poderosa
para almacenar y administrar datos. Sin embargo, como cualquier tecnología,
MySQL tiene sus propias ventajas y desventajas.
Ventajas de MySQL
33
•
Facilidad de uso y aprendizaje: Conocido por su facilidad de uso y
aprendizaje, su sintaxis simple y su amplia documentación.
•
Compatibilidad multiplataforma: Compatible con una amplia variedad
de plataformas, incluyendo Windows, Linux y macOS. Esto permite a los
desarrolladores utilizar MySQL en diferentes entornos de desarrollo según
sus necesidades y preferencias.
•
Escalabilidad y rendimiento: Conocido por su capacidad de escalar y
manejar grandes volúmenes de datos sin comprometer el rendimiento. Su
arquitectura optimizada y su capacidad para utilizar múltiples hilos de
ejecución
permiten
un
procesamiento
eficiente
de
consultas
y
transacciones, lo que lo hace adecuado para aplicaciones de alto tráfico.
•
Amplia comunidad y soporte: Cuenta con una gran comunidad de
usuarios y desarrolladores en todo el mundo.
•
Costo y licencia: MySQL es una base de datos de código abierto, lo que
significa que es de uso gratuito y está disponible bajo la Licencia Pública
General de GNU (GPL).
Desventajas de MySQL
•
Limitaciones de almacenamiento y tamaño de base de datos: Tiene
algunas limitaciones en cuanto al tamaño máximo de base de datos y
almacenamiento. Aunque estas limitaciones son lo suficientemente altas
para la mayoría de las aplicaciones.
•
Funcionalidades avanzadas limitadas: A pesar de ser una opción
popular,
MySQL
tiene
algunas
limitaciones
en
términos
de
funcionalidades avanzadas. Algunas características más sofisticadas y
complejas presentes en otros sistemas de gestión de bases de datos
pueden no estar disponibles o tener un soporte limitado en MySQL.
•
Replicación y alta disponibilidad: Aunque ofrece capacidades de
replicación y alta disponibilidad, configurar y administrar estos sistemas
puede ser complejo y requerir un conocimiento profundo de la tecnología.
34
Esto puede ser un desafío para los desarrolladores que no están
familiarizados con estos conceptos.
•
Optimización de consultas: La optimización de consultas puede ser un
desafío para los desarrolladores menos experimentados. Aunque MySQL
ofrece herramientas y técnicas para mejorar el rendimiento de las
consultas, es necesario comprender bien la estructura de la base de
datos y tener conocimientos sólidos sobre el motor de almacenamiento
utilizado.[30]
A continuación, una tabla comparativa de los SGBD más populares:
Características
MySQL
PostgreSQL
SQL Server
Licencia
Fuente abierta. Tiene Código abierto
La
versiones comerciales
tiene
con
gratuita
funcionalidades
ampliadas disponibles.
Base
de
una
Datos
edición
para
desarrolladores
pequeñas
y
empresas,
pero solo soporta un
procesador y 1 GB de
memoria. Su precio es
de $931
Lenguaje
Cambios
Escrito en C++
en
datos
los Una
Escrito en C
solución
actualizar
es Los
los
desarrolladores La base de datos tiene
datos insertan
una
nueva tres motores que son
automáticamente
al columna y una fila en responsables para la
almacenamiento
de orden para actualizar actualización de
reversión.
Desfragmentación
Escrito en C y C++
Ofrece
enfoques
la base de datos.
varios Permite
las
filas.
escanear Ofrece
un
eficiente
para
la todas las tablas de recolector de basura
desfragmentación:
una capa de datos que no genera mas de
durante la copia de para
encontrar
seguridad, la creación vacías
y
filas 15-20 % de gastos
eliminar generales.
de índices y con un elementos
comando
OPTIMIZE innecesarios.
Table.
35
Consultas a datos
Brinda un grupo de Ambas
bases
de Usa un grupo de búfer
búfer
tienen
una como
escalable:
los datos
desarrollares
no memoria separada y puede
puede
configurar
el ejecuta
tamaño
del
según
la
su
caché proceso.
carga
de
limitarse
o
propio incrementarse
de
acuerdo
las
a
de
procesamiento
Ofrece
Los
funcionalidades
dividen
limitadas
eso
necesidades
trabajo.
Tablas temporales
MySQL,
para
desarrolladores Los
las
desarrolladores
tablas pueden crear tablas
las temporales en locales temporales locales y
tablas temporales (los o
desarrolladores
globales,
no configuran
pueden
establecer flexibles.
variables
o
las globales,
así
como
variables supervisar
y
crear
variables.
crear
plantillas globales)
Tabla 4 Comparativa entre SGBD. [31]
1.7.2 Sistema para el control de versiones.
Los sistemas de control de versiones son un tipo de software que ayuda a hacer
un seguimiento de los cambios realizados en el código a lo largo del tiempo. A
medida que un desarrollador edita el código, el sistema de control de versiones
toma una instantánea de los archivos. Después, guarda esa instantánea de
forma permanente para que se pueda recuperar más adelante si es necesario.
Estos sistemas facilitan la administración de las distintas versiones de cada
producto desarrollado, así como las posibles especializaciones realizadas.
Ejemplos de este tipo de herramientas son entre otros: CVS, Subversion,
SourceSafe, ClearCase, Darcs, Bazaar, Plastic SCM, Git, SCCS, Mercurial,
Perforce, Fossil SCM, Team Foundation Server.[32]
1.7.2.1 GitHub.
GitHub es una plataforma de alojamiento, propiedad de Microsoft, que ofrece a
los desarrolladores la posibilidad de crear repositorios de código y guardarlos en
36
la nube de forma segura, usando un sistema de control de versiones llamado
Git. Facilita la organización de proyectos y permite la colaboración de varios
desarrolladores en tiempo real. Es decir, nos permite centralizar el contenido del
repositorio para poder colaborar con los otros miembros de nuestra
organización.[33]
Ventajas de GitHub
•
Alojamiento de proyectos en repositorios de forma gratuita.
•
Personalización del perfil en la plataforma.
•
Los repositorios son públicos por defecto. Sin embargo, GitHub te permite
también alojar tus proyectos de forma privada.
•
Puedes crear y compartir páginas web estáticas con GitHub Pages.
•
Facilita compartir tus proyectos de una forma mucho más fácil y crear un
portafolio.
•
Te permite colaborar para mejorar los proyectos de otros y a otros
mejorar o aportar a los tuyos.
•
Ayuda reducir significativamente los errores humanos y escribir tu código
más rápido con GitHub Copilot.
A continuación, se muestra una tabla comparativa de GitHub y GitLab.
37
Figura 6 Comparación entre GitHub y GitLab.
1.8 Análisis crítico de las fuentes y bibliografías utilizadas
(Estado del arte).
Para dar cumplimiento a los objetivos propuestos en el trabajo, fue necesario la
consulta y búsqueda de información de diversas fuentes bibliográficas. Se
consultaron principalmente sitios oficiales de empresas reconocidas en la
industria de la informática y tecnologías, revistas y libros principalmente sobre
las metodologías de desarrollo de software, además de tesis de grados.
38
1.9 Conclusiones.
Para el cumplimiento del objetivo general de este capítulo, inicialmente se
describieron los procesos involucrados en el negocio, así como el análisis crítico
de la ejecución de los mismos, tomando como caso de estudio a la Empresa
SITRANS, se realizó un análisis crítico de la ejecución de los procesos.
Los sistemas internacionales afines con el campo de acción estudiados no
ofrecen la solución a lo que se requiere, por lo que se manifestó la necesidad de
proponer una solución. La cual consta de un sistema conformado por dos
aplicaciones. La primera será una aplicación móvil para realizar el control físico
de AFT y la segunda aplicación, es un sistema web, para la gestión de los
mismos. Ambas son herramientas con el objetivo de informatizar el proceso del
control físico a los activos existente.
Con el estudio de las metodologías se pudo analizar las ventajas y desventajas
de cada una, las metodologías tradicionales están basadas en el control de
procesos, determinando con gran exigencia las actividades involucradas, los
artefactos a desarrollar y las herramientas a emplear mientras que las
metodologías ágiles se centran en la entrega rápida y frecuente de software,
concentración en el código fuente y la comunicación continua con el cliente. Por
lo que la elección fue el uso de una metodología ágil con el objetivo de obtener
un software funcional de calidad en el menor tiempo posible. Por tanto, la
selección fue SCRUM como metodología en el desarrollo del software debido a
su interacción continua con el cliente y su agilidad en cuanto al desarrollo.
Para el desarrollo de la solución propuesta se decide utilizar las siguientes
tecnologías, Flutter como framework para el lado del cliente, dada la necesidad
de hacer una aplicación móvil y un sistema web, con el propósito de aprovechar
la ventaja de ser un lenguaje multiplataforma y fácil de comprender. Como
lenguaje de parte del servidor y SGBD, se eligió a Node.js y MySQL
respectivamente dado su alto rendimiento y compatibilidad.
39
Capítulo 2 Especificaciones de funcionalidad.
2.1 Introducción.
En este capítulo, se aborda la obtención de los requisitos de implementación del
sistema, los cuales se basan en las necesidades de los interesados. El objetivo
principal es definir las funcionalidades a desarrollar a través de las historias de
usuarios, las cuales describen las exigencias desde la perspectiva del cliente.
Este enfoque se alinea con la metodología ágil seleccionada, Scrum,
asegurando así un desarrollo centrado en las necesidades del usuario y una
implementación eficaz del proyecto.
2.2 Definición de Interesados.
Durante el proceso de desarrollo, fue esencial interactuar con todas las partes
involucradas en el proceso, tal como se definieron en el capítulo anterior. Esta
interacción fue crucial para recopilar la información necesaria y cumplir con los
objetivos establecidos. A continuación, se describen los mismos con sus
responsabilidades durante el proceso.
INTERESADO
DESCRIPCIÓN
•
Encargado realizar el control de AFT, según
se planifique por la entidad o sea necesario.
•
Una vez concluido el control físico de AFT,
debe firmar el Modelo.
Responsable de área
•
Controlar la existencia y cuidados de los
AFT que se encuentran en el área.
•
Firmar el modelo SC-1-07 Control de
Activos Fijos.
Responsable económico
del control de AFT
•
Notifica al Responsable de área el día del
control físico de AFT.
40
•
Imprime
el
modelo
SC-1-09
Hoja
de
Inventario Físico de Activos Fijos Tangibles.
•
Controlar la existencia y cuidado de los AFT
de la Entidad.
•
En caso de faltantes o sobrantes, iniciar los
expedientes de investigación pertinentes.
•
Realizar el conteo de los AFT, en caso de
cambio del responsable de área.
•
Realizar
y
tener
actualizados
los
documentos de Responsabilidad Material.
•
Plasmar en el Sistema Contable el control
físico realizado en determinada área.
•
Imprimir y firmar el modelo SC-1-07 Control
de Activos Fijos.
•
Elabora el Plan de Chequeo Físico anual de
los activos fijos tangibles.
•
Director Económico
Controlar que se hagan los controles físicos
de la Entidad.
•
Firmar el modelo SC-1-07 Control de
Activos Fijos.
•
Director General
Encargado
de
dirigir
y
controlar
los
procesos de negocio en la entidad.
Tabla 5 Definición de interesados
2.3 Definición de Temas.
41
TEMA
DESCRIPCIÓN
•
Seguridad
Relacionado con la gestión de usuarios y la
trazabilidad.
•
Nomencladores
Relacionado
con
la
información
necesaria
gestión
para
de
la
facilitar
el
trabajo de los usuarios del sistema.
•
Funcionalidades de comunicación mediante
las API.
•
Comunicación
Relacionado a la conexión del sistema con
el Sistema de Gestión Contable de la
Entidad.
Notificaciones, reportes
•
y alertas
Relacionado a los reportes que generará el
sistema para la toma de decisiones.
•
Control de AFT
Relacionado con el control que se realiza a
las áreas.
Tabla 6 Definición de temas
2.4 Pila de producto.
A continuación, se mostrará la pila de producto por temas, esta está conformada
por las historias de usuarios definidas por el dueño del producto. La pila de
producto sirve de guía para la planificación de los Sprints.
2.4.1 Seguridad
Historia
Como
Necesito
Para
Estimació
n
Autenticación en el Director Autenticar
sistema
usuarios Controlar
General en el sistema.
acceso
el 5
en
el
sistema.
42
Gestión de usuarios Director Gestionar
general
usuarios
los Controlar
en
la 13
el creación,
sistema.
modificación
y
eliminado
de
usuarios.
Asignar rol a un Director Otorgar roles a los Garantizar
los 5
usuario
el niveles
de
accesos
al
General usuarios
en
sistema.
sistema
Cambio
de Director Actualizar
contraseña
a General contraseña
usuario.
la Poder acceder al 5
de
un sistema
usuario.
Deshabilitar usuario Director Deshabilitar
un Inhabilitar
el 5
General usuario en el sistema. acceso al sistema
de un usuario.
Ver
detalles
de Director Obtener detalles del Mostrar
usuario.
detalles 8
General usuario en el sistema. del usuario de un
cliente
Exportar
en
un Director Exportar la
Guardar la
documento PDF la General información de
información de
información de los
usuario en un
usuario en un
usuarios
documento PDF
documento PDF
Registro de usuario. Director El usuario inserte sus Controlar
General datos en el sistema.
las
tareas y roles del
usuario
Habilitar usuario
Director Habilitar el usuario en Activar un usuario
General el sistema.
Filtrar usuario
inhabilitado
Director Filtrar usuarios en el Realizar
una
General sistema.
más
búsqueda
43
precisa
de
los
usuarios.
Listar salvas de la Director Obtener la relación de Listar salvas de
Base de datos
13
General las salvas de la base la base de datos
de datos
Crear salva de la Director Realizar salva de la Obtener
base de datos
General base de datos
una 13
salva externa de
la información
Restaurar salva de Director Restaurar salva de la Restaurar
la 13
la base de datos
del
General base de datos
información
sistema
Eliminar salva de la Director Eliminar salva de la Eliminar salva de 13
base de datos
General base de datos
la
lista
de
la
salvas base de
datos disponibles
Visualizar trazas del Director Obtener
sistema
trazas
General sistema
del Visualizar trazas 13
del sistema
Tabla 7 Historia de usuario Tema Seguridad
2.4.2 Nomencladores.
Historia
Como
Necesito
Para
Gestionar Entidad
Director
Gestionar
las Para
Económico entidades
en
Estimación
controlar 13
el las entidades.
sistema
Filtrar entidad
Director
Filtrar entidades en Realizar
una 8
económico
el sistema.
más
búsqueda
precisa de las
entidades.
Ver detalles de las Director
Visualizar
los Mostrar
los 5
44
entidades
económico
detalles
de
la detalles de una
información de las entidad
entidades
en
el determinada.
sistema
Gestionar
los Director
sistemas contables general
Gestionar
los Controlar
los 13
sistemas contables sistemas
en el sistema
contables
que
pueden
pertenecer a una
entidad.
Filtrar
sistemas Director
contables
general
Filtrar los sistemas Realizar
una 8
contables
más
en
el búsqueda
sistema.
precisa de los
sistemas
contables.
Ver detalles de los Director
Visualizar
sistemas contables general
detalles
los Mostrar
de
los 5
la detalles de una
información de los entidad
sistemas contables determinada.
en el sistema.
Tabla 8 Historia de usuario Tema Nomencladores
2.4.3 Comunicación
Historia
Como
Necesito
Para
Estimación
API
Director
Garantizar la
Conectar el
21
Nomencladores
General
comunicación
sistema
entre el sistema y
base
la base de datos.
de datos.
Garantizar la
Conectar el
y reportes
API Control de AFT Director
a
la
21
45
General
comunicación
sistema
a
la
entre el sistema y base
API Seguridad
la base de datos.
de datos.
Director
Garantizar la
Conectar el
General
comunicación
sistema
21
a
la
entre el sistema y base
API
Control
la base de datos.
de datos.
de Director
Garantizar la
Conectar el
General
comunicación
sistema
Áreas
21
a
la
entre el sistema y base
la base de datos.
de datos.
Tabla 9 Historia de usuario Tema Comunicación
2.4.4 Notificaciones, reportes y alertas
Historia
Como
Necesito
Reporte de AFT sin Director
Generar
chequearse por un General
reporte que liste clara de los AFT
período de tiempo.
todos los AFT que que
no
Para
Estimación
un Tener una visión 21
hayan
sido atención
chequeados
durante
necesitan
y
seguimiento.
un
período de tiempo
específico.
Reporte de áreas Director
Obtener
un Poder
tomar 21
sin chequearse en General
informe
que medidas
para
un
identifique
las asegurar
que
período
tiempo.
de
áreas que no han todas las áreas
sido
chequeadas sean
dentro
intervalo
de
un debidamente
de inspeccionadas.
46
tiempo
determinado.
Reportes
de Director
Acceder
controles
físicos General
reportes
que frecuencia y la
muestren
los calidad
realizados
en
rangos de fechas.
a Evaluar
controles
la 21
de
los
físicos controles físicos
realizados dentro en
períodos
de ciertos rangos específicos
de fechas.
Reportes
de Director
controles
físicos General
Obtener
reportes Tener
una 21
que detallen los comprensión
por una entidad o
controles
físicos detallada de la
área determinada.
llevados a cabo ejecución
de
por una entidad o controles físicos
área específica.
en
áreas
o
entidades
particulares.
Reportes de áreas Director
Generar informes Identificar áreas 21
con
que destaquen las que
porcentaje
mayor General
de
éxitos en el control.
áreas
con
mayores
están
los cumpliendo
de
manera efectiva
porcentajes
de con
éxito
los estándares
en
controles
establecidos
realizados.
reconocer
los
y
buenas
prácticas.
47
Aviso sobre fecha Director
Recibir
que
notificaciones que los controles se
corresponde General
Garantizar
que 21
realizar el control a
me
un
sobre la fecha en puntualmente
área
determinada.
informen realicen
que
y
debe se cumplan con
realizarse
un los
plazos
control específico establecidos.
en
un
área
determinada.
Notificación ante la Director
Recibir
Tomar medidas 21
detección
un General
notificaciones
inmediatas para
no
cuando se detecte investigar
de
AFT
perteneciente a un
un AFT que no abordar
área determinada.
pertenezca
a cualquier
ninguna
área irregularidad
designada.
y
o
riesgo potencial.
Tabla 10 Historia de usuario Tema Notificaciones, reportes y alertas
2.4.5 Control de AFT
Historia
Como
Escanear
válidos
Necesito
Para
QR Responsable Escanear QR que Controlar
para
el de área
registro de AFT
Estimación
la 13
contiene
el existencia
del
número
de AFT en un área
inventario
y determinada.
descripción de un
AFT.
Insertar de forma Responsable Insertar el número Controlar
la 8
manual el número del área.
de inventario de existencia
del
de inventario de
AFT
los AFT.
manual.
de
Comprobar control Responsable Visualizar
forma AFT en un área
determinada.
el Analizar
el 21
48
físico de AFT de económico
resultado
del resultado
del
un área.
control.
control
y
determinar
faltantes
y
sobrantes.
Realizar
control Responsable Realizar
control Comprobar que 21
físico de AFT de de área
físico de AFT del los
un área.
área.
AFT
se
encuentren en el
área.
Cancelar
control Responsable Cancelar
físico de AFT.
de área
el Descontinuar el 5
control físico de control físico de
AFT.
Obtención
y Responsable Visualizar
visualización
económico
información
referente
AFT.
la Mostrar
información
referente
a
las
áreas
áreas.
los 21
detalles de las
a
las áreas
en
el registradas en el
sistema.
sistema
contable.
Obtención
y Responsable Visualizar
visualización
económico
información
referente
información
referente
a
los
la Mostrar
detalles de los
a
los AFT registrados
AFT.
en
AFT.
el
sistema
contable.
Obtención
y Responsable Visualizar
visualización
de área
información
referente
los 21
información
referente
a
los
AFT
pertenecientes
la Mostrar
los 21
detalles de los
a
los AFT del área,
AFT de su área.
registrados en el
sistema
a
contable.
su área
49
Filtrar áreas
Responsable Filtrar las áreas Realizar
una 13
económico
más
en el sistema.
búsqueda
precisa de las
áreas.
Filtrar AFT
Responsable Filtrar los AFT que Realizar
una 13
económico
más
se encuentran en búsqueda
el
sistema precisa de los
contable.
AFT.
Filtrar AFT de un Responsable Filtrar los AFT que Realizar
una 13
área
más
de área
se encuentran en búsqueda
un
área precisa de los
perteneciente
al AFT
sistema contable.
Exportar listado de Responsable Exportar
áreas.
de área
dada
un
área.
las Guardar
los 13
informaciones del datos del área
área
en
un en
documento PDF.
un
documento
PDF.
Imprimir listado de Responsable Exportar
AFT.
de área
las Guardar
informaciones de datos
AFT
en
los 13
de
los
un AFT.
documento PDF.
Generar
códigos Responsable Obtener los QR Visualizar
QR de un AFT económico
de los AFT.
los 13
QR de los AFT.
determinado.
Exportar listado de Responsable Exportar los QR Guardar los QR 13
QR de los AFT
económico
de
AFT en
un que
documento PDF.
contienen
los datos de los
AFT
en
un
documento
50
PDF.
Imprimir listado de Responsable Imprimir los QR Obtener los QR 13
QR de los AFT
económico
de AFT.
a escanear.
Solicitar
Responsable Crear
una Obtener
Movimiento AFT
de área
solicitud
para documento
de
realizar
solicitud
para
13
movimiento
de realizar
AFT
a movimientos de
determinada área AFT.
de destino.
Exportar
modelo Responsable Exportar
Movimientos
de de área
AFT
la Guardar
la 13
solicitud
de solicitud
de
movimiento
de movimiento
de
AFT
un AFT
un
en
documento PDF.
en
documento
PDF.
Imprimir
modelo Responsable Imprimir
Movimientos
de de área
AFT
la Guardar
la 5
solicitud
de solicitud
de
movimiento
de movimiento
de
AFT.
Cambiar
estados
AFT.
los Responsable Modificar
de
los Establecer
la económico
estados
de
Solicitud
de
solicitudes.
movimiento
de
5
las nuevo estado de
la solicitud de
movimiento
AFT
de
AFT.
Elaborar Plan de Director
Confeccionar
la Planificar
Chequeo
Planificación
controles
Físico económico
anual de AFT
los 8
anual de Chequeo anuales de AFT.
físico de AFT en
el sistema.
51
Visualizar
la Director
Consultar
planificación
de económico
planificación
Chequeo
Físico
Conocer
Chequeo
anual de los AFT
la 5
de planificación de
Físico Chequeo Físico
anual de los AFT. anual
de
los
AFT.
Imprimir
la Director
Imprimir
planificación
de económico
planificación
Chequeo
Físico
Conocer
Chequeo
anual de los AFT
la 5
de planificación de
Físico Chequeo Físico
anual de los AFT. anual
de
los
AFT.
Exportar
la Director
Exportar
planificación
de económico
planificación
Chequeo
Físico
Guardar
Chequeo
anual de los AFT
de planificación de
Físico Chequeo Físico
anual de los AFT anual
de
los
en un documento AFT
en
un
PDF.
Visualizar
Responsable Consultar
controles
económico
realizados.
Exportar
documento PDF
los Controlar
del económico
control
los 5
controles
controles
realizados.
realizados.
Responsable Exportar
resultados
la 8
los Guardar
los 8
resultados
del resultados
del
control
un control
un
en
documento PDF.
en
documento
PDF.
Imprimir
Responsable Imprimir
resultados
del económico
control
Filtrar
los Guardar
los 5
resultados
del resultados
del
control.
control.
controles Responsable Filtrar
realizados
económico
controles
los Realizar
búsqueda
una 8
más
precisa de los
52
controles.
Tabla 11 Historia de usuario Tema Control de AFT
2.5 Tipos de pruebas ejecutadas y justificación de la selección.
Debido a la naturaleza de un sistema compuesto por dos aplicaciones, se decide
emplear pruebas unitarias y pruebas de widgets, ya que se enfocan en aspectos
específicos del código. El sistema se fragmenta en diferentes procesos y tareas
que se van integrando progresivamente para formar las aplicaciones finales. Al
emplear estas pruebas unitarias, se corrigen errores y se perfecciona el código,
facilitando así su posterior integración y reduciendo significativamente los fallos
en las aplicaciones resultantes. Dada la complejidad y la distribución del
proyecto, así como la importancia de sus funcionalidades, se opta por realizar
pruebas de caja blanca, aprovechando la robusta librería flutter_test disponible.
2.6 Diseño de los casos de pruebas unitarias (selección)
Considerando que las pruebas unitarias deben realizarse para verificar las
distintas unidades que componen un software y para revisar el funcionamiento
de códigos responsables de funciones específicas, a continuación, definimos los
siguientes métodos, organizados en tres grupos.
53
2.6.1 Validaciones
Figura 7 Pruebas de validación
2.6.2 Modelos
54
Figura 8 Pruebas unitarias a Modelos
2.6.3 Widget
55
Figura 9 Prueba a Widget
2.6.4 Resultados de las pruebas
En la siguiente imagen, se puede observar y resultado de las pruebas unitarias,
realizadas a los métodos descritos anteriormente.
56
Figura 10 Resultados de las pruebas unitarias
2.7 Requisitos no funcionales.
1. Rendimiento:
➢ La aplicación móvil debe tener tiempos de carga rápidos y respuestas
ágiles al escanear códigos QR.
➢ El sistema web debe manejar eficientemente grandes volúmenes de datos
y registros de control, garantizando tiempos de respuesta mínimos.
2. Seguridad:
Los datos de los medios y los registros de control deben almacenarse de forma
segura, utilizando técnicas de encriptación y protocolos de seguridad robustos.
El acceso a la aplicación móvil y al sistema web debe requerir autenticación de
usuarios y autorización adecuada para garantizar la confidencialidad y la
integridad de los datos.
3. Disponibilidad:
➢ La aplicación móvil y el sistema web deben estar disponibles las 24 horas
del día, los 7 días de la semana, con un tiempo de inactividad planificado
mínimo para mantenimiento y actualizaciones.
➢ Se deben implementar medidas de redundancia y respaldo para garantizar
la continuidad del servicio en caso de fallos o interrupciones del sistema.
4. Usabilidad:
57
➢ La interfaz de usuario de la aplicación móvil debe ser intuitiva y fácil de
usar, con un diseño claro y funcionalidades bien organizadas para facilitar
la navegación y el uso del escáner de códigos QR.
➢ El sistema web debe ser accesible desde diferentes dispositivos y
navegadores web, con una interfaz de usuario amigable que permita a los
usuarios gestionar y consultar los registros de control de manera eficiente.
5. Escalabilidad:
➢ Tanto la aplicación móvil como el sistema web deben ser escalables,
capaces de adaptarse al crecimiento futuro en el número de usuarios y
registros de control sin comprometer el rendimiento ni la disponibilidad.
➢ Se deben implementar arquitecturas y tecnologías escalables que
permitan agregar recursos adicionales según sea necesario para
satisfacer la demanda del sistema.
6. Compatibilidad:
➢ La aplicación móvil debe ser compatible con una amplia variedad de
dispositivos móviles y versiones de sistemas operativos Android.
➢ El sistema web debe ser compatible con diferentes navegadores web y
sistemas operativos, asegurando una experiencia consistente para todos
los usuarios, independientemente de la plataforma utilizada.
7. Integridad de datos
➢ El sistema debe validar la información introducida por el usuario.
➢ Las contraseñas de ser guardadas encriptadas.
2.8
Conclusiones.
Con la definición de Interesados y los temas del proyecto ayudó a comprender y
organizar las pilas de producto, las mismas sirven para determinar las
funcionalidades del software que responden con las necesidades del cliente. Se
58
analizaron los requisitos no funcionales que debe presentar los sistemas, todo
esto con el propósito de que la experiencia de los usuarios en el sistema sea la
más adecuada y le sirva como herramienta en el proceso de negocio.
59
Capítulo 3 Descripción de la solución propuesta.
3.1 Introducción.
En este capítulo, se abordará el modelado e implementación del sistema,
basándose en la historia de usuario definida en el capítulo anterior. Para facilitar
la comprensión, se utilizarán diagramas de clases y despliegues, detallando el
diseño de la base de datos mediante modelo físico y lógico. Además, se
presentará el principio y patrón de diseño utilizado en el proyecto para garantizar
su eficiencia y coherencia.
3.2 Diagrama de clases del diseño.
Se presenta por temas, historias de usuario o características para ganar claridad
en la presentación.
60
3.2.1 Seguridad
Figura 11 Diagramas de diseño Tema Seguridad
3.2.2 Nomencladores
Figura 12 Diagrama de clases de diseño Tema Nomencladores
3.2.3 Comunicación
61
Figura 13 Diagrama de clase de diseño Tema Comunicación
3.2.4 Notificaciones, reporte y alertas
Figura 14 Diagrama de clase de diseño Tema Notificaciones, reportes y alertas
3.2.5 Control de AFT
62
Figura 15 Diagrama de clase de diseño Tema Control de AFT
3.3 Diseño de la base de datos.
En este epígrafe se deben mostrar los dos modelos en las formas que se indican
más abajo. Además, se deberán describir las diferencias existentes entre ambos
y las razones que las explican.
63
3.3.1 Modelo lógico de datos.
64
3.3.2 Modelo físico de datos.
65
3.4 Principios de diseño.
Un patrón de diseño es una solución reutilizable a un problema común que
aparece en el desarrollo de software. Estos patrones no son específicos del
código, sino más bien una forma de estructurar y organizar el código para
resolver problemas comunes de manera eficiente y mantenible. Los patrones de
diseño ayudan a los desarrolladores a:
•
Estandarizar soluciones: Proporcionan una manera probada y confiable
de resolver problemas que muchos desarrolladores enfrentan.
•
Mejorar la mantenibilidad: Facilitan la comprensión del código y su
modificación en el futuro.
•
Fomentar las buenas prácticas: Promueven el uso de buenas prácticas en
el desarrollo de software.
3.4.1 Patrón de diseño Bloc.
BLoC (Business Logic Component) es un patrón de diseño utilizado en el
desarrollo de aplicaciones, especialmente en Flutter, para gestionar el estado y
la lógica de negocio de una manera estructurada y mantenible. BLoC ayuda a
separar la lógica de negocio de la interfaz de usuario, facilitando la escalabilidad
y el mantenimiento del código.
El patrón Bloc consiste en:
➢
Presentación
➢
Lógica de negocios
➢
Datos
o Repositorio
o Proveedor de datos
BLoC Pattern:
View (UI Screen): Contendrá toda la interacción con las vistas; podemos
organizarla en screens y widgets.
66
BLoC: La capa de negocio estará contenida aquí, por ejemplo: registrarse a la
aplicación, hacer login o hacer logout; toda vista que tenga una lógica de
negocio deberá tener un componente BLoC.
Repository: Aquí se concentran las clases que se conectan con una fuente de
datos; API, Endpoints, DataBase, etc.
Data / Model: Son nuestros modelos, los cuales nos ayudan a manejar los
datos; PODO Plain Old Dart Object
Figura 16 Patrón Bloc
3.4.2 Interface de usuario
La solución presentada cuenta con una interfaz clara y concisa, basada en los
principios de Material Design desarrollados por Google. Material Design es una
guía de diseño centrada en la visualización coherente y eficiente en el sistema
operativo Android, así como en la web y otras plataformas. Esta normativa
proporciona directrices para crear experiencias de usuario intuitivas y
visualmente atractivas, asegurando consistencia y usabilidad en todas las
aplicaciones.
67
3.4.3 Logotipo del sistema
Figura 17 Logotipo SCAFT
3.4.4 Formato de salida de los reportes.
Los reportes generados por el sistema son esenciales para la toma de
decisiones dentro de la entidad. Se presentan de manera detallada y
visualmente clara a través de gráficos y tablas. Estos informes se producen en
formato PDF, lo que garantiza su fácil distribución y accesibilidad para el
análisis.
3.4.5 Ayuda.
Se le entregara un manual de usuarios, para que sea útil a los interesados en el
negocio. Describiendo paso a paso lo que se debe hacer y el documento
presentara imágenes del principal flujo.
3.5 Tratamiento de errores.
El tratamiento de errores en un software es crucial para garantizar su robustez y
fiabilidad. Este proceso implica la identificación, gestión y resolución de errores
que puedan surgir durante la ejecución del programa.
El sistema cuenta con mecanismos de validación de datos que previenen la
entrada de valores incorrectos en la aplicación. Los errores potenciales se
identifican y se comunican al usuario de diversas maneras, dependiendo de la
naturaleza del error. Cada mensaje de error se presenta de manera detallada y
concisa, explicando claramente la causa del problema.
68
Figura 18 Tratamiento de errores
69
Figura 19 Tratamiento de errores
3.6 Diagrama de despliegue.
70
Figura 20 Diagrama de despliegue
3.7 Factibilidad de la solución propuesta.
3.7.1 Beneficios tangibles e intangibles.
Beneficios tangibles:
1. Eficiencia Operativa: La implementación del sistema de control físico
de AFT reducirá el tiempo empleado en los procesos, lo que se
traducirá en una mejora significativa de la eficiencia operativa.
2. Reducción de Errores: Al eliminar la dependencia de registros
manuales
y
procesos
físicos
de
verificación,
se
reducirán
significativamente los errores humanos en los datos contables y de
inventario. Esto evitará discrepancias en los registros y posibles
pérdidas financieras asociadas con errores contables.
3. Ahorro de Recursos: La automatización de los procesos de control de
AFT eliminará la necesidad de papel y otros recursos físicos utilizados
en la documentación y almacenamiento de registros. Esto generará
ahorros tangibles en costos asociados con la compra de papel, tinta
de impresión y espacio de almacenamiento físico.
Beneficios Intangibles:
1. Mayor Transparencia y Cumplimiento: El sistema proporcionará una
mayor transparencia en el proceso de control físico de AFT, lo que
mejorará la rendición de cuentas y facilitará el cumplimiento de las
normativas contables y de control interno establecidas por las
autoridades competentes.
2. Centralización de la información, logrando una mayor organización de
la misma.
71
3.7.2 Análisis de costos y beneficios.
Principales tareas
del proyecto
Estudio del negocio
Cantidad de
trabajadores
implicados
1
Salario por
Horas
horas ($/h)
dedicadas
$
Total ($)
32 $
997.12
31.16
Levantamiento de
requisitos
80 $ 2,492.80
Estudio de las
tecnologías a
utilizar
80 $ 2,492.80
Diseño de las
interfaces
120 $ 3,739.20
Encuentros con los
interesados
5 $
155.80
Implementación de
la solución
480 $14,956.80
Total
797 $24,834.52
Tabla 12 Análisis de costos y beneficios
Después de analizar la tabla de costos, se aprecia que un único trabajador le
dedicó al proyecto 797 horas, lo cual equivale a un costo total de $24,834.52.
Teniendo en cuenta este valor y los beneficios que tiene el desarrollo de esta
aplicación, se determina que el producto es factible.
3.8 Conclusiones.
En este capítulo fue de vital importancia la descripción de los elementos que
contribuyeron a la solución propuesta. Llegando a la conclusión de que el diseño
de los mismos contribuyó a la satisfacción del cliente del proceso de negocio.
Además, el análisis de costos y beneficios demostró que el proyecto era factible,
debido a que sus beneficios tangibles e intangibles eran superiores al costo de la
adquisición del mismo.
72
Conclusiones
Con la culminación de este trabajo se da cumplimiento al objetivo general
propuesto debido a que se implementó una herramienta informática para el
control físico de AFT.
La herramienta desarrollada consta de dos sistemas, una APK para el control
físico de AFT, la cual detecta los QR válidos (donde se almacenó el número de
inventario y la descripción del AFT) y registra cada uno de los activos de un área
elegida previamente por el usuario, para posteriormente se verifique si los AFT
se encuentra en su área, detecta además si existen faltantes o sobrantes. El
sistema de gestión es una aplicación web, mediante la cual los usuarios pueden
disponer de los controles que hayan realizado, tener disponible la planificación
de los próximos a realizar, así como un conjunto de reportes para la toma de
decisiones. Se controlará las entidades y sus conexiones para acceder a los
diferentes sistemas contables. Ambas, fueron desarrolladas en Flutter, que
utiliza como lenguaje de programación Dart y permite compilar aplicaciones
nativas para distintas plataformas, lo que permitió reutilizar gran parte del
código. Además, se desarrollaron API para permitir la comunicación de las
aplicaciones con las bases de datos, las mismas fueron creadas en Node.js y
MySQL como gestor de base de datos.
Para mayor seguridad se le realizaron pruebas a las aplicaciones que
permitieron detectar y corregir errores durante el proceso de desarrollo.
73
Recomendaciones
Al finalizar el desarrollo de este trabajo, se tiene como recomendación para
posteriores versiones las siguientes:
•
Posibilitar la conexión con otros Sistemas de Gestión Contable
(certificados).
•
Ampliar reportes económicos y estadísticos.
74
Referencias bibliográficas
[1]
editor, “Resolución 60
de
República,” Gaceta
Oficial,
2011 de Contraloría General de
Jul.
05,
la
2015.
https://www.gacetaoficial.gob.cu/es/resolucion-60-de-2011-de-contraloriageneral-de-la-republica (accessed May 23, 2024).
[2]
“Contraloría
General
de
la
República
Dominicana
May
22,
Interno,” Contraloria.gob.do,
-
Control
2018.
https://www.contraloria.gob.do/index.php/sobre-nosotros-m/controlinterno#:~:text=Protecci%C3%B3n%20de-, (accessed May 23, 2024).
[3]
I. O. M. R. Lic. Yulema Rodríguez Corrales, "Implementación del Sistema
de Control Interno, sobre la base de la gestión integrada con la NC ISO
9001:2015
"
Universidad
de
Holguin
[Online].
Available:
https://eventos.uho.edu.cu/index.php/ccm/cci10/paper/viewFile/5338/2482
[4]
“Ministerio de Finanzas y Precios Ministra.” Accessed: May 23, 2024.
[Online]. Available: https://www.mfp.gob.cu/ficheros/disposiciones/RES0268-18.pdf
[5]
D. D. P. Jorge Luis Hernández Dueñas, Enrique Almeida Maldonado,
"Control de activos fijos tangibles mediante el uso de herramientas
informáticas novedosas," vol. 14, pp. 108-115, 2021.
[6]
Ecured. "Activo fijo tangible." https://www.ecured.cu/Activo_fijo_tangible.
[7]
“Software Administración de Activos Fijos | GIITIC,” Giitic.com, 2023.
https://www.giitic.com/software-activosfijos?gad_source=1&gclid=Cj0KCQjw-_mvBhDwARIsAAQ0Q47p7l2FhgSjkzq1b3bqEMoz28ZPvt4r5LRqFDnnrU_orG8VfPJutoaAs
7sEALw_wcB (accessed May 23, 2024).
[8]
“activo-fijo | SMS Consulting,” SMS CONSULTING S.A. SMSCON, 2024.
https://smsconsulting.ec/page/activo-fijo (accessed May 24, 2024).
[9]
admin, “Los 12 mejores softwares para el control de activo fijo en tu
empresa - Anepsa,” Anepsa, Sep. 11, 2023. https://anepsa.com.mx/los-
75
12-mejores-softwares-para-el-control-de-activo-fijo-en-tu-empresa/
(accessed May 24, 2024).
[10]
FCT 10 de Octubre. Actividad Presencial #5 Introducción a SCRUM.
2018.
[11]
T.
Gallego,
“Metodología
Scrum,” Uoc.edu,
2024,
doi:
http://hdl.handle.net/10609/17885.
[12]
“Metodologías ágiles: ¿qué diferencia hay entre Scrum, Kanban y
XP?,” Blog
Grupo
Digital,
Oct.
24,
2019.
https://www.grupodigital.eu/blog/metodologias-agiles/ (accessed May 24,
2024).
[13]
“Figure
4.
Table
of
General
Features
and
Comparison
of
Agile...,” ResearchGate, 2015. https://www.researchgate.net/figure/Tableof-General-Features-and-Comparison-of-Agile-Methodologies1_fig2_278300889 (accessed May 24, 2024).
[14]
nuria.canals, “¿Qué es el lenguaje de programación Dart? - inLab
FIB,” inLab FIB, May 26, 2020. https://inlab.fib.upc.edu/es/uncategorizedca-es/que-es-el-lenguaje-de-programacion-dart/2020/ (accessed May 24,
2024).
[15]
“Dart
vs.
JavaScript
-
javatpoint,” www.javatpoint.com,
2019.
https://www.javatpoint.com/dart-vs-javascript (accessed May 24, 2024).
[16]
“¿Qué es Flutter? - Explicación de la aplicación Flutter - AWS,” Amazon
Web Services, Inc., 2018. https://aws.amazon.com/es/what-is/flutter/
(accessed May 24, 2024).
[17]
Doonamis,
“Flutter,
descubre
Doonamis,” Doonamis,
sus
ventajas
Nov.
y
desventajas
23,
-
2023.
https://www.doonamis.com/descubre-ventajas-desventajas-flutter/
(accessed May 24, 2024).
[18]
lechediaz,
“Comparación
entre
Flutter,
Ionic
y
React
Native
-
lechediaz,” lechediaz, Aug. 26, 2022. https://lechediaz.com/comparacionentre-flutter-ionic-y-react-native/ (accessed May 24, 2024).
76
[19]
The One Technologies, “Comparison Between Frameworks - Flutter,
React Native, and Xamarin,” Theonetechnologies.com, Jun. 23, 2023.
https://theonetechnologies.com/blog/post/flutter-vs-react-native-vsxamarin-top-cross-platform-mobile-app-development-framework
(accessed May 24, 2024).
[20]
“¿Qué es JavaScript? - Explicación de JavaScript (JS) - AWS,” Amazon
Web
Services,
Inc.,
2023.
https://aws.amazon.com/es/what-
is/javascript/#:~:text=JavaScript%20del%20lado%20del%20servidor%20h
ace%20referencia%20al%20uso%20del,encuentra%20directamente%20e
n%20el%20servidor.) (accessed May 24, 2024).
[21]
“Node JS: ventajas e inconvenientes - Blog Solbyte,” Blog Solbyte, Jun.
15, 2023. https://www.solbyte.com/blog/nodejs/ (accessed May 24, 2024).
[22]
Simplior Technologies, “PHP and Node.js are highly endorsed back-end
technologies leveraged in web development endeavours.,” Linkedin.com,
Dec. 05, 2022. https://www.linkedin.com/pulse/nodejs-vs-php-in-depthcomparison-web-development--1f (accessed May 24, 2024).
[23]
“¿Qué es una aplicación móvil? – Anincubator,” Anincubator.com, 2022.
https://anincubator.com/que-es-una-aplicacion-movil/ (accessed May 24,
2024).
[24]
“¿Qué es una aplicación web? - Explicación de las aplicaciones web – A
WS,” Amazon
Web
Services,
Inc.,
2023.
https://aws.amazon.com/es/what-is/webapplication/#:~:text=Una%20aplicaci%C3%B3n%20web%20es%20un,y%
20de%20una%20forma%20segura. (accessed May 24, 2024).
[25]
S. Nakazawa and T. Tanaka, "Development and application of Kanban
tool visualizing the work in progress," in 2016 5th IIAI International
Congress on Advanced Applied Informatics (IIAI-AAI), 2016, pp. 908-913:
IEEE.
[26]
K. SAS. (2022). iceSCrum. Available: https://www.icescrum.com/es/
[27]
ScrumDo. (2022). Online Scrum and Kanban Software. Available:
https://www.scrumdo.com/
77
[28]
“¿Qué es la gestión de bases de datos? | Beneficios de un DBMS |
Nutanix,” Nutanix,
2024.
https://www.nutanix.com/mx/info/database-
management#:~:text=Un%20sistema%20de%20gesti%C3%B3n%20de%
20bases%20de%20datos%20se%20encarga,de%20una%20base%20de
%20datos. (accessed May 24, 2024).
[29]
L. A. C. Santillán, M. G. Ginestà, and Ó. P. J. U. o. d. C. Mora, "Bases de
datos en MySQL," 2014.]
[30]
TecnoDigital,
“MySQL
Completo,” Informática
Ventajas
y
y
Tecnología
Desventajas:
Digital,
Un
Jul.
Análisis
02,
2023.
https://informatecdigital.com/bases-de-datos/mysql-ventajas-ydesventajas-un-analisis-completo/ (accessed May 24, 2024).
[31]
E. Bereza, “Choosing between MySQL vs PostgreSQL vs SQL
Server,” Jelvix, Jul. 07, 2020. https://jelvix.com/blog/mysql-postgresql-sqlserver (accessed May 24, 2024).
[32]
mijacobs,
“¿Qué
es
el
control
de
versiones?
-
Azure
DevOps,” Microsoft.com, Oct. 05, 2023. https://learn.microsoft.com/eses/devops/develop/git/what-is-version-control (accessed May 24, 2024).
[33]
“Qué es GitHub y cómo usarlo para aprovechar sus beneficios,” Platzi,
2024.
https://platzi.com/blog/que-es-github-como-
funciona/#:~:text=GitHub%20te%20permite%20subir%20tus,%C3%A9l%2
0y%2C%20por%20qu%C3%A9%20no%2C (accessed May 24, 2024).
[34]
GraffersID, “GraffersID - IT Staff Augmentation Company,” Graffersid,
Feb. 05, 2024. https://graffersid.com/gitlab-vs-github/ (accessed May 24,
2024).
78
Glosario de siglas y términos
AFT: Activos Fijos Tangibles.
API: La interfaz de programación de aplicaciones, conocida también por la sigla
API, en inglés, application programming interface, es un conjunto de subrutinas,
funciones y procedimientos que ofrece cierta biblioteca para ser utilizada por otro
software como una capa de abstracción.
MINCOM: Ministerio de Finanzas y Precios.
MFP: Ministerio de Finanzas y Precios.
NC ISO 9001:2015: Esta Norma Internacional promueve la adopción de un
enfoque basado en procesos cuando se desarrolla, implementa y mejora la
eficacia de un sistema de gestión de la calidad, para aumentar la satisfacción del
cliente mediante el cumplimiento de sus requisitos.
NC ISO 31000: Norma internacional para la gestión del riesgo.
SITRANS: Empresa de Servicios de Información.
SGC: Sistema de Gestión Contable y Financiera.
79
Descargar